aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Sandoe <iains@gcc.gnu.org>2011-11-12 14:12:26 +0000
committerIain Sandoe <iains@gcc.gnu.org>2011-11-12 14:12:26 +0000
commit220c688a77f4cb78d8e8ec0a19fb2a6684508a67 (patch)
tree4b73d0e7ffad6535513ebdd2c8de2e549b266470
parent76d29410c732571870e896b157b60d3eae0a671e (diff)
downloadgcc-220c688a77f4cb78d8e8ec0a19fb2a6684508a67.zip
gcc-220c688a77f4cb78d8e8ec0a19fb2a6684508a67.tar.gz
gcc-220c688a77f4cb78d8e8ec0a19fb2a6684508a67.tar.bz2
re PR target/45233 (FAIL: gcc.c-torture/compile/pr44707.c)
gcc: PR target/45233 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Only expand a symbol ref. into an access when the entity is defined in the TU. From-SVN: r181315
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f648978..d2cdaa9b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2011-11-12 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/45233
+ * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
+ Only expand a symbol ref. into an access when the entity is defined
+ in the TU.
+
2011-11-12 Jan Hubicka <jh@suse.cz>
PR bootstrap/50822
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 89b79ab..87c84d9 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -6169,6 +6169,7 @@ rs6000_legitimize_reload_address (rtx x, enum machine_mode mode,
#if TARGET_MACHO
&& DEFAULT_ABI == ABI_DARWIN
&& (flag_pic || MACHO_DYNAMIC_NO_PIC_P)
+ && machopic_symbol_defined_p (x)
#else
&& DEFAULT_ABI == ABI_V4
&& !flag_pic