abort() missing return-address => useless core file

Grant Edwards grant.b.edwards at gmail.com
Thu Nov 3 13:23:30 UTC 2011


It appears that the abort() function somehow breaks the resulting
corefile so that you can't do a post-mortem backtrace.  I suspect that
gcc has figured out that the abort() function never returns, so it
doesn't push a return address onto the stack.

I've managed to work around the problem by doing something like this
to cause a segfault instead of calling abort():

  *((volatile char*)0) = 0;

That produces a usable core file.
  
But, it would be nice if abort() could be "fixed" somehow...
  
-- 
Grant Edwards               grant.b.edwards        Yow! World War Three can
                                  at               be averted by adherence
                              gmail.com            to a strictly enforced
                                                   dress code!



More information about the uClibc mailing list