This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

__builtin_return_address question


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]