Message ID | 20230620181910.1506893-12-fberat@redhat.com |
---|---|
State | New |
Headers | show |
Series | Allow glibc to be built with _FORTIFY_SOURCE | expand |
On 2023-06-20 14:18, Frédéric Bérat wrote: > This will enable __REDIRECT_FORTIFY* macros to be used when _FORTIFY_SOURCE > is set. > > Routine declarations that were in bits/wchar2.h are moved into the > bits/wchar2-decl.h file. > The file is now included into include/wchar.h irrespectively from > fortification. > --- Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org> > include/wchar.h | 1 + > wcsmbs/bits/wchar2-decl.h | 172 ++++++++++++++++++++++++++++++++++ > wcsmbs/bits/wchar2.h | 192 -------------------------------------- > 3 files changed, 173 insertions(+), 192 deletions(-) > > diff --git a/include/wchar.h b/include/wchar.h > index ff4ae52045..7b763bc24f 100644 > --- a/include/wchar.h > +++ b/include/wchar.h > @@ -12,6 +12,7 @@ > # ifndef _ISOMAC > > #include <bits/floatn.h> > +#include <bits/wchar2-decl.h> > #include <stdbool.h> > > extern __typeof (wcscasecmp_l) __wcscasecmp_l; > diff --git a/wcsmbs/bits/wchar2-decl.h b/wcsmbs/bits/wchar2-decl.h > index 3a23069d3e..f3a2fd3c99 100644 > --- a/wcsmbs/bits/wchar2-decl.h > +++ b/wcsmbs/bits/wchar2-decl.h > @@ -27,8 +27,27 @@ > extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, > const wchar_t *__restrict __s2, size_t __n, > size_t __ns1) __THROW; > +extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias, > + (wchar_t *__restrict __s1, > + const wchar_t *__restrict __s2, size_t __n), > + wmemcpy); > +extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn, > + (wchar_t *__restrict __s1, > + const wchar_t *__restrict __s2, size_t __n, > + size_t __ns1), __wmemcpy_chk) > + __warnattr ("wmemcpy called with length bigger than size of destination " > + "buffer"); > + > extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, > size_t __n, size_t __ns1) __THROW; > +extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1, > + const wchar_t *__s2, > + size_t __n), wmemmove); > +extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn, > + (wchar_t *__s1, const wchar_t *__s2, > + size_t __n, size_t __ns1), __wmemmove_chk) > + __warnattr ("wmemmove called with length bigger than size of destination " > + "buffer"); > > > #ifdef __USE_GNU > @@ -36,39 +55,107 @@ extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, > extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, > const wchar_t *__restrict __s2, size_t __n, > size_t __ns1) __THROW; > +extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias, > + (wchar_t *__restrict __s1, > + const wchar_t *__restrict __s2, > + size_t __n), wmempcpy); > +extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn, > + (wchar_t *__restrict __s1, > + const wchar_t *__restrict __s2, size_t __n, > + size_t __ns1), __wmempcpy_chk) > + __warnattr ("wmempcpy called with length bigger than size of destination " > + "buffer"); > > #endif > > > extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, > size_t __ns) __THROW; > +extern wchar_t *__REDIRECT_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c, > + size_t __n), wmemset); > +extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn, > + (wchar_t *__s, wchar_t __c, size_t __n, > + size_t __ns), __wmemset_chk) > + __warnattr ("wmemset called with length bigger than size of destination " > + "buffer"); > + > extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, > const wchar_t *__restrict __src, > size_t __n) __THROW; > +extern wchar_t *__REDIRECT_NTH (__wcscpy_alias, > + (wchar_t *__restrict __dest, > + const wchar_t *__restrict __src), wcscpy); > + > extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, > const wchar_t *__restrict __src, > size_t __destlen) __THROW; > +extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, > + (wchar_t *__restrict __dest, > + const wchar_t *__restrict __src), wcpcpy); > + > extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, > const wchar_t *__restrict __src, size_t __n, > size_t __destlen) __THROW; > +extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias, > + (wchar_t *__restrict __dest, > + const wchar_t *__restrict __src, > + size_t __n), wcsncpy); > +extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn, > + (wchar_t *__restrict __dest, > + const wchar_t *__restrict __src, > + size_t __n, size_t __destlen), __wcsncpy_chk) > + __warnattr ("wcsncpy called with length bigger than size of destination " > + "buffer"); > + > extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, > const wchar_t *__restrict __src, size_t __n, > size_t __destlen) __THROW; > + > +extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias, > + (wchar_t *__restrict __dest, > + const wchar_t *__restrict __src, > + size_t __n), wcpncpy); > +extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn, > + (wchar_t *__restrict __dest, > + const wchar_t *__restrict __src, > + size_t __n, size_t __destlen), __wcpncpy_chk) > + __warnattr ("wcpncpy called with length bigger than size of destination " > + "buffer"); > + > extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, > const wchar_t *__restrict __src, > size_t __destlen) __THROW; > +extern wchar_t *__REDIRECT_NTH (__wcscat_alias, > + (wchar_t *__restrict __dest, > + const wchar_t *__restrict __src), wcscat); > + > extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, > const wchar_t *__restrict __src, > size_t __n, size_t __destlen) __THROW; > +extern wchar_t *__REDIRECT_NTH (__wcsncat_alias, > + (wchar_t *__restrict __dest, > + const wchar_t *__restrict __src, > + size_t __n), wcsncat); > + > extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, > int __flag, size_t __s_len, > const wchar_t *__restrict __format, ...) > __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */; > +extern int __REDIRECT_NTH_LDBL (__swprintf_alias, > + (wchar_t *__restrict __s, size_t __n, > + const wchar_t *__restrict __fmt, ...), > + swprintf); > + > extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, > int __flag, size_t __s_len, > const wchar_t *__restrict __format, > __gnuc_va_list __arg) > __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */; > +extern int __REDIRECT_NTH_LDBL (__vswprintf_alias, > + (wchar_t *__restrict __s, size_t __n, > + const wchar_t *__restrict __fmt, > + __gnuc_va_list __ap), vswprintf); > + > > #if __USE_FORTIFY_LEVEL > 1 > > @@ -86,26 +173,72 @@ extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, > > extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, > __FILE *__restrict __stream) __wur; > +extern wchar_t *__REDIRECT (__fgetws_alias, > + (wchar_t *__restrict __s, int __n, > + __FILE *__restrict __stream), fgetws) __wur; > +extern wchar_t *__REDIRECT (__fgetws_chk_warn, > + (wchar_t *__restrict __s, size_t __size, int __n, > + __FILE *__restrict __stream), __fgetws_chk) > + __wur __warnattr ("fgetws called with bigger size than length " > + "of destination buffer"); > > #ifdef __USE_GNU > > extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, > int __n, __FILE *__restrict __stream) > __wur; > +extern wchar_t *__REDIRECT (__fgetws_unlocked_alias, > + (wchar_t *__restrict __s, int __n, > + __FILE *__restrict __stream), fgetws_unlocked) > + __wur; > +extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn, > + (wchar_t *__restrict __s, size_t __size, int __n, > + __FILE *__restrict __stream), > + __fgetws_unlocked_chk) > + __wur __warnattr ("fgetws_unlocked called with bigger size than length " > + "of destination buffer"); > > #endif > > extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, > mbstate_t *__restrict __p, > size_t __buflen) __THROW __wur; > +extern size_t __REDIRECT_NTH (__wcrtomb_alias, > + (char *__restrict __s, wchar_t __wchar, > + mbstate_t *__restrict __ps), wcrtomb) __wur; > + > extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, > const char **__restrict __src, > size_t __len, mbstate_t *__restrict __ps, > size_t __dstlen) __THROW; > +extern size_t __REDIRECT_NTH (__mbsrtowcs_alias, > + (wchar_t *__restrict __dst, > + const char **__restrict __src, > + size_t __len, mbstate_t *__restrict __ps), > + mbsrtowcs); > +extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn, > + (wchar_t *__restrict __dst, > + const char **__restrict __src, > + size_t __len, mbstate_t *__restrict __ps, > + size_t __dstlen), __mbsrtowcs_chk) > + __warnattr ("mbsrtowcs called with dst buffer smaller than len " > + "* sizeof (wchar_t)"); > + > extern size_t __wcsrtombs_chk (char *__restrict __dst, > const wchar_t **__restrict __src, > size_t __len, mbstate_t *__restrict __ps, > size_t __dstlen) __THROW; > +extern size_t __REDIRECT_NTH (__wcsrtombs_alias, > + (char *__restrict __dst, > + const wchar_t **__restrict __src, > + size_t __len, mbstate_t *__restrict __ps), > + wcsrtombs); > +extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn, > + (char *__restrict __dst, > + const wchar_t **__restrict __src, > + size_t __len, mbstate_t *__restrict __ps, > + size_t __dstlen), __wcsrtombs_chk) > + __warnattr ("wcsrtombs called with dst buffer smaller than len"); > > #ifdef __USE_XOPEN2K8 > > @@ -113,12 +246,51 @@ extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, > const char **__restrict __src, size_t __nmc, > size_t __len, mbstate_t *__restrict __ps, > size_t __dstlen) __THROW; > +extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias, > + (wchar_t *__restrict __dst, > + const char **__restrict __src, size_t __nmc, > + size_t __len, mbstate_t *__restrict __ps), > + mbsnrtowcs); > +extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn, > + (wchar_t *__restrict __dst, > + const char **__restrict __src, size_t __nmc, > + size_t __len, mbstate_t *__restrict __ps, > + size_t __dstlen), __mbsnrtowcs_chk) > + __warnattr ("mbsnrtowcs called with dst buffer smaller than len " > + "* sizeof (wchar_t)"); > + > extern size_t __wcsnrtombs_chk (char *__restrict __dst, > const wchar_t **__restrict __src, > size_t __nwc, size_t __len, > mbstate_t *__restrict __ps, size_t __dstlen) > __THROW; > +extern size_t __REDIRECT_NTH (__wcsnrtombs_alias, > + (char *__restrict __dst, > + const wchar_t **__restrict __src, > + size_t __nwc, size_t __len, > + mbstate_t *__restrict __ps), wcsnrtombs); > +extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn, > + (char *__restrict __dst, > + const wchar_t **__restrict __src, > + size_t __nwc, size_t __len, > + mbstate_t *__restrict __ps, > + size_t __dstlen), __wcsnrtombs_chk) > + __warnattr ("wcsnrtombs called with dst buffer smaller than len"); > > #endif > > +#ifdef __USE_MISC > +extern size_t __wcslcpy_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, > + size_t __destlen) __THROW; > +extern size_t __REDIRECT_NTH (__wcslcpy_alias, > + (wchar_t *__dest, const wchar_t *__src, > + size_t __n), wcslcpy); > + > +extern size_t __wcslcat_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, > + size_t __destlen) __THROW; > +extern size_t __REDIRECT_NTH (__wcslcat_alias, > + (wchar_t *__dest, const wchar_t *__src, > + size_t __n), wcslcat); > +#endif /* __USE_MISC */ > + > #endif /* bits/wchar2-decl.h. */ > diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h > index 9def8e9852..6e6234d606 100644 > --- a/wcsmbs/bits/wchar2.h > +++ b/wcsmbs/bits/wchar2.h > @@ -20,18 +20,6 @@ > # error "Never include <bits/wchar2.h> directly; use <wchar.h> instead." > #endif > > - > -extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias, > - (wchar_t *__restrict __s1, > - const wchar_t *__restrict __s2, size_t __n), > - wmemcpy); > -extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn, > - (wchar_t *__restrict __s1, > - const wchar_t *__restrict __s2, size_t __n, > - size_t __ns1), __wmemcpy_chk) > - __warnattr ("wmemcpy called with length bigger than size of destination " > - "buffer"); > - > __fortify_function wchar_t * > __NTH (wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, > size_t __n)) > @@ -41,16 +29,6 @@ __NTH (wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, > __s1, __s2, __n); > } > > - > -extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1, > - const wchar_t *__s2, > - size_t __n), wmemmove); > -extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn, > - (wchar_t *__s1, const wchar_t *__s2, > - size_t __n, size_t __ns1), __wmemmove_chk) > - __warnattr ("wmemmove called with length bigger than size of destination " > - "buffer"); > - > __fortify_function wchar_t * > __NTH (wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)) > { > @@ -59,19 +37,7 @@ __NTH (wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)) > __s1, __s2, __n); > } > > - > #ifdef __USE_GNU > -extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias, > - (wchar_t *__restrict __s1, > - const wchar_t *__restrict __s2, > - size_t __n), wmempcpy); > -extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn, > - (wchar_t *__restrict __s1, > - const wchar_t *__restrict __s2, size_t __n, > - size_t __ns1), __wmempcpy_chk) > - __warnattr ("wmempcpy called with length bigger than size of destination " > - "buffer"); > - > __fortify_function wchar_t * > __NTH (wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, > size_t __n)) > @@ -82,15 +48,6 @@ __NTH (wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, > } > #endif > > - > -extern wchar_t *__REDIRECT_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c, > - size_t __n), wmemset); > -extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn, > - (wchar_t *__s, wchar_t __c, size_t __n, > - size_t __ns), __wmemset_chk) > - __warnattr ("wmemset called with length bigger than size of destination " > - "buffer"); > - > __fortify_function wchar_t * > __NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n)) > { > @@ -99,11 +56,6 @@ __NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n)) > __s, __c, __n); > } > > - > -extern wchar_t *__REDIRECT_NTH (__wcscpy_alias, > - (wchar_t *__restrict __dest, > - const wchar_t *__restrict __src), wcscpy); > - > __fortify_function wchar_t * > __NTH (wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) > { > @@ -113,11 +65,6 @@ __NTH (wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) > return __wcscpy_alias (__dest, __src); > } > > - > -extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, > - (wchar_t *__restrict __dest, > - const wchar_t *__restrict __src), wcpcpy); > - > __fortify_function wchar_t * > __NTH (wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) > { > @@ -127,18 +74,6 @@ __NTH (wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) > return __wcpcpy_alias (__dest, __src); > } > > - > -extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias, > - (wchar_t *__restrict __dest, > - const wchar_t *__restrict __src, > - size_t __n), wcsncpy); > -extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn, > - (wchar_t *__restrict __dest, > - const wchar_t *__restrict __src, > - size_t __n, size_t __destlen), __wcsncpy_chk) > - __warnattr ("wcsncpy called with length bigger than size of destination " > - "buffer"); > - > __fortify_function wchar_t * > __NTH (wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, > size_t __n)) > @@ -148,18 +83,6 @@ __NTH (wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, > __dest, __src, __n); > } > > - > -extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias, > - (wchar_t *__restrict __dest, > - const wchar_t *__restrict __src, > - size_t __n), wcpncpy); > -extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn, > - (wchar_t *__restrict __dest, > - const wchar_t *__restrict __src, > - size_t __n, size_t __destlen), __wcpncpy_chk) > - __warnattr ("wcpncpy called with length bigger than size of destination " > - "buffer"); > - > __fortify_function wchar_t * > __NTH (wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, > size_t __n)) > @@ -169,11 +92,6 @@ __NTH (wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, > __dest, __src, __n); > } > > - > -extern wchar_t *__REDIRECT_NTH (__wcscat_alias, > - (wchar_t *__restrict __dest, > - const wchar_t *__restrict __src), wcscat); > - > __fortify_function wchar_t * > __NTH (wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) > { > @@ -183,12 +101,6 @@ __NTH (wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) > return __wcscat_alias (__dest, __src); > } > > - > -extern wchar_t *__REDIRECT_NTH (__wcsncat_alias, > - (wchar_t *__restrict __dest, > - const wchar_t *__restrict __src, > - size_t __n), wcsncat); > - > __fortify_function wchar_t * > __NTH (wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, > size_t __n)) > @@ -200,12 +112,6 @@ __NTH (wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, > } > > #ifdef __USE_MISC > -extern size_t __wcslcpy_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, > - size_t __destlen) __THROW; > -extern size_t __REDIRECT_NTH (__wcslcpy_alias, > - (wchar_t *__dest, const wchar_t *__src, > - size_t __n), wcslcpy); > - > __fortify_function size_t > __NTH (wcslcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, > size_t __n)) > @@ -219,12 +125,6 @@ __NTH (wcslcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, > return __wcslcpy_alias (__dest, __src, __n); > } > > -extern size_t __wcslcat_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, > - size_t __destlen) __THROW; > -extern size_t __REDIRECT_NTH (__wcslcat_alias, > - (wchar_t *__dest, const wchar_t *__src, > - size_t __n), wcslcat); > - > __fortify_function size_t > __NTH (wcslcat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, > size_t __n)) > @@ -239,12 +139,6 @@ __NTH (wcslcat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, > } > #endif /* __USE_MISC */ > > - > -extern int __REDIRECT_NTH_LDBL (__swprintf_alias, > - (wchar_t *__restrict __s, size_t __n, > - const wchar_t *__restrict __fmt, ...), > - swprintf); > - > #ifdef __va_arg_pack > __fortify_function int > __NTH (swprintf (wchar_t *__restrict __s, size_t __n, > @@ -265,12 +159,6 @@ __NTH (swprintf (wchar_t *__restrict __s, size_t __n, > : swprintf (s, n, __VA_ARGS__)) > #endif > > - > -extern int __REDIRECT_NTH_LDBL (__vswprintf_alias, > - (wchar_t *__restrict __s, size_t __n, > - const wchar_t *__restrict __fmt, > - __gnuc_va_list __ap), vswprintf); > - > __fortify_function int > __NTH (vswprintf (wchar_t *__restrict __s, size_t __n, > const wchar_t *__restrict __fmt, __gnuc_va_list __ap)) > @@ -319,16 +207,6 @@ vfwprintf (__FILE *__restrict __stream, > } > > #endif > - > -extern wchar_t *__REDIRECT (__fgetws_alias, > - (wchar_t *__restrict __s, int __n, > - __FILE *__restrict __stream), fgetws) __wur; > -extern wchar_t *__REDIRECT (__fgetws_chk_warn, > - (wchar_t *__restrict __s, size_t __size, int __n, > - __FILE *__restrict __stream), __fgetws_chk) > - __wur __warnattr ("fgetws called with bigger size than length " > - "of destination buffer"); > - > __fortify_function __wur wchar_t * > fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) > { > @@ -341,17 +219,6 @@ fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) > } > > #ifdef __USE_GNU > -extern wchar_t *__REDIRECT (__fgetws_unlocked_alias, > - (wchar_t *__restrict __s, int __n, > - __FILE *__restrict __stream), fgetws_unlocked) > - __wur; > -extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn, > - (wchar_t *__restrict __s, size_t __size, int __n, > - __FILE *__restrict __stream), > - __fgetws_unlocked_chk) > - __wur __warnattr ("fgetws_unlocked called with bigger size than length " > - "of destination buffer"); > - > __fortify_function __wur wchar_t * > fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) > { > @@ -365,11 +232,6 @@ fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) > } > #endif > > - > -extern size_t __REDIRECT_NTH (__wcrtomb_alias, > - (char *__restrict __s, wchar_t __wchar, > - mbstate_t *__restrict __ps), wcrtomb) __wur; > - > __fortify_function __wur size_t > __NTH (wcrtomb (char *__restrict __s, wchar_t __wchar, > mbstate_t *__restrict __ps)) > @@ -387,20 +249,6 @@ __NTH (wcrtomb (char *__restrict __s, wchar_t __wchar, > return __wcrtomb_alias (__s, __wchar, __ps); > } > > - > -extern size_t __REDIRECT_NTH (__mbsrtowcs_alias, > - (wchar_t *__restrict __dst, > - const char **__restrict __src, > - size_t __len, mbstate_t *__restrict __ps), > - mbsrtowcs); > -extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn, > - (wchar_t *__restrict __dst, > - const char **__restrict __src, > - size_t __len, mbstate_t *__restrict __ps, > - size_t __dstlen), __mbsrtowcs_chk) > - __warnattr ("mbsrtowcs called with dst buffer smaller than len " > - "* sizeof (wchar_t)"); > - > __fortify_function size_t > __NTH (mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, > size_t __len, mbstate_t *__restrict __ps)) > @@ -410,19 +258,6 @@ __NTH (mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, > __dst, __src, __len, __ps); > } > > - > -extern size_t __REDIRECT_NTH (__wcsrtombs_alias, > - (char *__restrict __dst, > - const wchar_t **__restrict __src, > - size_t __len, mbstate_t *__restrict __ps), > - wcsrtombs); > -extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn, > - (char *__restrict __dst, > - const wchar_t **__restrict __src, > - size_t __len, mbstate_t *__restrict __ps, > - size_t __dstlen), __wcsrtombs_chk) > - __warnattr ("wcsrtombs called with dst buffer smaller than len"); > - > __fortify_function size_t > __NTH (wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, > size_t __len, mbstate_t *__restrict __ps)) > @@ -434,19 +269,6 @@ __NTH (wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, > > > #ifdef __USE_XOPEN2K8 > -extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias, > - (wchar_t *__restrict __dst, > - const char **__restrict __src, size_t __nmc, > - size_t __len, mbstate_t *__restrict __ps), > - mbsnrtowcs); > -extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn, > - (wchar_t *__restrict __dst, > - const char **__restrict __src, size_t __nmc, > - size_t __len, mbstate_t *__restrict __ps, > - size_t __dstlen), __mbsnrtowcs_chk) > - __warnattr ("mbsnrtowcs called with dst buffer smaller than len " > - "* sizeof (wchar_t)"); > - > __fortify_function size_t > __NTH (mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, > size_t __nmc, size_t __len, mbstate_t *__restrict __ps)) > @@ -456,20 +278,6 @@ __NTH (mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, > __dst, __src, __nmc, __len, __ps); > } > > - > -extern size_t __REDIRECT_NTH (__wcsnrtombs_alias, > - (char *__restrict __dst, > - const wchar_t **__restrict __src, > - size_t __nwc, size_t __len, > - mbstate_t *__restrict __ps), wcsnrtombs); > -extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn, > - (char *__restrict __dst, > - const wchar_t **__restrict __src, > - size_t __nwc, size_t __len, > - mbstate_t *__restrict __ps, > - size_t __dstlen), __wcsnrtombs_chk) > - __warnattr ("wcsnrtombs called with dst buffer smaller than len"); > - > __fortify_function size_t > __NTH (wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, > size_t __nwc, size_t __len, mbstate_t *__restrict __ps))
diff --git a/include/wchar.h b/include/wchar.h index ff4ae52045..7b763bc24f 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -12,6 +12,7 @@ # ifndef _ISOMAC #include <bits/floatn.h> +#include <bits/wchar2-decl.h> #include <stdbool.h> extern __typeof (wcscasecmp_l) __wcscasecmp_l; diff --git a/wcsmbs/bits/wchar2-decl.h b/wcsmbs/bits/wchar2-decl.h index 3a23069d3e..f3a2fd3c99 100644 --- a/wcsmbs/bits/wchar2-decl.h +++ b/wcsmbs/bits/wchar2-decl.h @@ -27,8 +27,27 @@ extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n), + wmemcpy); +extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1), __wmemcpy_chk) + __warnattr ("wmemcpy called with length bigger than size of destination " + "buffer"); + extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1, + const wchar_t *__s2, + size_t __n), wmemmove); +extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn, + (wchar_t *__s1, const wchar_t *__s2, + size_t __n, size_t __ns1), __wmemmove_chk) + __warnattr ("wmemmove called with length bigger than size of destination " + "buffer"); #ifdef __USE_GNU @@ -36,39 +55,107 @@ extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, + size_t __n), wmempcpy); +extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1), __wmempcpy_chk) + __warnattr ("wmempcpy called with length bigger than size of destination " + "buffer"); #endif extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c, + size_t __n), wmemset); +extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn, + (wchar_t *__s, wchar_t __c, size_t __n, + size_t __ns), __wmemset_chk) + __warnattr ("wmemset called with length bigger than size of destination " + "buffer"); + extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcscpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcscpy); + extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcpcpy); + extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcsncpy); +extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen), __wcsncpy_chk) + __warnattr ("wcsncpy called with length bigger than size of destination " + "buffer"); + extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) __THROW; + +extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcpncpy); +extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen), __wcpncpy_chk) + __warnattr ("wcpncpy called with length bigger than size of destination " + "buffer"); + extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcscat_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcscat); + extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcsncat_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcsncat); + extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, int __flag, size_t __s_len, const wchar_t *__restrict __format, ...) __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */; +extern int __REDIRECT_NTH_LDBL (__swprintf_alias, + (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, ...), + swprintf); + extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, int __flag, size_t __s_len, const wchar_t *__restrict __format, __gnuc_va_list __arg) __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */; +extern int __REDIRECT_NTH_LDBL (__vswprintf_alias, + (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, + __gnuc_va_list __ap), vswprintf); + #if __USE_FORTIFY_LEVEL > 1 @@ -86,26 +173,72 @@ extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __wur; +extern wchar_t *__REDIRECT (__fgetws_alias, + (wchar_t *__restrict __s, int __n, + __FILE *__restrict __stream), fgetws) __wur; +extern wchar_t *__REDIRECT (__fgetws_chk_warn, + (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream), __fgetws_chk) + __wur __warnattr ("fgetws called with bigger size than length " + "of destination buffer"); #ifdef __USE_GNU extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __wur; +extern wchar_t *__REDIRECT (__fgetws_unlocked_alias, + (wchar_t *__restrict __s, int __n, + __FILE *__restrict __stream), fgetws_unlocked) + __wur; +extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn, + (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream), + __fgetws_unlocked_chk) + __wur __warnattr ("fgetws_unlocked called with bigger size than length " + "of destination buffer"); #endif extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __p, size_t __buflen) __THROW __wur; +extern size_t __REDIRECT_NTH (__wcrtomb_alias, + (char *__restrict __s, wchar_t __wchar, + mbstate_t *__restrict __ps), wcrtomb) __wur; + extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__mbsrtowcs_alias, + (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps), + mbsrtowcs); +extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn, + (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __mbsrtowcs_chk) + __warnattr ("mbsrtowcs called with dst buffer smaller than len " + "* sizeof (wchar_t)"); + extern size_t __wcsrtombs_chk (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__wcsrtombs_alias, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps), + wcsrtombs); +extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __wcsrtombs_chk) + __warnattr ("wcsrtombs called with dst buffer smaller than len"); #ifdef __USE_XOPEN2K8 @@ -113,12 +246,51 @@ extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias, + (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps), + mbsnrtowcs); +extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn, + (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __mbsnrtowcs_chk) + __warnattr ("mbsnrtowcs called with dst buffer smaller than len " + "* sizeof (wchar_t)"); + extern size_t __wcsnrtombs_chk (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__wcsnrtombs_alias, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps), wcsnrtombs); +extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps, + size_t __dstlen), __wcsnrtombs_chk) + __warnattr ("wcsnrtombs called with dst buffer smaller than len"); #endif +#ifdef __USE_MISC +extern size_t __wcslcpy_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__wcslcpy_alias, + (wchar_t *__dest, const wchar_t *__src, + size_t __n), wcslcpy); + +extern size_t __wcslcat_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__wcslcat_alias, + (wchar_t *__dest, const wchar_t *__src, + size_t __n), wcslcat); +#endif /* __USE_MISC */ + #endif /* bits/wchar2-decl.h. */ diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h index 9def8e9852..6e6234d606 100644 --- a/wcsmbs/bits/wchar2.h +++ b/wcsmbs/bits/wchar2.h @@ -20,18 +20,6 @@ # error "Never include <bits/wchar2.h> directly; use <wchar.h> instead." #endif - -extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n), - wmemcpy); -extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n, - size_t __ns1), __wmemcpy_chk) - __warnattr ("wmemcpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n)) @@ -41,16 +29,6 @@ __NTH (wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, __s1, __s2, __n); } - -extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1, - const wchar_t *__s2, - size_t __n), wmemmove); -extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn, - (wchar_t *__s1, const wchar_t *__s2, - size_t __n, size_t __ns1), __wmemmove_chk) - __warnattr ("wmemmove called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)) { @@ -59,19 +37,7 @@ __NTH (wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)) __s1, __s2, __n); } - #ifdef __USE_GNU -extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, - size_t __n), wmempcpy); -extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n, - size_t __ns1), __wmempcpy_chk) - __warnattr ("wmempcpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n)) @@ -82,15 +48,6 @@ __NTH (wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, } #endif - -extern wchar_t *__REDIRECT_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c, - size_t __n), wmemset); -extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn, - (wchar_t *__s, wchar_t __c, size_t __n, - size_t __ns), __wmemset_chk) - __warnattr ("wmemset called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n)) { @@ -99,11 +56,6 @@ __NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n)) __s, __c, __n); } - -extern wchar_t *__REDIRECT_NTH (__wcscpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src), wcscpy); - __fortify_function wchar_t * __NTH (wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) { @@ -113,11 +65,6 @@ __NTH (wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) return __wcscpy_alias (__dest, __src); } - -extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src), wcpcpy); - __fortify_function wchar_t * __NTH (wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) { @@ -127,18 +74,6 @@ __NTH (wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) return __wcpcpy_alias (__dest, __src); } - -extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n), wcsncpy); -extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n, size_t __destlen), __wcsncpy_chk) - __warnattr ("wcsncpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) @@ -148,18 +83,6 @@ __NTH (wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, __dest, __src, __n); } - -extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n), wcpncpy); -extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n, size_t __destlen), __wcpncpy_chk) - __warnattr ("wcpncpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) @@ -169,11 +92,6 @@ __NTH (wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, __dest, __src, __n); } - -extern wchar_t *__REDIRECT_NTH (__wcscat_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src), wcscat); - __fortify_function wchar_t * __NTH (wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) { @@ -183,12 +101,6 @@ __NTH (wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) return __wcscat_alias (__dest, __src); } - -extern wchar_t *__REDIRECT_NTH (__wcsncat_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n), wcsncat); - __fortify_function wchar_t * __NTH (wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) @@ -200,12 +112,6 @@ __NTH (wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, } #ifdef __USE_MISC -extern size_t __wcslcpy_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, - size_t __destlen) __THROW; -extern size_t __REDIRECT_NTH (__wcslcpy_alias, - (wchar_t *__dest, const wchar_t *__src, - size_t __n), wcslcpy); - __fortify_function size_t __NTH (wcslcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) @@ -219,12 +125,6 @@ __NTH (wcslcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, return __wcslcpy_alias (__dest, __src, __n); } -extern size_t __wcslcat_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, - size_t __destlen) __THROW; -extern size_t __REDIRECT_NTH (__wcslcat_alias, - (wchar_t *__dest, const wchar_t *__src, - size_t __n), wcslcat); - __fortify_function size_t __NTH (wcslcat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) @@ -239,12 +139,6 @@ __NTH (wcslcat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, } #endif /* __USE_MISC */ - -extern int __REDIRECT_NTH_LDBL (__swprintf_alias, - (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __fmt, ...), - swprintf); - #ifdef __va_arg_pack __fortify_function int __NTH (swprintf (wchar_t *__restrict __s, size_t __n, @@ -265,12 +159,6 @@ __NTH (swprintf (wchar_t *__restrict __s, size_t __n, : swprintf (s, n, __VA_ARGS__)) #endif - -extern int __REDIRECT_NTH_LDBL (__vswprintf_alias, - (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __fmt, - __gnuc_va_list __ap), vswprintf); - __fortify_function int __NTH (vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap)) @@ -319,16 +207,6 @@ vfwprintf (__FILE *__restrict __stream, } #endif - -extern wchar_t *__REDIRECT (__fgetws_alias, - (wchar_t *__restrict __s, int __n, - __FILE *__restrict __stream), fgetws) __wur; -extern wchar_t *__REDIRECT (__fgetws_chk_warn, - (wchar_t *__restrict __s, size_t __size, int __n, - __FILE *__restrict __stream), __fgetws_chk) - __wur __warnattr ("fgetws called with bigger size than length " - "of destination buffer"); - __fortify_function __wur wchar_t * fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { @@ -341,17 +219,6 @@ fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) } #ifdef __USE_GNU -extern wchar_t *__REDIRECT (__fgetws_unlocked_alias, - (wchar_t *__restrict __s, int __n, - __FILE *__restrict __stream), fgetws_unlocked) - __wur; -extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn, - (wchar_t *__restrict __s, size_t __size, int __n, - __FILE *__restrict __stream), - __fgetws_unlocked_chk) - __wur __warnattr ("fgetws_unlocked called with bigger size than length " - "of destination buffer"); - __fortify_function __wur wchar_t * fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { @@ -365,11 +232,6 @@ fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) } #endif - -extern size_t __REDIRECT_NTH (__wcrtomb_alias, - (char *__restrict __s, wchar_t __wchar, - mbstate_t *__restrict __ps), wcrtomb) __wur; - __fortify_function __wur size_t __NTH (wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps)) @@ -387,20 +249,6 @@ __NTH (wcrtomb (char *__restrict __s, wchar_t __wchar, return __wcrtomb_alias (__s, __wchar, __ps); } - -extern size_t __REDIRECT_NTH (__mbsrtowcs_alias, - (wchar_t *__restrict __dst, - const char **__restrict __src, - size_t __len, mbstate_t *__restrict __ps), - mbsrtowcs); -extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn, - (wchar_t *__restrict __dst, - const char **__restrict __src, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen), __mbsrtowcs_chk) - __warnattr ("mbsrtowcs called with dst buffer smaller than len " - "* sizeof (wchar_t)"); - __fortify_function size_t __NTH (mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps)) @@ -410,19 +258,6 @@ __NTH (mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, __dst, __src, __len, __ps); } - -extern size_t __REDIRECT_NTH (__wcsrtombs_alias, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __len, mbstate_t *__restrict __ps), - wcsrtombs); -extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen), __wcsrtombs_chk) - __warnattr ("wcsrtombs called with dst buffer smaller than len"); - __fortify_function size_t __NTH (wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps)) @@ -434,19 +269,6 @@ __NTH (wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, #ifdef __USE_XOPEN2K8 -extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias, - (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps), - mbsnrtowcs); -extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn, - (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen), __mbsnrtowcs_chk) - __warnattr ("mbsnrtowcs called with dst buffer smaller than len " - "* sizeof (wchar_t)"); - __fortify_function size_t __NTH (mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps)) @@ -456,20 +278,6 @@ __NTH (mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, __dst, __src, __nmc, __len, __ps); } - -extern size_t __REDIRECT_NTH (__wcsnrtombs_alias, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps), wcsnrtombs); -extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps, - size_t __dstlen), __wcsnrtombs_chk) - __warnattr ("wcsnrtombs called with dst buffer smaller than len"); - __fortify_function size_t __NTH (wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps))