about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-08-06 08:40:20 +0000
committerRoland McGrath <roland@gnu.org>2002-08-06 08:40:20 +0000
commit1ab62b326e22ee3c9ab8b8b4144953698bc82cff (patch)
treeac0625c757638e382f54ca53cb9cf5c9deb171be
parent9b0b40d35e239d33fbb66ebe88b7249f9a8f006e (diff)
downloadglibc-1ab62b326e22ee3c9ab8b8b4144953698bc82cff.tar.gz
glibc-1ab62b326e22ee3c9ab8b8b4144953698bc82cff.tar.xz
glibc-1ab62b326e22ee3c9ab8b8b4144953698bc82cff.zip
* locale/Versions (libc: GLIBC_2.3): Add all the *_l functions
	with no __ prefix.
	* locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l.
	* ctype/ctype.h [__USE_GNU]: Add declarations and macros for
	all *_l functions with no __ prefix.
	* wctype/wcfuncs_l.c: Define weak aliases without __ for all fns.
	* ctype/ctype_l.c: Likewise.
	* locale/nl_langinfo.c: Likewise.
	* string/string.h [__USE_GNU]: Add decls for all *_l fns with no __.
	* stdlib/stdlib.h [__USE_GNU]: Likewise.
	* wcsmbs/wchar.h [__USE_GNU]: Likewise.
	* wctype/wctype.h [__USE_GNU]: Likewise.
	* string/strcoll_l.c (strcoll_l): Define as weak alias.
	* string/strxfrm_l.c (strxfrm_l): Define as weak alias.
	* sysdeps/generic/strcasecmp_l.c (strcasecmp_l): Define as weak alias.
	* sysdeps/generic/strncase_l.c (strncasecmp_l): Define as weak alias.
	* stdlib/strtod_l.c (strtod_l): Define as weak alias.
	* stdlib/strtof_l.c (strtof_l): Define as weak alias.
	* stdlib/strtold_l.c (strtold_l): Define as weak alias.
	* wcsmbs/wcscasecmp_l.c (wcscasecmp_l): Define as weak alias.
	(__wcscasecmp_l): Add libc_hidden_def.
	* wcsmbs/wcsncase_l.c (wcsncasecmp_l): Define as weak alias.
	(__wcsncasecmp_l): Add libc_hidden_def.
	* wcsmbs/wcstof_l.c (wcstof_l): Define as weak alias.
	* wcsmbs/wcstod_l.c (wcstod_l): Define as weak alias.
	* wcsmbs/wcstold_l.c (wcstold_l): Define as weak alias.
	* wcsmbs/wcscoll_l.c (wcscoll_l): Define as weak alias.
	* wcsmbs/wcsxfrm_l.c (wcsxfrm_l): Define as weak alias.
	* sysdeps/generic/wcstol_l.c (wcstol_l): Define as weak alias.
	* sysdeps/generic/wcstoll_l.c (wcstoll_l): Define as weak alias.
	* sysdeps/generic/wcstoul_l.c (wcstoul_l): Define as weak alias.
	* sysdeps/generic/wcstoull_l.c (wcstoull_l): Define as weak alias.
	* sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define as weak alias.
	* sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Define as weak alias.
	* wctype/wctrans_l.c (wctrans_l) Define as weak alias.
	* wctype/towctrans_l.c (towctrans_l) Define as weak alias.
	* wctype/wctype_l.c (wctype_l) Define as weak alias.
