This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/18822] Internal functions are called via PLT


https://sourceware.org/bugzilla/show_bug.cgi?id=18822

--- Comment #22 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  4398782f195aacd0304a36f866529ece41288735 (commit)

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4398782f195aacd0304a36f866529ece41288735

commit 4398782f195aacd0304a36f866529ece41288735
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=da4b59d5091a420ead0ac6cf6c73cd69ce5b0680

commit da4b59d5091a420ead0ac6cf6c73cd69ce5b0680
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=88ffd2974854d2148ed9d3d92b4bcc0d1e1c8d35

commit 88ffd2974854d2148ed9d3d92b4bcc0d1e1c8d35
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=ef090fc82802958fab206c9a8fa16a540b4e1634

commit ef090fc82802958fab206c9a8fa16a540b4e1634
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=978e29d53d58a941e832ee28faff5f19f7d5783f

commit 978e29d53d58a941e832ee28faff5f19f7d5783f
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=385def0096ed75d5b6d63ef2aba5c34eb1b4f118

commit 385def0096ed75d5b6d63ef2aba5c34eb1b4f118
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=6e9851ed5cb545c3af2dbadf333d190d8007a747

commit 6e9851ed5cb545c3af2dbadf333d190d8007a747
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=0c55aa50284df1618e808a648553967c3efaac1e

commit 0c55aa50284df1618e808a648553967c3efaac1e
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=09275c6949b14a5378b518c303d0d12b00b31205

commit 09275c6949b14a5378b518c303d0d12b00b31205
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=37e97c282b93d07fa8de672b9dc4c0b6341aa9c6

commit 37e97c282b93d07fa8de672b9dc4c0b6341aa9c6
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=1722f37c552c5b1ab173a87c0cd32a01f1a77fdc

commit 1722f37c552c5b1ab173a87c0cd32a01f1a77fdc
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=7a7493ddfd4d32dfa85d84227cfaacc740fd8d91

commit 7a7493ddfd4d32dfa85d84227cfaacc740fd8d91
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.

        [BZ #18822]
        * grp/initgroups.c (__nss_initgroups_database): Add
        attribute_hidden.
        * nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Likewise.
        * nss/nsswitch.h (__nss_database_custom): Likewise.
        (__nss_setent): Likewise.
        (__nss_endent): Likewise.
        (__nss_getent_r): Likewise.
        (__nss_getent): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0270c670ab190a734ef3bf65d176fe0159e566ef

commit 0270c670ab190a734ef3bf65d176fe0159e566ef
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 marked with attribute_hidden.

        [BZ #18822]
        * csu/libc-start.c (__libc_multiple_libcs): Add attribute_hidden.
        * elf/dl-open.c (__libc_multiple_libcs): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=968afe0cd4229913731082c4d47ed3d0b3abb7c6

commit 968afe0cd4229913731082c4d47ed3d0b3abb7c6
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=5aa9aff033d70e55448c46441c53bb0153aa1bb6

commit 5aa9aff033d70e55448c46441c53bb0153aa1bb6
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=14646f0b76d163a43ae93657a8afcbb3e470e61c

commit 14646f0b76d163a43ae93657a8afcbb3e470e61c
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=62ed9e12cd998aded27d84b86969f151dc2c3161

commit 62ed9e12cd998aded27d84b86969f151dc2c3161
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=fc58c4b7694139737dc514fac2239f1dc1f59f7b

commit fc58c4b7694139737dc514fac2239f1dc1f59f7b
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=4966902c4aadbcfc0a77251124df4fbf51713c8f

commit 4966902c4aadbcfc0a77251124df4fbf51713c8f
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=5c06d58fc4029c40b20803c11c2db9e034ce73b8

commit 5c06d58fc4029c40b20803c11c2db9e034ce73b8
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=209257b190b0f7e5f2da962c38263b6806b229bf

commit 209257b190b0f7e5f2da962c38263b6806b229bf
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=b23c1c03b4a63d225ed3407c59da74640c3bafd5

commit b23c1c03b4a63d225ed3407c59da74640c3bafd5
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=fd64c888736d29c3f22203d7e3f3c05ad43c14ef

commit fd64c888736d29c3f22203d7e3f3c05ad43c14ef
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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]