summaryrefslogtreecommitdiffstats
path: root/gcc/doc
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-17 21:09:23 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-17 21:09:23 +0000
commit869d0ef0606a7308eba00be689253503e1453524 (patch)
treec5957feb8d6a2c09259a5ac5db59b14bd8b33815 /gcc/doc
parent4d6e8511562633977f4969bef8a5c93f15c84253 (diff)
downloadppe42-gcc-869d0ef0606a7308eba00be689253503e1453524.tar.gz
ppe42-gcc-869d0ef0606a7308eba00be689253503e1453524.zip
2005-02-17 Andreas Krebbel <krebbel1@de.ibm.com>
* builtins.c (expand_builtin_return_addr): Remove tem parameter. tem becomes a local variable which is set to the value of the back end defined INITIAL_FRAME_ADDRESS macro. (expand_builtin_frame_address): Omit the base parameter to expand_builtin_return_addr. (expand_builtin_profile_func): Likewise. * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro. (DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame. * doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95194 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/tm.texi12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index c14ce5d5248..023b907a490 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -2931,6 +2931,18 @@ length of the outgoing arguments. The default is correct for most
machines. See @file{function.c} for details.
@end defmac
+@defmac INITIAL_FRAME_ADDRESS_RTX
+A C expression whose value is RTL representing the address of the initial
+ stack frame. This address is passed to @code{RETURN_ADDR_RTX} and
+@code{DYNAMIC_CHAIN_ADDRESS}.
+If you don't define this macro, the default is to return
+@code{hard_frame_pointer_rtx}.
+This default is usually correct unless @code{-fomit-frame-pointer} is in
+effect.
+Define this macro in order to make @code{__builtin_frame_address (0)} and
+@code{__builtin_return_address (0)} work even in absence of a hard frame pointer.
+@end defmac
+
@defmac DYNAMIC_CHAIN_ADDRESS (@var{frameaddr})
A C expression whose value is RTL representing the address in a stack
frame where the pointer to the caller's frame is stored. Assume that
OpenPOWER on IntegriCloud