aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2011-08-01 12:14:21 +0000
committerRainer Orth <ro@gcc.gnu.org>2011-08-01 12:14:21 +0000
commitb6193c94eb443c680cc828266fc93b654d28d250 (patch)
tree4d0d0b823c4f7af2d0f70bb733e07ce0979a4f7a
parent247eb06feda17162e6f3ce4fd65f7db9dc3d04cd (diff)
downloadgcc-b6193c94eb443c680cc828266fc93b654d28d250.zip
gcc-b6193c94eb443c680cc828266fc93b654d28d250.tar.gz
gcc-b6193c94eb443c680cc828266fc93b654d28d250.tar.bz2
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
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config/i386/i386.c4
-rw-r--r--gcc/config/i386/sol2.h6
-rw-r--r--gcc/config/sol2-protos.h4
-rw-r--r--gcc/config/sol2.c4
-rw-r--r--gcc/config/sparc/sol2.h4
-rw-r--r--gcc/config/sparc/sparc.c4
7 files changed, 26 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 30c44c6..76fe48c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index f751e74..ebb6f25 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 e0e7c5b..48dcfbb 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 25753ff..dae3e13 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 7fed184..b1f0196 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 12fef68..64932f9 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 05cc3a4..8116844 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