summaryrefslogtreecommitdiff
path: root/gcc/output.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2004-08-12 15:57:04 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2004-08-12 15:57:04 +0200
commitab5c8549a48977b865f8ed8dd4bd4e745b1cec75 (patch)
treefbf89966457df5bcdf83010b92f2c7a1407ea34b /gcc/output.h
parent5cf58f28c3a5e69185d70935c5646e5705b16e32 (diff)
downloadgcc-ab5c8549a48977b865f8ed8dd4bd4e745b1cec75.tar.gz
re PR c++/16276 ([3.4 only] G++ generates local references to linkonce sections)
PR c++/16276 * output.h (default_function_rodata_section, default_no_function_rodata_section): New prototypes. * target.h (struct gcc_target): Add asm_out.function_rodata_section. * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define. (TARGET_ASM_OUT): Add it. * varasm.c (default_function_rodata_section, default_no_function_rodata_section): New functions. * final.c (final_scan_insn): Call targetm.asm_out.function_rodata_section instead of readonly_data_section. * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define. * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise. * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document. * g++.old-deja/g++.other/comdat4.C: New test. * g++.old-deja/g++.other/comdat4-aux.cc: New. From-SVN: r85873
Diffstat (limited to 'gcc/output.h')
-rw-r--r--gcc/output.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/output.h b/gcc/output.h
index 25d16bfd2df..1e1d1defa31 100644
--- a/gcc/output.h
+++ b/gcc/output.h
@@ -501,6 +501,8 @@ extern void default_elf_select_section_1 (tree, int,
unsigned HOST_WIDE_INT, int);
extern void default_unique_section (tree, int);
extern void default_unique_section_1 (tree, int, int);
+extern void default_function_rodata_section (tree);
+extern void default_no_function_rodata_section (tree);
extern void default_select_rtx_section (enum machine_mode, rtx,
unsigned HOST_WIDE_INT);
extern void default_elf_select_rtx_section (enum machine_mode, rtx,