Unwinding CFI gcc practice of assumed `same value' regs

Ulrich Drepper drepper@redhat.com
Tue Dec 12 15:26:00 GMT 2006


Andrew Haley wrote:
> Null-terminating the call stack is too well-established practice to be
> changed now.

Which does not mean that the mistake should hold people back.  This is 
just one of the mistakes in the x86-64 ABI.  It was copied from x86 and 
it was wrong there already.


> In practice, %ebp either points to a call frame -- not necessarily the
> most recent one -- or is null.  I don't think that having an optional
> frame pointer mees you can use %ebp for anything random at all,

Of course it means that.


> The right way to fix the ABI is to specify that %ebp mustn't be
> [mis]used in this way, not to add a bunch more unwinder data.

Nope.  The right way is to specify things like backtraces with the 
adequate mechanism.  I fully support adding the Dwarf3 unwinder 
requirements.

-- 
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖



More information about the Libc-alpha mailing list