aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2003-10-03 06:55:02 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2003-10-03 06:55:02 +0000
commit17a35133d47a6d31510940b143f3eb4f0f8f8f58 (patch)
treec275b9a9b07ff572c8c618c5fdcfcfa9fb621d59 /gcc
parent8b47fa065e2325e90d2aa4479a26344489f4494e (diff)
downloadgcc-17a35133d47a6d31510940b143f3eb4f0f8f8f58.zip
gcc-17a35133d47a6d31510940b143f3eb4f0f8f8f58.tar.gz
gcc-17a35133d47a6d31510940b143f3eb4f0f8f8f58.tar.bz2
re PR target/12485 (MIPS -mxgot causes "bad" exception handling code.)
PR target/12485 * config/mips/mips.c (mips_load_got): GOT accesses can't trap. From-SVN: r72066
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d04e8e3..3c80a52 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-10-03 Richard Sandiford <rsandifo@redhat.com>
+
+ PR target/12485
+ * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
+
2003-10-02 Mark Mitchell <mark@codesourcery.com>
PR optimization/12180
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 1cedc97..7ec8f68 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -1634,6 +1634,9 @@ mips_load_got (rtx base, rtx addr, int reloc)
gen_rtx_PLUS (Pmode, base, mips_reloc (addr, reloc)));
set_mem_alias_set (mem, mips_got_alias_set);
+ /* GOT references can't trap. */
+ MEM_NOTRAP_P (mem) = 1;
+
/* If we allow a function's address to be lazily bound, its entry
may change after the first call. Other entries are constant. */
if (reloc != RELOC_CALL16 && reloc != RELOC_CALL_LO)