The following internal functions are called via PLT on x86: __access __add_to_environ __alloc_dir __argp_error __argp_failure __argp_fmtstream_ensur __argp_fmtstream_free __argp_fmtstream_print __argp_fmtstream_updat __argp_fmtstream_write __argp_input __argp_make_fmtstream __argp_state_help __argz_add __argz_add_sep __argz_append __argz_create_sep __asctime_r __assert_fail_base __brk __bsd_getpt __btowc __chdir __chmod __clearenv __closedir __collidx_table_lookup __collseq_table_lookup __dcigettext __dcngettext __divdi3_internal __drand48_iterate __dup __ecvt_r __endutent __erand48_r __execve __execvpe __fchdir __fcloseall __fcvt_r __fdopendir __fgetgrent_r __fgetpwent_r __fgetsgent_r __fgetspent_r __flockfile __fopen_internal __fopen_maybe_mmap __fstatfs __fstatfs64 __fstatvfs64 __ftruncate __ftruncate64 __funlockfile __fwprintf __fxprintf __gconv __gconv_close __gconv_close_transfor __gconv_compare_alias __gconv_compare_alias_ __gconv_find_shlib __gconv_find_transform __gconv_get_builtin_tr __gconv_get_path __gconv_load_cache __gconv_lookup_cache __gconv_open __gconv_release_cache __gconv_release_shlib __gconv_release_step __gen_tempname __getaliasbyname_r __get_avphys_pages __get_child_max __getclktck __getcwd __getdate_r __getdents __getdents64 __getdtablesize __getegid __geteuid __getgid __getgrgid_r __getgrnam_r __getgroups __gethostbyaddr_r __gethostbyname2_r __gethostbyname_r __gethostname __getline __getnetbyaddr_r __getnetbyname_r __getnetgrent_r __get_nprocs __get_nprocs_conf __get_phys_pages __getprotobyname_r __getprotobynumber_r __getpwnam_r __getpwuid_r __getrpcbyname_r __getrpcbynumber_r __getservbyname_r __getservbyport_r __getsgnam_r __get_sol __getspnam_r __gettext_extract_plur __gettext_free_exp __gettextparse __getuid __getutent __getutent_r __getutid __getutid_r __getutline __getutline_r __glob64 __group_member __guess_grouping __hash_string __hasmntopt __idna_to_ascii_lz __idna_to_unicode_lzlz __ifreq __init_misc __initstate_r __internal_statvfs __internal_statvfs64 __ioctl __isatty __jrand48_r __kill __lcong48_r __libc_message __libc_pread64 __libc_print_version __longjmp ____longjmp_chk __lseek64 __malloc_check_init __mbsnrtowcs __mbsrtowcs __memcpy_g_internal __memrchr __mkdir __mktime_internal __mmap __mmap64 __moddi3_internal __moncontrol __mpn_add_1 __mpn_addmul_1 __mpn_add_n __mpn_cmp __mpn_construct_double __mpn_construct_float __mpn_construct_long_d __mpn_divrem __mpn_extract_double __mpn_extract_long_dou __mpn_impn_mul_n __mpn_impn_mul_n_basec __mpn_impn_sqr_n __mpn_impn_sqr_n_basec __mpn_lshift __mpn_mul __mpn_mul_1 __mpn_rshift __mpn_sub_1 __mpn_submul_1 __mpn_sub_n __mprotect __mremap __munmap __netlink_close __netlink_free_handle __netlink_open __netlink_request __new_exitfn __new_getrlimit __nis_hash __nrand48_r __nscd_cache_search __nscd_getai __nscd_getgrgid_r __nscd_getgrnam_r __nscd_getgrouplist __nscd_gethostbyaddr_r __nscd_gethostbyname2_ __nscd_gethostbyname_r __nscd_get_map_ref __nscd_get_nl_timestam __nscd_getpwnam_r __nscd_getpwuid_r __nscd_getservbyname_r __nscd_getservbyport_r __nscd_innetgr __nscd_setnetgrent __nscd_unmap __nss_endent __nss_ethers_lookup __nss_getent __nss_getent_r __nss_netgroup_lookup __nss_publickey_lookup __nss_setent __offtime __old_getdents64 __old_glob64 __old_readdir64 __opendir __opendirat __path_search __pipe2 __posix_fallocate64_l6 __posix_openpt __posix_spawn_file_act __pread __printf_fphex __profil __pthread_unwind __ptsname_internal __ptsname_r __pututline __pwrite __qecvt_r __qfcvt_r __random __random_r __readdir __readdir64 __readlink __readv __realpath __re_compile_fastmap __regcomp __regexec __regfree __register_printf_spec __res_vinit __rmdir __rpc_thread_clnt_clea __rpc_thread_key_clean __rpc_thread_svc_clean __rpc_thread_variables __scalbn __scalbnf __scalbnl __sched_getaffinity_ne __sched_setaffinity_ne __sched_setparam __seed48_r __setcontext __setenv __setfpucw __setrlimit __setsid __setstate_r __setutent __sgetsgent_r __sgetspent_r __sigaltstack __sigblock __sigprocmask __sigsetmask __sleep __snprintf __spawni __srand48_r __srandom_r __statfs64 __statfs_chown_restric __statfs_filesize_max __statfs_link_max __statfs_symlinks __statvfs64 __statvfs_getflags __strchr_g_internal __strchrnul __strcspn_ia32 __strdiff __strncasecmp __strpbrk_ia32 __strptime_internal __strspn_ia32 __tcgetattr __tdestroy __ttyname_r __tz_compute __tz_convert __tzfile_compute __tzfile_default __tzfile_read __tzname_max __tzset __tzset_parse_tz __tzstring __udivdi3_internal __umoddi3_internal __unlink __unsetenv __updwtmp __utmpname __vfwprintf __vfwscanf __vstrfmon_l __vswprintf __wcpncpy __wcrtomb __wcscat __wcschrnul __wcsdiff __wcslen __wcsmbs_clone_conv __wcsmbs_load_conv __wcsmbs_named_conv __wcsncpy __wcsnlen __wcsnrtombs __wcsrtombs ____wcstod_l_internal ____wcstof_l_internal ____wcstold_l_internal ____wcstol_l_internal ____wcstoll_l_internal ____wcstoul_l_internal ____wcstoull_l_interna __wctrans __wctype __wmemcpy __wmemmove __wmempcpy __writev __xstat32_conv Most, if not all, of them should be called via hidden target.
Could you post your tools for identifying such calls? I agree we should bypass the PLT for internal calls (except when needed, in particular for IFUNCs), but think we'll need a test in the testsuite to avoid regressing in this regard. Whatever the tool is, it appears to have truncated long function names. Remember when adding hidden aliases to ensure that attributes on the original declaration are also applied to the alias (e.g. __THROW) to avoid pessimizing code generation in other ways. That's another thing that's error-prone to do manually but I don't know how to add a test to the testsuite that internal function aliases get the same attributes.
(In reply to joseph@codesourcery.com from comment #1) > Could you post your tools for identifying such calls? I agree we should On x86: readelf -rw libc_pic.a | grep " __" | grep R_386_PLT32 | grep -v __GI | awk '{ print $5 }' | sort | uniq
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/i386 has been created at c556a7e5e3a4dac045a9bcfbbabf33ffcff11bb8 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c556a7e5e3a4dac045a9bcfbbabf33ffcff11bb8 commit c556a7e5e3a4dac045a9bcfbbabf33ffcff11bb8 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:37:50 2015 -0700 Compile sched_getaffinity.c with -fno-builtin-memset Since sched_getaffinity.c calls memset which may not be inlined, we should compile it with -fno-builtin-memset so that the internal hidden memset is called without PLT. * sysdeps/unix/sysv/linux/Makefile (CFLAGS-sched_getaffinity.c): New. Set to -fno-builtin-memset. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4aad8e53df8c2f1c6b152b51f00084853c1077cc commit 4aad8e53df8c2f1c6b152b51f00084853c1077cc Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:06:59 2015 -0700 Call __setcontext with HIDDEN_JUMPTARGET i386 __makecontext should call __setcontext with HIDDEN_JUMPTARGET. [BZ #18822] * sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): Don't load %ebx when calling __setcontext. Call __setcontext with HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/i386/setcontext.S (__setcontext): Add libc_hidden_def. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=57fee3704c8be2fba2820b44afb80f457eab7367 commit 57fee3704c8be2fba2820b44afb80f457eab7367 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:02:39 2015 -0700 Mark __xstatXX_conv as hidden __xstat_conv, __xstat64_conv and __xstat32_conv are internal to glibc. They should be marked as hidden so that they can't be called without PLT. [BZ #18822] * sysdeps/unix/sysv/linux/xstatconv.h (__xstat_conv): Add attribute_hidden. (__xstat64_conv): Likewise. (__xstat32_conv): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5af296d772bea1b0850c951dc080b4a4fcb01e17 commit 5af296d772bea1b0850c951dc080b4a4fcb01e17 Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Aug 12 12:10:06 2015 -0700 i386: Remove syscall assembly codes with 6 arguments This patch removes i386 assembly implementation for epoll_wait, mmap, mmap64, semtimeop now that i386 have 6 argument syscall support from C code and GCC 5 can inline syscalls with 6 argument. We also compile epoll_pwait.c, mmap.c, mmap64.c and semtimedop.c with -fomit-frame-pointer since %ebp may be used to pass the 6th argument to syscall. Fo sysdeps/unix/sysv/linux/i386/mmap.c, with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <__mmap>: 0: sub $0x10,%esp 3: mov 0x28(%esp),%eax 7: mov %ebx,(%esp) a: mov 0x18(%esp),%ecx e: mov %esi,0x4(%esp) 12: mov 0x14(%esp),%ebx 16: mov %edi,0x8(%esp) 1a: mov 0x1c(%esp),%edx 1e: test $0xfff,%eax 23: mov 0x20(%esp),%esi 27: mov %ebp,0xc(%esp) 2b: mov 0x24(%esp),%edi 2f: jne 60 <__mmap+0x60> 31: sar $0xc,%eax 34: mov %eax,%ebp 36: mov $0xc0,%eax 3b: call *%gs:0x10 42: cmp $0xfffff000,%eax 47: ja 65 <__mmap+0x65> 49: mov (%esp),%ebx 4c: mov 0x4(%esp),%esi 50: mov 0x8(%esp),%edi 54: mov 0xc(%esp),%ebp 58: add $0x10,%esp 5b: ret 5c: lea 0x0(%esi,%eiz,1),%esi 60: mov $0xffffffea,%eax 65: mov (%esp),%ebx 68: mov 0x4(%esp),%esi 6c: mov 0x8(%esp),%edi 70: mov 0xc(%esp),%ebp 74: add $0x10,%esp 77: jmp 78 <__mmap+0x78> 78: R_386_PC32 __syscall_error vs sysdeps/unix/sysv/linux/i386/mmap.S: <__mmap>: 0: push %ebp 1: push %ebx 2: push %esi 3: push %edi 4: mov 0x14(%esp),%ebx 8: mov 0x18(%esp),%ecx c: mov 0x1c(%esp),%edx 10: mov 0x20(%esp),%esi 14: mov 0x24(%esp),%edi 18: mov 0x28(%esp),%ebp 1c: test $0xfff,%ebp 22: mov $0xffffffea,%eax 27: jne 38 <__mmap+0x38> 29: shr $0xc,%ebp 2c: mov $0xc0,%eax 31: call *%gs:0x10 38: pop %edi 39: pop %esi 3a: pop %ebx 3b: pop %ebp 3c: cmp $0xfffff000,%eax 41: ja 44 <__mmap+0x44> 43: ret 44: call 45 <__mmap+0x45> 45: R_386_PC32 __x86.get_pc_thunk.cx 49: add $0x2,%ecx 4b: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 4f: mov 0x0(%ecx),%ecx 51: R_386_TLS_GOTIE __libc_errno 55: neg %eax 57: mov %eax,%gs:(%ecx) 5a: or $0xffffffff,%eax 5d: ret * sysdeps/unix/sysv/linux/i386/Makefile (CFLAGS-epoll_pwait.c): Add -fomit-frame-pointer. (CFLAGS-mmap.c): Likewise. (CFLAGS-mmap64.c): Likewise. (CFLAGS-semtimedop.c): Likewise. * sysdeps/unix/sysv/linux/i386/mmap.c: New file. * sysdeps/unix/sysv/linux/i386/epoll_pwait.S: Remove file. * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise. * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise. * sysdeps/unix/sysv/linux/i386/semtimedop.S: Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=533c777232e5af3def5830010fe6bf84e27b521b commit 533c777232e5af3def5830010fe6bf84e27b521b Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Aug 12 09:13:29 2015 -0700 Optimize i386 syscall inlining Define INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN so that i386 can optimize setting errno by branching to the internal __syscall_error without PLT. Since GCC 5 and above can properly spill %ebx when needed, we can inline syscalls with 6 arguments if GCC 5 or above is used to compile glibc. This patch rewrites INTERNAL_SYSCALL macros and skips __libc_do_syscall for GCC 5. For sysdeps/unix/sysv/linux/i386/brk.c, with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <__brk>: 0: push %ebx 1: mov $0x2d,%eax 6: mov 0x8(%esp),%ebx a: call b <__brk+0xb> b: R_386_PC32 __x86.get_pc_thunk.dx f: add $0x2,%edx 11: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 15: call *%gs:0x10 1c: mov 0x0(%edx),%edx 1e: R_386_GOT32 __curbrk 22: cmp %eax,%ebx 24: mov %eax,(%edx) 26: ja 30 <__brk+0x30> 28: xor %eax,%eax 2a: pop %ebx 2b: ret instead of <__brk>: 0: push %ebx 1: mov 0x8(%esp),%ecx 5: call 6 <__brk+0x6> 6: R_386_PC32 __x86.get_pc_thunk.bx a: add $0x2,%ebx c: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 10: xchg %ecx,%ebx 12: mov $0x2d,%eax 17: call *%gs:0x10 1e: xchg %ecx,%ebx 20: mov %eax,%edx 22: mov 0x0(%ebx),%eax 24: R_386_GOT32 __curbrk 28: mov %edx,(%eax) 2a: xor %eax,%eax 2c: cmp %edx,%ecx 2e: ja 38 <__brk+0x38> 30: pop %ebx 31: ret The new one is shorter by 2 instructions. * sysdeps/unix/sysv/linux/i386/Makefile [$(subdir) == csu] (sysdep-dl-routines): Add sysdep. [$(subdir) == nptl] (libpthread-routines): Likewise. [$(subdir) == rt] (librt-routines): Likewise. * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Add INTERNAL_SYSCALL_DECL. Use INLINE_SYSCALL_ERROR_RETURN. * sysdeps/unix/sysv/linux/i386/clone.S (__clone): Don't check PIC when branching to SYSCALL_ERROR_LABEL. * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Use INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN. (__libc_fcntl): Likewise. * sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/i386/fxstatat.c (__fxstatat): Likewise. * sysdeps/unix/sysv/linux/i386/getmsg.c (getmsg): Likewise. * sysdeps/unix/sysv/linux/i386/lockf64.c (lockf64): Likewise. * sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/i386/msgctl.c (__old_msgctl): Likewise. (__new_msgctl): Likewise. * sysdeps/unix/sysv/linux/i386/putmsg.c (putmsg): Likewise. * sysdeps/unix/sysv/linux/i386/semctl.c (__old_semctl): Likewise. (__new_semctl): Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Likewise. * sysdeps/unix/sysv/linux/i386/shmctl.c (__old_shmctl): Likewise. (__new_shmctl): Likewise. * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Likewise. * sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/i386/libc-do-syscall.S (__libc_do_syscall): Defined only if !__GNUC_PREREQ (5,0). * sysdeps/unix/sysv/linux/i386/sysdep.S: Removed. * sysdeps/unix/sysv/linux/i386/sysdep.c: New file. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define assembler macros only if !__GNUC_PREREQ (5,0). (SYSCALL_ERROR_LABEL): Changed to __syscall_error. (SYSCALL_ERROR_HANDLER): Changed to empty. (SYSCALL_ERROR_ERRNO): Removed. (SYSCALL_ERROR_HANDLER_TLS_STORE): Likewise. (__syscall_error): New prototype. (INLINE_SYSCALL_RETURN): New. (INLINE_SYSCALL_ERROR_RETURN): Likewise. (LOADREGS_0): Likewise. (ASMARGS_0): Likewise. (LOADREGS_1): Likewise. (ASMARGS_1): Likewise. (LOADREGS_2): Likewise. (ASMARGS_2): Likewise. (LOADREGS_3): Likewise. (ASMARGS_3): Likewise. (LOADREGS_4): Likewise. (ASMARGS_4): Likewise. (LOADREGS_5): Likewise. (ASMARGS_5): Likewise. (LOADREGS_6): Likewise. (ASMARGS_6): Likewise. (INTERNAL_SYSCALL_MAIN_6): Optimize for GCC 5. (INTERNAL_SYSCALL_MAIN_INLINE): Likewise. (INTERNAL_SYSCALL_NCS): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=71f697ab640389aadb316555c74a3222e2f48630 commit 71f697ab640389aadb316555c74a3222e2f48630 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:40:05 2015 -0700 Add INLINE_SYSCALL_RETURN/INLINE_SYSCALL_ERROR_RETURN For ia32 PIC, the first thing of many syscalls does is to call __x86.get_pc_thunk.reg to load PC into reg in case there is an error, which is required for setting errno. In most cases, there are no errors. But we still call __x86.get_pc_thunk.reg. This patch adds INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN so that i386 can optimize setting errno by branching to the internal __syscall_error without PLT. INLINE_SYSCALL_ERROR_RETURN is designed to take the negative error number returned from the majority of Linux kernels for which negating is a no-op with INTERNAL_SYSCALL_ERRNO. With i386 INLINE_SYSCALL_RETURN, INLINE_SYSCALL_ERROR_RETURN and i386 syscall inlining optimization for GCC 5, for sysdeps/unix/sysv/linux/fchmodat.c with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <fchmodat>: 0: push %ebx 1: mov 0x14(%esp),%eax 5: mov 0x8(%esp),%ebx 9: mov 0xc(%esp),%ecx d: mov 0x10(%esp),%edx 11: test $0xfffffeff,%eax 16: jne 38 <fchmodat+0x38> 18: test $0x1,%ah 1b: jne 48 <fchmodat+0x48> 1d: mov $0x132,%eax 22: call *%gs:0x10 29: cmp $0xfffff000,%eax 2e: ja 58 <fchmodat+0x58> 30: pop %ebx 31: ret 32: lea 0x0(%esi),%esi 38: pop %ebx 39: mov $0xffffffea,%eax 3e: jmp 3f <fchmodat+0x3f> 3f: R_386_PC32 __syscall_error 43: nop 44: lea 0x0(%esi,%eiz,1),%esi 48: pop %ebx 49: mov $0xffffffa1,%eax 4e: jmp 4f <fchmodat+0x4f> 4f: R_386_PC32 __syscall_error 53: nop 54: lea 0x0(%esi,%eiz,1),%esi 58: pop %ebx 59: jmp 5a <fchmodat+0x5a> 5a: R_386_PC32 __syscall_error instead of <fchmodat>: 0: sub $0x8,%esp 3: mov 0x18(%esp),%eax 7: mov %ebx,(%esp) a: call b <fchmodat+0xb> b: R_386_PC32 __x86.get_pc_thunk.bx f: add $0x2,%ebx 11: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 15: mov %edi,0x4(%esp) 19: test $0xfffffeff,%eax 1e: jne 70 <fchmodat+0x70> 20: test $0x1,%ah 23: jne 88 <fchmodat+0x88> 25: mov 0x14(%esp),%edx 29: mov 0x10(%esp),%ecx 2d: mov 0xc(%esp),%edi 31: xchg %ebx,%edi 33: mov $0x132,%eax 38: call *%gs:0x10 3f: xchg %edi,%ebx 41: cmp $0xfffff000,%eax 46: ja 58 <fchmodat+0x58> 48: mov (%esp),%ebx 4b: mov 0x4(%esp),%edi 4f: add $0x8,%esp 52: ret 53: nop 54: lea 0x0(%esi,%eiz,1),%esi 58: mov 0x0(%ebx),%edx 5a: R_386_TLS_GOTIE __libc_errno 5e: neg %eax 60: mov %eax,%gs:(%edx) 63: mov $0xffffffff,%eax 68: jmp 48 <fchmodat+0x48> 6a: lea 0x0(%esi),%esi 70: mov 0x0(%ebx),%eax 72: R_386_TLS_GOTIE __libc_errno 76: movl $0x16,%gs:(%eax) 7d: mov $0xffffffff,%eax 82: jmp 48 <fchmodat+0x48> 84: lea 0x0(%esi,%eiz,1),%esi 88: mov 0x0(%ebx),%eax 8a: R_386_TLS_GOTIE __libc_errno 8e: movl $0x5f,%gs:(%eax) 95: mov $0xffffffff,%eax 9a: jmp 48 <fchmodat+0x48> * sysdeps/unix/sysdep.h (INLINE_SYSCALL_RETURN): New. (INLINE_SYSCALL_ERROR_RETURN): Likewise. * sysdeps/unix/sysv/linux/aio_sigqueue.c (__aio_sigqueue): Use INLINE_SYSCALL_RETURN, INLINE_SYSCALL_ERROR_RETURN and INTERNAL_SYSCALL. * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. * sysdeps/unix/sysv/linux/eventfd.c (eventfd): Likewise. * sysdeps/unix/sysv/linux/fchmodat.c (fchmodat): Likewise. * sysdeps/unix/sysv/linux/fcntl.c (do_fcntl): Likewise. * sysdeps/unix/sysv/linux/fstatfs64.c (__fstatfs64): Likewise. * sysdeps/unix/sysv/linux/ftruncate64.c (__ftruncate64): Likewise. * sysdeps/unix/sysv/linux/futimens.c (futimens): Likewise. * sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise. * sysdeps/unix/sysv/linux/futimesat.c (futimesat): Likewise. * sysdeps/unix/sysv/linux/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/fxstat64.c (___fxstat64): Likewise. * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Likewise. * sysdeps/unix/sysv/linux/getpriority.c (__getpriority): Likewise. * sysdeps/unix/sysv/linux/getrlimit64.c (__getrlimit64): Likewise. * sysdeps/unix/sysv/linux/llseek.c (__llseek): Likewise. * sysdeps/unix/sysv/linux/lutimes.c (lutimes): Likewise. * sysdeps/unix/sysv/linux/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/lxstat64.c (___lxstat64): Likewise. * sysdeps/unix/sysv/linux/mmap64.c (__mmap64): Likewise. * sysdeps/unix/sysv/linux/mq_close.c (mq_close): Likewise. * sysdeps/unix/sysv/linux/mq_open.c (__mq_open): Likewise. * sysdeps/unix/sysv/linux/msgget.c (msgget): Likewise. * sysdeps/unix/sysv/linux/prlimit.c (prlimit): Likewise. * sysdeps/unix/sysv/linux/pt-raise.c (raise): Likewise. * sysdeps/unix/sysv/linux/raise.c (raise): Likewise. * sysdeps/unix/sysv/linux/readahead.c (__readahead): Likewise. * sysdeps/unix/sysv/linux/reboot.c (reboot): Likewise. * sysdeps/unix/sysv/linux/sched_getaffinity.c (__sched_getaffinity_new): Likewise. * sysdeps/unix/sysv/linux/semget.c (semget): Likewise. * sysdeps/unix/sysv/linux/semop.c (semop): Likewise. * sysdeps/unix/sysv/linux/semtimedop.c (semtimedop): Likewise. * sysdeps/unix/sysv/linux/setrlimit64.c (setrlimit64): Likewise. * sysdeps/unix/sysv/linux/shmdt.c (shmdt): Likewise. * sysdeps/unix/sysv/linux/shmget.c (shmget): Likewise. * sysdeps/unix/sysv/linux/signalfd.c (signalfd): Likewise. * sysdeps/unix/sysv/linux/sigpending.c (sigpending): Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c ( __sigprocmask): Likewise. * sysdeps/unix/sysv/linux/sigqueue.c (__sigqueue): Likewise. * sysdeps/unix/sysv/linux/statfs64.c (__statfs64): Likewise. * sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise. * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise. * sysdeps/unix/sysv/linux/timer_getoverr.c (timer_getoverrun): Likewise. * sysdeps/unix/sysv/linux/timer_gettime.c (timer_gettime): Likewise. * sysdeps/unix/sysv/linux/timer_settime.c (timer_settime): Likewise. * sysdeps/unix/sysv/linux/truncate64.c (truncate64): Likewise. * sysdeps/unix/sysv/linux/ustat.c (ustat): Likewise. * sysdeps/unix/sysv/linux/utimensat.c (utimensat): Likewise. * sysdeps/unix/sysv/linux/utimes.c (__utimes): Likewise. * sysdeps/unix/sysv/linux/xmknod.c (__xmknod): Likewise. * sysdeps/unix/sysv/linux/xmknodat.c (__xmknodat): Likewise. * sysdeps/unix/sysv/linux/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/xstat64.c (___xstat64): Likewise. -----------------------------------------------------------------------
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/i386 has been created at e671d82a8840eb0c31b602e9ea9c91e381a7361a (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e671d82a8840eb0c31b602e9ea9c91e381a7361a commit e671d82a8840eb0c31b602e9ea9c91e381a7361a Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 14 07:12:10 2015 -0700 Fix Linux sysdep need to fix mq_open https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=af19672b82b8d55693cec32151ca9f60fe169c91 commit af19672b82b8d55693cec32151ca9f60fe169c91 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 14 07:11:59 2015 -0700 Fix i386 sysdep https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9e642151a5f0f0a990c3851edc1073aeac9619e1 commit 9e642151a5f0f0a990c3851edc1073aeac9619e1 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 14 07:11:52 2015 -0700 Fix i386 mmap https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4981ad32995fc46f2a1db7a525dd4019ca7a8677 commit 4981ad32995fc46f2a1db7a525dd4019ca7a8677 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:37:50 2015 -0700 Compile sched_getaffinity.c with -fno-builtin-memset Since sched_getaffinity.c calls memset which may not be inlined, we should compile it with -fno-builtin-memset so that the internal hidden memset is called without PLT. * sysdeps/unix/sysv/linux/Makefile (CFLAGS-sched_getaffinity.c): New. Set to -fno-builtin-memset. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=083c5b79c723c94f7d0f050dcfc5c558cab82825 commit 083c5b79c723c94f7d0f050dcfc5c558cab82825 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:06:59 2015 -0700 Call __setcontext with HIDDEN_JUMPTARGET i386 __makecontext should call __setcontext with HIDDEN_JUMPTARGET. [BZ #18822] * sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): Don't load %ebx when calling __setcontext. Call __setcontext with HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/i386/setcontext.S (__setcontext): Add libc_hidden_def. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8a7540af90c35dedfbfaff1fdd4bfbfc75b51e13 commit 8a7540af90c35dedfbfaff1fdd4bfbfc75b51e13 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:02:39 2015 -0700 Mark __xstatXX_conv as hidden __xstat_conv, __xstat64_conv and __xstat32_conv are internal to glibc. They should be marked as hidden so that they can't be called without PLT. [BZ #18822] * sysdeps/unix/sysv/linux/xstatconv.h (__xstat_conv): Add attribute_hidden. (__xstat64_conv): Likewise. (__xstat32_conv): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7127f30a99c3aa1da1ec27417fecea35763a3186 commit 7127f30a99c3aa1da1ec27417fecea35763a3186 Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Aug 12 12:10:06 2015 -0700 i386: Remove syscall assembly codes with 6 arguments This patch removes i386 assembly implementation for epoll_wait, mmap, mmap64, semtimeop now that i386 have 6 argument syscall support from C code and GCC 5 can inline syscalls with 6 argument. We also compile epoll_pwait.c, mmap.c, mmap64.c and semtimedop.c with -fomit-frame-pointer since %ebp may be used to pass the 6th argument to syscall. Fo sysdeps/unix/sysv/linux/i386/mmap.c, with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <__mmap>: 0: sub $0x10,%esp 3: mov 0x28(%esp),%eax 7: mov %ebx,(%esp) a: mov 0x18(%esp),%ecx e: mov %esi,0x4(%esp) 12: mov 0x14(%esp),%ebx 16: mov %edi,0x8(%esp) 1a: mov 0x1c(%esp),%edx 1e: test $0xfff,%eax 23: mov 0x20(%esp),%esi 27: mov %ebp,0xc(%esp) 2b: mov 0x24(%esp),%edi 2f: jne 60 <__mmap+0x60> 31: sar $0xc,%eax 34: mov %eax,%ebp 36: mov $0xc0,%eax 3b: call *%gs:0x10 42: cmp $0xfffff000,%eax 47: ja 65 <__mmap+0x65> 49: mov (%esp),%ebx 4c: mov 0x4(%esp),%esi 50: mov 0x8(%esp),%edi 54: mov 0xc(%esp),%ebp 58: add $0x10,%esp 5b: ret 5c: lea 0x0(%esi,%eiz,1),%esi 60: mov $0xffffffea,%eax 65: mov (%esp),%ebx 68: mov 0x4(%esp),%esi 6c: mov 0x8(%esp),%edi 70: mov 0xc(%esp),%ebp 74: add $0x10,%esp 77: jmp 78 <__mmap+0x78> 78: R_386_PC32 __syscall_error vs sysdeps/unix/sysv/linux/i386/mmap.S: <__mmap>: 0: push %ebp 1: push %ebx 2: push %esi 3: push %edi 4: mov 0x14(%esp),%ebx 8: mov 0x18(%esp),%ecx c: mov 0x1c(%esp),%edx 10: mov 0x20(%esp),%esi 14: mov 0x24(%esp),%edi 18: mov 0x28(%esp),%ebp 1c: test $0xfff,%ebp 22: mov $0xffffffea,%eax 27: jne 38 <__mmap+0x38> 29: shr $0xc,%ebp 2c: mov $0xc0,%eax 31: call *%gs:0x10 38: pop %edi 39: pop %esi 3a: pop %ebx 3b: pop %ebp 3c: cmp $0xfffff000,%eax 41: ja 44 <__mmap+0x44> 43: ret 44: call 45 <__mmap+0x45> 45: R_386_PC32 __x86.get_pc_thunk.cx 49: add $0x2,%ecx 4b: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 4f: mov 0x0(%ecx),%ecx 51: R_386_TLS_GOTIE __libc_errno 55: neg %eax 57: mov %eax,%gs:(%ecx) 5a: or $0xffffffff,%eax 5d: ret The C version has: 3: mov 0x28(%esp),%eax ... 1e: test $0xfff,%eax ... 31: sar $0xc,%eax 34: mov %eax,%ebp is due to missing $ebx register constraint for inline asm. We have to use "r" constraint with register unsigned int _a6 asm ("ebp") = (unsigned int) (arg6); and compiler chose %eax for offset (arg6) in if (offset & ((1 << MMAP_PAGE_SHIFT) - 1)) * sysdeps/unix/sysv/linux/i386/Makefile (CFLAGS-epoll_pwait.c): Add -fomit-frame-pointer. (CFLAGS-mmap.c): Likewise. (CFLAGS-mmap64.c): Likewise. (CFLAGS-semtimedop.c): Likewise. * sysdeps/unix/sysv/linux/i386/mmap.c: New file. * sysdeps/unix/sysv/linux/i386/epoll_pwait.S: Remove file. * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise. * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise. * sysdeps/unix/sysv/linux/i386/semtimedop.S: Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=533c777232e5af3def5830010fe6bf84e27b521b commit 533c777232e5af3def5830010fe6bf84e27b521b Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Aug 12 09:13:29 2015 -0700 Optimize i386 syscall inlining Define INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN so that i386 can optimize setting errno by branching to the internal __syscall_error without PLT. Since GCC 5 and above can properly spill %ebx when needed, we can inline syscalls with 6 arguments if GCC 5 or above is used to compile glibc. This patch rewrites INTERNAL_SYSCALL macros and skips __libc_do_syscall for GCC 5. For sysdeps/unix/sysv/linux/i386/brk.c, with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <__brk>: 0: push %ebx 1: mov $0x2d,%eax 6: mov 0x8(%esp),%ebx a: call b <__brk+0xb> b: R_386_PC32 __x86.get_pc_thunk.dx f: add $0x2,%edx 11: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 15: call *%gs:0x10 1c: mov 0x0(%edx),%edx 1e: R_386_GOT32 __curbrk 22: cmp %eax,%ebx 24: mov %eax,(%edx) 26: ja 30 <__brk+0x30> 28: xor %eax,%eax 2a: pop %ebx 2b: ret instead of <__brk>: 0: push %ebx 1: mov 0x8(%esp),%ecx 5: call 6 <__brk+0x6> 6: R_386_PC32 __x86.get_pc_thunk.bx a: add $0x2,%ebx c: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 10: xchg %ecx,%ebx 12: mov $0x2d,%eax 17: call *%gs:0x10 1e: xchg %ecx,%ebx 20: mov %eax,%edx 22: mov 0x0(%ebx),%eax 24: R_386_GOT32 __curbrk 28: mov %edx,(%eax) 2a: xor %eax,%eax 2c: cmp %edx,%ecx 2e: ja 38 <__brk+0x38> 30: pop %ebx 31: ret The new one is shorter by 2 instructions. * sysdeps/unix/sysv/linux/i386/Makefile [$(subdir) == csu] (sysdep-dl-routines): Add sysdep. [$(subdir) == nptl] (libpthread-routines): Likewise. [$(subdir) == rt] (librt-routines): Likewise. * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Add INTERNAL_SYSCALL_DECL. Use INLINE_SYSCALL_ERROR_RETURN. * sysdeps/unix/sysv/linux/i386/clone.S (__clone): Don't check PIC when branching to SYSCALL_ERROR_LABEL. * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Use INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN. (__libc_fcntl): Likewise. * sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/i386/fxstatat.c (__fxstatat): Likewise. * sysdeps/unix/sysv/linux/i386/getmsg.c (getmsg): Likewise. * sysdeps/unix/sysv/linux/i386/lockf64.c (lockf64): Likewise. * sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/i386/msgctl.c (__old_msgctl): Likewise. (__new_msgctl): Likewise. * sysdeps/unix/sysv/linux/i386/putmsg.c (putmsg): Likewise. * sysdeps/unix/sysv/linux/i386/semctl.c (__old_semctl): Likewise. (__new_semctl): Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Likewise. * sysdeps/unix/sysv/linux/i386/shmctl.c (__old_shmctl): Likewise. (__new_shmctl): Likewise. * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Likewise. * sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/i386/libc-do-syscall.S (__libc_do_syscall): Defined only if !__GNUC_PREREQ (5,0). * sysdeps/unix/sysv/linux/i386/sysdep.S: Removed. * sysdeps/unix/sysv/linux/i386/sysdep.c: New file. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define assembler macros only if !__GNUC_PREREQ (5,0). (SYSCALL_ERROR_LABEL): Changed to __syscall_error. (SYSCALL_ERROR_HANDLER): Changed to empty. (SYSCALL_ERROR_ERRNO): Removed. (SYSCALL_ERROR_HANDLER_TLS_STORE): Likewise. (__syscall_error): New prototype. (INLINE_SYSCALL_RETURN): New. (INLINE_SYSCALL_ERROR_RETURN): Likewise. (LOADREGS_0): Likewise. (ASMARGS_0): Likewise. (LOADREGS_1): Likewise. (ASMARGS_1): Likewise. (LOADREGS_2): Likewise. (ASMARGS_2): Likewise. (LOADREGS_3): Likewise. (ASMARGS_3): Likewise. (LOADREGS_4): Likewise. (ASMARGS_4): Likewise. (LOADREGS_5): Likewise. (ASMARGS_5): Likewise. (LOADREGS_6): Likewise. (ASMARGS_6): Likewise. (INTERNAL_SYSCALL_MAIN_6): Optimize for GCC 5. (INTERNAL_SYSCALL_MAIN_INLINE): Likewise. (INTERNAL_SYSCALL_NCS): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=71f697ab640389aadb316555c74a3222e2f48630 commit 71f697ab640389aadb316555c74a3222e2f48630 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:40:05 2015 -0700 Add INLINE_SYSCALL_RETURN/INLINE_SYSCALL_ERROR_RETURN For ia32 PIC, the first thing of many syscalls does is to call __x86.get_pc_thunk.reg to load PC into reg in case there is an error, which is required for setting errno. In most cases, there are no errors. But we still call __x86.get_pc_thunk.reg. This patch adds INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN so that i386 can optimize setting errno by branching to the internal __syscall_error without PLT. INLINE_SYSCALL_ERROR_RETURN is designed to take the negative error number returned from the majority of Linux kernels for which negating is a no-op with INTERNAL_SYSCALL_ERRNO. With i386 INLINE_SYSCALL_RETURN, INLINE_SYSCALL_ERROR_RETURN and i386 syscall inlining optimization for GCC 5, for sysdeps/unix/sysv/linux/fchmodat.c with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <fchmodat>: 0: push %ebx 1: mov 0x14(%esp),%eax 5: mov 0x8(%esp),%ebx 9: mov 0xc(%esp),%ecx d: mov 0x10(%esp),%edx 11: test $0xfffffeff,%eax 16: jne 38 <fchmodat+0x38> 18: test $0x1,%ah 1b: jne 48 <fchmodat+0x48> 1d: mov $0x132,%eax 22: call *%gs:0x10 29: cmp $0xfffff000,%eax 2e: ja 58 <fchmodat+0x58> 30: pop %ebx 31: ret 32: lea 0x0(%esi),%esi 38: pop %ebx 39: mov $0xffffffea,%eax 3e: jmp 3f <fchmodat+0x3f> 3f: R_386_PC32 __syscall_error 43: nop 44: lea 0x0(%esi,%eiz,1),%esi 48: pop %ebx 49: mov $0xffffffa1,%eax 4e: jmp 4f <fchmodat+0x4f> 4f: R_386_PC32 __syscall_error 53: nop 54: lea 0x0(%esi,%eiz,1),%esi 58: pop %ebx 59: jmp 5a <fchmodat+0x5a> 5a: R_386_PC32 __syscall_error instead of <fchmodat>: 0: sub $0x8,%esp 3: mov 0x18(%esp),%eax 7: mov %ebx,(%esp) a: call b <fchmodat+0xb> b: R_386_PC32 __x86.get_pc_thunk.bx f: add $0x2,%ebx 11: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 15: mov %edi,0x4(%esp) 19: test $0xfffffeff,%eax 1e: jne 70 <fchmodat+0x70> 20: test $0x1,%ah 23: jne 88 <fchmodat+0x88> 25: mov 0x14(%esp),%edx 29: mov 0x10(%esp),%ecx 2d: mov 0xc(%esp),%edi 31: xchg %ebx,%edi 33: mov $0x132,%eax 38: call *%gs:0x10 3f: xchg %edi,%ebx 41: cmp $0xfffff000,%eax 46: ja 58 <fchmodat+0x58> 48: mov (%esp),%ebx 4b: mov 0x4(%esp),%edi 4f: add $0x8,%esp 52: ret 53: nop 54: lea 0x0(%esi,%eiz,1),%esi 58: mov 0x0(%ebx),%edx 5a: R_386_TLS_GOTIE __libc_errno 5e: neg %eax 60: mov %eax,%gs:(%edx) 63: mov $0xffffffff,%eax 68: jmp 48 <fchmodat+0x48> 6a: lea 0x0(%esi),%esi 70: mov 0x0(%ebx),%eax 72: R_386_TLS_GOTIE __libc_errno 76: movl $0x16,%gs:(%eax) 7d: mov $0xffffffff,%eax 82: jmp 48 <fchmodat+0x48> 84: lea 0x0(%esi,%eiz,1),%esi 88: mov 0x0(%ebx),%eax 8a: R_386_TLS_GOTIE __libc_errno 8e: movl $0x5f,%gs:(%eax) 95: mov $0xffffffff,%eax 9a: jmp 48 <fchmodat+0x48> * sysdeps/unix/sysdep.h (INLINE_SYSCALL_RETURN): New. (INLINE_SYSCALL_ERROR_RETURN): Likewise. * sysdeps/unix/sysv/linux/aio_sigqueue.c (__aio_sigqueue): Use INLINE_SYSCALL_RETURN, INLINE_SYSCALL_ERROR_RETURN and INTERNAL_SYSCALL. * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. * sysdeps/unix/sysv/linux/eventfd.c (eventfd): Likewise. * sysdeps/unix/sysv/linux/fchmodat.c (fchmodat): Likewise. * sysdeps/unix/sysv/linux/fcntl.c (do_fcntl): Likewise. * sysdeps/unix/sysv/linux/fstatfs64.c (__fstatfs64): Likewise. * sysdeps/unix/sysv/linux/ftruncate64.c (__ftruncate64): Likewise. * sysdeps/unix/sysv/linux/futimens.c (futimens): Likewise. * sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise. * sysdeps/unix/sysv/linux/futimesat.c (futimesat): Likewise. * sysdeps/unix/sysv/linux/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/fxstat64.c (___fxstat64): Likewise. * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Likewise. * sysdeps/unix/sysv/linux/getpriority.c (__getpriority): Likewise. * sysdeps/unix/sysv/linux/getrlimit64.c (__getrlimit64): Likewise. * sysdeps/unix/sysv/linux/llseek.c (__llseek): Likewise. * sysdeps/unix/sysv/linux/lutimes.c (lutimes): Likewise. * sysdeps/unix/sysv/linux/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/lxstat64.c (___lxstat64): Likewise. * sysdeps/unix/sysv/linux/mmap64.c (__mmap64): Likewise. * sysdeps/unix/sysv/linux/mq_close.c (mq_close): Likewise. * sysdeps/unix/sysv/linux/mq_open.c (__mq_open): Likewise. * sysdeps/unix/sysv/linux/msgget.c (msgget): Likewise. * sysdeps/unix/sysv/linux/prlimit.c (prlimit): Likewise. * sysdeps/unix/sysv/linux/pt-raise.c (raise): Likewise. * sysdeps/unix/sysv/linux/raise.c (raise): Likewise. * sysdeps/unix/sysv/linux/readahead.c (__readahead): Likewise. * sysdeps/unix/sysv/linux/reboot.c (reboot): Likewise. * sysdeps/unix/sysv/linux/sched_getaffinity.c (__sched_getaffinity_new): Likewise. * sysdeps/unix/sysv/linux/semget.c (semget): Likewise. * sysdeps/unix/sysv/linux/semop.c (semop): Likewise. * sysdeps/unix/sysv/linux/semtimedop.c (semtimedop): Likewise. * sysdeps/unix/sysv/linux/setrlimit64.c (setrlimit64): Likewise. * sysdeps/unix/sysv/linux/shmdt.c (shmdt): Likewise. * sysdeps/unix/sysv/linux/shmget.c (shmget): Likewise. * sysdeps/unix/sysv/linux/signalfd.c (signalfd): Likewise. * sysdeps/unix/sysv/linux/sigpending.c (sigpending): Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c ( __sigprocmask): Likewise. * sysdeps/unix/sysv/linux/sigqueue.c (__sigqueue): Likewise. * sysdeps/unix/sysv/linux/statfs64.c (__statfs64): Likewise. * sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise. * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise. * sysdeps/unix/sysv/linux/timer_getoverr.c (timer_getoverrun): Likewise. * sysdeps/unix/sysv/linux/timer_gettime.c (timer_gettime): Likewise. * sysdeps/unix/sysv/linux/timer_settime.c (timer_settime): Likewise. * sysdeps/unix/sysv/linux/truncate64.c (truncate64): Likewise. * sysdeps/unix/sysv/linux/ustat.c (ustat): Likewise. * sysdeps/unix/sysv/linux/utimensat.c (utimensat): Likewise. * sysdeps/unix/sysv/linux/utimes.c (__utimes): Likewise. * sysdeps/unix/sysv/linux/xmknod.c (__xmknod): Likewise. * sysdeps/unix/sysv/linux/xmknodat.c (__xmknodat): Likewise. * sysdeps/unix/sysv/linux/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/xstat64.c (___xstat64): Likewise. -----------------------------------------------------------------------
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/i386 has been created at 2fce1e372bcf5e4d3e8f4acad1c3c242611c24b6 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2fce1e372bcf5e4d3e8f4acad1c3c242611c24b6 commit 2fce1e372bcf5e4d3e8f4acad1c3c242611c24b6 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:06:59 2015 -0700 Call __setcontext with HIDDEN_JUMPTARGET i386 __makecontext should call __setcontext with HIDDEN_JUMPTARGET. [BZ #18822] * sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): Don't load %ebx when calling __setcontext. Call __setcontext with HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/i386/setcontext.S (__setcontext): Add libc_hidden_def. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=799caceddab76004cb5ada693b91f5fce5931f86 commit 799caceddab76004cb5ada693b91f5fce5931f86 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:02:39 2015 -0700 Mark __xstatXX_conv as hidden __xstat_conv, __xstat64_conv and __xstat32_conv are internal to glibc. They should be marked as hidden so that they can't be called without PLT. [BZ #18822] * sysdeps/unix/sysv/linux/xstatconv.h (__xstat_conv): Add attribute_hidden. (__xstat64_conv): Likewise. (__xstat32_conv): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1ba1d2b0ec0f7b6aadd28afcff5b7136425e8a0f commit 1ba1d2b0ec0f7b6aadd28afcff5b7136425e8a0f Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Aug 12 12:10:06 2015 -0700 i386: Remove syscall assembly codes with 6 arguments This patch removes i386 assembly implementation for epoll_wait, mmap, mmap64, semtimeop now that i386 have 6 argument syscall support from C code and GCC 5 can inline syscalls with 6 argument. We also compile epoll_pwait.c, mmap.c, mmap64.c and semtimedop.c with -fomit-frame-pointer since %ebp may be used to pass the 6th argument to syscall. Fo sysdeps/unix/sysv/linux/i386/mmap.c, with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <__mmap>: 0: sub $0x10,%esp 3: mov 0x28(%esp),%eax 7: mov %ebx,(%esp) a: mov 0x18(%esp),%ecx e: mov %esi,0x4(%esp) 12: mov 0x14(%esp),%ebx 16: mov %edi,0x8(%esp) 1a: mov 0x1c(%esp),%edx 1e: test $0xfff,%eax 23: mov 0x20(%esp),%esi 27: mov %ebp,0xc(%esp) 2b: mov 0x24(%esp),%edi 2f: jne 60 <__mmap+0x60> 31: sar $0xc,%eax 34: mov %eax,%ebp 36: mov $0xc0,%eax 3b: call *%gs:0x10 42: cmp $0xfffff000,%eax 47: ja 65 <__mmap+0x65> 49: mov (%esp),%ebx 4c: mov 0x4(%esp),%esi 50: mov 0x8(%esp),%edi 54: mov 0xc(%esp),%ebp 58: add $0x10,%esp 5b: ret 5c: lea 0x0(%esi,%eiz,1),%esi 60: mov $0xffffffea,%eax 65: mov (%esp),%ebx 68: mov 0x4(%esp),%esi 6c: mov 0x8(%esp),%edi 70: mov 0xc(%esp),%ebp 74: add $0x10,%esp 77: jmp 78 <__mmap+0x78> 78: R_386_PC32 __syscall_error vs sysdeps/unix/sysv/linux/i386/mmap.S: <__mmap>: 0: push %ebp 1: push %ebx 2: push %esi 3: push %edi 4: mov 0x14(%esp),%ebx 8: mov 0x18(%esp),%ecx c: mov 0x1c(%esp),%edx 10: mov 0x20(%esp),%esi 14: mov 0x24(%esp),%edi 18: mov 0x28(%esp),%ebp 1c: test $0xfff,%ebp 22: mov $0xffffffea,%eax 27: jne 38 <__mmap+0x38> 29: shr $0xc,%ebp 2c: mov $0xc0,%eax 31: call *%gs:0x10 38: pop %edi 39: pop %esi 3a: pop %ebx 3b: pop %ebp 3c: cmp $0xfffff000,%eax 41: ja 44 <__mmap+0x44> 43: ret 44: call 45 <__mmap+0x45> 45: R_386_PC32 __x86.get_pc_thunk.cx 49: add $0x2,%ecx 4b: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 4f: mov 0x0(%ecx),%ecx 51: R_386_TLS_GOTIE __libc_errno 55: neg %eax 57: mov %eax,%gs:(%ecx) 5a: or $0xffffffff,%eax 5d: ret The C version has: 3: mov 0x28(%esp),%eax ... 1e: test $0xfff,%eax ... 31: sar $0xc,%eax 34: mov %eax,%ebp is due to missing $ebx register constraint for inline asm. We have to use "r" constraint with register unsigned int _a6 asm ("ebp") = (unsigned int) (arg6); and compiler chose %eax for offset (arg6) in if (offset & ((1 << MMAP_PAGE_SHIFT) - 1)) * sysdeps/unix/sysv/linux/i386/Makefile (CFLAGS-epoll_pwait.c): Add -fomit-frame-pointer. (CFLAGS-mmap.c): Likewise. (CFLAGS-mmap64.c): Likewise. (CFLAGS-semtimedop.c): Likewise. * sysdeps/unix/sysv/linux/i386/mmap.c: New file. * sysdeps/unix/sysv/linux/i386/epoll_pwait.S: Remove file. * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise. * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise. * sysdeps/unix/sysv/linux/i386/semtimedop.S: Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c0e18dc1d34748f82e31febfbda8e360cc5eb696 commit c0e18dc1d34748f82e31febfbda8e360cc5eb696 Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Aug 12 09:13:29 2015 -0700 Optimize i386 syscall inlining Define INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN so that i386 can optimize setting errno by branching to the internal __syscall_error without PLT. Since GCC 5 and above can properly spill %ebx when needed, we can inline syscalls with 6 arguments if GCC 5 or above is used to compile glibc. This patch rewrites INTERNAL_SYSCALL macros and skips __libc_do_syscall for GCC 5. For sysdeps/unix/sysv/linux/i386/brk.c, with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <__brk>: 0: push %ebx 1: mov $0x2d,%eax 6: mov 0x8(%esp),%ebx a: call b <__brk+0xb> b: R_386_PC32 __x86.get_pc_thunk.dx f: add $0x2,%edx 11: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 15: call *%gs:0x10 1c: mov 0x0(%edx),%edx 1e: R_386_GOT32 __curbrk 22: cmp %eax,%ebx 24: mov %eax,(%edx) 26: ja 30 <__brk+0x30> 28: xor %eax,%eax 2a: pop %ebx 2b: ret instead of <__brk>: 0: push %ebx 1: mov 0x8(%esp),%ecx 5: call 6 <__brk+0x6> 6: R_386_PC32 __x86.get_pc_thunk.bx a: add $0x2,%ebx c: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 10: xchg %ecx,%ebx 12: mov $0x2d,%eax 17: call *%gs:0x10 1e: xchg %ecx,%ebx 20: mov %eax,%edx 22: mov 0x0(%ebx),%eax 24: R_386_GOT32 __curbrk 28: mov %edx,(%eax) 2a: xor %eax,%eax 2c: cmp %edx,%ecx 2e: ja 38 <__brk+0x38> 30: pop %ebx 31: ret The new one is shorter by 2 instructions. * sysdeps/unix/sysv/linux/i386/Makefile [$(subdir) == csu] (sysdep-dl-routines): Add sysdep. [$(subdir) == nptl] (libpthread-routines): Likewise. [$(subdir) == rt] (librt-routines): Likewise. * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Add INTERNAL_SYSCALL_DECL. Use INLINE_SYSCALL_ERROR_RETURN. * sysdeps/unix/sysv/linux/i386/clone.S (__clone): Don't check PIC when branching to SYSCALL_ERROR_LABEL. * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Use INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN. (__libc_fcntl): Likewise. * sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/i386/fxstatat.c (__fxstatat): Likewise. * sysdeps/unix/sysv/linux/i386/getmsg.c (getmsg): Likewise. * sysdeps/unix/sysv/linux/i386/lockf64.c (lockf64): Likewise. * sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/i386/msgctl.c (__old_msgctl): Likewise. (__new_msgctl): Likewise. * sysdeps/unix/sysv/linux/i386/putmsg.c (putmsg): Likewise. * sysdeps/unix/sysv/linux/i386/semctl.c (__old_semctl): Likewise. (__new_semctl): Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Likewise. * sysdeps/unix/sysv/linux/i386/setgid.c (__setgid): Likewise. * sysdeps/unix/sysv/linux/i386/setgroups.c (setgroups): Likewise. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Likewise. * sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Likewise. * sysdeps/unix/sysv/linux/i386/shmctl.c (__old_shmctl): Likewise. (__new_shmctl): Likewise. * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Likewise. * sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/i386/libc-do-syscall.S (__libc_do_syscall): Defined only if !__GNUC_PREREQ (5,0). * sysdeps/unix/sysv/linux/i386/sysdep.S: Removed. * sysdeps/unix/sysv/linux/i386/sysdep.c: New file. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define assembler macros only if !__GNUC_PREREQ (5,0). (SYSCALL_ERROR_LABEL): Changed to __syscall_error. (SYSCALL_ERROR_HANDLER): Changed to empty. (SYSCALL_ERROR_ERRNO): Removed. (SYSCALL_ERROR_HANDLER_TLS_STORE): Likewise. (__syscall_error): New prototype. (INLINE_SYSCALL_RETURN): New. (INLINE_SYSCALL_ERROR_RETURN): Likewise. (LOADREGS_0): Likewise. (ASMARGS_0): Likewise. (LOADREGS_1): Likewise. (ASMARGS_1): Likewise. (LOADREGS_2): Likewise. (ASMARGS_2): Likewise. (LOADREGS_3): Likewise. (ASMARGS_3): Likewise. (LOADREGS_4): Likewise. (ASMARGS_4): Likewise. (LOADREGS_5): Likewise. (ASMARGS_5): Likewise. (LOADREGS_6): Likewise. (ASMARGS_6): Likewise. (INTERNAL_SYSCALL_MAIN_6): Optimize for GCC 5. (INTERNAL_SYSCALL_MAIN_INLINE): Likewise. (INTERNAL_SYSCALL_NCS): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=037d6432a49be52ba482f41f65523ef31a9609d1 commit 037d6432a49be52ba482f41f65523ef31a9609d1 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:40:05 2015 -0700 Add INLINE_SYSCALL_RETURN/INLINE_SYSCALL_ERROR_RETURN For ia32 PIC, the first thing of many syscalls does is to call __x86.get_pc_thunk.reg to load PC into reg in case there is an error, which is required for setting errno. In most cases, there are no errors. But we still call __x86.get_pc_thunk.reg. This patch adds INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN so that i386 can optimize setting errno by branching to the internal __syscall_error without PLT. INLINE_SYSCALL_ERROR_RETURN is designed to take the negative error number returned from the majority of Linux kernels for which negating is a no-op with INTERNAL_SYSCALL_ERRNO. With i386 INLINE_SYSCALL_RETURN, INLINE_SYSCALL_ERROR_RETURN and i386 syscall inlining optimization for GCC 5, for sysdeps/unix/sysv/linux/fchmodat.c with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <fchmodat>: 0: push %ebx 1: mov 0x14(%esp),%eax 5: mov 0x8(%esp),%ebx 9: mov 0xc(%esp),%ecx d: mov 0x10(%esp),%edx 11: test $0xfffffeff,%eax 16: jne 38 <fchmodat+0x38> 18: test $0x1,%ah 1b: jne 48 <fchmodat+0x48> 1d: mov $0x132,%eax 22: call *%gs:0x10 29: cmp $0xfffff000,%eax 2e: ja 58 <fchmodat+0x58> 30: pop %ebx 31: ret 32: lea 0x0(%esi),%esi 38: pop %ebx 39: mov $0xffffffea,%eax 3e: jmp 3f <fchmodat+0x3f> 3f: R_386_PC32 __syscall_error 43: nop 44: lea 0x0(%esi,%eiz,1),%esi 48: pop %ebx 49: mov $0xffffffa1,%eax 4e: jmp 4f <fchmodat+0x4f> 4f: R_386_PC32 __syscall_error 53: nop 54: lea 0x0(%esi,%eiz,1),%esi 58: pop %ebx 59: jmp 5a <fchmodat+0x5a> 5a: R_386_PC32 __syscall_error instead of <fchmodat>: 0: sub $0x8,%esp 3: mov 0x18(%esp),%eax 7: mov %ebx,(%esp) a: call b <fchmodat+0xb> b: R_386_PC32 __x86.get_pc_thunk.bx f: add $0x2,%ebx 11: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 15: mov %edi,0x4(%esp) 19: test $0xfffffeff,%eax 1e: jne 70 <fchmodat+0x70> 20: test $0x1,%ah 23: jne 88 <fchmodat+0x88> 25: mov 0x14(%esp),%edx 29: mov 0x10(%esp),%ecx 2d: mov 0xc(%esp),%edi 31: xchg %ebx,%edi 33: mov $0x132,%eax 38: call *%gs:0x10 3f: xchg %edi,%ebx 41: cmp $0xfffff000,%eax 46: ja 58 <fchmodat+0x58> 48: mov (%esp),%ebx 4b: mov 0x4(%esp),%edi 4f: add $0x8,%esp 52: ret 53: nop 54: lea 0x0(%esi,%eiz,1),%esi 58: mov 0x0(%ebx),%edx 5a: R_386_TLS_GOTIE __libc_errno 5e: neg %eax 60: mov %eax,%gs:(%edx) 63: mov $0xffffffff,%eax 68: jmp 48 <fchmodat+0x48> 6a: lea 0x0(%esi),%esi 70: mov 0x0(%ebx),%eax 72: R_386_TLS_GOTIE __libc_errno 76: movl $0x16,%gs:(%eax) 7d: mov $0xffffffff,%eax 82: jmp 48 <fchmodat+0x48> 84: lea 0x0(%esi,%eiz,1),%esi 88: mov 0x0(%ebx),%eax 8a: R_386_TLS_GOTIE __libc_errno 8e: movl $0x5f,%gs:(%eax) 95: mov $0xffffffff,%eax 9a: jmp 48 <fchmodat+0x48> * sysdeps/unix/sysdep.h (INLINE_SYSCALL_RETURN): New. (INLINE_SYSCALL_ERROR_RETURN): Likewise. * sysdeps/unix/sysv/linux/adjtime.c (ADJTIME): Use INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN. * sysdeps/unix/sysv/linux/aio_sigqueue.c (__aio_sigqueue): Likewise. * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. * sysdeps/unix/sysv/linux/eventfd.c (eventfd): Likewise. * sysdeps/unix/sysv/linux/faccessat.c (faccessat): Likewise. * sysdeps/unix/sysv/linux/fchmodat.c (fchmodat): Likewise. * sysdeps/unix/sysv/linux/fcntl.c (do_fcntl): Likewise. * sysdeps/unix/sysv/linux/fstatfs64.c (__fstatfs64): Likewise. * sysdeps/unix/sysv/linux/ftruncate64.c (__ftruncate64): Likewise. * sysdeps/unix/sysv/linux/futimens.c (futimens): Likewise. * sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise. * sysdeps/unix/sysv/linux/futimesat.c (futimesat): Likewise. * sysdeps/unix/sysv/linux/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/fxstat64.c (___fxstat64): Likewise. * sysdeps/unix/sysv/linux/fxstatat.c (__fxstatat): Likewise. * sysdeps/unix/sysv/linux/fxstatat64.c (__fxstatat64): Likewise. * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Likewise. * sysdeps/unix/sysv/linux/getpriority.c (__getpriority): Likewise. * sysdeps/unix/sysv/linux/getrlimit64.c (__getrlimit64): Likewise. * sysdeps/unix/sysv/linux/llseek.c (__llseek): Likewise. * sysdeps/unix/sysv/linux/lutimes.c (lutimes): Likewise. * sysdeps/unix/sysv/linux/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/lxstat64.c (___lxstat64): Likewise. * sysdeps/unix/sysv/linux/mmap64.c (__mmap64): Likewise. * sysdeps/unix/sysv/linux/mq_close.c (mq_close): Likewise. * sysdeps/unix/sysv/linux/mq_open.c (__mq_open): Likewise. * sysdeps/unix/sysv/linux/mq_unlink.c (mq_unlink): Likewise. * sysdeps/unix/sysv/linux/msgget.c (msgget): Likewise. * sysdeps/unix/sysv/linux/prlimit.c (prlimit): Likewise. * sysdeps/unix/sysv/linux/pt-raise.c (raise): Likewise. * sysdeps/unix/sysv/linux/raise.c (raise): Likewise. * sysdeps/unix/sysv/linux/readahead.c (__readahead): Likewise. * sysdeps/unix/sysv/linux/reboot.c (reboot): Likewise. * sysdeps/unix/sysv/linux/semget.c (semget): Likewise. * sysdeps/unix/sysv/linux/semop.c (semop): Likewise. * sysdeps/unix/sysv/linux/semtimedop.c (semtimedop): Likewise. * sysdeps/unix/sysv/linux/setrlimit64.c (setrlimit64): Likewise. * sysdeps/unix/sysv/linux/shmat.c (shmat): Likewise. * sysdeps/unix/sysv/linux/shmdt.c (shmdt): Likewise. * sysdeps/unix/sysv/linux/shmget.c (shmget): Likewise. * sysdeps/unix/sysv/linux/signalfd.c (signalfd): Likewise. * sysdeps/unix/sysv/linux/sigpending.c (sigpending): Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c ( __sigprocmask): Likewise. * sysdeps/unix/sysv/linux/sigqueue.c (__sigqueue): Likewise. * sysdeps/unix/sysv/linux/speed.c (cfsetospeed): Likewise. * sysdeps/unix/sysv/linux/statfs64.c (__statfs64): Likewise. * sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise. * sysdeps/unix/sysv/linux/tcsendbrk.c (tcsendbreak): Likewise. * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise. * sysdeps/unix/sysv/linux/timer_getoverr.c (timer_getoverrun): Likewise. * sysdeps/unix/sysv/linux/timer_gettime.c (timer_gettime): Likewise. * sysdeps/unix/sysv/linux/timer_settime.c (timer_settime): Likewise. * sysdeps/unix/sysv/linux/truncate64.c (truncate64): Likewise. * sysdeps/unix/sysv/linux/ustat.c (ustat): Likewise. * sysdeps/unix/sysv/linux/utimensat.c (utimensat): Likewise. * sysdeps/unix/sysv/linux/utimes.c (__utimes): Likewise. * sysdeps/unix/sysv/linux/xmknod.c (__xmknod): Likewise. * sysdeps/unix/sysv/linux/xmknodat.c (__xmknodat): Likewise. * sysdeps/unix/sysv/linux/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/xstat64.c (___xstat64): Likewise. * sysdeps/unix/sysv/linux/xstatconv.c (__xstat_conv): Likewise. (__xstat64_conv): Likewise. (__xstat32_conv): Likewise. * sysdeps/unix/sysv/linux/sched_getaffinity.c (__sched_getaffinity_new): Add libc_hidden_proto and libc_hidden_def. Use INLINE_SYSCALL_ERROR_RETURN. -----------------------------------------------------------------------
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/i386 has been created at a4b8d717a40dfe2cee7c964d3b9142ca6a4d6ae1 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a4b8d717a40dfe2cee7c964d3b9142ca6a4d6ae1 commit a4b8d717a40dfe2cee7c964d3b9142ca6a4d6ae1 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:06:59 2015 -0700 Call __setcontext with HIDDEN_JUMPTARGET i386 __makecontext should call __setcontext with HIDDEN_JUMPTARGET. [BZ #18822] * sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): Don't load %ebx when calling __setcontext. Call __setcontext with HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/i386/setcontext.S (__setcontext): Add libc_hidden_def. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b83dd89d1fce6feda7ff071bf4e7b54f7c5fc50f commit b83dd89d1fce6feda7ff071bf4e7b54f7c5fc50f Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:02:39 2015 -0700 Mark __xstatXX_conv as hidden __xstat_conv, __xstat64_conv and __xstat32_conv are internal to glibc. They should be marked as hidden so that they can't be called without PLT. [BZ #18822] * sysdeps/unix/sysv/linux/xstatconv.h (__xstat_conv): Add attribute_hidden. (__xstat64_conv): Likewise. (__xstat32_conv): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2022fd7beada9482ac39386fdd526a475021be1e commit 2022fd7beada9482ac39386fdd526a475021be1e Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Aug 12 12:10:06 2015 -0700 i386: Remove syscall assembly codes with 6 arguments This patch removes i386 assembly implementation for epoll_wait, mmap, mmap64, semtimeop now that i386 have 6 argument syscall support from C code and GCC 5 can inline syscalls with 6 argument. We also compile epoll_pwait.c, mmap.c, mmap64.c and semtimedop.c with -fomit-frame-pointer since %ebp may be used to pass the 6th argument to syscall. Fo sysdeps/unix/sysv/linux/i386/mmap.c, with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <__mmap>: 0: sub $0x10,%esp 3: mov 0x28(%esp),%eax 7: mov %ebx,(%esp) a: mov 0x18(%esp),%ecx e: mov %esi,0x4(%esp) 12: mov 0x14(%esp),%ebx 16: mov %edi,0x8(%esp) 1a: mov 0x1c(%esp),%edx 1e: test $0xfff,%eax 23: mov 0x20(%esp),%esi 27: mov %ebp,0xc(%esp) 2b: mov 0x24(%esp),%edi 2f: jne 60 <__mmap+0x60> 31: sar $0xc,%eax 34: mov %eax,%ebp 36: mov $0xc0,%eax 3b: call *%gs:0x10 42: cmp $0xfffff000,%eax 47: ja 65 <__mmap+0x65> 49: mov (%esp),%ebx 4c: mov 0x4(%esp),%esi 50: mov 0x8(%esp),%edi 54: mov 0xc(%esp),%ebp 58: add $0x10,%esp 5b: ret 5c: lea 0x0(%esi,%eiz,1),%esi 60: mov $0xffffffea,%eax 65: mov (%esp),%ebx 68: mov 0x4(%esp),%esi 6c: mov 0x8(%esp),%edi 70: mov 0xc(%esp),%ebp 74: add $0x10,%esp 77: jmp 78 <__mmap+0x78> 78: R_386_PC32 __syscall_error vs sysdeps/unix/sysv/linux/i386/mmap.S: <__mmap>: 0: push %ebp 1: push %ebx 2: push %esi 3: push %edi 4: mov 0x14(%esp),%ebx 8: mov 0x18(%esp),%ecx c: mov 0x1c(%esp),%edx 10: mov 0x20(%esp),%esi 14: mov 0x24(%esp),%edi 18: mov 0x28(%esp),%ebp 1c: test $0xfff,%ebp 22: mov $0xffffffea,%eax 27: jne 38 <__mmap+0x38> 29: shr $0xc,%ebp 2c: mov $0xc0,%eax 31: call *%gs:0x10 38: pop %edi 39: pop %esi 3a: pop %ebx 3b: pop %ebp 3c: cmp $0xfffff000,%eax 41: ja 44 <__mmap+0x44> 43: ret 44: call 45 <__mmap+0x45> 45: R_386_PC32 __x86.get_pc_thunk.cx 49: add $0x2,%ecx 4b: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 4f: mov 0x0(%ecx),%ecx 51: R_386_TLS_GOTIE __libc_errno 55: neg %eax 57: mov %eax,%gs:(%ecx) 5a: or $0xffffffff,%eax 5d: ret The C version has: 3: mov 0x28(%esp),%eax ... 1e: test $0xfff,%eax ... 31: sar $0xc,%eax 34: mov %eax,%ebp is due to missing $ebx register constraint for inline asm. We have to use "r" constraint with register unsigned int _a6 asm ("ebp") = (unsigned int) (arg6); and compiler chose %eax for offset (arg6) in if (offset & ((1 << MMAP_PAGE_SHIFT) - 1)) * sysdeps/unix/sysv/linux/i386/Makefile (CFLAGS-epoll_pwait.c): Add -fomit-frame-pointer. (CFLAGS-mmap.c): Likewise. (CFLAGS-mmap64.c): Likewise. (CFLAGS-semtimedop.c): Likewise. * sysdeps/unix/sysv/linux/i386/mmap.c: New file. * sysdeps/unix/sysv/linux/i386/epoll_pwait.S: Remove file. * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise. * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise. * sysdeps/unix/sysv/linux/i386/semtimedop.S: Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e28f8428d5904e61d993896589894c428dbf35b6 commit e28f8428d5904e61d993896589894c428dbf35b6 Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Aug 12 09:13:29 2015 -0700 Optimize i386 syscall inlining Define INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN so that i386 can optimize setting errno by branching to the internal __syscall_error without PLT. Since GCC 5 and above can properly spill %ebx when needed, we can inline syscalls with 6 arguments if GCC 5 or above is used to compile glibc. This patch rewrites INTERNAL_SYSCALL macros and skips __libc_do_syscall for GCC 5. For sysdeps/unix/sysv/linux/i386/brk.c, with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <__brk>: 0: push %ebx 1: mov $0x2d,%eax 6: mov 0x8(%esp),%ebx a: call b <__brk+0xb> b: R_386_PC32 __x86.get_pc_thunk.dx f: add $0x2,%edx 11: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 15: call *%gs:0x10 1c: mov 0x0(%edx),%edx 1e: R_386_GOT32 __curbrk 22: cmp %eax,%ebx 24: mov %eax,(%edx) 26: ja 30 <__brk+0x30> 28: xor %eax,%eax 2a: pop %ebx 2b: ret instead of <__brk>: 0: push %ebx 1: mov 0x8(%esp),%ecx 5: call 6 <__brk+0x6> 6: R_386_PC32 __x86.get_pc_thunk.bx a: add $0x2,%ebx c: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 10: xchg %ecx,%ebx 12: mov $0x2d,%eax 17: call *%gs:0x10 1e: xchg %ecx,%ebx 20: mov %eax,%edx 22: mov 0x0(%ebx),%eax 24: R_386_GOT32 __curbrk 28: mov %edx,(%eax) 2a: xor %eax,%eax 2c: cmp %edx,%ecx 2e: ja 38 <__brk+0x38> 30: pop %ebx 31: ret The new one is shorter by 2 instructions. * sysdeps/unix/sysv/linux/i386/Makefile [$(subdir) == csu] (sysdep-dl-routines): Add sysdep. [$(subdir) == nptl] (libpthread-routines): Likewise. [$(subdir) == rt] (librt-routines): Likewise. * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Add INTERNAL_SYSCALL_DECL. Use INLINE_SYSCALL_ERROR_RETURN. * sysdeps/unix/sysv/linux/i386/clone.S (__clone): Don't check PIC when branching to SYSCALL_ERROR_LABEL. * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Use INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN. (__libc_fcntl): Likewise. * sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/i386/fxstatat.c (__fxstatat): Likewise. * sysdeps/unix/sysv/linux/i386/getmsg.c (getmsg): Likewise. * sysdeps/unix/sysv/linux/i386/lockf64.c (lockf64): Likewise. * sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/i386/msgctl.c (__old_msgctl): Likewise. (__new_msgctl): Likewise. * sysdeps/unix/sysv/linux/i386/putmsg.c (putmsg): Likewise. * sysdeps/unix/sysv/linux/i386/semctl.c (__old_semctl): Likewise. (__new_semctl): Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Likewise. * sysdeps/unix/sysv/linux/i386/setgid.c (__setgid): Likewise. * sysdeps/unix/sysv/linux/i386/setgroups.c (setgroups): Likewise. * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise. * sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Likewise. * sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Likewise. * sysdeps/unix/sysv/linux/i386/shmctl.c (__old_shmctl): Likewise. (__new_shmctl): Likewise. * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Likewise. * sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/i386/libc-do-syscall.S (__libc_do_syscall): Defined only if !__GNUC_PREREQ (5,0). * sysdeps/unix/sysv/linux/i386/sysdep.S: Removed. * sysdeps/unix/sysv/linux/i386/sysdep.c: New file. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define assembler macros only if !__GNUC_PREREQ (5,0). (SYSCALL_ERROR_LABEL): Changed to __syscall_error. (SYSCALL_ERROR_HANDLER): Changed to empty. (SYSCALL_ERROR_ERRNO): Removed. (SYSCALL_ERROR_HANDLER_TLS_STORE): Likewise. (__syscall_error): New prototype. (INLINE_SYSCALL_RETURN): New. (INLINE_SYSCALL_ERROR_RETURN): Likewise. (LOADREGS_0): Likewise. (ASMARGS_0): Likewise. (LOADREGS_1): Likewise. (ASMARGS_1): Likewise. (LOADREGS_2): Likewise. (ASMARGS_2): Likewise. (LOADREGS_3): Likewise. (ASMARGS_3): Likewise. (LOADREGS_4): Likewise. (ASMARGS_4): Likewise. (LOADREGS_5): Likewise. (ASMARGS_5): Likewise. (LOADREGS_6): Likewise. (ASMARGS_6): Likewise. (INTERNAL_SYSCALL_MAIN_6): Optimize for GCC 5. (INTERNAL_SYSCALL_MAIN_INLINE): Likewise. (INTERNAL_SYSCALL_NCS): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=29d3a250ab66305e74906b81736b870f92b9a2eb commit 29d3a250ab66305e74906b81736b870f92b9a2eb Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 13 15:40:05 2015 -0700 Add INLINE_SYSCALL_RETURN/INLINE_SYSCALL_ERROR_RETURN For ia32 PIC, the first thing of many syscalls does is to call __x86.get_pc_thunk.reg to load PC into reg in case there is an error, which is required for setting errno. In most cases, there are no errors. But we still call __x86.get_pc_thunk.reg. This patch adds INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN so that i386 can optimize setting errno by branching to the internal __syscall_error without PLT. INLINE_SYSCALL_ERROR_RETURN is designed to take the negative error number returned from the majority of Linux kernels for which negating is a no-op with INTERNAL_SYSCALL_ERRNO. With i386 INLINE_SYSCALL_RETURN, INLINE_SYSCALL_ERROR_RETURN and i386 syscall inlining optimization for GCC 5, for sysdeps/unix/sysv/linux/fchmodat.c with -O2 -march=i686 -mtune=generic, GCC 5.2 now generates: <fchmodat>: 0: push %ebx 1: mov 0x14(%esp),%eax 5: mov 0x8(%esp),%ebx 9: mov 0xc(%esp),%ecx d: mov 0x10(%esp),%edx 11: test $0xfffffeff,%eax 16: jne 38 <fchmodat+0x38> 18: test $0x1,%ah 1b: jne 48 <fchmodat+0x48> 1d: mov $0x132,%eax 22: call *%gs:0x10 29: cmp $0xfffff000,%eax 2e: ja 58 <fchmodat+0x58> 30: pop %ebx 31: ret 32: lea 0x0(%esi),%esi 38: pop %ebx 39: mov $0xffffffea,%eax 3e: jmp 3f <fchmodat+0x3f> 3f: R_386_PC32 __syscall_error 43: nop 44: lea 0x0(%esi,%eiz,1),%esi 48: pop %ebx 49: mov $0xffffffa1,%eax 4e: jmp 4f <fchmodat+0x4f> 4f: R_386_PC32 __syscall_error 53: nop 54: lea 0x0(%esi,%eiz,1),%esi 58: pop %ebx 59: jmp 5a <fchmodat+0x5a> 5a: R_386_PC32 __syscall_error instead of <fchmodat>: 0: sub $0x8,%esp 3: mov 0x18(%esp),%eax 7: mov %ebx,(%esp) a: call b <fchmodat+0xb> b: R_386_PC32 __x86.get_pc_thunk.bx f: add $0x2,%ebx 11: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 15: mov %edi,0x4(%esp) 19: test $0xfffffeff,%eax 1e: jne 70 <fchmodat+0x70> 20: test $0x1,%ah 23: jne 88 <fchmodat+0x88> 25: mov 0x14(%esp),%edx 29: mov 0x10(%esp),%ecx 2d: mov 0xc(%esp),%edi 31: xchg %ebx,%edi 33: mov $0x132,%eax 38: call *%gs:0x10 3f: xchg %edi,%ebx 41: cmp $0xfffff000,%eax 46: ja 58 <fchmodat+0x58> 48: mov (%esp),%ebx 4b: mov 0x4(%esp),%edi 4f: add $0x8,%esp 52: ret 53: nop 54: lea 0x0(%esi,%eiz,1),%esi 58: mov 0x0(%ebx),%edx 5a: R_386_TLS_GOTIE __libc_errno 5e: neg %eax 60: mov %eax,%gs:(%edx) 63: mov $0xffffffff,%eax 68: jmp 48 <fchmodat+0x48> 6a: lea 0x0(%esi),%esi 70: mov 0x0(%ebx),%eax 72: R_386_TLS_GOTIE __libc_errno 76: movl $0x16,%gs:(%eax) 7d: mov $0xffffffff,%eax 82: jmp 48 <fchmodat+0x48> 84: lea 0x0(%esi,%eiz,1),%esi 88: mov 0x0(%ebx),%eax 8a: R_386_TLS_GOTIE __libc_errno 8e: movl $0x5f,%gs:(%eax) 95: mov $0xffffffff,%eax 9a: jmp 48 <fchmodat+0x48> * sysdeps/unix/sysdep.h (INLINE_SYSCALL_RETURN): New. (INLINE_SYSCALL_ERROR_RETURN): Likewise. * sysdeps/unix/sysv/linux/adjtime.c (ADJTIME): Use INLINE_SYSCALL_RETURN and INLINE_SYSCALL_ERROR_RETURN. * sysdeps/unix/sysv/linux/aio_sigqueue.c (__aio_sigqueue): Likewise. * sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise. * sysdeps/unix/sysv/linux/eventfd.c (eventfd): Likewise. * sysdeps/unix/sysv/linux/faccessat.c (faccessat): Likewise. * sysdeps/unix/sysv/linux/fchmodat.c (fchmodat): Likewise. * sysdeps/unix/sysv/linux/fcntl.c (do_fcntl): Likewise. * sysdeps/unix/sysv/linux/fstatfs64.c (__fstatfs64): Likewise. * sysdeps/unix/sysv/linux/ftruncate64.c (__ftruncate64): Likewise. * sysdeps/unix/sysv/linux/futimens.c (futimens): Likewise. * sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise. * sysdeps/unix/sysv/linux/futimesat.c (futimesat): Likewise. * sysdeps/unix/sysv/linux/fxstat.c (__fxstat): Likewise. * sysdeps/unix/sysv/linux/fxstat64.c (___fxstat64): Likewise. * sysdeps/unix/sysv/linux/fxstatat.c (__fxstatat): Likewise. * sysdeps/unix/sysv/linux/fxstatat64.c (__fxstatat64): Likewise. * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Likewise. * sysdeps/unix/sysv/linux/getpriority.c (__getpriority): Likewise. * sysdeps/unix/sysv/linux/getrlimit64.c (__getrlimit64): Likewise. * sysdeps/unix/sysv/linux/llseek.c (__llseek): Likewise. * sysdeps/unix/sysv/linux/lutimes.c (lutimes): Likewise. * sysdeps/unix/sysv/linux/lxstat.c (__lxstat): Likewise. * sysdeps/unix/sysv/linux/lxstat64.c (___lxstat64): Likewise. * sysdeps/unix/sysv/linux/mmap64.c (__mmap64): Likewise. * sysdeps/unix/sysv/linux/mq_close.c (mq_close): Likewise. * sysdeps/unix/sysv/linux/mq_open.c (__mq_open): Likewise. * sysdeps/unix/sysv/linux/mq_unlink.c (mq_unlink): Likewise. * sysdeps/unix/sysv/linux/msgget.c (msgget): Likewise. * sysdeps/unix/sysv/linux/prlimit.c (prlimit): Likewise. * sysdeps/unix/sysv/linux/pt-raise.c (raise): Likewise. * sysdeps/unix/sysv/linux/raise.c (raise): Likewise. * sysdeps/unix/sysv/linux/readahead.c (__readahead): Likewise. * sysdeps/unix/sysv/linux/reboot.c (reboot): Likewise. * sysdeps/unix/sysv/linux/semget.c (semget): Likewise. * sysdeps/unix/sysv/linux/semop.c (semop): Likewise. * sysdeps/unix/sysv/linux/semtimedop.c (semtimedop): Likewise. * sysdeps/unix/sysv/linux/setrlimit64.c (setrlimit64): Likewise. * sysdeps/unix/sysv/linux/shmat.c (shmat): Likewise. * sysdeps/unix/sysv/linux/shmdt.c (shmdt): Likewise. * sysdeps/unix/sysv/linux/shmget.c (shmget): Likewise. * sysdeps/unix/sysv/linux/signalfd.c (signalfd): Likewise. * sysdeps/unix/sysv/linux/sigpending.c (sigpending): Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c ( __sigprocmask): Likewise. * sysdeps/unix/sysv/linux/sigqueue.c (__sigqueue): Likewise. * sysdeps/unix/sysv/linux/speed.c (cfsetospeed): Likewise. * sysdeps/unix/sysv/linux/statfs64.c (__statfs64): Likewise. * sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise. * sysdeps/unix/sysv/linux/tcsendbrk.c (tcsendbreak): Likewise. * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise. * sysdeps/unix/sysv/linux/timer_getoverr.c (timer_getoverrun): Likewise. * sysdeps/unix/sysv/linux/timer_gettime.c (timer_gettime): Likewise. * sysdeps/unix/sysv/linux/timer_settime.c (timer_settime): Likewise. * sysdeps/unix/sysv/linux/truncate64.c (truncate64): Likewise. * sysdeps/unix/sysv/linux/ustat.c (ustat): Likewise. * sysdeps/unix/sysv/linux/utimensat.c (utimensat): Likewise. * sysdeps/unix/sysv/linux/utimes.c (__utimes): Likewise. * sysdeps/unix/sysv/linux/xmknod.c (__xmknod): Likewise. * sysdeps/unix/sysv/linux/xmknodat.c (__xmknodat): Likewise. * sysdeps/unix/sysv/linux/xstat.c (__xstat): Likewise. * sysdeps/unix/sysv/linux/xstat64.c (___xstat64): Likewise. * sysdeps/unix/sysv/linux/xstatconv.c (__xstat_conv): Likewise. (__xstat64_conv): Likewise. (__xstat32_conv): Likewise. * sysdeps/unix/sysv/linux/sched_getaffinity.c (__sched_getaffinity_new): Add libc_hidden_proto and libc_hidden_def. Use INLINE_SYSCALL_ERROR_RETURN. -----------------------------------------------------------------------
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 33c898d1607c1b8dac69c76eec289980292ebfc2 (commit) via 7e58ab243de4a89c49eec1521970c2a05c9e4adc (commit) from 3552daa7ac08c8dd2fc59393fc57e0b4e7aec94e (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=33c898d1607c1b8dac69c76eec289980292ebfc2 commit 33c898d1607c1b8dac69c76eec289980292ebfc2 Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Aug 19 04:40:35 2015 -0700 Mark __xstatXX_conv as hidden __xstat_conv, __xstat64_conv and __xstat32_conv are internal to glibc. They should be marked as hidden so that they can't be called without PLT. [BZ #18822] * sysdeps/unix/sysv/linux/xstatconv.h (__xstat_conv): Add attribute_hidden. (__xstat64_conv): Likewise. (__xstat32_conv): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7e58ab243de4a89c49eec1521970c2a05c9e4adc commit 7e58ab243de4a89c49eec1521970c2a05c9e4adc Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Aug 19 04:39:47 2015 -0700 Call __setcontext with HIDDEN_JUMPTARGET i386 __makecontext should call __setcontext with HIDDEN_JUMPTARGET. [BZ #18822] * sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): Don't load %ebx when calling __setcontext. Call __setcontext with HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/i386/setcontext.S (__setcontext): Add libc_hidden_def. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 17 +++++++++++++++++ sysdeps/unix/sysv/linux/i386/makecontext.S | 7 +------ sysdeps/unix/sysv/linux/i386/setcontext.S | 1 + sysdeps/unix/sysv/linux/xstatconv.h | 9 ++++++--- 4 files changed, 25 insertions(+), 9 deletions(-)
(In reply to H.J. Lu from comment #2) > (In reply to joseph@codesourcery.com from comment #1) > > Could you post your tools for identifying such calls? I agree we should > > On x86: > > readelf -rw libc_pic.a | grep " __" | grep R_386_PLT32 | grep -v __GI | awk > '{ print $5 }' | sort | uniq Please use “readelf -rwW”, it avoids truncating the symbols. Do these instances not show up in libc.so.6 because the linker optimizes them to direct calls due to their symbol visibility?
(In reply to Florian Weimer from comment #8) > (In reply to H.J. Lu from comment #2) > > (In reply to joseph@codesourcery.com from comment #1) > > > Could you post your tools for identifying such calls? I agree we should > > > > On x86: > > > > readelf -rw libc_pic.a | grep " __" | grep R_386_PLT32 | grep -v __GI | awk > > '{ print $5 }' | sort | uniq > > Please use “readelf -rwW”, it avoids truncating the symbols. It was a typo. It should be readelf -rW libc_pic.a | grep " __" | grep R_386_PLT32 | grep -v __GI | awk '{ print $5 }' | sort | uniq > Do these instances not show up in libc.so.6 because the linker optimizes > them to direct calls due to their symbol visibility? Yes, and GCC generates different codes with hidden visibility: [hjl@gnu-tools-1 pr67220]$ cat x.i extern void *foo1(void); extern void *foo2(void) __attribute__ ((visibility ("hidden"))); void bar1 (void) { foo1 (); } void bar2 (void) { foo2 (); } [hjl@gnu-tools-1 pr67220]$ gcc -S -O2 -fPIC x.i -m32 [hjl@gnu-tools-1 pr67220]$ cat x.s .file "x.i" .section .text.unlikely,"ax",@progbits .LCOLDB0: .text .LHOTB0: .p2align 4,,15 .globl bar1 .type bar1, @function bar1: .LFB0: .cfi_startproc pushl %ebx .cfi_def_cfa_offset 8 .cfi_offset 3, -8 call __x86.get_pc_thunk.bx addl $_GLOBAL_OFFSET_TABLE_, %ebx subl $8, %esp .cfi_def_cfa_offset 16 call foo1@PLT addl $8, %esp .cfi_def_cfa_offset 8 popl %ebx .cfi_restore 3 .cfi_def_cfa_offset 4 ret .cfi_endproc .LFE0: .size bar1, .-bar1 .section .text.unlikely .LCOLDE0: .text .LHOTE0: .section .text.unlikely .LCOLDB1: .text .LHOTB1: .p2align 4,,15 .globl bar2 .type bar2, @function bar2: .LFB1: .cfi_startproc jmp foo2 .cfi_endproc .LFE1: .size bar2, .-bar2 .section .text.unlikely .LCOLDE1: .text .LHOTE1: .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat .globl __x86.get_pc_thunk.bx .hidden __x86.get_pc_thunk.bx .type __x86.get_pc_thunk.bx, @function __x86.get_pc_thunk.bx: .LFB2: .cfi_startproc movl (%esp), %ebx ret .cfi_endproc .LFE2: .hidden foo2 .ident "GCC: (GNU) 5.2.1 20150929 (Red Hat 5.2.1-3)" .section .note.GNU-stack,"",@progbits [hjl@gnu-tools-1 pr67220]$
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 d95453ef5d9fccac44ab3d4a161d917e7ef6231f (commit) from d3d9c95aefded7716d037e241f9d23a1cccab45a (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=d95453ef5d9fccac44ab3d4a161d917e7ef6231f commit d95453ef5d9fccac44ab3d4a161d917e7ef6231f Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Oct 14 06:33:24 2015 -0700 Avoid PLT when calling __sched_getaffinity_new This patch adds an internal entry for __sched_getaffinity_new so that __sched_getaffinity_old calls __sched_getaffinity_new without going through PLT. [BZ #18822] * sysdeps/unix/sysv/linux/sched_getaffinity.c (__sched_getaffinity_new): Add libc_hidden_proto and libc_hidden_def. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 7 +++++++ sysdeps/unix/sysv/linux/sched_getaffinity.c | 7 +++++++ 2 files changed, 14 insertions(+), 0 deletions(-)
On x86-64, readelf -rW libc_pic.a | grep " __" | grep PLT32 | awk '{ print $5 }' | sort | uniq shows __access __add_to_environ __argp_error __argp_failure __argp_fmtstream_ensure __argp_fmtstream_free __argp_fmtstream_printf __argp_fmtstream_update __argp_fmtstream_write __argp_input __argp_make_fmtstream __argp_state_help __argz_add __argz_add_sep __argz_append __argz_create_sep __asctime_r __assert_fail_base __brk __bsd_getpt __btowc __chdir __chmod __clearenv __closedir __collidx_table_lookup __collseq_table_lookup __dcigettext __dcngettext __drand48_iterate __ecvt_r __endutent __erand48_r __execve __execvpe __fchdir __fcloseall __fcvt_r __fdopendir __fgetgrent_r __fgetpwent_r __fgetsgent_r __fgetspent_r __flockfile __fopen_internal __fopen_maybe_mmap __fstatfs __fstatfs64 __fstatvfs64 __ftruncate __ftruncate64 __funlockfile __fwprintf __fxprintf __gconv __gconv_close __gconv_close_transform __gconv_compare_alias __gconv_compare_alias_cache __gconv_find_shlib __gconv_find_transform __gconv_get_builtin_trans __gconv_get_path __gconv_load_cache __gconv_lookup_cache __gconv_open __gconv_release_cache __gconv_release_shlib __gconv_release_step __gen_tempname __getaliasbyname_r __get_avphys_pages __get_child_max __getclktck __getcwd __getdate_r __getdtablesize __getegid __geteuid __getgid __getgrgid_r __getgrnam_r __getgroups __gethostbyaddr_r __gethostbyname2_r __gethostbyname_r __gethostname __getline __getnetbyaddr_r __getnetbyname_r __getnetgrent_r __get_nprocs __get_nprocs_conf __get_phys_pages __getprotobyname_r __getprotobynumber_r __getpwnam_r __getpwuid_r __getrpcbyname_r __getrpcbynumber_r __getservbyname_r __getservbyport_r __getsgnam_r __get_sol __getspnam_r __gettext_extract_plural __gettext_free_exp __gettextparse __getuid __getutent __getutent_r __getutid __getutid_r __getutline __getutline_r __GI_fwrite __GI_fwrite_unlocked __GI_memcpy __GI_memset __GI_stpcpy __GI_strchr __GI_strcmp __GI_strcpy __GI_strcspn __GI_strncpy __GI_strpbrk __GI_strspn __group_member __guess_grouping __hash_string __hasmntopt __idna_to_ascii_lz __idna_to_unicode_lzlz __ifreq __init_misc __initstate_r __internal_statvfs __ioctl __isatty __jrand48_r __kill __lcong48_r __libc_message __libc_pread64 __libc_print_version ____longjmp_chk __lseek64 __malloc_check_init __mbsnrtowcs __mbsrtowcs __memrchr __mkdir __mktime_internal __mmap __mmap64 __moncontrol __mpn_add_1 __mpn_addmul_1 __mpn_add_n __mpn_cmp __mpn_construct_double __mpn_construct_float __mpn_construct_long_double __mpn_divrem __mpn_extract_double __mpn_extract_long_double __mpn_impn_mul_n __mpn_impn_mul_n_basecase __mpn_impn_sqr_n __mpn_impn_sqr_n_basecase __mpn_lshift __mpn_mul __mpn_mul_1 __mpn_rshift __mpn_sub_1 __mpn_submul_1 __mpn_sub_n __mprotect __mremap __munmap __netlink_close __netlink_free_handle __netlink_open __netlink_request __new_exitfn __nis_hash __nrand48_r __nscd_cache_search __nscd_getai __nscd_getgrgid_r __nscd_getgrnam_r __nscd_getgrouplist __nscd_gethostbyaddr_r __nscd_gethostbyname2_r __nscd_gethostbyname_r __nscd_get_map_ref __nscd_get_nl_timestamp __nscd_getpwnam_r __nscd_getpwuid_r __nscd_getservbyname_r __nscd_getservbyport_r __nscd_innetgr __nscd_setnetgrent __nscd_unmap __nss_endent __nss_ethers_lookup __nss_getent __nss_getent_r __nss_netgroup_lookup __nss_publickey_lookup __nss_setent __offtime __opendir __path_search __pipe2 __posix_openpt __posix_spawn_file_actions_realloc __pread __printf_fphex __profil __pthread_unwind __ptsname_internal __ptsname_r __pututline __pwrite __qecvt_r __qfcvt_r __random __random_r __readdir __readdir64 __readlink __readv __realpath __re_compile_fastmap __regcomp __regexec __regfree __register_printf_specifier __res_vinit __rmdir __rpc_thread_clnt_cleanup __rpc_thread_key_cleanup __rpc_thread_svc_cleanup __rpc_thread_variables __scalbn __scalbnf __scalbnl __sched_setaffinity_new __sched_setparam __seed48_r __setenv __setfpucw __setrlimit __setsid __setstate_r __setutent __sgetsgent_r __sgetspent_r __sigaltstack __sigblock __sigprocmask __sigsetmask __sleep __snprintf __spawni __srand48_r __srandom_r __statfs_chown_restricted __statfs_filesize_max __statfs_link_max __statfs_symlinks __statvfs64 __statvfs_getflags __strchrnul __strcspn_sse2 __strncasecmp __strpbrk_sse2 __strptime_internal __strspn_sse2 __sysinfo __tcgetattr __tdestroy __tls_get_addr __ttyname_r __tz_compute __tz_convert __tzfile_compute __tzfile_default __tzfile_read __tzname_max __tzset __tzset_parse_tz __tzstring __umount2 __unlink __unsetenv __updwtmp __utmpname __vfwprintf __vfwscanf __vstrfmon_l __vswprintf __wcpncpy __wcrtomb __wcscat __wcschrnul __wcslen __wcsmbs_clone_conv __wcsmbs_load_conv __wcsmbs_named_conv __wcsncpy __wcsnlen __wcsnrtombs __wcsrtombs ____wcstod_l_internal ____wcstof_l_internal ____wcstold_l_internal ____wcstol_l_internal ____wcstoul_l_internal ____wcstoull_l_internal __wctrans __wctype __wmemcpy __wmemmove __wmempcpy __writev
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 c75a94449305a8ef4d4fea6f5e2bad3170be6172 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c75a94449305a8ef4d4fea6f5e2bad3170be6172 commit c75a94449305a8ef4d4fea6f5e2bad3170be6172 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=2546cb10b5d76beb7b29a607b902ff63b279fd62 commit 2546cb10b5d76beb7b29a607b902ff63b279fd62 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=56b39a518feb68b045657647938b4a098f742ed3 commit 56b39a518feb68b045657647938b4a098f742ed3 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] * include/sys/statvfs.h (__internal_statvfs): New prototype. (__internal_statvfs64): Likewise. * sysdeps/unix/sysv/linux/fstatvfs.c (__internal_statvfs): Removed. * sysdeps/unix/sysv/linux/fstatvfs64.c (__internal_statvfs64): Likewise. * sysdeps/unix/sysv/linux/statvfs.c (__internal_statvfs): Likewise. * sysdeps/unix/sysv/linux/statvfs64.c (__internal_statvfs64): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b37dedb40a3788f219307fca8ea1dc5eafb8df3a commit b37dedb40a3788f219307fca8ea1dc5eafb8df3a 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=695abbdf691d7742b17ab4801c4ffa849cc31978 commit 695abbdf691d7742b17ab4801c4ffa849cc31978 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. -----------------------------------------------------------------------
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 updated via 4525b44a224c2e89e9dc8d056626487c5afbeef8 (commit) via 39d080565037294558df92ffd596cefa9b28604e (commit) from c75a94449305a8ef4d4fea6f5e2bad3170be6172 (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=4525b44a224c2e89e9dc8d056626487c5afbeef8 commit 4525b44a224c2e89e9dc8d056626487c5afbeef8 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 05:43:12 2017 -0700 unistd.h https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=39d080565037294558df92ffd596cefa9b28604e commit 39d080565037294558df92ffd596cefa9b28604e Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 05:19:36 2017 -0700 Mark internal argz functions with attribute_hidden [BZ #18822] Mark internal argz functions with attribute_hidden to allow direct access to them within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/argz.h (__argz_add): Add attribute_hidden. (__argz_add_sep): Likewise. (__argz_append): Likewise. (__argz_create_sep): Likewise. ----------------------------------------------------------------------- Summary of changes: include/argz.h | 5 ++++ include/unistd.h | 60 ++++++++++++++++++++++++++++------------------------- 2 files changed, 37 insertions(+), 28 deletions(-)
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 bdc7f649114e96f0405bc0b9475820a8e53b2b4c (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=bdc7f649114e96f0405bc0b9475820a8e53b2b4c commit bdc7f649114e96f0405bc0b9475820a8e53b2b4c 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. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. (): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=39d080565037294558df92ffd596cefa9b28604e commit 39d080565037294558df92ffd596cefa9b28604e Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 05:19:36 2017 -0700 Mark internal argz functions with attribute_hidden [BZ #18822] Mark internal argz functions with attribute_hidden to allow direct access to them within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/argz.h (__argz_add): Add attribute_hidden. (__argz_add_sep): Likewise. (__argz_append): Likewise. (__argz_create_sep): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c75a94449305a8ef4d4fea6f5e2bad3170be6172 commit c75a94449305a8ef4d4fea6f5e2bad3170be6172 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=2546cb10b5d76beb7b29a607b902ff63b279fd62 commit 2546cb10b5d76beb7b29a607b902ff63b279fd62 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=56b39a518feb68b045657647938b4a098f742ed3 commit 56b39a518feb68b045657647938b4a098f742ed3 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] * include/sys/statvfs.h (__internal_statvfs): New prototype. (__internal_statvfs64): Likewise. * sysdeps/unix/sysv/linux/fstatvfs.c (__internal_statvfs): Removed. * sysdeps/unix/sysv/linux/fstatvfs64.c (__internal_statvfs64): Likewise. * sysdeps/unix/sysv/linux/statvfs.c (__internal_statvfs): Likewise. * sysdeps/unix/sysv/linux/statvfs64.c (__internal_statvfs64): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b37dedb40a3788f219307fca8ea1dc5eafb8df3a commit b37dedb40a3788f219307fca8ea1dc5eafb8df3a 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=695abbdf691d7742b17ab4801c4ffa849cc31978 commit 695abbdf691d7742b17ab4801c4ffa849cc31978 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. -----------------------------------------------------------------------
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 deleted was bdc7f649114e96f0405bc0b9475820a8e53b2b4c - Log ----------------------------------------------------------------- bdc7f649114e96f0405bc0b9475820a8e53b2b4c Mark internal unistd.h functions with attribute_hidden [BZ #18822] -----------------------------------------------------------------------
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 164061e73738a836683801f15a6cd7282705ebe6 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=164061e73738a836683801f15a6cd7282705ebe6 commit 164061e73738a836683801f15a6cd7282705ebe6 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=39d080565037294558df92ffd596cefa9b28604e commit 39d080565037294558df92ffd596cefa9b28604e Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 05:19:36 2017 -0700 Mark internal argz functions with attribute_hidden [BZ #18822] Mark internal argz functions with attribute_hidden to allow direct access to them within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/argz.h (__argz_add): Add attribute_hidden. (__argz_add_sep): Likewise. (__argz_append): Likewise. (__argz_create_sep): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c75a94449305a8ef4d4fea6f5e2bad3170be6172 commit c75a94449305a8ef4d4fea6f5e2bad3170be6172 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=2546cb10b5d76beb7b29a607b902ff63b279fd62 commit 2546cb10b5d76beb7b29a607b902ff63b279fd62 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=56b39a518feb68b045657647938b4a098f742ed3 commit 56b39a518feb68b045657647938b4a098f742ed3 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] * include/sys/statvfs.h (__internal_statvfs): New prototype. (__internal_statvfs64): Likewise. * sysdeps/unix/sysv/linux/fstatvfs.c (__internal_statvfs): Removed. * sysdeps/unix/sysv/linux/fstatvfs64.c (__internal_statvfs64): Likewise. * sysdeps/unix/sysv/linux/statvfs.c (__internal_statvfs): Likewise. * sysdeps/unix/sysv/linux/statvfs64.c (__internal_statvfs64): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b37dedb40a3788f219307fca8ea1dc5eafb8df3a commit b37dedb40a3788f219307fca8ea1dc5eafb8df3a 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=695abbdf691d7742b17ab4801c4ffa849cc31978 commit 695abbdf691d7742b17ab4801c4ffa849cc31978 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. -----------------------------------------------------------------------
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 65a086db91d4e06074b461b8e99efcebe1416a3f (commit) from 62753d2c09108550650ab83a69e99ca28d8bde3b (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=65a086db91d4e06074b461b8e99efcebe1416a3f commit 65a086db91d4e06074b461b8e99efcebe1416a3f Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 09:31:19 2017 -0700 Mark internal argz functions with attribute_hidden [BZ #18822] Move internal argz function prototypes to include/argz.h and mark them with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. This also brings string/argz.h closer to the gnulib version. [BZ #18822] * include/argz.h (__argz_create_sep): New function prototype. (__argz_append): Likewise. (__argz_add): Likewise. (__argz_add_sep): Likewise. (__argz_delete): Likewise. (__argz_insert): Likewise. (__argz_replace): Likewise. * string/argz.h (__argz_create_sep): Removed. (__argz_append): Likewise. (__argz_add): Likewise. (__argz_add_sep): Likewise. (__argz_delete): Likewise. (__argz_insert): Likewise. (__argz_replace): Likewise. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 18 ++++++++++++++++++ include/argz.h | 32 ++++++++++++++++++++++++++++++++ string/argz.h | 26 -------------------------- 3 files changed, 50 insertions(+), 26 deletions(-)
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 deleted was 164061e73738a836683801f15a6cd7282705ebe6 - Log ----------------------------------------------------------------- 164061e73738a836683801f15a6cd7282705ebe6 Mark internal unistd.h functions with attribute_hidden [BZ #18822] -----------------------------------------------------------------------
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 eadd96f82da352cc3be9c39c3d3fd945fdba5c05 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=eadd96f82da352cc3be9c39c3d3fd945fdba5c05 commit eadd96f82da352cc3be9c39c3d3fd945fdba5c05 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=d9891da1165206a44c46ab20cdb5a371c0a894f7 commit d9891da1165206a44c46ab20cdb5a371c0a894f7 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. [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. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a01cad19620652babe673bb79112e7ffdef8d99d commit a01cad19620652babe673bb79112e7ffdef8d99d 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=8f532804301a4fd17fd969ca9198936646987326 commit 8f532804301a4fd17fd969ca9198936646987326 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=0f6d11758fea1b27e3d55a588f71863e9344b1a4 commit 0f6d11758fea1b27e3d55a588f71863e9344b1a4 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=347991760ece40bdd82f8afa58a27d496a44ca1e commit 347991760ece40bdd82f8afa58a27d496a44ca1e 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=aa8344ac8c4e839c26bdde15b0884ced37b4aa8e commit aa8344ac8c4e839c26bdde15b0884ced37b4aa8e 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=5befb646301c3560c9e2e2263671707a95a9db15 commit 5befb646301c3560c9e2e2263671707a95a9db15 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=8cba4573f6f0eaa6b4d74ee6e3a2389fb7c5e207 commit 8cba4573f6f0eaa6b4d74ee6e3a2389fb7c5e207 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=c0b4dad408f7c520157de29c8413bf6aaf6b7f49 commit c0b4dad408f7c520157de29c8413bf6aaf6b7f49 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=103e7a4f0373af81803ca1640c11df64b60ebbe0 commit 103e7a4f0373af81803ca1640c11df64b60ebbe0 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=61fc22c5a54323868e703048008dc1b41dd07b27 commit 61fc22c5a54323868e703048008dc1b41dd07b27 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=681208b48ddac19e0bcf485c85e7429e5183032f commit 681208b48ddac19e0bcf485c85e7429e5183032f 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. -----------------------------------------------------------------------
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 7550717ed747c90afe49fcd590c4acc3ccade56a (commit) from c181840c93d3a8fcb50991b2326c40f34eb5e82b (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=7550717ed747c90afe49fcd590c4acc3ccade56a commit 7550717ed747c90afe49fcd590c4acc3ccade56a Author: H.J. Lu <hjl.tools@gmail.com> Date: Sat Aug 19 16:46:33 2017 -0700 Mark internal SSE2 functions with attribute_hidden [BZ #18822] Mark internal SSE2 functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * sysdeps/x86_64/multiarch/strcspn-c.c (STRCSPN_SSE2): Add attribute_hidden. (__strspn_sse2): Likewise. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 7 +++++++ sysdeps/x86_64/multiarch/strcspn-c.c | 2 +- sysdeps/x86_64/multiarch/strspn-c.c | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-)
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 deleted was eadd96f82da352cc3be9c39c3d3fd945fdba5c05 - Log ----------------------------------------------------------------- eadd96f82da352cc3be9c39c3d3fd945fdba5c05 Mark internal wchar functions with attribute_hidden [BZ #18822] -----------------------------------------------------------------------
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. -----------------------------------------------------------------------
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 deleted was 4398782f195aacd0304a36f866529ece41288735 - Log ----------------------------------------------------------------- 4398782f195aacd0304a36f866529ece41288735 Mark internal stdlib functions with attribute_hidden [BZ #18822] -----------------------------------------------------------------------
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 8dc276e1516cfd361e33f6c9e35283e3c5ddf751 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8dc276e1516cfd361e33f6c9e35283e3c5ddf751 commit 8dc276e1516cfd361e33f6c9e35283e3c5ddf751 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=1de0edd0ee461b83b9b64c9c657cdeff3a61a05b commit 1de0edd0ee461b83b9b64c9c657cdeff3a61a05b 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=48c3023672d46ae0c72fbf571181ae7f5971edec commit 48c3023672d46ae0c72fbf571181ae7f5971edec 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=910a9c3a1cb7f84e86c110b4006cdb3d9e214ddf commit 910a9c3a1cb7f84e86c110b4006cdb3d9e214ddf 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=ec51697df17dac50c94ab79e2100292b4c28e625 commit ec51697df17dac50c94ab79e2100292b4c28e625 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=26f669c68a4131ab408934aa7c8454caf5fd4ed6 commit 26f669c68a4131ab408934aa7c8454caf5fd4ed6 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=f83f7ff6324c53198ad618d26d1e5e3fc3c47750 commit f83f7ff6324c53198ad618d26d1e5e3fc3c47750 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=3428d982b04988b7b08b2a6e45dd6f0fdd2b6781 commit 3428d982b04988b7b08b2a6e45dd6f0fdd2b6781 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=98acc47df3a2c11779856b76f8db1adc23a06c1c commit 98acc47df3a2c11779856b76f8db1adc23a06c1c 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=bc432928fbf1987eec9a5f88dc2241fe24abbf72 commit bc432928fbf1987eec9a5f88dc2241fe24abbf72 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=10e6ec841e0876757addf2b62dff8e5ce361a397 commit 10e6ec841e0876757addf2b62dff8e5ce361a397 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=8150bae90e01efb0947396cc8978b24967a48594 commit 8150bae90e01efb0947396cc8978b24967a48594 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=7f16d8a757b46120f014849d0372a4252947ffbe commit 7f16d8a757b46120f014849d0372a4252947ffbe 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=6876672e67fb5e3a71139585ca4c16e43cfed70e commit 6876672e67fb5e3a71139585ca4c16e43cfed70e Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 12:27:59 2017 -0700 Mark internal nss symbols with attribute_hidden [BZ #18822] Mark internal nss symbols with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. Tested on x86-64 with and without --disable-nscd. [BZ #18822] * grp/initgroups.c (__nss_initgroups_database): Removed. * nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise. * nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Add attribute_hidden. * nss/nsswitch.c (__nss_database_custom): Define only if USE_NSCD is defined. (__nss_configure_lookup): Use __nss_database_custom only if USE_NSCD is defined. * nss/nsswitch.h (__nss_database_custom): Declare only if USE_NSCD is defined. Add attribute_hidden. (__nss_setent): Add attribute_hidden. (__nss_endent): Likewise. (__nss_getent_r): Likewise. (__nss_getent): Likewise. (DEFINE_DATABASE): Declare __nss_##arg##_database. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b97ec7b5ea55fcf6b2eb988243f10b4e7b0138e5 commit b97ec7b5ea55fcf6b2eb988243f10b4e7b0138e5 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 12:19:28 2017 -0700 Mark __libc_multiple_libcs with attribute_hidden [BZ #18822] Since __libc_multiple_libcs is defined as hidden symbol in init-first.c, it should be always marked with attribute_hidden. [BZ #18822] * csu/libc-start.c (__libc_multiple_libcs): Removed. * elf/dl-open.c: Include <libc-internal.h>. (__libc_multiple_libcs): Removed. * elf/dl-sysdep.c: Include <libc-internal.h> instead of <hp-timing.h>. * include/libc-internal.h (__libc_multiple_libcs): New. * misc/sbrk.c: Include <libc-internal.h>. (__libc_multiple_libcs): Removed. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=61990e57f1c67981754d9d47ae3cf6fc370c498d commit 61990e57f1c67981754d9d47ae3cf6fc370c498d 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=1540fba43b5fccd82df0808ac6743ca165b7be2f commit 1540fba43b5fccd82df0808ac6743ca165b7be2f 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=032511653de03ecccf7d879242a3b0b506f8accf commit 032511653de03ecccf7d879242a3b0b506f8accf 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=2dff6fce8e0ff39fe50d9caa9925d89eb9e133c3 commit 2dff6fce8e0ff39fe50d9caa9925d89eb9e133c3 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=18d5a36039ae602d5fff997aa978a52d63539099 commit 18d5a36039ae602d5fff997aa978a52d63539099 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=1dc53214ee16c385c5d1e533ad94ef3c4dd86e12 commit 1dc53214ee16c385c5d1e533ad94ef3c4dd86e12 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=21faf24411a7d9b8bd6371b1540c1a1feedab997 commit 21faf24411a7d9b8bd6371b1540c1a1feedab997 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=6c9829a852119f29c64d42a21c9a5259a54aaaa9 commit 6c9829a852119f29c64d42a21c9a5259a54aaaa9 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=070b046190c2c71e4d9e8aa17fb9b0c469c301c2 commit 070b046190c2c71e4d9e8aa17fb9b0c469c301c2 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=85067967ac1a0511abdc225f11b48d8d3e8b3fbd commit 85067967ac1a0511abdc225f11b48d8d3e8b3fbd 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. -----------------------------------------------------------------------
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 2585d7b839559e665d5723734862fbe62264b25d (commit) via c8dfa99c984e4bdc7b5363e23ff0d1e8b26da6e5 (commit) from 91695eb14cadbfbb2ab0f5dddd59fd4e077a04b5 (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=2585d7b839559e665d5723734862fbe62264b25d commit 2585d7b839559e665d5723734862fbe62264b25d Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:46:47 2017 -0700 i386: Hide __old_glob64 [BZ #18822] Hide internal __old_glob64 function to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add libc_hidden_proto and libc_hidden_def. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c8dfa99c984e4bdc7b5363e23ff0d1e8b26da6e5 commit c8dfa99c984e4bdc7b5363e23ff0d1e8b26da6e5 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:45:58 2017 -0700 i386: Hide __old_readdir64 [BZ #18822] Hide internal __old_readdir64 function to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * sysdeps/unix/sysv/linux/i386/olddirent.h (__old_readdir64): Add libc_hidden_proto. * sysdeps/unix/sysv/linux/i386/readdir64.c (__old_readdir64): Add libc_hidden_def. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 14 ++++++++++++++ sysdeps/unix/sysv/linux/i386/glob64.c | 3 +++ sysdeps/unix/sysv/linux/i386/olddirent.h | 1 + sysdeps/unix/sysv/linux/i386/readdir64.c | 2 ++ 4 files changed, 20 insertions(+), 0 deletions(-)
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 deleted was 8dc276e1516cfd361e33f6c9e35283e3c5ddf751 - Log ----------------------------------------------------------------- 8dc276e1516cfd361e33f6c9e35283e3c5ddf751 Hide __readv and __writev [BZ #18822] -----------------------------------------------------------------------
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU C Library master sources". The branch, hjl/pr18822 has been created at b83488990ba01beed026bbabbc78638c0a396bc8 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b83488990ba01beed026bbabbc78638c0a396bc8 commit b83488990ba01beed026bbabbc78638c0a396bc8 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 11:53:06 2017 -0700 Hide internal __ioctl function [BZ #18822] Hide internal __ioctl function to allow direct access within libc.so and libc.a without using GOT nor PLT. __GI___ioctl is defined when sysdeps/unix/syscalls.list is used to generate ioctl. Otherwise libc_hidden_def is needed explicitly. [BZ #18822] * include/sys/ioctl.h (__ioctl): Add libc_hidden_proto. * misc/ioctl.c (__ioctl): Add libc_hidden_def. * sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise. * sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S (__ioctl): Likewise. * sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/ioctl.S (__ioctl): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=55921f3e110a09be5dd27ed246affc6bef55cf88 commit 55921f3e110a09be5dd27ed246affc6bef55cf88 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 11:40:26 2017 -0700 Mark internal intl functions with attribute_hidden [BZ #18822] Mark internal intl functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * intl/gettextP.h (__dcngettext): Add attribute_hidden. (__dcigettext): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1fa501ff0dfd0416fa89d3ce25c142fe8674fd8e commit 1fa501ff0dfd0416fa89d3ce25c142fe8674fd8e Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 11:25:56 2017 -0700 Hide internal sysinfo functions [BZ #18822] Hide internal sysinfo functions to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/sys/sysinfo.h (__get_nprocs_conf): Add libc_hidden_proto. (__get_nprocs): Likewise. (__get_phys_pages): Likewise. (__get_avphys_pages): Likewise. (__get_child_max): Add attribute_hidden. * misc/getsysstats.c (__get_nprocs_conf): Add libc_hidden_def. (__get_nprocs): Likewise. (__get_phys_pages): Likewise. (__get_avphys_pages): Likewise. * sysdeps/mach/getsysstats.c (__get_nprocs_conf): Add libc_hidden_def. (__get_nprocs): Likewise. (__get_phys_pages): Likewise. (__get_avphys_pages): Likewise. * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Add libc_hidden_def. (__get_nprocs_conf): Likewise. (__get_phys_pages): Likewise. (__get_avphys_pages): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8115d0f1830b215b1ba3f9bd003e9a2e63d17f71 commit 8115d0f1830b215b1ba3f9bd003e9a2e63d17f71 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 11:13:02 2017 -0700 Hide __chmod and __mkdir [BZ #18822] Hide internal __chmod and __mkdir functions to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/sys/stat.h (__chmod): Add libc_hidden_proto. (__mkdir): Likewise. * io/chmod.c (__chmod): Add libc_hidden_def. * io/mkdir.c (__mkdir): Likewise. * sysdeps/mach/hurd/chmod.c (__chmod): Likewise. * sysdeps/mach/hurd/mkdir.c (__mkdir): Likewise. * sysdeps/unix/sysv/linux/generic/chmod.c (__chmod): Likewise. * sysdeps/unix/sysv/linux/generic/mkdir.c (__mkdir): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=17f6eeac550a41d44aaa10483f0c26c47c7daaab commit 17f6eeac550a41d44aaa10483f0c26c47c7daaab Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:38:46 2017 -0700 Mark internal netlink functions with attribute_hidden [BZ #18822] Mark internal netlink functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * sysdeps/unix/sysv/linux/netlinkaccess.h (__netlink_open): Add attribute_hidden. (__netlink_close): Likewise. (__netlink_free_handle): Likewise. (__netlink_request): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5249192d316d41fd741bdacb503804d804790205 commit 5249192d316d41fd741bdacb503804d804790205 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:22:10 2017 -0700 Mark internal rpc functions with attribute_hidden [BZ #18822] Mark internal rpc functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/rpc/rpc.h (__rpc_thread_variables): Add attribute_hidden. (__rpc_thread_svc_cleanup): Likewise. (__rpc_thread_clnt_cleanup): Likewise. (__rpc_thread_key_cleanup): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2a307f8d825ea908b9745ea86db82933c4f9a17e commit 2a307f8d825ea908b9745ea86db82933c4f9a17e Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:11:38 2017 -0700 string/stratcliff.c: Replace int with size_t [BZ #21982] Fix GCC 7 errors when string/stratcliff.c is compiled with -O3: stratcliff.c: In function ‘do_test’: cc1: error: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Werror=strict-overflow] [BZ #21982] * string/stratcliff.c (do_test): Declare size, nchars, inner, middle and outer with size_t instead of int. Repleace %d with %Zd in printf. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=18cfd35e2b36ba5fb23d585290ec2ef06341e038 commit 18cfd35e2b36ba5fb23d585290ec2ef06341e038 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 08:05:25 2017 -0700 Hide __readv and __writev [BZ #18822] Hide internal __readv and __writev functions to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/sys/uio.h (__readv): Add libc_hidden_proto. (__writev): Likewise. * misc/readv.c (__readv): Add libc_hidden_def. * misc/writev.c (__writev): Likewise. * sysdeps/posix/readv.c (__readv): Likewise. * sysdeps/posix/writev.c (__writev): Likewise. * sysdeps/unix/sysv/linux/readv.c: Include <sys/uio.h>. (__readv): Likewise. * sysdeps/unix/sysv/linux/writev.c: Include <sys/uio.h>. (__writev): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=06d075c21ccc1c1441525c2c3973a2616a58de3d commit 06d075c21ccc1c1441525c2c3973a2616a58de3d Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 07:28:23 2017 -0700 Hide internal regex functions [BZ #18822] Hide internal regex functions to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/regex.h (__re_compile_fastmap): Add attribute_hidden. (__regcomp): Add libc_hidden_proto. (__regexec): Likewise. (__regfree): Likewise. * posix/regcomp.c (__regcomp): Add libc_hidden_def. (__regfree): Likewise. * posix/regexec.c (__regexec): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c4e5e65757810317fe93dcda9f026b23579348dd commit c4e5e65757810317fe93dcda9f026b23579348dd Author: H.J. Lu <hjl.tools@gmail.com> Date: Sat Aug 19 16:47:56 2017 -0700 Mark internal stdlib functions with attribute_hidden [BZ #18822] Mark internal stdlib functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. __realpath is hidden with libc_hidden_proto and libc_hidden_def since the exported realpath is an alias of __realpath. [BZ #18822] * include/stdlib.h (__random): Add attribute_hidden. (__random_r): Likewise. (__srandom_r): Likewise. (__initstate_r): Likewise. (__setstate_r): Likewise. (__erand48_r): Likewise. (__nrand48_r): Likewise. (__jrand48_r): Likewise. (__srand48_r): Likewise. (__seed48_r): Likewise. (__lcong48_r): Likewise. (__drand48_iterate): Likewise. (__setenv): Likewise. (__unsetenv): Likewise. (__clearenv): Likewise. (__ptsname_r): Likewise. (__posix_openpt): Likewise. (__add_to_environ): Likewise. (__ecvt_r): Likewise. (__fcvt_r): Likewise. (__qecvt_r): Likewise. (__qfcvt_r): Likewise. (__realpath): Add libc_hidden_proto. * stdlib/canonicalize.c (__realpath): Add libc_hidden_def. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=16032280842fd1903c9638dbc9eebdad38b3e12c commit 16032280842fd1903c9638dbc9eebdad38b3e12c Author: H.J. Lu <hjl.tools@gmail.com> Date: Sat Aug 19 16:29:20 2017 -0700 Mark internal utmp functions with attribute_hidden [BZ #18822] Mark internal utmp functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/utmp.h (__updwtmp): Add attribute_hidden. (__utmpname): Likewise. (__getutent): Likewise. (__setutent): Likewise. (__endutent): Likewise. (__getutid): Likewise. (__getutline): Likewise. (__pututline): Likewise. (__getutent_r): Likewise. (__getutid_r): Likewise. (__getutline_r): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5d5d6d6cf9f07170508a60093f9d5af036186d3c commit 5d5d6d6cf9f07170508a60093f9d5af036186d3c Author: H.J. Lu <hjl.tools@gmail.com> Date: Sat Aug 19 16:23:58 2017 -0700 Mark internal dirent functions with attribute_hidden [BZ #18822] Mark internal dirent functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. __readdir64 is hidden with libc_hidden_proto and libc_hidden_def since the exported readdir64 is an alias of __readdir64. [BZ #18822] * include/dirent.h (__opendir): Always add attribute_hidden. (__fdopendir): Likewise. (__closedir): Likewise. (__readdir): Likewise. (__readdir64): Add libc_hidden_proto. * sysdeps/mach/hurd/readdir64.c (__readdir64): Add libc_hidden_def. * sysdeps/unix/sysv/linux/i386/readdir64.c (__readdir64): Likewise. * sysdeps/unix/sysv/linux/readdir64.c (__readdir64): Likewise. * sysdeps/unix/sysv/linux/wordsize-64/readdir.c (__GI___readdir64): New alias. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4443311e25fa8f9b7ea9e1d89938adaffde749af commit 4443311e25fa8f9b7ea9e1d89938adaffde749af Author: H.J. Lu <hjl.tools@gmail.com> Date: Sat Aug 19 15:49:08 2017 -0700 Mark internal getXXXbyYYY functions with attribute_hidden [BZ #18822] Mark internal getXXXbyYYY functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/aliases.h (__getaliasbyname_r): Add attribute_hidden. * include/netdb.h (__gethostbyaddr_r): Likewise. (__gethostbyname_r): Likewise. (__gethostbyname2_r): Likewise. (__getnetbyaddr_r): Likewise. (__getnetbyname_r): Likewise. (__getservbyname_r): Likewise. (__getservbyport_r): Likewise. (__getprotobyname_r): Likewise. (__getprotobynumber_r): Likewise. (__getnetgrent_r): Likewise. * include/rpc/netdb.h (__getrpcbyname_r): Likewise. (__getrpcbynumber_r): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4daa71f7e1a877e2f0121cf203ec8e3ff1f0ddf4 commit 4daa71f7e1a877e2f0121cf203ec8e3ff1f0ddf4 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sat Aug 19 15:45:30 2017 -0700 Mark internal stdio functions with attribute_hidden [BZ #18822] Mark internal stdio functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/stdio.h (__fcloseall): Add attribute_hidden. (__getline): Likewise. (__path_search): Likewise. (__gen_tempname): Likewise. (__libc_message): Likewise. (__flockfile): Likewise. (__funlockfile): Likewise. (__fxprintf): Likewise. (__fxprintf_nocancel): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9ac9ad43638872a6c58a06d042f341cee426ff4f commit 9ac9ad43638872a6c58a06d042f341cee426ff4f Author: H.J. Lu <hjl.tools@gmail.com> Date: Sat Aug 19 15:44:27 2017 -0700 Mark internal gshadow functions with attribute_hidden [BZ #18822] Mark internal gshadow functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/gshadow.h (__fgetsgent_r): Add attribute_hidden. (__sgetsgent_r): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=38d9702e43bdd7420f189ff3c508f62cccc27c98 commit 38d9702e43bdd7420f189ff3c508f62cccc27c98 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sat Aug 19 15:37:42 2017 -0700 Mark internal statfs functions with attribute_hidden [BZ #18822] Mark internal statfs functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/sys/statfs.h (__fstatfs): Add attribute_hidden. (__statfs64): Likewise. (__fstatfs64): Likewise. * include/sys/statvfs.h (__statvfs64): Likewise. (__fstatvfs64): Likewise. * sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max): Likewise. (__statfs_filesize_max): Likewise. (__statfs_symlinks): Likewise. (__statfs_chown_restricted): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d0fbe0972f9d1622929f7529f128f1d09ac2c5c7 commit d0fbe0972f9d1622929f7529f128f1d09ac2c5c7 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 17:30:29 2017 -0700 Mark internal time functions with attribute_hidden [BZ #18822] Mark internal time functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/time.h (__tzstring): Add attribute_hidden. (__tzfile_read): Likewise. (__tzfile_compute): Likewise. (__tzfile_default): Likewise. (__tzset_parse_tz): Likewise. (__offtime): Likewise. (__asctime_r): Likewise. (__tzset): Likewise. (__tz_convert): Likewise. (__getdate_r): Likewise. (__getclktck): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=bbfeded7ea249143282aa7699c6917b72f82be7b commit bbfeded7ea249143282aa7699c6917b72f82be7b Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 17:16:26 2017 -0700 Mark internal nscd functions with attribute_hidden [BZ #18822] Mark internal nscd functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * nscd/nscd-client.h (__nscd_get_map_ref): Add attribute_hidden. (__nscd_unmap): Likewise. (__nscd_cache_search): Likewise. (__nscd_get_nl_timestamp): Likewise. (__nscd_getpwnam_r): Likewise. (__nscd_getpwuid_r): Likewise. (__nscd_getgrnam_r): Likewise. (__nscd_getgrgid_r): Likewise. (__nscd_gethostbyname_r): Likewise. (__nscd_gethostbyname2_r): Likewise. (__nscd_gethostbyaddr_r): Likewise. (__nscd_getai): Likewise. (__nscd_getgrouplist): Likewise. (__nscd_getservbyname_r): Likewise. (__nscd_getservbyport_r): Likewise. (__nscd_innetgr): Likewise. (__nscd_setnetgrent): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=83d54443aac9cf7e2fc7d413e69752a6d6445942 commit 83d54443aac9cf7e2fc7d413e69752a6d6445942 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 17:04:20 2017 -0700 Mark internal gmp functions with attribute_hidden [BZ #18822] Mark internal gmp functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/gmp.h: Declare internal functions only if _ISOMAC is undefined. (__mpn_extract_double): Add attribute_hidden. (__mpn_extract_long_double): Likewise. (__mpn_extract_float128): Likewise. (__mpn_construct_float): Likewise. (__mpn_construct_double): Likewise. (__mpn_construct_long_double): Likewise. (__mpn_construct_float128): Likewise. (mpn_add_1): Likewise. (mpn_addmul_1): Likewise. (mpn_add_n): Likewise. (mpn_cmp): Likewise. (mpn_divrem): Likewise. (mpn_lshift): Likewise. (mpn_mul): Likewise. (mpn_mul_1): Likewise. (mpn_rshift): Likewise. (mpn_sub_1): Likewise. (mpn_submul_1): Likewise. (mpn_sub_n): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=97f360588bb09faf3d28aeb6eb593d99567bee2d commit 97f360588bb09faf3d28aeb6eb593d99567bee2d Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 13:24:43 2017 -0700 Mark internal wchar functions with attribute_hidden [BZ #18822] Mark internal wchar functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/wchar.h (__wcsnlen): Add attribute_hidden. (__wcscat): Likewise. (__btowc): Likewise. (__wcrtomb): Likewise. (__mbsrtowcs): Likewise. (__wcsrtombs): Likewise. (__mbsnrtowcs): Likewise. (__wcsnrtombs): Likewise. (__wcsncpy): Likewise. (__wcpncpy): Likewise. (__wmemcpy): Likewise. (__wmempcpy): Likewise. (__wmemmove): Likewise. (__wcschrnul): Likewise. (__vfwscanf): Likewise. (__vswprintf): Likewise. (__fwprintf): Likewise. (__vfwprintf): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=23c6fe17377eed56a5d0ef42029398d36379e7be commit 23c6fe17377eed56a5d0ef42029398d36379e7be Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 12:27:59 2017 -0700 Mark internal nss symbols with attribute_hidden [BZ #18822] Mark internal nss symbols with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. Tested on x86-64 with and without --disable-nscd. [BZ #18822] * grp/initgroups.c (__nss_initgroups_database): Removed. * nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise. * nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Add attribute_hidden. * nss/nsswitch.c (__nss_database_custom): Define only if USE_NSCD is defined. (__nss_configure_lookup): Use __nss_database_custom only if USE_NSCD is defined. * nss/nsswitch.h (__nss_database_custom): Declare only if USE_NSCD is defined. Add attribute_hidden. (__nss_setent): Add attribute_hidden. (__nss_endent): Likewise. (__nss_getent_r): Likewise. (__nss_getent): Likewise. (DEFINE_DATABASE): Declare __nss_##arg##_database. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5349bdc6486edb7c597678605788273a37c6423a commit 5349bdc6486edb7c597678605788273a37c6423a Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 12:19:28 2017 -0700 Mark __libc_multiple_libcs with attribute_hidden [BZ #18822] Since __libc_multiple_libcs is defined as hidden symbol in init-first.c, it should be always marked with attribute_hidden. [BZ #18822] * csu/libc-start.c (__libc_multiple_libcs): Removed. * elf/dl-open.c: Include <libc-internal.h>. (__libc_multiple_libcs): Removed. * elf/dl-sysdep.c: Include <libc-internal.h> instead of <hp-timing.h>. * include/libc-internal.h (__libc_multiple_libcs): New. * misc/sbrk.c: Include <libc-internal.h>. (__libc_multiple_libcs): Removed. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a10f5c4d4a45de888e98ace2827bc0dd3a9fa39a commit a10f5c4d4a45de888e98ace2827bc0dd3a9fa39a Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 09:52:52 2017 -0700 Mark __dso_handle as hidden [BZ #18822] Since __dso_handle is always defined by either crtbegin.o from GCC or dso_handle.c, it should be marked as hidden and be passed directly. [BZ #18822] * dlfcn/modatexit.c (foo): Remove __dso_handle check. * dlfcn/modcxaatexit.c (__dso_handle): Remove declaration. * dlfcn/tstatexit.c (__dso_handle): Removed. (main): Don't check __dso_handle. * dlfcn/tstcxaatexit.c (__dso_handle): Removed. (main): Don't check __dso_handle. * include/stdlib.h (__dso_handle): New. * malloc/mtrace.c (__dso_handle): Remove declaration. (mtrace): Pass __dso_handle directly. * nptl/pthread_atfork.c (__dso_handle): Remove declaration. (__pthread_atfork): Pass __dso_handle directly. * nptl/tst-atfork2mod.c (__dso_handle): Removed. * posix/wordexp-test.c (__dso_handle): Remove declaration. (__app_register_atfork): Pass __dso_handle directly. * stdlib/at_quick_exit.c (__dso_handle): Remove declaration. (at_quick_exit): Pass __dso_handle directly. * stdlib/atexit.c (__dso_handle): Remove declaration. (atexit): Pass __dso_handle directly. * stdlib/tst-tls-atexit-lib.c (__dso_handle): Removed. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e9ba8a5feb999d39451e62a703fccea19e4b3fd5 commit e9ba8a5feb999d39451e62a703fccea19e4b3fd5 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 09:23:31 2017 -0700 x86-64: Mark internal symbols with attribute_hidden [BZ #18822] Since __syscall_clock_gettime and __start_context are internal symbols for Linux/x86-64, mark them with attribute_hidden. [BZ #18822] * sysdeps/unix/sysv/linux/x86_64/init-first.c (__syscall_clock_gettime): Add attribute_hidden. * sysdeps/unix/sysv/linux/x86_64/makecontext.c (__start_context): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9fc7bd919d795803058d88b3a9c452a5ee795471 commit 9fc7bd919d795803058d88b3a9c452a5ee795471 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 09:13:03 2017 -0700 x86: Mark VDSO_SYMBOL(getcpu) with attribute_hidden [BZ #18822] VDSO_SYMBOL(getcpu) is defined as hidden in Linux/x86_64 init-first.c and unused for Linux/i386. [BZ #18822] * sysdeps/unix/sysv/linux/x86/libc-vdso.h (VDSO_SYMBOL(getcpu)): Add attribute_hidden. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=6c7f3e3e8402b9a4e63d86ffe416e35356fb3251 commit 6c7f3e3e8402b9a4e63d86ffe416e35356fb3251 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 09:00:24 2017 -0700 Mark internal grp/pwd/shadow functions with attribute_hidden [BZ #18822] Mark internal grp/pwd/shadow functions with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/grp.h (__fgetgrent_r): Add attribute_hidden. (__getgrgid_r): Likewise. (__getgrnam_r): Likewise. * include/pwd.h (__getpwuid_r): Likewise. (__getpwnam_r): Likewise. (__fgetpwent_r): Likewise. * include/shadow.h (__getspnam_r): Likewise. (__sgetspent_r): Likewise. (__fgetspent_r): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5b8d381bfb1a57a0cdbe21e596f96be22b48fba3 commit 5b8d381bfb1a57a0cdbe21e596f96be22b48fba3 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Aug 18 05:43:12 2017 -0700 Mark internal unistd.h functions with attribute_hidden [BZ #18822] Mark internal unistd.h functions with attribute_hidden to allow direct access to them within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/unistd.h (__access): Add attribute_hidden. (__lseek64): Likewise. (__libc_pread64): Likewise. (__pipe2): Likewise. (__sleep): Likewise. (__chdir): Likewise. (__fchdir): Likewise. (__getcwd): Likewise. (__rmdir): Likewise. (__execvpe): Likewise. (__execve): Likewise. (__setsid): Likewise. (__getuid): Likewise. (__geteuid): Likewise. (__getgid): Likewise. (__getegid): Likewise. (__getgroups): Likewise. (__group_member): Likewise. (__ttyname_r): Likewise. (__isatty): Likewise. (__readlink): Likewise. (__unlink): Likewise. (__gethostname): Likewise. (__profil): Likewise. (__getdtablesize): Likewise. (__brk): Likewise. (__ftruncate): Likewise. (__ftruncate64): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=159b3115b41ac9c2471f61dcc6851db1443933d9 commit 159b3115b41ac9c2471f61dcc6851db1443933d9 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 17 13:17:12 2017 -0700 Mark internal argp functions with attribute_hidden [BZ #18822] Mark internal argp functions with attribute_hidden to allow direct access to them within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * argp/argp-fmtstream.c: Include <argp-fmtstream.h>. * argp/argp-fs-xinl.c: Likewise. * argp/argp-help.c: Include <argp.h> and <argp-fmtstream.h>. * argp/argp-parse.c: Include <argp.h>. * argp/argp-xinl.c: Likewise. * include/argp-fmtstream.h: New file. * include/argp.h (__argp_error): Add attribute_hidden. (__argp_failure): Likewise. (__argp_input): Likewise. (__argp_state_help): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2e0b377a5aeac32b88dca6934e826f59f30ad2c5 commit 2e0b377a5aeac32b88dca6934e826f59f30ad2c5 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 17 12:48:28 2017 -0700 Mark ____wcsto*_l_internal functions with attribute_hidden [BZ #18822] Mark ____wcsto*_l_internal functions with attribute_hidden to allow direct access to them within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/wchar.h (____wcstof_l_internal): New prototype. (____wcstod_l_internal): Likewise. (____wcstold_l_internal): Likewise. (____wcstol_l_internal): Likewise. (____wcstoul_l_internal): Likewise. (____wcstoll_l_internal): Likewise. (____wcstoull_l_internal): Likewise. (____wcstof128_l_internal): Likewise. * sysdeps/ieee754/float128/wcstof128.c (____wcstof128_l_internal): Removed. * sysdeps/ieee754/float128/wcstof128_l.c (____wcstof128_l_internal): Likewise. * wcsmbs/wcstod.c (____wcstod_l_internal): Likewise. * wcsmbs/wcstod_l.c (____wcstod_l_internal): Likewise. * wcsmbs/wcstof.c (____wcstof_l_internal): Likewise. * wcsmbs/wcstof_l.c (____wcstof_l_internal): Likewise. * wcsmbs/wcstol_l.c (____wcstol_l_internal): Likewise. * wcsmbs/wcstold.c (____wcstold_l_internal): Likewise. * wcsmbs/wcstold_l.c (____wcstold_l_internal): Likewise. * wcsmbs/wcstoll_l.c (____wcstoll_l_internal): Likewise. * wcsmbs/wcstoul_l.c (____wcstoul_l_internal): Likewise. * wcsmbs/wcstoull_l.c (____wcstoull_l_internal): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=efbe26e56ea10c7cc57ab0fcc2cf66a7728daac7 commit efbe26e56ea10c7cc57ab0fcc2cf66a7728daac7 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 17 12:35:02 2017 -0700 Mark __internal_statvfs[64] with attribute_hidden [BZ #18822] Mark __internal_statvfs[64] with attribute_hidden to allow direct access to them within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * sysdeps/unix/sysv/linux/fstatvfs.c: Include "internal_statvfs.h" instead of <sys/statvfs.h>. (__internal_statvfs): Removed. * sysdeps/unix/sysv/linux/fstatvfs64.c Include "internal_statvfs.h" instead of <sys/statvfs.h>. (__internal_statvfs64): Removed. * sysdeps/unix/sysv/linux/internal_statvfs.c: Include "internal_statvfs.h" instead of <sys/statvfs.h>. * sysdeps/unix/sysv/linux/internal_statvfs.h: New file. * sysdeps/unix/sysv/linux/statvfs.c Include "internal_statvfs.h" instead of <sys/statvfs.h>. (__internal_statvfs): Removed. * sysdeps/unix/sysv/linux/statvfs64.c Include "internal_statvfs.h" instead of <sys/statvfs.h>. (__internal_statvfs64): Removed. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=31e6082f1d21622bd891a8f540f792d0bb423a61 commit 31e6082f1d21622bd891a8f540f792d0bb423a61 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Aug 17 12:26:17 2017 -0700 Mark 3 *_internal functions with attribute_hidden [BZ #18822] Mark __ptsname_internal, __mktime_internal and __fopen_internal with attribute_hidden to allow direct access to them within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/stdlib.h (__ptsname_internal): Add attribute_hidden. * include/time.h (__mktime_internal): Likewise. * libio/iolibio.h (__fopen_internal): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1c182c46d05a739e42e2369cc43cd1cd65246f17 commit 1c182c46d05a739e42e2369cc43cd1cd65246f17 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 13 07:00:22 2017 -0700 Mark internal functions with attribute_hidden [BZ #18822] Mark internal functions with attribute_hidden to allow direct access to internal functions within libc.so and libc.a without using GOT nor PLT. Size comparison of libc.so: On x86-64: text data bss dec hex Before: 1728577 20584 17088 1766249 1af369 After : 1728593 20584 17088 1766265 1af379 The only change is __gconv_release_shlib in iconv/gconv_dl.c is inlined since it is hidden, which increases the code size of gconv_dl.os by 18 bytes. On i686: text data bss dec hex Before: 1869039 11444 11112 1891595 1cdd0b After : 1868635 11444 11112 1891191 1cdb77 The code size is decreased by avoiding GOT/PLT for hidden functions. [BZ #18822] * iconv/gconv_int.h (__gconv_open): Add attribute_hidden. (__gconv_close): Likewise. (__gconv): Likewise. (__gconv_find_transform): Likewise. (__gconv_lookup_cache): Likewise. (__gconv_compare_alias_cache): Likewise. (__gconv_load_cache): Likewise. (__gconv_get_path): Likewise. (__gconv_close_transform): Likewise. (__gconv_release_cache): Likewise. (__gconv_find_shlib): Likewise. (__gconv_release_shlib): Likewise. (__gconv_get_builtin_trans): Likewise. (__gconv_compare_alias): Likewise. * include/dlfcn.h (_dlerror_run): Likewise. * include/stdio.h (__fortify_fail_abort): Likewise. * include/time.h (__tz_compute): Likewise. (__strptime_internal): Likewise. * intl/gettextP.h (_nl_find_domain): Likewise. (_nl_load_domain): Likewise. (_nl_find_msg): Likewise. * intl/plural-exp.h (FREE_EXPRESSION): Likewise. (EXTRACT_PLURAL_EXPRESSION): Likewise. * locale/coll-lookup.h (__collidx_table_lookup): Likewise. * resolv/gai_misc.h (__gai_enqueue_request): Likewise. (__gai_find_request): Likewise. (__gai_remove_request): Likewise. (__gai_notify): Likewise. (__gai_notify_only): Likewise. * sysdeps/generic/aio_misc.h (__aio_sigqueue): Likewise. * sysdeps/generic/ldsodefs.h (_dl_symbol_value): Likewise. (_dl_fini): Likewise. (_dl_non_dynamic_init): Likewise. (_dl_aux_init): Likewise. * sysdeps/i386/machine-gmon.h (mcount_internal): Likewise. * sysdeps/unix/sysv/linux/i386/olddirent.h (__old_getdents64): Likewise. * wcsmbs/wcsmbsload.h (__wcsmbs_load_conv): Likewise. (__wcsmbs_clone_conv): Likewise. (__wcsmbs_named_conv): Likewise. -----------------------------------------------------------------------
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 54e4b8f21590d57ec9a2f2ad81a17c57e3b3984f (commit) via 1dbbb1ec7af9026bbdc6dd265525de0c3958406c (commit) from 2585d7b839559e665d5723734862fbe62264b25d (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=54e4b8f21590d57ec9a2f2ad81a17c57e3b3984f commit 54e4b8f21590d57ec9a2f2ad81a17c57e3b3984f Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Aug 21 05:32:21 2017 -0700 Mark __libc_multiple_libcs with attribute_hidden [BZ #18822] Since __libc_multiple_libcs is defined as hidden symbol in init-first.c, it should be always marked with attribute_hidden. [BZ #18822] * csu/libc-start.c (__libc_multiple_libcs): Removed. * elf/dl-open.c: Include <libc-internal.h>. (__libc_multiple_libcs): Removed. * elf/dl-sysdep.c: Include <libc-internal.h> instead of <hp-timing.h>. * include/libc-internal.h (__libc_multiple_libcs): New. * misc/sbrk.c: Include <libc-internal.h>. (__libc_multiple_libcs): Removed. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1dbbb1ec7af9026bbdc6dd265525de0c3958406c commit 1dbbb1ec7af9026bbdc6dd265525de0c3958406c Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Aug 21 05:31:02 2017 -0700 Mark internal nss symbols with attribute_hidden [BZ #18822] Mark internal nss symbols with attribute_hidden to allow direct access within libc.so and libc.a without using GOT nor PLT. Tested on x86-64 with and without --disable-nscd. [BZ #18822] * grp/initgroups.c (__nss_group_database): Removed. (__nss_initgroups_database): Likewise. * nscd/gai.c (__nss_hosts_database): Likewise. * nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Likewise. * posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise. * posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise. * posix/tst-rfc3484.c (__nss_hosts_database): Likewise. * sysdeps/posix/getaddrinfo.c (__nss_hosts_database): Likewise. * nss/getXXent.c (INTERNAL (REENTRANT_GETNAME)): Add attribute_hidden. * nss/nsswitch.c (__nss_database_custom): Define only if USE_NSCD is defined. (__nss_configure_lookup): Use __nss_database_custom only if USE_NSCD is defined. * nss/nsswitch.h (__nss_database_custom): Declare only if USE_NSCD is defined. Add attribute_hidden. (__nss_setent): Add attribute_hidden. (__nss_endent): Likewise. (__nss_getent_r): Likewise. (__nss_getent): Likewise. (DEFINE_DATABASE): Declare __nss_##arg##_database. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 37 +++++++++++++++++++++++++++++++++++++ csu/libc-start.c | 2 -- elf/dl-open.c | 3 +-- elf/dl-sysdep.c | 2 +- grp/initgroups.c | 2 -- include/libc-internal.h | 2 ++ misc/sbrk.c | 4 +--- nscd/gai.c | 3 --- nss/XXX-lookup.c | 2 -- nss/getXXent.c | 2 +- nss/nsswitch.c | 4 ++++ nss/nsswitch.h | 23 +++++++++++++++-------- posix/tst-rfc3484-2.c | 2 -- posix/tst-rfc3484-3.c | 2 -- posix/tst-rfc3484.c | 2 -- sysdeps/posix/getaddrinfo.c | 1 - 16 files changed, 62 insertions(+), 31 deletions(-)
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 483d70687919ab42c3c6498a99e51b210e5f45ca (commit) from 7b3ce39538c890442a2e46b57bf1911ef7ab8ff8 (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=483d70687919ab42c3c6498a99e51b210e5f45ca commit 483d70687919ab42c3c6498a99e51b210e5f45ca Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Aug 21 05:40:33 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. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 14 ++++++++++++++ sysdeps/unix/sysv/linux/x86/libc-vdso.h | 3 ++- 2 files changed, 16 insertions(+), 1 deletions(-)
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 41e673c1e771075f413f8e8ecd9e108f5ae096d9 (commit) from 568ff4296c72534e49c8d9c83c33f3a0069cccc7 (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=41e673c1e771075f413f8e8ecd9e108f5ae096d9 commit 41e673c1e771075f413f8e8ecd9e108f5ae096d9 Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Aug 21 05:58:39 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. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 8 ++++++++ sysdeps/unix/sysv/linux/x86_64/init-first.c | 2 +- sysdeps/unix/sysv/linux/x86_64/makecontext.c | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-)
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 deleted was b83488990ba01beed026bbabbc78638c0a396bc8 - Log ----------------------------------------------------------------- b83488990ba01beed026bbabbc78638c0a396bc8 Hide internal __ioctl function [BZ #18822] -----------------------------------------------------------------------
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 1410696aaede92ac13171ac7250bcc7d41bbdd72 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1410696aaede92ac13171ac7250bcc7d41bbdd72 commit 1410696aaede92ac13171ac7250bcc7d41bbdd72 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 ioctl. 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=06649921f056311988c722d6b7b60578c3141dca commit 06649921f056311988c722d6b7b60578c3141dca 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=9ffe75b51b6fa7a6848873f3a1a8599e83a9a58d commit 9ffe75b51b6fa7a6848873f3a1a8599e83a9a58d 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=816438f0b94590c9dd9b9e25e848c02e909caba3 commit 816438f0b94590c9dd9b9e25e848c02e909caba3 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=4f53f065ff0adedf184ad0eb365904b318198cde commit 4f53f065ff0adedf184ad0eb365904b318198cde 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=477c60c26f2733bfa7932b5e1c5b1da97ed7f1b1 commit 477c60c26f2733bfa7932b5e1c5b1da97ed7f1b1 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=9aa1cf8c878fc0a3965196ace8166c5fcb505b81 commit 9aa1cf8c878fc0a3965196ace8166c5fcb505b81 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=cfbc0e90818e689b29db019fdd2ff201475e5117 commit cfbc0e90818e689b29db019fdd2ff201475e5117 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=ce655e2acbe6387d35031e2aa70881234a21dac1 commit ce655e2acbe6387d35031e2aa70881234a21dac1 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:11:38 2017 -0700 string/stratcliff.c: Replace int with size_t [BZ #21982] Fix GCC 7 errors when string/stratcliff.c is compiled with -O3: stratcliff.c: In function ‘do_test’: cc1: error: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Werror=strict-overflow] [BZ #21982] * string/stratcliff.c (do_test): Declare size, nchars, inner, middle and outer with size_t instead of int. Repleace %d with %Zd in printf. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f7f85ffbeda0fd26f62db17660b24553f7da29f1 commit f7f85ffbeda0fd26f62db17660b24553f7da29f1 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=ee265573246df91bdf77f28fdda0ae78f6750873 commit ee265573246df91bdf77f28fdda0ae78f6750873 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=fd522820bc61db98d99ba8372ccd2337954883e9 commit fd522820bc61db98d99ba8372ccd2337954883e9 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=f186c1edc566cf66ecca94db4295b545621676c3 commit f186c1edc566cf66ecca94db4295b545621676c3 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=523458c7009d74ded620750d11a9f2908d473a84 commit 523458c7009d74ded620750d11a9f2908d473a84 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=8c7a18bf3de44db5ddbf0f32fc1ec1235fffa00d commit 8c7a18bf3de44db5ddbf0f32fc1ec1235fffa00d 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=a2a07f1af999b385f18c13dd34b04c787513f023 commit a2a07f1af999b385f18c13dd34b04c787513f023 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=7a9429114fc130eb548623d5b3f9d56eddd51e1d commit 7a9429114fc130eb548623d5b3f9d56eddd51e1d 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=5df5a6815931fdb2c95dccf5c331ffc059dd923b commit 5df5a6815931fdb2c95dccf5c331ffc059dd923b 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=3b1e3605fa2e73953f87b61d2a2df057b0766178 commit 3b1e3605fa2e73953f87b61d2a2df057b0766178 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=eabaefac7b4b1c79b4fb7114f39cc64902447717 commit eabaefac7b4b1c79b4fb7114f39cc64902447717 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=d7e24e19bc04107e0b209f26483d92751eedd2f6 commit d7e24e19bc04107e0b209f26483d92751eedd2f6 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=a11e4b7509038cd6d3ace5c92a8d2db2827c785b commit a11e4b7509038cd6d3ace5c92a8d2db2827c785b 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=e7fb5098ab52f70621181b9ccf2bfb9119a24e50 commit e7fb5098ab52f70621181b9ccf2bfb9119a24e50 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=118ab8d99f92a42db0f3fa2ed4c7ebe711c2ca87 commit 118ab8d99f92a42db0f3fa2ed4c7ebe711c2ca87 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=08365c3afffdae09b98b321eb8dbc13683f82801 commit 08365c3afffdae09b98b321eb8dbc13683f82801 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=c409cbbcfe88f14bda113c4b53eb783ec1e2d1c8 commit c409cbbcfe88f14bda113c4b53eb783ec1e2d1c8 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=04a9ff17d0cec055dfbc75884b7caef204694276 commit 04a9ff17d0cec055dfbc75884b7caef204694276 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=4a9b990022506ae3ad955e0aa5fe87688c746a7c commit 4a9b990022506ae3ad955e0aa5fe87688c746a7c 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=587e47437fa9cfb44a47e389069696ce63ac7f99 commit 587e47437fa9cfb44a47e389069696ce63ac7f99 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=ec7d5f8327c9bd4a0000abd6b3f77d8c834279d1 commit ec7d5f8327c9bd4a0000abd6b3f77d8c834279d1 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. -----------------------------------------------------------------------
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 updated via 7730e7a08cc7d50c2476cd07306273fefc4eacd6 (commit) from 1410696aaede92ac13171ac7250bcc7d41bbdd72 (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=7730e7a08cc7d50c2476cd07306273fefc4eacd6 commit 7730e7a08cc7d50c2476cd07306273fefc4eacd6 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. ----------------------------------------------------------------------- Summary of changes: posix/spawn_int.h | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
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 deleted was 7730e7a08cc7d50c2476cd07306273fefc4eacd6 - Log ----------------------------------------------------------------- 7730e7a08cc7d50c2476cd07306273fefc4eacd6 Hide __posix_spawn_file_actions_realloc/__spawni [BZ #18822] -----------------------------------------------------------------------
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 147f4263a5e18d5f0993c611d80e4e6179d73482 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=147f4263a5e18d5f0993c611d80e4e6179d73482 commit 147f4263a5e18d5f0993c611d80e4e6179d73482 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=636814c7415f9d4df94789ac768cde4de697ee01 commit 636814c7415f9d4df94789ac768cde4de697ee01 Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Aug 21 10:20:45 2017 -0700 [PATCH] 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=00e68790ebf691b6df23e4405fc86339d84ba211 commit 00e68790ebf691b6df23e4405fc86339d84ba211 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=be195cb3fa156efc596b15b621aee37e3a69c844 commit be195cb3fa156efc596b15b621aee37e3a69c844 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=d5c86a82fbf6a47e37d438f245a1da7166a90c73 commit d5c86a82fbf6a47e37d438f245a1da7166a90c73 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=a8ca03a013a12616bbc299c53fec78850aca04e7 commit a8ca03a013a12616bbc299c53fec78850aca04e7 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=b51143562514c6e0e80f649ee4272440e6e11fbb commit b51143562514c6e0e80f649ee4272440e6e11fbb 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=3da9afde9eb61f15e160b5de6753c394fab3c09d commit 3da9afde9eb61f15e160b5de6753c394fab3c09d 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=efb119997cdbc823496b998e630dc3b7cbe16d9e commit efb119997cdbc823496b998e630dc3b7cbe16d9e 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=3d6eebe257b8adb9a7c41d457f3e4820a21c55ed commit 3d6eebe257b8adb9a7c41d457f3e4820a21c55ed 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=f5100a6906f2324b1ca0c6199270a38e29a0d9d9 commit f5100a6906f2324b1ca0c6199270a38e29a0d9d9 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=7da9d085aa6e9d651322a9f9b652ac1f17d6c67f commit 7da9d085aa6e9d651322a9f9b652ac1f17d6c67f 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=7c320c7cf0de669131d650536ec50d6ac84f8856 commit 7c320c7cf0de669131d650536ec50d6ac84f8856 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=8e31bc0902b75337232d61ddd99c343576d674b8 commit 8e31bc0902b75337232d61ddd99c343576d674b8 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=0cfe1127b9be5426103329ef890c8583d1f0359b commit 0cfe1127b9be5426103329ef890c8583d1f0359b 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=6abffd33c363806af9a547385dddf920efdf22e1 commit 6abffd33c363806af9a547385dddf920efdf22e1 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=a6d00814899a36c2d767ec6cc1ae82aa1f0d7aa6 commit a6d00814899a36c2d767ec6cc1ae82aa1f0d7aa6 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=63b598c5ddf6062f4c9a0972fe85f727fb48d77a commit 63b598c5ddf6062f4c9a0972fe85f727fb48d77a 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=d83f808afadf1a2000c3e1e55448fd5b57e9c6eb commit d83f808afadf1a2000c3e1e55448fd5b57e9c6eb 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=ac56de9dae87dbc175431c76cb90965a12d25e91 commit ac56de9dae87dbc175431c76cb90965a12d25e91 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=1c1721c26486ea66395f7cfbf8b9b03badfe6f8d commit 1c1721c26486ea66395f7cfbf8b9b03badfe6f8d 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=863c00b0815b9f8eb64e9ec4325e04d21daaddda commit 863c00b0815b9f8eb64e9ec4325e04d21daaddda 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=f203fb8da105d7cfe249fb1aac0b1af80007f3ef commit f203fb8da105d7cfe249fb1aac0b1af80007f3ef 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=db9194ccc95bf6f7c6d6d9dd0109e339a081a968 commit db9194ccc95bf6f7c6d6d9dd0109e339a081a968 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=48228c06133f5edd54fd1edbdcf44c576b467e94 commit 48228c06133f5edd54fd1edbdcf44c576b467e94 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=34897a41d478016df2fe4e2e24b52392288c518f commit 34897a41d478016df2fe4e2e24b52392288c518f 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=68e6d92f12c987f68d805d885494df247c0c4c25 commit 68e6d92f12c987f68d805d885494df247c0c4c25 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=617f57473b863b9f5396ba59036678db38066dda commit 617f57473b863b9f5396ba59036678db38066dda 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=1a69476dcefb5055adac66ac7446c8e301c8f476 commit 1a69476dcefb5055adac66ac7446c8e301c8f476 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=87d73d811e8d7b05440824c5a92cc2472e9d08d6 commit 87d73d811e8d7b05440824c5a92cc2472e9d08d6 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=6be1f3ad56f697dfb2f538978ad61d993d67e128 commit 6be1f3ad56f697dfb2f538978ad61d993d67e128 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=1b550732060e5859afc95e5c1e8a0be3130f165b commit 1b550732060e5859afc95e5c1e8a0be3130f165b 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=d200fab7512cc4de4f551e4824cc6ea595f5d388 commit d200fab7512cc4de4f551e4824cc6ea595f5d388 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=d7beee5515a32e9fa8e9d56297e8a9db7bef8120 commit d7beee5515a32e9fa8e9d56297e8a9db7bef8120 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=9af475099e73958cc16c6077c601a8e34f6d77cb commit 9af475099e73958cc16c6077c601a8e34f6d77cb 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=bd2cb364ff277a6add2957801c628d6aa8ad2753 commit bd2cb364ff277a6add2957801c628d6aa8ad2753 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=9d3aaa1d08866efa08b74fb6fa960bd69b7a7baf commit 9d3aaa1d08866efa08b74fb6fa960bd69b7a7baf 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=96ed4155fa543f125a4f8c5a0167da8546b0261e commit 96ed4155fa543f125a4f8c5a0167da8546b0261e 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=b2a0f09d70e210ab23aaf765cd35e1019487557f commit b2a0f09d70e210ab23aaf765cd35e1019487557f 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=4dbf3d9e7f42d51da437b14b174674349e4bd77c commit 4dbf3d9e7f42d51da437b14b174674349e4bd77c 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. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a7e6555496d95a9c3abe6bb0f3ec9919873b365e commit a7e6555496d95a9c3abe6bb0f3ec9919873b365e Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:11:38 2017 -0700 string/stratcliff.c: Replace int with size_t [BZ #21982] Fix GCC 7 errors when string/stratcliff.c is compiled with -O3: stratcliff.c: In function ‘do_test’: cc1: error: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Werror=strict-overflow] [BZ #21982] * string/stratcliff.c (do_test): Declare size, nchars, inner, middle and outer with size_t instead of int. Repleace %d and %Zd with %zu in printf. -----------------------------------------------------------------------
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 updated via 9756b67d83c5436fec5d8fa17125529d4ad02ac9 (commit) from 147f4263a5e18d5f0993c611d80e4e6179d73482 (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=9756b67d83c5436fec5d8fa17125529d4ad02ac9 commit 9756b67d83c5436fec5d8fa17125529d4ad02ac9 Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Aug 21 14:37:11 2017 -0700 Hide internal printf functions [BZ #18822/21986] Hide internal printf functions to allow direct access within libc.so and libc.a without using GOT nor PLT. Since __guess_grouping has been changed to take 2 arguments by commit a1d84548c8aa7023cd039c85f81b831eef6d4a4c Author: Ulrich Drepper <drepper@redhat.com> Date: Fri Feb 11 18:50:36 2000 +0000 the third argument passed to __guess_grouping is removed. [BZ #18822] [BZ #21986] * include/printf.h (__printf_fphex): Add attribute_hidden. (__guess_grouping): New prototype. * stdio-common/printf_fp.c (__guess_grouping): Removed. * stdio-common/reg-printf.c (__register_printf_specifier): Add libc_hidden_proto and libc_hidden_def. * stdlib/strfmon_l.c (__guess_grouping): Removed. (__vstrfmon_l): Remove the third argument passed to __guess_grouping. ----------------------------------------------------------------------- Summary of changes: include/printf.h | 6 +++++- stdio-common/printf_fp.c | 2 -- stdio-common/reg-printf.c | 2 ++ stdlib/strfmon_l.c | 9 +-------- 4 files changed, 8 insertions(+), 11 deletions(-)
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 deleted was 9756b67d83c5436fec5d8fa17125529d4ad02ac9 - Log ----------------------------------------------------------------- 9756b67d83c5436fec5d8fa17125529d4ad02ac9 Hide internal printf functions [BZ #18822/21986] -----------------------------------------------------------------------
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 450faea0b7d7dff1d755cd0275fe41c5d7bb7913 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=450faea0b7d7dff1d755cd0275fe41c5d7bb7913 commit 450faea0b7d7dff1d755cd0275fe41c5d7bb7913 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=d1fc2e2e4ea620a4177701502a4503a36b0712ed commit d1fc2e2e4ea620a4177701502a4503a36b0712ed 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=2e59eacad01be6a9d9e0410503a11dfa79510d43 commit 2e59eacad01be6a9d9e0410503a11dfa79510d43 Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Aug 22 05:43:49 2017 -0700 [PATCH] 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=b2911cfc1699e907cb60733a56a454826438814f commit b2911cfc1699e907cb60733a56a454826438814f 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=51609d4f64ea271814b91de361f387e721d784fe commit 51609d4f64ea271814b91de361f387e721d784fe Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Aug 21 14:37:11 2017 -0700 Hide internal printf functions [BZ #18822/21986] Hide internal printf functions to allow direct access within libc.so and libc.a without using GOT nor PLT. Since __guess_grouping has been changed to take 2 arguments by commit a1d84548c8aa7023cd039c85f81b831eef6d4a4c Author: Ulrich Drepper <drepper@redhat.com> Date: Fri Feb 11 18:50:36 2000 +0000 the third argument passed to __guess_grouping is removed. [BZ #18822] [BZ #21986] * include/printf.h (__printf_fphex): Add attribute_hidden. (__guess_grouping): New prototype. * stdio-common/printf_fp.c (__guess_grouping): Removed. * stdio-common/reg-printf.c (__register_printf_specifier): Add libc_hidden_proto and libc_hidden_def. * stdlib/strfmon_l.c (__guess_grouping): Removed. (__vstrfmon_l): Remove the third argument passed to __guess_grouping. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=bee48444df3a39b88e67f2faebc86579d2c17dd6 commit bee48444df3a39b88e67f2faebc86579d2c17dd6 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=64715e1de48356a77ff90673df9879a21fdd8c2f commit 64715e1de48356a77ff90673df9879a21fdd8c2f Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Aug 21 10:20:45 2017 -0700 [PATCH] 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=435fa00697b10f8935b23512de6dacf471ff18e8 commit 435fa00697b10f8935b23512de6dacf471ff18e8 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=de6b1283ce67432050346a51439cfa21c5d1d21c commit de6b1283ce67432050346a51439cfa21c5d1d21c 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=148e7646d3a3caa45d18572aa24c95a2bbd32467 commit 148e7646d3a3caa45d18572aa24c95a2bbd32467 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=079e2f4bddb5b968218bdcd7c6f49a3e4c5dc759 commit 079e2f4bddb5b968218bdcd7c6f49a3e4c5dc759 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=bcf6b906d05bc975d346c336e4d971bd21b9546c commit bcf6b906d05bc975d346c336e4d971bd21b9546c 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=2d6f239ca0eec47f7ea965b4ef01cb062f7c7a65 commit 2d6f239ca0eec47f7ea965b4ef01cb062f7c7a65 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=e8861ad2c888af2c2141f653a511995b98f5b993 commit e8861ad2c888af2c2141f653a511995b98f5b993 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=c4bc491b105f87a06bd409ddc9285fb7ae8f88a1 commit c4bc491b105f87a06bd409ddc9285fb7ae8f88a1 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=379b4687a478b6f8b0db93691ecb171f7c46fb03 commit 379b4687a478b6f8b0db93691ecb171f7c46fb03 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=4cfbae33f5d8acaf4f968cc0b39450568a78ffbe commit 4cfbae33f5d8acaf4f968cc0b39450568a78ffbe 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=e4d95f6cefe9e355ccea7581cf639f5447a871f2 commit e4d95f6cefe9e355ccea7581cf639f5447a871f2 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=ccc38c808e50f2e25051daa1564387ad5d91d333 commit ccc38c808e50f2e25051daa1564387ad5d91d333 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=a00b02fe7a5c7ecf118bd72b2c69cf0c38bf8caa commit a00b02fe7a5c7ecf118bd72b2c69cf0c38bf8caa 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=fc57e341a535440f204f6faa07acdf06614a32b6 commit fc57e341a535440f204f6faa07acdf06614a32b6 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=658d7fcae2ed89e468a460c931aff68310fe4095 commit 658d7fcae2ed89e468a460c931aff68310fe4095 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=1380aa68be32b4b6563ec9fdb6329d8becf9c5bd commit 1380aa68be32b4b6563ec9fdb6329d8becf9c5bd 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=a91243f2614cb209e4d57a7dbf53a67e84183b78 commit a91243f2614cb209e4d57a7dbf53a67e84183b78 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=8897d1a1873877a431435787ff55cb250b7231d6 commit 8897d1a1873877a431435787ff55cb250b7231d6 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=d44a6582c6ba72326d018b1e7f48f0645e5f5a1d commit d44a6582c6ba72326d018b1e7f48f0645e5f5a1d 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=159a78acd7b817616f92dedc7e693c0d7faa97ac commit 159a78acd7b817616f92dedc7e693c0d7faa97ac 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=d694bcdf270a78dd9fb9035ef66800dddb68db4b commit d694bcdf270a78dd9fb9035ef66800dddb68db4b 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=51c09b509f86429c5ab66249691530fc88bd42b2 commit 51c09b509f86429c5ab66249691530fc88bd42b2 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=c0395db2ee6fcf71c4d1e236403df04e51cc6134 commit c0395db2ee6fcf71c4d1e236403df04e51cc6134 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=5ddbf9b3ade25be6b89873dc13690ebd08f1186f commit 5ddbf9b3ade25be6b89873dc13690ebd08f1186f 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=454baea4d2422fbdc1b53320d7e7dfd06ab5fcc4 commit 454baea4d2422fbdc1b53320d7e7dfd06ab5fcc4 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=984ed8755170d3e9a257903ba63be3f21a304e6d commit 984ed8755170d3e9a257903ba63be3f21a304e6d 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=c0d40f29a2d2e621785d4ab1b405f894572ecf0c commit c0d40f29a2d2e621785d4ab1b405f894572ecf0c 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=907faf9909cf4cb073836ab6923b56f1c352c997 commit 907faf9909cf4cb073836ab6923b56f1c352c997 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=a074b2025efede9076aa72aaeeef02085d72015f commit a074b2025efede9076aa72aaeeef02085d72015f 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=b8ae5c07cdb68012a08a706a409aa5329fa36c92 commit b8ae5c07cdb68012a08a706a409aa5329fa36c92 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=cf8c488b1a5824c87f65d804ee64d7c5a6689433 commit cf8c488b1a5824c87f65d804ee64d7c5a6689433 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=8cb5f3011dd0e6abd5f3c4c1688a05d6810d1560 commit 8cb5f3011dd0e6abd5f3c4c1688a05d6810d1560 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=79d55c9b81294014eb59d4eb3df5762af7b62570 commit 79d55c9b81294014eb59d4eb3df5762af7b62570 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=ff9259e2341bab80e71ab1bf9e3e952e40952fb1 commit ff9259e2341bab80e71ab1bf9e3e952e40952fb1 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=c0077032903ce829ffc60431ada4d5acad29371b commit c0077032903ce829ffc60431ada4d5acad29371b 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=727d96466452cba0dd36d2ac4434db75e417b721 commit 727d96466452cba0dd36d2ac4434db75e417b721 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=1a010e413f1b92da851b3b7ed292c3e85086fbba commit 1a010e413f1b92da851b3b7ed292c3e85086fbba 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=bfe18e7062830ce88ed66d864c16668a44df9359 commit bfe18e7062830ce88ed66d864c16668a44df9359 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. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c1fb2b4a46f90cbfdd901fc35e1fcd1ca05c6251 commit c1fb2b4a46f90cbfdd901fc35e1fcd1ca05c6251 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:11:38 2017 -0700 string/stratcliff.c: Replace int with size_t [BZ #21982] Fix GCC 7 errors when string/stratcliff.c is compiled with -O3: stratcliff.c: In function ‘do_test’: cc1: error: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Werror=strict-overflow] [BZ #21982] * string/stratcliff.c (do_test): Declare size, nchars, inner, middle and outer with size_t instead of int. Repleace %d and %Zd with %zu in printf. -----------------------------------------------------------------------
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 updated via cdd7907733b81a7cfb1800b5d4560e667f6e76e1 (commit) via 517dd8b6cb0d8b1bc6cc5b8e8bb2bf451dbfeb52 (commit) via 1c3f309b8083aba98b546c5c6df9ef361625e260 (commit) from 450faea0b7d7dff1d755cd0275fe41c5d7bb7913 (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=cdd7907733b81a7cfb1800b5d4560e667f6e76e1 commit cdd7907733b81a7cfb1800b5d4560e667f6e76e1 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=517dd8b6cb0d8b1bc6cc5b8e8bb2bf451dbfeb52 commit 517dd8b6cb0d8b1bc6cc5b8e8bb2bf451dbfeb52 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=1c3f309b8083aba98b546c5c6df9ef361625e260 commit 1c3f309b8083aba98b546c5c6df9ef361625e260 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. ----------------------------------------------------------------------- Summary of changes: include/monetary.h | 3 ++- include/sched.h | 1 + include/sys/resource.h | 1 + posix/sched_setp.c | 1 + resource/setrlimit.c | 1 + sysdeps/mach/hurd/setrlimit.c | 1 + sysdeps/unix/sysv/linux/setrlimit.c | 1 + sysdeps/unix/sysv/linux/setrlimit64.c | 3 +++ 8 files changed, 11 insertions(+), 1 deletions(-)
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 20962acbea349b372311a727621c860006be3fab (commit) from a16e8bc08edca84d507715c66d6cddbbc7ed3b62 (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=20962acbea349b372311a727621c860006be3fab commit 20962acbea349b372311a727621c860006be3fab Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Aug 22 07:47:34 2017 -0700 Hide internal printf functions [BZ #18822/21986] Hide internal printf functions to allow direct access within libc.so and libc.a without using GOT nor PLT. Since __guess_grouping has been changed to take 2 arguments by commit a1d84548c8aa7023cd039c85f81b831eef6d4a4c Author: Ulrich Drepper <drepper@redhat.com> Date: Fri Feb 11 18:50:36 2000 +0000 the third argument passed to __guess_grouping is removed. [BZ #18822] [BZ #21986] * include/printf.h (__printf_fphex): Add attribute_hidden. (__guess_grouping): New prototype. * stdio-common/printf_fp.c (__guess_grouping): Removed. * stdio-common/reg-printf.c (__register_printf_specifier): Add libc_hidden_proto and libc_hidden_def. * stdlib/strfmon_l.c (__guess_grouping): Removed. (__vstrfmon_l): Remove the third argument passed to __guess_grouping. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 13 +++++++++++++ include/printf.h | 6 +++++- stdio-common/printf_fp.c | 2 -- stdio-common/reg-printf.c | 2 ++ stdlib/strfmon_l.c | 9 +-------- 5 files changed, 21 insertions(+), 11 deletions(-)
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 deleted was cdd7907733b81a7cfb1800b5d4560e667f6e76e1 - Log ----------------------------------------------------------------- cdd7907733b81a7cfb1800b5d4560e667f6e76e1 Hide internal __setrlimit function [BZ #18822] -----------------------------------------------------------------------
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 f31badb594afbf564b744944441bd5425526a388 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f31badb594afbf564b744944441bd5425526a388 commit f31badb594afbf564b744944441bd5425526a388 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=2f7f4cb5056eeef0c398e2f216a2f63a7c60417b commit 2f7f4cb5056eeef0c398e2f216a2f63a7c60417b 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=b52122a64b194ecf245b7a9ca52f5e1eba253a35 commit b52122a64b194ecf245b7a9ca52f5e1eba253a35 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=16c66b1b4589040d92a582cf5ceb4b750987991d commit 16c66b1b4589040d92a582cf5ceb4b750987991d 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=f7e136c618437ce39c5a5f2098609baa8cbf08c3 commit f7e136c618437ce39c5a5f2098609baa8cbf08c3 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=1df5b1f0d7aed3ca54416c888e564892585e638f commit 1df5b1f0d7aed3ca54416c888e564892585e638f 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=d6b2a82a5079c305744c89a2ec93dd4f147278bc commit d6b2a82a5079c305744c89a2ec93dd4f147278bc 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=6d435dc68d98b5c026d650ffcf4e7dc6bd333dd0 commit 6d435dc68d98b5c026d650ffcf4e7dc6bd333dd0 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=ba6068f20e7a60a752d3ac659ee5e7a315f8380f commit ba6068f20e7a60a752d3ac659ee5e7a315f8380f 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=54f116265ab84db62fb8d04ef130db8e65f6a741 commit 54f116265ab84db62fb8d04ef130db8e65f6a741 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=d68adfcccd490b1ab84075cf4090bce9ae4af712 commit d68adfcccd490b1ab84075cf4090bce9ae4af712 Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Aug 22 05:43:49 2017 -0700 [PATCH] 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=0c0f6e5c52d57e111ee8a82900f5d3133eb3454a commit 0c0f6e5c52d57e111ee8a82900f5d3133eb3454a 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=e84f1d2c754f59e1a1931614168316da20db9e2c commit e84f1d2c754f59e1a1931614168316da20db9e2c 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=de50b8d4ff452d1b31d6238d8b88960030d5f18d commit de50b8d4ff452d1b31d6238d8b88960030d5f18d Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Aug 21 10:20:45 2017 -0700 [PATCH] 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=b25bde66519c9fd144c4027a3ea9c1c07248b934 commit b25bde66519c9fd144c4027a3ea9c1c07248b934 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=fb0f4f8dcd6874ebb83d080dbdd8887313e6dc94 commit fb0f4f8dcd6874ebb83d080dbdd8887313e6dc94 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=605c0afcf2219d2d1bb1918e884911d52d15bf78 commit 605c0afcf2219d2d1bb1918e884911d52d15bf78 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=70336bbdab5434d82ad35ef22c6e1651d5f5d6de commit 70336bbdab5434d82ad35ef22c6e1651d5f5d6de 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=f8b9350572d0677b84e9b7a59beb752dc173586c commit f8b9350572d0677b84e9b7a59beb752dc173586c 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=8e8dbc0972234d8da634ed2959d89715116ec8ad commit 8e8dbc0972234d8da634ed2959d89715116ec8ad 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=163dcb1ad05e34f197882d1b61b234ceee8a8a8b commit 163dcb1ad05e34f197882d1b61b234ceee8a8a8b 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=ef57a3bf74e2240fad7e438e7ce40c53256119c3 commit ef57a3bf74e2240fad7e438e7ce40c53256119c3 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=7c9ee3fb1668c0b85c0ba98dd06253e29e03a308 commit 7c9ee3fb1668c0b85c0ba98dd06253e29e03a308 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=57324509b13aac823611a7e387f2c326ac897b07 commit 57324509b13aac823611a7e387f2c326ac897b07 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=a6ca55b8a10efa5ce9eb7b5fcfbea3d507c9aa9e commit a6ca55b8a10efa5ce9eb7b5fcfbea3d507c9aa9e 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=30b6fb4f6e63492c2af363756f63d53c6a9e679e commit 30b6fb4f6e63492c2af363756f63d53c6a9e679e 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=4c594711686e31d68da049e854a78d7cb269bcfd commit 4c594711686e31d68da049e854a78d7cb269bcfd 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=3b457394e13f35233d5d8de8fa7e4f7c146f7fee commit 3b457394e13f35233d5d8de8fa7e4f7c146f7fee 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=4a48a782f2eb51e37b837fb58fafdb167d12d1e0 commit 4a48a782f2eb51e37b837fb58fafdb167d12d1e0 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=04e95a82c117aafe4d29aa9dd0a2885625d8db60 commit 04e95a82c117aafe4d29aa9dd0a2885625d8db60 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=368c61d6898ca8f0b814055103f2608b7439380f commit 368c61d6898ca8f0b814055103f2608b7439380f 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=c94f73da2611e38c5a949dc7b61ec496de52098d commit c94f73da2611e38c5a949dc7b61ec496de52098d 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=7ba6e87a8bbbe5aeadc889bc48f92ea687cb150c commit 7ba6e87a8bbbe5aeadc889bc48f92ea687cb150c 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=1737f60f055c5f1a50d521007f11dc9e7ce56872 commit 1737f60f055c5f1a50d521007f11dc9e7ce56872 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=e03708a09e46e185b41fa27747cf68628bb8e3a6 commit e03708a09e46e185b41fa27747cf68628bb8e3a6 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=66673b9c0d2f9b0cd992589fba70a33f15c933ef commit 66673b9c0d2f9b0cd992589fba70a33f15c933ef 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=95765483d2f3db49706feb94ffeeee54fce8f6c5 commit 95765483d2f3db49706feb94ffeeee54fce8f6c5 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=f891a6e4a36ed7adfa4017613d247a3d388b9459 commit f891a6e4a36ed7adfa4017613d247a3d388b9459 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=8ca95b36d3b1a454bb72e70cfd7f72cf6c8e6fee commit 8ca95b36d3b1a454bb72e70cfd7f72cf6c8e6fee 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=83cf20c00023e88f4b86b9169911139f1e2175fe commit 83cf20c00023e88f4b86b9169911139f1e2175fe 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=0895c745067673f2a54d46a489149c28a3266a5b commit 0895c745067673f2a54d46a489149c28a3266a5b 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=21a1ffdcb59064fc4464f3d11745d24667189f67 commit 21a1ffdcb59064fc4464f3d11745d24667189f67 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=b72243ff749d1a9d56115984cc8a9d6bc60be965 commit b72243ff749d1a9d56115984cc8a9d6bc60be965 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=5cf8e8fea84207ab07922d5ad8ed645669c26238 commit 5cf8e8fea84207ab07922d5ad8ed645669c26238 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=d2239f3a6e7cc967e86414ed00040272b225d79f commit d2239f3a6e7cc967e86414ed00040272b225d79f 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=83b5fd25f5a10dd36be30e06aeb2c4d25d5e1065 commit 83b5fd25f5a10dd36be30e06aeb2c4d25d5e1065 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=be7781a61edac91df74838204e6a51e066b992b3 commit be7781a61edac91df74838204e6a51e066b992b3 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=f2f25b83f52112fdf34b51ef73e20c3ae5aafae4 commit f2f25b83f52112fdf34b51ef73e20c3ae5aafae4 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=29248af6252cd051aff33072d098369f6ddcfa15 commit 29248af6252cd051aff33072d098369f6ddcfa15 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=d45c4182a980a449762192cde6043ac1f01ab14c commit d45c4182a980a449762192cde6043ac1f01ab14c 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=251135350a8277b6b8faa1082524b2e280cfa3f3 commit 251135350a8277b6b8faa1082524b2e280cfa3f3 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=c1a4da1f3fbd697b6b92899275f07d501e7800d3 commit c1a4da1f3fbd697b6b92899275f07d501e7800d3 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. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=58eb2b7400f3aa365a69ca0323bd4d60db98e4cf commit 58eb2b7400f3aa365a69ca0323bd4d60db98e4cf Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:11:38 2017 -0700 string/stratcliff.c: Replace int with size_t [BZ #21982] Fix GCC 7 errors when string/stratcliff.c is compiled with -O3: stratcliff.c: In function ‘do_test’: cc1: error: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Werror=strict-overflow] [BZ #21982] * string/stratcliff.c (do_test): Declare size, nchars, inner, middle and outer with size_t instead of int. Repleace %d and %Zd with %zu in printf. -----------------------------------------------------------------------
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 deleted was f31badb594afbf564b744944441bd5425526a388 - Log ----------------------------------------------------------------- f31badb594afbf564b744944441bd5425526a388 Hide internal __libc_print_version function [BZ #18822] -----------------------------------------------------------------------
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 95fcf79a6d5e677a0564b0240e1537a850f1d9c5 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=95fcf79a6d5e677a0564b0240e1537a850f1d9c5 commit 95fcf79a6d5e677a0564b0240e1537a850f1d9c5 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=f7c545f07c41bc8d572a16c46636c6e7a48bd73d commit f7c545f07c41bc8d572a16c46636c6e7a48bd73d 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=2f6ced03ddd5c5ac047135675b9e3ae8c861c200 commit 2f6ced03ddd5c5ac047135675b9e3ae8c861c200 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=394aef5426be5c49037050bd2af3e53e8927cfa7 commit 394aef5426be5c49037050bd2af3e53e8927cfa7 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=a4cbdeacfed10202904d97b3da94a30752b26c52 commit a4cbdeacfed10202904d97b3da94a30752b26c52 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=fd44442e8ca8a338bf9098476e3a1e247b2ced70 commit fd44442e8ca8a338bf9098476e3a1e247b2ced70 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=35f3e2d224d3b82a52985b78d32cc488f8a1e2d4 commit 35f3e2d224d3b82a52985b78d32cc488f8a1e2d4 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=6da2efe05ebb42453193735818aeb6e3c2b12e01 commit 6da2efe05ebb42453193735818aeb6e3c2b12e01 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=2365e0a5a04271096c29e91f2c1aae2fc4ef3d10 commit 2365e0a5a04271096c29e91f2c1aae2fc4ef3d10 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=dd8fceb9e9b3b0d8067edeee6e62a2f0ca4c7adc commit dd8fceb9e9b3b0d8067edeee6e62a2f0ca4c7adc 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=c22b3873edf42f05b4b7e7778d4f3274cc70aeed commit c22b3873edf42f05b4b7e7778d4f3274cc70aeed Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Aug 22 05:43:49 2017 -0700 [PATCH] 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=ef5e81fe08338360d47d7bfd453c8dccd66d9043 commit ef5e81fe08338360d47d7bfd453c8dccd66d9043 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=d66009f84d4b93424901968bbb5346e372180b3c commit d66009f84d4b93424901968bbb5346e372180b3c 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=191d7e20c4bb56e9339ab683137a9ca74e5a4acc commit 191d7e20c4bb56e9339ab683137a9ca74e5a4acc Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Aug 21 10:20:45 2017 -0700 [PATCH] 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=7ccd1ba2b0ded810f2fe0bdc91d13c03d246269e commit 7ccd1ba2b0ded810f2fe0bdc91d13c03d246269e 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=1a4a2ecb97b84e0b1c2c509a542d67ab148c2e42 commit 1a4a2ecb97b84e0b1c2c509a542d67ab148c2e42 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=f459ec611860acbbcf1b75b7a699a60b7b1fa18d commit f459ec611860acbbcf1b75b7a699a60b7b1fa18d 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=988166b0f68ec28fa85159b67ff5dd0481ea429a commit 988166b0f68ec28fa85159b67ff5dd0481ea429a 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=921abf2ef50c52b54393c544bb0461a49a146ee6 commit 921abf2ef50c52b54393c544bb0461a49a146ee6 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=103975140a2e7f64b1e0e6a3b844385d519fe314 commit 103975140a2e7f64b1e0e6a3b844385d519fe314 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=a8890371ccc24db5728b2d77f0ab68c5d38b95c4 commit a8890371ccc24db5728b2d77f0ab68c5d38b95c4 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=4446e886d7c35271c17b2948dc1186ecbebf3f94 commit 4446e886d7c35271c17b2948dc1186ecbebf3f94 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=8ef858fd39b477806bd043f79c34cc8936c47c37 commit 8ef858fd39b477806bd043f79c34cc8936c47c37 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=849d2db30b5559d487762daccdd6f8efb844cbd7 commit 849d2db30b5559d487762daccdd6f8efb844cbd7 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=3ba8fe4da043f6148c69696a93dafcf3643fdcd8 commit 3ba8fe4da043f6148c69696a93dafcf3643fdcd8 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=f40d1c3d2af4105077a29f2cd079394c9bce6b59 commit f40d1c3d2af4105077a29f2cd079394c9bce6b59 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=c17ce9e0d1862dd927a16b7d85f2ee00e137bc95 commit c17ce9e0d1862dd927a16b7d85f2ee00e137bc95 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=2e4d4645806031181ece2f7e44498c6f7e9244d3 commit 2e4d4645806031181ece2f7e44498c6f7e9244d3 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=6e4afcc6d6a03b11d08e7de503a7a1f6df0f1ce1 commit 6e4afcc6d6a03b11d08e7de503a7a1f6df0f1ce1 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=56cc99c89da5e3013728b3819d1ae8fb56946fd8 commit 56cc99c89da5e3013728b3819d1ae8fb56946fd8 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=028152c005dbe9a5f1bc5ec29774012f91a71f3d commit 028152c005dbe9a5f1bc5ec29774012f91a71f3d 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=cf2a9d1ae0e7796aaae5b181a73d0f875c69db65 commit cf2a9d1ae0e7796aaae5b181a73d0f875c69db65 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=7ae6fd06ca5e29d9228b1fa696a55a9dd3fbbd32 commit 7ae6fd06ca5e29d9228b1fa696a55a9dd3fbbd32 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=8a3c5463c019218e3f34a876621549efd788122b commit 8a3c5463c019218e3f34a876621549efd788122b 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=6f200c287af3dc9d6214c4af1a69b8afc0ed966a commit 6f200c287af3dc9d6214c4af1a69b8afc0ed966a 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=2c5f8764135317b38cb5f1b4077367459eb54cbd commit 2c5f8764135317b38cb5f1b4077367459eb54cbd 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=99f35a5294dfd867b54bd22f29599a3dcf87d07c commit 99f35a5294dfd867b54bd22f29599a3dcf87d07c 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=d80e65c239c1e8c93b7f32a9427b99d366aab282 commit d80e65c239c1e8c93b7f32a9427b99d366aab282 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=9b4e2bb9cf95261ae548146915aba3323d74d825 commit 9b4e2bb9cf95261ae548146915aba3323d74d825 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=bd4516d2ffcd237cfc4ac2ee6a1ce46ff8636323 commit bd4516d2ffcd237cfc4ac2ee6a1ce46ff8636323 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=b1ef1b09370f930c217524d7e227a321b93dfd6f commit b1ef1b09370f930c217524d7e227a321b93dfd6f 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=d8a62846cca2f3bca226bb8b199356e740df2202 commit d8a62846cca2f3bca226bb8b199356e740df2202 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=fd2e79b7c38dc763e4efc9da977d524a16492003 commit fd2e79b7c38dc763e4efc9da977d524a16492003 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=0767088859a8d1aeb3ec28cae2d7b3416930caaf commit 0767088859a8d1aeb3ec28cae2d7b3416930caaf 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=9ea0f1509815a5dbc8fa0ff1e6e079e3c595f266 commit 9ea0f1509815a5dbc8fa0ff1e6e079e3c595f266 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=a5f6841022cf2aeff3061929759a6bafe2766041 commit a5f6841022cf2aeff3061929759a6bafe2766041 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=8a37d4d72bec00e5487bfc3cd1661160e14cce6a commit 8a37d4d72bec00e5487bfc3cd1661160e14cce6a 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=de776c75a226b65c1a65ca5be4098164e3729a09 commit de776c75a226b65c1a65ca5be4098164e3729a09 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=d01649314f7309ae259b7ce729a398a6f2f67410 commit d01649314f7309ae259b7ce729a398a6f2f67410 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=ddd20881f975ca1fd604a235503b6473149eebce commit ddd20881f975ca1fd604a235503b6473149eebce 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=ffc6126c97338e7ccaf37a3e10844d7019a90c53 commit ffc6126c97338e7ccaf37a3e10844d7019a90c53 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=4930a49546dd77c15e8e74322e529b3924821c0d commit 4930a49546dd77c15e8e74322e529b3924821c0d 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. -----------------------------------------------------------------------
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 deleted was 95fcf79a6d5e677a0564b0240e1537a850f1d9c5 - Log ----------------------------------------------------------------- 95fcf79a6d5e677a0564b0240e1537a850f1d9c5 Hide internal __libc_print_version function [BZ #18822] -----------------------------------------------------------------------
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 34a40793e28c8004ea0b380bcdd5fc313a7ed47a (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=34a40793e28c8004ea0b380bcdd5fc313a7ed47a commit 34a40793e28c8004ea0b380bcdd5fc313a7ed47a 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=3c5b75e9b40664f2b6eaa8bd687a79b9ddfd8607 commit 3c5b75e9b40664f2b6eaa8bd687a79b9ddfd8607 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=96d2cc1c3d93f60f3d726252348a1f7dbcd0010c commit 96d2cc1c3d93f60f3d726252348a1f7dbcd0010c 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=e7f1be4cf6206406cc45559c553ff91bb042ae8d commit e7f1be4cf6206406cc45559c553ff91bb042ae8d 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=58931c7d48f103cb47f536837beccaa5e9f02379 commit 58931c7d48f103cb47f536837beccaa5e9f02379 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=6f15b75aee67d99ebf2c7346aee5cb1ccac4bbd5 commit 6f15b75aee67d99ebf2c7346aee5cb1ccac4bbd5 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=a72ff44ffe091179aa4ca1d7c9e26888ecc15ffa commit a72ff44ffe091179aa4ca1d7c9e26888ecc15ffa 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=e6843c68f4fbba97996dddbeaeab013e36517155 commit e6843c68f4fbba97996dddbeaeab013e36517155 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=67ac4d1b6e7f4a25ee6de82d758ab10599bc1b16 commit 67ac4d1b6e7f4a25ee6de82d758ab10599bc1b16 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=122a47625ad6bf818191f4942a1040af061581c8 commit 122a47625ad6bf818191f4942a1040af061581c8 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=e6ee58ebbbd4fec7b7032d6cfc3ce5a767fd9f6b commit e6ee58ebbbd4fec7b7032d6cfc3ce5a767fd9f6b 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=0372050339dac0cd30b627e4c52ba344d0fbf02e commit 0372050339dac0cd30b627e4c52ba344d0fbf02e 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=d902d55907e735afaca41b84a02f4c0db69e779f commit d902d55907e735afaca41b84a02f4c0db69e779f 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=3822c7d133b8d4c2a2aaebcb57398c778c135ba7 commit 3822c7d133b8d4c2a2aaebcb57398c778c135ba7 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=9e2ea39aac18b4357b1e813a174dbe648d4b07df commit 9e2ea39aac18b4357b1e813a174dbe648d4b07df 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=efc478b0cf000fb1ef2fba0daf0c93e6554de449 commit efc478b0cf000fb1ef2fba0daf0c93e6554de449 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=297556f334a384569375e543eaba136a46f88e81 commit 297556f334a384569375e543eaba136a46f88e81 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=946cdd1c83feacc09cb8f88d097598f872e45016 commit 946cdd1c83feacc09cb8f88d097598f872e45016 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=48a454bae870dd56456e11d8eff7843b033e49dd commit 48a454bae870dd56456e11d8eff7843b033e49dd 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=bd07e1a27d8ca4e3a7213f5de183c3e92efcefa5 commit bd07e1a27d8ca4e3a7213f5de183c3e92efcefa5 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=652a39fff738582c398d6c5476f0bc4f58840c9c commit 652a39fff738582c398d6c5476f0bc4f58840c9c 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=4b247f5ec05996ec6baa3388a5fb7e146ee5b317 commit 4b247f5ec05996ec6baa3388a5fb7e146ee5b317 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=12f47bc387dde4376c12329741b6248aa2762f30 commit 12f47bc387dde4376c12329741b6248aa2762f30 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=2593d9e1dfbddbbf939ac40cecf71738e3cac60a commit 2593d9e1dfbddbbf939ac40cecf71738e3cac60a 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=86f5b81816e08af57a1520875469c0bbd7884006 commit 86f5b81816e08af57a1520875469c0bbd7884006 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=ee18768110d1a232f153b51cfda791adf1316525 commit ee18768110d1a232f153b51cfda791adf1316525 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=d67de3a8e02711c1daa4fbf565d70265d3fe3776 commit d67de3a8e02711c1daa4fbf565d70265d3fe3776 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=0bd4a5a7569cb21f6d0ec3c623b38b3fbe735716 commit 0bd4a5a7569cb21f6d0ec3c623b38b3fbe735716 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=cc4daefc6847e911e47cf05a5203b94e8008685a commit cc4daefc6847e911e47cf05a5203b94e8008685a 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=fa7eb1d0f23be4182d97be5d02f286d942984784 commit fa7eb1d0f23be4182d97be5d02f286d942984784 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=87d82433aec3c551b8cdb9d3b12c60af241afb83 commit 87d82433aec3c551b8cdb9d3b12c60af241afb83 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=fbde4e718c6e2b51ee3c7ff90fc1db5aa21f858a commit fbde4e718c6e2b51ee3c7ff90fc1db5aa21f858a 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=b671f7745e3b5a2ab7c23dddce43ed7110d71a88 commit b671f7745e3b5a2ab7c23dddce43ed7110d71a88 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=6e263e255b5eb9e578b9b9b704d4e8e3d1b9a83e commit 6e263e255b5eb9e578b9b9b704d4e8e3d1b9a83e 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=a2b3588a4d5e57422a5f14c0c62dd6129351c0d4 commit a2b3588a4d5e57422a5f14c0c62dd6129351c0d4 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=4314385b0b1024cf5d54d019373dc663f6cf49f3 commit 4314385b0b1024cf5d54d019373dc663f6cf49f3 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=a0ac986a03964ef36e14587f03d9246df1a20dbb commit a0ac986a03964ef36e14587f03d9246df1a20dbb 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=e18e6782a45dd6748d9796f1c3c86dd2fcd378c8 commit e18e6782a45dd6748d9796f1c3c86dd2fcd378c8 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=7aaeeda31d7bb3eafe07ad56d1cb7f8e6df6c437 commit 7aaeeda31d7bb3eafe07ad56d1cb7f8e6df6c437 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=64ead0b2dca1a105d1049ae22d15cd57ffbc3d10 commit 64ead0b2dca1a105d1049ae22d15cd57ffbc3d10 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=e43ce8e99efbbfae7ed7519fda2dd649809bc206 commit e43ce8e99efbbfae7ed7519fda2dd649809bc206 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=5ba795565d734645d1f297442ce4c821fabac0a5 commit 5ba795565d734645d1f297442ce4c821fabac0a5 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=beafdbeb86a433c2384db2de52e78681f5d84eff commit beafdbeb86a433c2384db2de52e78681f5d84eff 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=5d8e65ba4cd33f7537965af5abb9b9002e37f69e commit 5d8e65ba4cd33f7537965af5abb9b9002e37f69e 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=705845868b7b7fcc852e163d3c4df28382c978cd commit 705845868b7b7fcc852e163d3c4df28382c978cd 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=bd1ce94eeba6a2ec3e21cf1055c18771ae1960b8 commit bd1ce94eeba6a2ec3e21cf1055c18771ae1960b8 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=af6218b148b01ee4bb9e5911954dd708c0c79688 commit af6218b148b01ee4bb9e5911954dd708c0c79688 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=941010fc5ef202ef29e7e528fd9cf3a1ff2b9033 commit 941010fc5ef202ef29e7e528fd9cf3a1ff2b9033 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=bc15cae5869058492b42b732f1786494651483f7 commit bc15cae5869058492b42b732f1786494651483f7 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=7c0a9e25aa5ea99ff999b058780b5a3aeafd87a6 commit 7c0a9e25aa5ea99ff999b058780b5a3aeafd87a6 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=776227739b94af18777cbffd5d0b46b6a748e77b commit 776227739b94af18777cbffd5d0b46b6a748e77b 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=99881daf5874e50d8f503a131db48d911faaf269 commit 99881daf5874e50d8f503a131db48d911faaf269 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=223d7545bfd301cacded49fba635b11a43143c61 commit 223d7545bfd301cacded49fba635b11a43143c61 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=05ae0b4b6de87f2b34e9b09a5c3895169ddfbf21 commit 05ae0b4b6de87f2b34e9b09a5c3895169ddfbf21 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=ad93d10993a732e6a0761b38a2011e27c7a681e6 commit ad93d10993a732e6a0761b38a2011e27c7a681e6 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=1f8d2f9c00dbea6102922327c25d2d4af9167ef3 commit 1f8d2f9c00dbea6102922327c25d2d4af9167ef3 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=aa2d72e17f9609cb98126b3091a3581a2c741496 commit aa2d72e17f9609cb98126b3091a3581a2c741496 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=86c73e6adcb41b1b3b3e6bfb45764db49a8f01af commit 86c73e6adcb41b1b3b3e6bfb45764db49a8f01af 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. -----------------------------------------------------------------------
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 deleted was 34a40793e28c8004ea0b380bcdd5fc313a7ed47a - Log ----------------------------------------------------------------- 34a40793e28c8004ea0b380bcdd5fc313a7ed47a Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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 08e25bece7fbc4d7dcf1814cbf48291c995749bf (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=08e25bece7fbc4d7dcf1814cbf48291c995749bf commit 08e25bece7fbc4d7dcf1814cbf48291c995749bf 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=bf7c545ba7288f8b74b4d942455b3265a97810e6 commit bf7c545ba7288f8b74b4d942455b3265a97810e6 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=eaa01cbce6e540f6c568d9b022d59ec098cef87b commit eaa01cbce6e540f6c568d9b022d59ec098cef87b 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=0c75aea5920a74ad350015222ad3f8d9e329cdd0 commit 0c75aea5920a74ad350015222ad3f8d9e329cdd0 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=9bd07cda52425f92373cb1413f66980d08bc875d commit 9bd07cda52425f92373cb1413f66980d08bc875d 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=671386e4eda5095e2352676ebd35a7e3032dc748 commit 671386e4eda5095e2352676ebd35a7e3032dc748 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=341ae4cd68ebfea47423dd2ec9ee320128ca2243 commit 341ae4cd68ebfea47423dd2ec9ee320128ca2243 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=b95466211969d47df282b554432dd3c2700428b9 commit b95466211969d47df282b554432dd3c2700428b9 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=704c5d3ebca19341c322b8789da755237098bb90 commit 704c5d3ebca19341c322b8789da755237098bb90 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=ad97df3af183fb21bc626008cc6458d676309211 commit ad97df3af183fb21bc626008cc6458d676309211 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=242d36deb526270664f0fa1a6fe562d59196334a commit 242d36deb526270664f0fa1a6fe562d59196334a 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=76db6fd894f5645176a63b06aa9e315e1614fccc commit 76db6fd894f5645176a63b06aa9e315e1614fccc 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=012ba5d6c2ca7efd8158dadfdc96b35802e18ed1 commit 012ba5d6c2ca7efd8158dadfdc96b35802e18ed1 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=2c317334abb0496e3e00d7704a78855809cf37b3 commit 2c317334abb0496e3e00d7704a78855809cf37b3 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=1c7cc1fedf2a790d91f18c650d00bd8b8d0187f5 commit 1c7cc1fedf2a790d91f18c650d00bd8b8d0187f5 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=106c82eab3597bbd25dceaedca2de77cb83c8e27 commit 106c82eab3597bbd25dceaedca2de77cb83c8e27 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=f62e03aec9cf5b5bc3f228dee7de55ae7225629c commit f62e03aec9cf5b5bc3f228dee7de55ae7225629c 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=701a05ae54271ab87116eaf7f7eca5071dd6d383 commit 701a05ae54271ab87116eaf7f7eca5071dd6d383 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=4ed01899834d606b4fc00f5159c583d722052678 commit 4ed01899834d606b4fc00f5159c583d722052678 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=60882a897abbff96fa3827ebdcaa7bff09139c47 commit 60882a897abbff96fa3827ebdcaa7bff09139c47 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=364d3dc695e936283b1b0db8c1d568e20c657713 commit 364d3dc695e936283b1b0db8c1d568e20c657713 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=d3506a52bab0cf147543984c81a2408cb229e6f1 commit d3506a52bab0cf147543984c81a2408cb229e6f1 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=91c49368c10eecdc0f5d47f668947daab1267872 commit 91c49368c10eecdc0f5d47f668947daab1267872 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=e65c267567e997fed3612b2826aeaef1893f0d38 commit e65c267567e997fed3612b2826aeaef1893f0d38 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=98adfc6a9b1dce8a24df3a79b02be8bc8e375d31 commit 98adfc6a9b1dce8a24df3a79b02be8bc8e375d31 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=b962a214c744871957b7bb9ce83763ba7a352161 commit b962a214c744871957b7bb9ce83763ba7a352161 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=bbdf99df61be9b9d829608450d065d50328cfd9d commit bbdf99df61be9b9d829608450d065d50328cfd9d 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=627928a6a2fa27abadf588c880a8f912f4a95937 commit 627928a6a2fa27abadf588c880a8f912f4a95937 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=2ff3488e402f82eea1ac2dff2502a93d986b6858 commit 2ff3488e402f82eea1ac2dff2502a93d986b6858 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=797f63cece5f3eb8f2d597fbdabb6f121f9797d4 commit 797f63cece5f3eb8f2d597fbdabb6f121f9797d4 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=504c49f9d4911cbe205944649bdfc63e23dee656 commit 504c49f9d4911cbe205944649bdfc63e23dee656 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=82fc537facac19795b46b9d79f7ac0612032b040 commit 82fc537facac19795b46b9d79f7ac0612032b040 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=6e265563e3ce184dd45772926b09bcd1fa1f3a62 commit 6e265563e3ce184dd45772926b09bcd1fa1f3a62 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=3201d1fd5852a47b5a043949730b7ebc437f12ad commit 3201d1fd5852a47b5a043949730b7ebc437f12ad 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=dd29ae355c7e48c1983d92e76d355140b5cbcaff commit dd29ae355c7e48c1983d92e76d355140b5cbcaff 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=5530b24924d5ca9d5caf46aaba25b579a1866908 commit 5530b24924d5ca9d5caf46aaba25b579a1866908 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=ff067892d431c7ea333b0449b5cd61e1e3c0ac16 commit ff067892d431c7ea333b0449b5cd61e1e3c0ac16 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=bea638c45f92a3b046b71ea9253804dfb14b0334 commit bea638c45f92a3b046b71ea9253804dfb14b0334 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=8d720339668c01db11c79e33090e56a27fbb5d7b commit 8d720339668c01db11c79e33090e56a27fbb5d7b 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=33e87d00808e4ce019d2f847cf55be6dc5f1cd86 commit 33e87d00808e4ce019d2f847cf55be6dc5f1cd86 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=cdb771633bd61d4d0eace42990dfb58558a9d638 commit cdb771633bd61d4d0eace42990dfb58558a9d638 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=9c6d03869dda5d22819e837463fce8b4f30ec025 commit 9c6d03869dda5d22819e837463fce8b4f30ec025 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=bbedd3226ab6116ef9beafb370389b3a2e9c39b0 commit bbedd3226ab6116ef9beafb370389b3a2e9c39b0 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=a7265ebec61c7e5bc161ddc38c10fb337d6f57d1 commit a7265ebec61c7e5bc161ddc38c10fb337d6f57d1 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=712f2d0bda70cc2cfa018dbfaad6d110cf93e085 commit 712f2d0bda70cc2cfa018dbfaad6d110cf93e085 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=5ef5b81f70203f7ab9456248934a8c109df3f174 commit 5ef5b81f70203f7ab9456248934a8c109df3f174 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=7b47e9f6f02469d9edc7030d353a42a9650b765f commit 7b47e9f6f02469d9edc7030d353a42a9650b765f 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=9b587d81f20c23f5d8c999772b449fe89e31721b commit 9b587d81f20c23f5d8c999772b449fe89e31721b 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=ce033b0b6aab92cd200ff9929602f6ac01fe46f9 commit ce033b0b6aab92cd200ff9929602f6ac01fe46f9 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=d18e6017a84e2313478b84cc497796ce1f11f3cc commit d18e6017a84e2313478b84cc497796ce1f11f3cc 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=e09fbec400f48382ca8b01087d0857f18e8aaad3 commit e09fbec400f48382ca8b01087d0857f18e8aaad3 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=2aa6809c9478dee1c4c035e15268ab3ba9731cad commit 2aa6809c9478dee1c4c035e15268ab3ba9731cad 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=c8b3381dab902dcf661254bc32d2ad31fa8722b3 commit c8b3381dab902dcf661254bc32d2ad31fa8722b3 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=73e2d4f24530b09f83efacf6a2cda0b8fbfe22f0 commit 73e2d4f24530b09f83efacf6a2cda0b8fbfe22f0 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=73b82d958f579f9db4468edff1fcdb30138d3f0f commit 73b82d958f579f9db4468edff1fcdb30138d3f0f 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=6ad816cdab8aed75d644f9aeb7ad6063285590d6 commit 6ad816cdab8aed75d644f9aeb7ad6063285590d6 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=7ca3d7f93f962aceaae26ac304f010e67a0880db commit 7ca3d7f93f962aceaae26ac304f010e67a0880db 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=45be7dcb9644ef0ac13a2ed8f7a05b0b2eaac5da commit 45be7dcb9644ef0ac13a2ed8f7a05b0b2eaac5da 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. -----------------------------------------------------------------------
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 deleted was 08e25bece7fbc4d7dcf1814cbf48291c995749bf - Log ----------------------------------------------------------------- 08e25bece7fbc4d7dcf1814cbf48291c995749bf Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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 913c29d95958a22556a53986cc36182035703d0d (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=913c29d95958a22556a53986cc36182035703d0d commit 913c29d95958a22556a53986cc36182035703d0d 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=7f79ec34a9beba9a26b1720d001e5ad9d499cae8 commit 7f79ec34a9beba9a26b1720d001e5ad9d499cae8 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=34235197d3092845dd52e9cfbff13f94edb921bd commit 34235197d3092845dd52e9cfbff13f94edb921bd 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=697d2d7a98b4808b9f9d6dcaa4716f482cbc42d2 commit 697d2d7a98b4808b9f9d6dcaa4716f482cbc42d2 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=994146877d24e4e30aa8f7295c503afdf32ba44f commit 994146877d24e4e30aa8f7295c503afdf32ba44f 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=44948ef1c220338ff24ebda2b19b71a517d5ae85 commit 44948ef1c220338ff24ebda2b19b71a517d5ae85 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=db5f9b35d3e20b3a1d9923a31f40c8996dcda4e4 commit db5f9b35d3e20b3a1d9923a31f40c8996dcda4e4 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=7c56a41cbce605fb4f0e83077d987b3101800d45 commit 7c56a41cbce605fb4f0e83077d987b3101800d45 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=f3edfbb2b580a106d26b42a6ed4a2837fe76828e commit f3edfbb2b580a106d26b42a6ed4a2837fe76828e 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=58d53e2599500e0a872e48b507cfabab1c1b1c1d commit 58d53e2599500e0a872e48b507cfabab1c1b1c1d 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=f00296b22ba5092c59e56a7cda6a48ff531a2339 commit f00296b22ba5092c59e56a7cda6a48ff531a2339 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=61fd43f86d05145eff35023bfb1eaee51bb23825 commit 61fd43f86d05145eff35023bfb1eaee51bb23825 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=180ea10ae3ba140b0950345b45ac252618c9c587 commit 180ea10ae3ba140b0950345b45ac252618c9c587 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=1ea633c4aed3487c7ec165d8fdd4b38d21586e57 commit 1ea633c4aed3487c7ec165d8fdd4b38d21586e57 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=f8f5ab4a03727881e294f3bb0c449ce1694fe86c commit f8f5ab4a03727881e294f3bb0c449ce1694fe86c 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=25191f2a9728e612baab9d57bbe6a61924ba43e2 commit 25191f2a9728e612baab9d57bbe6a61924ba43e2 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=1bca7a509513df0aa6a53c4ec8b0c778f6d08c52 commit 1bca7a509513df0aa6a53c4ec8b0c778f6d08c52 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=337da90d57753665160097b85263668b34dbefaf commit 337da90d57753665160097b85263668b34dbefaf 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=167c5713b12387e66d7fec934a59f710cf706f87 commit 167c5713b12387e66d7fec934a59f710cf706f87 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=62a449924335ad2b24da5dc3590a2dd2ff51c6a5 commit 62a449924335ad2b24da5dc3590a2dd2ff51c6a5 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=3b177f2d3fa4b6ae7796e61bcb55b64e35a92944 commit 3b177f2d3fa4b6ae7796e61bcb55b64e35a92944 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=f255a27279e11f31424d37e5e1ed80bacf7e4f57 commit f255a27279e11f31424d37e5e1ed80bacf7e4f57 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=18b873720513063efdf888b321882577ae4747f2 commit 18b873720513063efdf888b321882577ae4747f2 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=08f2aeec2639bdd068fda17c1c31ce5a0ca3f996 commit 08f2aeec2639bdd068fda17c1c31ce5a0ca3f996 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=b6eb093b985257f3ce44c33135712e3bb5a62c1f commit b6eb093b985257f3ce44c33135712e3bb5a62c1f 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=76db4c4da631f4a52c1da38ebfc1f70189dad0dd commit 76db4c4da631f4a52c1da38ebfc1f70189dad0dd 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=08dca0dead235c940271945dd8f893cd9d6ad9d3 commit 08dca0dead235c940271945dd8f893cd9d6ad9d3 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=d71bfd909322fb1a5c185b8d679b03c80b2e66ee commit d71bfd909322fb1a5c185b8d679b03c80b2e66ee 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=90b6c984d24e79f202d1f6d0bb5743fbe90af4b2 commit 90b6c984d24e79f202d1f6d0bb5743fbe90af4b2 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=6322941087fce25fcd3ee1ec6c3bdd0a93eb146c commit 6322941087fce25fcd3ee1ec6c3bdd0a93eb146c 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=e9e1343e8af663b5876adda83c1a2385b9e8bb91 commit e9e1343e8af663b5876adda83c1a2385b9e8bb91 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=1b7d5ba49a3c4bcfe2c98f71ab5963a9baedeed7 commit 1b7d5ba49a3c4bcfe2c98f71ab5963a9baedeed7 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=1248fc3ed3225838bee59bda4bf7f3e5b5a4e6ad commit 1248fc3ed3225838bee59bda4bf7f3e5b5a4e6ad 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=106162f7bfecf6cede2c63e27385699db8efcdfb commit 106162f7bfecf6cede2c63e27385699db8efcdfb 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=03bd585c75d530c31e69df66a2627eb7e064729b commit 03bd585c75d530c31e69df66a2627eb7e064729b 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=99740d4780134899445df22471221edc478f4f19 commit 99740d4780134899445df22471221edc478f4f19 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=191fee9800ffa37fea0bc26195bba934b5d2fc0f commit 191fee9800ffa37fea0bc26195bba934b5d2fc0f 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=35ef485afc343413132ee198c02718583f70afdc commit 35ef485afc343413132ee198c02718583f70afdc 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=82bac997f18a6c4c1314a30f550da94f4b79bb60 commit 82bac997f18a6c4c1314a30f550da94f4b79bb60 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=5028abb19d5df6eae90818a82529f5e265e043a1 commit 5028abb19d5df6eae90818a82529f5e265e043a1 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=c196912de1aecd6d64884a53c3a6db94f9e59571 commit c196912de1aecd6d64884a53c3a6db94f9e59571 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=128ff1dfb753d80d08fb65c2b8d20407a4ac3384 commit 128ff1dfb753d80d08fb65c2b8d20407a4ac3384 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=0d9643407a6efb4c5655fa9f7123269cfdc6c615 commit 0d9643407a6efb4c5655fa9f7123269cfdc6c615 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=1d358d2e86bbaaa5686cbb0b080359a7bcc5af2f commit 1d358d2e86bbaaa5686cbb0b080359a7bcc5af2f 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=adb6935bca7c990eb6f128353bef01a55ebf2b2d commit adb6935bca7c990eb6f128353bef01a55ebf2b2d 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=8678f0130c24c70b9b2c60bb4398641ad6fbdfa7 commit 8678f0130c24c70b9b2c60bb4398641ad6fbdfa7 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=49cbb416f6ef9b1d1309af471f43dc65c730dc44 commit 49cbb416f6ef9b1d1309af471f43dc65c730dc44 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=7facbd660608e17f0692f26bb0f93524a12e63a5 commit 7facbd660608e17f0692f26bb0f93524a12e63a5 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=4a60ebb3949e32c0d88092411e9edb74732cea80 commit 4a60ebb3949e32c0d88092411e9edb74732cea80 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=17c9ba73b4333454116abbcf38ca24564a27bd2e commit 17c9ba73b4333454116abbcf38ca24564a27bd2e 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=f5ce71924b8d75588517699222dea46ad4e7e273 commit f5ce71924b8d75588517699222dea46ad4e7e273 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=95595e6eda50f020556ccfa976a169a85da77adc commit 95595e6eda50f020556ccfa976a169a85da77adc 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=d4adc686c31b00716a052467e033d42c7d38c269 commit d4adc686c31b00716a052467e033d42c7d38c269 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=43ada988d760dba29b9590572ba4c5841eb1cd7f commit 43ada988d760dba29b9590572ba4c5841eb1cd7f 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=33bf59ae7eee88a50316a3a63c37d1f1a891532b commit 33bf59ae7eee88a50316a3a63c37d1f1a891532b 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=2e6fce8ca699cab87dbf2779c064450a6aa5a96a commit 2e6fce8ca699cab87dbf2779c064450a6aa5a96a 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=0852d5fb6626d1d6966ef73bd16710b0c6cbf0de commit 0852d5fb6626d1d6966ef73bd16710b0c6cbf0de 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=2a188e57e9b3804ad5cee3b694f3863f9032de40 commit 2a188e57e9b3804ad5cee3b694f3863f9032de40 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. -----------------------------------------------------------------------
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 deleted was 913c29d95958a22556a53986cc36182035703d0d - Log ----------------------------------------------------------------- 913c29d95958a22556a53986cc36182035703d0d Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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 b6f9dbd36ce2d4e02e6f490bebca3eb3e4cfebdf (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b6f9dbd36ce2d4e02e6f490bebca3eb3e4cfebdf commit b6f9dbd36ce2d4e02e6f490bebca3eb3e4cfebdf 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=58b2b1cb14475ebd40408d05b14afa7e73f20258 commit 58b2b1cb14475ebd40408d05b14afa7e73f20258 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=7b050d6d26108cd9a5f3407a3745cba778c4fa73 commit 7b050d6d26108cd9a5f3407a3745cba778c4fa73 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=975d0a9e0fc332a4dbf8066770d898a1998501bf commit 975d0a9e0fc332a4dbf8066770d898a1998501bf 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=3ad7b8476fce9da1b624c0b1762468fc9706f29a commit 3ad7b8476fce9da1b624c0b1762468fc9706f29a 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=14d03a7402307fb0de1f9c14f9672a76a846696d commit 14d03a7402307fb0de1f9c14f9672a76a846696d 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=31d47759e0b64658ff1bb37aefe1a31e7daa9f4f commit 31d47759e0b64658ff1bb37aefe1a31e7daa9f4f 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=e625cb2b2ec22cc9f4d90d68e2d47162bbb91f14 commit e625cb2b2ec22cc9f4d90d68e2d47162bbb91f14 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=1828d68a5a3d032e6b35ea7cac669dc2ead2d83e commit 1828d68a5a3d032e6b35ea7cac669dc2ead2d83e 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=9aefe359fb4f04aa57a05cfd6c1bb434fab21a39 commit 9aefe359fb4f04aa57a05cfd6c1bb434fab21a39 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=44047954d78255b69c5b0b42ff0af61f26d188f7 commit 44047954d78255b69c5b0b42ff0af61f26d188f7 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=3d9501d4308817e83fe75424b76af3d6331ad35b commit 3d9501d4308817e83fe75424b76af3d6331ad35b 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=1cddcfb431b9731adef3ec3d01cae9601433d447 commit 1cddcfb431b9731adef3ec3d01cae9601433d447 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=7c0c9c30546e648cf876fc77b355c02ea9ce6c5e commit 7c0c9c30546e648cf876fc77b355c02ea9ce6c5e 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=65c09e870c167800775fba18a3588e50adfed3e4 commit 65c09e870c167800775fba18a3588e50adfed3e4 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=7f7cf214d5ba06c1f7eb111332207794500830d4 commit 7f7cf214d5ba06c1f7eb111332207794500830d4 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=c63c1356e978a049b565c824edbf570b1d5eb7c7 commit c63c1356e978a049b565c824edbf570b1d5eb7c7 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=6478fb6131c034b7d5e859a514b150db32f6cd7d commit 6478fb6131c034b7d5e859a514b150db32f6cd7d 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=db155ab05e59739c0a6cee561317dc97e69c377b commit db155ab05e59739c0a6cee561317dc97e69c377b 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=6cb265355cc615c88731158ed0c37b10965d1c07 commit 6cb265355cc615c88731158ed0c37b10965d1c07 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=e80d7efc989950516144fd1676c06bdcd7b9d486 commit e80d7efc989950516144fd1676c06bdcd7b9d486 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=69f43b266dd04b3582879b785e291c1fa0620788 commit 69f43b266dd04b3582879b785e291c1fa0620788 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=e3d813a5e1e9361bb5b7c46fa23c1304ad957968 commit e3d813a5e1e9361bb5b7c46fa23c1304ad957968 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=d3817e1d942c2e968c3c48fd5f1818288e0ba6e1 commit d3817e1d942c2e968c3c48fd5f1818288e0ba6e1 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=4a4628754200bfeb14d335364e2d62c86cd82f63 commit 4a4628754200bfeb14d335364e2d62c86cd82f63 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=7d8217be5a6ea503d612e910b345829bf6fb69fe commit 7d8217be5a6ea503d612e910b345829bf6fb69fe 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=2185aca65b87a6a6e8ba125f1c5dc162240402bd commit 2185aca65b87a6a6e8ba125f1c5dc162240402bd 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=625158e2b7110d5ed34ab6329a06ca78667bf0f2 commit 625158e2b7110d5ed34ab6329a06ca78667bf0f2 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=57ecc22a3cd8cb1250c4cdc359fed28b265cd400 commit 57ecc22a3cd8cb1250c4cdc359fed28b265cd400 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=428aa34f408d732465dbbc4db0b38e47bfd23e6a commit 428aa34f408d732465dbbc4db0b38e47bfd23e6a 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=809e854c2514409eb0a436f3fdd146f5c1943c2b commit 809e854c2514409eb0a436f3fdd146f5c1943c2b 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=f39f51c14f407c5c550bdda65968eabdf99690d0 commit f39f51c14f407c5c550bdda65968eabdf99690d0 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=54e255f922b61ec54d4921efd923f638d8e3bb28 commit 54e255f922b61ec54d4921efd923f638d8e3bb28 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=bb7df855ff6e8764b5ce689d0fb3f24de717fdbf commit bb7df855ff6e8764b5ce689d0fb3f24de717fdbf 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=a6236e2a1c395f9fad8eabc26314e3989bb79cf4 commit a6236e2a1c395f9fad8eabc26314e3989bb79cf4 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=711fb87da9977fffdfcb5e235369e3d8e7c395ff commit 711fb87da9977fffdfcb5e235369e3d8e7c395ff 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=2002852ca11b02d7e419dee3e2eddeaa963bf375 commit 2002852ca11b02d7e419dee3e2eddeaa963bf375 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=44d8cadb50e06c82d0a1db1e7a2a32a572daaad6 commit 44d8cadb50e06c82d0a1db1e7a2a32a572daaad6 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=62f132ebaf7b9d91035a7b84e3b8660b7510b392 commit 62f132ebaf7b9d91035a7b84e3b8660b7510b392 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=3f0358f6d966964162e08dfbdbaed3e87664079a commit 3f0358f6d966964162e08dfbdbaed3e87664079a 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=ebdacf7a2728c8368a247fa31121f0cb1a75aa72 commit ebdacf7a2728c8368a247fa31121f0cb1a75aa72 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=ffa0ef715ba138d6d66a4db81ec5fe834c4392a4 commit ffa0ef715ba138d6d66a4db81ec5fe834c4392a4 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=17fdafe41a7ed80c8d42aca221fb09c6c355e41d commit 17fdafe41a7ed80c8d42aca221fb09c6c355e41d 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=dae112715cc7456850755c665a76fd34fd1eaa54 commit dae112715cc7456850755c665a76fd34fd1eaa54 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=9be78552fdd40de80502a78bc3784ba83f47c90a commit 9be78552fdd40de80502a78bc3784ba83f47c90a 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=ea1b2da1dbe67b976862b10e1a7caaadd6ee69ab commit ea1b2da1dbe67b976862b10e1a7caaadd6ee69ab 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=349558b758e770abaab7c6a30b78c72ecebbb50f commit 349558b758e770abaab7c6a30b78c72ecebbb50f 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=b4775eb1f9f7cbf719cab5eeadb4d79a0f27dca7 commit b4775eb1f9f7cbf719cab5eeadb4d79a0f27dca7 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=5e03f26311b8ed294603e890b73dfd504bfed16c commit 5e03f26311b8ed294603e890b73dfd504bfed16c 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=89e14ed0256c5a51b88e442d12e3c47bffb839cb commit 89e14ed0256c5a51b88e442d12e3c47bffb839cb 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=372215a890eab2f206627448aa62ece940137f96 commit 372215a890eab2f206627448aa62ece940137f96 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=756d9ead717452db04793ab41aa8a13c812c3a4e commit 756d9ead717452db04793ab41aa8a13c812c3a4e 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=bea5aab7d09d2315fb2618444575b3079d210ea2 commit bea5aab7d09d2315fb2618444575b3079d210ea2 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=08987e1e9bb43de25b20b3e9d1284a5c66a44ce0 commit 08987e1e9bb43de25b20b3e9d1284a5c66a44ce0 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=1c4ff3a0cc7c9ace09559e57beb46fd836faf5d6 commit 1c4ff3a0cc7c9ace09559e57beb46fd836faf5d6 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=70eb9adff2c3a0b63f7860090526b6c2f64a2a3e commit 70eb9adff2c3a0b63f7860090526b6c2f64a2a3e 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=47d0292ebcb0fef73581a763c9a33e87e1d14762 commit 47d0292ebcb0fef73581a763c9a33e87e1d14762 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=c9876e5efc95098c991bc33d8f3bd69e0c4ce071 commit c9876e5efc95098c991bc33d8f3bd69e0c4ce071 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. -----------------------------------------------------------------------
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 deleted was b6f9dbd36ce2d4e02e6f490bebca3eb3e4cfebdf - Log ----------------------------------------------------------------- b6f9dbd36ce2d4e02e6f490bebca3eb3e4cfebdf Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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 97826d391fdbbc19b06604ceec42c617ab51217f (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=97826d391fdbbc19b06604ceec42c617ab51217f commit 97826d391fdbbc19b06604ceec42c617ab51217f 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=73437610211e915564f0bb32db87d1ecc6a9c344 commit 73437610211e915564f0bb32db87d1ecc6a9c344 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=ab716de7edf444476ad9f1e74f169ad2d16a8664 commit ab716de7edf444476ad9f1e74f169ad2d16a8664 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=7a495909c9be1a92c70ef8f1cf518662baa29499 commit 7a495909c9be1a92c70ef8f1cf518662baa29499 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=7a7cdf1da4134d9cf2bf75833137e96abf6bef47 commit 7a7cdf1da4134d9cf2bf75833137e96abf6bef47 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=88bbf08abe3e7885ba78ce2a03968ff5311b5581 commit 88bbf08abe3e7885ba78ce2a03968ff5311b5581 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=c46ebb58559c9132fc915fd32256997130b6538f commit c46ebb58559c9132fc915fd32256997130b6538f 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=4e8d005752c60bbbff09ef8f4729bac2ae50bca6 commit 4e8d005752c60bbbff09ef8f4729bac2ae50bca6 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=58723114c787833f61630302f5cea2f891e56b86 commit 58723114c787833f61630302f5cea2f891e56b86 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=a6e5f132078ae63512d118a0239408c39d5e3b83 commit a6e5f132078ae63512d118a0239408c39d5e3b83 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=f2adefbce4ed764a37e3231dd0414703eb396902 commit f2adefbce4ed764a37e3231dd0414703eb396902 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=fc6947833982ae143d4322f2a4c3c291061dff68 commit fc6947833982ae143d4322f2a4c3c291061dff68 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=69cad6520ba2232f2ab14e596c2816f0f86bf067 commit 69cad6520ba2232f2ab14e596c2816f0f86bf067 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=a949257d56d044d98168a862781d803d65c76309 commit a949257d56d044d98168a862781d803d65c76309 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=be35b0319b8749d85bbb09753e63681c86ac18e0 commit be35b0319b8749d85bbb09753e63681c86ac18e0 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=0a605cfad0d9c43da395c4ae0885be786c9c4804 commit 0a605cfad0d9c43da395c4ae0885be786c9c4804 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=74e7516e01f210d8c76a62ff8534baff2c2eb7ec commit 74e7516e01f210d8c76a62ff8534baff2c2eb7ec 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=4674c04f0518d21574801f0e4a98517d1254a8be commit 4674c04f0518d21574801f0e4a98517d1254a8be 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=ba2384006b58babece58aef7fdd50c797b902f5b commit ba2384006b58babece58aef7fdd50c797b902f5b 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=1825464638dabf932e307b0618befbd4489f9ae4 commit 1825464638dabf932e307b0618befbd4489f9ae4 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=b42fb3b88400b1064632dbdc21e4712b3674c5c6 commit b42fb3b88400b1064632dbdc21e4712b3674c5c6 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=4032a8ae7ea02ccac5de83ce668bd55b6c347062 commit 4032a8ae7ea02ccac5de83ce668bd55b6c347062 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=d22cb4005ccf73c6fe0182ca447f67eac4d0797f commit d22cb4005ccf73c6fe0182ca447f67eac4d0797f 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=e1b171379354dd70e3a322d3332d8ad522875771 commit e1b171379354dd70e3a322d3332d8ad522875771 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=ecb11b8027d86edac3e89581d461f6ea9b3a272f commit ecb11b8027d86edac3e89581d461f6ea9b3a272f 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=c491b565a2e045538764ea31e21471e4c0a5bb81 commit c491b565a2e045538764ea31e21471e4c0a5bb81 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=a847e906ecba629287447ac5cf62ce628f87ad4e commit a847e906ecba629287447ac5cf62ce628f87ad4e 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=01187930c2b3ba89b8a9b6b95de8afb38186d007 commit 01187930c2b3ba89b8a9b6b95de8afb38186d007 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=94a57970064f667d5a4429415fa723c89baf818a commit 94a57970064f667d5a4429415fa723c89baf818a 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=73d881bcaddc33349d4751060a61184da91e6b7c commit 73d881bcaddc33349d4751060a61184da91e6b7c 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=316fa9479757c818d0b88eb76160bc722c9a48b3 commit 316fa9479757c818d0b88eb76160bc722c9a48b3 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=5a5c8e78f40ac5ace26a7b0d1e371425d8ae3cd9 commit 5a5c8e78f40ac5ace26a7b0d1e371425d8ae3cd9 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=ac88731140f3ecba3b1991867f44ce5e4edb494f commit ac88731140f3ecba3b1991867f44ce5e4edb494f 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=b68a363e5cbba75891bce558918c5e7bd72a8a4f commit b68a363e5cbba75891bce558918c5e7bd72a8a4f 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=949a10db4ffd71ea6ecd10df0401de50cdcd04ff commit 949a10db4ffd71ea6ecd10df0401de50cdcd04ff 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=7ded37cf5c932f8de9db3409e458dfb6b078f156 commit 7ded37cf5c932f8de9db3409e458dfb6b078f156 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=98132b6674a49a3d3abc00ee939bd001ec977ace commit 98132b6674a49a3d3abc00ee939bd001ec977ace 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=a43a429646e817736ddc361f7b405a0b2a53d259 commit a43a429646e817736ddc361f7b405a0b2a53d259 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=235922c3f5ec952807cf8eaaf068bca4445ae97f commit 235922c3f5ec952807cf8eaaf068bca4445ae97f 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=594b21ac28af5c8cd16ba74b8b48164fdb436d6e commit 594b21ac28af5c8cd16ba74b8b48164fdb436d6e 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=2c143f18cc12d276e1a6a5a836eded748a9ba0f2 commit 2c143f18cc12d276e1a6a5a836eded748a9ba0f2 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. (__setutent): Likewise. (__endutent): Likewise. (__getutid): Likewise. (__getutline): Likewise. (__getutent_r): Likewise. (__getutid_r): Likewise. (__getutent): Add libc_hidden_proto. (__pututline): Likewise. (__getutline_r): Likewise. * login/getutent.c (__getutent): Add libc_hidden_def. * login/getutent_r.c (__getutent_r): Likewise. (__pututline): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ffa0ef715ba138d6d66a4db81ec5fe834c4392a4 commit ffa0ef715ba138d6d66a4db81ec5fe834c4392a4 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=17fdafe41a7ed80c8d42aca221fb09c6c355e41d commit 17fdafe41a7ed80c8d42aca221fb09c6c355e41d 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=dae112715cc7456850755c665a76fd34fd1eaa54 commit dae112715cc7456850755c665a76fd34fd1eaa54 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=9be78552fdd40de80502a78bc3784ba83f47c90a commit 9be78552fdd40de80502a78bc3784ba83f47c90a 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=ea1b2da1dbe67b976862b10e1a7caaadd6ee69ab commit ea1b2da1dbe67b976862b10e1a7caaadd6ee69ab 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=349558b758e770abaab7c6a30b78c72ecebbb50f commit 349558b758e770abaab7c6a30b78c72ecebbb50f 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=b4775eb1f9f7cbf719cab5eeadb4d79a0f27dca7 commit b4775eb1f9f7cbf719cab5eeadb4d79a0f27dca7 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=5e03f26311b8ed294603e890b73dfd504bfed16c commit 5e03f26311b8ed294603e890b73dfd504bfed16c 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=89e14ed0256c5a51b88e442d12e3c47bffb839cb commit 89e14ed0256c5a51b88e442d12e3c47bffb839cb 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=372215a890eab2f206627448aa62ece940137f96 commit 372215a890eab2f206627448aa62ece940137f96 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=756d9ead717452db04793ab41aa8a13c812c3a4e commit 756d9ead717452db04793ab41aa8a13c812c3a4e 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=bea5aab7d09d2315fb2618444575b3079d210ea2 commit bea5aab7d09d2315fb2618444575b3079d210ea2 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=08987e1e9bb43de25b20b3e9d1284a5c66a44ce0 commit 08987e1e9bb43de25b20b3e9d1284a5c66a44ce0 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=1c4ff3a0cc7c9ace09559e57beb46fd836faf5d6 commit 1c4ff3a0cc7c9ace09559e57beb46fd836faf5d6 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=70eb9adff2c3a0b63f7860090526b6c2f64a2a3e commit 70eb9adff2c3a0b63f7860090526b6c2f64a2a3e 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=47d0292ebcb0fef73581a763c9a33e87e1d14762 commit 47d0292ebcb0fef73581a763c9a33e87e1d14762 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=c9876e5efc95098c991bc33d8f3bd69e0c4ce071 commit c9876e5efc95098c991bc33d8f3bd69e0c4ce071 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. -----------------------------------------------------------------------
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 deleted was 97826d391fdbbc19b06604ceec42c617ab51217f - Log ----------------------------------------------------------------- 97826d391fdbbc19b06604ceec42c617ab51217f Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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 a938eb6e8ba74d0966e1a7c171b64662bbb11f23 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a938eb6e8ba74d0966e1a7c171b64662bbb11f23 commit a938eb6e8ba74d0966e1a7c171b64662bbb11f23 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=8efd95f68a0abf2d7fcc5822d9eddfe350302a97 commit 8efd95f68a0abf2d7fcc5822d9eddfe350302a97 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=9f86c5e891eff5dbb1c0391c8206f2192f71e073 commit 9f86c5e891eff5dbb1c0391c8206f2192f71e073 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=658bd711383d45f631caa52a9f5aebdf2841cc80 commit 658bd711383d45f631caa52a9f5aebdf2841cc80 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=0ce5460158ca3342e6806b9d1fe9ac51dc3483fc commit 0ce5460158ca3342e6806b9d1fe9ac51dc3483fc 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=e4821066d5140a32b64cafac9b625e1fdedbcf6a commit e4821066d5140a32b64cafac9b625e1fdedbcf6a 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=c51239053b94a72a393eb084ab11e1af5fad9492 commit c51239053b94a72a393eb084ab11e1af5fad9492 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=536967b8727406d620d11807519306e81f4b091b commit 536967b8727406d620d11807519306e81f4b091b 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=e30515e4655a92f9f9d8b73a7abadba1289c4659 commit e30515e4655a92f9f9d8b73a7abadba1289c4659 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=c05de345e0de147744a743b48e69fc04ef4c1fb0 commit c05de345e0de147744a743b48e69fc04ef4c1fb0 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=6e0fd7b7c64733d244ef2443c835eee6aff80436 commit 6e0fd7b7c64733d244ef2443c835eee6aff80436 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=80f2ba1bfa644895b12944d9428f6913845ac4cf commit 80f2ba1bfa644895b12944d9428f6913845ac4cf 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=379fd47805113e4335fca4544c0217514205a4fb commit 379fd47805113e4335fca4544c0217514205a4fb 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=c3783ea28c8751a65efbbad29071a9ed47a37a43 commit c3783ea28c8751a65efbbad29071a9ed47a37a43 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=3ff0f5199c688a681beaff9c05a524fdb6021099 commit 3ff0f5199c688a681beaff9c05a524fdb6021099 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=772355e2a4ca675c8f6ccffb518041154b32d771 commit 772355e2a4ca675c8f6ccffb518041154b32d771 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=23d9cd16136966ab35abfb225e7ba8b4bda17ffe commit 23d9cd16136966ab35abfb225e7ba8b4bda17ffe 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=92794ec7eef3bf2ed9452fef8de6b6dae661460f commit 92794ec7eef3bf2ed9452fef8de6b6dae661460f 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=46a3b91760d0eea28a3a521be8fc2b2a97407138 commit 46a3b91760d0eea28a3a521be8fc2b2a97407138 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=f0908d224f2debf7d5650f24d1145366cc4ef158 commit f0908d224f2debf7d5650f24d1145366cc4ef158 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=96ec0eaa6016b7a81049fa53b8a7f47664685206 commit 96ec0eaa6016b7a81049fa53b8a7f47664685206 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=1d8204df7e0c218e2b8c082a9fbdafe5ec507b3d commit 1d8204df7e0c218e2b8c082a9fbdafe5ec507b3d 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=abe6abf24c18fb3df353a194068c4d7277786274 commit abe6abf24c18fb3df353a194068c4d7277786274 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=6945acab8ec4ffdb62d5e8f619a6cf0951bdc040 commit 6945acab8ec4ffdb62d5e8f619a6cf0951bdc040 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=1bda0dac8a4dcd9ad862ab54a6497ab4daf6f2fd commit 1bda0dac8a4dcd9ad862ab54a6497ab4daf6f2fd 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=f9793a946600348b545322becfff987310a7c0ad commit f9793a946600348b545322becfff987310a7c0ad 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=9ce0b7c35d99d5f629f49a074350e2ada19c69db commit 9ce0b7c35d99d5f629f49a074350e2ada19c69db 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=0a299b1f9d6e3ade6bdb59312d6b6c8eae537755 commit 0a299b1f9d6e3ade6bdb59312d6b6c8eae537755 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=17fb628668f3e33324de264c61617ecf609498f3 commit 17fb628668f3e33324de264c61617ecf609498f3 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=2fcecf1669895c6c285bfc66e9c03c101fa14936 commit 2fcecf1669895c6c285bfc66e9c03c101fa14936 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=432d64894f5b47061e27cf8e2ffafb556d9d4212 commit 432d64894f5b47061e27cf8e2ffafb556d9d4212 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=96abd789d3cbd173397270aabbdde463b464d1f8 commit 96abd789d3cbd173397270aabbdde463b464d1f8 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=12ae9c853a88083147f9cd4ee82642ecc28c9bad commit 12ae9c853a88083147f9cd4ee82642ecc28c9bad 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=82ebc05b4a31fc13a4d1f306d0a936b0a52c9133 commit 82ebc05b4a31fc13a4d1f306d0a936b0a52c9133 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=bec6d86ba9c37f45adae5d44fc5388f26ecb47d7 commit bec6d86ba9c37f45adae5d44fc5388f26ecb47d7 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=b5a6ff679fc96eab9bee75f15317ee9c9a27fce3 commit b5a6ff679fc96eab9bee75f15317ee9c9a27fce3 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=03b7a4c748e71c8207a58cbdae73663edd9019b7 commit 03b7a4c748e71c8207a58cbdae73663edd9019b7 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=47b6d9dbe13eb39ca1748837105780be7bd6302a commit 47b6d9dbe13eb39ca1748837105780be7bd6302a 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=b30fefce7735004dd3b9f4c15396498ddd1002eb commit b30fefce7735004dd3b9f4c15396498ddd1002eb 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=2bb417a4d3146801f059821745c9da70c84ad5d1 commit 2bb417a4d3146801f059821745c9da70c84ad5d1 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=2c143f18cc12d276e1a6a5a836eded748a9ba0f2 commit 2c143f18cc12d276e1a6a5a836eded748a9ba0f2 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. (__setutent): Likewise. (__endutent): Likewise. (__getutid): Likewise. (__getutline): Likewise. (__getutent_r): Likewise. (__getutid_r): Likewise. (__getutent): Add libc_hidden_proto. (__pututline): Likewise. (__getutline_r): Likewise. * login/getutent.c (__getutent): Add libc_hidden_def. * login/getutent_r.c (__getutent_r): Likewise. (__pututline): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ffa0ef715ba138d6d66a4db81ec5fe834c4392a4 commit ffa0ef715ba138d6d66a4db81ec5fe834c4392a4 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=17fdafe41a7ed80c8d42aca221fb09c6c355e41d commit 17fdafe41a7ed80c8d42aca221fb09c6c355e41d 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=dae112715cc7456850755c665a76fd34fd1eaa54 commit dae112715cc7456850755c665a76fd34fd1eaa54 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=9be78552fdd40de80502a78bc3784ba83f47c90a commit 9be78552fdd40de80502a78bc3784ba83f47c90a 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=ea1b2da1dbe67b976862b10e1a7caaadd6ee69ab commit ea1b2da1dbe67b976862b10e1a7caaadd6ee69ab 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=349558b758e770abaab7c6a30b78c72ecebbb50f commit 349558b758e770abaab7c6a30b78c72ecebbb50f 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=b4775eb1f9f7cbf719cab5eeadb4d79a0f27dca7 commit b4775eb1f9f7cbf719cab5eeadb4d79a0f27dca7 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=5e03f26311b8ed294603e890b73dfd504bfed16c commit 5e03f26311b8ed294603e890b73dfd504bfed16c 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=89e14ed0256c5a51b88e442d12e3c47bffb839cb commit 89e14ed0256c5a51b88e442d12e3c47bffb839cb 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=372215a890eab2f206627448aa62ece940137f96 commit 372215a890eab2f206627448aa62ece940137f96 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=756d9ead717452db04793ab41aa8a13c812c3a4e commit 756d9ead717452db04793ab41aa8a13c812c3a4e 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=bea5aab7d09d2315fb2618444575b3079d210ea2 commit bea5aab7d09d2315fb2618444575b3079d210ea2 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=08987e1e9bb43de25b20b3e9d1284a5c66a44ce0 commit 08987e1e9bb43de25b20b3e9d1284a5c66a44ce0 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=1c4ff3a0cc7c9ace09559e57beb46fd836faf5d6 commit 1c4ff3a0cc7c9ace09559e57beb46fd836faf5d6 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=70eb9adff2c3a0b63f7860090526b6c2f64a2a3e commit 70eb9adff2c3a0b63f7860090526b6c2f64a2a3e 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=47d0292ebcb0fef73581a763c9a33e87e1d14762 commit 47d0292ebcb0fef73581a763c9a33e87e1d14762 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=c9876e5efc95098c991bc33d8f3bd69e0c4ce071 commit c9876e5efc95098c991bc33d8f3bd69e0c4ce071 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. -----------------------------------------------------------------------
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 deleted was a938eb6e8ba74d0966e1a7c171b64662bbb11f23 - Log ----------------------------------------------------------------- a938eb6e8ba74d0966e1a7c171b64662bbb11f23 Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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 df5aac1b87cd8a55b27c2ca349de5fcbab3e0056 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=df5aac1b87cd8a55b27c2ca349de5fcbab3e0056 commit df5aac1b87cd8a55b27c2ca349de5fcbab3e0056 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=b5382de09aecde09bf72523a505aa022e9906291 commit b5382de09aecde09bf72523a505aa022e9906291 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=727a2343235733c64e96a97d051df8aad57f77d3 commit 727a2343235733c64e96a97d051df8aad57f77d3 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=3f3a4aaaf1f40effc4185508b0cd8d4d4a4624c2 commit 3f3a4aaaf1f40effc4185508b0cd8d4d4a4624c2 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=e6807611333b314e8ef9284a3ffb61034ce5120d commit e6807611333b314e8ef9284a3ffb61034ce5120d 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=c1eda3a1728e9a1c21edac30e032f6000003823f commit c1eda3a1728e9a1c21edac30e032f6000003823f 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=72343a6dce1ec9fec8942037882971492826c4ea commit 72343a6dce1ec9fec8942037882971492826c4ea 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=ea0cd45afcffd4e6418d44345cb8fccf85138ad7 commit ea0cd45afcffd4e6418d44345cb8fccf85138ad7 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=6bb0079f613ec97a8266b0159da138cb8ab10502 commit 6bb0079f613ec97a8266b0159da138cb8ab10502 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=802c7c7825fe5f1b2a20fa4007f9a549cf4dfe38 commit 802c7c7825fe5f1b2a20fa4007f9a549cf4dfe38 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=b24f74e0796034a29282e128f7947a0e7b96ae61 commit b24f74e0796034a29282e128f7947a0e7b96ae61 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=76dbe9073046cb79c628991dd9d9b3a150eb1abb commit 76dbe9073046cb79c628991dd9d9b3a150eb1abb 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=936f428155bfdfbae0c5cf40bf7a62511c426ab7 commit 936f428155bfdfbae0c5cf40bf7a62511c426ab7 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=ca4ef96acfca9cfa15bdeb17bd43d4d1d7926776 commit ca4ef96acfca9cfa15bdeb17bd43d4d1d7926776 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=4a082744dc16c4cdc7de1bfb0685a63e27717d20 commit 4a082744dc16c4cdc7de1bfb0685a63e27717d20 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=c1a061d104bdd6d4e01c03a905b3eb90ef6fef1a commit c1a061d104bdd6d4e01c03a905b3eb90ef6fef1a 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=9962373baa8875e5af5523aa3e7b2e2a6f1d57a4 commit 9962373baa8875e5af5523aa3e7b2e2a6f1d57a4 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=b84ee8d09d14fa56728559f0e1becfa429b3aaca commit b84ee8d09d14fa56728559f0e1becfa429b3aaca 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=27a57eef53bdb2b9c6a091d01727520fb33b1b04 commit 27a57eef53bdb2b9c6a091d01727520fb33b1b04 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=d6370c34e27a99c3d45b22bed7a46da52463c012 commit d6370c34e27a99c3d45b22bed7a46da52463c012 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=1018130fe29cfdb048d6a8039c89ff990e2e8b18 commit 1018130fe29cfdb048d6a8039c89ff990e2e8b18 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=c95c353ee2e678d65cca379155b22046712a992a commit c95c353ee2e678d65cca379155b22046712a992a 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=6b695521081925240fe1fdca45eac38275b38ae8 commit 6b695521081925240fe1fdca45eac38275b38ae8 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=f81813401fd9213310ff505ff284f8257ba5b1aa commit f81813401fd9213310ff505ff284f8257ba5b1aa 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=108cbb0c697fdbc717f9845a222e104e4a3e7d3a commit 108cbb0c697fdbc717f9845a222e104e4a3e7d3a 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=ab6782678ae4e25f44144925e34501efe356d7c0 commit ab6782678ae4e25f44144925e34501efe356d7c0 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=b5cf242f69a4cb475e62de7c52712066b4fce090 commit b5cf242f69a4cb475e62de7c52712066b4fce090 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=bf321dc82f97d4a4089d01340f5dc4d85fa87847 commit bf321dc82f97d4a4089d01340f5dc4d85fa87847 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=3f2236b6fbd37692ae006eadb8930b68dca6e19c commit 3f2236b6fbd37692ae006eadb8930b68dca6e19c 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=73f0dc47f4abbb93afaa12563ee6208feeb3d10b commit 73f0dc47f4abbb93afaa12563ee6208feeb3d10b 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=b0b575828741ef0f50b1c5072d5d9a59bdd63d20 commit b0b575828741ef0f50b1c5072d5d9a59bdd63d20 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=fc8ee8d5158341c0c231e9e4ba45367d027806dc commit fc8ee8d5158341c0c231e9e4ba45367d027806dc 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=13a30241daed3000bea354a565b723df5723bd8a commit 13a30241daed3000bea354a565b723df5723bd8a 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=3ceb4b4054d22615d41165d4ebc833d8237ecf26 commit 3ceb4b4054d22615d41165d4ebc833d8237ecf26 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=11d4e76032c90724959b269b27b633dfd854c379 commit 11d4e76032c90724959b269b27b633dfd854c379 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=bccca4f4fa323597dbaffd5f081d8a3d02b42c75 commit bccca4f4fa323597dbaffd5f081d8a3d02b42c75 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=9781b899442d12a8143712dd31c1066ae54ae5be commit 9781b899442d12a8143712dd31c1066ae54ae5be 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=fd5da5bb50719904369fe74edc6a926716146a30 commit fd5da5bb50719904369fe74edc6a926716146a30 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=bba4dd9d6b85b544db6886fb09e84bbad37f1cce commit bba4dd9d6b85b544db6886fb09e84bbad37f1cce 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=11450ed09c499e7647aedf037a740366a37d5c8d commit 11450ed09c499e7647aedf037a740366a37d5c8d 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=c55b636d7d61adf757074f5df9f3327d87a6568a commit c55b636d7d61adf757074f5df9f3327d87a6568a 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. (__setutent): Likewise. (__endutent): Likewise. (__getutid): Likewise. (__getutline): Likewise. (__getutent_r): Likewise. (__getutid_r): Likewise. (__getutent): Add libc_hidden_proto. (__pututline): Likewise. (__getutline_r): Likewise. * login/getutent.c (__getutent): Add libc_hidden_def. * login/getutent_r.c (__getutent_r): Likewise. (__pututline): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=fd0b712f0445b28bcaba224e5e00528446aa6595 commit fd0b712f0445b28bcaba224e5e00528446aa6595 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=650b68526514201a938a5e73b9faa01ac5530081 commit 650b68526514201a938a5e73b9faa01ac5530081 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=308ea7ae6daedc460308d95777a75d012b6b1ca6 commit 308ea7ae6daedc460308d95777a75d012b6b1ca6 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=54d63d048a5abd78fbd49c6f763ebed894d81ba5 commit 54d63d048a5abd78fbd49c6f763ebed894d81ba5 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=52e21d78733b317a94b1f5af00a8cc78404ffbd8 commit 52e21d78733b317a94b1f5af00a8cc78404ffbd8 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=24ef3b49e4e96a2927c4409ba98fcfe4bfa27546 commit 24ef3b49e4e96a2927c4409ba98fcfe4bfa27546 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=e85beb3b85c0e0e29d83cbe44f92001aec839804 commit e85beb3b85c0e0e29d83cbe44f92001aec839804 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=956ab03c5839b2360923ee6260ef66fdcf85c896 commit 956ab03c5839b2360923ee6260ef66fdcf85c896 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=231c6a7d0c3d327319efd6f35c14407b48857a40 commit 231c6a7d0c3d327319efd6f35c14407b48857a40 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=431b59bc0f565b59da4220759ef540402dcf0de4 commit 431b59bc0f565b59da4220759ef540402dcf0de4 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=756d9ead717452db04793ab41aa8a13c812c3a4e commit 756d9ead717452db04793ab41aa8a13c812c3a4e 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=bea5aab7d09d2315fb2618444575b3079d210ea2 commit bea5aab7d09d2315fb2618444575b3079d210ea2 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=08987e1e9bb43de25b20b3e9d1284a5c66a44ce0 commit 08987e1e9bb43de25b20b3e9d1284a5c66a44ce0 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=1c4ff3a0cc7c9ace09559e57beb46fd836faf5d6 commit 1c4ff3a0cc7c9ace09559e57beb46fd836faf5d6 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=70eb9adff2c3a0b63f7860090526b6c2f64a2a3e commit 70eb9adff2c3a0b63f7860090526b6c2f64a2a3e 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=47d0292ebcb0fef73581a763c9a33e87e1d14762 commit 47d0292ebcb0fef73581a763c9a33e87e1d14762 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=c9876e5efc95098c991bc33d8f3bd69e0c4ce071 commit c9876e5efc95098c991bc33d8f3bd69e0c4ce071 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. -----------------------------------------------------------------------
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 deleted was df5aac1b87cd8a55b27c2ca349de5fcbab3e0056 - Log ----------------------------------------------------------------- df5aac1b87cd8a55b27c2ca349de5fcbab3e0056 Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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. -----------------------------------------------------------------------
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 0a587a8a98ca32c98e6b00f557e6af6c8eedc602 (commit) from 1650e19265e577d2b9e90929cf47895985f32b87 (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=0a587a8a98ca32c98e6b00f557e6af6c8eedc602 commit 0a587a8a98ca32c98e6b00f557e6af6c8eedc602 Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Sep 4 13:38:36 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. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 12 ++++++++++++ include/sys/stat.h | 2 ++ io/chmod.c | 1 + io/mkdir.c | 1 + sysdeps/mach/hurd/chmod.c | 1 + sysdeps/mach/hurd/mkdir.c | 1 + sysdeps/unix/sysv/linux/generic/chmod.c | 2 ++ sysdeps/unix/sysv/linux/generic/mkdir.c | 2 ++ 8 files changed, 22 insertions(+), 0 deletions(-)
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 deleted was 6419070e434702f3357ca51ea55cc507d06bc41b - Log ----------------------------------------------------------------- 6419070e434702f3357ca51ea55cc507d06bc41b Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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 9fca6171966418dcd1decd084df68e2cfa839808 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9fca6171966418dcd1decd084df68e2cfa839808 commit 9fca6171966418dcd1decd084df68e2cfa839808 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=d7d2510c79cd0b0686508586b63abaedecbb5390 commit d7d2510c79cd0b0686508586b63abaedecbb5390 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=7b90ccc122d86a269152423dea1d04337a32bb61 commit 7b90ccc122d86a269152423dea1d04337a32bb61 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=73cf07a1cdcbfd82af0c64d540c79ff706a25b13 commit 73cf07a1cdcbfd82af0c64d540c79ff706a25b13 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=2c7c8ab318496287853d45ee1602fa741398f1be commit 2c7c8ab318496287853d45ee1602fa741398f1be 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=11a16bb696ac1d0a29ccee5bd9b0f4b2c3c18d09 commit 11a16bb696ac1d0a29ccee5bd9b0f4b2c3c18d09 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=8103d15f7a974b8e83a79f53da4b3669c5b71042 commit 8103d15f7a974b8e83a79f53da4b3669c5b71042 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=1b40fa9e02f17fb293f9fe52cfdc080a9643cf0c commit 1b40fa9e02f17fb293f9fe52cfdc080a9643cf0c 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=327c0711539a68121bd6da428223f137af7dc82e commit 327c0711539a68121bd6da428223f137af7dc82e 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=1a9e09ef1d838425384ab50fabc0ccd6685e92d8 commit 1a9e09ef1d838425384ab50fabc0ccd6685e92d8 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=46aad0b8fce2fc827e8bf5d6a4d2ef74e21a28d9 commit 46aad0b8fce2fc827e8bf5d6a4d2ef74e21a28d9 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=6376e8e949f7d90c7eb58927923e6769bb593663 commit 6376e8e949f7d90c7eb58927923e6769bb593663 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=b406fd57dcba19fe4d2e55a1a6bc0814b6d80688 commit b406fd57dcba19fe4d2e55a1a6bc0814b6d80688 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=e6b8b0275bfefc385447631fe5d7cc86a5551069 commit e6b8b0275bfefc385447631fe5d7cc86a5551069 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=d95964322b6c1666f66d12ff243f7a87b7b6071c commit d95964322b6c1666f66d12ff243f7a87b7b6071c 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=0bac6da5522d192e58da6740c0cb9e32ece4c453 commit 0bac6da5522d192e58da6740c0cb9e32ece4c453 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=356a7150cbeac4a8f518d1c62a80e30469e19005 commit 356a7150cbeac4a8f518d1c62a80e30469e19005 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=06bf4aca759546c2bc627c95451ed6eecca5db24 commit 06bf4aca759546c2bc627c95451ed6eecca5db24 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=e0d543ba818543a614020d0b8f8184236f7bf7be commit e0d543ba818543a614020d0b8f8184236f7bf7be 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=1ed01aba04961651e352e934274ac8294ff8a922 commit 1ed01aba04961651e352e934274ac8294ff8a922 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=e886c5ee285fd86fafe495776960de78cfe0bdb5 commit e886c5ee285fd86fafe495776960de78cfe0bdb5 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=32a86fd87100686ac5bbe4f53345b2bf3d5dfe48 commit 32a86fd87100686ac5bbe4f53345b2bf3d5dfe48 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=01a1772e8562f32f77c5d1007d40a0223ed47ddf commit 01a1772e8562f32f77c5d1007d40a0223ed47ddf 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=55b87d6ad02ca3050b390b3fc63a890a02174090 commit 55b87d6ad02ca3050b390b3fc63a890a02174090 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=d37bb3c36ce571999af94eb87f78b54168b6f853 commit d37bb3c36ce571999af94eb87f78b54168b6f853 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=015a55e62230c600eb247add1e200964b0eaa8c4 commit 015a55e62230c600eb247add1e200964b0eaa8c4 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=1f3b8aa5b36ea85ae348a280aa0e1cac33e7db1f commit 1f3b8aa5b36ea85ae348a280aa0e1cac33e7db1f 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=f9cd21ff5e5052abd635e070c26ccb8e330ba7ef commit f9cd21ff5e5052abd635e070c26ccb8e330ba7ef 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=2d89285aa84141a329527686b5162d9fe3402b21 commit 2d89285aa84141a329527686b5162d9fe3402b21 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=24527a4d658f0621dc312b774201452f42fa056f commit 24527a4d658f0621dc312b774201452f42fa056f 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=b88a7b5d1bc7d8861b2ebe45c841889c58a33a0d commit b88a7b5d1bc7d8861b2ebe45c841889c58a33a0d 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=045a1d1e35d5c800a641d175a8796215ec2f5b80 commit 045a1d1e35d5c800a641d175a8796215ec2f5b80 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=7cb4147f9047b9ae651c35afbba9eb9e140d563b commit 7cb4147f9047b9ae651c35afbba9eb9e140d563b 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=37e1f4e59ac277efa88786abbd2621a1c275896e commit 37e1f4e59ac277efa88786abbd2621a1c275896e 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=aeb180390c441ecff9997453e2d4fb0bf002e2c5 commit aeb180390c441ecff9997453e2d4fb0bf002e2c5 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=068864f3c469063dab18d11ab4662f5b19c365cb commit 068864f3c469063dab18d11ab4662f5b19c365cb 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=d6acce433cb6c3b8abc36dc80b88b76120bfed06 commit d6acce433cb6c3b8abc36dc80b88b76120bfed06 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=cbc3361096bf9469c58bef565aedd06099e93fc5 commit cbc3361096bf9469c58bef565aedd06099e93fc5 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=919ac87645f7127f875a8ffce47cc26478308af9 commit 919ac87645f7127f875a8ffce47cc26478308af9 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=2994888000a3b7a3a6cc2177d6e91e7c63394396 commit 2994888000a3b7a3a6cc2177d6e91e7c63394396 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=c467866cce2ddfbc16f6487423477be1dee54e19 commit c467866cce2ddfbc16f6487423477be1dee54e19 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=0f16b5fd0c9fd9ff3d3f2925aef93e72ab9f4f56 commit 0f16b5fd0c9fd9ff3d3f2925aef93e72ab9f4f56 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=bb76d0fec09707f55c4d889b90c57f07725769b3 commit bb76d0fec09707f55c4d889b90c57f07725769b3 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=522034d38293585e9948002f0a1452d19aadb70c commit 522034d38293585e9948002f0a1452d19aadb70c 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=7ed005b03faf4687b87b56ae7db58550002ca18c commit 7ed005b03faf4687b87b56ae7db58550002ca18c 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=3eb5a865b06143fe26b4dac533a2a8ede036eadd commit 3eb5a865b06143fe26b4dac533a2a8ede036eadd 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=b1dfd2a09eaf9c8ae8a74638544c6177e5a74486 commit b1dfd2a09eaf9c8ae8a74638544c6177e5a74486 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=c028333c114b90b54977a45dc76ff20b1f6a71b2 commit c028333c114b90b54977a45dc76ff20b1f6a71b2 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=2cbbc7239cedd87bce2ce3df4c2f61319dac76d9 commit 2cbbc7239cedd87bce2ce3df4c2f61319dac76d9 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=5fe846c5f6f2fac2ca94065573e52f541f6d53a9 commit 5fe846c5f6f2fac2ca94065573e52f541f6d53a9 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: Include <dso_handle.h>. (__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/dso_handle.h: New file. * malloc/mtrace.c: Include <dso_handle.h>. (mtrace): Pass __dso_handle directly. * nptl/pthread_atfork.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (__pthread_atfork): Pass __dso_handle directly. * nptl/tst-atfork2mod.c: Include <dso_handle.h>. (__dso_handle): Removed. * posix/wordexp-test.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (__app_register_atfork): Pass __dso_handle directly. * stdlib/at_quick_exit.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (at_quick_exit): Pass __dso_handle directly. * stdlib/atexit.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (atexit): Pass __dso_handle directly. * stdlib/tst-tls-atexit-lib.c: Include <dso_handle.h>. (__dso_handle): Removed. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e856b495737b9387a37ba068b943b609fda08c7e commit e856b495737b9387a37ba068b943b609fda08c7e 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=4f784783c8453ba64f260e8cc5472e2b5b50e17c commit 4f784783c8453ba64f260e8cc5472e2b5b50e17c 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=d8f51a23f9d3ee8d0918ec08455030cc1febd498 commit d8f51a23f9d3ee8d0918ec08455030cc1febd498 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=19b3c558db8eff116b7178c5c609bc9f885736c7 commit 19b3c558db8eff116b7178c5c609bc9f885736c7 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=045fa9664af305d15c37174af12d88adc9c95637 commit 045fa9664af305d15c37174af12d88adc9c95637 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=e4fa2a881732c6eebe1408c279be1f8ab5796ad1 commit e4fa2a881732c6eebe1408c279be1f8ab5796ad1 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=eb807184d1ab304a5cdc47f8be7805aa3e844def commit eb807184d1ab304a5cdc47f8be7805aa3e844def 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. -----------------------------------------------------------------------
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 deleted was 9fca6171966418dcd1decd084df68e2cfa839808 - Log ----------------------------------------------------------------- 9fca6171966418dcd1decd084df68e2cfa839808 Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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 3672257bcb0e3b4b5f2a983e3a2fd3a28d7ebe07 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=3672257bcb0e3b4b5f2a983e3a2fd3a28d7ebe07 commit 3672257bcb0e3b4b5f2a983e3a2fd3a28d7ebe07 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=2fa9590d80eb191d17f4b2afba0338afa9c0f087 commit 2fa9590d80eb191d17f4b2afba0338afa9c0f087 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=8a65c7e04470d7fc189d10b8d7c7586c527b0041 commit 8a65c7e04470d7fc189d10b8d7c7586c527b0041 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=bb5b2a31cc17c05995f59533a0e3592a68c68c19 commit bb5b2a31cc17c05995f59533a0e3592a68c68c19 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=2e7fdd463f1b8f3adcb33e29f1ee388a0c11c2c9 commit 2e7fdd463f1b8f3adcb33e29f1ee388a0c11c2c9 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=5c931cce8512d1baf9a02139d5122b8d594b5ff3 commit 5c931cce8512d1baf9a02139d5122b8d594b5ff3 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=9c0a2ed99d8c016bc3585f2553e1594ab8cbedff commit 9c0a2ed99d8c016bc3585f2553e1594ab8cbedff 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=8522d992c3fda72c73c3eb736959815430d77244 commit 8522d992c3fda72c73c3eb736959815430d77244 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=d0ed185f04ffda8f087dad7ca1e00a9e8516750a commit d0ed185f04ffda8f087dad7ca1e00a9e8516750a 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=99cc40e3124645c90974cfd7c919514cdfcdeb53 commit 99cc40e3124645c90974cfd7c919514cdfcdeb53 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=6becc05d96b5a8f13e93bee6c2bd53899858c623 commit 6becc05d96b5a8f13e93bee6c2bd53899858c623 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=8373ce9f5837642fe7fb543d87f8283da0c70555 commit 8373ce9f5837642fe7fb543d87f8283da0c70555 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=6fe6846a178a2014ed5481d46fc84f7b7a1c018c commit 6fe6846a178a2014ed5481d46fc84f7b7a1c018c 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=dd41c9e5729657edf95b22dacf2af076c3af57d2 commit dd41c9e5729657edf95b22dacf2af076c3af57d2 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=3c7912baf373a694d3d3257bd4387827b1c59a2d commit 3c7912baf373a694d3d3257bd4387827b1c59a2d 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=4ee94f6276e03d02b621cb311449be102ac35852 commit 4ee94f6276e03d02b621cb311449be102ac35852 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=5d29baf6d01af4b4e9ad7caf48f2837aa860d725 commit 5d29baf6d01af4b4e9ad7caf48f2837aa860d725 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=b94c628568879eebf24a7ac5529fe103737c8248 commit b94c628568879eebf24a7ac5529fe103737c8248 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=b7699f601a416ed56481e4c8ace9734bc6193532 commit b7699f601a416ed56481e4c8ace9734bc6193532 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=5ca21f33c64aae8da3b9d422b1b8127c6316da7b commit 5ca21f33c64aae8da3b9d422b1b8127c6316da7b 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=67c700df01be487c14e30d4f77dfda632ee36c96 commit 67c700df01be487c14e30d4f77dfda632ee36c96 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=3144214ece094bc720d7a07309c59730e890a570 commit 3144214ece094bc720d7a07309c59730e890a570 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=88e6542683ad86bfb1c28661af8147ca9d0f1dfd commit 88e6542683ad86bfb1c28661af8147ca9d0f1dfd 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=18734e192e248bfec6a7272d406c9260680669b1 commit 18734e192e248bfec6a7272d406c9260680669b1 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=9f16b89705ec12a6bfef99def792c83b42bc65f2 commit 9f16b89705ec12a6bfef99def792c83b42bc65f2 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=d24829b8412b124284b102d207ee6f55719bb9b8 commit d24829b8412b124284b102d207ee6f55719bb9b8 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=83619683172b662431fcafc50b17f754807f0eb3 commit 83619683172b662431fcafc50b17f754807f0eb3 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=b296d02931dac846433606cc1db4f41d6245d2b1 commit b296d02931dac846433606cc1db4f41d6245d2b1 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=c534bdc88d7f487ae9559a90ce72a8312d56cc25 commit c534bdc88d7f487ae9559a90ce72a8312d56cc25 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=24abdbc2f5e9d632eb3002bb386f9962ef13555f commit 24abdbc2f5e9d632eb3002bb386f9962ef13555f 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=a99f44524718ec353854c33500952b00627d4c49 commit a99f44524718ec353854c33500952b00627d4c49 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=09de76ed95d1d57b39abf52415b51a9b77745159 commit 09de76ed95d1d57b39abf52415b51a9b77745159 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=c9cecaf736c70cc2b95a39b44320a6f701f4fb7a commit c9cecaf736c70cc2b95a39b44320a6f701f4fb7a 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=001e3a1959873e232dbdbe97273e59795ebc31f4 commit 001e3a1959873e232dbdbe97273e59795ebc31f4 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=a8850d15efb2af2ea02a42a0914215e484572256 commit a8850d15efb2af2ea02a42a0914215e484572256 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=b8f760ef5eb54b1c3dd97e607d521444ca012038 commit b8f760ef5eb54b1c3dd97e607d521444ca012038 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=45559a7e5e1f94ded04e5eda2a10418fc13164d2 commit 45559a7e5e1f94ded04e5eda2a10418fc13164d2 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=1f116d66ebe85f2d873f48ef64d3cadcae9d9d83 commit 1f116d66ebe85f2d873f48ef64d3cadcae9d9d83 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=5494c60e31a9285472746e0514d5138fca2f4464 commit 5494c60e31a9285472746e0514d5138fca2f4464 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=993c4d50642ff6114563e0920acf87cec595ea23 commit 993c4d50642ff6114563e0920acf87cec595ea23 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=5564878dd98f977e493de1d82db3867adc019e14 commit 5564878dd98f977e493de1d82db3867adc019e14 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=af20cf759c0474b2a1f8a5ea716812f0ad79b190 commit af20cf759c0474b2a1f8a5ea716812f0ad79b190 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=847a2bceca1d05df01b2985112c4dcd018f99945 commit 847a2bceca1d05df01b2985112c4dcd018f99945 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=2fb37368506133e92b86d82e50e33783a1c13a9a commit 2fb37368506133e92b86d82e50e33783a1c13a9a 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=1491233b53fbd4e5c19a292111caec85c7a4092b commit 1491233b53fbd4e5c19a292111caec85c7a4092b 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=acca46e9ccaeb3775fa8e03dda773b6e0415f390 commit acca46e9ccaeb3775fa8e03dda773b6e0415f390 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=459ecb7634f1688a04d8844005d1c2d136b4d207 commit 459ecb7634f1688a04d8844005d1c2d136b4d207 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=556a4490d9635d2db7e913a4403e45fc6d5735e2 commit 556a4490d9635d2db7e913a4403e45fc6d5735e2 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=d7be7ec736acb2a0743a039b20a91a3cc92f8c11 commit d7be7ec736acb2a0743a039b20a91a3cc92f8c11 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=190a24fa20f966f702212758928e63478cb58e53 commit 190a24fa20f966f702212758928e63478cb58e53 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: Include <dso_handle.h>. (__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/dso_handle.h: New file. * malloc/mtrace.c: Include <dso_handle.h>. (mtrace): Pass __dso_handle directly. * nptl/pthread_atfork.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (__pthread_atfork): Pass __dso_handle directly. * nptl/tst-atfork2mod.c: Include <dso_handle.h>. (__dso_handle): Removed. * posix/wordexp-test.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (__app_register_atfork): Pass __dso_handle directly. * stdlib/at_quick_exit.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (at_quick_exit): Pass __dso_handle directly. * stdlib/atexit.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (atexit): Pass __dso_handle directly. * stdlib/tst-tls-atexit-lib.c: Include <dso_handle.h>. (__dso_handle): Removed. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0e1188f13402055dea3a318f2d8dee6f5276be6c commit 0e1188f13402055dea3a318f2d8dee6f5276be6c 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=94d460c861fef1941b08be46723b31eed0b7f175 commit 94d460c861fef1941b08be46723b31eed0b7f175 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=477ea61a070deea91881969a4f87c407a536c14b commit 477ea61a070deea91881969a4f87c407a536c14b 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=a6e52a2ed9febfcfe9e4ba12bf613521a975bf2a commit a6e52a2ed9febfcfe9e4ba12bf613521a975bf2a 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=5481f0c8484af94792abea2437587b6e0816eb08 commit 5481f0c8484af94792abea2437587b6e0816eb08 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=7e00ef30aa4a723af133e49e23dc625ab61457b8 commit 7e00ef30aa4a723af133e49e23dc625ab61457b8 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=44a0c5915a959d23d696040d75fe78751ed328b1 commit 44a0c5915a959d23d696040d75fe78751ed328b1 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. -----------------------------------------------------------------------
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 825adeeed1e95990fd1efb70d9ac3eb7f1ea802a (commit) from bfb0deb3554204cbba10d61d96cad355e4ca5623 (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=825adeeed1e95990fd1efb70d9ac3eb7f1ea802a commit 825adeeed1e95990fd1efb70d9ac3eb7f1ea802a Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Sep 26 16:53:25 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: Include <dso_handle.h>. (__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/dso_handle.h: New file. * malloc/mtrace.c: Include <dso_handle.h>. (mtrace): Pass __dso_handle directly. * nptl/pthread_atfork.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (__pthread_atfork): Pass __dso_handle directly. * nptl/tst-atfork2mod.c: Include <dso_handle.h>. (__dso_handle): Removed. * posix/wordexp-test.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (__app_register_atfork): Pass __dso_handle directly. * stdlib/at_quick_exit.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (at_quick_exit): Pass __dso_handle directly. * stdlib/atexit.c: Include <dso_handle.h>. (__dso_handle): Remove declaration. (atexit): Pass __dso_handle directly. * stdlib/tst-tls-atexit-lib.c: Include <dso_handle.h>. (__dso_handle): Removed. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 30 ++++++++++++++++++++++++++++++ dlfcn/modatexit.c | 2 -- dlfcn/modcxaatexit.c | 2 +- dlfcn/tstatexit.c | 8 -------- dlfcn/tstcxaatexit.c | 8 -------- include/dso_handle.h | 3 +++ malloc/mtrace.c | 4 ++-- nptl/pthread_atfork.c | 8 ++------ nptl/tst-atfork2mod.c | 2 +- posix/wordexp-test.c | 5 ++--- stdlib/at_quick_exit.c | 8 ++------ stdlib/atexit.c | 9 ++------- stdlib/tst-tls-atexit-lib.c | 3 +-- 13 files changed, 46 insertions(+), 46 deletions(-) create mode 100644 include/dso_handle.h
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 deleted was 3672257bcb0e3b4b5f2a983e3a2fd3a28d7ebe07 - Log ----------------------------------------------------------------- 3672257bcb0e3b4b5f2a983e3a2fd3a28d7ebe07 Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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 2c668a5c126c66f9ee4164730e805f36278a4b20 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2c668a5c126c66f9ee4164730e805f36278a4b20 commit 2c668a5c126c66f9ee4164730e805f36278a4b20 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=76687f844dd983b09df9306aa3527564ebb431c9 commit 76687f844dd983b09df9306aa3527564ebb431c9 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=36756b2e9f73e77d2e65488080f61494eca65bc0 commit 36756b2e9f73e77d2e65488080f61494eca65bc0 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/glob64.c (__glob64): Add libc_hidden_def. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=53d1a65b2e2833cc59c1172b8db6a6dcd0c6f87b commit 53d1a65b2e2833cc59c1172b8db6a6dcd0c6f87b 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=e6515ab253f55cfe5535b5e4e4779ded7acb3d11 commit e6515ab253f55cfe5535b5e4e4779ded7acb3d11 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=398f6e35fec61ce55b1092a00ede6f7323e1d834 commit 398f6e35fec61ce55b1092a00ede6f7323e1d834 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=a14e4b011d5dd4f9858b7bb558ab0f46e98a4b1d commit a14e4b011d5dd4f9858b7bb558ab0f46e98a4b1d 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=c613781146f4fd2dc3a2dea39b416cd7cfab34e9 commit c613781146f4fd2dc3a2dea39b416cd7cfab34e9 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=6d3a328f997e3a5157aaa148c0c0408506871afa commit 6d3a328f997e3a5157aaa148c0c0408506871afa 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=ad9f88c3cfa0848e4074ccd87d6f93e468939437 commit ad9f88c3cfa0848e4074ccd87d6f93e468939437 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=3afe5949af31a5028e41d6b1b172138789cd40cb commit 3afe5949af31a5028e41d6b1b172138789cd40cb 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=95f58a3f75d55bff60154b4bb70b3cc5d3945609 commit 95f58a3f75d55bff60154b4bb70b3cc5d3945609 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=22355d035fde56486fa847c405f318e2c24aa454 commit 22355d035fde56486fa847c405f318e2c24aa454 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=92a24006e4765bef48bb0f238805d2d3c38d4ff2 commit 92a24006e4765bef48bb0f238805d2d3c38d4ff2 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=c2bc3017e5b905ec98183395ab3a39249cc705af commit c2bc3017e5b905ec98183395ab3a39249cc705af 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=0f0e100902b0006fb7f9c97687a1340f577d92af commit 0f0e100902b0006fb7f9c97687a1340f577d92af 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=083282849c4b6561cbe25e2c18191674f1eba44c commit 083282849c4b6561cbe25e2c18191674f1eba44c 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=5b1cd47a56bc9ac82170caa776a5f461cca3ac0f commit 5b1cd47a56bc9ac82170caa776a5f461cca3ac0f 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=1b18d31f4b338d9c1f98a7a207ca86a322e42014 commit 1b18d31f4b338d9c1f98a7a207ca86a322e42014 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=fcd6350605ca490df1d9f06895252edad52f6457 commit fcd6350605ca490df1d9f06895252edad52f6457 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=60c12c4a59b9e41a20fe959a6f02fb0a579e4f81 commit 60c12c4a59b9e41a20fe959a6f02fb0a579e4f81 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=8f1995c2955a07ca657d7c22ea58fcd86acdf835 commit 8f1995c2955a07ca657d7c22ea58fcd86acdf835 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=01b30e390481dcc3f11be36c2485448ce2b1e5d1 commit 01b30e390481dcc3f11be36c2485448ce2b1e5d1 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=4c15d7c23f8aa81687a0ef5add1a71bca1dd30df commit 4c15d7c23f8aa81687a0ef5add1a71bca1dd30df 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=8ab6c45c1e1e0015ed671879774e7d942291e3d7 commit 8ab6c45c1e1e0015ed671879774e7d942291e3d7 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=3b754ea5d07c744f23b509826668b7607246fea8 commit 3b754ea5d07c744f23b509826668b7607246fea8 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=68076640718d72cc40b3635c1031cbceb514e21d commit 68076640718d72cc40b3635c1031cbceb514e21d 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=4cd6128f473d4db7bbc71de6b0d3b0a9871db5fa commit 4cd6128f473d4db7bbc71de6b0d3b0a9871db5fa 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=dedfbdfec414f973b8c96a5430be9feb9d473f9e commit dedfbdfec414f973b8c96a5430be9feb9d473f9e 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=f9f658b161c22bb43f111fa73dc4222492aeabcb commit f9f658b161c22bb43f111fa73dc4222492aeabcb 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=0700a91920d2348c875481da44c0da6a1a5064aa commit 0700a91920d2348c875481da44c0da6a1a5064aa 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=03e0fd739c24f1e74eb710f6bf004c653832a7a9 commit 03e0fd739c24f1e74eb710f6bf004c653832a7a9 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=414250adc18eb7516d43262d5dc2dbfe2d76d888 commit 414250adc18eb7516d43262d5dc2dbfe2d76d888 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=c1394fab7c3e9eed70defb442ad5c152be51fc9a commit c1394fab7c3e9eed70defb442ad5c152be51fc9a 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=1dbe90c340d17dfc34fc9fd58ef9ff43347e0ef2 commit 1dbe90c340d17dfc34fc9fd58ef9ff43347e0ef2 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=605bef612eb2ffadcfff14906c62363a895da631 commit 605bef612eb2ffadcfff14906c62363a895da631 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=8a83677848555643d4430e9050172144e35c6878 commit 8a83677848555643d4430e9050172144e35c6878 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=148a658735ad5bc592a0b89d32987f26a2fe4bed commit 148a658735ad5bc592a0b89d32987f26a2fe4bed 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=111ec3a710a8d9fa1b8c3b73fe3ffcd74d21a7ff commit 111ec3a710a8d9fa1b8c3b73fe3ffcd74d21a7ff 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=550efff5105253c16925a74da89d178a96bec7c0 commit 550efff5105253c16925a74da89d178a96bec7c0 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=7c43e85b727a1d175ef442cb137dbbf50ca8e355 commit 7c43e85b727a1d175ef442cb137dbbf50ca8e355 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=69b667c9f70d6a3745e557c3f23c930268ac5013 commit 69b667c9f70d6a3745e557c3f23c930268ac5013 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=eba46f5a421fbe1359fd26b6edd5c792a85ea8b6 commit eba46f5a421fbe1359fd26b6edd5c792a85ea8b6 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=be1f438df78d4da2b3a296b3cd2e2ee357c3defe commit be1f438df78d4da2b3a296b3cd2e2ee357c3defe 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=02af6ae09abb8c3297b5d5f84b7718ec0e010a7d commit 02af6ae09abb8c3297b5d5f84b7718ec0e010a7d 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=b346121113437ec8cdad6b865c4c5367de845a38 commit b346121113437ec8cdad6b865c4c5367de845a38 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=b1e27ca514ab111bfb3e5f41d375b2cd12d6d6b3 commit b1e27ca514ab111bfb3e5f41d375b2cd12d6d6b3 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=8486c25530f0a343459f4f80eeb267dffebc3611 commit 8486c25530f0a343459f4f80eeb267dffebc3611 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=f811cc4759291c4119982e3d7adf7e882c81e4f4 commit f811cc4759291c4119982e3d7adf7e882c81e4f4 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=8e39a59eb172c4cdf851f2c21baa91cdd3d1d0ac commit 8e39a59eb172c4cdf851f2c21baa91cdd3d1d0ac 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=a560f498ecf60cf910e4c3fd834a13424bd0f47d commit a560f498ecf60cf910e4c3fd834a13424bd0f47d 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=e8b5e8f35828b658f4d5deb08c55ab31a4fc63bd commit e8b5e8f35828b658f4d5deb08c55ab31a4fc63bd 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=614c77aedcb2965b91dd413b380227650dfcb67b commit 614c77aedcb2965b91dd413b380227650dfcb67b 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=438de19d7b49d2b8469722c4a932e5f4c17036fa commit 438de19d7b49d2b8469722c4a932e5f4c17036fa 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=7666f34db1d3e0f62888374cf3e49744d8baf109 commit 7666f34db1d3e0f62888374cf3e49744d8baf109 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=d71ea66017853c7aaeeb2e75945e9261030cf9d7 commit d71ea66017853c7aaeeb2e75945e9261030cf9d7 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. -----------------------------------------------------------------------
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 8ed3b64330cd24e2a17d8794a871cab034707a33 (commit) via ef9b6f73f45a46d079018f63e2d9184eaa0db1d5 (commit) from 8da92e722ca66e35003abf64a77ae529f9989e6a (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=8ed3b64330cd24e2a17d8794a871cab034707a33 commit 8ed3b64330cd24e2a17d8794a871cab034707a33 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 14:34:18 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=ef9b6f73f45a46d079018f63e2d9184eaa0db1d5 commit ef9b6f73f45a46d079018f63e2d9184eaa0db1d5 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 14:33:26 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. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 36 +++++++++++++++++++++++++++++++++ include/stdlib.h | 53 ++++++++++++++++++++++++++++++------------------ include/time.h | 2 +- libio/iolibio.h | 3 +- misc/efgcvt_r.c | 7 +++++- stdlib/canonicalize.c | 1 + 6 files changed, 79 insertions(+), 23 deletions(-)
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%)
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/pie/static has been created at 564fd3712068200d3659f43bca63537bde7b525b (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=564fd3712068200d3659f43bca63537bde7b525b commit 564fd3712068200d3659f43bca63537bde7b525b Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Sep 27 16:47:29 2017 -0700 Add --enable-static-pie to build-many-glibcs.py https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a3fbc16706ad26d094d38bc1862f6069c203f944 commit a3fbc16706ad26d094d38bc1862f6069c203f944 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Sep 29 01:07:53 2017 -0700 tile: Check SHARED instead PIC for SYSCALL_ERROR_NAME For static PIE code, PIC is defined and SHARED is undefined. We should check SHARED instead PIC for SYSCALL_ERROR_NAME. * sysdeps/unix/sysv/linux/tile/sysdep.h (SYSCALL_ERROR_NAME): Check SHARED instead PIC. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f29948104a576cb38ecde6148f7e24a8d5c44d91 commit f29948104a576cb38ecde6148f7e24a8d5c44d91 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 16:13:54 2017 -0700 sparc: Check PIC instead of SHARED in start.S Since start.o may be compiled as PIC, we should check PIC instead of SHARED. * sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of SHARED. * sysdeps/sparc/sparc64/start.S (_start): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8a17e75fe7cde79e02f56729d7338ff28fe4f0a5 commit 8a17e75fe7cde79e02f56729d7338ff28fe4f0a5 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 16:13:22 2017 -0700 microblaze: Check PIC instead of SHARED in start.S Since start.o may be compiled as PIC, we should check PIC instead of SHARED. * sysdeps/microblaze/start.S (_start): Check PIC instead of SHARED. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=31751c2b427bd591f84471891621dc63318eb124 commit 31751c2b427bd591f84471891621dc63318eb124 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 16:12:52 2017 -0700 m68k: Check PIC instead of SHARED in start.S Since start.o may be compiled as PIC, we should check PIC instead of SHARED. * sysdeps/m68k/start.S (_start): Check PIC instead of SHARED. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=45c66102112767bc989d49cf515f7914116121eb commit 45c66102112767bc989d49cf515f7914116121eb Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 16:12:28 2017 -0700 hppa: Check PIC instead of SHARED in start.S Since start.o may be compiled as PIC, we should check PIC instead of SHARED. * sysdeps/hppa/start.S (_start): Check PIC instead of SHARED. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b3513a4d38be5186c2b109f162b1400acde53109 commit b3513a4d38be5186c2b109f162b1400acde53109 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 16:11:02 2017 -0700 aarch64: Check PIC instead of SHARED in start.S Since start.o may be compiled as PIC, we should check PIC instead of SHARED. * sysdeps/aarch64/start.S (_start): Check PIC instead of SHARED. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=45b1c08883d1f20b9e832b91e27d0c02e074d824 commit 45b1c08883d1f20b9e832b91e27d0c02e074d824 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:59:00 2017 -0700 tile: Update elf_machine_load_address for static PIE tile uses _DYNAMIC to compute load address, which works with static PIE. We just need to return 0 if _DYNAMIC is undefined for static executable. * sysdeps/tile/dl-machine.h (elf_machine_load_address): Return 0 if _DYNAMIC is undefined for static executable. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7583ff6e18f3fa4eabc5e9c21065475f16802f4a commit 7583ff6e18f3fa4eabc5e9c21065475f16802f4a Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:57:09 2017 -0700 sparc: Update elf_machine_load_address for static PIE sparc uses a local label to compute load address, which works with static PIE. We just need to return 0 if _DYNAMIC is undefined for static executable. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_dynamic): Return 0 if _DYNAMIC is undefined for static executable. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_dynamic): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e3e46e81264b44842a1b5f0cfedae88bd7dce2e7 commit e3e46e81264b44842a1b5f0cfedae88bd7dce2e7 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:55:18 2017 -0700 sh: Update elf_machine_load_address for static PIE When --enable-static-pie is used to configure glibc, we need to use _dl_relocate_static_pie to compute load address in static PIE. * sysdeps/sh/dl-machine.h (elf_machine_load_address): Use _dl_relocate_static_pie instead of _dl_start to compute load address in static PIE. Return 0 if _DYNAMIC is undefined for static executable. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=aac23fa9e6b56a605a314fe8177d2dc3912792e1 commit aac23fa9e6b56a605a314fe8177d2dc3912792e1 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:53:06 2017 -0700 s390: Update elf_machine_load_address for static PIE When --enable-static-pie is used to configure glibc, we need to use _dl_relocate_static_pie to compute load address in static PIE. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_dynamic): Use _dl_relocate_static_pie instead of _dl_start to compute load address in static PIE. Return 0 if _DYNAMIC is undefined for static executable. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_dynamic): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a23c8b2f091e0e1f2647bcc1df83b5c1bb1d5998 commit a23c8b2f091e0e1f2647bcc1df83b5c1bb1d5998 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:51:41 2017 -0700 powerpc32: Update elf_machine_load_address for static PIE powerpc32 uses _DYNAMIC to compute load address, which works with static PIE. We just need to return 0 if _DYNAMIC is undefined for static executable. * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_load_address): Return 0 if _DYNAMIC is undefined for static executable. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=015f2e4770152d467595dc8c0c3e3845ce5bda37 commit 015f2e4770152d467595dc8c0c3e3845ce5bda37 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:50:10 2017 -0700 nios2: Update elf_machine_load_address for static PIE nios2 uses a local label to compute load address, which works with static PIE. We just need to return 0 if _DYNAMIC is undefined for static executable. * sysdeps/nios2/dl-machine.h (elf_machine_dynamic): Return 0 if _DYNAMIC is undefined for static executable. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=eedf9b4822d848ef1ef30e7a43ac9b06703ab98f commit eedf9b4822d848ef1ef30e7a43ac9b06703ab98f Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:47:20 2017 -0700 microblaze: Update elf_machine_load_address for static PIE microblaze uses _DYNAMIC to compute load address, which works with static PIE. We just need to return 0 if _DYNAMIC is undefined for static executable. * sysdeps/microblaze/dl-machine.h (elf_machine_load_address): Return 0 if _DYNAMIC is undefined for static executable. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a4b207d2a8516804209204e79fb3c515cb6932b9 commit a4b207d2a8516804209204e79fb3c515cb6932b9 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:46:26 2017 -0700 m68k: Update elf_machine_load_address for static PIE When --enable-static-pie is used to configure glibc, we need to use _dl_relocate_static_pie to compute load address in static PIE. * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Use _dl_relocate_static_pie instead of _dl_start to compute load address in static PIE. Return 0 if _DYNAMIC is undefined for static executable. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=bf10de53783a770b0e1706541df3de6ca58b175f commit bf10de53783a770b0e1706541df3de6ca58b175f Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:44:46 2017 -0700 ia64: Update elf_machine_load_address for static PIE ia64 uses a local label to compute load address, which works with static PIE. We just need to return 0 if _DYNAMIC is undefined for static executable. * sysdeps/ia64/dl-machine.h (elf_machine_dynamic): Return 0 if _DYNAMIC is undefined for static executable. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=357a9c0b0f901a7672cb45073f16fe324e190a68 commit 357a9c0b0f901a7672cb45073f16fe324e190a68 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:42:18 2017 -0700 hppa: Update elf_machine_load_address for static PIE hppa uses _DYNAMIC to compute load address, which works with static PIE. We just need to return 0 if _DYNAMIC is undefined for static executable. * sysdeps/hppa/dl-machine.h (elf_machine_load_address): Return 0 if _DYNAMIC is undefined for static executable. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=dab877ccc5a766e74eb67fb9a9c65258496bae92 commit dab877ccc5a766e74eb67fb9a9c65258496bae92 Author: H.J. Lu <hjl.tools@gmail.com> Date: Thu Sep 28 14:36:33 2017 -0700 aarch64: Update elf_machine_load_address for static PIE When --enable-static-pie is used to configure glibc, we need to use _dl_relocate_static_pie to compute load address in static PIE. * sysdeps/aarch64/dl-machine.h (elf_machine_load_address): Use _dl_relocate_static_pie instead of _dl_start to compute load address in static PIE. Return 0 if _DYNAMIC is undefined for static executable. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=16c4bc96bd9b7d72c3385239d0b3557bcf6ca8ef commit 16c4bc96bd9b7d72c3385239d0b3557bcf6ca8ef Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Aug 22 15:37:10 2017 -0700 Don't use hidden visibility in libc.a with PIE on i386 On i386, when multi-arch is enabled, all external functions must be called via PIC PLT in PIE, which requires setting up EBX register, since they may be IFUNC functions. * config.h.in (NO_HIDDEN_EXTERN_FUNC_IN_PIE): New. * include/libc-symbols.h (__hidden_proto_hiddenattr): Add check for PIC and NO_HIDDEN_EXTERN_FUNC_IN_PIE. * sysdeps/i386/configure.ac (NO_HIDDEN_EXTERN_FUNC_IN_PIE): New AC_DEFINE if multi-arch is enabled. * sysdeps/i386/configure: Regenerated. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=26953cdecfd73b63352e1acd349671b4dbf4ec90 commit 26953cdecfd73b63352e1acd349671b4dbf4ec90 Author: H.J. Lu <hjl.tools@gmail.com> Date: Mon Jul 17 08:17:32 2017 -0700 Add --enable-static-pie configure option to build static PIE Dynamic linker, ld.so, is a standalone program which can be loaded at any address. This patch adds a configure option, --enable-static-pie, to embed the part of ld.so in static executable to create static position independent executable (static PIE). A static PIE is similar to static executable, but can be loaded at any address without help from a dynamic linker. When --enable-static-pie is used to configure glibc, libc.a is built as PIE and all static executables, including tests, are built as static PIE. The resulting libc.a can be used together with GCC 8 or above to build static PIE with the compiler option, -static-pie. But GCC 8 isn't required to build glibc with --enable-static-pie. When an older GCC is used to build glibc with --enable-static-pie, proper input files are passed to linker to create static executables as static PIE, together with "-z text" to prevent dynamic relocations in read-only segments, which are allowed in static PIE. Static PIE can work on all architectures which support PIE, provided 1. start.S is updated to check PIC instead SHARED for PIC code path and avoid dynamic relocation, when PIC is defined and SHARED isn't defined, to support static PIE. Patches are submitted for aarch64, arm, hppa, m68k, microblaze and sparc. 2. All assembly codes are updated check PIC instead SHARED for PIC code path to avoid dynamic relocations in read-only sections. 3. All assembly codes are updated check SHARED instead PIC for static symbol name. A patch is submitted for tile. 4. elf_machine_load_address in dl-machine.h are updated to support static PIE. Patches are submitted for aarch64, arm, hppa, ia64, m68k, microblaze, mips, nios2, powerpc, s390, sh, sparc and tile. NB: When glibc is built with GCC defaulted to PIE, libc.a is compiled with -fPIE, regardless if --enable-static-pie is used to configure glibc. When glibc is configured with --enable-static-pie, libc.a is compiled with -fPIE, regardless wether GCC defaults to PIE or not. The same libc.a can be used to build both static executable and static PIE. There is no need for separate PIE copy of libc.a. Linker requirements to build glibc with --enable-static-pie: 1. Linker supports --no-dynamic-linker to remove PT_INTERP segment from static PIE. 2. Linker can create working static PIE. The x86-64 linker needs the fix for https://sourceware.org/bugzilla/show_bug.cgi?id=21782 Binutils 2.29 or above are OK for x86-64. But linker status for other targets need to be verified. Tested on i686 and x86-64. Build results of build-many-glibcs.py with --enable-static-pie with all patches for static PIE applied are PASS: glibcs-aarch64_be-linux-gnu build PASS: glibcs-aarch64-linux-gnu build PASS: glibcs-armeb-linux-gnueabi build PASS: glibcs-armeb-linux-gnueabi-be8 build PASS: glibcs-armeb-linux-gnueabihf build PASS: glibcs-armeb-linux-gnueabihf-be8 build PASS: glibcs-arm-linux-gnueabi build PASS: glibcs-arm-linux-gnueabihf build PASS: glibcs-hppa-linux-gnu build PASS: glibcs-i486-linux-gnu build PASS: glibcs-i586-linux-gnu build PASS: glibcs-i686-linux-gnu build PASS: glibcs-i686-linux-gnu-disable-multi-arch build PASS: glibcs-m68k-linux-gnu build PASS: glibcs-microblazeel-linux-gnu build PASS: glibcs-microblaze-linux-gnu build PASS: glibcs-mips64el-linux-gnu-n64 build PASS: glibcs-mips64el-linux-gnu-n64-nan2008 build PASS: glibcs-mips64el-linux-gnu-n64-nan2008-soft build PASS: glibcs-mips64el-linux-gnu-n64-soft build PASS: glibcs-mips64-linux-gnu-n64 build PASS: glibcs-mips64-linux-gnu-n64-nan2008 build PASS: glibcs-mips64-linux-gnu-n64-nan2008-soft build PASS: glibcs-mips64-linux-gnu-n64-soft build PASS: glibcs-nios2-linux-gnu build PASS: glibcs-powerpc64le-linux-gnu build PASS: glibcs-powerpc64-linux-gnu build PASS: glibcs-s390x-linux-gnu build PASS: glibcs-x86_64-linux-gnu build PASS: glibcs-x86_64-linux-gnu-disable-multi-arch build PASS: glibcs-x86_64-linux-gnu-x32 build FAIL: glibcs-alpha-linux-gnu build elf/sln is failed to link due to: assertion fail bfd/elf64-alpha.c:4125 This is caused by linker bug and/or non-PIC code in PIE libc.a. FAIL: glibcs-ia64-linux-gnu build elf/sln is failed to link due to: libc.a(sched_yield.o): non-pic code with imm relocation against dynamic symbol `_dl_sysinfo' This is caused by non-PIC version of DO_CALL macro in ia64 sysdep.h. PIE libc.a should use PIC version of DO_CALL, except during startup in static PIE. An ia64 startup.h, similar to i386 startup.h, is needed to handle this. FAIL: glibcs-mips64el-linux-gnu-n32 build FAIL: glibcs-mips64el-linux-gnu-n32-nan2008 build FAIL: glibcs-mips64el-linux-gnu-n32-nan2008-soft build FAIL: glibcs-mips64el-linux-gnu-n32-soft build FAIL: glibcs-mips64-linux-gnu-n32 build FAIL: glibcs-mips64-linux-gnu-n32-nan2008 build FAIL: glibcs-mips64-linux-gnu-n32-nan2008-soft build FAIL: glibcs-mips64-linux-gnu-n32-soft build FAIL: glibcs-mipsel-linux-gnu build FAIL: glibcs-mipsel-linux-gnu-nan2008 build FAIL: glibcs-mipsel-linux-gnu-nan2008-soft build FAIL: glibcs-mipsel-linux-gnu-soft build FAIL: glibcs-mips-linux-gnu build FAIL: glibcs-mips-linux-gnu-nan2008 build FAIL: glibcs-mips-linux-gnu-nan2008-soft build FAIL: glibcs-mips-linux-gnu-soft build elf/sln is failed to link due to: crt1.o: relocation R_MIPS_HI16 against `_gp' can not be used when making a shared object; recompile with -fPIC This is caused by linker bug and/or non-PIC code in crt1.o. FAIL: glibcs-powerpc-linux-gnu build FAIL: glibcs-powerpc-linux-gnu-soft build FAIL: glibcs-powerpc-linux-gnuspe build FAIL: glibcs-powerpc-linux-gnuspe-e500v1 build elf/sln is failed to link due to: ld: read-only segment has dynamic relocations. This is caused by linker bug and/or non-PIC code in PIE libc.a. FAIL: glibcs-powerpc-linux-gnu-power4 build elf/sln is failed to link due to: findlocale.c:96:(.text+0x22c): @local call to ifunc memchr This is caused by linker bug and/or non-PIC code in PIE libc.a. FAIL: glibcs-s390-linux-gnu build elf/sln is failed to link due to: collect2: fatal error: ld terminated with signal 11 [Segmentation fault], core dumped assertion fail bfd/elflink.c:14242 This is caused by linker bug and/or non-PIC code in PIE libc.a. FAIL: glibcs-sh3eb-linux-gnu build FAIL: glibcs-sh3-linux-gnu build FAIL: glibcs-sh4eb-linux-gnu build FAIL: glibcs-sh4eb-linux-gnu-soft build FAIL: glibcs-sh4-linux-gnu build FAIL: glibcs-sh4-linux-gnu-soft build elf/sln is failed to link due to: ld: read-only segment has dynamic relocations. This is caused by linker bug and/or non-PIC code in PIE libc.a. FAIL: glibcs-sparc64-linux-gnu build FAIL: glibcs-sparcv9-linux-gnu build elf/sln is failed to link due to: ld: read-only segment has dynamic relocations. This is caused by linker bug and/or non-PIC code in PIE libc.a. FAIL: glibcs-tilegxbe-linux-gnu build FAIL: glibcs-tilegxbe-linux-gnu-32 build FAIL: glibcs-tilegx-linux-gnu build FAIL: glibcs-tilegx-linux-gnu-32 build FAIL: glibcs-tilepro-linux-gnu build elf/sln is failed to link due to: ld: read-only segment has dynamic relocations. This is caused by linker bug and/or non-PIC code in PIE libc.a. * INSTALL: Regenerated. * Makeconfig (pic-default): Updated for --enable-static-pie. (pie-default): New for --enable-static-pie. (default-pie-ldflag): Likewise. (+link-static-before-libc): Add $(default-pie-ldflag). (+prectorT): Updated for --enable-static-pie. (+postctorT): Likewise. (CFLAGS-.o): Add $(pie-default). (CFLAGS-.op): Likewise. * NEWS: Mention --enable-static-pie. * config.h.in (ENABLE_STATIC_PIE): New. * configure.ac (--enable-static-pie): New configure option. (have-no-dynamic-linker): New LIBC_CONFIG_VAR. (have-static-pie): Likewise. Enable static PIE if linker supports --no-dynamic-linker. (ENABLE_STATIC_PIE): New AC_DEFINE. (enable-static-pie): New LIBC_CONFIG_VAR. * configure: Regenerated. * csu/libc-start.c (LIBC_START_MAIN): Call _dl_relocate_static_pie in libc.a. * csu/libc-tls.c (__libc_setup_tls): Add main_map->l_addr to initimage. * elf/dl-support.c: Include "dynamic-link.h" and don't include "get-dynamic-info.h" for --enable-static-pie. (_dl_relocate_static_pie): New function for --enable-static-pie. (STATIC_PIE_BOOTSTRAP): New for --enable-static-pie. (BOOTSTRAP_MAP): Likewise. (RESOLVE_MAP): Likewise. * elf/dynamic-link.h (ELF_DURING_STARTUP): Also check STATIC_PIE_BOOTSTRAP. * elf/get-dynamic-info.h (elf_get_dynamic_info): Likewise. * manual/install.texi: Document --enable-static-pie. * sysdeps/generic/ldsodefs.h (_dl_relocate_static_pie): New. * sysdeps/x86_64/configure.ac: Check if linker supports static PIE. * sysdeps/x86_64/configure: Regenerated. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=e69fe23f7999b9b2f1f2477b831c043b4412215e commit e69fe23f7999b9b2f1f2477b831c043b4412215e Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Sep 29 01:09:48 2017 -0700 ld.so: Replace (&bootstrap_map) with BOOTSTRAP_MAP (&_dl_main_map) is used instead of (&bootstrap_map) to bootstrap static PIE. Define BOOTSTRAP_MAP with (&_dl_main_map) to avoid hardcode to (&bootstrap_map). * elf/rtld.c (BOOTSTRAP_MAP): New. (RESOLVE_MAP): Replace (&bootstrap_map) with BOOTSTRAP_MAP. * sysdeps/hppa/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): Likewise. * sysdeps/ia64/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): Likewise. * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8369d216dcc0e192e0e1243d9dad443e68f13f06 commit 8369d216dcc0e192e0e1243d9dad443e68f13f06 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:12:08 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=a0aef7830eb0698f72129b647be8c00cdf0c7938 commit a0aef7830eb0698f72129b647be8c00cdf0c7938 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:09:20 2017 -0700 Move hidden_proto (__dl_iterate_phdr) to include/link.h [BZ #18822] __dl_iterate_phdr is hidden and should be accessed directly within libc.so and libc.a without using GOT nor PLT. [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=3ee8209be761210dc6a8f121fd79231e7f364a9b commit 3ee8209be761210dc6a8f121fd79231e7f364a9b Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:08:25 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=6036fc38bf50d61ac5f09a435ce4622b586238ed commit 6036fc38bf50d61ac5f09a435ce4622b586238ed Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:07:30 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=fe84fed04800bc5becb9fba84db98f58007e77f3 commit fe84fed04800bc5becb9fba84db98f58007e77f3 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:06:43 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=048dd6813f36c31fa21871d840a0b62f1c3a590f commit 048dd6813f36c31fa21871d840a0b62f1c3a590f Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:06:00 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=6e342af6e7399c96246c6174802e84d46a176ffa commit 6e342af6e7399c96246c6174802e84d46a176ffa Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:05:10 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=6a088436d4c04b8081e86f9e856f10fba97d0612 commit 6a088436d4c04b8081e86f9e856f10fba97d0612 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:04:26 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=78cf1d74d28c9312d888dea1ad3de01d38c5fc4a commit 78cf1d74d28c9312d888dea1ad3de01d38c5fc4a Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:03:28 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=85b358949d506ddc7c35301e7ae1316d2036a736 commit 85b358949d506ddc7c35301e7ae1316d2036a736 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:02: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=225f7eec85b83ad38a1c92dbb16a843732a25899 commit 225f7eec85b83ad38a1c92dbb16a843732a25899 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:01:43 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=372fe247b11eb4079f93f11f3f20d14bc6c2c57f commit 372fe247b11eb4079f93f11f3f20d14bc6c2c57f Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 16:00:05 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. [BZ #18822] * include/malloc.h (__malloc_check_init): Add attribute_hidden. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9e5ee8b839175b7f48d2e64e87d1e3da8fa6458f commit 9e5ee8b839175b7f48d2e64e87d1e3da8fa6458f Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 15:58:52 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=2ff16592d8a6b873467c9348f609738973217288 commit 2ff16592d8a6b873467c9348f609738973217288 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 15:58:05 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=b5648377d923d790dd7e995d79d480066b25e6bb commit b5648377d923d790dd7e995d79d480066b25e6bb Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 15:57:00 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=0389a6aaae6d07f69de5b42345293ec578337de2 commit 0389a6aaae6d07f69de5b42345293ec578337de2 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 15:56:04 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=d48354d86087ba63acb7e2b20fb604c0b6ba4352 commit d48354d86087ba63acb7e2b20fb604c0b6ba4352 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 15:54:51 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=d6daff12617290d4dfb499ed8425d33a48d844ba commit d6daff12617290d4dfb499ed8425d33a48d844ba Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 15:53:52 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=b68f8620561d7658b475eb512978d3c33d8a4547 commit b68f8620561d7658b475eb512978d3c33d8a4547 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 15:52:56 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=59c04e67631d370738b80923d42d4d1539d8f95f commit 59c04e67631d370738b80923d42d4d1539d8f95f Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 15:51:44 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=4587a421c54a8912b3e24913c7e1501293042b40 commit 4587a421c54a8912b3e24913c7e1501293042b40 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 15:50:56 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. -----------------------------------------------------------------------
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 397286ea93ad30c24a5dad7928d0056c7b7d603d (commit) via d0a4512bd437c8caebc0e6ce295e4e0a5079e6b3 (commit) via c0769f7031b8293e7dc2762bff98d75691fe6a0d (commit) via 0e7d5b6e241b3e367b806f65f6df1e7469af68fa (commit) via bde06c87b7de97b5cd4721414b11af6e0d09187e (commit) via fa4265909edaa5118f7860f452e2fb9da48d0f6e (commit) via 2f8a05d826f554210eb2bec8dd6344c9615e00d7 (commit) via 7bfd08ac5be538a2beaa48f029944e01fb3b5d7a (commit) via 0e1fd06cde496eb4f3cefdbee44e794ab5d52cb7 (commit) via 36e7ae1e9d3b6a434e119aab4d10176aaaddf0c3 (commit) via 87078544f24cfbd355bf2f7e63a0d01ff7c96cca (commit) via dd3121df08d5ee44ba770d12365022aa802fb364 (commit) via 047d1a81fd82db4cd7458fec37230f3b31b414e9 (commit) via fd331b1179df7fef8016273fb26f5f054793875a (commit) via 57f859bdb7be1acb7eea48aba8edf0c6b5900191 (commit) via d19033298f832f5b3e10da6f07e7959f0483df74 (commit) via b4744101f36021bf2dde713682abbd0cc6935168 (commit) via 43b7dfd1b6cfd1b603e96270dc6a0b1758f81a13 (commit) via 2c0cd8f81fee4d9dc8e34254f4f6ed56d5bb6f59 (commit) from 8369d216dcc0e192e0e1243d9dad443e68f13f06 (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=397286ea93ad30c24a5dad7928d0056c7b7d603d commit 397286ea93ad30c24a5dad7928d0056c7b7d603d Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 18:05:52 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=d0a4512bd437c8caebc0e6ce295e4e0a5079e6b3 commit d0a4512bd437c8caebc0e6ce295e4e0a5079e6b3 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 18:03:46 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=c0769f7031b8293e7dc2762bff98d75691fe6a0d commit c0769f7031b8293e7dc2762bff98d75691fe6a0d Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 18:01:54 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/glob64.c (__glob64): Add libc_hidden_def. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0e7d5b6e241b3e367b806f65f6df1e7469af68fa commit 0e7d5b6e241b3e367b806f65f6df1e7469af68fa Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:59:51 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=bde06c87b7de97b5cd4721414b11af6e0d09187e commit bde06c87b7de97b5cd4721414b11af6e0d09187e Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:58:08 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=fa4265909edaa5118f7860f452e2fb9da48d0f6e commit fa4265909edaa5118f7860f452e2fb9da48d0f6e Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:56:46 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=2f8a05d826f554210eb2bec8dd6344c9615e00d7 commit 2f8a05d826f554210eb2bec8dd6344c9615e00d7 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:55:11 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=7bfd08ac5be538a2beaa48f029944e01fb3b5d7a commit 7bfd08ac5be538a2beaa48f029944e01fb3b5d7a Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:53:31 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=0e1fd06cde496eb4f3cefdbee44e794ab5d52cb7 commit 0e1fd06cde496eb4f3cefdbee44e794ab5d52cb7 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:52:15 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=36e7ae1e9d3b6a434e119aab4d10176aaaddf0c3 commit 36e7ae1e9d3b6a434e119aab4d10176aaaddf0c3 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:49:47 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=87078544f24cfbd355bf2f7e63a0d01ff7c96cca commit 87078544f24cfbd355bf2f7e63a0d01ff7c96cca Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:48:11 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=dd3121df08d5ee44ba770d12365022aa802fb364 commit dd3121df08d5ee44ba770d12365022aa802fb364 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:46:39 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=047d1a81fd82db4cd7458fec37230f3b31b414e9 commit 047d1a81fd82db4cd7458fec37230f3b31b414e9 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:44:52 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=fd331b1179df7fef8016273fb26f5f054793875a commit fd331b1179df7fef8016273fb26f5f054793875a Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:43:13 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=57f859bdb7be1acb7eea48aba8edf0c6b5900191 commit 57f859bdb7be1acb7eea48aba8edf0c6b5900191 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:41:20 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=d19033298f832f5b3e10da6f07e7959f0483df74 commit d19033298f832f5b3e10da6f07e7959f0483df74 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:37:27 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=b4744101f36021bf2dde713682abbd0cc6935168 commit b4744101f36021bf2dde713682abbd0cc6935168 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:35:26 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=43b7dfd1b6cfd1b603e96270dc6a0b1758f81a13 commit 43b7dfd1b6cfd1b603e96270dc6a0b1758f81a13 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:33:08 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=2c0cd8f81fee4d9dc8e34254f4f6ed56d5bb6f59 commit 2c0cd8f81fee4d9dc8e34254f4f6ed56d5bb6f59 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Oct 1 17:30:49 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". ----------------------------------------------------------------------- Summary of changes: ChangeLog | 128 +++++++++++++++++++++++++++ csu/version.c | 2 +- gmon/gmon.c | 2 + include/fpu_control.h | 2 +- include/glob.h | 1 + include/idna.h | 8 ++ include/ifreq.h | 14 +++ include/libc-internal.h | 2 +- include/mntent.h | 1 + include/monetary.h | 3 +- include/plural-exp.h | 8 ++ include/sched.h | 1 + include/sys/resource.h | 1 + include/termios.h | 1 + inet/getnameinfo.c | 4 +- intl/hash-string.h | 3 +- intl/plural-exp.c | 2 +- misc/mntent_r.c | 1 + nscd/nscd_helper.c | 5 + posix/sched_setp.c | 1 + resource/setrlimit.c | 1 + stdlib/exit.h | 4 +- sysdeps/generic/ifreq.h | 12 --- sysdeps/mach/hurd/ifreq.h | 12 --- sysdeps/mach/hurd/setrlimit.c | 1 + sysdeps/posix/getaddrinfo.c | 5 +- sysdeps/unix/bsd/tcgetattr.c | 1 + sysdeps/unix/sysv/linux/getrlimit64.c | 3 +- sysdeps/unix/sysv/linux/glob64.c | 1 + sysdeps/unix/sysv/linux/posix_fadvise64.c | 2 + sysdeps/unix/sysv/linux/posix_fallocate64.c | 2 + sysdeps/unix/sysv/linux/sched_setaffinity.c | 4 + sysdeps/unix/sysv/linux/setrlimit.c | 1 + sysdeps/unix/sysv/linux/setrlimit64.c | 3 + sysdeps/unix/sysv/linux/tcgetattr.c | 1 + termios/tcgetattr.c | 1 + 36 files changed, 204 insertions(+), 40 deletions(-) create mode 100644 include/idna.h create mode 100644 include/ifreq.h create mode 100644 include/plural-exp.h
On x86-64, I got [hjl@gnu-efi-2 build-x86_64-linux]$ readelf -rW libc_pic.a | grep " __" | grep PLT32 | awk '{ print $5 }' | sort | uniq __addtf3 __dirfd __divtf3 __eqtf2 __floatsitf __getf2 __GI_fwrite __GI_fwrite_unlocked __GI_memcmp __GI_memcpy __GI_mempcpy __GI_memset __GI_stpcpy __GI_strchr __GI_strcpy __GI_strlen __glob __glob_lstat_compat __gttf2 __letf2 __memrchr __multf3 __popcountdi2 __pthread_unwind __scalbn __scalbnf __scalbnf128 __scalbnl __strchrnul __strncasecmp __subtf3 __tls_get_addr __tunable_get_val __umount2 __unordtf2 __wcslen __wctrans __wctype [hjl@gnu-efi-2 build-x86_64-linux]$ I am closing it now. Please free feel to open new bug reports for remaining internal functions are called via PLT.
I don't think this will stay fixed without a checked-in testcase. Such a testcase, to be machine-independent, should not be checking names of relocations. Instead it needs to look at properties of (global/weak) symbols in objects that go into shared libraries. Symbols (defined or undefined) that are not hidden, but are not exported from those shared libraries, are suspect, but I'm not sure how reliably GCC will mark undefined symbols hidden even given appropriate declarations (and there may also be issues with undefined symbols properly called from .S sources but not marked hidden there). So likely lists of exceptions to any such tests would be needed (including architecture-specific exceptions for e.g. libgcc symbols).
(In reply to joseph@codesourcery.com from comment #74) > I don't think this will stay fixed without a checked-in testcase. > > Such a testcase, to be machine-independent, should not be checking names > of relocations. Instead it needs to look at properties of (global/weak) > symbols in objects that go into shared libraries. Symbols (defined or > undefined) that are not hidden, but are not exported from those shared > libraries, are suspect, but I'm not sure how reliably GCC will mark > undefined symbols hidden even given appropriate declarations (and there > may also be issues with undefined symbols properly called from .S sources > but not marked hidden there). So likely lists of exceptions to any such > tests would be needed (including architecture-specific exceptions for e.g. > libgcc symbols). I opened PR 22237 to track it.
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, release/2.26/master has been updated via c96d7a646b52e8d50e7ca98e0a60af5f24e4b441 (commit) from 2e78ea7a207e49a47a3448fbbc387d606141ec9d (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=c96d7a646b52e8d50e7ca98e0a60af5f24e4b441 commit c96d7a646b52e8d50e7ca98e0a60af5f24e4b441 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:46:47 2017 -0700 i386: Hide __old_glob64 [BZ #18822] Hide internal __old_glob64 function to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add libc_hidden_proto and libc_hidden_def. (cherry picked from commit 2585d7b839559e665d5723734862fbe62264b25d) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 6 ++++++ sysdeps/unix/sysv/linux/i386/glob64.c | 3 +++ 2 files changed, 9 insertions(+), 0 deletions(-)
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 8beba15d536aa5c89e9e55e4c497c0bcd10cb67c (commit) via 80eb52e3a93a9f611a415a3565d17536cf023f8a (commit) from 567d8c1f6852c5d5aad4d46da34b6276e400d5dd (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=8beba15d536aa5c89e9e55e4c497c0bcd10cb67c commit 8beba15d536aa5c89e9e55e4c497c0bcd10cb67c Author: Stefan Liebler <stli@linux.vnet.ibm.com> Date: Tue Nov 21 08:45:28 2017 +0100 S390: Add cfi information for start routines in order to stop unwinding. GDB failed to detect the outermost frame while showing the backtrace within a thread: Backtrace stopped: previous frame identical to this frame (corrupt stack?) Before this patch, the start routines like thread_start had no cfi information. GDB is then using the prologue unwinder if no cfi information is available. This unwinder tries to unwind r15 and stops e.g. if r15 was updated or on some jump-instructions. On older glibc-versions (before commit "Remove cached PID/TID in clone" c579f48edba88380635ab98cb612030e3ed8691e), the thread_start function used such a jump-instruction and GDB did not fail with an error. This patch adds cfi information for _start, thread_start and __makecontext_ret and marks r14 as undefined which marks the frame as outermost frame and GDB stops the backtrace. Also tested different gcc versions in order to test _Unwind_Backtrace() in libgcc as this is used by backtrace() in glibc. ChangeLog: * sysdeps/s390/s390-64/start.S (_start): Add cfi information for r14. * sysdeps/s390/s390-32/start.S: (_start): Likewise * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (thread_start): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (thread_start): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S (__makecontext_ret): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S (__makecontext_ret): Likewise. https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=80eb52e3a93a9f611a415a3565d17536cf023f8a commit 80eb52e3a93a9f611a415a3565d17536cf023f8a Author: Stefan Liebler <stli@linux.vnet.ibm.com> Date: Tue Nov 21 08:39:53 2017 +0100 Remove attribute_hidden for wchar ifunc symbols. On s390 (31bit) various debug/tst-*chk* testcases are failing as the tests are ending with a segmentation fault. One test is e.g. calling wcsnrtombs in debug/tst-chk1.c:1549. The function wcsnrtombs itself calls __wcsnlen. This function is called via PLT! The PLT-stub itself loads the address from GOT (r12 is assumed to be the GOT-pointer). In this case the loaded address is zero and the following branch leads to the segmentation fault. Due to the attribute_hidden in commit 44af8a32c341672b5160fdc2839767e9a837ad26 "Mark internal wchar functions with attribute_hidden [BZ #18822]" for e.g. the __wcsnlen function, r12 is not loaded with the GOT-pointer in wcsnrtombs. On s390x (64bit), this __wcsnlen call is also using the PLT-stub. But it is not failing as the GOT-pointer is setup with larl-instruction by the PLT-stub itself. Note: On s390x/s390, __wcsnlen is an IFUNC symbol. On x86_64, __wcsnlen is also an IFUNC symbol and is called via PLT, too. Further IFUNC symbols on s390 which were marked as hidden by the mentioned commit are: __wcscat, __wcsncpy, __wcpncpy, __wcschrnul. This patch removes the attribute_hidden in wchar.h. Then the compiler setups e.g. r12 on s390 in order to call __wcsnlen via PLT. ChangeLog: * include/wchar.h (__wcsnlen, __wcscat, __wcsncpy, __wcpncpy, __wcschrnul): Remove attribute_hidden. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 18 ++++++++++++++++++ include/wchar.h | 12 +++++------- sysdeps/s390/s390-32/start.S | 7 +++++++ sysdeps/s390/s390-64/start.S | 7 +++++++ .../sysv/linux/s390/s390-32/__makecontext_ret.S | 10 ++-------- sysdeps/unix/sysv/linux/s390/s390-32/clone.S | 4 ++++ .../sysv/linux/s390/s390-64/__makecontext_ret.S | 10 ++-------- sysdeps/unix/sysv/linux/s390/s390-64/clone.S | 4 ++++ 8 files changed, 49 insertions(+), 23 deletions(-)
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 deleted was 2c668a5c126c66f9ee4164730e805f36278a4b20 - Log ----------------------------------------------------------------- 2c668a5c126c66f9ee4164730e805f36278a4b20 Hide internal fadvise64/fallocate64 functions [BZ #18822] -----------------------------------------------------------------------
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 5b9a7b35871fc94f42a9e0f1a034423b48d3a4e7 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5b9a7b35871fc94f42a9e0f1a034423b48d3a4e7 commit 5b9a7b35871fc94f42a9e0f1a034423b48d3a4e7 Author: H.J. Lu <hjl.tools@gmail.com> Date: Fri Nov 24 15:58:04 2017 -0800 Add wcharP.h to hide internal wchar functions [BZ #18822] For some targets, like i386 and s390, internal IFUNC functions must be called via PLT with a special register. Add <wcharP.h> to allow targets, which don't need a special register to call internal IFUNC functions via PLT or have internal non-IFUNC wchar functions, to allow direct access to internal wchar functions within libc.so and libc.a without using GOT nor PLT. Tested on i686 and x86-64. It removed 11 PLT relocations on i686 and 29 PLT relocations on x86-64. [BZ #18822] * include/wchar.h: Include <wcharP.h>. * sysdeps/generic/wcharP.h: New file. * sysdeps/i386/wcharP.h: Likewise. * sysdeps/x86_64/wcharP.h: Likewise. -----------------------------------------------------------------------
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, release/2.25/master has been updated via 4444f6a92b83f7e044705b43b11dcdb0dbe97fe1 (commit) via b2b39e667143a921eeec01517c9c99ea25eaafae (commit) via ee68a4419a7c4473e48b16a55c50689a11f9b725 (commit) via 3b587362bd54a81528b36ff8e13ba9f7c233e995 (commit) via a06cc8caa7f4c0fcfdc7580cbc5c21be63637353 (commit) via 717743bb07471f95bef6ea63d9b12848ad91aaf6 (commit) via ea54198514e1a4f4abd8727acac0890bc95b4bdc (commit) via 2b54f16a8a237a1f3e6f8b974cafda09ed75d292 (commit) from 7bd7ddfab138f67a1d8c10d4d70f16240a1c6796 (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=4444f6a92b83f7e044705b43b11dcdb0dbe97fe1 commit 4444f6a92b83f7e044705b43b11dcdb0dbe97fe1 Author: Aurelien Jarno <aurelien@aurel32.net> Date: Fri Dec 1 21:53:51 2017 +0100 Update NEWS to add CVE-2017-15804 entry (cherry picked from commit 15e84c63c05e0652047ba5e738c54d79d62ba74b) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b2b39e667143a921eeec01517c9c99ea25eaafae commit b2b39e667143a921eeec01517c9c99ea25eaafae Author: Florian Weimer <fweimer@redhat.com> Date: Thu Nov 2 11:06:45 2017 +0100 posix/tst-glob-tilde.c: Add test for bug 22332 (cherry picked from commit 2fac6a6cd50c22ac28c97d0864306594807ade3e) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ee68a4419a7c4473e48b16a55c50689a11f9b725 commit ee68a4419a7c4473e48b16a55c50689a11f9b725 Author: Paul Eggert <eggert@cs.ucla.edu> Date: Sun Oct 22 10:00:57 2017 +0200 glob: Fix buffer overflow during GLOB_TILDE unescaping [BZ #22332] (cherry picked from commit a159b53fa059947cc2548e3b0d5bdcf7b9630ba8) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=3b587362bd54a81528b36ff8e13ba9f7c233e995 commit 3b587362bd54a81528b36ff8e13ba9f7c233e995 Author: Florian Weimer <fweimer@redhat.com> Date: Sun Oct 22 09:29:52 2017 +0200 Update NEWS and ChangeLog for CVE-2017-15671 (cherry picked from commit 914c9994d27b80bc3b71c483e801a4f04e269ba6) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a06cc8caa7f4c0fcfdc7580cbc5c21be63637353 commit a06cc8caa7f4c0fcfdc7580cbc5c21be63637353 Author: Florian Weimer <fweimer@redhat.com> Date: Sat Oct 21 18:03:30 2017 +0200 glob: Add new test tst-glob-tilde The new test checks for memory leaks (see bug 22325) and attempts to trigger the buffer overflow in bug 22320. (cherry picked from commit e80fc1fc98bf614eb01cf8325503df3a1451a99c) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=717743bb07471f95bef6ea63d9b12848ad91aaf6 commit 717743bb07471f95bef6ea63d9b12848ad91aaf6 Author: Paul Eggert <eggert@cs.ucla.edu> Date: Fri Oct 20 18:41:14 2017 +0200 CVE-2017-15670: glob: Fix one-byte overflow [BZ #22320] (cherry picked from commit c369d66e5426a30e4725b100d5cd28e372754f90) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ea54198514e1a4f4abd8727acac0890bc95b4bdc commit ea54198514e1a4f4abd8727acac0890bc95b4bdc Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> Date: Mon Sep 4 14:53:38 2017 -0300 posix: Sync glob with gnulib [BZ #1062] This patch syncs posix/glob.c implementation with gnulib version b5ec983 (glob: simplify symlink detection). The only difference to gnulib code is * DT_UNKNOWN, DT_DIR, and DT_LNK definition in the case there were not already defined. Gnulib code which uses HAVE_STRUCT_DIRENT_D_TYPE will redefine them wrongly because GLIBC does not define HAVE_STRUCT_DIRENT_D_TYPE. Instead the patch check for each definition instead. Also, the patch requires additional globfree and globfree64 files for compatibility version on some architectures. Also the code simplification leads to not macro simplification (not need for NO_GLOB_PATTERN_P anymore). Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py for all major architectures. [BZ #1062] * posix/Makefile (routines): Add globfree, globfree64, and glob_pattern_p. * posix/flexmember.h: New file. * posix/glob_internal.h: Likewise. * posix/glob_pattern_p.c: Likewise. * posix/globfree.c: Likewise. * posix/globfree64.c: Likewise. * sysdeps/gnu/globfree64.c: Likewise. * sysdeps/unix/sysv/linux/alpha/globfree.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise. * sysdeps/unix/sysv/linux/oldglob.c: Likewise. * sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise. * sysdeps/wordsize-64/globfree.c: Likewise. * sysdeps/wordsize-64/globfree64.c: Likewise. * posix/glob.c (HAVE_CONFIG_H): Use !_LIBC instead. [NDEBUG): Remove comments. (GLOB_ONLY_P, _AMIGA, VMS): Remove define. (dirent_type): New type. Use uint_fast8_t not uint8_t, as C99 does not require uint8_t. (DT_UNKNOWN, DT_DIR, DT_LNK): New macros. (struct readdir_result): Use dirent_type. Do not define skip_entry unless it is needed; this saves a byte on platforms lacking d_ino. (readdir_result_type, readdir_result_skip_entry): New functions, replacing ... (readdir_result_might_be_symlink, readdir_result_might_be_dir): these functions, which were removed. This makes the callers easier to read. All callers changed. (D_INO_TO_RESULT): Now empty if there is no d_ino. (size_add_wrapv, glob_use_alloca): New static functions. (glob, glob_in_dir): Check for size_t overflow in several places, and fix some size_t checks that were not quite right. Remove old code using SHELL since Bash no longer uses this. (glob, prefix_array): Separate MS code better. (glob_in_dir): Remove old Amiga and VMS code. (globfree, __glob_pattern_type, __glob_pattern_p): Move to separate files. (glob_in_dir): Do not rely on undefined behavior in accessing struct members beyond their bounds. Use a flexible array member instead (link_stat): Rename from link_exists2_p and return -1/0 instead of 0/1. Caller changed. (glob): Fix memory leaks. * posix/glob64 (globfree64): Move to separate file. * sysdeps/gnu/glob64.c (NO_GLOB_PATTERN_P): Remove define. (globfree64): Remove hidden alias. * sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Add oldglob. * sysdeps/unix/sysv/linux/alpha/glob.c (__new_globfree): Move to separate file. * sysdeps/unix/sysv/linux/i386/glob64.c (NO_GLOB_PATTERN_P): Remove define. Move compat code to separate file. * sysdeps/wordsize-64/glob.c (globfree): Move definitions to separate file. (cherry picked from commit c66c908230169c1bab1f83b071eb585baa214b9f) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2b54f16a8a237a1f3e6f8b974cafda09ed75d292 commit 2b54f16a8a237a1f3e6f8b974cafda09ed75d292 Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:46:47 2017 -0700 i386: Hide __old_glob64 [BZ #18822] Hide internal __old_glob64 function to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add libc_hidden_proto and libc_hidden_def. (cherry picked from commit 2585d7b839559e665d5723734862fbe62264b25d) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 94 +++ NEWS | 16 + posix/Makefile | 14 +- posix/flexmember.h | 45 ++ posix/glob.c | 780 ++++++++++---------- posix/glob64.c | 6 - posix/glob_internal.h | 57 ++ posix/glob_pattern_p.c | 33 + posix/globfree.c | 41 + posix/globfree64.c | 31 + posix/tst-glob-tilde.c | 143 ++++ sysdeps/gnu/glob64.c | 3 - sysdeps/gnu/globfree64.c | 10 + sysdeps/unix/sysv/linux/Makefile | 2 +- sysdeps/unix/sysv/linux/alpha/glob.c | 4 - sysdeps/unix/sysv/linux/alpha/globfree.c | 37 + sysdeps/unix/sysv/linux/i386/glob64.c | 36 +- .../unix/sysv/linux/mips/mips64/n64/globfree64.c | 1 + sysdeps/unix/sysv/linux/oldglob.c | 42 ++ sysdeps/unix/sysv/linux/wordsize-64/globfree64.c | 2 + sysdeps/unix/sysv/linux/x86_64/x32/globfree.c | 1 + sysdeps/wordsize-64/glob.c | 2 - sysdeps/wordsize-64/globfree.c | 5 + sysdeps/wordsize-64/globfree64.c | 1 + 24 files changed, 945 insertions(+), 461 deletions(-) create mode 100644 posix/flexmember.h create mode 100644 posix/glob_internal.h create mode 100644 posix/glob_pattern_p.c create mode 100644 posix/globfree.c create mode 100644 posix/globfree64.c create mode 100644 posix/tst-glob-tilde.c create mode 100644 sysdeps/gnu/globfree64.c create mode 100644 sysdeps/unix/sysv/linux/alpha/globfree.c create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c create mode 100644 sysdeps/unix/sysv/linux/oldglob.c create mode 100644 sysdeps/unix/sysv/linux/wordsize-64/globfree64.c create mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/globfree.c create mode 100644 sysdeps/wordsize-64/globfree.c create mode 100644 sysdeps/wordsize-64/globfree64.c
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, release/2.24/master has been updated via d81254d2efcb839fd11df2960df5bba579193808 (commit) via bddc5728810859952a2acaec6302308361e828cc (commit) via 94825c8924b80518214ad9e3ca1f6589f209592c (commit) via 1e53b88296dc95d325d6073910a33dca851b6bc4 (commit) via 5ff2eb52b236ca3d77f92272e8711b3c2b98140b (commit) via 1f523e3c6efd673bdd05cbec85ff6ba178ba6e08 (commit) via 832e2ec56701f85b892b782b8b749bc5a33899fb (commit) via 89bf8ef2dba93e19385bf922fdcee87a97db768f (commit) from bea3f92405f705684275bffee954cafe84ffb09d (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=d81254d2efcb839fd11df2960df5bba579193808 commit d81254d2efcb839fd11df2960df5bba579193808 Author: Aurelien Jarno <aurelien@aurel32.net> Date: Fri Dec 1 21:53:51 2017 +0100 Update NEWS to add CVE-2017-15804 entry (cherry picked from commit 15e84c63c05e0652047ba5e738c54d79d62ba74b) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=bddc5728810859952a2acaec6302308361e828cc commit bddc5728810859952a2acaec6302308361e828cc Author: Florian Weimer <fweimer@redhat.com> Date: Thu Nov 2 11:06:45 2017 +0100 posix/tst-glob-tilde.c: Add test for bug 22332 (cherry picked from commit 2fac6a6cd50c22ac28c97d0864306594807ade3e) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=94825c8924b80518214ad9e3ca1f6589f209592c commit 94825c8924b80518214ad9e3ca1f6589f209592c Author: Paul Eggert <eggert@cs.ucla.edu> Date: Sun Oct 22 10:00:57 2017 +0200 glob: Fix buffer overflow during GLOB_TILDE unescaping [BZ #22332] (cherry picked from commit a159b53fa059947cc2548e3b0d5bdcf7b9630ba8) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1e53b88296dc95d325d6073910a33dca851b6bc4 commit 1e53b88296dc95d325d6073910a33dca851b6bc4 Author: Florian Weimer <fweimer@redhat.com> Date: Sun Oct 22 09:29:52 2017 +0200 Update NEWS and ChangeLog for CVE-2017-15671 (cherry picked from commit 914c9994d27b80bc3b71c483e801a4f04e269ba6) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5ff2eb52b236ca3d77f92272e8711b3c2b98140b commit 5ff2eb52b236ca3d77f92272e8711b3c2b98140b Author: Florian Weimer <fweimer@redhat.com> Date: Sat Oct 21 18:03:30 2017 +0200 glob: Add new test tst-glob-tilde The new test checks for memory leaks (see bug 22325) and attempts to trigger the buffer overflow in bug 22320. (cherry picked from commit e80fc1fc98bf614eb01cf8325503df3a1451a99c) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1f523e3c6efd673bdd05cbec85ff6ba178ba6e08 commit 1f523e3c6efd673bdd05cbec85ff6ba178ba6e08 Author: Paul Eggert <eggert@cs.ucla.edu> Date: Fri Oct 20 18:41:14 2017 +0200 CVE-2017-15670: glob: Fix one-byte overflow [BZ #22320] (cherry picked from commit c369d66e5426a30e4725b100d5cd28e372754f90) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=832e2ec56701f85b892b782b8b749bc5a33899fb commit 832e2ec56701f85b892b782b8b749bc5a33899fb Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> Date: Mon Sep 4 14:53:38 2017 -0300 posix: Sync glob with gnulib [BZ #1062] This patch syncs posix/glob.c implementation with gnulib version b5ec983 (glob: simplify symlink detection). The only difference to gnulib code is * DT_UNKNOWN, DT_DIR, and DT_LNK definition in the case there were not already defined. Gnulib code which uses HAVE_STRUCT_DIRENT_D_TYPE will redefine them wrongly because GLIBC does not define HAVE_STRUCT_DIRENT_D_TYPE. Instead the patch check for each definition instead. Also, the patch requires additional globfree and globfree64 files for compatibility version on some architectures. Also the code simplification leads to not macro simplification (not need for NO_GLOB_PATTERN_P anymore). Checked on x86_64-linux-gnu and on a build using build-many-glibcs.py for all major architectures. [BZ #1062] * posix/Makefile (routines): Add globfree, globfree64, and glob_pattern_p. * posix/flexmember.h: New file. * posix/glob_internal.h: Likewise. * posix/glob_pattern_p.c: Likewise. * posix/globfree.c: Likewise. * posix/globfree64.c: Likewise. * sysdeps/gnu/globfree64.c: Likewise. * sysdeps/unix/sysv/linux/alpha/globfree.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c: Likewise. * sysdeps/unix/sysv/linux/oldglob.c: Likewise. * sysdeps/unix/sysv/linux/wordsize-64/globfree64.c: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/globfree.c: Likewise. * sysdeps/wordsize-64/globfree.c: Likewise. * sysdeps/wordsize-64/globfree64.c: Likewise. * posix/glob.c (HAVE_CONFIG_H): Use !_LIBC instead. [NDEBUG): Remove comments. (GLOB_ONLY_P, _AMIGA, VMS): Remove define. (dirent_type): New type. Use uint_fast8_t not uint8_t, as C99 does not require uint8_t. (DT_UNKNOWN, DT_DIR, DT_LNK): New macros. (struct readdir_result): Use dirent_type. Do not define skip_entry unless it is needed; this saves a byte on platforms lacking d_ino. (readdir_result_type, readdir_result_skip_entry): New functions, replacing ... (readdir_result_might_be_symlink, readdir_result_might_be_dir): these functions, which were removed. This makes the callers easier to read. All callers changed. (D_INO_TO_RESULT): Now empty if there is no d_ino. (size_add_wrapv, glob_use_alloca): New static functions. (glob, glob_in_dir): Check for size_t overflow in several places, and fix some size_t checks that were not quite right. Remove old code using SHELL since Bash no longer uses this. (glob, prefix_array): Separate MS code better. (glob_in_dir): Remove old Amiga and VMS code. (globfree, __glob_pattern_type, __glob_pattern_p): Move to separate files. (glob_in_dir): Do not rely on undefined behavior in accessing struct members beyond their bounds. Use a flexible array member instead (link_stat): Rename from link_exists2_p and return -1/0 instead of 0/1. Caller changed. (glob): Fix memory leaks. * posix/glob64 (globfree64): Move to separate file. * sysdeps/gnu/glob64.c (NO_GLOB_PATTERN_P): Remove define. (globfree64): Remove hidden alias. * sysdeps/unix/sysv/linux/Makefile (sysdeps_routines): Add oldglob. * sysdeps/unix/sysv/linux/alpha/glob.c (__new_globfree): Move to separate file. * sysdeps/unix/sysv/linux/i386/glob64.c (NO_GLOB_PATTERN_P): Remove define. Move compat code to separate file. * sysdeps/wordsize-64/glob.c (globfree): Move definitions to separate file. (cherry picked from commit c66c908230169c1bab1f83b071eb585baa214b9f) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=89bf8ef2dba93e19385bf922fdcee87a97db768f commit 89bf8ef2dba93e19385bf922fdcee87a97db768f Author: H.J. Lu <hjl.tools@gmail.com> Date: Sun Aug 20 10:46:47 2017 -0700 i386: Hide __old_glob64 [BZ #18822] Hide internal __old_glob64 function to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * sysdeps/unix/sysv/linux/i386/glob64.c (__old_glob64): Add libc_hidden_proto and libc_hidden_def. (cherry picked from commit 2585d7b839559e665d5723734862fbe62264b25d) (cherry picked from commit 2b54f16a8a237a1f3e6f8b974cafda09ed75d292) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 94 +++ NEWS | 13 + posix/Makefile | 13 +- posix/flexmember.h | 45 ++ posix/glob.c | 780 ++++++++++---------- posix/glob64.c | 6 - posix/glob_internal.h | 57 ++ posix/glob_pattern_p.c | 33 + posix/globfree.c | 41 + posix/globfree64.c | 31 + posix/tst-glob-tilde.c | 143 ++++ sysdeps/gnu/glob64.c | 3 - sysdeps/gnu/globfree64.c | 10 + sysdeps/unix/sysv/linux/Makefile | 2 +- sysdeps/unix/sysv/linux/alpha/glob.c | 4 - sysdeps/unix/sysv/linux/alpha/globfree.c | 37 + sysdeps/unix/sysv/linux/i386/glob64.c | 36 +- .../unix/sysv/linux/mips/mips64/n64/globfree64.c | 1 + sysdeps/unix/sysv/linux/oldglob.c | 42 ++ sysdeps/unix/sysv/linux/wordsize-64/globfree64.c | 2 + sysdeps/unix/sysv/linux/x86_64/x32/globfree.c | 1 + sysdeps/wordsize-64/glob.c | 2 - sysdeps/wordsize-64/globfree.c | 5 + sysdeps/wordsize-64/globfree64.c | 1 + 24 files changed, 941 insertions(+), 461 deletions(-) create mode 100644 posix/flexmember.h create mode 100644 posix/glob_internal.h create mode 100644 posix/glob_pattern_p.c create mode 100644 posix/globfree.c create mode 100644 posix/globfree64.c create mode 100644 posix/tst-glob-tilde.c create mode 100644 sysdeps/gnu/globfree64.c create mode 100644 sysdeps/unix/sysv/linux/alpha/globfree.c create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n64/globfree64.c create mode 100644 sysdeps/unix/sysv/linux/oldglob.c create mode 100644 sysdeps/unix/sysv/linux/wordsize-64/globfree64.c create mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/globfree.c create mode 100644 sysdeps/wordsize-64/globfree.c create mode 100644 sysdeps/wordsize-64/globfree64.c
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 deleted was 5b9a7b35871fc94f42a9e0f1a034423b48d3a4e7 - Log ----------------------------------------------------------------- 5b9a7b35871fc94f42a9e0f1a034423b48d3a4e7 Add wcharP.h to hide internal wchar functions [BZ #18822] -----------------------------------------------------------------------