diff options
author | Alan Modra <amodra@gmail.com> | 2010-09-29 00:55:03 +0930 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2010-09-29 00:55:03 +0930 |
commit | 2268453b5c0f425924156a445d1f1c178f821cb0 (patch) | |
tree | 08b4a63df76a2d77b9e83f02da266c0e8d284a26 /gcc/config/rs6000/aix.h | |
parent | 4d508d590e0f6c6c0d7a2890d519a029f4282c6b (diff) | |
download | gcc-2268453b5c0f425924156a445d1f1c178f821cb0.tar.gz |
re PR target/45807 (Lying eh_frame r2 save info causes crashes with static libgcc_eh and libstdc++)
PR target/45807
* config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
* config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
* config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
Delete.
* config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
(rs6000_emit_prologue): Don't just create frame save info for r2,
actually save r2.
From-SVN: r164685
Diffstat (limited to 'gcc/config/rs6000/aix.h')
-rw-r--r-- | gcc/config/rs6000/aix.h | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/gcc/config/rs6000/aix.h b/gcc/config/rs6000/aix.h index 0bf781e853f..f9004b4e6f0 100644 --- a/gcc/config/rs6000/aix.h +++ b/gcc/config/rs6000/aix.h @@ -207,13 +207,6 @@ /* And similarly for general purpose registers. */ #define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32) -/* __throw will restore its own return address to be the same as the - return address of the function that the throw is being made to. - This is unfortunate, because we want to check the original - return address to see if we need to restore the TOC. - So we have to squirrel it away with this. */ -#define SETUP_FRAME_ADDRESSES() rs6000_aix_emit_builtin_unwind_init () - /* If the current unwind info (FS) does not contain explicit info saving R2, then we have to do a minor amount of code reading to figure out if it was saved. The big problem here is that the |