mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-25 04:01:10 +00:00
a475427295
114 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Joseph Myers
|
ad1b6d85ba |
Remove kernel-features.h conditionals on pre-3.2 kernels.
This patch follows up on the increase in minimum kernel version by removing conditionals in non-x86, non-x86_64 kernel-features.h headers that are now constant for all supported kernel versions. * sysdeps/unix/sysv/linux/alpha/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621]: Make code unconditional. [__LINUX_KERNEL_VERSION >= 0x030200]: Likewise. [__LINUX_KERNEL_VERSION < 0x020621]: Remove conditional code. * sysdeps/unix/sysv/linux/arm/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621]: Make code unconditional. [__LINUX_KERNEL_VERSION >= 0x020624]: Likewise. [__LINUX_KERNEL_VERSION >= 0x030000]: Likewise. * sysdeps/unix/sysv/linux/hppa/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020622]: Likewise. [__LINUX_KERNEL_VERSION >= 0x030100]: Likewise. [__LINUX_KERNEL_VERSION < 0x020625]: Remove conditional code. * sysdeps/unix/sysv/linux/ia64/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621]: Make code unconditional. [__LINUX_KERNEL_VERSION >= 0x030000]: Likewise. * sysdeps/unix/sysv/linux/m68k/kernel-features.h [__LINUX_KERNEL_VERSION < 0x030000]: Remove conditional code. * sysdeps/unix/sysv/linux/microblaze/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621]: Make code unconditional. [__LINUX_KERNEL_VERSION < 0x020621]: Remove conditional code. [__LINUX_KERNEL_VERSION < 0x020625]: Likewise. * sysdeps/unix/sysv/linux/mips/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621]: Make code unconditional. [__LINUX_KERNEL_VERSION >= 0x030100]: Likewise. [_MIPS_SIM == _ABIN32 && __LINUX_KERNEL_VERSION < 0x020623]: Remove conditional code. * sysdeps/unix/sysv/linux/powerpc/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020625]: Make code unconditional. [__LINUX_KERNEL_VERSION >= 0x030000]: Likewise. * sysdeps/unix/sysv/linux/sh/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020625]: Likewise. [__LINUX_KERNEL_VERSION >= 0x030000]: Likewise. [__LINUX_KERNEL_VERSION < 0x020625]: Remove conditional code. * sysdeps/unix/sysv/linux/sparc/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621]: Make code unconditional. [__LINUX_KERNEL_VERSION >= 0x030000]: Likewise. * sysdeps/unix/sysv/linux/tile/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030000]: Likewise. |
||
Joseph Myers
|
f7a9f785e5 | Update copyright dates with scripts/update-copyrights. | ||
Helge Deller
|
d4eed61f85 |
hppa: Add MAP_HUGETLB and MAP_STACK defines [BZ #19285]
The attached patch adds some upstream defines like MAP_HUGETLB and MAP_STACK in mman.h for the hppa architecture. The existing MADV_xxK_PAGES defines were dropped upstream, because they were originally added many years ago based on a proposed patch for the Linux kernel which was never applied. So, this patch drops those unneeded defines. |
||
Dmitry V. Levin
|
e0043e17df |
Fix linux personality syscall wrapper
The personality system call, starting with linux kernel commit v2.6.29-6609-g11d06b2a1e5658f448a308aa3beb97bacd64a940, always successfully changes the personality if requested. The syscall wrapper, however, still can return an error in the following cases: - the value returned by the system call looks like an error due to architecture limitations of 32-bit kernels; - a personality greater than 0xffffffff is passed to the system call, and the 64-bit kernel does not have commit v2.6.35-rc1-372-g485d527686850d68a0e9006dd9904f19f122485e that would truncate this value to unsigned int; - on sparc64, the value returned by the system call looks like an error due to sparc64 kernel sign extension bug. The solution is three-fold: - move generic syscalls.list personality entry to generic 64-bit syscalls.list file; - for each 32-bit architecture that use negated errno semantics, add a NOERRNO personality entry to their syscalls.list file; - for sparc64 and 32-bit architectures that use dedicated registers to flag syscall errors, add a wrapper around personality syscall; if the system call return value is flagged as an error, this wrapper returns the negated "would be errno" value, otherwise it returns the system call return value; on sparc64, it also truncates the personality argument to unsigned int before passing it to the kernel. [BZ #19408] * sysdeps/unix/sysv/linux/personality.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/personality.c: Likewise. * sysdeps/unix/sysv/linux/tst-personality.c: Likewise. * sysdeps/unix/sysv/linux/Makefile [$(subdir) == misc] (sysdep_routines): Add personality. (tests): Add tst-personality. * sysdeps/unix/sysv/linux/syscalls.list (personality): Move ... * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: ... here. * sysdeps/unix/sysv/linux/arm/syscalls.list (personality): New entry. * sysdeps/unix/sysv/linux/hppa/syscalls.list (personality): Likewise. * sysdeps/unix/sysv/linux/i386/syscalls.list (personality): Likewise. * sysdeps/unix/sysv/linux/m68k/syscalls.list (personality): Likewise. * sysdeps/unix/sysv/linux/microblaze/syscalls.list (personality): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/syscalls.list (personality): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list (personality): Likewise. * sysdeps/unix/sysv/linux/sh/syscalls.list (personality): Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list (personality): Likewise. |
||
Joseph Myers
|
d709042a6e |
Fix lgamma setting signgam for ISO C (bug 15421).
The lgamma (and likewise lgammaf, lgammal) function wrongly sets the signgam variable even when building for strict ISO C conformance (-std=c99 / -std=c11), although the user may define such a variable and it's only in the implementation namespace for POSIX with XSI extensions enabled. Following discussions starting at <https://sourceware.org/ml/libc-alpha/2013-04/msg00767.html> and <https://sourceware.org/ml/libc-alpha/2015-10/msg00844.html>, it seems that the safest approach for fixing this particular issue is for signgam to become a weak alias for a newly exported symbol __signgam, with the library functions only setting __signgam, at which point static linker magic will preserve the alias for newly linked binaries that refer to the library's signgam rather than defining their own, while breaking the alias for programs that define their own signgam, with new symbol versions for lgamma functions and with compat symbols for existing binaries that set both signgam and __signgam. This patch implements that approach for the fix. signgam is made into a weak alias. The four symbols __signgam, lgamma, lgammaf, lgammal get new symbol versions at version GLIBC_2.23, with the existing versions of lgamma, lgammaf and lgammal becoming compat symbols. When the compat versions are built, gamma, gammaf and gammal are aliases for the compat versions (i.e. always set signgam); this is OK as they are not ISO C functions, and avoids adding new symbol versions for them unnecessarily. When the compat versions are not built (i.e. for static linking and for future glibc ports), gamma, gammaf and gammal are aliases for the new versions that set __signgam. The ldbl-opt versions are updated accordingly. The lgamma wrappers are adjusted so that the same source files, included from different files with different definitions of USE_AS_COMPAT, can build either the new versions or the compat versions. Similar changes are made to the ia64 versions (untested). Tests are added that the lgamma functions do not interfere with a user variable called signgam for ISO C, with various choices for the size of that variable, whether it is initialized, and for static and dynamic linking. The conformtest whitelist entry is removed as well. Tested for x86_64, x86, mips64 and powerpc, including looking at objdump --dynamic-syms output to make sure the expected sets of symbols were aliases. Also spot-tested that a binary built with old glibc works properly (i.e. gets signgam set) when run with new glibc. [BZ #15421] * sysdeps/ieee754/s_signgam.c (signgam): Rename to __signgam, initialize with 0 and define as weak alias of __signgam. * include/math.h [!_ISOMAC] (__signgam): Declare. * math/Makefile (libm-calls): Add w_lgamma_compat. (tests): Add test-signgam-uchar, test-signgam-uchar-init, test-signgam-uint, test-signgam-uint-init, test-signgam-ullong and test-signgam-ullong-init. (tests-static): Add test-signgam-uchar-static, test-signgam-uchar-init-static, test-signgam-uint-static, test-signgam-uint-init-static, test-signgam-ullong-static and test-signgam-ullong-init-static. (CFLAGS-test-signgam-uchar.c): New variable. (CFLAGS-test-signgam-uchar-init.c): Likewise. (CFLAGS-test-signgam-uchar-static.c): Likewise. (CFLAGS-test-signgam-uchar-init-static.c): Likewise. (CFLAGS-test-signgam-uint.c): Likewise. (CFLAGS-test-signgam-uint-init.c): Likewise. (CFLAGS-test-signgam-uint-static.c): Likewise. (CFLAGS-test-signgam-uint-init-static.c): Likewise. (CFLAGS-test-signgam-ullong.c): Likewise. (CFLAGS-test-signgam-ullong-init.c): Likewise. (CFLAGS-test-signgam-ullong-static.c): Likewise. (CFLAGS-test-signgam-ullong-init-static.c): Likewise. * math/Versions (libm): Add GLIBC_2.23. * math/lgamma-compat.h: New file. * math/test-signgam-main.c: Likewise. * math/test-signgam-uchar-init-static.c: Likewise. * math/test-signgam-uchar-init.c: Likewise. * math/test-signgam-uchar-static.c: Likewise. * math/test-signgam-uchar.c: Likewise. * math/test-signgam-uint-init-static.c: Likewise. * math/test-signgam-uint-init.c: Likewise. * math/test-signgam-uint-static.c: Likewise. * math/test-signgam-uint.c: Likewise. * math/test-signgam-ullong-init-static.c: Likewise. * math/test-signgam-ullong-init.c: Likewise. * math/test-signgam-ullong-static.c: Likewise. * math/test-signgam-ullong.c: Likewise. * math/w_lgamma.c: Rename to w_lgamma_main.c and replace by wrapper of w_lgamma_main.c. * math/w_lgamma_compat.c: New file. * math/w_lgamma_compatf.c: Likewise. * math/w_lgamma_compatl.c: Likewise. * math/w_lgamma_main.c: New file. Based on w_lgamma.c. Include <lgamma-compat.h>. Condition contents on [BUILD_LGAMMA]. Support defining compatibility symbols. (__lgamma): Change to LGFUNC (__lgamma). Use CALL_LGAMMA. * math/w_lgammaf.c: Rename to w_lgammaf_main.c and replace by wrapper of w_lgammaf_main.c. * math/w_lgammaf_main.c: New file. Based on w_lgammaf.c. Include <lgamma-compat.h>. Condition contents on [BUILD_LGAMMA]. Support defining compatibility symbols. (__lgammaf): Change to LGFUNC (__lgammaf). Use CALL_LGAMMA. * math/w_lgammal.c: Rename to w_lgammal_main.c and replace by wrapper of w_lgammal_main.c. * math/w_lgammal_main.c: New file. Based on w_lgammal.c. Include <lgamma-compat.h>. Condition contents on [BUILD_LGAMMA]. Support defining compatibility symbols. (__lgammal): Change to LGFUNC (__lgammal). Use CALL_LGAMMA. * sysdeps/ia64/fpu/lgamma-compat.h: New file. * sysdeps/ia64/fpu/w_lgamma.c: Move to .... * sysdeps/ia64/fpu/w_lgamma_main.c: ...here. Include <lgamma-compat.h>. (__ieee754_lgamma): Change to LGFUNC (lgamma). Use CALL_LGAMMA. (__ieee754_gamma): Define as alias. * sysdeps/ia64/fpu/w_lgammaf.c: Move to .... * sysdeps/ia64/fpu/w_lgammaf_main.c: ...here. Include <lgamma-compat.h>. (__ieee754_lgammaf): Change to LGFUNC (lgammaf). Use CALL_LGAMMA. (__ieee754_gammaf): Define as alias. * sysdeps/ia64/fpu/w_lgammal.c: Move to .... * sysdeps/ia64/fpu/w_lgammal_main.c: ...here. Include <lgamma-compat.h>. (__ieee754_lgammal): Change to LGFUNC (lgammal). Use CALL_LGAMMA. (__ieee754_gammal): Define as alias. * sysdeps/ieee754/ldbl-opt/w_lgamma.c: Move to .... * sysdeps/ieee754/ldbl-opt/w_lgamma_compat.c: ...here. Include <math/w_lgamma_compat.c>. [LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)] (__lgammal_dbl_compat): Define as alias of __lgamma_compat and use in defining lgammal. * sysdeps/ieee754/ldbl-opt/w_lgammal.c: Move to .... * sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c: ...here. Include <math/lgamma-compat.h> and <math/w_lgamma_compatl.c>. (USE_AS_COMPAT): New macro. (LGAMMA_OLD_VER): Undefine and redefine. (lgammal): Do not define here. (gammal): Only define here if [GAMMA_ALIAS]. * conform/linknamespace.pl (@whitelist): Remove signgam. * sysdeps/nacl/libm.abilist: Update. * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. |
||
Florian Weimer
|
8c77b6ad40 |
Simplify the abilist format
The new format lists the version on each line, as in: VERSION SYMBOL TYPE [VALUE] This makes it easier to process the files with line-oriented tools. The abilist files were converted with this awk script: /^[^ ]/ { version = $1 } /^ / { print version, substr($0, 2) } And sorted under the "C" locale with sort. |
||
Mark Wielaard
|
8b7b7f75d9 |
Add LFS support for fts functions (bug 11460)
fts didn't have large-file support yet and fts.h had an #error preventing usage when _FILE_OFFSET_BITS was set. This required nasty workarounds for programs using fts with LFS. This patch implements LFS support for fts by adding FTS64 and FTENT64 variants plus fts64 functions. Which are simple aliases for 64bit off_t arches. Also includes a simple testcase for some of the fts functions with or without LFS enabled. [BZ #11460] * io/Makefile (routines): Add fts64. (tests): Add tst-fts and tst-fts-lfs. (CFLAGS-fts64.c): New. * io/Versions (GLIBC_2.23): New. * io/fts.c: Replace FTS with FTSOBJ, FTSENT with FTSENTRY. Use function defines FTS_OPEN, FTS_CLOSE, FTS_READ, FTS_SET and FTS_CHILDREN. Define FTSOBJ, FTSENTRY, FTS_OPEN, FTS_CLOSE, FTS_READ, FTS_SET, FTS_CHILDREN, INO_T, STAT and LSTAT if necessary. * io/fts.h (FTS64): New if _USE_LARGEFILE64. (FTSENT64): Likewise. (fts64_children): Likewise. (fts64_close): Likewise. (fts64_open): Likewise. (fts64_read): Likewise. (fts64_set): Likewise. * io/fts64.c: New file. * io/tst-fts.c: New test. * io/tst-fts-lfs.c: Likewise. * sysdeps/unix/sysv/linux/aarch64/libc.abilist (GLIBC_2.23): Add GLIBC_2.23, fts64_children, fts64_close, fts64_open, fts64_read and fts64_set. * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. * sysdeps/wordsize-64/fts.c: New file. * sysdeps/wordsize-64/fts64.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/fts.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/fts64.c: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/fts.c: likewise. * sysdeps/unix/sysv/linux/x86_64/x32/fts64.c: likewise. |
||
Joseph Myers
|
f63f2bfdfa |
Convert 69 more function definitions to prototype style (line wrap cases).
This automatically-generated patch converts 69 function definitions in glibc from old-style K&R to prototype-style. This patch, covering both sysdeps and non-sysdeps files, deals with cases where the prototype needed to be wrapped over more than one line. Otherwise, exclusions and caveats are as for <https://sourceware.org/ml/libc-alpha/2015-10/msg00594.html> and <https://sourceware.org/ml/libc-alpha/2015-10/msg00599.html>. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). * crypt/crypt-entry.c (__crypt_r): Convert to prototype-style function definition. * crypt/crypt_util.c (__encrypt_r): Likewise. * libio/genops.c (_IO_no_init): Likewise. * libio/iofopncook.c (_IO_fopencookie): Likewise. (_IO_old_fopencookie): Likewise. * libio/iofwrite_u.c (fwrite_unlocked): Likewise. * libio/iogetline.c (_IO_getline): Likewise. (_IO_getline_info): Likewise. * libio/iogetwline.c (_IO_getwline): Likewise. (_IO_getwline_info): Likewise. * libio/vsnprintf.c (_IO_vsnprintf): Likewise. * libio/vswprintf.c (_IO_vswprintf): Likewise. * locale/programs/simple-hash.c (insert_entry_2): Likewise. (find_entry): Likewise. (iterate_table): Likewise. (lookup): Likewise. * login/forkpty.c (forkpty): Likewise. * misc/hsearch_r.c (__hsearch_r): Likewise. * misc/select.c (__select): Likewise. * nptl/cleanup_defer_compat.c (_pthread_cleanup_pop_restore): Likewise. * nptl/old_pthread_cond_init.c (__pthread_cond_init_2_0): Likewise. * nptl/old_pthread_cond_timedwait.c (__pthread_cond_timedwait_2_0): Likewise. * nptl/pthread_barrier_init.c (__pthread_barrier_init): Likewise. * nptl/pthread_barrierattr_getpshared.c (pthread_barrierattr_getpshared): Likewise. * nptl/pthread_getschedparam.c (__pthread_getschedparam): Likewise. * nptl/pthread_mutex_setprioceiling.c (pthread_mutex_setprioceiling): Likewise. * nptl/pthread_mutexattr_getprioceiling.c (pthread_mutexattr_getprioceiling): Likewise. * nptl/pthread_rwlock_init.c (__pthread_rwlock_init): Likewise. * nptl/pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock): Likewise. * nptl/pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock): Likewise. * nptl/pthread_setschedparam.c (__pthread_setschedparam): Likewise. * socket/recvfrom.c (__recvfrom): Likewise. * socket/sendto.c (__sendto): Likewise. * socket/setsockopt.c (__setsockopt): Likewise. * stdio-common/_itoa.c (_itoa): Likewise. * stdio-common/_itowa.c (_itowa): Likewise. * stdio-common/reg-printf.c (__register_printf_specifier): Likewise. (__register_printf_function): Likewise. * stdio-common/tempname.c (__path_search): Likewise. * stdlib/addmul_1.c (mpn_addmul_1): Likewise. * stdlib/mul_1.c (mpn_mul_1): Likewise. * stdlib/random_r.c (__initstate_r): Likewise. * stdlib/setenv.c (__add_to_environ): Likewise. * stdlib/submul_1.c (mpn_submul_1): Likewise. * streams/getpmsg.c (getpmsg): Likewise. * streams/putmsg.c (putmsg): Likewise. * streams/putpmsg.c (putpmsg): Likewise. * sunrpc/clnt_raw.c (clntraw_call): Likewise. * sunrpc/clnt_tcp.c (clnttcp_call): Likewise. * sunrpc/clnt_udp.c (clntudp_create): Likewise. * sunrpc/clnt_unix.c (clntunix_call): Likewise. * sunrpc/pm_getport.c (pmap_getport): Likewise. * sunrpc/svc_udp.c (cache_get): Likewise. * sunrpc/xdr_array.c (xdr_vector): Likewise. * sysdeps/mach/hurd/getcwd.c (__canonicalize_directory_name_internal): Likewise. * sysdeps/mach/hurd/pselect.c (__pselect): Likewise. * sysdeps/mach/hurd/recvfrom.c (__recvfrom): Likewise. * sysdeps/mach/hurd/select.c (__select): Likewise. * sysdeps/posix/ttyname_r.c (getttyname_r): Likewise. * sysdeps/pthread/timer_settime.c (timer_settime): Likewise. * sysdeps/sparc/nptl/pthread_barrier_init.c (__pthread_barrier_init): Likewise. * sysdeps/unix/sysv/linux/hppa/pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise. * sysdeps/unix/sysv/linux/i386/putmsg.c (putmsg): Likewise. * sysdeps/unix/sysv/linux/s390/semtimedop.c (semtimedop): Likewise. * sysdeps/unix/sysv/linux/semtimedop.c (semtimedop): Likewise. * sysdeps/unix/sysv/linux/timer_settime.c (timer_settime): Likewise. * sysvipc/semtimedop.c (semtimedop): Likewise. * time/setitimer.c (__setitimer): Likewise. * time/strftime_l.c (emacs_strftime): Likewise. |
||
Joseph Myers
|
bd2260a206 |
Convert 231 sysdeps function definitions to prototype style.
This mostly automatically-generated patch converts 231 sysdeps function definitions in glibc from old-style K&R to prototype-style. For __aio_sigqueue and __gai_sigqueue I had to add internal_function to the definitions as noted by Florian in <https://sourceware.org/ml/libc-alpha/2015-10/msg00595.html> to keep the functions compiling on x86 after conversion to prototype definitions. Otherwise, the patch is automatically generated with all the same exclusions and caveats as in <https://sourceware.org/ml/libc-alpha/2015-10/msg00594.html> except that it's a patch for sysdeps files. Tested for x86_64 and x86 (testsuite, and that installed stripped shared libraries are unchanged by the patch). Also tested for arm, mips64 and powerpc32 that installed stripped shared libraries are unchanged by the patch. * sysdeps/arm/backtrace.c (__backtrace): Convert to prototype-style function definition. * sysdeps/i386/backtrace.c (__backtrace): Likewise. * sysdeps/i386/ffs.c (__ffs): Likewise. * sysdeps/i386/i686/ffs.c (__ffs): Likewise. * sysdeps/ia64/nptl/pthread_spin_lock.c (pthread_spin_lock): Likewise. * sysdeps/ia64/nptl/pthread_spin_trylock.c (pthread_spin_trylock): Likewise. * sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Likewise. * sysdeps/ieee754/ldbl-128ibm/e_log2l.c (__ieee754_log2l): Likewise. * sysdeps/m68k/ffs.c (__ffs): Likewise. * sysdeps/m68k/m680x0/fpu/e_acos.c (FUNC): Likewise. * sysdeps/m68k/m680x0/fpu/e_fmod.c (FUNC): Likewise. * sysdeps/mach/adjtime.c (__adjtime): Likewise. * sysdeps/mach/gettimeofday.c (__gettimeofday): Likewise. * sysdeps/mach/hurd/_exit.c (_exit): Likewise. * sysdeps/mach/hurd/access.c (__access): Likewise. * sysdeps/mach/hurd/adjtime.c (__adjtime): Likewise. * sysdeps/mach/hurd/chdir.c (__chdir): Likewise. * sysdeps/mach/hurd/chmod.c (__chmod): Likewise. * sysdeps/mach/hurd/chown.c (__chown): Likewise. * sysdeps/mach/hurd/cthreads.c (cthread_keycreate): Likewise. (cthread_getspecific): Likewise. (cthread_setspecific): Likewise. (__libc_getspecific): Likewise. * sysdeps/mach/hurd/euidaccess.c (__euidaccess): Likewise. * sysdeps/mach/hurd/faccessat.c (faccessat): Likewise. * sysdeps/mach/hurd/fchdir.c (__fchdir): Likewise. * sysdeps/mach/hurd/fchmod.c (__fchmod): Likewise. * sysdeps/mach/hurd/fchmodat.c (fchmodat): Likewise. * sysdeps/mach/hurd/fchown.c (__fchown): Likewise. * sysdeps/mach/hurd/fchownat.c (fchownat): Likewise. * sysdeps/mach/hurd/flock.c (__flock): Likewise. * sysdeps/mach/hurd/fsync.c (fsync): Likewise. * sysdeps/mach/hurd/ftruncate.c (__ftruncate): Likewise. * sysdeps/mach/hurd/getgroups.c (__getgroups): Likewise. * sysdeps/mach/hurd/gethostname.c (__gethostname): Likewise. * sysdeps/mach/hurd/getitimer.c (__getitimer): Likewise. * sysdeps/mach/hurd/getlogin_r.c (__getlogin_r): Likewise. * sysdeps/mach/hurd/getpgid.c (__getpgid): Likewise. * sysdeps/mach/hurd/getrusage.c (__getrusage): Likewise. * sysdeps/mach/hurd/getsockname.c (__getsockname): Likewise. * sysdeps/mach/hurd/group_member.c (__group_member): Likewise. * sysdeps/mach/hurd/isatty.c (__isatty): Likewise. * sysdeps/mach/hurd/lchown.c (__lchown): Likewise. * sysdeps/mach/hurd/link.c (__link): Likewise. * sysdeps/mach/hurd/linkat.c (linkat): Likewise. * sysdeps/mach/hurd/listen.c (__listen): Likewise. * sysdeps/mach/hurd/mkdir.c (__mkdir): Likewise. * sysdeps/mach/hurd/mkdirat.c (mkdirat): Likewise. * sysdeps/mach/hurd/openat.c (__openat): Likewise. * sysdeps/mach/hurd/poll.c (__poll): Likewise. * sysdeps/mach/hurd/readlink.c (__readlink): Likewise. * sysdeps/mach/hurd/readlinkat.c (readlinkat): Likewise. * sysdeps/mach/hurd/recv.c (__recv): Likewise. * sysdeps/mach/hurd/rename.c (rename): Likewise. * sysdeps/mach/hurd/renameat.c (renameat): Likewise. * sysdeps/mach/hurd/revoke.c (revoke): Likewise. * sysdeps/mach/hurd/rewinddir.c (__rewinddir): Likewise. * sysdeps/mach/hurd/rmdir.c (__rmdir): Likewise. * sysdeps/mach/hurd/seekdir.c (seekdir): Likewise. * sysdeps/mach/hurd/send.c (__send): Likewise. * sysdeps/mach/hurd/setdomain.c (setdomainname): Likewise. * sysdeps/mach/hurd/setegid.c (setegid): Likewise. * sysdeps/mach/hurd/seteuid.c (seteuid): Likewise. * sysdeps/mach/hurd/setgid.c (__setgid): Likewise. * sysdeps/mach/hurd/setgroups.c (setgroups): Likewise. * sysdeps/mach/hurd/sethostid.c (sethostid): Likewise. * sysdeps/mach/hurd/sethostname.c (sethostname): Likewise. * sysdeps/mach/hurd/setlogin.c (setlogin): Likewise. * sysdeps/mach/hurd/setpgid.c (__setpgid): Likewise. * sysdeps/mach/hurd/setregid.c (__setregid): Likewise. * sysdeps/mach/hurd/setreuid.c (__setreuid): Likewise. * sysdeps/mach/hurd/settimeofday.c (__settimeofday): Likewise. * sysdeps/mach/hurd/setuid.c (__setuid): Likewise. * sysdeps/mach/hurd/shutdown.c (shutdown): Likewise. * sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise. * sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise. * sysdeps/mach/hurd/sigpending.c (sigpending): Likewise. * sysdeps/mach/hurd/sigprocmask.c (__sigprocmask): Likewise. * sysdeps/mach/hurd/sigsuspend.c (__sigsuspend): Likewise. * sysdeps/mach/hurd/socket.c (__socket): Likewise. * sysdeps/mach/hurd/symlink.c (__symlink): Likewise. * sysdeps/mach/hurd/symlinkat.c (symlinkat): Likewise. * sysdeps/mach/hurd/telldir.c (telldir): Likewise. * sysdeps/mach/hurd/truncate.c (__truncate): Likewise. * sysdeps/mach/hurd/umask.c (__umask): Likewise. * sysdeps/mach/hurd/unlink.c (__unlink): Likewise. * sysdeps/mach/hurd/unlinkat.c (unlinkat): Likewise. * sysdeps/mips/mips64/__longjmp.c (__longjmp): Likewise. * sysdeps/posix/alarm.c (alarm): Likewise. * sysdeps/posix/cuserid.c (cuserid): Likewise. * sysdeps/posix/dirfd.c (dirfd): Likewise. * sysdeps/posix/dup.c (__dup): Likewise. * sysdeps/posix/dup2.c (__dup2): Likewise. * sysdeps/posix/euidaccess.c (euidaccess): Likewise. (main): Likewise. * sysdeps/posix/flock.c (__flock): Likewise. * sysdeps/posix/fpathconf.c (__fpathconf): Likewise. * sysdeps/posix/getcwd.c (__getcwd): Likewise. * sysdeps/posix/gethostname.c (__gethostname): Likewise. * sysdeps/posix/gettimeofday.c (__gettimeofday): Likewise. * sysdeps/posix/isatty.c (__isatty): Likewise. * sysdeps/posix/killpg.c (killpg): Likewise. * sysdeps/posix/libc_fatal.c (__libc_fatal): Likewise. * sysdeps/posix/mkfifoat.c (mkfifoat): Likewise. * sysdeps/posix/raise.c (raise): Likewise. * sysdeps/posix/remove.c (remove): Likewise. * sysdeps/posix/rename.c (rename): Likewise. * sysdeps/posix/rewinddir.c (__rewinddir): Likewise. * sysdeps/posix/seekdir.c (seekdir): Likewise. * sysdeps/posix/sigblock.c (__sigblock): Likewise. * sysdeps/posix/sigignore.c (sigignore): Likewise. * sysdeps/posix/sigintr.c (siginterrupt): Likewise. * sysdeps/posix/signal.c (__bsd_signal): Likewise. * sysdeps/posix/sigset.c (sigset): Likewise. * sysdeps/posix/sigsuspend.c (__sigsuspend): Likewise. * sysdeps/posix/sysconf.c (__sysconf): Likewise. * sysdeps/posix/sysv_signal.c (__sysv_signal): Likewise. * sysdeps/posix/time.c (time): Likewise. * sysdeps/posix/ttyname.c (getttyname): Likewise. (ttyname): Likewise. * sysdeps/posix/ttyname_r.c (__ttyname_r): Likewise. * sysdeps/posix/utime.c (utime): Likewise. * sysdeps/powerpc/fpu/s_isnan.c (__isnan): Likewise. * sysdeps/powerpc/nptl/pthread_spin_lock.c (pthread_spin_lock): Likewise. * sysdeps/powerpc/nptl/pthread_spin_trylock.c (pthread_spin_trylock): Likewise. * sysdeps/pthread/aio_error.c (aio_error): Likewise. * sysdeps/pthread/aio_read.c (aio_read): Likewise. * sysdeps/pthread/aio_read64.c (aio_read64): Likewise. * sysdeps/pthread/aio_write.c (aio_write): Likewise. * sysdeps/pthread/aio_write64.c (aio_write64): Likewise. * sysdeps/pthread/flockfile.c (__flockfile): Likewise. * sysdeps/pthread/ftrylockfile.c (__ftrylockfile): Likewise. * sysdeps/pthread/funlockfile.c (__funlockfile): Likewise. * sysdeps/pthread/timer_create.c (timer_create): Likewise. * sysdeps/pthread/timer_getoverr.c (timer_getoverrun): Likewise. * sysdeps/pthread/timer_gettime.c (timer_gettime): Likewise. * sysdeps/s390/ffs.c (__ffs): Likewise. * sysdeps/s390/nptl/pthread_spin_lock.c (pthread_spin_lock): Likewise. * sysdeps/s390/nptl/pthread_spin_trylock.c (pthread_spin_trylock): Likewise. * sysdeps/sh/nptl/pthread_spin_lock.c (pthread_spin_lock): Likewise. * sysdeps/sparc/nptl/pthread_barrier_destroy.c (pthread_barrier_destroy): Likewise. * sysdeps/sparc/nptl/pthread_barrier_wait.c (__pthread_barrier_wait): Likewise. * sysdeps/sparc/sparc32/e_sqrt.c (__ieee754_sqrt): Likewise. * sysdeps/sparc/sparc32/pthread_barrier_wait.c (__pthread_barrier_wait): Likewise. * sysdeps/sparc/sparc32/sem_init.c (__old_sem_init): Likewise. * sysdeps/tile/memcmp.c (memcmp_common_alignment): Likewise. (memcmp_not_common_alignment): Likewise. (MEMCMP): Likewise. * sysdeps/tile/wordcopy.c (_wordcopy_fwd_aligned): Likewise. (_wordcopy_fwd_dest_aligned): Likewise. (_wordcopy_bwd_aligned): Likewise. (_wordcopy_bwd_dest_aligned): Likewise. * sysdeps/unix/bsd/ftime.c (ftime): Likewise. * sysdeps/unix/bsd/gtty.c (gtty): Likewise. * sysdeps/unix/bsd/stty.c (stty): Likewise. * sysdeps/unix/bsd/tcflow.c (tcflow): Likewise. * sysdeps/unix/bsd/tcflush.c (tcflush): Likewise. * sysdeps/unix/bsd/tcgetattr.c (__tcgetattr): Likewise. * sysdeps/unix/bsd/tcgetpgrp.c (tcgetpgrp): Likewise. * sysdeps/unix/bsd/tcsendbrk.c (tcsendbreak): Likewise. * sysdeps/unix/bsd/tcsetattr.c (tcsetattr): Likewise. * sysdeps/unix/bsd/tcsetpgrp.c (tcsetpgrp): Likewise. * sysdeps/unix/bsd/ualarm.c (ualarm): Likewise. * sysdeps/unix/bsd/wait3.c (__wait3): Likewise. * sysdeps/unix/getlogin_r.c (__getlogin_r): Likewise. * sysdeps/unix/sockatmark.c (sockatmark): Likewise. * sysdeps/unix/stime.c (stime): Likewise. * sysdeps/unix/sysv/linux/_exit.c (_exit): Likewise. * sysdeps/unix/sysv/linux/aio_sigqueue.c (__aio_sigqueue): Likewise. Use internal_function. * sysdeps/unix/sysv/linux/arm/sigaction.c (__libc_sigaction): Convert to prototype-style function definition. * sysdeps/unix/sysv/linux/faccessat.c (faccessat): Likewise. * sysdeps/unix/sysv/linux/fchmodat.c (fchmodat): Likewise. * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Likewise. * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Likewise. Use internal_function. * sysdeps/unix/sysv/linux/gethostid.c (sethostid): Convert to prototype-style function definition * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Likewise. (__getlogin_r): Likewise. * sysdeps/unix/sysv/linux/getpt.c (__posix_openpt): Likewise. * sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c (__pthread_cond_broadcast): Likewise. * sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c (__pthread_cond_destroy): Likewise. * sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c (__pthread_cond_init): Likewise. * sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c (__pthread_cond_signal): Likewise. * sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c (__pthread_cond_wait): Likewise. * sysdeps/unix/sysv/linux/i386/getmsg.c (getmsg): Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Likewise. * sysdeps/unix/sysv/linux/ia64/sigaction.c (__libc_sigaction): Likewise. * sysdeps/unix/sysv/linux/ia64/sigpending.c (sigpending): Likewise. * sysdeps/unix/sysv/linux/ia64/sigprocmask.c (__sigprocmask): Likewise. * sysdeps/unix/sysv/linux/mips/sigaction.c (__libc_sigaction): Likewise. * sysdeps/unix/sysv/linux/msgget.c (msgget): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/ftruncate64.c (__ftruncate64): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c (truncate64): Likewise. * sysdeps/unix/sysv/linux/pt-raise.c (raise): Likewise. * sysdeps/unix/sysv/linux/pthread_getcpuclockid.c (pthread_getcpuclockid): Likewise. * sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np): Likewise. * sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np): Likewise. * sysdeps/unix/sysv/linux/pthread_sigmask.c (pthread_sigmask): Likewise. * sysdeps/unix/sysv/linux/pthread_sigqueue.c (pthread_sigqueue): Likewise. * sysdeps/unix/sysv/linux/raise.c (raise): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__libc_sigaction): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c (sigpending): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c (__sigprocmask): Likewise. * sysdeps/unix/sysv/linux/semget.c (semget): Likewise. * sysdeps/unix/sysv/linux/semop.c (semop): 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/sigaction.c (__libc_sigaction): 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/sigstack.c (sigstack): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c (sigpending): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c (__sigprocmask): Likewise. * sysdeps/unix/sysv/linux/speed.c (cfgetospeed): Likewise. (cfgetispeed): Likewise. (cfsetospeed): Likewise. (cfsetispeed): Likewise. * sysdeps/unix/sysv/linux/tcflow.c (tcflow): Likewise. * sysdeps/unix/sysv/linux/tcflush.c (tcflush): Likewise. * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Likewise. * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise. * sysdeps/unix/sysv/linux/time.c (time): Likewise. * sysdeps/unix/sysv/linux/timer_create.c (timer_create): Likewise. * sysdeps/unix/sysv/linux/timer_delete.c (timer_delete): 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/x86_64/sigpending.c (sigpending): Likewise. * sysdeps/unix/sysv/linux/x86_64/sigprocmask.c (__sigprocmask): Likewise. * sysdeps/x86_64/backtrace.c (__backtrace): Likewise. |
||
H.J. Lu
|
fb1cf10811 |
Add INLINE_SYSCALL_ERROR_RETURN_VALUE
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_ERROR_RETURN_VALUE so that i386 can optimize setting errno by branching to the internal __syscall_error without PLT. With i386 INLINE_SYSCALL_ERROR_RETURN_VALUE 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/sysv/linux/sysdep.h: New file. * sysdeps/unix/sysv/linux/i386/sysdep.c: Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep.h: Include <sysdeps/unix/sysv/linux/sysdep.h>. * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/generic/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/hppa/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * 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/clone.S (__clone): Don't check PIC when branching to SYSCALL_ERROR_LABEL. * sysdeps/unix/sysv/linux/i386/sysdep.S: Removed. * sysdeps/unix/sysv/linux/i386/sysdep.h: Include <sysdeps/unix/sysv/linux/sysdep.h>. (SYSCALL_ERROR_LABEL): Changed to __syscall_error. (SYSCALL_ERROR_ERRNO): Removed. (SYSCALL_ERROR_HANDLER): Changed to empty. (SYSCALL_ERROR_HANDLER_TLS_STORE): Likewise. (__syscall_error): New prototype. [IS_IN (libc)] (INLINE_SYSCALL): New macro. (INLINE_SYSCALL_ERROR_RETURN_VALUE): Likewise. |
||
Joseph Myers
|
de071d199a |
Move bits/atomic.h to atomic-machine.h (bug 14912).
It was noted in <https://sourceware.org/ml/libc-alpha/2012-09/msg00305.html> that the bits/*.h naming scheme should only be used for installed headers. This patch renames bits/atomic.h to atomic-machine.h to follow that convention. This is the only change in this series that needs to change the filename rather than simply removing a directory level (because both atomic.h and bits/atomic.h exist at present). Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #14912] * sysdeps/aarch64/bits/atomic.h: Move to ... * sysdeps/aarch64/atomic-machine.h: ...here. (_AARCH64_BITS_ATOMIC_H): Rename macro to _AARCH64_ATOMIC_MACHINE_H. * sysdeps/alpha/bits/atomic.h: Move to ... * sysdeps/alpha/atomic-machine.h: ...here. * sysdeps/arm/bits/atomic.h: Move to ... * sysdeps/arm/atomic-machine.h: ...here. Update comments. * bits/atomic.h: Move to ... * sysdeps/generic/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/i386/bits/atomic.h: Move to ... * sysdeps/i386/atomic-machine.h: ...here. * sysdeps/ia64/bits/atomic.h: Move to ... * sysdeps/ia64/atomic-machine.h: ...here. * sysdeps/m68k/coldfire/bits/atomic.h: Move to ... * sysdeps/m68k/coldfire/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/m68k/m680x0/m68020/bits/atomic.h: Move to ... * sysdeps/m68k/m680x0/m68020/atomic-machine.h: ...here. * sysdeps/microblaze/bits/atomic.h: Move to ... * sysdeps/microblaze/atomic-machine.h: ...here. * sysdeps/mips/bits/atomic.h: Move to ... * sysdeps/mips/atomic-machine.h: ...here. (_MIPS_BITS_ATOMIC_H): Rename macro to _MIPS_ATOMIC_MACHINE_H. * sysdeps/powerpc/bits/atomic.h: Move to ... * sysdeps/powerpc/atomic-machine.h: ...here. Update comments. * sysdeps/powerpc/powerpc32/bits/atomic.h: Move to ... * sysdeps/powerpc/powerpc32/atomic-machine.h: ...here. Update comments. Include <atomic-machine.h> instead of <bits/atomic.h>. * sysdeps/powerpc/powerpc64/bits/atomic.h: Move to ... * sysdeps/powerpc/powerpc64/atomic-machine.h: ...here. Include <atomic-machine.h> instead of <bits/atomic.h>. * sysdeps/s390/bits/atomic.h: Move to ... * sysdeps/s390/atomic-machine.h: ...here. * sysdeps/sparc/sparc32/bits/atomic.h: Move to ... * sysdeps/sparc/sparc32/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Move to ... * sysdeps/sparc/sparc32/sparcv9/atomic-machine.h: ...here. * sysdeps/sparc/sparc64/bits/atomic.h: Move to ... * sysdeps/sparc/sparc64/atomic-machine.h: ...here. * sysdeps/tile/bits/atomic.h: Move to ... * sysdeps/tile/atomic-machine.h: ...here. * sysdeps/tile/tilegx/bits/atomic.h: Move to ... * sysdeps/tile/tilegx/atomic-machine.h: ...here. Include <sysdeps/tile/atomic-machine.h> instead of <sysdeps/tile/bits/atomic.h>. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/tile/tilepro/bits/atomic.h: Move to ... * sysdeps/tile/tilepro/atomic-machine.h: ...here. Include <sysdeps/tile/atomic-machine.h> instead of <sysdeps/tile/bits/atomic.h>. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/arm/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/arm/atomic-machine.h: ...here. Include <sysdeps/arm/atomic-machine.h> instead of <sysdeps/arm/bits/atomic.h>. * sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/hppa/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/m68k/coldfire/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h: ...here. (_BITS_ATOMIC_H): Rename macro to _ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/nios2/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/nios2/atomic-machine.h: ...here. (_NIOS2_BITS_ATOMIC_H): Rename macro to _NIOS2_ATOMIC_MACHINE_H. * sysdeps/unix/sysv/linux/sh/bits/atomic.h: Move to ... * sysdeps/unix/sysv/linux/sh/atomic-machine.h: ...here. * sysdeps/x86_64/bits/atomic.h: Move to ... * sysdeps/x86_64/atomic-machine.h: ...here. * include/atomic.h: Include <atomic-machine.h> instead of <bits/atomic.h>. |
||
Mike Frysinger
|
352d0eafb6 |
hppa: timerfd.h: move to common sys/timerfd.h
Use the common sys/timerfd.h to avoid duplication and move the arch-specific settings into bits/timerfd.h. |
||
Mike Frysinger
|
55b14dda43 |
hppa: signalfd.h: move to common sys/signalfd.h
Use the common sys/signalfd.h to avoid duplication and move the arch-specific settings into bits/signalfd.h. |
||
Mike Frysinger
|
605021b6b9 |
hppa: inotify.h: move to common sys/inotify.h
Use the common sys/inotify.h to avoid duplication and move the arch-specific settings into bits/inotify.h. |
||
Mike Frysinger
|
4454e161cb |
hppa: eventfd.h: move to common sys/eventfd.h
Use the common sys/eventfd.h to avoid duplication and move the arch-specific settings into bits/eventfd.h. |
||
Mike Frysinger
|
44e01f06a0 |
hppa: epoll.h: move to common sys/epoll.h
Use the common sys/epoll.h to avoid duplication and move the arch-specific settings into bits/epoll.h. |
||
Mike Frysinger
|
d5a77fcafd |
hppa: sigaction.h: update define export based on __USE_XOPEN2K8
This brings hppa in line with other ports by exporting a few more defines based on the __USE_XOPEN2K8 define and not just __USE_MISC. |
||
Mike Frysinger
|
c5bf7f84bf |
hppa: shm.h: add SHM_EXEC
This brings hppa in line with all the other arches. |
||
Mike Frysinger
|
8584204806 |
hppa: drop __ASSUME_LWS_CAS define
We require recent enough kernels for this now, and we've been hardcoding it to 1, so drop it entirely now. |
||
Mike Frysinger
|
ef086ef8ba |
hppa: put custom madvise defines behind __USE_MISC
No other arch exports these defines, and having them in the default namespace causes conformance header tests to fail. Put them behind the __USE_MISC define as that is what other arches seem to use. |
||
John David Anglin
|
04ece7d2de |
hppa: Fix miscompilation of sched_setaffinity() [BZ #18480]
The attached change fixes the miscompilation of sched_setaffinity() on hppa. This is an old problem that was fixed on other architectures using a similar approach to the attached change. See: https://sourceware.org/ml/libc-hacker/2004-04/msg00016.html Build tested on trunk. Patch has been applied to debian glibc for some time. |
||
John David Anglin
|
74bc0c3a16 |
hppa: Fix reload error with atomic code [BZ #18787]
As noted in the bug, the asm operands need to be copied to register variables to avoid operand reloads in the principal asm of the macro. See the arm implementation for reference. Otherwise we get: ../sysdeps/unix/sysv/linux/hppa/bits/atomic.h:68:6: error: can't find a register in class 'R1_REGS' while reloading 'asm' Build tested on trunk with gcc-4.8. Similar patch has been tested with 2.19 on Debian hppa-unknown-linux-gnu. |
||
Torvald Riegel
|
87ab9d55f7 |
hppa: Remove custom lowlevellock.h.
This untested patch removes the custom lowlevellock.h on hppa. It seems to contain an implementation equivalent to the generic lowlevellock.h. |
||
Mike Frysinger
|
827e01851f |
hppa: sigaction.h: change sa_flags to an int
This fixes the conform test for the sigaction.h header and makes it match all the other arches. |
||
Mike Frysinger
|
979900af98 |
hppa: fix sysdep.h header setup
The semi-recent SYSCALL_CANCEL inclusion broke hppa due to the sysdep.h headers not including the unix/sysdep.h headers. Rework the includes so we match the other ports: * hppa/sysdep.h: - Do not include sys/syscall.h as the unix sysdep.h headers do it. - Do not include config.h as libc-symbols.h does it, and it has no #ifdef multiple-include protection, and it breaks when some files do things like #undef __OPTIMIZE__. * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: - Drop the generic/sysdep.h as the unix sysdep.h headers include it. * sysdeps/unix/sysv/linux/hppa/sysdep.h: - Change to the unix & core hppa sysdep header stacks. - Undef a few defines that the core headers already set up for us. |
||
Mike Frysinger
|
a822b0187a |
hppa: rewrite INLINE_SYSCALL
The semi-recent SYSCALL_CANCEL macro imposes a slight nuance on the implementation of INLINE_SYSCALL: the nr argument cannot be expanded directly but must be passed on to another macro which may expand it. Most arches don't notice because INLINE_SYSCALL is defined in terms of INTERNAL_SYSCALL which has the additional layer of expansion, but on hppa, it was attempting to expand it directly. That causes build errors like so: ../sysdeps/unix/sysv/linux/sigsuspend.c: In function '__sigsuspend': ../sysdeps/unix/sysv/linux/sigsuspend.c:31:62: error: implicit declaration of function 'LOAD_ARGS___SYSCALL_NARGS' ../sysdeps/unix/sysv/linux/sigsuspend.c:31:304: error: called object 'LOAD_ARGS___SYSCALL_NARGS(set, 8)' is not a function So rewrite hppa's INLINE_SYSCALL to use INTERNAL_SYSCALL like other arches do. This is also a nice clean up as the two macros had quite a bit of duplicated logic. |
||
Adhemerval Zanella
|
fdb7d390dd |
libio: fmemopen rewrite to POSIX compliance
This patch added a new fmemopen version, for glibc 2.22, that aims to be POSIX complaint. It fixes some long-stading glibc fmemopen issues, such as: * it changes the way fseek with SEEK_END works on fmemopen to seek relative to buffer size instead of first '\0'. This is default mode and 'b' opening mode does not change internal behavior (bz#6544). * fix apending opening mode to use as start position either first null byte of len specified in function call (bz#13152 and #13151). * remove binary option 'b' and internal different handling (bz#12836) * fix seek/SEE_END with negative values (bz#14292). A compatibility symbol is provided to with old behavior for older symbols version (2.2.5). * include/stdio.h (fmemopen): Remove hidden prototype. (__fmemopen): Add new hidden prototype. * libio/Makefile: Add oldfmemopen object. * libio/Versions [GLIBC_2.22]: Add new fmemopen symbol. * libio/fmemopen.c (__fmemopen): Function rewrite to be POSIX compliance. * libio/oldfmemopen.c: New file: old fmemopen implementation for symbol compatibility. * stdio-common/Makefile [tests]: Add new tst-fmemopen3. * stdio-common/psiginfo.c [psiginfo]: Call __fmemopen instead of fmemopen. * stdio-common/tst-fmemopen3.c: New file: more fmemopen tests, focus on append and read mode. * sysdeps/unix/sysv/linux/aarch64/libc.abilist [GLIBC_2.22]: Add fmemopen. * sysdeps/unix/sysv/linux/alpha/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/arm/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/i386/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/ia64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/microblaze/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/sh/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/hppa/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/nios2/libc.abilist [GLIBC_2.22]: Likewise. |
||
Adhemerval Zanella
|
60dce8b904 |
Remove socket.S implementation
This patch removes the socket.S implementation for all ports and replace it by a C implementation using socketcall. For ports that implement the syscall directly, there is no change. The patch idea is to simplify the socket function implementation that uses the socketcall to be based on C implemetation instead of a pseudo assembly implementation with arch specific parts. The patch then remove the assembly implementatation for the ports which uses socketcall (i386, microblaze, mips, powerpc, sparc, m68k, s390 and sh). I have cross-build GLIBC for afore-mentioned ports and tested on both i386 and ppc32 without regressions. |
||
Carlos O'Donell
|
c92d40c0bc |
Bug 18125: Call exit after last linked context.
There appears to be a discrepancy among the implementations of setcontext with regards to the function called once the last linked-to context has finished executing via setcontext. The POSIX standard says: ~~~ If the uc_link member of the ucontext_t structure pointed to by the ucp argument is equal to 0, then this context is the main context, and the thread will exit when this context returns. ~~~ It says "exit" not "exit immediately" nor "exit without running functions registered with atexit or on_exit." Therefore the AArch64, ARM, hppa and NIOS II implementations are wrong and no test detects it. It is questionable if this should even be fixed or just documented that the above 4 targets are wrong. The functions are deprecated and nobody should be using them, but at the same time it silly to have cross-target differences that make it hard to port old applications from say x86_64 to AArch64. Therefore I will ix the 4 arches, and checkin a regression test to prevent it from changing again. https://sourceware.org/ml/libc-alpha/2015-03/msg00720.html |
||
Joseph Myers
|
6d08b0223a |
Correct __ASSUME_PRLIMIT64 for hppa/microblaze/sh (bug 17779).
__ASSUME_PRLIMIT64 is defined in kernel-features.h for kernels 2.6.36 and later, but hppa, microblaze and sh did not add the prlimit64 syscall until 2.6.37. This patch adds corresponding undefines of __ASSUME_PRLIMIT64 to those architectures' kernel-features.h files. (This concludes the kernel-features.h fixes arising out of the review - limited to macros defined in the architecture-independent kernel-features.h file - I did in connection with the move to 2.6.32 minimum kernel version. For that subset of macros - I didn't check any purely architecture-specific macros - I think they are now defined for the correct kernel versions on each architecture after this patch.) [BZ #17779] * sysdeps/unix/sysv/linux/hppa/kernel-features.h [__LINUX_KERNEL_VERSION < 0x020625] (__ASSUME_PRLIMIT64): Undefine. * sysdeps/unix/sysv/linux/microblaze/kernel-features.h [__LINUX_KERNEL_VERSION < 0x020625] (__ASSUME_PRLIMIT64): Likewise. * sysdeps/unix/sysv/linux/sh/kernel-features.h [__LINUX_KERNEL_VERSION < 0x020625] (__ASSUME_PRLIMIT64): Likewise. |
||
John David Anglin
|
49f476f479 | hppa: fix __O_SYNC to match the kernel | ||
Mike Frysinger
|
cda700b4c8 |
hppa: fix build failure with RTLD_PRIVATE_ERRNO
Pull in dl-sysdep.h like every other linux sysdep.h header does when it wants to use RTLD_PRIVATE_ERRNO. |
||
Carlos O'Donell
|
3c0c543b87 |
hppa: Sync with pthread.h.
This reverts part of the previous commit to refactor pthread.h. The refactoring must be done by having pthread.h include arch bits headers, not the other way around. Then hppa provides the arch bits header. For now we synchronzie again with pthread.h and include the entire contents in the hppa copy. |
||
Carlos O'Donell
|
3f823f488a |
hppa: Remove warnings and fix conformance errors.
(1) Fix warnings. This is a bulk update to fix all the warnings that were causing build failures with -Werror on hppa. The most egregious problems are in dl-fptr.c which needs to be entirely rewritten, thus I've used -Wno-error for that. (2) Fix conformance errors. The sysdep.c file had __syscall_error and syscall in one file which caused conformance issues by including syscall when __syscall_error was linked to. The fix is obviously to split the file and use syscall.c to implement syscall. |
||
Joseph Myers
|
b168057aaa | Update copyright dates with scripts/update-copyrights. | ||
Joseph Myers
|
90aa3d0945 |
Make __ASSUME_UTIMES hppa-specific.
This patch makes __ASSUME_UTIMES hppa-specific, removing mentions of the macro from architecture-independent code and code for other architectures. (All other architectures either have the utimes syscall in all relevant kernel versions, or use the asm-generic interface so only have utimensat and won't get the utimes syscall.) A similar approach is used to that used for futimesat for MicroBlaze: if the kernel is recent enough that the utimes syscall can be assumed to be present, use the implementation in terms of the utimes syscall, and otherwise use the linux/generic implementation in terms of utimensat. Tested x86_64 that the disassembly of installed shared libraries is unchanged by the patch. Not tested for hppa. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_UTIMES): Do not define. * sysdeps/unix/sysv/linux/utimes.c: Do not include <kernel-features.h>. (__utimes) [__NR_utimes]: Make code unconditional. (__utimes) [!__ASSUME_UTIMES]: Remove conditional code. * sysdeps/unix/sysv/linux/aarch64/kernel-features.h (__ASSUME_UTIMES): Do not undefine. * sysdeps/unix/sysv/linux/tile/kernel-features.h (__ASSUME_UTIMES): Likewise. * sysdeps/unix/sysv/linux/hppa/kernel-features.h (__ASSUME_UTIMES): Define for [__LINUX_KERNEL_VERSION >= 0x030e00] instead of undefining for [__LINUX_KERNEL_VERSION < 0x030e00]. * sysdeps/unix/sysv/linux/hppa/utimes.c: New file. |
||
Joseph Myers
|
ea41469b7a |
Fix profil_counter namespace (bug 17725).
On ARM, where profil_counter is not static, it is brought in by references to various standard functions, as noted in <https://sourceware.org/ml/libc-alpha/2014-11/msg00890.html>, although it is not a standard function itself. I don't know if this also causes test failures on SPARC, although I see no reason for it not to do so. This patch fixes this namespace issue. profil_counter is renamed to __profil_counter and made a weak alias on ARM and SPARC. Because of the uses in profil.c / sprofil.c it seems simplest to make the rename globally, including on the other architectures for which profil_counter was static and so the change is of no substance. The variant names profil_counter_* used in sprofil.c are also renamed to start with __ so that undesired function names do not get exported in static libc. As I noted in bug 17726, profil_counter should probably be a compat symbol on ARM and SPARC, so it wouldn't exist at all in static libc even as a weak alias. Since defining a compat symbol still requires an internal name as a target of an alias, this patch still seems reasonable as an intermediate step towards that goal: it wouldn't be possible for the function simply to be static profil_counter on ARM and SPARC with profil_counter also being the exported compat symbol name, so profil.c / sprofil.c would still need to be prepared to call the function under another name (here, __profil_counter). Tested for x86_64 (testsuite, and that stripped installed shared libraries are unchanged by the patch) and ARM (ABI and linknamespace tests - this patch reduces the number of linknamespace failures I see on ARM from 227 to 5, the residue being math.h failures for fe* functions and for j0l/j1n/jnl/y0l/y1l/ynl aliases). 2014-12-17 Joseph Myers <joseph@codesourcery.com> [BZ #17725] * sysdeps/generic/profil-counter.h (profil_counter): Rename to __profil_counter. * sysdeps/unix/sysv/linux/hppa/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/ia64/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/sh/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/tile/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/x86_64/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter): Likewise. [!__profil_counter] (profil_counter): Define as weak alias of __profil_counter. * sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h (profil_counter): Rename to __profil_counter. [!__profil_counter] (profil_counter): Define as weak alias of __profil_counter. * sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h (profil_counter): Rename to __profil_counter. [!__profil_counter] (profil_counter): Define as weak alias of __profil_counter. * sysdeps/posix/profil.c: Update comment referring to profil_counter. (__profil): Use __profil_counter instead of profil_counter. * sysdeps/posix/sprofil.c (profil_counter): Rename to __profil_counter. Use __profil_counter_ushort and __profil_counter_uint in definitions. (__sprofil): Use __profil_counter_uint and __profil_counter_ushort instead of profil_counter_uint and profil_counter_ushort. |
||
Siddhesh Poyarekar
|
4f41c682f3 |
Remove NOT_IN_libc
Replace with !IS_IN (libc). This completes the transition from the IS_IN/NOT_IN macros to the IN_MODULE macro set. The generated code is unchanged on x86_64. * stdlib/isomac.c (fmt): Replace NOT_IN_libc with IN_MODULE. (get_null_defines): Adjust. * sunrpc/Makefile: Adjust comment. * Makerules (CPPFLAGS-nonlib): Remove NOT_IN_libc. * elf/Makefile (CPPFLAGS-sotruss-lib): Likewise. (CFLAGS-interp.c): Likewise. (CFLAGS-ldconfig.c): Likewise. (CPPFLAGS-.os): Likewise. * elf/rtld-Rules (rtld-CPPFLAGS): Likewise. * extra-lib.mk (CPPFLAGS-$(lib)): Likewise. * extra-modules.mk (extra-modules.mk): Likewise. * iconv/Makefile (CPPFLAGS-iconvprogs): Likewise. * locale/Makefile (CPPFLAGS-locale_programs): Likewise. * malloc/Makefile (CPPFLAGS-memusagestat): Likewise. * nscd/Makefile (CPPFLAGS-nscd): Likewise. * nss/Makefile (CPPFLAGS-nss_test1): Likewise. * stdlib/Makefile (CFLAGS-tst-putenvmod.c): Likewise. * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.c): Likewise. * sysdeps/unix/sysv/linux/Makefile (CPPFLAGS-lddlibc4): Likewise. * iconvdata/Makefile (CPPFLAGS): Likewise. (cpp-srcs-left): Add libof for all iconvdata routines. * bits/stdio-lock.h: Replace NOT_IN_libc with IS_IN. * include/assert.h: Likewise. * include/ctype.h: Likewise. * include/errno.h: Likewise. * include/libc-symbols.h: Likewise. * include/math.h: Likewise. * include/netdb.h: Likewise. * include/resolv.h: Likewise. * include/stdio.h: Likewise. * include/stdlib.h: Likewise. * include/string.h: Likewise. * include/sys/stat.h: Likewise. * include/wctype.h: Likewise. * intl/l10nflist.c: Likewise. * libidn/idn-stub.c: Likewise. * libio/libioP.h: Likewise. * nptl/libc_multiple_threads.c: Likewise. * nptl/pthreadP.h: Likewise. * posix/regex_internal.h: Likewise. * resolv/res_hconf.c: Likewise. * sysdeps/arm/armv7/multiarch/memcpy.S: Likewise. * sysdeps/arm/memmove.S: Likewise. * sysdeps/arm/sysdep.h: Likewise. * sysdeps/generic/_itoa.h: Likewise. * sysdeps/generic/symbol-hacks.h: Likewise. * sysdeps/gnu/errlist.awk: Likewise. * sysdeps/gnu/errlist.c: Likewise. * sysdeps/i386/i586/memcpy.S: Likewise. * sysdeps/i386/i586/memset.S: Likewise. * sysdeps/i386/i686/memcpy.S: Likewise. * sysdeps/i386/i686/memmove.S: Likewise. * sysdeps/i386/i686/mempcpy.S: Likewise. * sysdeps/i386/i686/memset.S: Likewise. * sysdeps/i386/i686/multiarch/bcopy.S: Likewise. * sysdeps/i386/i686/multiarch/bzero.S: Likewise. * sysdeps/i386/i686/multiarch/memchr-sse2-bsf.S: Likewise. * sysdeps/i386/i686/multiarch/memchr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/memchr.S: Likewise. * sysdeps/i386/i686/multiarch/memcmp-sse4.S: Likewise. * sysdeps/i386/i686/multiarch/memcmp-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/memcmp.S: Likewise. * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Likewise. * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/memcpy.S: Likewise. * sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise. * sysdeps/i386/i686/multiarch/memmove.S: Likewise. * sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise. * sysdeps/i386/i686/multiarch/mempcpy.S: Likewise. * sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise. * sysdeps/i386/i686/multiarch/memrchr-c.c: Likewise. * sysdeps/i386/i686/multiarch/memrchr-sse2-bsf.S: Likewise. * sysdeps/i386/i686/multiarch/memrchr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/memrchr.S: Likewise. * sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise. * sysdeps/i386/i686/multiarch/memset-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/memset.S: Likewise. * sysdeps/i386/i686/multiarch/memset_chk.S: Likewise. * sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise. * sysdeps/i386/i686/multiarch/strcat-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/strcat-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/strcat.S: Likewise. * sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S: Likewise. * sysdeps/i386/i686/multiarch/strchr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/strchr.S: Likewise. * sysdeps/i386/i686/multiarch/strcmp-sse4.S: Likewise. * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/strcmp.S: Likewise. * sysdeps/i386/i686/multiarch/strcpy-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/strcpy-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/strcpy.S: Likewise. * sysdeps/i386/i686/multiarch/strcspn.S: Likewise. * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: Likewise. * sysdeps/i386/i686/multiarch/strlen-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/strlen.S: Likewise. * sysdeps/i386/i686/multiarch/strnlen.S: Likewise. * sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S: Likewise. * sysdeps/i386/i686/multiarch/strrchr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/strrchr.S: Likewise. * sysdeps/i386/i686/multiarch/strspn.S: Likewise. * sysdeps/i386/i686/multiarch/wcschr-c.c: Likewise. * sysdeps/i386/i686/multiarch/wcschr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/wcschr.S: Likewise. * sysdeps/i386/i686/multiarch/wcscmp-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/wcscmp.S: Likewise. * sysdeps/i386/i686/multiarch/wcscpy-c.c: Likewise. * sysdeps/i386/i686/multiarch/wcscpy-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/wcscpy.S: Likewise. * sysdeps/i386/i686/multiarch/wcslen-c.c: Likewise. * sysdeps/i386/i686/multiarch/wcslen-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/wcslen.S: Likewise. * sysdeps/i386/i686/multiarch/wcsrchr-c.c: Likewise. * sysdeps/i386/i686/multiarch/wcsrchr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise. * sysdeps/i386/i686/multiarch/wmemcmp-c.c: Likewise. * sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise. * sysdeps/ia64/fpu/libm-symbols.h: Likewise. * sysdeps/nptl/bits/libc-lock.h: Likewise. * sysdeps/nptl/bits/libc-lockP.h: Likewise. * sysdeps/nptl/bits/stdio-lock.h: Likewise. * sysdeps/posix/closedir.c: Likewise. * sysdeps/posix/opendir.c: Likewise. * sysdeps/posix/readdir.c: Likewise. * sysdeps/posix/rewinddir.c: Likewise. * sysdeps/powerpc/novmx-sigjmp.c: Likewise. * sysdeps/powerpc/powerpc32/__longjmp.S: Likewise. * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/__longjmp.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/setjmp.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/bzero.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memcmp-ppc32.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memcmp.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memcpy-ppc32.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memcpy.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memmove.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/mempcpy.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memrchr-ppc32.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memrchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memset-ppc32.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memset.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/rawmemchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strcasecmp.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strcasecmp_l.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strchrnul.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strlen-ppc32.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strlen.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strncase.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strncase_l.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strncmp-ppc32.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strncmp.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strnlen.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-ppc32.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy-ppc32.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-ppc32.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wordcopy.c: Likewise. * sysdeps/powerpc/powerpc32/power6/memset.S: Likewise. * sysdeps/powerpc/powerpc32/setjmp.S: Likewise. * sysdeps/powerpc/powerpc64/__longjmp.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/bzero.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memcmp-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memcmp.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memcpy-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memcpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memmove-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memmove.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/mempcpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memrchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memset.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/rawmemchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/stpcpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/stpncpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcasecmp.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcat.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strchrnul.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcmp.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcpy-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcspn.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strlen-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strlen.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncase.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncase_l.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncat.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncmp.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncpy-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strnlen.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strpbrk.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strrchr-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strrchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strspn-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strspn.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcschr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcscpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcsrchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wordcopy.c: Likewise. * sysdeps/powerpc/powerpc64/setjmp.S: Likewise. * sysdeps/s390/s390-32/multiarch/ifunc-resolve.c: Likewise. * sysdeps/s390/s390-32/multiarch/memcmp.S: Likewise. * sysdeps/s390/s390-32/multiarch/memcpy.S: Likewise. * sysdeps/s390/s390-32/multiarch/memset.S: Likewise. * sysdeps/s390/s390-64/multiarch/ifunc-resolve.c: Likewise. * sysdeps/s390/s390-64/multiarch/memcmp.S: Likewise. * sysdeps/s390/s390-64/multiarch/memcpy.S: Likewise. * sysdeps/s390/s390-64/multiarch/memset.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memset-niagara1.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memset-niagara4.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise. * sysdeps/unix/alpha/sysdep.S: Likewise. * sysdeps/unix/alpha/sysdep.h: Likewise. * sysdeps/unix/make-syscalls.sh: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/alpha/vfork.S: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/getpid.c: Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise. * sysdeps/unix/sysv/linux/m68k/bits/m68k-vdso.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/not-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/longjmp_chk.c: Likewise. * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/vfork.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/vfork.S: Likewise. * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sh/vfork.S: Likewise. * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/tile/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/tile/waitpid.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/wordsize-32/symbol-hacks.h: Likewise. * sysdeps/x86_64/memcpy.S: Likewise. * sysdeps/x86_64/memmove.c: Likewise. * sysdeps/x86_64/memset.S: Likewise. * sysdeps/x86_64/multiarch/init-arch.h: Likewise. * sysdeps/x86_64/multiarch/memcmp-sse4.S: Likewise. * sysdeps/x86_64/multiarch/memcmp-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/memcmp.S: Likewise. * sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S: Likewise. * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Likewise. * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/memcpy.S: Likewise. * sysdeps/x86_64/multiarch/memcpy_chk.S: Likewise. * sysdeps/x86_64/multiarch/memmove.c: Likewise. * sysdeps/x86_64/multiarch/mempcpy.S: Likewise. * sysdeps/x86_64/multiarch/mempcpy_chk.S: Likewise. * sysdeps/x86_64/multiarch/memset-avx2.S: Likewise. * sysdeps/x86_64/multiarch/memset.S: Likewise. * sysdeps/x86_64/multiarch/memset_chk.S: Likewise. * sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S: Likewise. * sysdeps/x86_64/multiarch/strcat-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/strcat.S: Likewise. * sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S: Likewise. * sysdeps/x86_64/multiarch/strchr.S: Likewise. * sysdeps/x86_64/multiarch/strcmp-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/strcmp.S: Likewise. * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: Likewise. * sysdeps/x86_64/multiarch/strcpy-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/strcpy.S: Likewise. * sysdeps/x86_64/multiarch/strcspn.S: Likewise. * sysdeps/x86_64/multiarch/strspn.S: Likewise. * sysdeps/x86_64/multiarch/wcscpy-c.c: Likewise. * sysdeps/x86_64/multiarch/wcscpy-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/wcscpy.S: Likewise. * sysdeps/x86_64/multiarch/wmemcmp-c.c: Likewise. * sysdeps/x86_64/multiarch/wmemcmp.S: Likewise. * sysdeps/x86_64/strcmp.S: Likewise. |
||
Siddhesh Poyarekar
|
a38484851a |
Remove IS_IN_rtld
Replace with IS_IN (rtld). Generated code is unchanged on x86_64. * elf/Makefile (CPPFLAGS-.os): Remove IS_IN_rtld. * elf/dl-open.c: Use IS_IN (rtld) instead if IS_IN_rtld. * elf/rtld-Rules: Likewise. * elf/setup-vdso.h: Likewise. * include/assert.h: Likewise. * include/bits/stdlib-float.h: Likewise. * include/errno.h: Likewise. * include/sys/stat.h: Likewise. * include/unistd.h: Likewise. * sysdeps/aarch64/setjmp.S: Likewise. * sysdeps/alpha/setjmp.S: Likewise. * sysdeps/arm/__longjmp.S: Likewise. * sysdeps/arm/aeabi_unwind_cpp_pr1.c: Likewise. * sysdeps/arm/setjmp.S: Likewise. * sysdeps/arm/sysdep.h: Likewise. * sysdeps/generic/_itoa.h: Likewise. * sysdeps/generic/dl-sysdep.h: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/i386/dl-tls.h: Likewise. * sysdeps/i386/setjmp.S: Likewise. * sysdeps/m68k/setjmp.c: Likewise. * sysdeps/mach/hurd/dl-execstack.c: Likewise. * sysdeps/mach/hurd/opendir.c: Likewise. * sysdeps/posix/getcwd.c: Likewise. * sysdeps/posix/opendir.c: Likewise. * sysdeps/posix/profil.c: Likewise. * sysdeps/powerpc/dl-procinfo.h: Likewise. * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h: Likewise. * sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise. * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise. * sysdeps/s390/dl-tls.h: Likewise. * sysdeps/s390/s390-32/setjmp.S: Likewise. * sysdeps/s390/s390-64/setjmp.S: Likewise. * sysdeps/sh/sh3/setjmp.S: Likewise. * sysdeps/sh/sh4/setjmp.S: Likewise. * sysdeps/unix/alpha/sysdep.h: Likewise. * sysdeps/unix/arm/sysdep.S: Likewise. * sysdeps/unix/i386/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/getcwd.c: Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise. * sysdeps/unix/sysv/linux/m68k/bits/m68k-vdso.h: Likewise. * sysdeps/unix/sysv/linux/m68k/m68k-helpers.S: Likewise. * sysdeps/unix/sysv/linux/microblaze/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/tile/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/x86_64/sysdep.S: Likewise. * sysdeps/x86_64/setjmp.S: Likewise. |
||
Siddhesh Poyarekar
|
ce9f10f7f0 |
Remove IS_IN_libpthread
Replace with IS_IN (libpthread). Generated code unchanged on x86_64. * nptl/lowlevellock.c: Use IS_IN instead of IS_IN_libpthread. * nptl/pthreadP.h: Likewise. * nptl_db/structs.def: Likewise. * sysdeps/arm/sysdep.h: Likewise. * sysdeps/nptl/bits/libc-lock.h: Likewise. * sysdeps/nptl/bits/libc-lockP.h: Likewise. * sysdeps/sparc/sparc32/lowlevellock.c: Likewise. * sysdeps/unix/alpha/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/not-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/tile/waitpid.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise. |
||
Siddhesh Poyarekar
|
016afc75cd |
Remove IS_IN_librt
Replace with IS_IN (librt). Generated code unchanged on x86_64 * include/mqueue.h: Use IS_IN instead of IS_IN_librt. * nptl/pthreadP.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/not-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/tile/waitpid.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise. |
||
Torvald Riegel
|
1ea339b697 |
Add arch-specific configuration for C11 atomics support.
This sets __HAVE_64B_ATOMICS if provided. It also sets USE_ATOMIC_COMPILER_BUILTINS to true if the existing atomic ops use the __atomic* builtins (aarch64, mips partially) or if this has been tested (x86_64); otherwise, this is set to false so that C11 atomics will be based on the existing atomic operations. |
||
Carlos O'Donell
|
13d845549e |
hppa: Make __SIGRTMIN 32 (ABI break).
In the Linux kernel version 3.17 the signal numbers were rearranged in order to make hppa like every other arch. Previously we started __SIGRTMIN at 37, and that meant several pieces of important software, including systemd, would fail to build. To support systemd we removed SIGEMT and SIGLOST, and rearranged the others according to expected values. This is technically an ABI incompatible change, but because zero applications use SIGSTKFLT, SIGXCPU, SIGXFSZ and SIGSYS nothing broke. Nothing uses SIGEMT and SIGLOST, and they were present for HPUX compatibility which is no longer supported. Thus because nothing breaks we don't do any compatibility work here. Upstream kernel commit is 1f25df2eff5b25f52c139d3ff31bc883eee9a0ab. Signed-off-by: Carlos O'Donell <carlos@systemhalted.org> Signed-off-by: Helge Deller <deller@gmx.de> 2014-10-23 Carlos O'Donell <carlos@systemhalted.org> Helge Deller <deller@gmx.de> [BZ #17508] * sysdeps/unix/sysv/linux/hppa/bits/signum.h: Remove SIGEMT. Define SIGSTKFLT as 7. Define SIGSYS as 31. Define SIGXCPU as 12. Remove SIGLOST. Define SIGXFSZ as 30. Define __SIGRTMIN as 32. |
||
Joseph Myers
|
5deeb19014 |
Remove stray *_internal aliases (bug 14132).
This patch removes some stray (unused) *_internal aliases, and function prototypes with no corresponding definitions at all, at least some of which were missed in previous INTDEF / INTUSE removal. Not removed in this patch: __canonicalize_directory_name_internal, noticed in the course of preparing this patch, isn't an alias, but an actual function in sysdeps/mach/hurd/getcwd.c - apparently unused, however. Tested for x86_64 that installed stripped shared libraries are unchanged by this patch. [BZ #14132] * include/wctype.h [!_ISOMAC] (__iswalpha_l_internal): Remove declaration. [!_ISOMAC] (__iswdigit_l_internal): Likewise. [!_ISOMAC] (__iswspace_l_internal): Likewise. [!_ISOMAC] (__iswxdigit_l_internal): Likewise. [!_ISOMAC] (__iswctype_internal): Likewise. * stdio-common/siglist.c (_sys_siglist_internal): Remove alias. * sysdeps/unix/syscalls.list (chown): Remove __chown_internal alias. (fcntl): Remove __fcntl_internal alias. * sysdeps/unix/sysv/linux/hppa/syscalls.list (connect): Remove __connect_internal alias. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (connect): Likewise. |
||
Rasmus Villemoes
|
69eb9a183c | Fix prototype of eventfd. | ||
Joseph Myers
|
ba90e05052 |
Remove configuration name patterns from shlib-versions.
This patch removes the first column (patterns matching configuration names) from shlib-versions, leaving shlib-versions entry selection based purely on sysdeps directories. An implication of this removal is that the default for any non-Linux ports using NPTL will be the same SONAMEs for NPTL libraries as for Linux (as those defaults, previously limited to .*-.*-linux.*, are left in nptl/shlib-versions and nptl_db/shlib-versions). Special host_os handling in configure.ac that was purely for shlib-versions is removed. (The host_os setting is still used for libc-abis - see <https://sourceware.org/ml/libc-alpha/2014-01/msg00375.html> regarding that - but no entries there are affected by this change.) Tested on x86_64 and x86 that the installed shared libraries are unchanged by this patch. * scripts/soversions.awk: Do not handle configuration names. * Makeconfig ($(common-objpfx)soversions.i): Do not pass cpu, vendor and os variables to soversions.awk. * configure.ac: Do not modify gnu-* host_os. * configure: Regenerated * shlib-versions: Remove first column with configuration names. * nptl/shlib-versions: Likewise. * nptl_db/shlib-versions: Likewise. * sysdeps/hppa/shlib-versions: Likewise. * sysdeps/m68k/shlib-versions: Likewise. * sysdeps/mach/hurd/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/aarch64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/alpha/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/arm/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/hppa/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/ia64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/microblaze/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/mips/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/sh/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/tile/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Likewise. libidn/ChangeLog: * shlib-versions: Remove first column with configuration names. |
||
Carlos O'Donell
|
645a0e9c17 |
HPPA: Add c++-types.data.
Added c++-types.data to baseline for HPPA. At this point `make check` completes without error, and the full testing results are summarized. |
||
Carlos O'Donell
|
d83f0734e1 |
HPPA: Transition to new non-addon NPTL.
Merge roland/nptl-hppa to master, update and test for hppa-linux-gnu. This commit squashes and commits the work done by Roland McGrath on roland/nptl-hppa to migrate hppa to the new non-addon NPTL. Some additional tweaks were required for tcb-offsets.sym to work correctly along with clone.S (unique to hppa). |
||
Joseph Myers
|
29c4f53e2a |
Move architecture shlib-versions files to Linux-specific directories.
Various architectures have files such as sysdeps/<arch>/shlib-versions whose contents are in fact entirely Linux-specific, relating only to the symbol / shared library versions for the port to Linux on that architecture, when any future port to a different OS on that architecture would use the symbol version of the glibc release it goes in, as standard for new ports. This patch moves such files under sysdeps/unix/sysv/linux/, merging in the contents of sysdeps/<arch>/nptl/shlib-versions in the process. The only bits not moved are those relating to libgcc_s versions, which don't appear OS-specific in the same way that glibc's symbol versions so. It deliberately does not change the regular expressions given for matching configurations in each file; some match only Linux although not Linux-specific, or match other OSes although Linux-specific. It is with a view to at least the following further cleanups: * Move architecture-specific content from the toplevel shlib-versions and nptl/shlib-versions into sysdeps shlib-versions files, so eliminating another difference between ex-ports and non-ex-ports architectures. * Likewise, for OS-specific content in shlib-versions files. * At that point, the first field in shlib-versions files (the regular expression matching a configuration triplet) should be redundant, so eliminate that field and leave shlib-versions selection working purely on a sysdeps basis (with limited use of %ifdef in shlib-versions files when needed) rather than having its own separate mechanism to select what configuration information is relevant. * Move the build of gnu/lib-names.h to a similar mechanism to that used for gnu/stubs.h (each library build installing a version of the header specifically for that build), so we can eliminate the duplication of soname information in the makefiles and get it purely from shlib-versions files again. There may be other cleanups possible as well (in particular, I'm not sure that all cases where the same "Earliest symbol set" information is repeated for many different libraries actually should need to repeat it rather than specifying it just once for DEFAULT for the given configuration, and separately specifying any non-default choices of soname). Tested x86_64 that the installed shared libraries are unchanged by this patch. * sysdeps/aarch64/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/aarch64/shlib-versions: ... here. * sysdeps/alpha/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/alpha/shlib-versions: ... here. * sysdeps/arm/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/arm/shlib-versions: ... here. * sysdeps/hppa/shlib-versions: Move all contents except for libgcc_s entry to ... * sysdeps/unix/sysv/linux/hppa/shlib-versions: ... here. Merge in entry from ... * sysdeps/hppa/nptl/shlib-versions: ... here. Remove file. * sysdeps/ia64/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/ia64/shlib-versions: ... here. Merge in entry from ... * sysdeps/ia64/nptl/shlib-versions: ... here. Remove file. * sysdeps/m68k/coldfire/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions: ... here. * sysdeps/microblaze/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/microblaze/shlib-versions: ... here. * sysdeps/mips/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/mips/shlib-versions: ... here. Merge in entry from ... * sysdeps/mips/nptl/shlib-versions: ... here. Remove file. * sysdeps/tile/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/tile/shlib-versions: ... here. * sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Merge in entry from ... * sysdeps/x86_64/64/shlib-versions: ... here. Remove file. * sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Merge in entry from ... * sysdeps/x86_64/x32/shlib-versions: ... here. Remove file. |
||
Roland McGrath
|
c0c6bac945 | Get rid of lll_robust_dead. |