diff options
author | Jan Hubicka <jh@suse.cz> | 2005-07-31 11:12:34 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2005-07-31 09:12:34 +0000 |
commit | 7dcbf65993ee71dd17805df86bbff9d7a8716258 (patch) | |
tree | 87b4af46aac16d4fea8bf9447284ab5f9c4ceba0 /gcc/varasm.c | |
parent | 3601aa8ab0cb341d65b608937d781a5e3c8c5b9b (diff) | |
download | gcc-7dcbf65993ee71dd17805df86bbff9d7a8716258.zip gcc-7dcbf65993ee71dd17805df86bbff9d7a8716258.tar.gz gcc-7dcbf65993ee71dd17805df86bbff9d7a8716258.tar.bz2 |
output.h (enum section_category): Export from varasm.c
* output.h (enum section_category): Export from varasm.c
(categorize_decl_for_section): Likewise.
* varasm.c (enum section_category): Kill.
(categorize_decl_for_section): Make global.
* i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
Declare.
* i386.c (ix86_section_threshold): New static variable.
(ix86_in_large_data_p, ix86_encode_section_info,
x86_64_elf_unique_section,
x86_64_elf_select_section): New functions.
(TARGET_ENCODE_SECTION_INFO): Define
(override_options): Enable medium model for PIC.
(ix86_expand_prologue): Expand gen_set_got_rex64.
(legitimate_constant_p): Handle new UNSPECs.
(legitimate_pic_address_disp_p): Likewise.
(legitimize_pic_address): Lower MEDIUM model addressing.
* i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
(enum cmodel): Add MEDIUM_PIC.
(SYMBOL_REF_FAR_ADDR_P): New macro.
(SYMBOL_FLAG_FAR_ADDR): New flag.
* i386.md (movdi): Support medium model.
(set_got_rex64): New pattern.
* i386.opt (mlarge-data-threshold): New flag.
* predicates.md (zext_operand/sext_operand): Deal with medium model.
* x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
(ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
TARGET_ASM_UNIQUE_SECTION): New.
* invoke.texi (-mlarge_data_threshold): Document
From-SVN: r102606
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index 88068b5..6c5a533 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -5017,47 +5017,7 @@ default_select_section (tree decl, int reloc, data_section (); } -/* A helper function for default_elf_select_section and - default_elf_unique_section. Categorizes the DECL. */ - enum section_category -{ - SECCAT_TEXT, - - SECCAT_RODATA, - SECCAT_RODATA_MERGE_STR, - SECCAT_RODATA_MERGE_STR_INIT, - SECCAT_RODATA_MERGE_CONST, - SECCAT_SRODATA, - - SECCAT_DATA, - - /* To optimize loading of shared programs, define following subsections - of data section: - _REL Contains data that has relocations, so they get grouped - together and dynamic linker will visit fewer pages in memory. - _RO Contains data that is otherwise read-only. This is useful - with prelinking as most relocations won't be dynamically - linked and thus stay read only. - _LOCAL Marks data containing relocations only to local objects. - These relocations will get fully resolved by prelinking. */ - SECCAT_DATA_REL, - SECCAT_DATA_REL_LOCAL, - SECCAT_DATA_REL_RO, - SECCAT_DATA_REL_RO_LOCAL, - - SECCAT_SDATA, - SECCAT_TDATA, - - SECCAT_BSS, - SECCAT_SBSS, - SECCAT_TBSS -}; - -static enum section_category -categorize_decl_for_section (tree, int, int); - -static enum section_category categorize_decl_for_section (tree decl, int reloc, int shlib) { enum section_category ret; |