-rw-r--r--ChangeLog40
-rw-r--r--ctype/ctype.h58
-rw-r--r--ctype/ctype_l.c31
-rw-r--r--locale/Versions13
-rw-r--r--locale/langinfo.h3
-rw-r--r--locale/nl_langinfo.c4
-rw-r--r--stdlib/stdlib.h25
-rw-r--r--stdlib/strtod_l.c4
-rw-r--r--stdlib/strtof_l.c4
-rw-r--r--stdlib/strtold_l.c4
-rw-r--r--string/strcoll_l.c6
-rw-r--r--string/string.h9
-rw-r--r--string/strxfrm_l.c6
-rw-r--r--sysdeps/generic/strcasecmp_l.c1
-rw-r--r--sysdeps/generic/strncase_l.c1
-rw-r--r--sysdeps/generic/wcstol_l.c4
-rw-r--r--sysdeps/generic/wcstoll_l.c2
-rw-r--r--sysdeps/generic/wcstoul_l.c4
-rw-r--r--sysdeps/generic/wcstoull_l.c4
-rw-r--r--sysdeps/wordsize-64/wcstol_l.c1
-rw-r--r--sysdeps/wordsize-64/wcstoul_l.c1
-rw-r--r--wcsmbs/wchar.h35
-rw-r--r--wcsmbs/wcscasecmp_l.c5
-rw-r--r--wcsmbs/wcscoll_l.c4
-rw-r--r--wcsmbs/wcsncase_l.c5
-rw-r--r--wcsmbs/wcstod_l.c4
-rw-r--r--wcsmbs/wcstof_l.c4
-rw-r--r--wcsmbs/wcstold_l.c4
-rw-r--r--wcsmbs/wcsxfrm_l.c4
-rw-r--r--wctype/towctrans_l.c3
-rw-r--r--wctype/wcfuncs_l.c31
-rw-r--r--wctype/wctrans_l.c3
-rw-r--r--wctype/wctype.h23
-rw-r--r--wctype/wctype_l.c5
34 files changed, 285 insertions, 70 deletions
diff --git a/ChangeLog b/ChangeLog
index 4e93f75309..07d83a180c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,43 @@
+2002-08-06  Roland McGrath  <roland@redhat.com>
+
+	* locale/Versions (libc: GLIBC_2.3): Add all the *_l functions
+	with no __ prefix.
+	* locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l.
+	* ctype/ctype.h [__USE_GNU]: Add declarations and macros for
+	all *_l functions with no __ prefix.
+	* wctype/wcfuncs_l.c: Define weak aliases without __ for all fns.
+	* ctype/ctype_l.c: Likewise.
+	* locale/nl_langinfo.c: Likewise.
+	* string/string.h [__USE_GNU]: Add decls for all *_l fns with no __.
+	* stdlib/stdlib.h [__USE_GNU]: Likewise.
+	* wcsmbs/wchar.h [__USE_GNU]: Likewise.
+	* wctype/wctype.h [__USE_GNU]: Likewise.
+	* string/strcoll_l.c (strcoll_l): Define as weak alias.
+	* string/strxfrm_l.c (strxfrm_l): Define as weak alias.
+	* sysdeps/generic/strcasecmp_l.c (strcasecmp_l): Define as weak alias.
+	* sysdeps/generic/strncase_l.c (strncasecmp_l): Define as weak alias.
+	* stdlib/strtod_l.c (strtod_l): Define as weak alias.
+	* stdlib/strtof_l.c (strtof_l): Define as weak alias.
+	* stdlib/strtold_l.c (strtold_l): Define as weak alias.
+	* wcsmbs/wcscasecmp_l.c (wcscasecmp_l): Define as weak alias.
+	(__wcscasecmp_l): Add libc_hidden_def.
+	* wcsmbs/wcsncase_l.c (wcsncasecmp_l): Define as weak alias.
+	(__wcsncasecmp_l): Add libc_hidden_def.
+	* wcsmbs/wcstof_l.c (wcstof_l): Define as weak alias.
+	* wcsmbs/wcstod_l.c (wcstod_l): Define as weak alias.
+	* wcsmbs/wcstold_l.c (wcstold_l): Define as weak alias.
+	* wcsmbs/wcscoll_l.c (wcscoll_l): Define as weak alias.
+	* wcsmbs/wcsxfrm_l.c (wcsxfrm_l): Define as weak alias.
+	* sysdeps/generic/wcstol_l.c (wcstol_l): Define as weak alias.
+	* sysdeps/generic/wcstoll_l.c (wcstoll_l): Define as weak alias.
+	* sysdeps/generic/wcstoul_l.c (wcstoul_l): Define as weak alias.
+	* sysdeps/generic/wcstoull_l.c (wcstoull_l): Define as weak alias.
+	* sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define as weak alias.
+	* sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Define as weak alias.
+	* wctype/wctrans_l.c (wctrans_l) Define as weak alias.
+	* wctype/towctrans_l.c (towctrans_l) Define as weak alias.
+	* wctype/wctype_l.c (wctype_l) Define as weak alias.
+
 2002-08-05  Roland McGrath  <roland@redhat.com>
 
 	* include/rpc/auth.h: Use libc_hidden_proto for getnetname,
diff --git a/ctype/ctype.h b/ctype/ctype.h
index e73a06d64e..c17aaf171c 100644
--- a/ctype/ctype.h
+++ b/ctype/ctype.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,02
+   	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
@@ -214,38 +215,44 @@ toupper (int __c) __THROW
 #  define __isctype_l(c, type, locale) \
   ((locale)->__ctype_b[(int) (c)] & (unsigned short int) type)
 
-# define __exctype_l(name)	extern int name (int, __locale_t) __THROW
+# define __exctype_l(name) 						      \
+  extern int name (int, __locale_t) __THROW;				      \
+  extern int __##name (int, __locale_t) __THROW
 
 /* The following names are all functions:
      int isCHARACTERISTIC(int c, locale_t *locale);
    which return nonzero iff C has CHARACTERISTIC.
    For the meaning of the characteristic names, see the `enum' above.  */
-__exctype_l (__isalnum_l);
-__exctype_l (__isalpha_l);
-__exctype_l (__iscntrl_l);
-__exctype_l (__isdigit_l);
-__exctype_l (__islower_l);
-__exctype_l (__isgraph_l);
-__exctype_l (__isprint_l);
-__exctype_l (__ispunct_l);
-__exctype_l (__isspace_l);
-__exctype_l (__isupper_l);
-__exctype_l (__isxdigit_l);
+__exctype_l (isalnum_l);
+__exctype_l (isalpha_l);
+__exctype_l (iscntrl_l);
+__exctype_l (isdigit_l);
+__exctype_l (islower_l);
+__exctype_l (isgraph_l);
+__exctype_l (isprint_l);
+__exctype_l (ispunct_l);
+__exctype_l (isspace_l);
+__exctype_l (isupper_l);
+__exctype_l (isxdigit_l);
 
-__exctype_l (__isblank_l);
+__exctype_l (isblank_l);
 
 
 /* Return the lowercase version of C in locale L.  */
 extern int __tolower_l (int __c, __locale_t __l) __THROW;
+extern int tolower_l (int __c, __locale_t __l) __THROW;
 
 /* Return the uppercase version of C.  */
 extern int __toupper_l (int __c, __locale_t __l) __THROW;
