]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Patch from Richard Henderson to make __builtin_return_address(0) work.
authorRichard Henderson <rth@cygnus.com>
Fri, 3 Oct 1997 04:15:56 +0000 (21:15 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Fri, 3 Oct 1997 04:15:56 +0000 (21:15 -0700)
* i386.h (RETURN_ADDR_RTX): New definition that works for
__builtin_return_address(0) and -fomit-frame-pointer.

From-SVN: r15835

gcc/ChangeLog
gcc/config/i386/i386.h

index 3b6d7ca037e70a381a32cc61fdef7419e3afd84a..9ccaceb656729060d5fe5a71bc43774712e2d1d9 100644 (file)
@@ -1,3 +1,8 @@
+Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
+
+       * i386.h (RETURN_ADDR_RTX): New definition that works for 
+       __builtin_return_address(0) and -fomit-frame-pointer.
+
 Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
 
        Bring over from FSF.
index 340fb9b4a2191c26d2b2305e043f6d0936ddb268..24c1d8cf2187d199ad6032d9e1f6b26d29ead749 100644 (file)
@@ -2370,6 +2370,12 @@ number as al, and ax.
 #define INCOMING_RETURN_ADDR_RTX \
   gen_rtx (MEM, VOIDmode, gen_rtx (REG, VOIDmode, STACK_POINTER_REGNUM))
 
+/* After the prologue, RA is at -4(AP) in the current frame.  */
+#define RETURN_ADDR_RTX(COUNT, FRAME)                                  \
+  ((COUNT) == 0                                                                \
+   ? gen_rtx (MEM, Pmode, gen_rtx (PLUS, Pmode, arg_pointer_rtx, GEN_INT(-4)))\
+   : gen_rtx (MEM, Pmode, gen_rtx (PLUS, Pmode, (FRAME), GEN_INT(4))))
+
 /* PC is dbx register 8; let's use that column for RA. */
 #define DWARF_FRAME_RETURN_COLUMN      8