This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/18822] Internal functions are called via PLT
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Sun, 01 Oct 2017 22:48:32 +0000
- Subject: [Bug libc/18822] Internal functions are called via PLT
- Auto-submitted: auto-generated
- References: <bug-18822-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=18822
--- Comment #70 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, master has been updated
via 9635ce69626bfe41196bdef8efe4aba8d8a7b58f (commit)
via 2e0a69097d38382fc26cce2a482e9ef2ddda52cf (commit)
via 94fd682c9b7c0b1ed95234a491f86b8d529e15c2 (commit)
via e1b33bba7c30b36be33fa8bb1e6cffbb65b97730 (commit)
via b0f5678494d727b6868435dfc32b066ade6d3e49 (commit)
via a4338d994fe4b1802db040140153b4b6bc36c817 (commit)
via a2ca165230cfa951605e5904be838c3e3e04be0b (commit)
via 44af8a32c341672b5160fdc2839767e9a837ad26 (commit)
via 783cd767af5f3746b639f76b1de5e0e3c3d64683 (commit)
via 7ec4b39ac484ba65e011dde4e8ff0b7f478efc7c (commit)
via 8345a76018851ba52e05216e3d7c772e24d5da44 (commit)
via c26dd7c600a2192d031efa2a0fb28b1ded85bf1d (commit)
via 3aff56444e96300fba1e2c25bd0b2545613a20fa (commit)
via 8bcdb7e0c5346d2e9d61b208d80fd8213e1dbd90 (commit)
from 8ed3b64330cd24e2a17d8794a871cab034707a33 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9635ce69626bfe41196bdef8efe4aba8d8a7b58f
commit 9635ce69626bfe41196bdef8efe4aba8d8a7b58f
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:20:47 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.
* nss/getXXbyYY.c (INTERNAL (REENTRANT_NAME)): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2e0a69097d38382fc26cce2a482e9ef2ddda52cf
commit 2e0a69097d38382fc26cce2a482e9ef2ddda52cf
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:19:51 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=94fd682c9b7c0b1ed95234a491f86b8d529e15c2
commit 94fd682c9b7c0b1ed95234a491f86b8d529e15c2
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:19:01 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=e1b33bba7c30b36be33fa8bb1e6cffbb65b97730
commit e1b33bba7c30b36be33fa8bb1e6cffbb65b97730
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:18:09 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=b0f5678494d727b6868435dfc32b066ade6d3e49
commit b0f5678494d727b6868435dfc32b066ade6d3e49
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:17:19 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=a4338d994fe4b1802db040140153b4b6bc36c817
commit a4338d994fe4b1802db040140153b4b6bc36c817
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:16:13 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=a2ca165230cfa951605e5904be838c3e3e04be0b
commit a2ca165230cfa951605e5904be838c3e3e04be0b
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:15:15 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=44af8a32c341672b5160fdc2839767e9a837ad26
commit 44af8a32c341672b5160fdc2839767e9a837ad26
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:14:17 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=783cd767af5f3746b639f76b1de5e0e3c3d64683
commit 783cd767af5f3746b639f76b1de5e0e3c3d64683
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:12:57 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=7ec4b39ac484ba65e011dde4e8ff0b7f478efc7c
commit 7ec4b39ac484ba65e011dde4e8ff0b7f478efc7c
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:11:40 2017 -0700
Mark internal unistd functions with attribute_hidden [BZ #18822]
Mark internal unistd 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=8345a76018851ba52e05216e3d7c772e24d5da44
commit 8345a76018851ba52e05216e3d7c772e24d5da44
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:10: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=c26dd7c600a2192d031efa2a0fb28b1ded85bf1d
commit c26dd7c600a2192d031efa2a0fb28b1ded85bf1d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:09:11 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=3aff56444e96300fba1e2c25bd0b2545613a20fa
commit 3aff56444e96300fba1e2c25bd0b2545613a20fa
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:08:14 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=8bcdb7e0c5346d2e9d61b208d80fd8213e1dbd90
commit 8bcdb7e0c5346d2e9d61b208d80fd8213e1dbd90
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Sun Oct 1 15:07:06 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_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.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 280 ++++++++++++++++++++
argp/argp-fmtstream.c | 2 +-
argp/argp-fs-xinl.c | 2 +-
argp/argp-help.c | 4 +-
argp/argp-parse.c | 2 +-
argp/argp-xinl.c | 2 +-
iconv/gconv_int.h | 43 ++-
include/aliases.h | 3 +-
include/argp-fmtstream.h | 19 ++
include/argp.h | 10 +
include/dlfcn.h | 3 +-
include/gmp.h | 33 ++-
include/grp.h | 6 +-
include/gshadow.h | 6 +-
include/netdb.h | 30 ++-
include/pwd.h | 6 +-
include/rpc/netdb.h | 4 +-
include/shadow.h | 7 +-
include/stdio.h | 20 +-
include/sys/statfs.h | 9 +-
include/sys/statvfs.h | 6 +-
include/time.h | 30 ++-
include/unistd.h | 60 +++--
include/wchar.h | 61 ++++-
intl/gettextP.h | 12 +-
intl/plural-exp.h | 5 +-
locale/coll-lookup.h | 6 +-
nscd/nscd-client.h | 12 +-
nscd/nscd_proto.h | 34 ++-
nss/getXXbyYY.c | 3 +-
resolv/gai_misc.h | 15 +-
stdlib/gmp-impl.h | 12 +-
sysdeps/generic/aio_misc.h | 3 +-
sysdeps/generic/ldsodefs.h | 8 +-
sysdeps/i386/machine-gmon.h | 2 +-
sysdeps/ieee754/float128/wcstof128.c | 3 -
sysdeps/ieee754/float128/wcstof128_l.c | 3 -
sysdeps/unix/sysv/linux/fstatvfs.c | 6 +-
sysdeps/unix/sysv/linux/fstatvfs64.c | 7 +-
sysdeps/unix/sysv/linux/internal_statvfs.c | 2 +-
.../unix/sysv/linux/internal_statvfs.h | 19 +-
sysdeps/unix/sysv/linux/olddirent.h | 3 +-
sysdeps/unix/sysv/linux/pathconf.h | 12 +-
sysdeps/unix/sysv/linux/statvfs.c | 6 +-
sysdeps/unix/sysv/linux/statvfs64.c | 7 +-
wcsmbs/wcsmbsload.h | 9 +-
wcsmbs/wcstod.c | 3 -
wcsmbs/wcstod_l.c | 3 -
wcsmbs/wcstof.c | 3 -
wcsmbs/wcstof_l.c | 3 -
wcsmbs/wcstol_l.c | 3 -
wcsmbs/wcstold.c | 3 -
wcsmbs/wcstold_l.c | 3 -
wcsmbs/wcstoll_l.c | 3 -
wcsmbs/wcstoul_l.c | 3 -
wcsmbs/wcstoull_l.c | 4 -
56 files changed, 626 insertions(+), 242 deletions(-)
create mode 100644 include/argp-fmtstream.h
copy bits/stdint-intn.h => sysdeps/unix/sysv/linux/internal_statvfs.h (69%)
--
You are receiving this mail because:
You are on the CC list for the bug.