__builtin_frame_address vs %esp in pt-machine.h

Ulrich Drepper drepper@redhat.com
Sun Oct 6 13:24:00 GMT 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Roland McGrath wrote:
> What was the reason for this change in linuxthreads?
> 
>      2001-04-12  Ulrich Drepper  <drepper@redhat.com>
> 
> 	     * sysdeps/i386/Makefile: Make sure gcc uses a frame pointer for
> 	     all the files which use CURRENT_STACK_FRAME.
> 	     * sysdeps/i386/pt-machine.h (CURRENT_STACK_FRAME): Define using
> 	     __builtin_frame_address.
> 	     * sysdeps/i386/i686/pt-machine.h: Likewise.
> 
> The -fomit-frame-pointer build is broken for !FLOATING_STACKS because we
> failed to keep the sysdeps/i386/Makefile up to date with every source file
> that uses THREAD_*MEM (probably my fault). 

The problem is the ptlongjmp.c code.  For its use of CURRENT_STACK_FRAME
the value must be as accurate as possible since otherwise the detection
of frames which have to be handled might be wrong.

- -- 
- --------------.                        ,-.            444 Castro Street
Ulrich Drepper \    ,-----------------'   \ Mountain View, CA 94041 USA
Red Hat         `--' drepper at redhat.com `---------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE9n2JS2ijCOnn/RHQRAt2OAKCEdBga2IxMC/OtPCp2tQMKGWX+aQCfabYC
6c2IjgwOL7L+AI185XQGefQ=
=FjmT
-----END PGP SIGNATURE-----



More information about the Libc-hacker mailing list