+extern int toupper_l (int __c, __locale_t __l) __THROW;
 
 # if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus
 #  define __tolower_l(c, locale) \
   __tobody (c, __tolower_l, (locale)->__ctype_tolower, (c, locale))
 #  define __toupper_l(c, locale) \
   __tobody (c, __toupper_l, (locale)->__ctype_toupper, (c, locale))
+#  define tolower_l(c, locale)	__tolower_l ((c), (locale))
+#  define toupper_l(c, locale)	__toupper_l ((c), (locale))
 # endif	/* Optimizing gcc */
 
 
@@ -265,8 +272,27 @@ extern int __toupper_l (int __c, __locale_t __l) __THROW;
 #  define __isblank_l(c,l)	__isctype_l((c), _ISblank, (l))
 
 #  if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN
-#   define __isascii_l(c,l)	__isascii(c)
-#   define __toascii_l(c,l)	__toascii(c)
+#   define __isascii_l(c,l)	((l), __isascii (c))
+#   define __toascii_l(c,l)	((l), __toascii (c))
+#  endif
+
+#  define isalnum_l(c,l)	__isalnum_l ((c), (l))
+#  define isalpha_l(c,l)	__isalpha_l ((c), (l))
+#  define iscntrl_l(c,l)	__iscntrl_l ((c), (l))
+#  define isdigit_l(c,l)	__isdigit_l ((c), (l))
+#  define islower_l(c,l)	__islower_l ((c), (l))
+#  define isgraph_l(c,l)	__isgraph_l ((c), (l))
+#  define isprint_l(c,l)	__isprint_l ((c), (l))
+#  define ispunct_l(c,l)	__ispunct_l ((c), (l))
+#  define isspace_l(c,l)	__isspace_l ((c), (l))
+#  define isupper_l(c,l)	__isupper_l ((c), (l))
+#  define isxdigit_l(c,l)	__isxdigit_l ((c), (l))
+
+#  define isblank_l(c,l)	__isblank_l ((c), (l))
+
+#  if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN
+#   define isascii_l(c,l)	__isascii ((c), (l))
+#   define toascii_l(c,l)	__toascii ((c), (l))
 #  endif
 
 # endif /* Not __NO_CTYPE.  */
diff --git a/ctype/ctype_l.c b/ctype/ctype_l.c
index f895c48858..f35ce5f519 100644
--- a/ctype/ctype_l.c
+++ b/ctype/ctype_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1997, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,97,2001,02 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,28 +22,31 @@
 /* Provide real-function versions of all the ctype macros.  */
 
 #define	func(name, type) \
