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

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

Re: gdb emacs reporting 'Function "x_error_quitter" not defined' [includ


From: Richard Stallman
Subject: Re: gdb emacs reporting 'Function "x_error_quitter" not defined' [includes PATCH]
Date: Fri, 28 Jan 2005 23:17:11 -0500

    > Stefan's Jan 27, 2005 xterm.c patch does not allow a breakpoint on
    > x_error_quitter when compiled with gcc-3.4.2

    > $  nm xterm.o | grep quitter
    > 0000c530 t x_io_error_quitter

    So, just putting the function definition after tyhe function call is not
    enough to prevent inlining.  Too bad.

    > whereas Gary Lawrence Murphy's patch 
(http://lists.gnu.org/archive/html/emacs-pretest-bug/2005-01/msg00425.html) 
does:

    > gcc-3.4.2:
    > $ nm xterm.o | grep quitter
    > 0000c900 T x_error_quitter
    > 0000c5f0 t x_io_error_quitter

This shows the function was not discarded.  If it is not static, it
cannot be discarded.  But this does not tell us if the function was
actually inlined.  It might have been inlined *and* compiled straight.

The only way to tell if it was inlined is to look at the compiled code
of x_error_handler and see if it calls x_error_quitter.
You could do that by using x/i in GDB.  First do `x/i &x_error_handler'.
Then x/10i will print 10 more instructions, each time you do it.

Andrew, could you try that?




reply via email to

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