From b6193c94eb443c680cc828266fc93b654d28d250 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Mon, 1 Aug 2011 12:14:21 +0000 Subject: [PATCH] re PR debug/49887 (.debug_macro breaks many Solaris/SPARC tests) PR debug/49887 * config/sol2.c (solaris_code_end): Rename to solaris_file_end. * config/sol2-protos.h: Likewise. * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Don't call solaris_code_end. * config/i386/sol2.h [!USE_GAS] (TARGET_ASM_FILE_END): Redefine. * config/sparc/sparc.c (sparc_file_end) [TARGET_SOLARIS]: Call solaris_file_end. * config/sparc/sol2.h (TARGET_ASM_CODE_END): Remove. From-SVN: r177020 --- gcc/ChangeLog | 12 ++++++++++++ gcc/config/i386/i386.c | 4 ---- gcc/config/i386/sol2.h | 6 ++++++ gcc/config/sol2-protos.h | 4 ++-- gcc/config/sol2.c | 4 ++-- gcc/config/sparc/sol2.h | 4 ---- gcc/config/sparc/sparc.c | 4 ++++ 7 files changed, 26 insertions(+), 12 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 30c44c65f44..76fe48cff39 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2011-08-01 Rainer Orth + + PR debug/49887 + * config/sol2.c (solaris_code_end): Rename to solaris_file_end. + * config/sol2-protos.h: Likewise. + * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Don't call + solaris_code_end. + * config/i386/sol2.h [!USE_GAS] (TARGET_ASM_FILE_END): Redefine. + * config/sparc/sparc.c (sparc_file_end) [TARGET_SOLARIS]: Call + solaris_file_end. + * config/sparc/sol2.h (TARGET_ASM_CODE_END): Remove. + 2011-08-01 Julian Brown * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Support FIXED_CST. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index f751e748d2f..ebb6f250d57 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -8318,10 +8318,6 @@ ix86_code_end (void) rtx xops[2]; int regno; -#ifdef TARGET_SOLARIS - solaris_code_end (); -#endif - for (regno = AX_REG; regno <= SP_REG; regno++) { char name[32]; diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index e0e7c5b6a1e..48dcfbb7439 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -160,6 +160,12 @@ along with GCC; see the file COPYING3. If not see #undef TARGET_ASM_NAMED_SECTION #define TARGET_ASM_NAMED_SECTION i386_solaris_elf_named_section +#ifndef USE_GAS +/* Emit COMDAT group signature symbols for Sun as. */ +#undef TARGET_ASM_FILE_END +#define TARGET_ASM_FILE_END solaris_file_end +#endif + /* Unlike GNU ld, Sun ld doesn't coalesce .ctors.N/.dtors.N sections, so inhibit their creation. Also cf. sparc/sysv4.h. */ #ifndef USE_GLD diff --git a/gcc/config/sol2-protos.h b/gcc/config/sol2-protos.h index 25753ff610e..dae3e137b63 100644 --- a/gcc/config/sol2-protos.h +++ b/gcc/config/sol2-protos.h @@ -1,6 +1,6 @@ /* Operating system specific prototypes to be used when targeting GCC for any Solaris 2 system. - Copyright 2004, 2007, 2010 Free Software Foundation, Inc. + Copyright 2004, 2007, 2010, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -23,4 +23,4 @@ extern void solaris_register_pragmas (void); extern void solaris_output_init_fini (FILE *, tree); extern void solaris_assemble_visibility (tree, int); extern void solaris_elf_asm_comdat_section (const char *, unsigned int, tree); -extern void solaris_code_end (void); +extern void solaris_file_end (void); diff --git a/gcc/config/sol2.c b/gcc/config/sol2.c index 7fed184e14d..b1f0196e7b5 100644 --- a/gcc/config/sol2.c +++ b/gcc/config/sol2.c @@ -228,7 +228,7 @@ solaris_elf_asm_comdat_section (const char *name, unsigned int flags, tree decl) for Sun as. With a few exceptions, this is already the case. To identify the missing ones without changing the affected frontents, remember the signature symbols and emit those not marked - TREE_SYMBOL_REFERENCED in solaris_code_end. */ + TREE_SYMBOL_REFERENCED in solaris_file_end. */ if (solaris_comdat_htab == NULL) solaris_comdat_htab = htab_create_alloc (37, comdat_hash, comdat_eq, NULL, xcalloc, free); @@ -275,7 +275,7 @@ solaris_define_comdat_signature (void **slot, void *aux ATTRIBUTE_UNUSED) /* Emit unreferenced COMDAT group signature symbols for Sun as. */ void -solaris_code_end (void) +solaris_file_end (void) { if (solaris_comdat_htab == NULL) return; diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h index 12fef68eaa9..64932f967cd 100644 --- a/gcc/config/sparc/sol2.h +++ b/gcc/config/sparc/sol2.h @@ -314,10 +314,6 @@ along with GCC; see the file COPYING3. If not see #undef TARGET_ASM_NAMED_SECTION #define TARGET_ASM_NAMED_SECTION sparc_solaris_elf_asm_named_section -/* Emit COMDAT group signature symbols for Sun as. */ -#undef TARGET_ASM_CODE_END -#define TARGET_ASM_CODE_END solaris_code_end - /* Sun as requires doublequoted section names on SPARC. While GNU as supports that, too, we prefer the standard variant. */ #undef SECTION_NAME_FORMAT diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 05cc3a4ea6b..811684473ce 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -10019,6 +10019,10 @@ sparc_file_end (void) if (NEED_INDICATE_EXEC_STACK) file_end_indicate_exec_stack (); + +#ifdef TARGET_SOLARIS + solaris_file_end (); +#endif } #ifdef TARGET_ALTERNATE_LONG_DOUBLE_MANGLING -- 2.30.2