aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Sturm <jsturm@one-point.com>2003-01-09 01:10:43 +0000
committerJeff Sturm <jsturm@gcc.gnu.org>2003-01-09 01:10:43 +0000
commitc40e5172f128dc3842e7e2e29eea5b02c466d604 (patch)
tree0777b3ebc18e8d6f5e7d1c2f261f2022014b6085 /gcc
parentde62b72ce74de2f505af7c4918ba26ff470658a2 (diff)
downloadgcc-c40e5172f128dc3842e7e2e29eea5b02c466d604.zip
gcc-c40e5172f128dc3842e7e2e29eea5b02c466d604.tar.gz
gcc-c40e5172f128dc3842e7e2e29eea5b02c466d604.tar.bz2
re PR target/9210 ([gcc-3.3] bootstrap error in libffi building nof libs)
PR target/9210 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Set SYMBOL_REF_FLAG on local data sym_ref. From-SVN: r61064
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7e787a3..8a7cf40 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-01-08 Jeff Sturm <jsturm@one-point.com>
+
+ PR target/9210
+ * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
+ Set SYMBOL_REF_FLAG on local data sym_ref.
+
2003-01-08 Dale Johannesen <dalej@apple.com>
* function.c (assign_parms): Don't set pretend_args_size if
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 420085c..6112737 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -12562,11 +12562,15 @@ rs6000_elf_encode_section_info (decl, first)
&& DEFAULT_ABI == ABI_V4
&& TREE_CODE (decl) == VAR_DECL)
{
+ rtx sym_ref = XEXP (DECL_RTL (decl), 0);
int size = int_size_in_bytes (TREE_TYPE (decl));
tree section_name = DECL_SECTION_NAME (decl);
const char *name = (char *)0;
int len = 0;
+ if ((*targetm.binds_local_p) (decl))
+ SYMBOL_REF_FLAG (sym_ref) = 1;
+
if (section_name)
{
if (TREE_CODE (section_name) == STRING_CST)
@@ -12593,7 +12597,6 @@ rs6000_elf_encode_section_info (decl, first)
|| (len == sizeof (".PPC.EMB.sbss0") - 1
&& strcmp (name, ".PPC.EMB.sbss0") == 0))))
{
- rtx sym_ref = XEXP (DECL_RTL (decl), 0);
size_t len = strlen (XSTR (sym_ref, 0));
char *str = alloca (len + 2);