emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: emacs aborts (almost always?) when pressing C-g in gnus group mode


From: Timmy Douglas
Subject: Re: emacs aborts (almost always?) when pressing C-g in gnus group mode
Date: Tue, 03 May 2005 16:32:41 -0400
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/22.0.50 (gnu/linux)

Richard Stallman <address@hidden> writes:

>     became:
>
>     TERM = xterm
>     Breakpoint 1 at 0x811e0a6: file emacs.c, line 460.
>     Function "x_error_quitter" not defined.
>
> The function still exists in the source.  Can you investigate
> why it does not exist in your binary?  I can only guess
> it was inlined and optimized out of existence.  But that's
> supposed to be prevented by NO_INLINE which should expand to
> __attribute__((noinline)).
>
>     static void NO_INLINE
>     x_error_quitter (display, error)

Yeah, I'm it's supposed to not get inlined, but I think it does
anyways. Atleast that's what I can see from looking at both asm
files. They are here:

http://www.prism.gatech.edu/~gtg277i/src/


The compile output is like this (this is how I made both files(but one
has -O2 also)):

# i686-pc-linux-gnu-gcc -S -D_BSD_SOURCE   -Demacs -DHAVE_CONFIG_H -DUSE_GTK  
-I. -I/var/tmp/portage/emacs-cvs-22.0.50/work/emacs/src -D_BSD_SOURCE 
-DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 
-I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 
-I/usr/include/freetype2 -I/usr/include/freetype2/config 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -Wall xterm.c
xterm.c: In function `XTread_socket':
xterm.c:6951: warning: unused variable `event'
xterm.c:7070: warning: label `out' defined but not used
xterm.c: In function `x_calc_absolute_position':
xterm.c:8124: warning: unused variable `win_x'
xterm.c:8124: warning: unused variable `win_y'
xterm.c: In function `x_iconify_frame':
xterm.c:8767: warning: unused variable `result'
xterm.c: In function `x_free_frame_resources':
xterm.c:8893: warning: unused variable `bar'
xterm.c:8894: warning: unused variable `b'
xterm.c: In function `x_term_init':
xterm.c:10106: warning: unused variable `atom'
xterm.c: At top level:
xterm.c:7621: warning: 'x_fatal_error_signal' defined but not used



basically, O2 is like:

x_error_handler:
.LFB170:
        .loc 1 7745 0
        pushl   %ebp
.LCFI497:
        movl    %esp, %ebp
.LCFI498:
        subl    $664, %esp
.LCFI499:
        movl    %esi, -8(%ebp)
.LCFI500:
        movl    8(%ebp), %esi
        movl    %edi, -4(%ebp)
.LCFI501:
        movl    12(%ebp), %edi
        movl    %ebx, -12(%ebp)
.LCFI502:
        .loc 1 7746 0
        movl    x_error_message_string, %eax
        cmpl    Qnil, %eax
        je      .L2330
.LBB530:
.LBB531:
        .loc 1 7467 0
        movl    $200, %edx
        andl    $-8, %eax
        movl    %edx, 12(%esp)
        movl    12(%eax), %eax
        movl    %eax, 8(%esp)
        movzbl  16(%edi), %eax
        movl    %esi, (%esp)
        movl    %eax, 4(%esp)
        call    XGetErrorText





and without it:


x_error_handler:
.LFB126:
        .loc 1 7745 0
        pushl   %ebp
.LCFI345:
        movl    %esp, %ebp
.LCFI346:
        subl    $8, %esp
.LCFI347:
        .loc 1 7746 0
        movl    x_error_message_string, %eax
        cmpl    Qnil, %eax
        je      .L1130
        .loc 1 7747 0
        movl    12(%ebp), %eax
        movl    %eax, 4(%esp)
        movl    8(%ebp), %eax
        movl    %eax, (%esp)
        call    x_error_catcher
        jmp     .L1131
.L1130:
        .loc 1 7749 0
        movl    12(%ebp), %eax
        movl    %eax, 4(%esp)
        movl    8(%ebp), %eax
        movl    %eax, (%esp)
        call    x_error_quitter
.L1131:
        .loc 1 7750 0
        movl    $0, %eax
        .loc 1 7751 0
        leave
        ret
.LFE126:
        .size   x_error_handler, .-x_error_handler
        .section        .rodata
        .align 4
.LC15:


# gcc --version
gcc (GCC) 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r2, ssp-3.4.3.20050110-0, 
pie-8.7.7)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]