aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>2000-04-18 23:05:34 +0000
committerJim Wilson <wilson@gcc.gnu.org>2000-04-18 16:05:34 -0700
commit20c8a6c293e18defd58cb15f707c22b11886d95a (patch)
tree4ecda650745d655bfa4c1d12bd8e03e84a64d132
parent86702e3134874b23eb9b10dd5725957c29294513 (diff)
downloadgcc-20c8a6c293e18defd58cb15f707c22b11886d95a.zip
gcc-20c8a6c293e18defd58cb15f707c22b11886d95a.tar.gz
gcc-20c8a6c293e18defd58cb15f707c22b11886d95a.tar.bz2
Fix problem with relocs in read-only sections for C++ code.
* config/ia64/sysv4.h (SELECT_SECTION): Use data_section if flag_pic and RELOC. From-SVN: r33239
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/ia64/sysv4.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b6be8a9..a162f10 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue Apr 18 16:04:12 2000 Jim Wilson <wilson@cygnus.com>
+
+ * config/ia64/sysv4.h (SELECT_SECTION): Use data_section if
+ flag_pic and RELOC.
+
2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
* cccp.c, cexp.y, cexp.c, cccp.1: Removed.
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index 6e5efdb..95f73a3 100644
--- a/gcc/config/ia64/sysv4.h
+++ b/gcc/config/ia64/sysv4.h
@@ -206,6 +206,10 @@ do { \
else \
data_section (); \
} \
+ /* This could be a CONSTRUCTOR containing ADDR_EXPR of a VAR_DECL, \
+ in which case we can't put it in a shared library rodata. */ \
+ else if (flag_pic && (RELOC)) \
+ data_section (); \
else \
const_section (); \
}