Problem reading corefiles on ARM
Mark Kettenis
mark.kettenis@xs4all.nl
Wed Aug 6 15:45:00 GMT 2008
> Date: Wed, 6 Aug 2008 11:27:36 -0400
> From: Daniel Jacobowitz <drow@false.org>
>
> On Wed, Aug 06, 2008 at 07:19:26PM +0400, Sergei Poselenov wrote:
> > (gdb) bt
> > #0 0x4004ec0c in raise () from /lib/libc.so.6
> > #1 0x40050234 in abort () from /lib/libc.so.6
> > Backtrace stopped: frame did not save the PC
>
> Your implementation of abort does not save a return address, so GDB
> can't display it. I believe tehis is a known limitation of the ARM
> GCC port.
GCC should really not do this. People are almost guaranteed to want
to be able to see a backtrace from abort(3).
I suppose it optimizes away the instructions to save the return
address, because abort() is marked with __attribute__(noreturn). But
that means there is very little point in actually doing that
optimization since __attribute__(noreturn) implies that the function
will only be called once! I suppose there are some space savings but
are they really significant?
More information about the Gdb
mailing list