re PR debug/49887 (.debug_macro breaks many Solaris/SPARC tests)
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Mon, 1 Aug 2011 12:14:21 +0000 (12:14 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Mon, 1 Aug 2011 12:14:21 +0000 (12:14 +0000)
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
gcc/config/i386/i386.c
gcc/config/i386/sol2.h
gcc/config/sol2-protos.h
gcc/config/sol2.c
gcc/config/sparc/sol2.h
gcc/config/sparc/sparc.c

index 30c44c65f44192dedc94b58621e6f1ed3d46da3b..76fe48cff39ea79a523736257d177565fe88462f 100644 (file)
@@ -1,3 +1,15 @@
+2011-08-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       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  <julian@codesourcery.com>
 
        * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Support FIXED_CST.
index f751e748d2fc55a8ed8d2497a92345c1d92618bc..ebb6f250d57aa9c6c548e94c210f86266c53419c 100644 (file)
@@ -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];
index e0e7c5b6a1e44292d2623a2d7114d15aa581be4d..48dcfbb74393bd6c5affd5e3acf7e8d9773ce870 100644 (file)
@@ -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
index 25753ff610e96fd35c85c5a056581082187239f8..dae3e137b636cf0f7eda2b65f25e1dedc699fa9a 100644 (file)
@@ -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);
index 7fed184e14db5d1498be2ba457b918f88bef2db4..b1f0196e7b507d3bb153250d5d8d248da7507200 100644 (file)
@@ -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;
index 12fef68eaa92e1d8a43a1ec8f1218283e6ef2cbc..64932f967cd3107506b4221d0a8ad1f843df3ed7 100644 (file)
@@ -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
index 05cc3a4ea6be42a0c353bc6b97090f2a57219d1f..811684473ce78d0d79715be767eee35dfa6d5a4c 100644 (file)
@@ -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