-  int name (int c, __locale_t l) { return __isctype_l (c, type, l); }
-
-func (__isalnum_l, _ISalnum)
-func (__isalpha_l, _ISalpha)
-func (__iscntrl_l, _IScntrl)
-func (__isdigit_l, _ISdigit)
-func (__islower_l, _ISlower)
-func (__isgraph_l, _ISgraph)
-func (__isprint_l, _ISprint)
-func (__ispunct_l, _ISpunct)
-func (__isspace_l, _ISspace)
-func (__isupper_l, _ISupper)
-func (__isxdigit_l, _ISxdigit)
+  int __##name (int c, __locale_t l) { return __isctype_l (c, type, l); } \
+  weak_alias (__##name, name)
+
+func (isalnum_l, _ISalnum)
+func (isalpha_l, _ISalpha)
+func (iscntrl_l, _IScntrl)
+func (isdigit_l, _ISdigit)
+func (islower_l, _ISlower)
+func (isgraph_l, _ISgraph)
+func (isprint_l, _ISprint)
+func (ispunct_l, _ISpunct)
+func (isspace_l, _ISspace)
+func (isupper_l, _ISupper)
+func (isxdigit_l, _ISxdigit)
 
 int
 (__tolower_l) (int c, __locale_t l)
 {
   return l->__ctype_tolower[c];
 }
+weak_alias (__tolower_l, tolower_l)
 
 int
 (__toupper_l) (int c, __locale_t l)
 {
   return l->__ctype_toupper[c];
 }
+weak_alias (__toupper_l, toupper_l)
diff --git a/locale/Versions b/locale/Versions
index bb875f84a4..4cf2f585ad 100644
--- a/locale/Versions
+++ b/locale/Versions
@@ -49,6 +49,19 @@ libc {
   GLIBC_2.3 {
     # the new "experimental" interface is now public
     newlocale; duplocale; freelocale; uselocale;
+
+    isalnum_l; isalpha_l; isascii_l; isblank_l; iscntrl_l;
+    isdigit_l; isgraph_l; islower_l; isprint_l; ispunct_l;
+    isspace_l; isupper_l; iswalnum_l; iswalpha_l; iswblank_l;
+    iswcntrl_l; iswctype_l; iswdigit_l; iswgraph_l; iswlower_l;
+    iswprint_l; iswpunct_l; iswspace_l; iswupper_l; iswxdigit_l;
+    isxdigit_l; strcasecmp_l; strcoll_l; strfmon_l; strncasecmp_l;
+    strtod_l; strtof_l; strtol_l; strtold_l; strtoll_l; strtoul_l;
+    strtoull_l; strxfrm_l; toascii_l; tolower_l; toupper_l;
+    towctrans_l; towlower_l; towupper_l; wcscasecmp_l; wcscoll_l;
+    wcsncasecmp_l; wcstod_l; wcstof_l; wcstol_l; wcstold_l;
+    wcstoll_l; wcstoul_l; wcstoull_l; wcsxfrm_l; wctype_l;
+    wctrans_l; nl_langinfo_l;
   }
   GLIBC_PRIVATE {
     # global variables
diff --git a/locale/langinfo.h b/locale/langinfo.h
index 859b007c12..557129f83a 100644
--- a/locale/langinfo.h
+++ b/locale/langinfo.h
@@ -1,5 +1,5 @@
 /* Access to locale-dependent parameters.
-   Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1995-99,2000,01,02 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
@@ -584,6 +584,7 @@ extern char *nl_langinfo (nl_item __item) __THROW;
 
 /* Just like nl_langinfo but get the information from the locale object L.  */
 extern char *__nl_langinfo_l (nl_item __item, __locale_t l);
+extern char *nl_langinfo_l (nl_item __item, __locale_t l);
 #endif
 
 __END_DECLS
diff --git a/locale/nl_langinfo.c b/locale/nl_langinfo.c
index 34b67d0646..7df2b30ba9 100644
--- a/locale/nl_langinfo.c
+++ b/locale/nl_langinfo.c
@@ -58,6 +58,8 @@ nl_langinfo (item)
   /* Return the string for the specified item.  */
   return (char *) data->values[index].string;
 }
-#ifndef USE_IN_EXTENDED_LOCALE_MODEL
+#ifdef USE_IN_EXTENDED_LOCALE_MODEL
+weak_alias (__nl_langinfo_l, nl_langinfo_l)
+#else
 libc_hidden_def (nl_langinfo)
 #endif
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index 9b0ed9e3a6..ccead6b023 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991-99,2000,01,02 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
@@ -215,32 +215,55 @@ extern unsigned long long int strtoull (__const char *__restrict __nptr,
 extern long int __strtol_l (__const char *__restrict __nptr,
 			    char **__restrict __endptr, int __base,
 			    __locale_t __loc) __THROW;
+extern long int strtol_l (__const char *__restrict __nptr,
+			  char **__restrict __endptr, int __base,
+			  __locale_t __loc) __THROW;
 
 extern unsigned long int __strtoul_l (__const char *__restrict __nptr,
 				      char **__restrict __endptr,
 				      int __base, __locale_t __loc) __THROW;
+extern unsigned long int strtoul_l (__const char *__restrict __nptr,
+				    char **__restrict __endptr,
+				    int __base, __locale_t __loc) __THROW;
 
 __extension__
 extern long long int __strtoll_l (__const char *__restrict __nptr,
 				  char **__restrict __endptr, int __base,
 				  __locale_t __loc) __THROW;
+__extension__
+extern long long int strtoll_l (__const char *__restrict __nptr,
+				char **__restrict __endptr, int __base,
+				__locale_t __loc) __THROW;
 
 __extension__
 extern unsigned long long int __strtoull_l (__const char *__restrict __nptr,
 					    char **__restrict __endptr,
 					    int __base, __locale_t __loc)
      __THROW;
+__extension__
+extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
+					  char **__restrict __endptr,
+					  int __base, __locale_t __loc)
+     __THROW;
 
 extern double __strtod_l (__const char *__restrict __nptr,
 			  char **__restrict __endptr, __locale_t __loc)
      __THROW;
+extern double strtod_l (__const char *__restrict __nptr,
+			char **__restrict __endptr, __locale_t __loc)
+     __THROW;
 
 extern float __strtof_l (__const char *__restrict __nptr,
 			 char **__restrict __endptr, __locale_t __loc) __THROW;
+extern float strtof_l (__const char *__restrict __nptr,
+		       char **__restrict __endptr, __locale_t __loc) __THROW;
 
 extern long double __strtold_l (__const char *__restrict __nptr,
 				char **__restrict __endptr,
 				__locale_t __loc) __THROW;
+extern long double strtold_l (__const char *__restrict __nptr,
+			      char **__restrict __endptr,
+			      __locale_t __loc) __THROW;
 #endif /* GNU */
 
 
diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
index a15ff10a5c..e8449050d3 100644
--- a/stdlib/strtod_l.c
+++ b/stdlib/strtod_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to float value, using given locale.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,3 +27,5 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
 						       int, int, __locale_t);
 
 #include <strtod.c>
+
+weak_alias (__strtod_l, strtod_l)
diff --git a/stdlib/strtof_l.c b/stdlib/strtof_l.c
index c39e17653b..1187ffc73b 100644
--- a/stdlib/strtof_l.c
+++ b/stdlib/strtof_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to float value, using given locale.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -27,3 +27,5 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
 						       int, int, __locale_t);
 
 #include <strtof.c>
+
+weak_alias (__strtof_l, strtof_l)
diff --git a/stdlib/strtold_l.c b/stdlib/strtold_l.c
index f06d777b83..c3a4e79390 100644
--- a/stdlib/strtold_l.c
+++ b/stdlib/strtold_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to float value, using given locale.
-   Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,99,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -49,3 +49,5 @@ __strtold_l (const char *nptr, char **endptr, __locale_t loc)
   return ____strtod_l_internal (nptr, endptr, 0, loc);
 }
 #endif
