diff options
author | Richard Henderson <rth@redhat.com> | 2007-03-09 16:53:09 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2007-03-09 16:53:09 -0800 |
commit | 9b580a0b53a3e81eef0656670c4a4a09a5683b42 (patch) | |
tree | ddb930f60eed9d2395dd9b4695e612928d440a18 /gcc/output.h | |
parent | b22eec88d248d584189d02ff7cc0e199ed7206f6 (diff) | |
download | gcc-9b580a0b53a3e81eef0656670c4a4a09a5683b42.zip gcc-9b580a0b53a3e81eef0656670c4a4a09a5683b42.tar.gz gcc-9b580a0b53a3e81eef0656670c4a4a09a5683b42.tar.bz2 |
re PR target/26090 (IA-64 creates DT_TEXTREL binaries)
PR target/26090
* target.h (targetm.asm.out.reloc_rw_mask): New.
* target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
(TARGET_ASM_OUT): Use it.
* targhooks.c, targhooks.h (default_reloc_rw_mask): New.
* varasm.c (categorize_decl_for_section): Remove shlib argument;
use the new reloc_rw_mask target hook instead.
(default_section_type_flags_1): Merge into...
(default_section_type_flags): ... here.
(decl_readonly_section_1): Merge into...
(decl_readonly_section): ... here.
(default_elf_select_section_1): Merge into...
(default_elf_select_section): ... here.
(default_unique_section_1): Merge into...
(default_unique_section): ... here.
(compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
(default_select_rtx_section): Use it.
(default_elf_select_rtx_section): Likewise.
* output.h: Update to match.
* doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
* config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
(TARGET_ASM_RELOC_RW_MASK): New.
* config/i386/i386.c (x86_64_elf_select_section): Adjust call
to categorize_decl_for_section.
(x86_64_elf_unique_section): Likewise.
* config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
(TARGET_ASM_RELOC_RW_MASK): New.
* config/ia64/ia64.c (ia64_rwreloc_select_section,
ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
(ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
(TARGET_RWRELOC): Remove.
(ia64_section_type_flags): Adjust call to default_section_type_flags.
* config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
(rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
(rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
(rs6000_xcoff_select_section): Use decl_readonly_section.
(rs6000_xcoff_section_type_flags): Use default_section_type_flags.
* config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
(TARGET_SECTION_TYPE_FLAGS): Remove.
* config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
From-SVN: r122781
Diffstat (limited to 'gcc/output.h')
-rw-r--r-- | gcc/output.h | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/gcc/output.h b/gcc/output.h index a5c29f0d..4cb41d4f 100644 --- a/gcc/output.h +++ b/gcc/output.h @@ -383,7 +383,6 @@ extern bool first_function_block_is_cold; /* Decide whether DECL needs to be in a writable section. RELOC is the same as for SELECT_SECTION. */ extern bool decl_readonly_section (tree, int); -extern bool decl_readonly_section_1 (tree, int, int); /* This can be used to compute RELOC for the function above, when given a constant expression. */ @@ -580,12 +579,11 @@ extern void switch_to_section (section *); extern void output_section_asm_op (const void *); extern unsigned int default_section_type_flags (tree, const char *, int); -extern unsigned int default_section_type_flags_1 (tree, const char *, int, int); extern bool have_global_bss_p (void); extern void default_no_named_section (const char *, unsigned int, tree); extern void default_elf_asm_named_section (const char *, unsigned int, tree); -extern enum section_category categorize_decl_for_section (tree, int, int); +extern enum section_category categorize_decl_for_section (tree, int); extern void default_coff_asm_named_section (const char *, unsigned int, tree); extern void default_pe_asm_named_section (const char *, unsigned int, tree); @@ -596,15 +594,9 @@ extern void default_stabs_asm_out_constructor (rtx, int); extern void default_named_section_asm_out_constructor (rtx, int); extern void default_ctor_section_asm_out_constructor (rtx, int); -extern section *default_select_section (tree, int, - unsigned HOST_WIDE_INT); -extern section *default_elf_select_section (tree, int, - unsigned HOST_WIDE_INT); -extern section *default_elf_select_section_1 (tree, int, - unsigned HOST_WIDE_INT, - int); +extern section *default_select_section (tree, int, unsigned HOST_WIDE_INT); +extern section *default_elf_select_section (tree, int, unsigned HOST_WIDE_INT); extern void default_unique_section (tree, int); -extern void default_unique_section_1 (tree, int, int); extern section *default_function_rodata_section (tree); extern section *default_no_function_rodata_section (tree); extern section *default_select_rtx_section (enum machine_mode, rtx, |