glibc/wcsmbs
H.J. Lu 8bcdb7e0c5 Mark internal functions with attribute_hidden [BZ #18822]
Mark internal functions with attribute_hidden to allow direct access to
internal functions within libc.so and libc.a without using GOT nor PLT.

Size comparison of libc.so:

On x86-64:
        text	   data	    bss	    dec	    hex
Before: 1728577	  20584	  17088	1766249	 1af369
After : 1728593	  20584	  17088	1766265	 1af379

The only change is __gconv_release_shlib in iconv/gconv_dl.c is inlined
since it is hidden, which increases the code size of gconv_dl.os by 18
bytes.

On i686:
        text	   data	    bss	    dec	    hex
Before: 1869039	  11444	  11112	1891595	 1cdd0b
After : 1868635	  11444	  11112	1891191	 1cdb77

The code size is decreased by avoiding GOT/PLT for hidden functions.

	[BZ #18822]
	* iconv/gconv_int.h (__gconv_open): Add attribute_hidden.
	(__gconv_close): Likewise.
	(__gconv): Likewise.
	(__gconv_find_transform): Likewise.
	(__gconv_lookup_cache): Likewise.
	(__gconv_compare_alias_cache): Likewise.
	(__gconv_load_cache): Likewise.
	(__gconv_get_path): Likewise.
	(__gconv_close_transform): Likewise.
	(__gconv_release_cache): Likewise.
	(__gconv_find_shlib): Likewise.
	(__gconv_release_shlib): Likewise.
	(__gconv_get_builtin_trans): Likewise.
	(__gconv_compare_alias): Likewise.
	* include/dlfcn.h (_dlerror_run): Likewise.
	* include/stdio.h (__fortify_fail_abort): Likewise.
	* include/time.h (__tz_compute): Likewise.
	(__strptime_internal): Likewise.
	* intl/gettextP.h (_nl_find_domain): Likewise.
	(_nl_load_domain): Likewise.
	(_nl_find_msg): Likewise.
	* intl/plural-exp.h (FREE_EXPRESSION): Likewise.
	(EXTRACT_PLURAL_EXPRESSION): Likewise.
	* locale/coll-lookup.h (__collidx_table_lookup): Likewise.
	* resolv/gai_misc.h (__gai_enqueue_request): Likewise.
	(__gai_find_request): Likewise.
	(__gai_remove_request): Likewise.
	(__gai_notify): Likewise.
	(__gai_notify_only): Likewise.
	* sysdeps/generic/aio_misc.h (__aio_sigqueue): Likewise.
	* sysdeps/generic/ldsodefs.h (_dl_fini): Likewise.
	(_dl_non_dynamic_init): Likewise.
	(_dl_aux_init): Likewise.
	* sysdeps/i386/machine-gmon.h (mcount_internal): Likewise.
	* sysdeps/unix/sysv/linux/i386/olddirent.h (__old_getdents64):
	Likewise.
	* wcsmbs/wcsmbsload.h (__wcsmbs_load_conv): Likewise.
	(__wcsmbs_clone_conv): Likewise.
	(__wcsmbs_named_conv): Likewise.
2017-10-01 15:07:23 -07:00
..
bits Remove __need macros from stdio.h and wchar.h. 2017-06-08 13:58:17 -04:00
btowc.c gconv: Consistently mangle NULL function pointers [BZ #22025] 2017-08-29 15:53:28 +02:00
c16rtomb.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Depend
isoc99_fwscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_swscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_vfwscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_vswscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_vwscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_wscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makefile float128: Add strtof128, wcstof128, and related functions. 2017-06-12 14:48:53 -03:00
mbrlen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mbrtoc16.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mbrtowc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mbsinit.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mbsnrtowcs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mbsrtowcs_l.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
mbsrtowcs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wcpcpy.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wcpncpy.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wcscat.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wcschr.c
test-wcschrnul.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wcscmp.c
test-wcscpy.c
test-wcscspn.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wcslen.c
test-wcsncat.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wcsncmp.c
test-wcsncpy.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wcsnlen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wcspbrk.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wcsrchr.c
test-wcsspn.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wmemchr.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-wmemcmp.c
test-wmemset.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-btowc.c Update wcsmbs tests to use the support test driver 2017-04-04 18:05:20 -03:00
tst-c16c32-1.c
tst-mbrtowc2.c Update wcsmbs tests to use the support test driver 2017-04-04 18:05:20 -03:00
tst-mbrtowc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-mbsrtowcs.c Update wcsmbs tests to use the support test driver 2017-04-04 18:05:20 -03:00
tst-wchar-h.c Update wcsmbs tests to use the support test driver 2017-04-04 18:05:20 -03:00
tst-wcpncpy.c Update wcsmbs tests to use the support test driver 2017-04-04 18:05:20 -03:00
tst-wcrtomb.c Update wcsmbs tests to use the support test driver 2017-04-04 18:05:20 -03:00
tst-wcsnlen.c Update wcsmbs tests to use the support test driver 2017-04-04 18:05:20 -03:00
tst-wcstod-nan-locale.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-wcstod-round.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-wcstof.c Update wcsmbs tests to use the support test driver 2017-04-04 18:05:20 -03:00
tst-wcstol-locale.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
uchar.h Remove __need macros from stdio.h and wchar.h. 2017-06-08 13:58:17 -04:00
Versions Do not use wildcard symbol names for public versions in Versions files. 2017-04-20 20:35:21 +00:00
wchar.h Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcpcpy.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcpncpy.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcrtomb.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsatcliff.c
wcscasecmp_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcscasecmp.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcscat.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcschr.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcschrnul.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcscmp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcscoll_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcscoll.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcscpy.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcscspn.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsdup.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcslen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsmbs-tst1.c
wcsmbsload.c iconv, intl, locale, wcsmbs: Remove internal_function 2017-08-31 15:59:06 +02:00
wcsmbsload.h Mark internal functions with attribute_hidden [BZ #18822] 2017-10-01 15:07:23 -07:00
wcsncase_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsncase.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcsncat.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsncmp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsncpy.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsnlen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsnrtombs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcspbrk.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsrchr.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsrtombs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsspn.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsstr.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcstod_l.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcstod_nan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcstod.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcstof_l.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcstof_nan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcstof.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcstok.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcstol_l.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcstol.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcstold_l.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcstold_nan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcstold.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcstoll_l.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcstoll.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcstoul_l.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcstoul.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcstoull_l.c Use locale_t, not __locale_t, throughout glibc 2017-06-20 20:30:06 -04:00
wcstoull.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcswidth.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsxfrm_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcsxfrm.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wctob.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcwidth.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcwidth.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wmemchr.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wmemcmp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wmemcpy.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wmemmove.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wmempcpy.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wmemset.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00