diff options
author | Jim Wilson <wilson@cygnus.com> | 1998-02-15 17:07:31 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1998-02-15 09:07:31 -0800 |
commit | c9b4de06772eb2125143f7f888cb7bd8050bedc2 (patch) | |
tree | 07c9ed1a9216a95b9d6ffefa3b29b1ed0264f8c0 /gcc | |
parent | 9f8f10de394cd89faec27bb02f8410eb0ea7742e (diff) | |
download | gcc-c9b4de06772eb2125143f7f888cb7bd8050bedc2.zip gcc-c9b4de06772eb2125143f7f888cb7bd8050bedc2.tar.gz gcc-c9b4de06772eb2125143f7f888cb7bd8050bedc2.tar.bz2 |
Fix Irix6 EH failures, was broken by mips16 patch.
* mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
From-SVN: r18013
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/mips/mips.h | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fdc3cb6..48f76cf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com> + + * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change. + Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu> * alias.c: Include <stdlib.h> and <string.h>. diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index 3204dee..b68d660 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -2152,8 +2152,12 @@ extern struct mips_frame_info current_frame_info; - ((mips_abi != ABI_32 && mips_abi != ABI_EABI) \ ? current_function_pretend_args_size \ : 0)); \ + /* Some ABIs store 64 bits to the stack, but Pmode is 32 bits, \ + so we must add 4 bytes to the offset to get the right value. */ \ else if ((FROM) == RETURN_ADDRESS_POINTER_REGNUM) \ - (OFFSET) = current_frame_info.gp_sp_offset; \ + (OFFSET) = current_frame_info.gp_sp_offset \ + + ((UNITS_PER_WORD - (POINTER_SIZE / BITS_PER_UNIT)) \ + * (BYTES_BIG_ENDIAN != 0)); \ } /* If we generate an insn to push BYTES bytes, |