aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1995-02-27 00:30:31 -0700
committerJeff Law <law@gcc.gnu.org>1995-02-27 00:30:31 -0700
commit9ccd072bd4c87ed02f4b955d9b71a99716d5ca6b (patch)
tree47aeff56cdb94a5871a49addc95f46438609d741 /gcc
parent6ddaea1c2f7ea7ff29a0dd9efbe9b11227f890dd (diff)
downloadgcc-9ccd072bd4c87ed02f4b955d9b71a99716d5ca6b.zip
gcc-9ccd072bd4c87ed02f4b955d9b71a99716d5ca6b.tar.gz
gcc-9ccd072bd4c87ed02f4b955d9b71a99716d5ca6b.tar.bz2
pa.c (hppa_expand_prologue): Don't save the PIC register into the stack for functions which have no stack of...
* pa.c (hppa_expand_prologue): Don't save the PIC register into the stack for functions which have no stack of their own. From-SVN: r9089
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/pa/pa.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 1b07661..e539494 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -2198,8 +2198,11 @@ hppa_expand_prologue()
}
/* The hppa calling conventions say that that %r19, the pic offset
register, is saved at sp - 32 (in this function's frame) when
- generating PIC code. */
- if (flag_pic)
+ generating PIC code. FIXME: What is the correct thing to do
+ for functions which make no calls and allocate no frame? Do
+ we need to allocate a frame, or can we just omit the save? For
+ now we'll just omit the save. */
+ if (actual_fsize != 0 && flag_pic)
store_reg (PIC_OFFSET_TABLE_REGNUM, -32, STACK_POINTER_REGNUM);
/* Profiling code.