[PATCH] os: Prevent backtrace from being stopped in noreturn functions.
daniel at fooishbar.org
Mon Mar 1 05:00:51 PST 2010
On Mon, Mar 01, 2010 at 01:17:14PM +0100, Mark Kettenis wrote:
> > From: Oliver McFadden <oliver.mcfadden at nokia.com>
> > Date: Mon, 1 Mar 2010 09:42:58 +0200
> > From: Ylimaki Rami (EXT-Vincit/Tampere) <ext-rami.ylimaki at nokia.com>
> > There are two noreturn functions in the X server: FatalError and
> > AbortServer. Having any of those two functions in the middle of a call
> > stack will prevent unwinding the program properly and stops the
> > backtrace at those functions in gdb.
> Speaking as a GDB developer here, you should really put some pressure
> on the GCC developers to stop doing unhelpful optimizations like this,
> instead of adding work-arounds like this. While ARM is the most
> prominent architecture affected by this, there are other architectures
> where noreturn messes up the backtraces from time to time.
Yeah, it seems bizzare, given that you'd think the speed of calling
noreturn functions wouldn't exactly be performance-critical. *shrug*
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 197 bytes
Desc: not available
More information about the xorg-devel