| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* misc/getauxval.c [!HAVE_AUX_VECTOR] (__getauxval): Do not define
unused variable 'p'.
|
|
|
|
|
|
| |
RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG result
in compile-time warnings. Some of these flags are still used in
applications.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many headers are expected to expose a subset of the type definitions
in time.h. time.h has a whole bunch of messy logic for conditionally
defining some its types and structs, but, as best I can tell, this
has never worked 100%. In particular, __need_timespec is ineffective
if _TIME_H has already been defined, which means that if you compile
#include <time.h>
#include <sched.h>
with e.g. -fsyntax-only -std=c89 -Wall -Wsystem-headers, you will get
In file included from test.c:2:0:
/usr/include/sched.h:74:57: warning: "struct timespec" declared inside
parameter list will not be visible outside of this definition or declaration
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
^~~~~~~~
And if you want to _use_ sched_rr_get_interval in a TU compiled that
way, you're hosed.
This patch replaces all of that with small bits/types/TYPE.h headers
as introduced earlier. time.h and bits/time.h are now *much* simpler,
and a lot of other headers are slightly simpler.
* time/time.h, bits/time.h, sysdeps/unix/sysv/linux/bits/time.h:
Remove all logic conditional on __need macros. Move all the
conditionally defined types to their own headers...
* time/bits/types/clock_t.h: Define clock_t here.
* time/bits/types/clockid_t.h: Define clockid_t here.
* time/bits/types/struct_itimerspec.h: Define struct itimerspec here.
* time/bits/types/struct_timespec.h: Define struct timespec here.
* time/bits/types/struct_timeval.h: Define struct timeval here.
* time/bits/types/struct_tm.h: Define struct tm here.
* time/bits/types/time_t.h: Define time_t here.
* time/bits/types/timer_t.h: Define timer_t here.
* time/Makefile: Install the new headers.
* bits/resource.h, io/fcntl.h, io/sys/poll.h, io/sys/stat.h
* io/utime.h, misc/sys/select.h, posix/sched.h, posix/sys/times.h
* posix/sys/types.h, resolv/netdb.h, rt/aio.h, rt/mqueue.h
* signal/signal.h, pthread/semaphore.h, sysdeps/nptl/pthread.h
* sysdeps/unix/sysv/linux/alpha/bits/resource.h
* sysdeps/unix/sysv/linux/alpha/sys/acct.h
* sysdeps/unix/sysv/linux/bits/resource.h
* sysdeps/unix/sysv/linux/bits/timex.h
* sysdeps/unix/sysv/linux/mips/bits/resource.h
* sysdeps/unix/sysv/linux/net/ppp_defs.h
* sysdeps/unix/sysv/linux/sparc/bits/resource.h
* sysdeps/unix/sysv/linux/sys/acct.h
* sysdeps/unix/sysv/linux/sys/timerfd.h
* sysvipc/sys/msg.h, sysvipc/sys/sem.h, sysvipc/sys/shm.h
* time/sys/time.h, time/sys/timeb.h
Use the new bits/types headers.
* include/time.h: Remove __need logic.
* include/bits/time.h
* include/bits/types/clock_t.h, include/bits/types/clockid_t.h
* include/bits/types/time_t.h, include/bits/types/timer_t.h
* include/bits/types/struct_itimerspec.h
* include/bits/types/struct_timespec.h
* include/bits/types/struct_timeval.h
* include/bits/types/struct_tm.h:
New wrapper headers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some headers did not include all of their prerequisite headers.
* rpcsvc/nislib.h: Include rpcsvc/nis.h.
* sysdeps/unix/sysv/linux/netrose/rose.h:
Include sys/socket.h and netax25/ax25.h.
<endian.h> only defines BYTE_ORDER, BIG_ENDIAN, LITTLE_ENDIAN,
etc. under __USE_MISC; glibc's headers should use __BYTE_ORDER,
__BIG_ENDIAN, __LITTLE_ENDIAN, etc. instead.
* inet/netinet/icmp6.h, inet/netinet/ip6.h
* resolv/arpa/nameser_compat.h:
Use __BYTE_ORDER etc. instead of BYTE_ORDER etc.
sys/types.h only conditionally defines caddr_t and clockid_t.
* sysdeps/unix/sysv/linux/sys/quota.h:
Use __caddr_t instead of caddr_t.
* sysdeps/unix/sysv/linux/sys/timerfd.h:
Use __clockid_t instead of clockid_t.
Remove a #warning that was the sole actual problem with using sys/ipc.h
without _GNU_SOURCE/_XOPEN_SOURCE.
* sysvipc/sys/ipc.h: Remove unnecessary #warning.
_LIBC, __USE_XOPEN2K8, and __STDC_VERSION__ are not always defined.
It seems to me that _LIBC should not appear in installed headers, but
avoiding that for argp specifically would require more surgery than
feels appropriate for this patch set. It's possible that
"#ifdef _LIBC" would be sufficient, but I wanted to be conservative.
All three versions of bits/socket.h want to know whether __flexarr
will produce a real flexible array member -- specifically, one that
doesn't alter sizeof(the structure containing it). They were testing
for this with a complicated #if condition that did not agree with
sys/cdefs.h and that tripped -Wundef warnings under -std=c90.
I added a new macro to sys/cdefs.h, __glibc_c99_flexarr_available,
which reveals exactly what these headers want to know. I also took
the opportunity to flatten the rather messy conditional nest defining
__flexarr.
* argp/argp.h: Check whether _LIBC is defined before expanding it.
* posix/glob.h: Check whether __USE_XOPEN2K8 is defined instead
of expanding it.
* misc/sys/cdefs.h: Tidy up conditional nest defining __flexarr.
Define __glibc_c99_flexarr_available to 1 when the compiler
supports C99-compatible flexible array members, 0 otherwise.
* sysdeps/unix/sysv/linux/bits/socket.h
* sysdeps/mach/hurd/bits/socket.h
* bits/socket.h: Use __glibc_c99_flexarr_available in
definitions of struct cmsghdr and CMSG_DATA.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A tsearch red-black tree node contains 3 pointers (key, left, right)
and 1 bit to hold the red-black flag. When allocating new nodes
this 1 bit is expanded to a full word. Causing the overhead per node
to be 3 times the key size.
We can reduce this overhead to just 2 times the key size.
malloc returns naturally aligned memory. All nodes are internally
allocated with malloc and the left/right node pointers are used
as implementation details. So we can use the low bits of the
left/right node pointers to store extra information.
Replace all direct accesses of the struct node_t node pointers and
red-black value with defines that take care of the red-black flag in
the low bit of the (left) node pointer. This reduces the size of the
nodes on 32-bit systems from 16 to 12 bytes and on 64-bit systems
from 32 to 24 bytes.
Also fix a call to CHECK_TREE so the code can be build (and tested)
with DEBUGGING defined again.
V2 changes:
- Add assert after malloc to catch any odd pointers from bad
interposed mallocs.
- Rename implementation flag to USE_MALLOC_LOW_BIT.
ChangeLog:
* misc/tsearch.c (struct node_t): Reduce to 3 pointers if
USE_MALLOC_LOW_BIT. Define pointer/value accessors.
(check_tree_recurse): Use newly defined accessors.
(check_tree): Likewise.
(maybe_split_for_insert): Likewise.
(__tfind): Likewise.
(__tdelete): Likewise.
(trecurse): Likewise.
(tdestroy_recurse): Likewise.
(__tsearch): Likewise. And add asserts for malloc alignment.
(__twalk): Cast root to node in case CHECK_TREE is defined.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The macros defined by <sys/sysmacros.h> are not part of POSIX nor XSI, and
their names frequently collide with user code; see for instance glibc bug
19239 and Red Hat bug 130601. <stdlib.h> includes <sys/types.h> under
_GNU_SOURCE, and C++ code presently cannot avoid being compiled under
_GNU_SOURCE, exacerbating the problem.
* NEWS: Inclusion of <sys/sysmacros.h> by <sys/types.h> is deprecated.
* misc/sys/sysmacros.h: If __SYSMACROS_DEPRECATED_INCLUSION is defined,
define major, minor, and makedev to issue deprecation warnings on use.
If __SYSMACROS_DEPRECATED_INCLUSION is *not* defined, suppress
previously-activated deprecation warnings for these macros and prevent
subsequent inclusions of this header from having any effect.
* posix/sys/types.h: Define __SYSMACROS_DEPRECATED_INCLUSION before
including <sys/sysmacros.h>, and undefine it again afterward.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Presently sys/sysmacros.h is entirely defined in sysdeps. This would
mean that the deprecation logic coming up in the next patch would have
to be written twice (in generic/ and unix/sysv/linux/). To avoid that,
hoist all but the unavoidably system-dependent logic to misc/, leaving a
bits/ header behind. This also promotes the Linux-specific encoding of
dev_t, which accommodates 32-bit major and minor numbers in a 64-bit dev_t,
to generic, as glibc's dev_t is always 64 bits wide.
The former Linux implementation used inline functions to avoid evaluating
arguments more than once. After this change, all platforms use inline
functions, which means that three new symbols are added to the generic ABI.
(These symbols are in the user namespace, which is how they have always
been on Linux. They begin with "gnu_dev_", so collisions with user code
are pretty unlikely.)
New ports henceforth need only provide a bits/sysmacros.h defining
internal macros __SYSMACROS_{DECLARE,DEFINE}_{MAJOR,MINOR,MAKEDEV}.
This is only necessary if the kernel encoding is incompatible with
the now-generic encoding (for instance, it would be necessary for
FreeBSD).
While I was at it, I added a basic round-trip test for these functions.
* sysdeps/generic/sys/sysmacros.h: Delete file.
* sysdeps/unix/sysv/linux/makedev.c: Delete file.
* sysdeps/unix/sysv/linux/sys/sysmacros.h: Move file ...
* bits/sysmacros.h: ... here; this encoding is now the generic
encoding. Now defines only the following macros:
__SYSMACROS_DECLARE_MAJOR, __SYSMACROS_DEFINE_MAJOR,
__SYSMACROS_DECLARE_MINOR, __SYSMACROS_DEFINE_MINOR,
__SYSMACROS_DECLARE_MAKEDEV, __SYSMACROS_DEFINE_MAKEDEV.
* misc/sys/sysmacros.h, misc/makedev.c: New files that use
bits/sysmacros.h and the above new macros to generate the
public implementations of major, minor, and makedev.
* misc/tst-makedev.c: New test.
* include/sys/sysmacros.h: New wrapper.
* misc/Makefile (headers): Add sys/sysmacros.h, bits/sysmacros.h.
(routines): Add makedev.
(tests): Add tst-makedev.
* misc/Versions [GLIBC_2.25]: Add gnu_dev_major, gnu_dev_minor,
gnu_dev_makedev.
* posix/Makefile (headers): Remove sys/sysmacros.h.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Remove makedev.
* sysdeps/arm/nacl/libc.abilist: Add GLIBC_2.25,
gnu_dev_major, gnu_dev_makedev, gnu_dev_minor.
* sysdeps/unix/sysv/linux/aarch64/libc.abilist
* sysdeps/unix/sysv/linux/alpha/libc.abilist
* sysdeps/unix/sysv/linux/arm/libc.abilist
* sysdeps/unix/sysv/linux/hppa/libc.abilist
* sysdeps/unix/sysv/linux/i386/libc.abilist
* sysdeps/unix/sysv/linux/ia64/libc.abilist
* sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
* sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
* sysdeps/unix/sysv/linux/microblaze/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
* sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
* sysdeps/unix/sysv/linux/nios2/libc.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist
* sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
* sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
* sysdeps/unix/sysv/linux/sh/libc.abilist
* sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
* sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist
* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist
* sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist
* sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
* sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist:
Add GLIBC_2.25.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are three new macros added to features.h and sys/cdefs.h:
* __glibc_clang_prereq: just like __GNUC_PREREQ, but for clang.
* __glibc_clang_has_extension: wraps clang's intrinsic __has_extension.
Writing "#if defined __clang__ && __has_extension (...)" doesn't work,
because compilers other than clang will object to the unknown macro
__has_extension even though they don't need to evaluate it.
Instead, write "#if __glibc_clang_has_extension (...)".
* __attribute_deprecated_msg__(msg): like __attribute_deprecated__, but
if possible, prints a message.
The first two are used to define the third. The third will be used
in subsequent patches.
* include/features.h (__glibc_clang_prereq): New macro.
* misc/sys/cdefs.h (__glibc_clang_has_extension)
(__attribute_deprecated_msg__): New macros.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The p{read,write}v{64} consolidation patch [1] added a wrong guard
for LO_HI_LONG definition. It currently uses both
'__WORDSIZE == 64' and 'defined __ASSUME_WORDSIZE64_ILP32' to set
the value to be passed in one argument, otherwise it will be split
in two.
However it fails on MIPS64n32 where syscalls n32 uses the compat
implementation in the kernel meaning the off_t arguments are passed
in two separate registers.
GLIBC already defines a macro for such cases (__OFF_T_MATCHES_OFF64_T),
so this patch uses it instead.
Checked on x86_64, i686, x32, aarch64, armhf, and s390.
* sysdeps/unix/sysv/linux/sysdep.h
[__WORDSIZE == 64 || __ASSUME_WORDSIZE64_ILP32] (LO_HI_LONG): Remove
guards.
* misc/tst-preadvwritev-common.c: New file.
* misc/tst-preadvwritev.c: Use tst-preadvwritev-common.c.
* misc/tst-preadvwritev64.c: Use tst-preadwritev-common.c and add
a check for files larger than 2GB.
[1] 4751bbe2ad4d1bfa05774e29376d553ecfe563b0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the p{readv,writev}{64} consolidation implementation
from commits 4e77815 and af5fdf5. Different from pread/pwrite
implementation, preadv/pwritev implementation does not require
__ALIGNMENT_ARG because kernel syscall prototypes define
the high and low part of the off_t, if it is the case, directly
(different from pread/pwrite where the architecture ABI for passing
64-bit values must be in consideration for passsing the arguments).
It also adds some basic tests for preadv/pwritev.
Tested on x86_64, i686, and armhf.
* misc/Makefile (tests): Add tst-preadvwritev and tst-preadvwritev64.
* misc/tst-preadvwritev.c: New file.
* misc/tst-preadvwritev64.c: Likewise.
* sysdeps/unix/sysv/linux/preadv.c (preadv): Remove SYSCALL_LL{64}
usage.
* sysdeps/unix/sysv/linux/preadv64.c (preadv64): Likewise.
* sysdeps/unix/sysv/linux/pwritev.c (pwritev): Likewise.
* sysdeps/unix/sysv/linux/pwritev64.c (pwritev64): Likewise.
* sysdeps/unix/sysv/linux/sysdep.h (LO_HI_LONG): New macro.
|
|
|
|
|
|
| |
The Linux kernel defines __always_inline in stddef.h (283d7573),
and it conflicts with the definition in misc/sys/cdefs.h. To fix
this we undefine it first and always use the glibc definition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch consolidates all the pwritev{64} implementation for Linux
in only one (sysdeps/unix/sysv/linux/pwritev{64}.c). It also removes the
syscall from the auto-generation using assembly macros.
It was based on previous pwrite/pwrite64 consolidation patch. The new macro
SYSCALL_LL{64} is used to handle the offset argument and alias is created
for __ASSUME_OFF_DIFF_OFF64 in case of pread64.
Checked on x86_64, i386, aarch64, and powerpc64le.
* misc/Makefile (CFLAGS-pwritev.c): New variable: add cancellation
required flags.
(CFLAGS-pwritev64.c): Likewise.
* sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev.c: Remove file.
* sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/pwritev64.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/pwritev.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/pwritev64.: Likwise.
* sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list (pwritev): Remove
syscall from auto-generation.
* sysdeps/unix/sysv/linux/pwritev.c: Rewrite implementation.
[WORDSIZE == 64] (pwritev64): Remove macro.
[!PWRITEV] (PWRITEV): Likewise.
[!PWRITEV] (PWRITEV_REPLACEMENT): Likewise.
[!PWRITEV] (PWRITE): Likewise.
[!PWRITEV] (OFF_T): Likewise.
[!__ASSUME_PWRITEV] (PWRITEV_REPLACEMENT): Likewise.
(LO_HI_LONG): Remove macro.
[__WORDSIZE != 64 || __ASSUME_OFF_DIFF_OFF64] (pwritev): Add function.
* sysdeps/unix/sysv/linux/pwritev64.c: Rewrite implementation.
(PWRITEV): Remove macro.
(PWRITEV_REPLACEMENTE): Likewise.
(PWRITE): Likewise.
(OFF_T): Likewise.
(pwritev64): New function.
* nptl/tst-cancel4.c (tf_writev): Add test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch consolidates all the preadv{64} implementation for Linux
in only one (sysdeps/unix/sysv/linux/preadv{64}.c). It also removes the
syscall from the auto-generation using assembly macros.
It was based on previous pread/pread64 consolidation patch. The new macro
SYSCALL_LL{64} is used to handle the offset argument and alias is created
for __ASSUME_OFF_DIFF_OFF64 in case of pread64.
Checked on x86_64, i386, aarch64, and powerpc64le.
* misc/Makefile (CFLAGS-preadv.c): New variable: add cancellation
required flags.
(CFLAGS-preadv64.c): Likewise.
* sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c: Remove file.
* sysdeps/unix/sysv/linux/generic/wordsize-32/preadv64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/n64/preadv64.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/preadv.c: Likewise.
* sysdeps/unix/sysv/linux/wordsize-64/preadv64.: Likwise.
* sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list (preadv): Remove
syscall from auto-generation.
* sysdeps/unix/sysv/linux/preadv.c: Rewrite implementation.
[WORDSIZE == 64] (preadv64): Remove macro.
[!PREADV] (PREADV): Likewise.
[!PREADV] (PREADV_REPLACEMENT): Likewise.
[!PREADV] (PREAD): Likewise.
[!PREADV] (OFF_T): Likewise.
[!__ASSUME_PREADV] (PREADV_REPLACEMENT): Likewise.
(LO_HI_LONG): Remove macro.
[__WORDSIZE != 64 || __ASSUME_OFF_DIFF_OFF64] (preadv): Add function.
* sysdeps/unix/sysv/linux/preadv64.c: Rewrite implementation.
(PREADV): Remove macro.
(PREADV_REPLACEMENTE): Likewise.
(PREAD): Likewise.
(OFF_T): Likewise.
(preadv64): New function.
* nptl/tst-cancel4.c (tf_preadv): Add test.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For UNIX98 and older standards, sys/time.h should not define struct
timespec, but does so via the inclusion of sys/select.h (which is a
new header in the 2001 edition of POSIX, and defines struct timespec
because of the declaration of pselect, a new function in the 2001
edition of POSIX). In turn, this affects some other headers that
themselves include sys/time.h.
This patch fixes this by conditioning the __need_timespec definition
in sys/select.h on __USE_XOPEN2K, the same condition used there for
the declaration of pselect (this has no effect on direct uses of
sys/select.h with feature test macros for any standard that includes
that header, since such standards result in __USE_XOPEN2K being
defined).
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
[BZ #20041]
* misc/sys/select.h (__need_timespec): Only define if
[__USE_XOPEN2K].
* conform/Makefile (test-xfail-XPG4/sys/time.h/conform): Remove
variable.
(test-xfail-XPG4/utmpx.h/conform): Likewise.
(test-xfail-UNIX98/sys/time.h/conform): Likewise.
(test-xfail-UNIX98/utmpx.h/conform): Likewise.
|
|
|
|
|
|
|
| |
* sysdeps/generic/ldsodefs.h (struct rtld_global_ro)
[!HAVE_AUX_VECTOR]: Do not define _dl_auxv field.
* misc/getauxval.c (__getauxval) [!HAVE_AUX_VECTOR]: Do not go through
GLRO(dl_auxv) list.
|
|
|
|
| |
It is needed for UINT_MAX.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch converts various miscellaneous functions definitions in
glibc, found with grep and not covered by my previous scripted
conversions, from old-style K&R to prototype-style. These changes
were made manually. This is not necessarily exhaustive as formatting
variants may have prevented my grep from finding some such
definitions.
Regarding the changes to files from GMP, they may originally have been
omitted when removing __STDC__ conditionals because of the files
coming from another package, but (a) GMP no longer has __STDC__
conditionals there anyway and (b) we don't try to keep these files
verbatim in sync with GMP (and there are licensing differences), so
making the change to them in glibc seems reasonable.
Tested for x86_64 and x86 (testsuite - this patch affects files
containing assertions).
* debug/fortify_fail.c (__fortify_fail): Convert to
prototype-style function definition. Use internal_function.
* libio/genops.c (save_for_backup): Convert to prototype-style
function definition.
* libio/wgenops.c (save_for_wbackup): Likewise.
* login/grantpt.c (grantpt): Likewise.
* login/ptsname.c (ptsname): Likewise.
(__ptsname_r): Likewise.
* login/unlockpt.c (unlockpt): Likewise.
* mach/msgserver.c (__mach_msg_server): Likewise.
* misc/efgcvt.c (__APPEND (FUNC_PREFIX, fcvt)): Likewise.
(__APPEND (FUNC_PREFIX, ecvt)): Likewise.
(__APPEND (FUNC_PREFIX, gcvt)): Likewise.
* misc/efgcvt_r.c (__APPEND (FUNC_PREFIX, fcvt_r)): Likewise.
(__APPEND (FUNC_PREFIX, ecvt_r)): Likewise.
* nptl/cleanup_compat.c (_pthread_cleanup_push): Likewise.
* nptl/cleanup_defer_compat.c (_pthread_cleanup_push_defer):
Likewise.
* nptl/libc_pthread_init.c (__libc_pthread_init): Likewise. Use
internal_function.
* nptl/pthread_atfork.c (__pthread_atfork): Convert to
prototype-style function definition.
* nptl/pthread_create.c (__pthread_create_2_1): Likewise.
[SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)]
(__pthread_create_2_0): Likewise.
* nptl/pthread_key_create.c (__pthread_key_create): Likewise.
* nptl/register-atfork.c (__register_atfork): Likewise.
* posix/glob.c (glob): Likewise.
* posix/regcomp.c (re_comp): Likewise.
* posix/regexec.c (re_exec): Likewise.
* stdlib/add_n.c [__STDC__]: Make code unconditional.
[!__STDC__]: Remove conditional code.
* stdlib/cmp.c [__STDC__]: Make code unconditional.
[!__STDC__]: Remove conditional code.
* stdlib/divmod_1.c [__STDC__]: Make code unconditional.
[!__STDC__]: Remove conditional code.
* stdlib/divrem.c [__STDC__]: Make code unconditional.
[!__STDC__]: Remove conditional code.
* stdlib/lshift.c [__STDC__]: Make code unconditional.
[!__STDC__]: Remove conditional code.
* stdlib/mod_1.c [__STDC__]: Make code unconditional.
[!__STDC__]: Remove conditional code.
* stdlib/mul.c [__STDC__]: Make code unconditional.
[!__STDC__]: Remove conditional code.
* stdlib/mul_n.c [__STDC__]: Make code unconditional.
[!__STDC__]: Remove conditional code.
* stdlib/rshift.c [__STDC__]: Make code unconditional.
[!__STDC__]: Remove conditional code.
* stdlib/strtod.c (INTERNAL (STRTOF)): Convert to prototype-style
function definition.
(STRTOF): Likewise.
* stdlib/strtod_l.c (__STRTOF): Likewise.
* stdlib/strtol.c (INTERNAL (strtol)): Likewise.
* stdlib/strtol_l.c (INTERNAL (__strtol_l)): Likewise.
(__strtol_l): Likewise.
* stdlib/sub_n.c [__STDC__]: Make code unconditional.
[!__STDC__]: Remove conditional code.
* string/memrchr.c (MEMRCHR): Convert to prototype-style function
definition.
* string/strcasecmp.c (LOCALE_PARAM_DECL): Remove macro.
[USE_IN_EXTENDED_LOCALE_MODEL] (LOCALE_PARAM): Include argument
type.
(__strcasecmp): Convert to prototype-style function definition.
* string/strncase.c (LOCALE_PARAM_DECL): Remove macro.
[USE_IN_EXTENDED_LOCALE_MODEL] (LOCALE_PARAM): Include argument
type.
(__strncasecmp): Convert to prototype-style function definition.
* sunrpc/pm_getport.c (__libc_rpc_getport): Likewise.
* sunrpc/xdr.c (xdr_union): Likewise.
* sunrpc/xdr_array.c (xdr_array): Likewise.
* sunrpc/xdr_ref.c (xdr_reference): Likewise.
* sysdeps/m68k/m680x0/fpu/s_atan.c (__CONCATX(__,FUNC)): Likewise.
* sysdeps/m68k/m680x0/fpu/s_isinf.c (__CONCATX(__,FUNC)):
Likewise.
* sysdeps/m68k/m680x0/fpu/s_scalbn.c (__CONCATX(__scalbn,suffix):
Likewise.
* sysdeps/m68k/m680x0/fpu/s_sincos.c (CONCATX(__,FUNC)): Likewise.
* sysdeps/unix/sysv/linux/i386/scandir64.c (__old_scandir64):
Likewise.
* time/strftime_l.c (LOCALE_PARAM_DECL): Remove macro.
(LOCALE_PARAM_PROTO): Likewise.
[_LIBC && USE_IN_EXTENDED_LOCALE_MODEL] (LOCALE_PARAM): Include
argument type.
(ut_argument_spec): Remove macro.
(ut_argument_spec_iso): Rename to ut_argument_spec.
(memcpy_lowcase): Use LOCALE_PARAM in declaration. Convert to
prototype-style function definition.
(memcpy_uppcase): Likewise.
(__strftime_internal): Likewise.
(my_strftime): Likewise.
* time/strptime_l.c (LOCALE_PARAM_PROTO): Remove macro.
(LOCALE_PARAM_DECL): Likewise.
[_LIBC] (LOCALE_PARAM): Include argument type.
(__strptime_internal): Convert to prototype-style function
definition.
(strptime): Likewise.
* wcsmbs/wcscasecmp.c (LOCALE_PARAM_DECL): Remove macro.
[USE_IN_EXTENDED_LOCALE_MODEL] (LOCALE_PARAM): Include argument
type.
(__wcscasecmp): Convert to prototype-style function definition.
* wcsmbs/wcsncase.c (LOCALE_PARAM_DECL): Remove macro.
[USE_IN_EXTENDED_LOCALE_MODEL] (LOCALE_PARAM): Include argument
type.
(__wcsncasecmp): Convert to prototype-style function definition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
assertions).
This mostly automatically-generated patch converts 113 function
definitions in glibc from old-style K&R to prototype-style. Following
my other recent such patches, this one deals with the case of function
definitions in files that either contain assertions or where grep
suggested they might contain assertions - and thus where it isn't
possible to use a simple object code comparison as a sanity check on
the correctness of the patch, because line numbers are changed.
A few such automatically-generated changes needed to be supplemented
by manual changes for the result to compile. openat64 had a prototype
declaration with "..." but an old-style definition in
sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the
generated prototype in the definition (I've filed
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> for diagnosing
such cases in GCC; the old state was undefined behavior not requiring
a diagnostic, but one seems a good idea). In addition, as Florian has
noted regparm attribute mismatches between declaration and definition
are only diagnosed for prototype definitions, and five functions
needed internal_function added to their definitions (in the case of
__pthread_mutex_cond_lock, via the macro definition of
__pthread_mutex_lock) to compile on i386.
After this patch is in, remaining old-style definitions are probably
most readily fixed manually before we can turn on
-Wold-style-definition for all builds.
Tested for x86_64 and x86 (testsuite).
* crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style
function definition.
* crypt/sha256-crypt.c (__sha256_crypt_r): Likewise.
* crypt/sha512-crypt.c (__sha512_crypt_r): Likewise.
* debug/backtracesyms.c (__backtrace_symbols): Likewise.
* elf/dl-minimal.c (_itoa): Likewise.
* hurd/hurdmalloc.c (malloc): Likewise.
(free): Likewise.
(realloc): Likewise.
* inet/inet6_option.c (inet6_option_space): Likewise.
(inet6_option_init): Likewise.
(inet6_option_append): Likewise.
(inet6_option_alloc): Likewise.
(inet6_option_next): Likewise.
(inet6_option_find): Likewise.
* io/ftw.c (FTW_NAME): Likewise.
(NFTW_NAME): Likewise.
(NFTW_NEW_NAME): Likewise.
(NFTW_OLD_NAME): Likewise.
* libio/iofwide.c (_IO_fwide): Likewise.
* libio/strops.c (_IO_str_init_static_internal): Likewise.
(_IO_str_init_static): Likewise.
(_IO_str_init_readonly): Likewise.
(_IO_str_overflow): Likewise.
(_IO_str_underflow): Likewise.
(_IO_str_count): Likewise.
(_IO_str_seekoff): Likewise.
(_IO_str_pbackfail): Likewise.
(_IO_str_finish): Likewise.
* libio/wstrops.c (_IO_wstr_init_static): Likewise.
(_IO_wstr_overflow): Likewise.
(_IO_wstr_underflow): Likewise.
(_IO_wstr_count): Likewise.
(_IO_wstr_seekoff): Likewise.
(_IO_wstr_pbackfail): Likewise.
(_IO_wstr_finish): Likewise.
* locale/programs/localedef.c (normalize_codeset): Likewise.
* locale/programs/locarchive.c (add_locale_to_archive): Likewise.
(add_locales_to_archive): Likewise.
(delete_locales_from_archive): Likewise.
* malloc/malloc.c (__libc_mallinfo): Likewise.
* math/gen-auto-libm-tests.c (init_fp_formats): Likewise.
* misc/tsearch.c (__tfind): Likewise.
* nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise.
* nptl/pthread_attr_getdetachstate.c
(__pthread_attr_getdetachstate): Likewise.
* nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize):
Likewise.
* nptl/pthread_attr_getinheritsched.c
(__pthread_attr_getinheritsched): Likewise.
* nptl/pthread_attr_getschedparam.c
(__pthread_attr_getschedparam): Likewise.
* nptl/pthread_attr_getschedpolicy.c
(__pthread_attr_getschedpolicy): Likewise.
* nptl/pthread_attr_getscope.c (__pthread_attr_getscope):
Likewise.
* nptl/pthread_attr_getstack.c (__pthread_attr_getstack):
Likewise.
* nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr):
Likewise.
* nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize):
Likewise.
* nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise.
(__pthread_attr_init_2_0): Likewise.
* nptl/pthread_attr_setdetachstate.c
(__pthread_attr_setdetachstate): Likewise.
* nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize):
Likewise.
* nptl/pthread_attr_setinheritsched.c
(__pthread_attr_setinheritsched): Likewise.
* nptl/pthread_attr_setschedparam.c
(__pthread_attr_setschedparam): Likewise.
* nptl/pthread_attr_setschedpolicy.c
(__pthread_attr_setschedpolicy): Likewise.
* nptl/pthread_attr_setscope.c (__pthread_attr_setscope):
Likewise.
* nptl/pthread_attr_setstack.c (__pthread_attr_setstack):
Likewise.
* nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr):
Likewise.
* nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize):
Likewise.
* nptl/pthread_condattr_setclock.c (pthread_condattr_setclock):
Likewise.
* nptl/pthread_create.c (__find_in_stack_list): Likewise.
* nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise.
* nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to
use internal_function.
* nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to
prototype-style function definition.
* nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise.
(__pthread_mutex_cond_lock_adjust): Likewise. Use
internal_function.
* nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock):
Convert to prototype-style function definition.
* nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock):
Likewise.
* nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt):
Likewise.
(__pthread_mutex_unlock): Likewise.
* nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise.
* nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise.
* nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise.
* nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise.
* nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise.
* nss/makedb.c (process_input): Likewise.
* posix/fnmatch.c (__strchrnul): Likewise.
(__wcschrnul): Likewise.
(fnmatch): Likewise.
* posix/fnmatch_loop.c (FCT): Likewise.
* posix/glob.c (globfree): Likewise.
(__glob_pattern_type): Likewise.
(__glob_pattern_p): Likewise.
* posix/regcomp.c (re_compile_pattern): Likewise.
(re_set_syntax): Likewise.
(re_compile_fastmap): Likewise.
(regcomp): Likewise.
(regerror): Likewise.
(regfree): Likewise.
* posix/regexec.c (regexec): Likewise.
(re_match): Likewise.
(re_search): Likewise.
(re_match_2): Likewise.
(re_search_2): Likewise.
(re_search_stub): Likewise. Use internal_function
(re_copy_regs): Likewise.
(re_set_registers): Convert to prototype-style function
definition.
(prune_impossible_nodes): Likewise. Use internal_function.
* resolv/inet_net_pton.c (inet_net_pton): Convert to
prototype-style function definition.
(inet_net_pton_ipv4): Likewise.
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise.
* sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise.
* sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise.
* sysdeps/pthread/timer_delete.c (timer_delete): Likewise.
* sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise.
Make variadic.
* time/strptime_l.c (localtime_r): Convert to prototype-style
function definition.
* wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise.
* wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise.
* wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise.
* wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in one K&R parameter declaration).
This automatically-generated patch converts 29 function definitions in
glibc (including one in an example in the manual) from old-style K&R
to prototype-style. Following my other recent such patches, this one
deals with the case of function definitions where one K&R parameter
declaration declares multiple parameters, as in:
void
foo (a, b)
int a, *b;
{
}
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
* crypt/crypt.c (_ufc_doit_r): Convert to prototype-style function
definition.
(_ufc_doit_r): Likewise.
* crypt/crypt_util.c (_ufc_copymem): Likewise.
(_ufc_output_conversion_r): Likewise.
* inet/inet_mkadr.c (__inet_makeaddr): Likewise.
* inet/rcmd.c (rcmd_af): Likewise.
(rcmd): Likewise.
(ruserok_af): Likewise.
(ruserok): Likewise.
(ruserok2_sa): Likewise.
(ruserok_sa): Likewise.
(iruserok_af): Likewise.
(iruserok): Likewise.
(__ivaliduser): Likewise.
(__validuser2_sa): Likewise.
* inet/rexec.c (rexec_af): Likewise.
(rexec): Likewise.
* inet/ruserpass.c (ruserpass): Likewise.
* locale/programs/xmalloc.c (xcalloc): Likewise.
* manual/examples/timeval_subtract.c (timeval_subtract): Likewise.
* math/w_drem.c (__drem): Likewise.
* math/w_dremf.c (__dremf): Likewise.
* math/w_dreml.c (__dreml): Likewise.
* misc/daemon.c (daemon): Likewise.
* resolv/res_debug.c (p_fqnname): Likewise.
* stdlib/div.c (div): Likewise.
* string/memcmp.c (memcmp_bytes): Likewise.
* sunrpc/pmap_rmt.c (pmap_rmtcall): Likewise.
* sunrpc/svc_udp.c (svcudp_bufcreate): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This automatically-generated patch converts 24 function definitions in
glibc from old-style K&R to prototype-style. Following my other
recent such patches, this one deals with the case of functions with
array parameters.
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
* crypt/cert.c (main): Convert to prototype-style function
definition.
* io/pipe.c (__pipe): Likewise.
* io/pipe2.c (__pipe2): Likewise.
* misc/futimesat.c (futimesat): Likewise.
* misc/utimes.c (__utimes): Likewise.
* posix/execve.c (__execve): Likewise.
* posix/execvp.c (execvp): Likewise.
* posix/execvpe.c (__execvpe): Likewise.
* posix/fexecve.c (fexecve): Likewise.
* socket/socketpair.c (socketpair): Likewise.
* stdlib/drand48-iter.c (__drand48_iterate): Likewise.
* stdlib/erand48.c (erand48): Likewise.
* stdlib/erand48_r.c (__erand48_r): Likewise.
* stdlib/jrand48.c (jrand48): Likewise.
* stdlib/jrand48_r.c (__jrand48_r): Likewise.
* stdlib/lcong48.c (lcong48): Likewise.
* stdlib/lcong48_r.c (__lcong48_r): Likewise.
* stdlib/nrand48.c (nrand48): Likewise.
* stdlib/nrand48_r.c (__nrand48_r): Likewise.
* stdlib/seed48.c (seed48): Likewise.
* stdlib/seed48_r.c (__seed48_r): Likewise.
* sysdeps/mach/hurd/execve.c (__execve): Likewise.
* sysdeps/mach/hurd/utimes.c (__utimes): Likewise.
* sysdeps/unix/sysv/linux/fexecve.c (fexecve): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This fixes (harmless) data races when accessing the various
__have_sock_cloexec variables.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This automatically-generated patch converts 703 function definitions
in glibc from old-style K&R to prototype-style.
This conversion is deliberately simplistic, excluding any tricky cases
as even a patch covering only simple cases is still very large.
Currently excluded are: sysdeps files (to improve test coverage for
the initial patch); files containing assertions (to avoid line number
changes so that generated libraries can be compared); any cases where
the generated function declaration would involve lines over 79
characters and so need to be wrapped; any cases with array parameters
or other cases where parameter declarators don't end with the
parameter name; any other cases that my script didn't parse.
I didn't try to make the ChangeLog generation indicate when function
definitions are conditional; it just lists the functions changed
without regard to that.
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
* crypt/cert.c (good_bye): Convert to prototype-style function
definition.
(get8): Likewise.
(put8): Likewise.
* crypt/crypt-entry.c (crypt): Likewise.
(__fcrypt): Likewise.
* crypt/crypt_util.c (_ufc_prbits): Likewise.
(_ufc_set_bits): Likewise.
(_ufc_clearmem): Likewise.
(__init_des_r): Likewise.
(shuffle_sb): Likewise.
(shuffle_sb): Likewise.
(_ufc_setup_salt_r): Likewise.
(_ufc_mk_keytab_r): Likewise.
(_ufc_dofinalperm_r): Likewise.
(encrypt): Likewise.
(__setkey_r): Likewise.
(setkey): Likewise.
* crypt/md5.c (md5_init_ctx): Likewise.
(md5_read_ctx): Likewise.
(md5_finish_ctx): Likewise.
(md5_stream): Likewise.
(md5_buffer): Likewise.
(md5_process_bytes): Likewise.
* crypt/sha256.c (__sha256_init_ctx): Likewise.
(__sha256_finish_ctx): Likewise.
(__sha256_process_bytes): Likewise.
* crypt/sha512.c (__sha512_init_ctx): Likewise.
(__sha512_finish_ctx): Likewise.
(__sha512_process_bytes): Likewise.
* ctype/isctype.c (__isctype): Likewise.
* debug/backtrace.c (__backtrace): Likewise.
* debug/backtracesymsfd.c (__backtrace_symbols_fd): Likewise.
* debug/fgets_chk.c (__fgets_chk): Likewise.
* debug/fgets_u_chk.c (__fgets_unlocked_chk): Likewise.
* debug/memcpy_chk.c (__memcpy_chk): Likewise.
* debug/memmove_chk.c (MEMMOVE_CHK): Likewise.
* debug/mempcpy_chk.c (__mempcpy_chk): Likewise.
* debug/memset_chk.c (__memset_chk): Likewise.
* debug/strcat_chk.c (__strcat_chk): Likewise.
* debug/strncat_chk.c (__strncat_chk): Likewise.
* debug/strncpy_chk.c (__strncpy_chk): Likewise.
* debug/vsprintf_chk.c (_IO_str_chk_overflow): Likewise.
* dirent/dirfd.c (dirfd): Likewise.
* dirent/getdents.c (__getdirentries): Likewise.
* dirent/getdents64.c (getdirentries64): Likewise.
* dirent/rewinddir.c (__rewinddir): Likewise.
* dirent/seekdir.c (seekdir): Likewise.
* dirent/telldir.c (telldir): Likewise.
* elf/sln.c (makesymlinks): Likewise.
(makesymlink): Likewise.
* gmon/gmon.c (__moncontrol): Likewise.
(__monstartup): Likewise.
(write_hist): Likewise.
(write_call_graph): Likewise.
(write_bb_counts): Likewise.
* grp/setgroups.c (setgroups): Likewise.
* inet/inet_lnaof.c (inet_lnaof): Likewise.
* inet/inet_net.c (inet_network): Likewise.
* inet/inet_netof.c (inet_netof): Likewise.
* inet/rcmd.c (rresvport_af): Likewise.
(rresvport): Likewise.
* io/access.c (__access): Likewise.
* io/chdir.c (__chdir): Likewise.
* io/chmod.c (__chmod): Likewise.
* io/chown.c (__chown): Likewise.
* io/close.c (__close): Likewise.
* io/creat.c (creat): Likewise.
* io/creat64.c (creat64): Likewise.
* io/dup.c (__dup): Likewise.
* io/dup2.c (__dup2): Likewise.
* io/dup3.c (__dup3): Likewise.
* io/euidaccess.c (__euidaccess): Likewise.
* io/faccessat.c (faccessat): Likewise.
* io/fchmod.c (__fchmod): Likewise.
* io/fchmodat.c (fchmodat): Likewise.
* io/fchown.c (__fchown): Likewise.
* io/fchownat.c (fchownat): Likewise.
* io/fcntl.c (__fcntl): Likewise.
* io/flock.c (__flock): Likewise.
* io/fts.c (fts_load): Likewise.
(fts_close): Likewise.
(fts_read): Likewise.
(fts_set): Likewise.
(fts_children): Likewise.
(fts_build): Likewise.
(fts_stat): Likewise.
(fts_sort): Likewise.
(fts_alloc): Likewise.
(fts_lfree): Likewise.
(fts_palloc): Likewise.
(fts_padjust): Likewise.
(fts_maxarglen): Likewise.
(fts_safe_changedir): Likewise.
* io/getwd.c (getwd): Likewise.
* io/isatty.c (__isatty): Likewise.
* io/lchown.c (__lchown): Likewise.
* io/link.c (__link): Likewise.
* io/linkat.c (linkat): Likewise.
* io/lseek.c (__libc_lseek): Likewise.
* io/mkdir.c (__mkdir): Likewise.
* io/mkdirat.c (mkdirat): Likewise.
* io/mkfifo.c (mkfifo): Likewise.
* io/mkfifoat.c (mkfifoat): Likewise.
* io/open.c (__libc_open): Likewise.
* io/open64.c (__libc_open64): Likewise.
* io/readlink.c (__readlink): Likewise.
* io/readlinkat.c (readlinkat): Likewise.
* io/rmdir.c (__rmdir): Likewise.
* io/symlink.c (__symlink): Likewise.
* io/symlinkat.c (symlinkat): Likewise.
* io/ttyname.c (ttyname): Likewise.
* io/ttyname_r.c (__ttyname_r): Likewise.
* io/umask.c (__umask): Likewise.
* io/unlink.c (__unlink): Likewise.
* io/unlinkat.c (unlinkat): Likewise.
* io/utime.c (utime): Likewise.
* libio/clearerr.c (clearerr): Likewise.
* libio/clearerr_u.c (clearerr_unlocked): Likewise.
* libio/feof.c (_IO_feof): Likewise.
* libio/feof_u.c (feof_unlocked): Likewise.
* libio/ferror.c (_IO_ferror): Likewise.
* libio/ferror_u.c (ferror_unlocked): Likewise.
* libio/filedoalloc.c (_IO_file_doallocate): Likewise.
* libio/fileno.c (__fileno): Likewise.
* libio/fputc.c (fputc): Likewise.
* libio/fputc_u.c (fputc_unlocked): Likewise.
* libio/fputwc.c (fputwc): Likewise.
* libio/fputwc_u.c (fputwc_unlocked): Likewise.
* libio/freopen.c (freopen): Likewise.
* libio/freopen64.c (freopen64): Likewise.
* libio/fseek.c (fseek): Likewise.
* libio/fseeko.c (fseeko): Likewise.
* libio/fseeko64.c (fseeko64): Likewise.
* libio/ftello.c (__ftello): Likewise.
* libio/ftello64.c (ftello64): Likewise.
* libio/fwide.c (fwide): Likewise.
* libio/genops.c (_IO_un_link): Likewise.
(_IO_link_in): Likewise.
(_IO_least_marker): Likewise.
(_IO_switch_to_main_get_area): Likewise.
(_IO_switch_to_backup_area): Likewise.
(_IO_switch_to_get_mode): Likewise.
(_IO_free_backup_area): Likewise.
(_IO_switch_to_put_mode): Likewise.
(__overflow): Likewise.
(__underflow): Likewise.
(__uflow): Likewise.
(_IO_setb): Likewise.
(_IO_doallocbuf): Likewise.
(_IO_default_underflow): Likewise.
(_IO_default_uflow): Likewise.
(_IO_default_xsputn): Likewise.
(_IO_sgetn): Likewise.
(_IO_default_xsgetn): Likewise.
(_IO_sync): Likewise.
(_IO_default_setbuf): Likewise.
(_IO_default_seekpos): Likewise.
(_IO_default_doallocate): Likewise.
(_IO_init): Likewise.
(_IO_old_init): Likewise.
(_IO_default_sync): Likewise.
(_IO_default_finish): Likewise.
(_IO_default_seekoff): Likewise.
(_IO_sputbackc): Likewise.
(_IO_sungetc): Likewise.
(_IO_set_column): Likewise.
(_IO_set_column): Likewise.
(_IO_adjust_column): Likewise.
(_IO_get_column): Likewise.
(_IO_init_marker): Likewise.
(_IO_remove_marker): Likewise.
(_IO_marker_difference): Likewise.
(_IO_marker_delta): Likewise.
(_IO_seekmark): Likewise.
(_IO_unsave_markers): Likewise.
(_IO_nobackup_pbackfail): Likewise.
(_IO_default_pbackfail): Likewise.
(_IO_default_seek): Likewise.
(_IO_default_stat): Likewise.
(_IO_default_read): Likewise.
(_IO_default_write): Likewise.
(_IO_default_showmanyc): Likewise.
(_IO_default_imbue): Likewise.
(_IO_iter_next): Likewise.
(_IO_iter_file): Likewise.
* libio/getc.c (_IO_getc): Likewise.
* libio/getwc.c (_IO_getwc): Likewise.
* libio/iofclose.c (_IO_new_fclose): Likewise.
* libio/iofdopen.c (_IO_new_fdopen): Likewise.
* libio/iofflush.c (_IO_fflush): Likewise.
* libio/iofflush_u.c (__fflush_unlocked): Likewise.
* libio/iofgetpos.c (_IO_new_fgetpos): Likewise.
* libio/iofgetpos64.c (_IO_new_fgetpos64): Likewise.
* libio/iofgets.c (_IO_fgets): Likewise.
* libio/iofgets_u.c (__fgets_unlocked): Likewise.
* libio/iofgetws.c (fgetws): Likewise.
* libio/iofgetws_u.c (fgetws_unlocked): Likewise.
* libio/iofopen64.c (_IO_fopen64): Likewise.
* libio/iofopncook.c (_IO_cookie_read): Likewise.
(_IO_cookie_write): Likewise.
(_IO_cookie_seek): Likewise.
(_IO_cookie_close): Likewise.
(_IO_cookie_seekoff): Likewise.
(_IO_old_cookie_seek): Likewise.
* libio/iofputs.c (_IO_fputs): Likewise.
* libio/iofputs_u.c (__fputs_unlocked): Likewise.
* libio/iofputws.c (fputws): Likewise.
* libio/iofputws_u.c (fputws_unlocked): Likewise.
* libio/iofread.c (_IO_fread): Likewise.
* libio/iofread_u.c (__fread_unlocked): Likewise.
* libio/iofsetpos.c (_IO_new_fsetpos): Likewise.
* libio/iofsetpos64.c (_IO_new_fsetpos64): Likewise.
* libio/ioftell.c (_IO_ftell): Likewise.
* libio/iofwrite.c (_IO_fwrite): Likewise.
* libio/iogetdelim.c (_IO_getdelim): Likewise.
* libio/iogets.c (_IO_gets): Likewise.
* libio/iopadn.c (_IO_padn): Likewise.
* libio/iopopen.c (_IO_new_proc_open): Likewise.
(_IO_new_popen): Likewise.
(_IO_new_proc_close): Likewise.
* libio/ioputs.c (_IO_puts): Likewise.
* libio/ioseekoff.c (_IO_seekoff_unlocked): Likewise.
(_IO_seekoff): Likewise.
* libio/ioseekpos.c (_IO_seekpos_unlocked): Likewise.
(_IO_seekpos): Likewise.
* libio/iosetbuffer.c (_IO_setbuffer): Likewise.
* libio/iosetvbuf.c (_IO_setvbuf): Likewise.
* libio/ioungetc.c (_IO_ungetc): Likewise.
* libio/ioungetwc.c (ungetwc): Likewise.
* libio/iovdprintf.c (_IO_vdprintf): Likewise.
* libio/iovsscanf.c (_IO_vsscanf): Likewise.
* libio/iowpadn.c (_IO_wpadn): Likewise.
* libio/libc_fatal.c (__libc_fatal): Likewise.
* libio/memstream.c (__open_memstream): Likewise.
(_IO_mem_sync): Likewise.
(_IO_mem_finish): Likewise.
* libio/oldfileops.c (_IO_old_file_init): Likewise.
(_IO_old_file_close_it): Likewise.
(_IO_old_file_finish): Likewise.
(_IO_old_file_fopen): Likewise.
(_IO_old_file_attach): Likewise.
(_IO_old_file_setbuf): Likewise.
(_IO_old_do_write): Likewise.
(old_do_write): Likewise.
(_IO_old_file_underflow): Likewise.
(_IO_old_file_overflow): Likewise.
(_IO_old_file_sync): Likewise.
(_IO_old_file_seekoff): Likewise.
(_IO_old_file_write): Likewise.
(_IO_old_file_xsputn): Likewise.
* libio/oldiofclose.c (_IO_old_fclose): Likewise.
* libio/oldiofdopen.c (_IO_old_fdopen): Likewise.
* libio/oldiofgetpos.c (_IO_old_fgetpos): Likewise.
* libio/oldiofgetpos64.c (_IO_old_fgetpos64): Likewise.
* libio/oldiofopen.c (_IO_old_fopen): Likewise.
* libio/oldiofsetpos.c (_IO_old_fsetpos): Likewise.
* libio/oldiofsetpos64.c (_IO_old_fsetpos64): Likewise.
* libio/oldiopopen.c (_IO_old_proc_open): Likewise.
(_IO_old_popen): Likewise.
(_IO_old_proc_close): Likewise.
* libio/oldpclose.c (__old_pclose): Likewise.
* libio/pclose.c (__new_pclose): Likewise.
* libio/peekc.c (_IO_peekc_locked): Likewise.
* libio/putc.c (_IO_putc): Likewise.
* libio/putc_u.c (putc_unlocked): Likewise.
* libio/putchar.c (putchar): Likewise.
* libio/putchar_u.c (putchar_unlocked): Likewise.
* libio/putwc.c (putwc): Likewise.
* libio/putwc_u.c (putwc_unlocked): Likewise.
* libio/putwchar.c (putwchar): Likewise.
* libio/putwchar_u.c (putwchar_unlocked): Likewise.
* libio/rewind.c (rewind): Likewise.
* libio/setbuf.c (setbuf): Likewise.
* libio/setlinebuf.c (setlinebuf): Likewise.
* libio/vasprintf.c (_IO_vasprintf): Likewise.
* libio/vscanf.c (_IO_vscanf): Likewise.
* libio/vsnprintf.c (_IO_strn_overflow): Likewise.
* libio/vswprintf.c (_IO_wstrn_overflow): Likewise.
* libio/wfiledoalloc.c (_IO_wfile_doallocate): Likewise.
* libio/wgenops.c (_IO_least_wmarker): Likewise.
(_IO_switch_to_main_wget_area): Likewise.
(_IO_switch_to_wbackup_area): Likewise.
(_IO_wsetb): Likewise.
(_IO_wdefault_pbackfail): Likewise.
(_IO_wdefault_finish): Likewise.
(_IO_wdefault_uflow): Likewise.
(__woverflow): Likewise.
(__wuflow): Likewise.
(__wunderflow): Likewise.
(_IO_wdefault_xsputn): Likewise.
(_IO_wdefault_xsgetn): Likewise.
(_IO_wdoallocbuf): Likewise.
(_IO_wdefault_doallocate): Likewise.
(_IO_switch_to_wget_mode): Likewise.
(_IO_free_wbackup_area): Likewise.
(_IO_switch_to_wput_mode): Likewise.
(_IO_sputbackwc): Likewise.
(_IO_sungetwc): Likewise.
(_IO_adjust_wcolumn): Likewise.
(_IO_init_wmarker): Likewise.
(_IO_wmarker_delta): Likewise.
(_IO_seekwmark): Likewise.
(_IO_unsave_wmarkers): Likewise.
* libio/wmemstream.c (open_wmemstream): Likewise.
(_IO_wmem_sync): Likewise.
(_IO_wmem_finish): Likewise.
* locale/nl_langinfo.c (nl_langinfo): Likewise.
* locale/nl_langinfo_l.c (__nl_langinfo_l): Likewise.
* locale/programs/simple-hash.c (init_hash): Likewise.
(delete_hash): Likewise.
(insert_entry): Likewise.
(set_entry): Likewise.
(next_prime): Likewise.
(is_prime): Likewise.
* locale/programs/xmalloc.c (fixup_null_alloc): Likewise.
(xmalloc): Likewise.
(xrealloc): Likewise.
* locale/programs/xstrdup.c (xstrdup): Likewise.
* localedata/collate-test.c (xstrcoll): Likewise.
* localedata/xfrm-test.c (xstrcmp): Likewise.
* login/getlogin_r.c (__getlogin_r): Likewise.
* login/getpt.c (__posix_openpt): Likewise.
* login/login_tty.c (login_tty): Likewise.
* login/setlogin.c (setlogin): Likewise.
* mach/msg-destroy.c (__mach_msg_destroy): Likewise.
(mach_msg_destroy_port): Likewise.
(mach_msg_destroy_memory): Likewise.
* malloc/mcheck.c (flood): Likewise.
* misc/acct.c (acct): Likewise.
* misc/brk.c (__brk): Likewise.
* misc/chflags.c (chflags): Likewise.
* misc/chroot.c (chroot): Likewise.
* misc/fchflags.c (fchflags): Likewise.
* misc/fstab.c (getfsspec): Likewise.
(getfsfile): Likewise.
* misc/fsync.c (fsync): Likewise.
* misc/ftruncate.c (__ftruncate): Likewise.
* misc/ftruncate64.c (__ftruncate64): Likewise.
* misc/getdomain.c (getdomainname): Likewise.
(getdomainname): Likewise.
* misc/gethostname.c (__gethostname): Likewise.
* misc/getpass.c (getpass): Likewise.
* misc/getttyent.c (skip): Likewise.
(value): Likewise.
* misc/gtty.c (gtty): Likewise.
* misc/hsearch.c (hsearch): Likewise.
(hcreate): Likewise.
* misc/hsearch_r.c (__hcreate_r): Likewise.
(__hdestroy_r): Likewise.
* misc/ioctl.c (__ioctl): Likewise.
* misc/mkdtemp.c (mkdtemp): Likewise.
* misc/mkostemp.c (mkostemp): Likewise.
* misc/mkostemp64.c (mkostemp64): Likewise.
* misc/mkostemps.c (mkostemps): Likewise.
* misc/mkostemps64.c (mkostemps64): Likewise.
* misc/mkstemp.c (mkstemp): Likewise.
* misc/mkstemp64.c (mkstemp64): Likewise.
* misc/mkstemps.c (mkstemps): Likewise.
* misc/mkstemps64.c (mkstemps64): Likewise.
* misc/mktemp.c (__mktemp): Likewise.
* misc/preadv.c (preadv): Likewise.
* misc/preadv64.c (preadv64): Likewise.
* misc/pwritev.c (pwritev): Likewise.
* misc/pwritev64.c (pwritev64): Likewise.
* misc/readv.c (__readv): Likewise.
* misc/revoke.c (revoke): Likewise.
* misc/setdomain.c (setdomainname): Likewise.
* misc/setegid.c (setegid): Likewise.
* misc/seteuid.c (seteuid): Likewise.
* misc/sethostid.c (sethostid): Likewise.
* misc/sethostname.c (sethostname): Likewise.
* misc/setregid.c (__setregid): Likewise.
* misc/setreuid.c (__setreuid): Likewise.
* misc/sstk.c (sstk): Likewise.
* misc/stty.c (stty): Likewise.
* misc/syscall.c (syscall): Likewise.
* misc/syslog.c (setlogmask): Likewise.
* misc/truncate.c (__truncate): Likewise.
* misc/truncate64.c (truncate64): Likewise.
* misc/ualarm.c (ualarm): Likewise.
* misc/usleep.c (usleep): Likewise.
* misc/ustat.c (ustat): Likewise.
* misc/writev.c (__writev): Likewise.
* nptl/cleanup_compat.c (_pthread_cleanup_pop): Likewise.
* nptl/old_pthread_cond_broadcast.c
(__pthread_cond_broadcast_2_0): Likewise.
* nptl/old_pthread_cond_destroy.c (__pthread_cond_destroy_2_0):
Likewise.
* nptl/old_pthread_cond_signal.c (__pthread_cond_signal_2_0):
Likewise.
* nptl/old_pthread_cond_wait.c (__pthread_cond_wait_2_0):
Likewise.
* nptl/pt-raise.c (raise): Likewise.
* nptl/pthread_barrier_destroy.c (pthread_barrier_destroy):
Likewise.
* nptl/pthread_barrier_wait.c (__pthread_barrier_wait): Likewise.
* nptl/pthread_barrierattr_destroy.c
(pthread_barrierattr_destroy): Likewise.
* nptl/pthread_barrierattr_init.c (pthread_barrierattr_init):
Likewise.
* nptl/pthread_barrierattr_setpshared.c
(pthread_barrierattr_setpshared): Likewise.
* nptl/pthread_cond_broadcast.c (__pthread_cond_broadcast):
Likewise.
* nptl/pthread_cond_destroy.c (__pthread_cond_destroy): Likewise.
* nptl/pthread_cond_init.c (__pthread_cond_init): Likewise.
* nptl/pthread_cond_signal.c (__pthread_cond_signal): Likewise.
* nptl/pthread_condattr_destroy.c (__pthread_condattr_destroy):
Likewise.
* nptl/pthread_condattr_getclock.c (pthread_condattr_getclock):
Likewise.
* nptl/pthread_condattr_getpshared.c
(pthread_condattr_getpshared): Likewise.
* nptl/pthread_condattr_init.c (__pthread_condattr_init):
Likewise.
* nptl/pthread_condattr_setpshared.c
(pthread_condattr_setpshared): Likewise.
* nptl/pthread_detach.c (pthread_detach): Likewise.
* nptl/pthread_equal.c (__pthread_equal): Likewise.
* nptl/pthread_getcpuclockid.c (pthread_getcpuclockid): Likewise.
* nptl/pthread_getspecific.c (__pthread_getspecific): Likewise.
* nptl/pthread_key_delete.c (pthread_key_delete): Likewise.
* nptl/pthread_mutex_consistent.c (pthread_mutex_consistent):
Likewise.
* nptl/pthread_mutex_destroy.c (__pthread_mutex_destroy):
Likewise.
* nptl/pthread_mutex_getprioceiling.c
(pthread_mutex_getprioceiling): Likewise.
* nptl/pthread_mutexattr_destroy.c (__pthread_mutexattr_destroy):
Likewise.
* nptl/pthread_mutexattr_getprotocol.c
(pthread_mutexattr_getprotocol): Likewise.
* nptl/pthread_mutexattr_getpshared.c
(pthread_mutexattr_getpshared): Likewise.
* nptl/pthread_mutexattr_getrobust.c
(pthread_mutexattr_getrobust): Likewise.
* nptl/pthread_mutexattr_gettype.c (pthread_mutexattr_gettype):
Likewise.
* nptl/pthread_mutexattr_init.c (__pthread_mutexattr_init):
Likewise.
* nptl/pthread_mutexattr_setprioceiling.c
(pthread_mutexattr_setprioceiling): Likewise.
* nptl/pthread_mutexattr_setprotocol.c
(pthread_mutexattr_setprotocol): Likewise.
* nptl/pthread_mutexattr_setpshared.c
(pthread_mutexattr_setpshared): Likewise.
* nptl/pthread_mutexattr_setrobust.c
(pthread_mutexattr_setrobust): Likewise.
* nptl/pthread_mutexattr_settype.c (__pthread_mutexattr_settype):
Likewise.
* nptl/pthread_rwlock_destroy.c (__pthread_rwlock_destroy):
Likewise.
* nptl/pthread_rwlockattr_destroy.c (pthread_rwlockattr_destroy):
Likewise.
* nptl/pthread_rwlockattr_getkind_np.c
(pthread_rwlockattr_getkind_np): Likewise.
* nptl/pthread_rwlockattr_getpshared.c
(pthread_rwlockattr_getpshared): Likewise.
* nptl/pthread_rwlockattr_init.c (pthread_rwlockattr_init):
Likewise.
* nptl/pthread_rwlockattr_setkind_np.c
(pthread_rwlockattr_setkind_np): Likewise.
* nptl/pthread_rwlockattr_setpshared.c
(pthread_rwlockattr_setpshared): Likewise.
* nptl/pthread_setcancelstate.c (__pthread_setcancelstate):
Likewise.
* nptl/pthread_setcanceltype.c (__pthread_setcanceltype):
Likewise.
* nptl/pthread_setconcurrency.c (pthread_setconcurrency):
Likewise.
* nptl/pthread_setschedprio.c (pthread_setschedprio): Likewise.
* nptl/pthread_setspecific.c (__pthread_setspecific): Likewise.
* nptl/pthread_spin_destroy.c (pthread_spin_destroy): Likewise.
* nptl/pthread_tryjoin.c (pthread_tryjoin_np): Likewise.
* nptl/sem_close.c (sem_close): Likewise.
* nptl/sem_destroy.c (__new_sem_destroy): Likewise.
* nptl/sem_init.c (__old_sem_init): Likewise.
* nptl/sigaction.c (__sigaction): Likewise.
* nptl/unregister-atfork.c (__unregister_atfork): Likewise.
* posix/_exit.c (_exit): Likewise.
* posix/alarm.c (alarm): Likewise.
* posix/confstr.c (confstr): Likewise.
* posix/fpathconf.c (__fpathconf): Likewise.
* posix/getgroups.c (__getgroups): Likewise.
* posix/getpgid.c (__getpgid): Likewise.
* posix/group_member.c (__group_member): Likewise.
* posix/pathconf.c (__pathconf): Likewise.
* posix/sched_getaffinity.c (sched_getaffinity): Likewise.
* posix/sched_setaffinity.c (sched_setaffinity): Likewise.
* posix/setgid.c (__setgid): Likewise.
* posix/setpgid.c (__setpgid): Likewise.
* posix/setuid.c (__setuid): Likewise.
* posix/sleep.c (__sleep): Likewise.
* posix/sysconf.c (__sysconf): Likewise.
* posix/times.c (__times): Likewise.
* posix/uname.c (__uname): Likewise.
* posix/waitid.c (__waitid): Likewise.
* pwd/getpw.c (__getpw): Likewise.
* resolv/base64.c (b64_pton): Likewise.
* resolv/gai_sigqueue.c (__gai_sigqueue): Likewise.
* resolv/gethnamaddr.c (Dprintf): Likewise.
(gethostbyname): Likewise.
(gethostbyname2): Likewise.
(gethostbyaddr): Likewise.
(_sethtent): Likewise.
(_gethtbyname): Likewise.
(_gethtbyname2): Likewise.
(_gethtbyaddr): Likewise.
(map_v4v6_address): Likewise.
(map_v4v6_hostent): Likewise.
(addrsort): Likewise.
(ht_sethostent): Likewise.
(ht_gethostbyname): Likewise.
(ht_gethostbyaddr): Likewise.
* resolv/inet_net_ntop.c (inet_net_ntop): Likewise.
(inet_net_ntop_ipv4): Likewise.
* resolv/inet_neta.c (inet_neta): Likewise.
* resolv/inet_ntop.c (inet_ntop): Likewise.
(inet_ntop4): Likewise.
(inet_ntop6): Likewise.
* resolv/inet_pton.c (__inet_pton): Likewise.
(inet_pton4): Likewise.
(inet_pton6): Likewise.
* resolv/res_debug.c (loc_aton): Likewise.
(loc_ntoa): Likewise.
* resource/getpriority.c (__getpriority): Likewise.
* resource/getrusage.c (__getrusage): Likewise.
* resource/nice.c (nice): Likewise.
* resource/setpriority.c (__setpriority): Likewise.
* resource/setrlimit64.c (setrlimit64): Likewise.
* resource/vlimit.c (vlimit): Likewise.
* resource/vtimes.c (vtimes): Likewise.
* rt/aio_error.c (aio_error): Likewise.
* rt/aio_return.c (aio_return): Likewise.
* rt/aio_sigqueue.c (__aio_sigqueue): Likewise.
* signal/kill.c (__kill): Likewise.
* signal/killpg.c (killpg): Likewise.
* signal/raise.c (raise): Likewise.
* signal/sigaction.c (__sigaction): Likewise.
* signal/sigaddset.c (sigaddset): Likewise.
* signal/sigaltstack.c (sigaltstack): Likewise.
* signal/sigandset.c (sigandset): Likewise.
* signal/sigblock.c (__sigblock): Likewise.
* signal/sigdelset.c (sigdelset): Likewise.
* signal/sigempty.c (sigemptyset): Likewise.
* signal/sigfillset.c (sigfillset): Likewise.
* signal/sighold.c (sighold): Likewise.
* signal/sigignore.c (sigignore): Likewise.
* signal/sigintr.c (siginterrupt): Likewise.
* signal/sigisempty.c (sigisemptyset): Likewise.
* signal/sigismem.c (sigismember): Likewise.
* signal/signal.c (signal): Likewise.
* signal/sigorset.c (sigorset): Likewise.
* signal/sigpause.c (__sigpause): Likewise.
* signal/sigpending.c (sigpending): Likewise.
* signal/sigprocmask.c (__sigprocmask): Likewise.
* signal/sigrelse.c (sigrelse): Likewise.
* signal/sigreturn.c (__sigreturn): Likewise.
* signal/sigset.c (sigset): Likewise.
* signal/sigsetmask.c (__sigsetmask): Likewise.
* signal/sigstack.c (sigstack): Likewise.
* signal/sigsuspend.c (__sigsuspend): Likewise.
* signal/sigvec.c (sigvec_wrapper_handler): Likewise.
* signal/sysv_signal.c (__sysv_signal): Likewise.
* socket/accept.c (accept): Likewise.
* socket/accept4.c (__libc_accept4): Likewise.
* socket/bind.c (__bind): Likewise.
* socket/connect.c (__connect): Likewise.
* socket/getpeername.c (getpeername): Likewise.
* socket/getsockname.c (__getsockname): Likewise.
* socket/getsockopt.c (getsockopt): Likewise.
* socket/listen.c (__listen): Likewise.
* socket/recv.c (__recv): Likewise.
* socket/recvmsg.c (__recvmsg): Likewise.
* socket/send.c (__send): Likewise.
* socket/sendmsg.c (__sendmsg): Likewise.
* socket/shutdown.c (shutdown): Likewise.
* socket/sockatmark.c (sockatmark): Likewise.
* socket/socket.c (__socket): Likewise.
* stdio-common/ctermid.c (ctermid): Likewise.
* stdio-common/cuserid.c (cuserid): Likewise.
* stdio-common/printf-prs.c (parse_printf_format): Likewise.
* stdio-common/remove.c (remove): Likewise.
* stdio-common/rename.c (rename): Likewise.
* stdio-common/renameat.c (renameat): Likewise.
* stdio-common/tempname.c (__gen_tempname): Likewise.
* stdio-common/xbug.c (InitBuffer): Likewise.
(AppendToBuffer): Likewise.
(ReadFile): Likewise.
* stdlib/a64l.c (a64l): Likewise.
* stdlib/drand48_r.c (drand48_r): Likewise.
* stdlib/getcontext.c (getcontext): Likewise.
* stdlib/getenv.c (getenv): Likewise.
* stdlib/l64a.c (l64a): Likewise.
* stdlib/llabs.c (llabs): Likewise.
* stdlib/lldiv.c (lldiv): Likewise.
* stdlib/lrand48_r.c (lrand48_r): Likewise.
* stdlib/mrand48_r.c (mrand48_r): Likewise.
* stdlib/putenv.c (putenv): Likewise.
* stdlib/random.c (__srandom): Likewise.
(__initstate): Likewise.
(__setstate): Likewise.
* stdlib/random_r.c (__srandom_r): Likewise.
(__setstate_r): Likewise.
(__random_r): Likewise.
* stdlib/secure-getenv.c (__libc_secure_getenv): Likewise.
* stdlib/setcontext.c (setcontext): Likewise.
* stdlib/setenv.c (setenv): Likewise.
(unsetenv): Likewise.
* stdlib/srand48.c (srand48): Likewise.
* stdlib/srand48_r.c (__srand48_r): Likewise.
* stdlib/swapcontext.c (swapcontext): Likewise.
* stdlib/system.c (__libc_system): Likewise.
* stdlib/tst-strtod.c (expand): Likewise.
* stdlib/tst-strtol.c (expand): Likewise.
* stdlib/tst-strtoll.c (expand): Likewise.
* streams/fattach.c (fattach): Likewise.
* streams/fdetach.c (fdetach): Likewise.
* streams/getmsg.c (getmsg): Likewise.
* streams/isastream.c (isastream): Likewise.
* string/ffs.c (__ffs): Likewise.
* string/ffsll.c (ffsll): Likewise.
* string/memcmp.c (memcmp_common_alignment): Likewise.
(memcmp_not_common_alignment): Likewise.
(MEMCMP): Likewise.
* string/memcpy.c (memcpy): Likewise.
* string/memmove.c (MEMMOVE): Likewise.
* string/memset.c (memset): Likewise.
* string/rawmemchr.c (RAWMEMCHR): Likewise.
* string/strchrnul.c (STRCHRNUL): Likewise.
* string/strerror.c (strerror): Likewise.
* string/strndup.c (__strndup): Likewise.
* string/strverscmp.c (__strverscmp): Likewise.
* sunrpc/clnt_raw.c (clntraw_freeres): Likewise.
* sunrpc/clnt_tcp.c (clnttcp_geterr): Likewise.
(clnttcp_freeres): Likewise.
* sunrpc/clnt_unix.c (clntunix_freeres): Likewise.
* sunrpc/pmap_prot.c (xdr_pmap): Likewise.
* sunrpc/pmap_prot2.c (xdr_pmaplist): Likewise.
* sunrpc/pmap_rmt.c (xdr_rmtcallres): Likewise.
* sunrpc/rpc_prot.c (xdr_replymsg): Likewise.
(xdr_callhdr): Likewise.
* sunrpc/rpcinfo.c (udpping): Likewise.
(tcpping): Likewise.
(pstatus): Likewise.
(pmapdump): Likewise.
(brdcst): Likewise.
(deletereg): Likewise.
(getprognum): Likewise.
(getvers): Likewise.
(get_inet_address): Likewise.
* sunrpc/svc_raw.c (svcraw_recv): Likewise.
* sunrpc/svc_udp.c (svcudp_create): Likewise.
(svcudp_stat): Likewise.
(svcudp_recv): Likewise.
(svcudp_reply): Likewise.
(svcudp_getargs): Likewise.
(svcudp_freeargs): Likewise.
(svcudp_destroy): Likewise.
* sunrpc/xdr.c (xdr_bytes): Likewise.
(xdr_netobj): Likewise.
(xdr_string): Likewise.
(xdr_wrapstring): Likewise.
* sunrpc/xdr_float.c (xdr_float): Likewise.
(xdr_double): Likewise.
* sunrpc/xdr_mem.c (xdrmem_setpos): Likewise.
* sunrpc/xdr_ref.c (xdr_pointer): Likewise.
* sysvipc/ftok.c (ftok): Likewise.
* sysvipc/msgctl.c (msgctl): Likewise.
* sysvipc/msgget.c (msgget): Likewise.
* sysvipc/msgrcv.c (msgrcv): Likewise.
* sysvipc/msgsnd.c (msgsnd): Likewise.
* sysvipc/semget.c (semget): Likewise.
* sysvipc/semop.c (semop): Likewise.
* sysvipc/shmat.c (shmat): Likewise.
* sysvipc/shmctl.c (shmctl): Likewise.
* sysvipc/shmdt.c (shmdt): Likewise.
* sysvipc/shmget.c (shmget): Likewise.
* termios/cfmakeraw.c (cfmakeraw): Likewise.
* termios/speed.c (cfgetospeed): Likewise.
(cfgetispeed): Likewise.
(cfsetospeed): Likewise.
(cfsetispeed): Likewise.
* termios/tcflow.c (tcflow): Likewise.
* termios/tcflush.c (tcflush): Likewise.
* termios/tcgetattr.c (__tcgetattr): Likewise.
* termios/tcgetpgrp.c (tcgetpgrp): Likewise.
* termios/tcgetsid.c (tcgetsid): Likewise.
* termios/tcsendbrk.c (tcsendbreak): Likewise.
* termios/tcsetpgrp.c (tcsetpgrp): Likewise.
* time/adjtime.c (__adjtime): Likewise.
* time/dysize.c (dysize): Likewise.
* time/ftime.c (ftime): Likewise.
* time/getitimer.c (__getitimer): Likewise.
* time/gettimeofday.c (__gettimeofday): Likewise.
* time/gmtime.c (__gmtime_r): Likewise.
(gmtime): Likewise.
* time/localtime.c (__localtime_r): Likewise.
(localtime): Likewise.
* time/offtime.c (__offtime): Likewise.
* time/settimeofday.c (__settimeofday): Likewise.
* time/stime.c (stime): Likewise.
* time/strftime_l.c (tm_diff): Likewise.
(iso_week_days): Likewise.
* time/strptime.c (strptime): Likewise.
* time/time.c (time): Likewise.
* time/timespec_get.c (timespec_get): Likewise.
* time/tzset.c (tzset_internal): Likewise.
(compute_change): Likewise.
(__tz_compute): Likewise.
* wcsmbs/btowc.c (__btowc): Likewise.
* wcsmbs/mbrlen.c (__mbrlen): Likewise.
* wcsmbs/mbsinit.c (__mbsinit): Likewise.
* wcsmbs/mbsrtowcs.c (__mbsrtowcs): Likewise.
* wcsmbs/wcpcpy.c (__wcpcpy): Likewise.
* wcsmbs/wcpncpy.c (__wcpncpy): Likewise.
* wcsmbs/wcscat.c (__wcscat): Likewise.
* wcsmbs/wcschrnul.c (__wcschrnul): Likewise.
* wcsmbs/wcscmp.c (WCSCMP): Likewise.
* wcsmbs/wcscpy.c (WCSCPY): Likewise.
* wcsmbs/wcscspn.c (wcscspn): Likewise.
* wcsmbs/wcsdup.c (wcsdup): Likewise.
* wcsmbs/wcslen.c (__wcslen): Likewise.
* wcsmbs/wcsncat.c (WCSNCAT): Likewise.
* wcsmbs/wcsncmp.c (WCSNCMP): Likewise.
* wcsmbs/wcsncpy.c (__wcsncpy): Likewise.
* wcsmbs/wcsnlen.c (__wcsnlen): Likewise.
* wcsmbs/wcspbrk.c (wcspbrk): Likewise.
* wcsmbs/wcsrchr.c (WCSRCHR): Likewise.
* wcsmbs/wcsspn.c (wcsspn): Likewise.
* wcsmbs/wcsstr.c (wcsstr): Likewise.
* wcsmbs/wcstok.c (wcstok): Likewise.
* wcsmbs/wctob.c (wctob): Likewise.
* wcsmbs/wmemchr.c (__wmemchr): Likewise.
* wcsmbs/wmemcmp.c (WMEMCMP): Likewise.
* wcsmbs/wmemcpy.c (__wmemcpy): Likewise.
* wcsmbs/wmemmove.c (__wmemmove): Likewise.
* wcsmbs/wmempcpy.c (__wmempcpy): Likewise.
* wcsmbs/wmemset.c (__wmemset): Likewise.
* wctype/wcfuncs.c (__towlower): Likewise.
(__towupper): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch references __pthread_setcancelstate instead of
pthread_setcancelstate in libc.a.
[BZ #18970]
* misc/error.c (error): Replace pthread_setcancelstate with
__pthread_setcancelstate.
(error_at_line): Likewise.
* posix/wordexp.c (parse_comm): Likewise.
* stdlib/fmtmsg.c (fmtmsg): Likewise.
* nptl/forward.c (pthread_setcancelstate): Renamed to ...
(__pthread_setcancelstate): This.
(pthread_setcancelstate): Add an alias.
* nptl/nptl-init.c (pthread_functions): Replace
ptr_pthread_setcancelstate with ptr___pthread_setcancelstate.
* sysdeps/nptl/pthread-functions.h (pthread_functions): Likewise.
* nptl/pthreadP.h (__pthread_setcancelstate): Mark it with
hidden_proto.
* nptl/pthread_setcancelstate.c (__pthread_setcancelstate): Mark
it with hidden_def.
* sysdeps/nptl/libc-lockP.h (__pthread_setcancelstate): New.
(pthread_setcancelstate): Renamed to ...
(__pthread_setcancelstate): This.
* sysdeps/unix/sysv/linux/fatal-prepare.h (FATAL_PREPARE): Use
__libc_ptf_call with __pthread_setcancelstate.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/libc-lock.h to plain libc-lock.h and
bits/libc-lockP.h to plain libc-lockP.h to follow that convention.
Note that I don't know where libc-lockP.h comes from for Hurd (the
Hurd libc-lock.h includes libc-lockP.h, but the only libc-lockP.h in
the glibc source tree is for NPTL) - some unmerged patch? - but I
updated the #include in the Hurd libc-lock.h anyway.
Tested for x86_64 (testsuite, and that installed stripped shared
libraries are unchanged by the patch).
[BZ #14912]
* bits/libc-lock.h: Move to ...
* sysdeps/generic/libc-lock.h: ...here.
(_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H.
* sysdeps/mach/hurd/bits/libc-lock.h: Move to ...
* sysdeps/mach/hurd/libc-lock.h: ...here.
(_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H.
[_LIBC]: Include <libc-lockP.h> instead of <bits/libc-lockP.h>.
* sysdeps/mach/bits/libc-lock.h: Move to ...
* sysdeps/mach/libc-lock.h: ...here.
(_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H.
* sysdeps/nptl/bits/libc-lock.h: Move to ...
* sysdeps/nptl/libc-lock.h: ...here.
(_BITS_LIBC_LOCK_H): Rename macro to _LIBC_LOCK_H.
* sysdeps/nptl/bits/libc-lockP.h: Move to ...
* sysdeps/nptl/libc-lockP.h: ...here.
(_BITS_LIBC_LOCKP_H): Rename macro to _LIBC_LOCKP_H.
* crypt/crypt_util.c: Include <libc-lock.h> instead of
<bits/libc-lock.h>.
* dirent/scandir-tail.c: Likewise.
* dlfcn/dlerror.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-writev.h: Likewise.
* elf/rtld.c: Likewise.
* grp/fgetgrent.c: Likewise.
* gshadow/fgetsgent.c: Likewise.
* gshadow/sgetsgent.c: Likewise.
* iconv/gconv_conf.c: Likewise.
* iconv/gconv_db.c: Likewise.
* iconv/gconv_dl.c: Likewise.
* iconv/gconv_int.h: Likewise.
* iconv/gconv_trans.c: Likewise.
* include/link.h: Likewise.
* inet/getnameinfo.c: Likewise.
* inet/getnetgrent.c: Likewise.
* inet/getnetgrent_r.c: Likewise.
* intl/bindtextdom.c: Likewise.
* intl/dcigettext.c: Likewise.
* intl/finddomain.c: Likewise.
* intl/gettextP.h: Likewise.
* intl/loadmsgcat.c: Likewise.
* intl/localealias.c: Likewise.
* intl/textdomain.c: Likewise.
* libidn/idn-stub.c: Likewise.
* libio/libioP.h: Likewise.
* locale/duplocale.c: Likewise.
* locale/freelocale.c: Likewise.
* locale/newlocale.c: Likewise.
* locale/setlocale.c: Likewise.
* login/getutent_r.c: Likewise.
* login/getutid_r.c: Likewise.
* login/getutline_r.c: Likewise.
* login/utmp-private.h: Likewise.
* login/utmpname.c: Likewise.
* malloc/mtrace.c: Likewise.
* misc/efgcvt.c: Likewise.
* misc/error.c: Likewise.
* misc/fstab.c: Likewise.
* misc/getpass.c: Likewise.
* misc/mntent.c: Likewise.
* misc/syslog.c: Likewise.
* nis/nis_call.c: Likewise.
* nis/nis_callback.c: Likewise.
* nis/nss-default.c: Likewise.
* nis/nss_compat/compat-grp.c: Likewise.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* nis/nss_nis/nis-alias.c: Likewise.
* nis/nss_nis/nis-ethers.c: Likewise.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss_nis/nis-hosts.c: Likewise.
* nis/nss_nis/nis-network.c: Likewise.
* nis/nss_nis/nis-proto.c: Likewise.
* nis/nss_nis/nis-pwd.c: Likewise.
* nis/nss_nis/nis-rpc.c: Likewise.
* nis/nss_nis/nis-service.c: Likewise.
* nis/nss_nis/nis-spwd.c: Likewise.
* nis/nss_nisplus/nisplus-alias.c: Likewise.
* nis/nss_nisplus/nisplus-ethers.c: Likewise.
* nis/nss_nisplus/nisplus-grp.c: Likewise.
* nis/nss_nisplus/nisplus-hosts.c: Likewise.
* nis/nss_nisplus/nisplus-initgroups.c: Likewise.
* nis/nss_nisplus/nisplus-network.c: Likewise.
* nis/nss_nisplus/nisplus-proto.c: Likewise.
* nis/nss_nisplus/nisplus-pwd.c: Likewise.
* nis/nss_nisplus/nisplus-rpc.c: Likewise.
* nis/nss_nisplus/nisplus-service.c: Likewise.
* nis/nss_nisplus/nisplus-spwd.c: Likewise.
* nis/ypclnt.c: Likewise.
* nptl/libc_pthread_init.c: Likewise.
* nss/getXXbyYY.c: Likewise.
* nss/getXXent.c: Likewise.
* nss/getXXent_r.c: Likewise.
* nss/nss_db/db-XXX.c: Likewise.
* nss/nss_db/db-netgrp.c: Likewise.
* nss/nss_db/nss_db.h: Likewise.
* nss/nss_files/files-XXX.c: Likewise.
* nss/nss_files/files-alias.c: Likewise.
* nss/nsswitch.c: Likewise.
* posix/regex_internal.h: Likewise.
* posix/wordexp.c: Likewise.
* pwd/fgetpwent.c: Likewise.
* resolv/res_hconf.c: Likewise.
* resolv/res_libc.c: Likewise.
* shadow/fgetspent.c: Likewise.
* shadow/lckpwdf.c: Likewise.
* shadow/sgetspent.c: Likewise.
* socket/opensock.c: Likewise.
* stdio-common/reg-modifier.c: Likewise.
* stdio-common/reg-printf.c: Likewise.
* stdio-common/reg-type.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
* stdio-common/vfscanf.c: Likewise.
* stdlib/abort.c: Likewise.
* stdlib/cxa_atexit.c: Likewise.
* stdlib/fmtmsg.c: Likewise.
* stdlib/random.c: Likewise.
* stdlib/setenv.c: Likewise.
* string/strsignal.c: Likewise.
* sunrpc/auth_none.c: Likewise.
* sunrpc/bindrsvprt.c: Likewise.
* sunrpc/create_xid.c: Likewise.
* sunrpc/key_call.c: Likewise.
* sunrpc/rpc_thread.c: Likewise.
* sysdeps/arm/backtrace.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/generic/stdio-lock.h: Likewise.
* sysdeps/generic/unwind-dw2-fde.c: Likewise.
* sysdeps/i386/backtrace.c: Likewise.
* sysdeps/ieee754/ldbl-opt/nldbl-compat.c: Likewise.
* sysdeps/m68k/backtrace.c: Likewise.
* sysdeps/mach/hurd/cthreads.c: Likewise.
* sysdeps/mach/hurd/dirstream.h: Likewise.
* sysdeps/mach/hurd/malloc-machine.h: Likewise.
* sysdeps/nptl/malloc-machine.h: Likewise.
* sysdeps/nptl/stdio-lock.h: Likewise.
* sysdeps/posix/dirstream.h: Likewise.
* sysdeps/posix/getaddrinfo.c: Likewise.
* sysdeps/posix/system.c: Likewise.
* sysdeps/pthread/aio_suspend.c: Likewise.
* sysdeps/s390/s390-32/backtrace.c: Likewise.
* sysdeps/s390/s390-64/backtrace.c: Likewise.
* sysdeps/unix/sysv/linux/check_pf.c: Likewise.
* sysdeps/unix/sysv/linux/if_index.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c: Likewise.
* sysdeps/unix/sysv/linux/shm-directory.c: Likewise.
* sysdeps/unix/sysv/linux/system.c: Likewise.
* sysdeps/x86_64/backtrace.c: Likewise.
* time/alt_digit.c: Likewise.
* time/era.c: Likewise.
* time/tzset.c: Likewise.
* wcsmbs/wcsmbsload.c: Likewise.
* nptl/tst-initializers1.c (do_test): Refer to <libc-lock.h>
instead of <bits/libc-lock.h> in comment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fix for BZ #17273 introduced a single byte of memory corruption when
the line is entirely blank. It would walk back past the start of the
buffer if the heap happened to be 0x20 or 0x09 and then write a NUL byte.
buffer = '\n';
end_ptr = buffer;
while (end_ptr[-1] == ' ' || end_ptr[-1] == '\t')
end_ptr--;
*end_ptr = '\0';
Fix that and rework the tests. Adding the testcase for BZ #17273 to the
existing \040 parser does not really make sense as it's unrelated, and
leads to confusing behavior: it implicitly relies on the new entry being
longer than the previous entry (since it just rewinds the FILE*). Split
it out into its own dedicated testcase instead.
|
|
|
|
|
|
| |
[BZ #2898]
* misc/mktemp.c: Add mkdtemp to the link_warning message.
Based on patch by Aurelien Jarno.
|
|
|
|
|
|
|
|
|
|
| |
Hi,
As in bugzilla entry there is overflow in hsearch when looking for prime
number as SIZE_MAX - 1 is divisible by 5. We fix that by rejecting large
inputs before looking for prime.
* misc/hsearch_r.c (__hcreate_r): Handle overflow.
|
|
|
|
|
| |
Since the new regexp.c code uses the GLIBC_2.23 symbol, make sure we
declare it to avoid warnings/errors.
|
| |
|
|
|
|
|
|
|
|
|
| |
These tests were skipped by the use-test-skeleton conversion done in
commit 29955b5d because they did not have an `int main (void)'
declaration. Instead their `main' functions were declared with arguments
(i.e. argc, argv) even though they didn't use them.
Remove these arguments and include the test skeleton in these tests.
|
|
|
|
|
|
| |
In the "Kill regexp.h" thread, Joseph dug up more accurate information
about exactly which editions of the Single Unix Standard included and
deprecated this header.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<regexp.h> (not to be confused with <regex.h>) is an obsolete and
frankly horrible regular expression-matching API. It was part of SVID
but was withdrawn in Issue 5 (for reference, we're on Issue 7 now).
It doesn't do anything you can't do with <regex.h>, and using it
involves defining a bunch of macros before including the header.
Moreover, the code in regexp.h that uses those macros has been buggy
since its creation (in 1996) and no one has noticed, which indicates
to me that there are no users. (Specifically, RETURN() is used in a
whole bunch of cases where it should have been ERROR().)
The header is given a warning and marked deprecated for 2.22.
See:
https://sourceware.org/ml/libc-alpha/2015-07/msg00862.html and
https://sourceware.org/ml/libc-alpha/2015-07/msg00871.html.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ttyslot (XPG4) calls the non-XPG4 functions endttyent, getttyent and
setttyent, which in turn bring in references to fgets_unlocked and
getttynam. This patch fixes this by making these functions into weak
aliases and calling the __* names as needed.
Tested for x86_64 and x86 (testsuite, and that disassembly of
installed stripped shared libraries is unchanged by the patch).
[BZ #18547]
* misc/getttyent.c (getttynam): Rename to __getttynam and define
as weak alias of __getttynam. Use prototype function definition.
Call __setttyent, __getttyent and __endttyent instead of
setttyent, getttyent and endttyent.
(getttyent): Rename to __getttyent and define as weak alias of
__getttyent. Call __setttyent instead of setttyent. Call
__fgets_unlocked instead of fgets_unlocked.
(setttyent): Rename to __setttyent and define as weak alias of
__setttyent.
(endttyent): Rename to __endttyent and define as weak alias of
__endttyent.
* include/ttyent.h (__getttyent): Declare. Use libc_hidden_proto.
(__setttyent): Likewise.
(__endttyent): Likewise.
(getttyent): Don't use libc_hidden_proto.
(setttyent): Likewise.
(endttyent): Likewise.
* misc/ttyslot.c (ttyslot): Call __setttyent, __getttyent and
__endttyent instead of setttyent, getttyent and endttyent.
* conform/Makefile (test-xfail-XPG4/unistd.h/linknamespace):
Remove variable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The getpass function (XPG3 / XPG4 / UNIX98) calls fflush_unlocked (not
in any of those standards). This patch fixes this by making
fflush_unlocked into a weak alias for __fflush_unlocked and calling
__fflush_unlocked from getpass.
Tested for x86_64 and x86 (testsuite, and that disassembly of
installed stripped shared libraries is unchanged by the patch).
[BZ #18540]
* libio/iofflush.c [!_IO_MTSAFE_IO] (__fflush_unlocked): Define as
strong alias of _IO_fflush. Use libc_hidden_def.
* libio/iofflush_u.c (fflush_unlocked): Rename to
__fflush_unlocked and define as weak alias of __fflush_unlocked.
Use libc_hidden_weak.
* include/stdio.h (__fflush_unlocked): Declare. Use
libc_hidden_proto.
* misc/getpass.c (getpass): Call __fflush_unlocked instead of
fflush_unlocked.
* conform/Makefile (test-xfail-UNIX98/unistd.h/linknamespace):
Remove variable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The sem_* functions bring in references to tdelete, tfind, tsearch and
twalk. But the t* functions are XSI-shaded, while sem_* aren't. This
patch fixes this by using __t* instead, exporting those functions from
libc at version GLIBC_PRIVATE (since sem_* are in libpthread) and
using libc_hidden_* for the benefit of calls within libc.
Tested for x86_64 and x86 (testsuite, and comparison of disassembly of
installed stripped shared libraries). libpthread gets changes from
PLT reordering; addresses in libc change because of PLT / dynamic
symbol table changes.
[BZ #18536]
* misc/tsearch.c (__tsearch): Use libc_hidden_def.
(__tfind): Likewise.
(__tdelete): Likewise.
(__twalk): Likewise.
* misc/Versions (libc): Add __tdelete, __tfind, __tsearch and
__twalk to GLIBC_PRIVATE.
* include/search.h (__tsearch): Use libc_hidden_proto.
(__tfind): Likewise.
(__tdelete): Likewise.
(__twalk): Likewise.
* nptl/sem_close.c (sem_close): Call __twalk instead of twalk.
Call __tdelete instead of tdelete.
* nptl/sem_open.c (check_add_mapping): Call __tfind instead of
tfind. Call __tsearch instead of tsearch.
* sysdeps/sparc/sparc32/sem_open.c (check_add_mapping): Likewise.
* conform/Makefile (test-xfail-POSIX/semaphore.h/linknamespace):
Remove variable.
(test-xfail-POSIX2008/semaphore.h/linknamespace): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
syslog functions bring in references to dprintf, which wasn't added to
POSIX until the 2008 edition and so isn't in various standards
containing the syslog functions. This patch fixes this by making
dprintf into a weak alias of __dprintf and using __dprintf as
appropriate.
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).
[BZ #18534]
* stdio-common/dprintf.c (__dprintf): Use libc_hidden_def.
(dprintf): Define as a weak alias of __dprintf, not a strong
alias.
* include/stdio.h (__dprintf): Declare. Use libc_hidden_proto.
* misc/syslog.c (__vsyslog_chk): Call __dprintf instead of
dprintf.
* conform/Makefile (test-xfail-XPG4/syslog.h/linknamespace):
Remove variable.
(test-xfail-UNIX98/syslog.h/linknamespace): Likewise.
(test-xfail-XOPEN2K/syslog.h/linknamespace): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
syslog functions (in POSIX) bring in the strong symbol vsyslog (not in
POSIX). This patch fixes this by changing this symbol from a strong
alias to a weak alias.
Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch). (vsyslog becomes weak
in the static libraries, which is what's needed; the particular macro
sequence in use leaves it as strong in the shared libraries, hence
those libraries being completely unchanged, but it doesn't generally
matter whether symbols exported from the shared libraries are weak or
strong.)
[BZ #18533]
* misc/syslog.c (vsyslog): Define as a weak alias of __vsyslog,
not a strong alias.
* conform/Makefile (test-xfail-XOPEN2K8/syslog.h/linknamespace):
Remove variable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
syslog (XSI POSIX) brings in references to fputs_unlocked (not
POSIX). This patch fixes this by making fputs_unlocked into a weak
alias for __fputs_unlocked and using __fputs_unlocked as needed. (No
linknamespace test XFAILs are removed because there are other failures
from syslog as well.)
Tested for x86_64 and x86 (testsuite, and comparison of disassembly of
installed stripped shared libraries). Disassembly of installed
stripped shared libraries is unchanged on x86_64; on x86, I see some
small changes to instruction ordering and register choice, with no
apparent reason for such changes to be related to this patch, but they
also seem completely harmless with no change to code size.
[BZ #18530]
* libio/iofputs.c [!_IO_MTSAFE_IO] (__fputs_unlocked): Define as
strong alias of _IO_fputs. Use libc_hidden_def.
* libio/iofputs_u.c (fputs_unlocked): Rename to __fputs_unlocked
and define as weak alias of __fputs_unlocked. Use
libc_hidden_weak.
* include/stdio.h (__fputs_unlocked): Declare. Use
libc_hidden_proto.
* misc/syslog.c (__vsyslog_chk): Call __fputs_unlocked instead of
fputs_unlocked.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The functions ecvt, fcvt and gcvt, in some standards, bring in
references to ecvt_r and fcvt_r, which aren't in any of those
standards. The calls are correctly to __ecvt_r and __fcvt_r, but then
the names ecvt_r and fcvt_r are defined as strong aliases; this patch
changes them to weak aliases.
Tested for x86_64 and x86 (testsuite, and that disassembly of
installed stripped shared libraries is unchanged by the patch).
[BZ #18522]
* misc/efgcvt_r.c
[LONG_DOUBLE_COMPAT (libc, GLIBC_2_0) && !LONG_DOUBLE_CVT]
(cvt_symbol): Use weak_alias instead of strong_alias.
[LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)] (cvt_symbol): Likewise.
* conform/Makefile (test-xfail-XPG4/stdlib.h/linknamespace):
Remove variable.
(test-xfail-UNIX98/stdlib.h/linknamespace): Likewise.
(test-xfail-XOPEN2K/stdlib.h/linknamespace): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
open_memstream is new in the 2008 edition of POSIX. However, the
older functions getopt, closelog and fmtmsg all bring in references to
it. This patch fixes this in the usual way, making open_memstream
into a weak alias of __open_memstream and calling __open_memstream
from the relevant places.
Tested for x86_64 and x86 (testsuite, and that disassembly of
installed shared libraries is unchanged by the patch). 32-bit builds
produce an XPASS for conform/POSIX/unistd.h/linknamespace after this
patch (because the only cause of failure left there now is 64-bit
specific); that will disappear once the 64-bit failure is resolved and
the XFAIL removed at that time.
[BZ #18498]
* libio/memstream.c (open_memstream): Rename to __open_memstream
and define as weak alias of __open_memstream.
* include/stdio.h (__open_memstream): Declare. Use
libc_hidden_proto.
(open_memstream): Don't use libc_hidden_proto.
* misc/syslog.c (__vsyslog_chk): Call __open_memstream instead of
open_memstream.
* posix/getopt.c (_getopt_internal_r): Likewise.
* conform/Makefile (test-xfail-XPG3/stdio.h/linknamespace): Remove
variable.
(test-xfail-XPG4/stdio.h/linknamespace): Likewise.
(test-xfail-UNIX98/stdio.h/linknamespace): Likewise.
(test-xfail-XOPEN2K/unistd.h/linknamespace): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation of the (XSI POSIX) functions hsearch / hcreate /
hdestroy uses hsearch_r / hcreate_r / hdestroy_r, which are not POSIX
functions. This patch makes those into weak aliases for __*_r and
uses those names for the calls within libc.
Tested for x86_64 that the disassembly of installed shared libraries
is unchanged by this patch.
[BZ #17996]
* include/search.h (hcreate_r): Don't use libc_hidden_proto.
(hdestroy_r): Likewise.
(hsearch_r): Likewise.
(__hcreate_r): Declare and use libc_hidden_proto.
(__hdestroy_r): Likewise.
(__hsearch_r): Likewise.
* misc/hsearch.c (hsearch): Call __hsearch_r instead of hsearch_r.
(hcreate): Call __hcreate_r instead of hcreate_r.
(__hdestroy): Call __hdestroy_r instead of hdestroy_r.
* misc/hsearch_r.c (hcreate_r): Rename to __hcreate_r and define
as weak alias of __hcreate_r.
(hdestroy_r): Rename to __hdestroy_r and define as weak alias of
__hdestroy_r.
(hsearch_r): Rename to __hsearch_r and define as weak alias of
__hsearch_r.
* conform/Makefile (test-xfail-XPG3/search.h/linknamespace):
Remove variable.
(test-xfail-XPG4/search.h/linknamespace): Likewise.
(test-xfail-UNIX98/search.h/linknamespace): Likewise.
(test-xfail-XOPEN2K/search.h/linknamespace): Likewise.
(test-xfail-XOPEN2K8/search.h/linknamespace): Likewise.
|
|
|
|
|
| |
* misc/sys/cdefs.h (_Static_assert): Define a substitute, if on a
pre-C11 C platform that is not known to support _Static_assert.
|