+
+weak_alias (__strtold_l, strtold_l)
diff --git a/string/strcoll_l.c b/string/strcoll_l.c
index 46aebbe426..6611589ed0 100644
--- a/string/strcoll_l.c
+++ b/string/strcoll_l.c
@@ -1,6 +1,6 @@
-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1995,96,97,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+   Written by Ulrich Drepper <drepper@gnu.org>, 1995.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -19,3 +19,5 @@
 
 #define USE_IN_EXTENDED_LOCALE_MODEL 1
 #include <strcoll.c>
+
+weak_alias (__strcoll_l, strcoll_l)
diff --git a/string/string.h b/string/string.h
index 265e1fac9e..dd71072e76 100644
--- a/string/string.h
+++ b/string/string.h
@@ -110,9 +110,13 @@ extern size_t strxfrm (char *__restrict __dest,
 /* Compare the collated forms of S1 and S2 using rules from L.  */
 extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
      __THROW __attribute_pure__;
+extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
+     __THROW __attribute_pure__;
 /* Put a transformation of SRC into no more than N bytes of DEST.  */
 extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n,
 			   __locale_t __l) __THROW;
+extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
+			 __locale_t __l) __THROW;
 #endif
 
 #if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED
@@ -282,10 +286,15 @@ extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
    of the global one.  */
 extern int __strcasecmp_l (__const char *__s1, __const char *__s2,
 			   __locale_t __loc) __THROW __attribute_pure__;
+extern int strcasecmp_l (__const char *__s1, __const char *__s2,
+			 __locale_t __loc) __THROW __attribute_pure__;
 
 extern int __strncasecmp_l (__const char *__s1, __const char *__s2,
 			    size_t __n, __locale_t __loc)
      __THROW __attribute_pure__;
+extern int strncasecmp_l (__const char *__s1, __const char *__s2,
+			  size_t __n, __locale_t __loc)
+     __THROW __attribute_pure__;
 #endif
 
 #ifdef	__USE_BSD
diff --git a/string/strxfrm_l.c b/string/strxfrm_l.c
index ae5bb57475..264ab9bfe3 100644
--- a/string/strxfrm_l.c
+++ b/string/strxfrm_l.c
@@ -1,6 +1,6 @@
-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1995,96,97,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+   Written by Ulrich Drepper <drepper@gnu.org>, 1995.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -19,3 +19,5 @@
 
 #define USE_IN_EXTENDED_LOCALE_MODEL	1
 #include <strxfrm.c>
+
+weak_alias (__strxfrm_l, strxfrm_l)
diff --git a/sysdeps/generic/strcasecmp_l.c b/sysdeps/generic/strcasecmp_l.c
index a13f66dae8..1cd3fe14c5 100644
--- a/sysdeps/generic/strcasecmp_l.c
+++ b/sysdeps/generic/strcasecmp_l.c
@@ -20,3 +20,4 @@
 #include <sysdeps/generic/strcasecmp.c>
 
 libc_hidden_def (__strcasecmp_l)
+weak_alias (__strcasecmp_l, strcasecmp_l)
diff --git a/sysdeps/generic/strncase_l.c b/sysdeps/generic/strncase_l.c
index 7704fc7fff..0e61ebec7d 100644
--- a/sysdeps/generic/strncase_l.c
+++ b/sysdeps/generic/strncase_l.c
@@ -22,3 +22,4 @@
 #include <sysdeps/generic/strncase.c>
 
 libc_hidden_def (__strncasecmp_l)
+weak_alias (__strncasecmp_l, strncasecmp_l)
diff --git a/sysdeps/generic/wcstol_l.c b/sysdeps/generic/wcstol_l.c
index 6c7870ef5e..91b0d3fa7d 100644
--- a/sysdeps/generic/wcstol_l.c
+++ b/sysdeps/generic/wcstol_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to integer value, using given locale.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -28,3 +28,5 @@ extern long int ____wcstol_l_internal (const wchar_t *, wchar_t **, int, int,
 				       __locale_t);
 
 #include "wcstol.c"
+
+weak_alias (__wcstol_l, wcstol_l)
diff --git a/sysdeps/generic/wcstoll_l.c b/sysdeps/generic/wcstoll_l.c
index 7c288ab931..9ed2c5aca7 100644
--- a/sysdeps/generic/wcstoll_l.c
+++ b/sysdeps/generic/wcstoll_l.c
@@ -28,3 +28,5 @@ extern long long int ____wcstoll_l_internal (const wchar_t *, wchar_t **,
 					     int, int, __locale_t);
 
 #include <wcstoll.c>
+
+weak_alias (__wcstoll_l, wcstoll_l)
diff --git a/sysdeps/generic/wcstoul_l.c b/sysdeps/generic/wcstoul_l.c
index e70cafe95b..9d567bbcc5 100644
--- a/sysdeps/generic/wcstoul_l.c
+++ b/sysdeps/generic/wcstoul_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to integer value, using given locale.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -28,3 +28,5 @@ extern unsigned long int ____wcstoul_l_internal (const wchar_t *, wchar_t **,
 						 int, int, __locale_t);
 
 #include <wcstoul.c>
+
+weak_alias (__wcstoul_l, wcstoul_l)
diff --git a/sysdeps/generic/wcstoull_l.c b/sysdeps/generic/wcstoull_l.c
index 7e8e58d7f4..f8f05ba8d8 100644
--- a/sysdeps/generic/wcstoull_l.c
+++ b/sysdeps/generic/wcstoull_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to integer value, using given locale.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -29,3 +29,5 @@ extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
 						       __locale_t);
 
 #include <wcstoull.c>
