]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2009-08-06 Thomas Schwinge <tschwinge@gnu.org>
authorThomas Schwinge <tschwinge@gnu.org>
Thu, 6 Aug 2009 22:02:34 +0000 (00:02 +0200)
committerThomas Schwinge <tschwinge@gcc.gnu.org>
Thu, 6 Aug 2009 22:02:34 +0000 (00:02 +0200)
* gcc/doc/extend.texi (__builtin_extract_return_address)
(__builtin_frob_return_address): Document.

From-SVN: r150546

gcc/ChangeLog
gcc/doc/extend.texi

index 24920f02faecc7ac07f059150d67ee0ced1c3790..879b9d1e34fb7256955f7b6b1073462bb55a73a4 100644 (file)
@@ -1,3 +1,8 @@
+2009-08-06  Thomas Schwinge  <tschwinge@gnu.org>
+
+       * gcc/doc/extend.texi (__builtin_extract_return_address)
+       (__builtin_frob_return_address): Document.
+
 2009-08-06  Paul Brook  <paul@codesourcery.com>
 
        * config/arm/lib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.
index 3435e2c108799f63e5fa90d81c2a00a9fa76f21d..c0fed8064501bea49843efa762a22f7a465a68e2 100644 (file)
@@ -5844,10 +5844,27 @@ of the stack has been reached, this function will return @code{0} or a
 random value.  In addition, @code{__builtin_frame_address} may be used
 to determine if the top of the stack has been reached.
 
+Additional post-processing of the returned value may be needed, see
+@code{__builtin_extract_return_address}.
+
 This function should only be used with a nonzero argument for debugging
 purposes.
 @end deftypefn
 
+@deftypefn {Built-in Function} {void *} __builtin_extract_return_address (void *@var{addr})
+The address as returned by @code{__builtin_return_address} may have to be fed
+through this function to get the actual encoded address.  For example, on the
+31-bit S/390 platform the highest bit has to be masked out, or on SPARC
+platforms an offset has to be added for the true next instruction to be
+executed.
+
+If no fixup is needed, this function simply passes through @var{addr}.
+@end deftypefn
+
+@deftypefn {Built-in Function} {void *} __builtin_frob_return_address (void *@var{addr})
+This function does the reverse of @code{__builtin_extract_return_address}.
+@end deftypefn
+
 @deftypefn {Built-in Function} {void *} __builtin_frame_address (unsigned int @var{level})
 This function is similar to @code{__builtin_return_address}, but it
 returns the address of the function frame rather than the return address