aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>2000-05-14 21:43:44 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-05-14 21:43:44 +0000
commit05ef2698d02b5631c9cb1a4abeaca091ef7d9f9e (patch)
tree97c08c51a6522630f7121998fb0e1fe30c40ce91
parentdfbdccdb54f17b90c6707ad6d877f4de8d22e738 (diff)
downloadgcc-05ef2698d02b5631c9cb1a4abeaca091ef7d9f9e.zip
gcc-05ef2698d02b5631c9cb1a4abeaca091ef7d9f9e.tar.gz
gcc-05ef2698d02b5631c9cb1a4abeaca091ef7d9f9e.tar.bz2
rs6000.h (RETURN_ADDRESS_OFFSET): Correct for 64-bit ABI.
* config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for 64-bit ABI. From-SVN: r33900
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/rs6000/rs6000.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f9c8770..474ae65 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2000-05-14 Geoffrey Keating <geoffk@cygnus.com>
+ * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for
+ 64-bit ABI.
+
* config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE
into account.
(logical_u_operand): Delete.
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index c2fbb331d..7d48daf 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -1614,7 +1614,7 @@ typedef struct rs6000_args
abi's store the return address. */
#define RETURN_ADDRESS_OFFSET \
((DEFAULT_ABI == ABI_AIX \
- || DEFAULT_ABI == ABI_AIX_NODESC) ? 8 : \
+ || DEFAULT_ABI == ABI_AIX_NODESC) ? (TARGET_32BIT ? 8 : 16) : \
(DEFAULT_ABI == ABI_V4 \
|| DEFAULT_ABI == ABI_SOLARIS) ? (TARGET_32BIT ? 4 : 8) : \
(fatal ("RETURN_ADDRESS_OFFSET not supported"), 0))