summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog21
-rw-r--r--elf/dl-minimal.c8
-rw-r--r--elf/dl-reloc.c6
-rw-r--r--include/signal.h1
-rw-r--r--stdio-common/_itoa.c23
-rw-r--r--stdio-common/itoa-digits.c6
-rw-r--r--stdio-common/itoa-udigits.c6
-rw-r--r--stdio-common/psiginfo.c9
-rw-r--r--stdio-common/psignal.c11
-rw-r--r--string/strsignal.c8
-rw-r--r--sysdeps/generic/_itoa.h16
-rw-r--r--sysdeps/gnu/siglist.c5
12 files changed, 54 insertions, 66 deletions
diff --git a/ChangeLog b/ChangeLog
index 22315d7964..6cf3b1ba9c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2012-06-01  Andreas Schwab  <schwab@linux-m68k.org>
+
+	[BZ #14132]
+	* elf/dl-reloc.c: Include <_itoa.h>.
+	(_dl_reloc_bad_type): Remove use of INTUSE.
+	* elf/dl-minimal.c (_itoa, _itoa_lower_digits): Likewise.
+	* stdio-common/_itoa.c (_itoa_word, _itoa): Likewise.
+	* stdio-common/psiginfo.c (psiginfo): Likewise.
+	* stdio-common/psignal.c (psignal): Likewise.
+	* string/strsignal.c (strsignal): Likewise.
+	* include/signal.h (_sys_siglist): Declare hidden proto.
+	* stdio-common/itoa-digits.c: Include <_itoa.h>.  Replace
+	INTVARDEF with libc_hidden_data_def.
+	* stdio-common/itoa-udigits.c: Likewise.
+	* sysdeps/generic/_itoa.h (_itoa_upper_digits_internal)
+	(_itoa_lower_digits_internal): Remove declaration.
+	(_itoa_upper_digits, _itoa_lower_digits): Declare hidden proto.
+	* sysdeps/gnu/siglist.c (_sys_siglist_internal)
+	(_sys_sigabbrev_internal): Remove aliases.
+	(_sys_siglist): Define hidden alias.
+
 2012-05-31  Markus Trippelsdorf  <markus@trippelsdorf.de>
 
 	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
diff --git a/elf/dl-minimal.c b/elf/dl-minimal.c
index 4a97f56faa..a8b2d4f339 100644
--- a/elf/dl-minimal.c
+++ b/elf/dl-minimal.c
@@ -315,12 +315,10 @@ _itoa (value, buflim, base, upper_case)
      unsigned int base;
      int upper_case;
 {
-  extern const char INTUSE(_itoa_lower_digits)[] attribute_hidden;
-
   assert (! upper_case);
 
   do
-    *--buflim = INTUSE(_itoa_lower_digits)[value % base];
+    *--buflim = _itoa_lower_digits[value % base];
   while ((value /= base) != 0);
 
   return buflim;
@@ -380,5 +378,5 @@ rtld_hidden_def (__chk_fail)
 
 /* The '_itoa_lower_digits' variable in libc.so is able to handle bases
    up to 36.  We don't need this here.  */
-const char INTUSE(_itoa_lower_digits)[16] attribute_hidden
-  = "0123456789abcdef";
+const char _itoa_lower_digits[16] = "0123456789abcdef";
+rtld_hidden_data_def (_itoa_lower_digits)
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
index 97d2f6f779..e6968a4456 100644
--- a/elf/dl-reloc.c
+++ b/elf/dl-reloc.c
@@ -1,5 +1,5 @@
 /* Relocate a shared object and resolve its references to other loaded objects.
-   Copyright (C) 1995-2006, 2008-2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -24,6 +24,7 @@
 #include <sys/mman.h>
 #include <sys/param.h>
 #include <sys/types.h>
+#include <_itoa.h>
 #include "dynamic-link.h"
 
 /* Statistics function.  */
@@ -338,8 +339,7 @@ void
 internal_function __attribute_noinline__
 _dl_reloc_bad_type (struct link_map *map, unsigned int type, int plt)
 {
-  extern const char INTUSE(_itoa_lower_digits)[] attribute_hidden;
-#define DIGIT(b)	INTUSE(_itoa_lower_digits)[(b) & 0xf];
+#define DIGIT(b)	_itoa_lower_digits[(b) & 0xf];
 
   /* XXX We cannot translate these messages.  */
   static const char msg[2][32
diff --git a/include/signal.h b/include/signal.h
index c43f2abeec..a019395882 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -14,6 +14,7 @@ libc_hidden_proto (__sigpause)
 libc_hidden_proto (raise)
 libc_hidden_proto (__libc_current_sigrtmin)
 libc_hidden_proto (__libc_current_sigrtmax)
+libc_hidden_proto (_sys_siglist)
 
 /* Now define the internal interfaces.  */
 extern __sighandler_t __bsd_signal (int __sig, __sighandler_t __handler);
diff --git a/stdio-common/_itoa.c b/stdio-common/_itoa.c
index 12d69541b9..ebb3e857c6 100644
--- a/stdio-common/_itoa.c
+++ b/stdio-common/_itoa.c
@@ -1,6 +1,5 @@
 /* Internal function for converting integers to ASCII.
-   Copyright (C) 1994, 1995, 1996, 1999, 2000, 2002, 2003, 2004, 2007
-   Free Software Foundation, Inc.
+   Copyright (C) 1994-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Torbjorn Granlund <tege@matematik.su.se>
    and Ulrich Drepper <drepper@gnu.org>.
@@ -160,27 +159,13 @@ const struct base_table_t _itoa_base_table[] attribute_hidden =
 };
 #endif
 
-/* Lower-case digits.  */
-extern const char _itoa_lower_digits[];
-extern const char _itoa_lower_digits_internal[] attribute_hidden;
-/* Upper-case digits.  */
-extern const char _itoa_upper_digits[];
-extern const char _itoa_upper_digits_internal[] attribute_hidden;
-
-
 char *
 _itoa_word (_ITOA_WORD_TYPE value, char *buflim,
 	    unsigned int base, int upper_case)
 {
   const char *digits = (upper_case
-#if !defined NOT_IN_libc || defined IS_IN_rtld
-			? INTUSE(_itoa_upper_digits)
-			: INTUSE(_itoa_lower_digits)
-#else
 			? _itoa_upper_digits
-			: _itoa_lower_digits
-#endif
-		       );
+			: _itoa_lower_digits);
 
   switch (base)
     {
@@ -213,8 +198,8 @@ _itoa (value, buflim, base, upper_case)
      int upper_case;
 {
   const char *digits = (upper_case
-			? INTUSE(_itoa_upper_digits)
-			: INTUSE(_itoa_lower_digits));
+			? _itoa_upper_digits
+			: _itoa_lower_digits);
   const struct base_table_t *brec = &_itoa_base_table[base - 2];
 
   switch (base)
diff --git a/stdio-common/itoa-digits.c b/stdio-common/itoa-digits.c
index b0a652d6cf..e38f48405e 100644
--- a/stdio-common/itoa-digits.c
+++ b/stdio-common/itoa-digits.c
@@ -1,5 +1,5 @@
 /* Digits.
-   Copyright (C) 1994,1995,1996,1999,2000,2002 Free Software Foundation, Inc.
+   Copyright (C) 1994-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,9 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <_itoa.h>
+
 /* Lower-case digits.  */
 const char _itoa_lower_digits[36]
 	= "0123456789abcdefghijklmnopqrstuvwxyz";
-INTVARDEF(_itoa_lower_digits)
+libc_hidden_data_def (_itoa_lower_digits)
diff --git a/stdio-common/itoa-udigits.c b/stdio-common/itoa-udigits.c
index 39f9549c9c..215af7126e 100644
--- a/stdio-common/itoa-udigits.c
+++ b/stdio-common/itoa-udigits.c
@@ -1,5 +1,5 @@
 /* Digits.
-   Copyright (C) 1994,1995,1996,1999,2000,2002 Free Software Foundation, Inc.
+   Copyright (C) 1994-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,9 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <_itoa.h>
+
 /* Upper-case digits.  */
 const char _itoa_upper_digits[36]
 	= "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-INTVARDEF(_itoa_upper_digits)
+libc_hidden_data_def (_itoa_upper_digits)
diff --git a/stdio-common/psiginfo.c b/stdio-common/psiginfo.c
index eb758c481a..9701fcd8a7 100644
--- a/stdio-common/psiginfo.c
+++ b/stdio-common/psiginfo.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -26,11 +26,6 @@
 #include <not-cancel.h>
 
 
-/* Defined in sys_siglist.c.  */
-extern const char *const _sys_siglist[];
-extern const char *const _sys_siglist_internal[] attribute_hidden;
-
-
 #define MF(l) MF1 (l)
 #define MF1(l) str_##l
 #define C(s1, s2) C1 (s1, s2)
@@ -84,7 +79,7 @@ psiginfo (const siginfo_t *pinfo, const char *s)
 
   const char *desc;
   if (pinfo->si_signo >= 0 && pinfo->si_signo < NSIG
-      && ((desc = INTUSE(_sys_siglist)[pinfo->si_signo]) != NULL
+      && ((desc = _sys_siglist[pinfo->si_signo]) != NULL
 #ifdef SIGRTMIN
 	  || (pinfo->si_signo >= SIGRTMIN && pinfo->si_signo < SIGRTMAX)
 #endif
diff --git a/stdio-common/psignal.c b/stdio-common/psignal.c
index 23026f9b18..309803a978 100644
--- a/stdio-common/psignal.c
+++ b/stdio-common/psignal.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1996, 1997, 2001, 2002, 2004, 2005, 2009
-   Free Software Foundation, Inc.
+/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,12 +21,6 @@
 #include <libintl.h>
 #include <wchar.h>
 
-
-/* Defined in sys_siglist.c.  */
-extern const char *const _sys_siglist[];
-extern const char *const _sys_siglist_internal[] attribute_hidden;
-
-
 /* Print out on stderr a line consisting of the test in S, a colon, a space,
    a message describing the meaning of the signal number SIG and a newline.
    If S is NULL or "", the colon and space are omitted.  */
@@ -41,7 +34,7 @@ psignal (int sig, const char *s)
   else
     colon = ": ";
 
-  if (sig >= 0 && sig < NSIG && (desc = INTUSE(_sys_siglist)[sig]) != NULL)
+  if (sig >= 0 && sig < NSIG && (desc = _sys_siglist[sig]) != NULL)
     (void) __fxprintf (NULL, "%s%s%s\n", s, colon, _(desc));
   else
     {
diff --git a/string/strsignal.c b/string/strsignal.c
index 74ebe3615f..c6b6a5360a 100644
--- a/string/strsignal.c
+++ b/string/strsignal.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994-2002, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,10 +22,6 @@
 #include <libintl.h>
 #include <bits/libc-lock.h>
 
-
-/* Defined in siglist.c.  */
-extern const char *const _sys_siglist[];
-extern const char *const _sys_siglist_internal[] attribute_hidden;
 static __libc_key_t key;
 
 /* If nonzero the key allocation failed and we should better use a
@@ -55,7 +51,7 @@ strsignal (int signum)
       (signum >= SIGRTMIN && signum <= SIGRTMAX) ||
 #endif
       signum < 0 || signum >= NSIG
-      || (desc = INTUSE(_sys_siglist)[signum]) == NULL)
+      || (desc = _sys_siglist[signum]) == NULL)
     {
       char *buffer = getbuffer ();
       int len;
diff --git a/sysdeps/generic/_itoa.h b/sysdeps/generic/_itoa.h
index 0a670431e4..2ab401d012 100644
--- a/sysdeps/generic/_itoa.h
+++ b/sysdeps/generic/_itoa.h
@@ -1,5 +1,5 @@
 /* Internal function for converting integers to ASCII.
-   Copyright (C) 1994-1999,2002,2003,2007 Free Software Foundation, Inc.
+   Copyright (C) 1994-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -45,9 +45,11 @@ extern char *_itoa (unsigned long long int value, char *buflim,
 		    unsigned int base, int upper_case);
 
 extern const char _itoa_upper_digits[];
-extern const char _itoa_upper_digits_internal[] attribute_hidden;
 extern const char _itoa_lower_digits[];
-extern const char _itoa_lower_digits_internal[] attribute_hidden;
+#if !defined NOT_IN_libc || defined IS_IN_rtld
+hidden_proto (_itoa_upper_digits)
+hidden_proto (_itoa_lower_digits)
+#endif
 
 #ifndef NOT_IN_libc
 extern char *_itoa_word (_ITOA_WORD_TYPE value, char *buflim,
@@ -58,14 +60,8 @@ _itoa_word (_ITOA_WORD_TYPE value, char *buflim,
 	    unsigned int base, int upper_case)
 {
   const char *digits = (upper_case
-# if defined IS_IN_rtld
-			? INTUSE(_itoa_upper_digits)
-			: INTUSE(_itoa_lower_digits)
-# else
 			? _itoa_upper_digits
-			: _itoa_lower_digits
-# endif
-		       );
+			: _itoa_lower_digits);
 
   switch (base)
     {
diff --git a/sysdeps/gnu/siglist.c b/sysdeps/gnu/siglist.c
index 61a0b827f5..1a7e38df09 100644
--- a/sysdeps/gnu/siglist.c
+++ b/sysdeps/gnu/siglist.c
@@ -1,5 +1,5 @@
 /* Define list of all signal numbers and their names.
-   Copyright (C) 1997-2000, 2002, 2003, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -28,7 +28,7 @@ const char *const __new_sys_siglist[NSIG] =
 #include <siglist.h>
 #undef init_sig
 };
-strong_alias (__new_sys_siglist, _sys_siglist_internal)
+libc_hidden_ver (__new_sys_siglist, _sys_siglist)
 
 const char *const __new_sys_sigabbrev[NSIG] =
 {
@@ -36,7 +36,6 @@ const char *const __new_sys_sigabbrev[NSIG] =
 #include <siglist.h>
 #undef init_sig
 };
-strong_alias (__new_sys_sigabbrev, _sys_sigabbrev_internal)
 
 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
 declare_symbol_alias (__old_sys_siglist, __new_sys_siglist, object,