summaryrefslogtreecommitdiff
path: root/gcc/config/ia64
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-18 23:05:34 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-18 23:05:34 +0000
commit953c16bfeb09b9de856f46bdee231c571915d5a0 (patch)
tree4ecda650745d655bfa4c1d12bd8e03e84a64d132 /gcc/config/ia64
parent0b30807c99030db7bdd20760699afd4e1ebf5cd4 (diff)
downloadgcc-953c16bfeb09b9de856f46bdee231c571915d5a0.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33239 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/ia64')
-rw-r--r--gcc/config/ia64/sysv4.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index 6e5efdb89d6..95f73a34847 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 (); \
}