[PATCH] os: Prevent backtrace from being stopped in noreturn functions.

Daniel Stone 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*

Cheers,
Daniel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20100301/73b45388/attachment-0001.pgp>


More information about the xorg-devel mailing list