diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dc429c22e836bc0c3422f946bb9331d194fe20b7..f768e4f61580cefd31bf79a5407f2fd9309dd46f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR target/20301
+	* config/sparc/sol2.h (ASM_GENERATE_INTERNAL_LABEL): Emit
+	unsigned index numbers.
+
 2005-06-13  Geoffrey Keating  <geoffk@apple.com>
 
 	* Makefile.in (install-man): Doesn't really depend on installdirs.
diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h
index 1c68133a8c947ab1434932b78dfa21d15aca5698..9b548c2d34cfd35da358564892de0e9c154f5b53 100644
--- a/gcc/config/sparc/sol2.h
+++ b/gcc/config/sparc/sol2.h
@@ -72,7 +72,7 @@ Boston, MA 02111-1307, USA.  */
 
 #undef  ASM_GENERATE_INTERNAL_LABEL
 #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM)	\
-  sprintf ((LABEL), "*.L%s%ld", (PREFIX), (long)(NUM))
+  sprintf ((LABEL), "*.L%s%lu", (PREFIX), (unsigned long)(NUM))
 
 /* The native TLS-enabled assembler requires the directive #tls_object
    to be put on objects in TLS sections (as of v7.1).  This is not