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 24527a