* sysdeps/arm/nptl/pthreaddef.h (CURRENT_STACK_FRAME): Add -12.

This commit is contained in:
Daniel Jacobowitz 2006-06-08 17:38:55 +00:00
parent 02678e17f9
commit f5b8dd54a6
2 changed files with 14 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2006-06-08 Mark Shinwell <shinwell@codesourcery.com>
* sysdeps/arm/nptl/pthreaddef.h (CURRENT_STACK_FRAME): Add -12.
2006-06-08 Daniel Jacobowitz <dan@codesourcery.com>
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Reformat.

View File

@ -30,8 +30,16 @@
#define TCB_ALIGNMENT 16
/* Location of current stack frame. */
#define CURRENT_STACK_FRAME __builtin_frame_address (0)
/* Location of current stack frame.
__builtin_frame_address (0) returns the value of the hard frame
pointer, which will point at the location of the saved PC on the
stack. Below this in memory is the remainder of the linkage info,
occupying 12 bytes. Therefore in order to address from
CURRENT_STACK_FRAME using "struct layout", we need to have the macro
return the hard FP minus 12. Of course, this makes no sense
without the obsolete APCS stack layout... */
#define CURRENT_STACK_FRAME (__builtin_frame_address (0) - 12)
/* XXX Until we have a better place keep the definitions here. */