[PATCH] Fix Linux/sparc build after generic asm output optimizations.

David Miller davem@davemloft.net
Sat Nov 12 06:47:00 GMT 2011


Any ELF target that overrides ASM_GENERATE_INTERNAL_LABEL is at risk
of not building any more due to the recent elfos.h changes.

Those changes require that the label format generated by
ASM_GENERATE_INTERNAL_LABEL and TARGET_ASM_INTERNAL_LABEL are in sync,
but that is only being ensured for targets that use elfos.h as-is.

It turns out that Linux/sparc's override is unnecessary, so just
getting rid of it is the best thing to do.

Eric, it seems that most if not all of the other ELF sparc targets
will need something like this as well but I was only able to validate
Linux at the moment.

Committed to trunk.

gcc/

	* config/sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
	* config/sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181307 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog              |    5 +++++
 gcc/config/sparc/linux.h   |    9 ---------
 gcc/config/sparc/linux64.h |    9 ---------
 3 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 73bec22..62ae4a1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-11  David S. Miller  <davem@davemloft.net>
+
+	* config/sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
+	* config/sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
+
 2011-11-11  Jakub Jelinek  <jakub@redhat.com>
 
 	* config/i386/i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper):
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
index 443c796..60dc869 100644
--- a/gcc/config/sparc/linux.h
+++ b/gcc/config/sparc/linux.h
@@ -118,15 +118,6 @@ do {									\
 #undef  LOCAL_LABEL_PREFIX
 #define LOCAL_LABEL_PREFIX  "."
 
-/* This is how to store into the string LABEL
-   the symbol_ref name of an internal numbered label where
-   PREFIX is the class of label and NUM is the number within the class.
-   This is suitable for output with `assemble_name'.  */
-
-#undef  ASM_GENERATE_INTERNAL_LABEL
-#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM)	\
-  sprintf (LABEL, "*.L%s%ld", PREFIX, (long)(NUM))
-
 
 /* Define for support of TFmode long double.
    SPARC ABI says that long double is 4 words.  */
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
index bec279d..14966b9 100644
--- a/gcc/config/sparc/linux64.h
+++ b/gcc/config/sparc/linux64.h
@@ -236,15 +236,6 @@ do {									\
 #undef  LOCAL_LABEL_PREFIX
 #define LOCAL_LABEL_PREFIX  "."
 
-/* This is how to store into the string LABEL
-   the symbol_ref name of an internal numbered label where
-   PREFIX is the class of label and NUM is the number within the class.
-   This is suitable for output with `assemble_name'.  */
-
-#undef  ASM_GENERATE_INTERNAL_LABEL
-#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM)	\
-  sprintf (LABEL, "*.L%s%ld", PREFIX, (long)(NUM))
-
 /* DWARF bits.  */
 
 /* Follow Irix 6 and not the Dwarf2 draft in using 64-bit offsets. 
-- 
1.7.6.401.g6a319



More information about the Gcc-patches mailing list