aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-03-21 10:30:09 -0800
committerRichard Henderson <rth@gcc.gnu.org>2002-03-21 10:30:09 -0800
commit5b19b10c6b457c9d02812a2a68a73fa5d39086db (patch)
tree2cb2de409ba70354f5f326c35aa25faf9bcd1d19
parente05af3357e7ad3e7efdb54626ca642fee3609482 (diff)
downloadgcc-5b19b10c6b457c9d02812a2a68a73fa5d39086db.zip
gcc-5b19b10c6b457c9d02812a2a68a73fa5d39086db.tar.gz
gcc-5b19b10c6b457c9d02812a2a68a73fa5d39086db.tar.bz2
rs6000.c (rs6000_select_rtx_section): Put symbolic constants in .data when -fpic.
* config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic constants in .data when -fpic. From-SVN: r51134
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 30ebdb5..dcdee3f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-03-21 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
+ constants in .data when -fpic.
+
2002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index db54999..63275b1 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -10787,6 +10787,11 @@ rs6000_select_rtx_section (mode, x)
{
if (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (x, mode))
toc_section ();
+ else if (flag_pic
+ && (GET_CODE (x) == SYMBOL_REF
+ || GET_CODE (x) == LABEL_REF
+ || GET_CODE (x) == CONST))
+ data_section ();
else
const_section ();
}