+
+weak_alias (__wcstoull_l, wcstoull_l)
diff --git a/sysdeps/wordsize-64/wcstol_l.c b/sysdeps/wordsize-64/wcstol_l.c
index 06bf40e0af..57fb641839 100644
--- a/sysdeps/wordsize-64/wcstol_l.c
+++ b/sysdeps/wordsize-64/wcstol_l.c
@@ -8,3 +8,4 @@
 #undef __wcstoll_l
 strong_alias (____wcstol_l_internal, ____wcstoll_l_internal)
 weak_alias (__wcstol_l, __wcstoll_l)
+weak_alias (__wcstol_l, wcstoll_l)
diff --git a/sysdeps/wordsize-64/wcstoul_l.c b/sysdeps/wordsize-64/wcstoul_l.c
index 2289caf4b9..f9b34d4978 100644
--- a/sysdeps/wordsize-64/wcstoul_l.c
+++ b/sysdeps/wordsize-64/wcstoul_l.c
@@ -8,3 +8,4 @@
 #undef __wcstoull_l
 strong_alias (____wcstoul_l_internal, ____wcstoull_l_internal)
 weak_alias (__wcstoul_l, __wcstoull_l)
+weak_alias (__wcstoul_l, wcstoull_l)
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index 5f23cab036..6dacb2612e 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1995-99,2000,01,02 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
@@ -144,9 +144,13 @@ extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
 
 extern int __wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
 			   __locale_t __loc) __THROW;
+extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
+			 __locale_t __loc) __THROW;
 
 extern int __wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
 			    size_t __n, __locale_t __loc) __THROW;
+extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
+			  size_t __n, __locale_t __loc) __THROW;
 #endif
 
 /* Compare S1 and S2, both interpreted as appropriate to the
@@ -166,11 +170,16 @@ extern size_t wcsxfrm (wchar_t *__restrict __s1,
    LC_COLLATE category of the given locale.  */
 extern int __wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
 			__locale_t __loc) __THROW;
+extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
+		      __locale_t __loc) __THROW;
+
 /* Transform S2 into array pointed to by S1 such that if wcscmp is
    applied to two transformed strings the result is the as applying
    `wcscoll' to the original strings.  */
 extern size_t __wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
 			   size_t __n, __locale_t __loc) __THROW;
+extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
+			 size_t __n, __locale_t __loc) __THROW;
 
 /* Duplicate S, returning an identical malloc'd string.  */
 extern wchar_t *wcsdup (__const wchar_t *__s) __THROW __attribute_malloc__;
@@ -410,33 +419,57 @@ extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
 extern long int __wcstol_l (__const wchar_t *__restrict __nptr,
 			    wchar_t **__restrict __endptr, int __base,
 			    __locale_t __loc) __THROW;
+extern long int wcstol_l (__const wchar_t *__restrict __nptr,
+			  wchar_t **__restrict __endptr, int __base,
+			  __locale_t __loc) __THROW;
 
 extern unsigned long int __wcstoul_l (__const wchar_t *__restrict __nptr,
 				      wchar_t **__restrict __endptr,
 				      int __base, __locale_t __loc) __THROW;
+extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr,
+				    wchar_t **__restrict __endptr,
+				    int __base, __locale_t __loc) __THROW;
 
 __extension__
 extern long long int __wcstoll_l (__const wchar_t *__restrict __nptr,
 				  wchar_t **__restrict __endptr,
 				  int __base, __locale_t __loc) __THROW;
+__extension__
+extern long long int wcstoll_l (__const wchar_t *__restrict __nptr,
+				wchar_t **__restrict __endptr,
+				int __base, __locale_t __loc) __THROW;
 
 __extension__
 extern unsigned long long int __wcstoull_l (__const wchar_t *__restrict __nptr,
 					    wchar_t **__restrict __endptr,
 					    int __base, __locale_t __loc)
      __THROW;
+__extension__
+extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr,
+					  wchar_t **__restrict __endptr,
+					  int __base, __locale_t __loc)
+     __THROW;
 
 extern double __wcstod_l (__const wchar_t *__restrict __nptr,
 			  wchar_t **__restrict __endptr, __locale_t __loc)
      __THROW;
+extern double wcstod_l (__const wchar_t *__restrict __nptr,
+			wchar_t **__restrict __endptr, __locale_t __loc)
+     __THROW;
 
 extern float __wcstof_l (__const wchar_t *__restrict __nptr,
 			 wchar_t **__restrict __endptr, __locale_t __loc)
      __THROW;
+extern float wcstof_l (__const wchar_t *__restrict __nptr,
+		       wchar_t **__restrict __endptr, __locale_t __loc)
+     __THROW;
 
 extern long double __wcstold_l (__const wchar_t *__restrict __nptr,
 				wchar_t **__restrict __endptr,
 				__locale_t __loc) __THROW;
+extern long double wcstold_l (__const wchar_t *__restrict __nptr,
+			      wchar_t **__restrict __endptr,
+			      __locale_t __loc) __THROW;
 #endif /* GNU */
 
 
diff --git a/wcsmbs/wcscasecmp_l.c b/wcsmbs/wcscasecmp_l.c
index f7dfdf243c..a278e5b00f 100644
--- a/wcsmbs/wcscasecmp_l.c
+++ b/wcsmbs/wcscasecmp_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -19,3 +19,6 @@
 
 #define USE_IN_EXTENDED_LOCALE_MODEL	1
 #include <wcscasecmp.c>
