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 #60 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  6419070e434702f3357ca51ea55cc507d06bc41b (commit)

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

commit 6419070e434702f3357ca51ea55cc507d06bc41b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 31 05:56:32 2017 -0700

    Hide internal fadvise64/fallocate64 functions [BZ #18822]

    Hide internal fadvise64/fallocate64 functions to allow direct access
    within libc.so and libc.a without using GOT nor PLT.

        [BZ #18822]
        * sysdeps/unix/sysv/linux/posix_fadvise64.c
        (__posix_fadvise64_l64): Add Add libc_hidden_proto and
        libc_hidden_def.
        * sysdeps/unix/sysv/linux/posix_fallocate64.c
        (__posix_fallocate64_l64): Likewise.

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

commit aa0fb84776b554cc776e26adc30cc8c21420337d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 31 05:45:40 2017 -0700

    Hide internal __sched_setaffinity_new function [BZ #18822]

    Hide internal __sched_setaffinity_new function to allow direct access
    within libc.so and libc.a without using GOT nor PLT.

        [BZ #18822]
        * sysdeps/unix/sysv/linux/sched_setaffinity.c
        (__sched_setaffinity_new): Add libc_hidden_proto and
        libc_hidden_def.

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

commit e87dd470afbe23d6b789aeaa6c75e324bf16927d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 31 05:38:44 2017 -0700

    Hide internal __glob64 function [BZ #18822]

    Hide internal __glob64 function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/glob.h (__glob64): Add libc_hidden_proto.
        * sysdeps/unix/sysv/linux/i386/glob64.c (__glob64): Add
        libc_hidden_def.

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

commit cc041d9632aa99877ade136f9b3d3923a8ab4b34
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 31 05:09:53 2017 -0700

    Hide internal __new_getrlimit function [BZ #18822]

    Hide internal __new_getrlimit function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.

        [BZ #18822]
        * sysdeps/unix/sysv/linux/getrlimit64.c (__new_getrlimit): Add
        attribute_hidden.

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

commit f62b5d82f3f44b9b0bb103f614ff38516b920d36
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 31 05:03:51 2017 -0700

    Hide internal __new_exitfn function [BZ #18822]

    Hide internal __new_exitfn function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * stdlib/exit.h (__new_exitfn): Add attribute_hidden.

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

commit e60e5acb9ff949208efcbf0a6d7985e962574416
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Aug 31 04:58:36 2017 -0700

    Hide internal __moncontrol function [BZ #18822]

    Hide internal __moncontrol function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * mon/gmon.c (__moncontrol): Add libc_hidden_proto and
        libc_hidden_def.

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

commit f0460f3e4b602d1a10e66546997c9e28df4f1004
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 08:41:32 2017 -0700

    Hide internal __libc_print_version function [BZ #18822]

    Hide internal __libc_print_version function to allow direct access
    within libc.so and libc.a without using GOT nor PLT.

        [BZ #18822]
        * csu/version.c (__libc_print_version): Add attribute_hidden.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=19b0c436f18defaef0dac7cecee45e622033de0a

commit 19b0c436f18defaef0dac7cecee45e622033de0a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 08:40:40 2017 -0700

    Hide internal __init_misc function [BZ #18822]

    Hide internal __init_misc function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/libc-internal.h (__init_misc): Add attribute_hidden.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1e3fce1c905399467361e6c17fac29d1c3737168

commit 1e3fce1c905399467361e6c17fac29d1c3737168
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 08:39:40 2017 -0700

    Hide internal __setfpucw function [BZ #18822]

    Hide internal __setfpucw function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/fpu_control.h (__setfpucw): Add attribute_hidden.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=831552134b8bdd894162274cb0b7ee43bcaaa12f

commit 831552134b8bdd894162274cb0b7ee43bcaaa12f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 08:38:13 2017 -0700

    Hide internal __nis_hash function [BZ #18822]

    Hide internal __nis_hash function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * nscd/nscd_helper.c (__nis_hash): New prototype.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=47eef203b54ef4cb49f118960d7f947d9cfe8e18

commit 47eef203b54ef4cb49f118960d7f947d9cfe8e18
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 08:35:33 2017 -0700

    Hide internal __tcgetattr function [BZ #18822]

    Hide internal __tcgetattr function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/termios.h (__tcgetattr): Add libc_hidden_proto.
        * sysdeps/unix/bsd/tcgetattr.c (__tcgetattr): Add
        libc_hidden_def.
        * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Likewise.
        * termios/tcgetattr.c (__tcgetattr): Likewise.

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

commit fbf16ee28c42d097f48e243e5449bc54f5f9ddfd
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 06:42:46 2017 -0700

    Hide internal __setrlimit function [BZ #18822]

    Hide internal __setrlimit function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/sys/resource.h (__setrlimit): Add libc_hidden_proto.
        * resource/setrlimit.c (__setrlimit): Add libc_hidden_def.
        * sysdeps/mach/hurd/setrlimit.c (__setrlimit): Likewise.
        * sysdeps/unix/sysv/linux/setrlimit.c (__setrlimit): Likewise.
        * sysdeps/unix/sysv/linux/setrlimit64.c (__GI___setrlimit): New.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=24a1b558735e05b5ca0fe77af4afaf9874547ba5

commit 24a1b558735e05b5ca0fe77af4afaf9874547ba5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 06:41:49 2017 -0700

    Hide internal __vstrfmon_l function [BZ #18822]

    Hide internal __vstrfmon_l function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/monetary.h (__vstrfmon_l): Add attribute_hidden.

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

commit f65a9d22d0aaa4b148be4c148bf84d053180b8e3
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 06:25:16 2017 -0700

    Hide internal __sched_setparam function [BZ #18822]

    Hide internal __sched_setparam function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.

    __GI___sched_setparam is defined when sysdeps/unix/syscalls.list is
    used to generate sched_setparam.  Otherwise libc_hidden_def is needed
    explicitly.

        [BZ #18822]
        * include/sched.h (__sched_setparam): Add libc_hidden_proto.
        * posix/sched_setp.c (__sched_setparam): Add libc_hidden_def.

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

commit a6315be2553634ab02308e0579cc09d992f4aa0f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 05:51:51 2017 -0700

    Hide internal __hash_string function [BZ #18822]

    Hide internal __hash_string function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.

        [BZ #18822]
        * intl/hash-string.h (__hash_string): Add attribute_hidden.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4a8abe62a038550f303203bb55574856d9596a79

commit 4a8abe62a038550f303203bb55574856d9596a79
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 05:50:09 2017 -0700

    Hide internal __hasmntopt function [BZ #18822]

    Hide internal __hasmntopt function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/mntent.h (__hasmntopt): Add libc_hidden_proto.
        * misc/mntent_r.c (__hasmntopt): Add libc_hidden_def.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=004f6ed97081a1d4aa41c486d1319ba9548a95d3

commit 004f6ed97081a1d4aa41c486d1319ba9548a95d3
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 05:43:49 2017 -0700

    Hide internal __ifreq function [BZ #18822]

    Hide internal __ifreq function to allow direct access within libc.so and
    libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/ifreq.h: New file.
        * sysdeps/generic/ifreq.h (__if_nextreq): Removed.
        (__ifreq): Likewise.
        * sysdeps/mach/hurd/ifreq.h (__if_nextreq): Removed.
        (__ifreq): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0d96e5087e130a7453bc2b04801882acbe85f1a8

commit 0d96e5087e130a7453bc2b04801882acbe85f1a8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 22 04:50:04 2017 -0700

    Hide internal idna functions [BZ #18822]

    Hide internal idna functions to allow direct access within libc.so and
    libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/idna.h: New file.
        * inet/getnameinfo.c: Include <idna.h> instead of
        <libidn/idna.h>.
        (__idna_to_unicode_lzlz): Removed.
        * sysdeps/posix/getaddrinfo.c: Include <idna.h> instead of
        <libidn/idna.h>.
        (__idna_to_ascii_lz): Removed.
        (__idna_to_unicode_lzlz): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=817e16abedd910b6d9ab3c2a321af3b56d00122b

commit 817e16abedd910b6d9ab3c2a321af3b56d00122b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 10:39:50 2017 -0700

    Hide internal __gettextparse function [BZ #18822]

    Hide internal __gettextparse function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/plural-exp.h: New file.
        * intl/plural-exp.c: Include <plural-exp.h> instead of
        "plural-exp.h".

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=31835ed347417d22cbdbce4b805f5b5b0e1098ae

commit 31835ed347417d22cbdbce4b805f5b5b0e1098ae
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 10:20:45 2017 -0700

    Hide internal __get_sol function [BZ #18822]

    Hide internal __get_sol function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * sysdeps/unix/sysv/linux/getsourcefilter.c: Include
        "getsourcefilter.h".
        * sysdeps/unix/sysv/linux/getsourcefilter.h: New file.
        * sysdeps/unix/sysv/linux/setsourcefilter.c: Include
        "getsourcefilter.h".
        (__get_sol): Removed.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=961096127cffedc72cc0048642531c9bec21d678

commit 961096127cffedc72cc0048642531c9bec21d678
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 10:11:21 2017 -0700

    Move hidden_proto (__dl_iterate_phdr) to include/link.h [BZ #18822]

        [BZ #18822]
        * elf/dl-iteratephdr.c (hidden_proto (__dl_iterate_phdr)): Moved
        to ...
        * include/link.h (hidden_proto (__dl_iterate_phdr)): Here.

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

commit fddb0ecb456c0767176bcaf7dd0064f528373d9f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 10:07:55 2017 -0700

    Hide internal __bsd_getpt function [BZ #18822]

    Hide internal __bsd_getpt function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.

        [BZ #18822]
        * sysdeps/unix/sysv/linux/getpt.c (__bsd_getpt): Add
        attribute_hidden.

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

commit b7c795cb7318e514d847a19e84267a263ccda7ac
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 09:20:06 2017 -0700

    Hide internal __fopen_maybe_mmap function [BZ #18822]

    Hide internal __fopen_maybe_mmap function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.

        [BZ #18822]
        * libio/iolibio.h (__fopen_maybe_mmap): Add attribute_hidden.

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

commit adc6415379bcaa8b1ac41691ed1be2b6d85430fa
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 09:18:36 2017 -0700

    Hide internal __tdestroy function [BZ #18822]

    Hide internal __tdestroy function to allow direct access within libc.so
    and libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/search.h (__tdestroy): Add libc_hidden_proto.
        * misc/tsearch.c (__tdestroy): Add libc_hidden_def.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=214e9ede5d6f601dcd9fdfbf3e30c8a396592405

commit 214e9ede5d6f601dcd9fdfbf3e30c8a396592405
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 09:17:07 2017 -0700

    Hide internal __assert_fail_base function [BZ #18822]

    Hide internal __assert_fail_base function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/assert.h (__assert_fail_base): Add attribute_hidden.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4ccf00ad2b0d74bcfaee1564369bd1f08b404e83

commit 4ccf00ad2b0d74bcfaee1564369bd1f08b404e83
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 09:15:33 2017 -0700

    Hide internal __sysinfo function [BZ #18822]

    Hide internal __sysinfo function to allow direct access within libc.so and
    libc.a without using GOT nor PLT.

        [BZ #18822]
        * sysdeps/unix/sysv/linux/include/sys/sysinfo.h (__sysinfo): Add
        attribute_hidden.

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

commit aaf4931e8691479383ea612cd9e0e641b4446f51
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 08:17:57 2017 -0700

    Hide internal signal functions [BZ #18822]

    Hide internal signal functions to allow direct access within libc.so and
    libc.a without using GOT nor PLT.

    __GI___kill and __GI___sigaltstack are defined when syscalls.list is
    used to generate them.  Otherwise libc_hidden_def is needed explicitly.

        [BZ #18822]
        * include/signal.h (__kill): Add libc_hidden_proto.
        (__sigblock): Likewise.
        (__sigprocmask): Likewise.
        (__sigaltstack): Likewise.
        * signal/kill.c (__kill): Add libc_hidden_def.
        * signal/sigblock.c (__sigblock): Likewise.
        * signal/sigprocmask.c (__sigprocmask): Likewise.
        * sysdeps/mach/hurd/kill.c (__kill): Likewise.
        * sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise.
        * sysdeps/mach/hurd/sigprocmask.c (__sigprocmask): Likewise.
        * sysdeps/posix/sigblock.c (__sigblock): Likewise.
        * sysdeps/unix/sysv/linux/alpha/sigprocmask.c (__sigprocmask):
        Likewise.
        * sysdeps/unix/sysv/linux/ia64/sigprocmask.c (__sigprocmask):
        Likewise.
        * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c
        (__sigprocmask): Likewise.
        * sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask):
        Likewise.
        * /sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
        (__sigprocmask): Likewise.
        * sysdeps/unix/sysv/linux/x86_64/sigprocmask.c (__sigprocmask):
        Likewise.

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

commit ad45315a69cb2eab74c47474aee5177f0d1e9bf0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 08:07:16 2017 -0700

    Hide internal __strsep function [BZ #18822]

    Hide internal __strsep function to allow direct access within libc.so and
    libc.a without using GOT nor PLT.

        [BZ #18822]
        * include/string.h (__strsep): Add libc_hidden_proto.
        * string/strsep.c (__strsep): Add libc_hidden_def.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=83d939e76f04447d8791948770e6d256b9c6afec

commit 83d939e76f04447d8791948770e6d256b9c6afec
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 06:24:41 2017 -0700

    Hide __posix_spawn_file_actions_realloc/__spawni [BZ #18822]

    Hide internal __posix_spawn_file_actions_realloc and /__spawni functions
    to allow direct access within libc.so and libc.a without using GOT nor
    PLT.

        [BZ #18822]
        * posix/spawn_int.h (__posix_spawn_file_actions_realloc): Add
        attribute_hidden.
        (__spawni): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0a2d0508a2a086240e472880688bc322daef7587

commit 0a2d0508a2a086240e472880688bc322daef7587
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 06:10:22 2017 -0700

    Hide internal __mremap function [BZ #18822]

    Hide internal __mremap function to allow direct access within libc.so and
    libc.a without using GOT nor PLT.

    __GI___mremap is defined when sysdeps/unix/syscalls.list is used to
    generate mremap.  Otherwise libc_hidden_def is needed explicitly.

        [BZ #18822]
        * include/sys/mman.h (__mremap): Add libc_hidden_proto.
        * sysdeps/unix/sysv/linux/m68k/mremap.S (__mremap): Add
        libc_hidden_def.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=581027b33e256f9768d6413840bb84282f177748

commit 581027b33e256f9768d6413840bb84282f177748
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 21 06:07:11 2017 -0700

    Hide internal __malloc_check_init function [BZ #18822]

    Hide internal __malloc_check_init function to allow direct access within
    libc.so and libc.a without using GOT nor PLT.

        * include/malloc.h (__malloc_check_init): Add attribute_hidden.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=452f2a49e9c46ae9134cddbccf553790ef844d14

commit 452f2a49e9c46ae9134cddbccf553790ef844d14
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=03b8f22501d0ad096b524758ff943fb12a75089b

commit 03b8f22501d0ad096b524758ff943fb12a75089b
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=03e4b169650da12c4d0e3764defc294e07d6894f

commit 03e4b169650da12c4d0e3764defc294e07d6894f
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=5b07796f982f37e32b3a325fed03071547b3107d

commit 5b07796f982f37e32b3a325fed03071547b3107d
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=8a296b55af3ec8de6316ddf620359b28795e7c0c

commit 8a296b55af3ec8de6316ddf620359b28795e7c0c
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=199cbdd53dd1169e04a9f560684f8eb007b7ee02

commit 199cbdd53dd1169e04a9f560684f8eb007b7ee02
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=d9c5ebfb3375a8c801affacbc39f17143851b6e3

commit d9c5ebfb3375a8c801affacbc39f17143851b6e3
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=41c1e4e953f5a3c4c00fde6183e38b7f028e78c0

commit 41c1e4e953f5a3c4c00fde6183e38b7f028e78c0
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=58fd05ed12440a0be89d7ec5673f858693124e20

commit 58fd05ed12440a0be89d7ec5673f858693124e20
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.
        (__realpath): Add libc_hidden_proto.
        (__ecvt_r): Likewise.
        (__fcvt_r): Likewise.
        (__qecvt_r): Likewise.
        (__qfcvt_r): Likewise.
        * misc/efgcvt_r.c (cvt_symbol_1): Add libc_hidden_def (local).
        * stdlib/canonicalize.c (__realpath): Add libc_hidden_def.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=243bb31de12f275830289e45107063f0a251279e

commit 243bb31de12f275830289e45107063f0a251279e
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 libc_hidden_proto.
        (__getutent): Likewise.
        (__getutid): Likewise.
        (__getutline): Likewise.
        (__pututline): Likewise.
        (__getutent_r): Likewise.
        (__getutid_r): Likewise.
        (__getutline_r): Likewise.
        (__utmpname): Add attribute_hidden.
        (__setutent): Likewise.
        (__endutent): Likewise.
        * login/getutent.c (__getutent): Add libc_hidden_def.
        * login/getutent_r.c (__getutent_r): Likewise.
        (__pututline): Likewise.
        * login/getutid.c (__getutid): Likewise.
        * login/getutid_r.c (__getutid_r): Likewise.
        * login/getutline.c (__getutline): Likewise.
        * login/getutline_r.c (__getutline_r): Likewise.
        * login/updwtmp.c (__updwtmp): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4b3aefef98cbb5f4c6095bf0802d852f6b2ac3a3

commit 4b3aefef98cbb5f4c6095bf0802d852f6b2ac3a3
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=4926348b77898b43a73d74a78e2764410450ed4b

commit 4926348b77898b43a73d74a78e2764410450ed4b
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.
        * nss/getXXbyYY.c (INTERNAL (REENTRANT_NAME)): Likewise.

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7209dfcbf9a5d5f5c8a93f7e551d8d08177cd282

commit 7209dfcbf9a5d5f5c8a93f7e551d8d08177cd282
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=fef1f872aec65e52b9cb3fc4a042f320c560d2a1

commit fef1f872aec65e52b9cb3fc4a042f320c560d2a1
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=a2a45ead9bf60b4e282bc782e58fa730baca6c8a

commit a2a45ead9bf60b4e282bc782e58fa730baca6c8a
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=05f7cf6f29093973d562d3867db8ee9f771c6f63

commit 05f7cf6f29093973d562d3867db8ee9f771c6f63
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=7948081eefd80a2a3c0af973ea7aea8d5249eea5

commit 7948081eefd80a2a3c0af973ea7aea8d5249eea5
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=176eafcebc5a489fec1b6f9d0d68b268ea1a0903

commit 176eafcebc5a489fec1b6f9d0d68b268ea1a0903
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=00e3969d1dc284da88231fbda716b0d1ae41d22f

commit 00e3969d1dc284da88231fbda716b0d1ae41d22f
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=9c2f45529f0fa110baeaa6fa665b7f7d749d1301

commit 9c2f45529f0fa110baeaa6fa665b7f7d749d1301
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=1b6be1decd9c4308acc9989667e20ef8992a6661

commit 1b6be1decd9c4308acc9989667e20ef8992a6661
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=5bee622bb2c8db98a19a18779d50f28316d587f8

commit 5bee622bb2c8db98a19a18779d50f28316d587f8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Aug 18 05:43:12 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=a022378dd8278a8f8f9dc92419b7952dc62c6a30

commit a022378dd8278a8f8f9dc92419b7952dc62c6a30
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=4d5818c4ecf8361d4f4bfb7e27a2371a32b42d24

commit 4d5818c4ecf8361d4f4bfb7e27a2371a32b42d24
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=f2c7ad9fb8a8dc46c69578378d9ac103a765edad

commit f2c7ad9fb8a8dc46c69578378d9ac103a765edad
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=4e527ce4aee604b2d4577c117472104200d68d43

commit 4e527ce4aee604b2d4577c117472104200d68d43
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=f7f8f338fab4624ec58b55b9822c1fd53573ca16

commit f7f8f338fab4624ec58b55b9822c1fd53573ca16
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_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]