This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug string/21982] stratcliff.c: error: assuming signed overflow does not occur with -O3
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Sun, 20 Aug 2017 18:59:56 +0000
- Subject: [Bug string/21982] stratcliff.c: error: assuming signed overflow does not occur with -O3
- Auto-submitted: auto-generated
- References: <bug-21982-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=21982
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, hjl/pr18822 has been created
at b83488990ba01beed026bbabbc78638c0a396bc8 (commit)
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b83488990ba01beed026bbabbc78638c0a396bc8
commit b83488990ba01beed026bbabbc78638c0a396bc8
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Aug 20 11:53:06 2017 -0700
Hide internal __ioctl function [BZ #18822]
Hide internal __ioctl function to allow direct access within libc.so and
libc.a without using GOT nor PLT.
__GI___ioctl is defined when sysdeps/unix/syscalls.list is used to
generate ioctl. Otherwise libc_hidden_def is needed explicitly.
[BZ #18822]
* include/sys/ioctl.h (__ioctl): Add libc_hidden_proto.
* misc/ioctl.c (__ioctl): Add libc_hidden_def.
* sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise.
* sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl): Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl):
Likewise.
* sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Likewise.
* sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S (__ioctl): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=55921f3e110a09be5dd27ed246affc6bef55cf88
commit 55921f3e110a09be5dd27ed246affc6bef55cf88
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Aug 20 11:40:26 2017 -0700
Mark internal intl functions with attribute_hidden [BZ #18822]
Mark internal intl functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* intl/gettextP.h (__dcngettext): Add attribute_hidden.
(__dcigettext): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1fa501ff0dfd0416fa89d3ce25c142fe8674fd8e
commit 1fa501ff0dfd0416fa89d3ce25c142fe8674fd8e
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Aug 20 11:25:56 2017 -0700
Hide internal sysinfo functions [BZ #18822]
Hide internal sysinfo functions to allow direct access within libc.so
and libc.a without using GOT nor PLT.
[BZ #18822]
* include/sys/sysinfo.h (__get_nprocs_conf): Add
libc_hidden_proto.
(__get_nprocs): Likewise.
(__get_phys_pages): Likewise.
(__get_avphys_pages): Likewise.
(__get_child_max): Add attribute_hidden.
* misc/getsysstats.c (__get_nprocs_conf): Add libc_hidden_def.
(__get_nprocs): Likewise.
(__get_phys_pages): Likewise.
(__get_avphys_pages): Likewise.
* sysdeps/mach/getsysstats.c (__get_nprocs_conf): Add
libc_hidden_def.
(__get_nprocs): Likewise.
(__get_phys_pages): Likewise.
(__get_avphys_pages): Likewise.
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Add
libc_hidden_def.
(__get_nprocs_conf): Likewise.
(__get_phys_pages): Likewise.
(__get_avphys_pages): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8115d0f1830b215b1ba3f9bd003e9a2e63d17f71
commit 8115d0f1830b215b1ba3f9bd003e9a2e63d17f71
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Aug 20 11:13:02 2017 -0700
Hide __chmod and __mkdir [BZ #18822]
Hide internal __chmod and __mkdir functions to allow direct access
within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/sys/stat.h (__chmod): Add libc_hidden_proto.
(__mkdir): Likewise.
* io/chmod.c (__chmod): Add libc_hidden_def.
* io/mkdir.c (__mkdir): Likewise.
* sysdeps/mach/hurd/chmod.c (__chmod): Likewise.
* sysdeps/mach/hurd/mkdir.c (__mkdir): Likewise.
* sysdeps/unix/sysv/linux/generic/chmod.c (__chmod): Likewise.
* sysdeps/unix/sysv/linux/generic/mkdir.c (__mkdir): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=17f6eeac550a41d44aaa10483f0c26c47c7daaab
commit 17f6eeac550a41d44aaa10483f0c26c47c7daaab
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Aug 20 10:38:46 2017 -0700
Mark internal netlink functions with attribute_hidden [BZ #18822]
Mark internal netlink functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_open): Add
attribute_hidden.
(__netlink_close): Likewise.
(__netlink_free_handle): Likewise.
(__netlink_request): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5249192d316d41fd741bdacb503804d804790205
commit 5249192d316d41fd741bdacb503804d804790205
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Aug 20 10:22:10 2017 -0700
Mark internal rpc functions with attribute_hidden [BZ #18822]
Mark internal rpc functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/rpc/rpc.h (__rpc_thread_variables): Add
attribute_hidden.
(__rpc_thread_svc_cleanup): Likewise.
(__rpc_thread_clnt_cleanup): Likewise.
(__rpc_thread_key_cleanup): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2a307f8d825ea908b9745ea86db82933c4f9a17e
commit 2a307f8d825ea908b9745ea86db82933c4f9a17e
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Aug 20 10:11:38 2017 -0700
string/stratcliff.c: Replace int with size_t [BZ #21982]
Fix GCC 7 errors when string/stratcliff.c is compiled with -O3:
stratcliff.c: In function ‘do_test’:
cc1: error: assuming signed overflow does not occur when assuming that (X -
c) <= X is always true [-Werror=strict-overflow]
[BZ #21982]
* string/stratcliff.c (do_test): Declare size, nchars, inner,
middle and outer with size_t instead of int. Repleace %d with
%Zd in printf.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=18cfd35e2b36ba5fb23d585290ec2ef06341e038
commit 18cfd35e2b36ba5fb23d585290ec2ef06341e038
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Aug 20 08:05:25 2017 -0700
Hide __readv and __writev [BZ #18822]
Hide internal __readv and __writev functions to allow direct access
within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/sys/uio.h (__readv): Add libc_hidden_proto.
(__writev): Likewise.
* misc/readv.c (__readv): Add libc_hidden_def.
* misc/writev.c (__writev): Likewise.
* sysdeps/posix/readv.c (__readv): Likewise.
* sysdeps/posix/writev.c (__writev): Likewise.
* sysdeps/unix/sysv/linux/readv.c: Include <sys/uio.h>.
(__readv): Likewise.
* sysdeps/unix/sysv/linux/writev.c: Include <sys/uio.h>.
(__writev): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=06d075c21ccc1c1441525c2c3973a2616a58de3d
commit 06d075c21ccc1c1441525c2c3973a2616a58de3d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Aug 20 07:28:23 2017 -0700
Hide internal regex functions [BZ #18822]
Hide internal regex functions to allow direct access within libc.so and
libc.a without using GOT nor PLT.
[BZ #18822]
* include/regex.h (__re_compile_fastmap): Add attribute_hidden.
(__regcomp): Add libc_hidden_proto.
(__regexec): Likewise.
(__regfree): Likewise.
* posix/regcomp.c (__regcomp): Add libc_hidden_def.
(__regfree): Likewise.
* posix/regexec.c (__regexec): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c4e5e65757810317fe93dcda9f026b23579348dd
commit c4e5e65757810317fe93dcda9f026b23579348dd
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Aug 19 16:47:56 2017 -0700
Mark internal stdlib functions with attribute_hidden [BZ #18822]
Mark internal stdlib functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT. __realpath
is hidden with libc_hidden_proto and libc_hidden_def since the exported
realpath is an alias of __realpath.
[BZ #18822]
* include/stdlib.h (__random): Add attribute_hidden.
(__random_r): Likewise.
(__srandom_r): Likewise.
(__initstate_r): Likewise.
(__setstate_r): Likewise.
(__erand48_r): Likewise.
(__nrand48_r): Likewise.
(__jrand48_r): Likewise.
(__srand48_r): Likewise.
(__seed48_r): Likewise.
(__lcong48_r): Likewise.
(__drand48_iterate): Likewise.
(__setenv): Likewise.
(__unsetenv): Likewise.
(__clearenv): Likewise.
(__ptsname_r): Likewise.
(__posix_openpt): Likewise.
(__add_to_environ): Likewise.
(__ecvt_r): Likewise.
(__fcvt_r): Likewise.
(__qecvt_r): Likewise.
(__qfcvt_r): Likewise.
(__realpath): Add libc_hidden_proto.
* stdlib/canonicalize.c (__realpath): Add libc_hidden_def.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=16032280842fd1903c9638dbc9eebdad38b3e12c
commit 16032280842fd1903c9638dbc9eebdad38b3e12c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Aug 19 16:29:20 2017 -0700
Mark internal utmp functions with attribute_hidden [BZ #18822]
Mark internal utmp functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/utmp.h (__updwtmp): Add attribute_hidden.
(__utmpname): Likewise.
(__getutent): Likewise.
(__setutent): Likewise.
(__endutent): Likewise.
(__getutid): Likewise.
(__getutline): Likewise.
(__pututline): Likewise.
(__getutent_r): Likewise.
(__getutid_r): Likewise.
(__getutline_r): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5d5d6d6cf9f07170508a60093f9d5af036186d3c
commit 5d5d6d6cf9f07170508a60093f9d5af036186d3c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Aug 19 16:23:58 2017 -0700
Mark internal dirent functions with attribute_hidden [BZ #18822]
Mark internal dirent functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT. __readdir64
is hidden with libc_hidden_proto and libc_hidden_def since the exported
readdir64 is an alias of __readdir64.
[BZ #18822]
* include/dirent.h (__opendir): Always add attribute_hidden.
(__fdopendir): Likewise.
(__closedir): Likewise.
(__readdir): Likewise.
(__readdir64): Add libc_hidden_proto.
* sysdeps/mach/hurd/readdir64.c (__readdir64): Add libc_hidden_def.
* sysdeps/unix/sysv/linux/i386/readdir64.c (__readdir64): Likewise.
* sysdeps/unix/sysv/linux/readdir64.c (__readdir64): Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/readdir.c (__GI___readdir64):
New alias.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4443311e25fa8f9b7ea9e1d89938adaffde749af
commit 4443311e25fa8f9b7ea9e1d89938adaffde749af
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Aug 19 15:49:08 2017 -0700
Mark internal getXXXbyYYY functions with attribute_hidden [BZ #18822]
Mark internal getXXXbyYYY functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/aliases.h (__getaliasbyname_r): Add attribute_hidden.
* include/netdb.h (__gethostbyaddr_r): Likewise.
(__gethostbyname_r): Likewise.
(__gethostbyname2_r): Likewise.
(__getnetbyaddr_r): Likewise.
(__getnetbyname_r): Likewise.
(__getservbyname_r): Likewise.
(__getservbyport_r): Likewise.
(__getprotobyname_r): Likewise.
(__getprotobynumber_r): Likewise.
(__getnetgrent_r): Likewise.
* include/rpc/netdb.h (__getrpcbyname_r): Likewise.
(__getrpcbynumber_r): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4daa71f7e1a877e2f0121cf203ec8e3ff1f0ddf4
commit 4daa71f7e1a877e2f0121cf203ec8e3ff1f0ddf4
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Aug 19 15:45:30 2017 -0700
Mark internal stdio functions with attribute_hidden [BZ #18822]
Mark internal stdio functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/stdio.h (__fcloseall): Add attribute_hidden.
(__getline): Likewise.
(__path_search): Likewise.
(__gen_tempname): Likewise.
(__libc_message): Likewise.
(__flockfile): Likewise.
(__funlockfile): Likewise.
(__fxprintf): Likewise.
(__fxprintf_nocancel): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9ac9ad43638872a6c58a06d042f341cee426ff4f
commit 9ac9ad43638872a6c58a06d042f341cee426ff4f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Aug 19 15:44:27 2017 -0700
Mark internal gshadow functions with attribute_hidden [BZ #18822]
Mark internal gshadow functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/gshadow.h (__fgetsgent_r): Add attribute_hidden.
(__sgetsgent_r): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=38d9702e43bdd7420f189ff3c508f62cccc27c98
commit 38d9702e43bdd7420f189ff3c508f62cccc27c98
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sat Aug 19 15:37:42 2017 -0700
Mark internal statfs functions with attribute_hidden [BZ #18822]
Mark internal statfs functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/sys/statfs.h (__fstatfs): Add attribute_hidden.
(__statfs64): Likewise.
(__fstatfs64): Likewise.
* include/sys/statvfs.h (__statvfs64): Likewise.
(__fstatvfs64): Likewise.
* sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max): Likewise.
(__statfs_filesize_max): Likewise.
(__statfs_symlinks): Likewise.
(__statfs_chown_restricted): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d0fbe0972f9d1622929f7529f128f1d09ac2c5c7
commit d0fbe0972f9d1622929f7529f128f1d09ac2c5c7
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 17:30:29 2017 -0700
Mark internal time functions with attribute_hidden [BZ #18822]
Mark internal time functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/time.h (__tzstring): Add attribute_hidden.
(__tzfile_read): Likewise.
(__tzfile_compute): Likewise.
(__tzfile_default): Likewise.
(__tzset_parse_tz): Likewise.
(__offtime): Likewise.
(__asctime_r): Likewise.
(__tzset): Likewise.
(__tz_convert): Likewise.
(__getdate_r): Likewise.
(__getclktck): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=bbfeded7ea249143282aa7699c6917b72f82be7b
commit bbfeded7ea249143282aa7699c6917b72f82be7b
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 17:16:26 2017 -0700
Mark internal nscd functions with attribute_hidden [BZ #18822]
Mark internal nscd functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* nscd/nscd-client.h (__nscd_get_map_ref): Add attribute_hidden.
(__nscd_unmap): Likewise.
(__nscd_cache_search): Likewise.
(__nscd_get_nl_timestamp): Likewise.
(__nscd_getpwnam_r): Likewise.
(__nscd_getpwuid_r): Likewise.
(__nscd_getgrnam_r): Likewise.
(__nscd_getgrgid_r): Likewise.
(__nscd_gethostbyname_r): Likewise.
(__nscd_gethostbyname2_r): Likewise.
(__nscd_gethostbyaddr_r): Likewise.
(__nscd_getai): Likewise.
(__nscd_getgrouplist): Likewise.
(__nscd_getservbyname_r): Likewise.
(__nscd_getservbyport_r): Likewise.
(__nscd_innetgr): Likewise.
(__nscd_setnetgrent): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=83d54443aac9cf7e2fc7d413e69752a6d6445942
commit 83d54443aac9cf7e2fc7d413e69752a6d6445942
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 17:04:20 2017 -0700
Mark internal gmp functions with attribute_hidden [BZ #18822]
Mark internal gmp functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/gmp.h: Declare internal functions only if _ISOMAC is
undefined.
(__mpn_extract_double): Add attribute_hidden.
(__mpn_extract_long_double): Likewise.
(__mpn_extract_float128): Likewise.
(__mpn_construct_float): Likewise.
(__mpn_construct_double): Likewise.
(__mpn_construct_long_double): Likewise.
(__mpn_construct_float128): Likewise.
(mpn_add_1): Likewise.
(mpn_addmul_1): Likewise.
(mpn_add_n): Likewise.
(mpn_cmp): Likewise.
(mpn_divrem): Likewise.
(mpn_lshift): Likewise.
(mpn_mul): Likewise.
(mpn_mul_1): Likewise.
(mpn_rshift): Likewise.
(mpn_sub_1): Likewise.
(mpn_submul_1): Likewise.
(mpn_sub_n): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=97f360588bb09faf3d28aeb6eb593d99567bee2d
commit 97f360588bb09faf3d28aeb6eb593d99567bee2d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 13:24:43 2017 -0700
Mark internal wchar functions with attribute_hidden [BZ #18822]
Mark internal wchar functions with attribute_hidden to allow direct
access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/wchar.h (__wcsnlen): Add attribute_hidden.
(__wcscat): Likewise.
(__btowc): Likewise.
(__wcrtomb): Likewise.
(__mbsrtowcs): Likewise.
(__wcsrtombs): Likewise.
(__mbsnrtowcs): Likewise.
(__wcsnrtombs): Likewise.
(__wcsncpy): Likewise.
(__wcpncpy): Likewise.
(__wmemcpy): Likewise.
(__wmempcpy): Likewise.
(__wmemmove): Likewise.
(__wcschrnul): Likewise.
(__vfwscanf): Likewise.
(__vswprintf): Likewise.
(__fwprintf): Likewise.
(__vfwprintf): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=23c6fe17377eed56a5d0ef42029398d36379e7be
commit 23c6fe17377eed56a5d0ef42029398d36379e7be
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 12:27:59 2017 -0700
Mark internal nss symbols with attribute_hidden [BZ #18822]
Mark internal nss symbols with attribute_hidden to allow direct access
within libc.so and libc.a without using GOT nor PLT.
Tested on x86-64 with and without --disable-nscd.
[BZ #18822]
* grp/initgroups.c (__nss_initgroups_database): Removed.
* nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise.
* nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Add
attribute_hidden.
* nss/nsswitch.c (__nss_database_custom): Define only if
USE_NSCD is defined.
(__nss_configure_lookup): Use __nss_database_custom only if
USE_NSCD is defined.
* nss/nsswitch.h (__nss_database_custom): Declare only if
USE_NSCD is defined. Add attribute_hidden.
(__nss_setent): Add attribute_hidden.
(__nss_endent): Likewise.
(__nss_getent_r): Likewise.
(__nss_getent): Likewise.
(DEFINE_DATABASE): Declare __nss_##arg##_database.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5349bdc6486edb7c597678605788273a37c6423a
commit 5349bdc6486edb7c597678605788273a37c6423a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 12:19:28 2017 -0700
Mark __libc_multiple_libcs with attribute_hidden [BZ #18822]
Since __libc_multiple_libcs is defined as hidden symbol in init-first.c,
it should be always marked with attribute_hidden.
[BZ #18822]
* csu/libc-start.c (__libc_multiple_libcs): Removed.
* elf/dl-open.c: Include <libc-internal.h>.
(__libc_multiple_libcs): Removed.
* elf/dl-sysdep.c: Include <libc-internal.h> instead of
<hp-timing.h>.
* include/libc-internal.h (__libc_multiple_libcs): New.
* misc/sbrk.c: Include <libc-internal.h>.
(__libc_multiple_libcs): Removed.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a10f5c4d4a45de888e98ace2827bc0dd3a9fa39a
commit a10f5c4d4a45de888e98ace2827bc0dd3a9fa39a
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 09:52:52 2017 -0700
Mark __dso_handle as hidden [BZ #18822]
Since __dso_handle is always defined by either crtbegin.o from GCC or
dso_handle.c, it should be marked as hidden and be passed directly.
[BZ #18822]
* dlfcn/modatexit.c (foo): Remove __dso_handle check.
* dlfcn/modcxaatexit.c (__dso_handle): Remove declaration.
* dlfcn/tstatexit.c (__dso_handle): Removed.
(main): Don't check __dso_handle.
* dlfcn/tstcxaatexit.c (__dso_handle): Removed.
(main): Don't check __dso_handle.
* include/stdlib.h (__dso_handle): New.
* malloc/mtrace.c (__dso_handle): Remove declaration.
(mtrace): Pass __dso_handle directly.
* nptl/pthread_atfork.c (__dso_handle): Remove declaration.
(__pthread_atfork): Pass __dso_handle directly.
* nptl/tst-atfork2mod.c (__dso_handle): Removed.
* posix/wordexp-test.c (__dso_handle): Remove declaration.
(__app_register_atfork): Pass __dso_handle directly.
* stdlib/at_quick_exit.c (__dso_handle): Remove declaration.
(at_quick_exit): Pass __dso_handle directly.
* stdlib/atexit.c (__dso_handle): Remove declaration.
(atexit): Pass __dso_handle directly.
* stdlib/tst-tls-atexit-lib.c (__dso_handle): Removed.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e9ba8a5feb999d39451e62a703fccea19e4b3fd5
commit e9ba8a5feb999d39451e62a703fccea19e4b3fd5
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 09:23:31 2017 -0700
x86-64: Mark internal symbols with attribute_hidden [BZ #18822]
Since __syscall_clock_gettime and __start_context are internal symbols
for Linux/x86-64, mark them with attribute_hidden.
[BZ #18822]
* sysdeps/unix/sysv/linux/x86_64/init-first.c
(__syscall_clock_gettime): Add attribute_hidden.
* sysdeps/unix/sysv/linux/x86_64/makecontext.c
(__start_context): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9fc7bd919d795803058d88b3a9c452a5ee795471
commit 9fc7bd919d795803058d88b3a9c452a5ee795471
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 09:13:03 2017 -0700
x86: Mark VDSO_SYMBOL(getcpu) with attribute_hidden [BZ #18822]
VDSO_SYMBOL(getcpu) is defined as hidden in Linux/x86_64 init-first.c
and unused for Linux/i386.
[BZ #18822]
* sysdeps/unix/sysv/linux/x86/libc-vdso.h (VDSO_SYMBOL(getcpu)):
Add attribute_hidden.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=6c7f3e3e8402b9a4e63d86ffe416e35356fb3251
commit 6c7f3e3e8402b9a4e63d86ffe416e35356fb3251
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 09:00:24 2017 -0700
Mark internal grp/pwd/shadow functions with attribute_hidden [BZ #18822]
Mark internal grp/pwd/shadow functions with attribute_hidden to allow
direct access within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/grp.h (__fgetgrent_r): Add attribute_hidden.
(__getgrgid_r): Likewise.
(__getgrnam_r): Likewise.
* include/pwd.h (__getpwuid_r): Likewise.
(__getpwnam_r): Likewise.
(__fgetpwent_r): Likewise.
* include/shadow.h (__getspnam_r): Likewise.
(__sgetspent_r): Likewise.
(__fgetspent_r): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5b8d381bfb1a57a0cdbe21e596f96be22b48fba3
commit 5b8d381bfb1a57a0cdbe21e596f96be22b48fba3
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Aug 18 05:43:12 2017 -0700
Mark internal unistd.h functions with attribute_hidden [BZ #18822]
Mark internal unistd.h functions with attribute_hidden to allow direct
access to them within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* include/unistd.h (__access): Add attribute_hidden.
(__lseek64): Likewise.
(__libc_pread64): Likewise.
(__pipe2): Likewise.
(__sleep): Likewise.
(__chdir): Likewise.
(__fchdir): Likewise.
(__getcwd): Likewise.
(__rmdir): Likewise.
(__execvpe): Likewise.
(__execve): Likewise.
(__setsid): Likewise.
(__getuid): Likewise.
(__geteuid): Likewise.
(__getgid): Likewise.
(__getegid): Likewise.
(__getgroups): Likewise.
(__group_member): Likewise.
(__ttyname_r): Likewise.
(__isatty): Likewise.
(__readlink): Likewise.
(__unlink): Likewise.
(__gethostname): Likewise.
(__profil): Likewise.
(__getdtablesize): Likewise.
(__brk): Likewise.
(__ftruncate): Likewise.
(__ftruncate64): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=159b3115b41ac9c2471f61dcc6851db1443933d9
commit 159b3115b41ac9c2471f61dcc6851db1443933d9
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Aug 17 13:17:12 2017 -0700
Mark internal argp functions with attribute_hidden [BZ #18822]
Mark internal argp functions with attribute_hidden to allow direct
access to them within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* argp/argp-fmtstream.c: Include <argp-fmtstream.h>.
* argp/argp-fs-xinl.c: Likewise.
* argp/argp-help.c: Include <argp.h> and <argp-fmtstream.h>.
* argp/argp-parse.c: Include <argp.h>.
* argp/argp-xinl.c: Likewise.
* include/argp-fmtstream.h: New file.
* include/argp.h (__argp_error): Add attribute_hidden.
(__argp_failure): Likewise.
(__argp_input): Likewise.
(__argp_state_help): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2e0b377a5aeac32b88dca6934e826f59f30ad2c5
commit 2e0b377a5aeac32b88dca6934e826f59f30ad2c5
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Aug 17 12:48:28 2017 -0700
Mark ____wcsto*_l_internal functions with attribute_hidden [BZ #18822]
Mark ____wcsto*_l_internal functions with attribute_hidden to allow
direct access to them within libc.so and libc.a without using GOT nor
PLT.
[BZ #18822]
* include/wchar.h (____wcstof_l_internal): New prototype.
(____wcstod_l_internal): Likewise.
(____wcstold_l_internal): Likewise.
(____wcstol_l_internal): Likewise.
(____wcstoul_l_internal): Likewise.
(____wcstoll_l_internal): Likewise.
(____wcstoull_l_internal): Likewise.
(____wcstof128_l_internal): Likewise.
* sysdeps/ieee754/float128/wcstof128.c
(____wcstof128_l_internal): Removed.
* sysdeps/ieee754/float128/wcstof128_l.c
(____wcstof128_l_internal): Likewise.
* wcsmbs/wcstod.c (____wcstod_l_internal): Likewise.
* wcsmbs/wcstod_l.c (____wcstod_l_internal): Likewise.
* wcsmbs/wcstof.c (____wcstof_l_internal): Likewise.
* wcsmbs/wcstof_l.c (____wcstof_l_internal): Likewise.
* wcsmbs/wcstol_l.c (____wcstol_l_internal): Likewise.
* wcsmbs/wcstold.c (____wcstold_l_internal): Likewise.
* wcsmbs/wcstold_l.c (____wcstold_l_internal): Likewise.
* wcsmbs/wcstoll_l.c (____wcstoll_l_internal): Likewise.
* wcsmbs/wcstoul_l.c (____wcstoul_l_internal): Likewise.
* wcsmbs/wcstoull_l.c (____wcstoull_l_internal): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=efbe26e56ea10c7cc57ab0fcc2cf66a7728daac7
commit efbe26e56ea10c7cc57ab0fcc2cf66a7728daac7
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Aug 17 12:35:02 2017 -0700
Mark __internal_statvfs[64] with attribute_hidden [BZ #18822]
Mark __internal_statvfs[64] with attribute_hidden to allow direct access
to them within libc.so and libc.a without using GOT nor PLT.
[BZ #18822]
* sysdeps/unix/sysv/linux/fstatvfs.c: Include "internal_statvfs.h"
instead of <sys/statvfs.h>.
(__internal_statvfs): Removed.
* sysdeps/unix/sysv/linux/fstatvfs64.c Include "internal_statvfs.h"
instead of <sys/statvfs.h>.
(__internal_statvfs64): Removed.
* sysdeps/unix/sysv/linux/internal_statvfs.c: Include
"internal_statvfs.h" instead of <sys/statvfs.h>.
* sysdeps/unix/sysv/linux/internal_statvfs.h: New file.
* sysdeps/unix/sysv/linux/statvfs.c Include "internal_statvfs.h"
instead of <sys/statvfs.h>.
(__internal_statvfs): Removed.
* sysdeps/unix/sysv/linux/statvfs64.c Include "internal_statvfs.h"
instead of <sys/statvfs.h>.
(__internal_statvfs64): Removed.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=31e6082f1d21622bd891a8f540f792d0bb423a61
commit 31e6082f1d21622bd891a8f540f792d0bb423a61
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Aug 17 12:26:17 2017 -0700
Mark 3 *_internal functions with attribute_hidden [BZ #18822]
Mark __ptsname_internal, __mktime_internal and __fopen_internal with
attribute_hidden to allow direct access to them within libc.so and
libc.a without using GOT nor PLT.
[BZ #18822]
* include/stdlib.h (__ptsname_internal): Add attribute_hidden.
* include/time.h (__mktime_internal): Likewise.
* libio/iolibio.h (__fopen_internal): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1c182c46d05a739e42e2369cc43cd1cd65246f17
commit 1c182c46d05a739e42e2369cc43cd1cd65246f17
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Aug 13 07:00:22 2017 -0700
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_symbol_value): Likewise.
(_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.
-----------------------------------------------------------------------
--
You are receiving this mail because:
You are on the CC list for the bug.