+
+libc_hidden_def (__wcscasecmp_l)
+weak_alias (__wcscasecmp_l, wcscasecmp_l)
diff --git a/wcsmbs/wcscoll_l.c b/wcsmbs/wcscoll_l.c
index c6021fea69..20007b29c9 100644
--- a/wcsmbs/wcscoll_l.c
+++ b/wcsmbs/wcscoll_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
 
@@ -19,3 +19,5 @@
 
 #define USE_IN_EXTENDED_LOCALE_MODEL	1
 #include <wcscoll.c>
+
+weak_alias (__wcscoll_l, wcscoll_l)
diff --git a/wcsmbs/wcsncase_l.c b/wcsmbs/wcsncase_l.c
index 7c82ab0d98..45a26e53a8 100644
--- a/wcsmbs/wcsncase_l.c
+++ b/wcsmbs/wcsncase_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -19,3 +19,6 @@
 
 #define USE_IN_EXTENDED_LOCALE_MODEL	1
 #include <wcsncase.c>
+
+libc_hidden_def (__wcsncasecmp_l)
+weak_alias (__wcsncasecmp_l, wcsncasecmp_l)
diff --git a/wcsmbs/wcstod_l.c b/wcsmbs/wcstod_l.c
index 13f85d3008..87f3a8f7bc 100644
--- a/wcsmbs/wcstod_l.c
+++ b/wcsmbs/wcstod_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to integer value, using given locale.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -31,3 +31,5 @@ extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
 						       __locale_t);
 
 #include <wcstod.c>
+
+weak_alias (__wcstod_l, wcstod_l)
diff --git a/wcsmbs/wcstof_l.c b/wcsmbs/wcstof_l.c
index e1b6632262..542961e1fe 100644
--- a/wcsmbs/wcstof_l.c
+++ b/wcsmbs/wcstof_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to integer value, using given locale.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -31,3 +31,5 @@ extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
 						       __locale_t);
 
 #include <wcstof.c>
+
+weak_alias (__wcstof_l, wcstof_l)
diff --git a/wcsmbs/wcstold_l.c b/wcsmbs/wcstold_l.c
index e9e83b8faa..91a92124cf 100644
--- a/wcsmbs/wcstold_l.c
+++ b/wcsmbs/wcstold_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to integer value, using given locale.
-   Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,99,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -52,3 +52,5 @@ __wcstold_l (const wchar_t *nptr, wchar_t **endptr, __locale_t loc)
   return ____wcstod_l_internal (nptr, endptr, 0, loc);
 }
 #endif
+
+weak_alias (__wcstold_l, wcstold_l)
diff --git a/wcsmbs/wcsxfrm_l.c b/wcsmbs/wcsxfrm_l.c
index b29bf73405..13046237a9 100644
--- a/wcsmbs/wcsxfrm_l.c
+++ b/wcsmbs/wcsxfrm_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996,97,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
 
@@ -19,3 +19,5 @@
 
 #define USE_IN_EXTENDED_LOCALE_MODEL	1
 #include <wcsxfrm.c>
+
+weak_alias (__wcsxfrm_l, wcsxfrm_l)
diff --git a/wctype/towctrans_l.c b/wctype/towctrans_l.c
index e80ecb53d0..28a4fd0530 100644
--- a/wctype/towctrans_l.c
+++ b/wctype/towctrans_l.c
@@ -1,5 +1,5 @@
 /* Map wide character using given mapping and locale.
-   Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2000, 2002 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
@@ -33,3 +33,4 @@ __towctrans_l (wint_t wc, wctrans_t desc, __locale_t locale)
 
   return wctrans_table_lookup ((const char *) desc, wc);
 }
+weak_alias (__towctrans_l, towctrans_l)
diff --git a/wctype/wcfuncs_l.c b/wctype/wcfuncs_l.c
index df6b9dfd43..5556dc4adc 100644
--- a/wctype/wcfuncs_l.c
+++ b/wctype/wcfuncs_l.c
@@ -27,26 +27,27 @@
 /* Provide real-function versions of all the wctype macros.  */
 
 #define	func(name, type) \
-  int name (wint_t wc, __locale_t locale)				      \
+  int __##name (wint_t wc, __locale_t locale)				      \
   {									      \
     size_t i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_CLASS_OFFSET)].word + type; \
     const char *desc = locale->__locales[LC_CTYPE]->values[i].string;	      \
     return wctype_table_lookup (desc, wc);				      \
   }									      \
