OSDN Git Service

PR target/40483
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 May 2011 14:29:05 +0000 (14:29 +0000)
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 May 2011 14:29:05 +0000 (14:29 +0000)
commit3468b0d69406c113764431c2ed809d30f3349140
tree126d3363c833de58bd88e73fd92d6cd7e70bb915
parent14a77a22b0764384fd2fc2af8b169d909207675f
PR target/40483
* configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
COMDAT group syntax, both SPARC and x86 variants.
(HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
* configure: Regenerate.
* config/sol2.h (TARGET_SOLARIS): Define.
(PUSHSECTION_FORMAT): Remove.
(SECTION_NAME_FORMAT): Define.
* config/sol2.c: Include hashtab.h.
(solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
expansion, using SECTION_NAME_FORMAT.
(solaris_comdat_htab): New variable.
(struct comdat_entry): Define.
(comdat_hash): New function.
(comdat_eq): New function.
(solaris_elf_asm_comdat_section): New function.
(solaris_define_comdat_signature): New function.
(solaris_code_end): New function.
* config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
(solaris_code_end): Declare.
* config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
* config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
solaris_code_end.
(i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
Remove ATTRIBUTE_UNUSED.
[!USE_GAS]: Call solaris_elf_asm_comdat_section for
SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
* config/sparc/sparc.c (sparc_solaris_elf_asm_named_section):
Likewise.
* config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
* config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
* config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
(PUSHSECTION_FORMAT): Remove.
(SECTION_NAME_FORMAT): Redefine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173913 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/sol2-10.h
gcc/config/i386/sol2.h
gcc/config/sol2-protos.h
gcc/config/sol2.c
gcc/config/sol2.h
gcc/config/sparc/sol2.h
gcc/config/sparc/sparc.c
gcc/configure
gcc/configure.ac