aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranz Sirl <Franz.Sirl-kernel@lauterbach.com>2001-02-05 19:42:13 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2001-02-05 19:42:13 +0000
commit3418dd3ac475562a90fe3d384387047db8c3410a (patch)
treed677a94e7c8c46089d017ffe74f34c3c75a06d94
parent456774966045de33b6368eb0dc1945a05846ce20 (diff)
downloadgcc-3418dd3ac475562a90fe3d384387047db8c3410a.zip
gcc-3418dd3ac475562a90fe3d384387047db8c3410a.tar.gz
gcc-3418dd3ac475562a90fe3d384387047db8c3410a.tar.bz2
rs6000.c (rs6000_return_addr): Use PIC code for AIX, even without flag_pic.
* config/rs6000/rs6000.c (rs6000_return_addr): Use PIC code for AIX, even without flag_pic. From-SVN: r39464
-rw-r--r--gcc/config/rs6000/rs6000.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 9c93d4a..a3aba7c 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -5057,12 +5057,15 @@ rs6000_return_addr (count, frame)
/* Currently we don't optimize very well between prolog and body code and
for PIC code the code can be actually quite bad, so don't try to be
too clever here. */
- if (count != 0 || flag_pic != 0)
+ if (count != 0
+ || flag_pic != 0
+ || DEFAULT_ABI == ABI_AIX
+ || DEFAULT_ABI == ABI_AIX_NODESC)
{
cfun->machine->ra_needs_full_frame = 1;
return
gen_rtx_MEM (Pmode,
- memory_address (Pmode,
+ memory_address (Pmode,
plus_constant (copy_to_reg (gen_rtx_MEM (Pmode,
memory_address (Pmode, frame))),
RETURN_ADDRESS_OFFSET)));