-  libc_hidden_def (name)
+  libc_hidden_def (__##name)						      \
+  weak_alias (__##name, name)
 
-func (__iswalnum_l, __ISwalnum)
-func (__iswalpha_l, __ISwalpha)
-func (__iswblank_l, __ISwblank)
-func (__iswcntrl_l, __ISwcntrl)
-func (__iswdigit_l, __ISwdigit)
-func (__iswlower_l, __ISwlower)
-func (__iswgraph_l, __ISwgraph)
-func (__iswprint_l, __ISwprint)
-func (__iswpunct_l, __ISwpunct)
-func (__iswspace_l, __ISwspace)
-func (__iswupper_l, __ISwupper)
-func (__iswxdigit_l, __ISwxdigit)
+func (iswalnum_l, __ISwalnum)
+func (iswalpha_l, __ISwalpha)
+func (iswblank_l, __ISwblank)
+func (iswcntrl_l, __ISwcntrl)
+func (iswdigit_l, __ISwdigit)
+func (iswlower_l, __ISwlower)
+func (iswgraph_l, __ISwgraph)
+func (iswprint_l, __ISwprint)
+func (iswpunct_l, __ISwpunct)
+func (iswspace_l, __ISwspace)
+func (iswupper_l, __ISwupper)
+func (iswxdigit_l, __ISwxdigit)
 
 wint_t
 (__towlower_l) (wint_t wc, __locale_t locale)
@@ -56,6 +57,7 @@ wint_t
   return wctrans_table_lookup (desc, wc);
 }
 libc_hidden_def (__towlower_l)
+weak_alias (__towlower_l, towlower_l)
 
 wint_t
 (__towupper_l) (wint_t wc, __locale_t locale)
@@ -65,3 +67,4 @@ wint_t
   return wctrans_table_lookup (desc, wc);
 }
 libc_hidden_def (__towupper_l)
+weak_alias (__towupper_l, towupper_l)
diff --git a/wctype/wctrans_l.c b/wctype/wctrans_l.c
index da124a78f2..303b50ddbe 100644
--- a/wctype/wctrans_l.c
+++ b/wctype/wctrans_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1999,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996,97,99,2000,01,02 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,3 +45,4 @@ __wctrans_l (const char *property, __locale_t locale)
   i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_MAP_OFFSET)].word + cnt;
   return (wctrans_t) locale->__locales[LC_CTYPE]->values[i].string;
 }
+weak_alias (__wctrans_l, wctrans_l)
diff --git a/wctype/wctype.h b/wctype/wctype.h
index e4e8e29f4c..1b5d76883b 100644
--- a/wctype/wctype.h
+++ b/wctype/wctype.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996,97,98,99,2000,01,02 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
@@ -307,60 +307,75 @@ extern int __iswalnum_l (wint_t __wc, __locale_t __locale) __THROW;
    wide-characters for which none of `iswcntrl', `iswdigit',
    `iswpunct', or `iswspace' is true.  */
 extern int __iswalpha_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswalpha_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any control wide character.  */
 extern int __iswcntrl_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswcntrl_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to a decimal-digit
    character.  */
 extern int __iswdigit_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswdigit_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character for which `iswprint' is true and
    `iswspace' is false.  */
 extern int __iswgraph_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswgraph_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to a lowercase letter
    or is one of a locale-specific set of wide characters for which
    none of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true.  */
 extern int __iswlower_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswlower_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any printing wide character.  */
 extern int __iswprint_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswprint_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any printing wide character that is one of a
    locale-specific et of wide characters for which neither `iswspace'
    nor `iswalnum' is true.  */
 extern int __iswpunct_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswpunct_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to a locale-specific
    set of wide characters for which none of `iswalnum', `iswgraph', or
    `iswpunct' is true.  */
 extern int __iswspace_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswspace_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to an uppercase letter
    or is one of a locale-specific set of wide character for which none
    of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true.  */
 extern int __iswupper_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswupper_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to a hexadecimal-digit
    character equivalent to that performed be the functions described
    in the previous subclause.  */
 extern int __iswxdigit_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswxdigit_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to a standard blank
    wide character or a locale-specific set of wide characters for
    which `iswalnum' is false.  */
 extern int __iswblank_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswblank_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Construct value that describes a class of wide characters identified
    by the string argument PROPERTY.  */
 extern wctype_t __wctype_l (__const char *__property, __locale_t __locale)
      __THROW;
+extern wctype_t wctype_l (__const char *__property, __locale_t __locale)
+     __THROW;
 
 /* Determine whether the wide-character WC has the property described by
    DESC.  */
 extern int __iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
      __THROW;
+extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
+     __THROW;
 
 
 /*
@@ -369,18 +384,24 @@ extern int __iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
 
 /* Converts an uppercase letter to the corresponding lowercase letter.  */
 extern wint_t __towlower_l (wint_t __wc, __locale_t __locale) __THROW;
+extern wint_t towlower_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Converts an lowercase letter to the corresponding uppercase letter.  */
 extern wint_t __towupper_l (wint_t __wc, __locale_t __locale) __THROW;
+extern wint_t towupper_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Construct value that describes a mapping between wide characters
    identified by the string argument PROPERTY.  */
 extern wctrans_t __wctrans_l (__const char *__property, __locale_t __locale)
      __THROW;
+extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale)
+     __THROW;
 
 /* Map the wide character WC using the mapping described by DESC.  */
 extern wint_t __towctrans_l (wint_t __wc, wctrans_t __desc,
 			     __locale_t __locale) __THROW;
+extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
+			   __locale_t __locale) __THROW;
 
 # endif /* Use GNU.  */
 
diff --git a/wctype/wctype_l.c b/wctype/wctype_l.c
index c4506f895b..2062da60ae 100644
--- a/wctype/wctype_l.c
+++ b/wctype/wctype_l.c
@@ -1,6 +1,6 @@
-/* Copyright (C) 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996,97,2000,01,02 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
+   Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -47,3 +47,4 @@ __wctype_l (const char *property, __locale_t locale)
   i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_CLASS_OFFSET)].word + result;
   return (wctype_t) locale->__locales[LC_CTYPE]->values[i].string;
 }
+weak_alias (__wctype_l, wctype_l)