__builtin_return_address question
Andrew Haley
aph@cambridge.redhat.com
Wed Aug 21 07:22:00 GMT 2002
Neal D. Becker writes:
> I'm trying to make a stack trace function. Use of
> __builtin_return_address looks promising, but the arg has to be a
> constant expression. Because the arg can't be a variable, I don't see
> how I can traceback more than one level of the stack. Any ideas?
It depends on the architecture. With some ABIs unwinding is trivial
pointer chasing, but with others it can be very difficult. See
backtrace() in the glibc source.
For IA-64 see
http://sources.redhat.com/ml/libc-hacker/2002-01/msg00034.html . This
is the way of the future...
Andrew.
More information about the Gcc
mailing list