This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[4.1] fix target/26090
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 3 Feb 2006 15:49:24 -0800
- Subject: [4.1] fix target/26090
Applied for gcc 4.1.
For mainline, there are ways to have .rodata for static symbols,
which is slightly better. I'd also like to unify some of the code
between aix and hpux, this here in ia64, and a similar problem
on alpha.
r~
PR target/26090
* config/ia64/sysv4.h (TARGET_ASM_SELECT_RTX_SECTION,
TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION,
TARGET_ASM_SELECT_RTX_SECTION, TARGET_RWRELOC): Copy from
the hpux definition.
Index: config/ia64/sysv4.h
===================================================================
--- config/ia64/sysv4.h (revision 110554)
+++ config/ia64/sysv4.h (working copy)
@@ -121,8 +121,15 @@ do { \
} while (0)
/* Override default elf definition. */
-#undef TARGET_ASM_SELECT_RTX_SECTION
-#define TARGET_ASM_SELECT_RTX_SECTION ia64_select_rtx_section
+/* ??? This is slight overkill. We should check for static relocations
+ and allow those in .rodata. */
+#undef TARGET_ASM_SELECT_SECTION
+#define TARGET_ASM_SELECT_SECTION ia64_rwreloc_select_section
+#undef TARGET_ASM_UNIQUE_SECTION
+#define TARGET_ASM_UNIQUE_SECTION ia64_rwreloc_unique_section
+#undef TARGET_ASM_SELECT_RTX_SECTION
+#define TARGET_ASM_SELECT_RTX_SECTION ia64_rwreloc_select_rtx_section
+#define TARGET_RWRELOC true
#undef EXTRA_SECTIONS
#define EXTRA_SECTIONS in_sdata, in_sbss