- Get this branch:
-
git clone
-b hjl/i386/master
https://git.launchpad.net/glibc
Branch merges
Related source package recipes
Branch information
- Name:
- hjl/i386/master
- Repository:
- lp:glibc
Recent commits
- 6f6e3ee... by "H.J. Lu" <email address hidden>
-
Avoid reading errno in syscall implementations
Reading errno is expensive for x86 PIC. With INTERNAL_SYSCALL,
INTERNAL_SYSCALL_ ERROR_P, INTERNAL_ SYSCALL_ ERRNO and
INLINE_SYSCALL_ ERROR_RETURN_ VALUE, we can avoid reading errno. There are no code changes on x86-64. On i686, libc.so sizes in bytes
show:text data bss dec
after 1748495 11380 11132 1771007
before 1748403 11380 11132 1770915* sysdeps/
unix/sysv/ linux/eventfd. c (eventfd): Use
INTERNAL_SYSCALL, INTERNAL_SYSCALL_ ERROR_P and
INTERNAL_SYSCALL_ ERRNO to avoid reading errno.
* sysdeps/unix/sysv/ linux/fstatfs64 .c (__fstatfs64): Likewise.
* sysdeps/unix/sysv/ linux/getrlimit 64.c (__getrlimit64):
Likewise.
* sysdeps/unix/sysv/ linux/setrlimit 64.c (setrlimit64):
Likewise.
* sysdeps/unix/sysv/ linux/signalfd. c (signalfd): Likewise.
* sysdeps/unix/sysv/ linux/statfs64. c (__statfs64): Likewise. - 2028f49... by Geoffrey Thomas
-
pt_chown: Clear any signal mask inherited from the parent process.
If grantpt() is called from a thread that is masking signals (for
instance, from a program using signalfd or using a dedicated
signal-handling thread), then that mask will get inherited to pt_chown.
This means that signals like SIGINT will not interrup pt_chown, so if it
hangs (e.g., because getgrnam("tty") hangs on a remote name service),
Ctrl-C will terminate the parent process but leave pt_chown around. Since
it's setuid, it's hard to kill any other way.It is safe for pt_chown to unmask all signals, because grantpt() can be
(and usually is) called from an unprivileged process with all signals
unmasked. - 361468f... by Joseph Myers <email address hidden>
-
Remove -fgnu89-inline configure test.
There is a configure test for -fgnu89-inline. This option was added
in GCC 4.2, so the test is obsolete; this patch removes it.Tested for x86_64 (testsuite, and that installed shared libraries are
unchanged by the patch).* configure.ac (libc_cv_
gnu89_inline) : Remove configure test.
* configure: Regenerated.
* config.make.in (gnu89-inline- CFLAGS) : Remove variable.
* Makeconfig (CFLAGS): Use -fgnu89-inline instead of
$(gnu89-inline- CFLAGS) . - 210dd78... by Joseph Myers <email address hidden>
-
Remove .weak, .weakext configure tests.
There are configure tests for assembler .weak support, and, as a
fallback, for .weakext support..weakext appears to be an ECOFF thing (although a few ELF targets
support it as well). .weak has been supported by the GNU assembler
for ELF targets since version 2.2, so given the requirement for ELF
the configure tests are obsolete; this patch removes them.Tested for x86_64 (testsuite, and that installed shared libraries are
unchanged by the patch).* configure.ac (libc_cv_
asm_weak_ directive) : Remove configure
test.
(libc_cv_asm_ weakext_ directive) : Likewise.
* configure: Regenerated.
* config.h.in (HAVE_ASM_WEAK_DIRECTIVE) : Remove #undef.
(HAVE_ASM_WEAKEXT_ DIRECTIVE) : Likewise.
* include/libc-symbols. h
[!HAVE_ASM_WEAK_ DIRECTIVE && !HAVE_ASM_ WEAKEXT_ DIRECTIVE] : Remove
#error.
[HAVE_ASM_WEAKEXT_ DIRECTIVE] : Remove conditional code.
[!HAVE_ASM_WEAKEXT_ DIRECTIVE] : Make code unconditional. - bd2260a... by Joseph Myers <email address hidden>
-
Convert 231 sysdeps function definitions to prototype style.
This mostly automatically-
generated patch converts 231 sysdeps
function definitions in glibc from old-style K&R to prototype-style.For __aio_sigqueue and __gai_sigqueue I had to add internal_function
to the definitions as noted by Florian in
<https://sourceware. org/ml/ libc-alpha/ 2015-10/ msg00595. html> to keep
the functions compiling on x86 after conversion to prototype
definitions. Otherwise, the patch is automatically generated with all
the same exclusions and caveats as in
<https://sourceware. org/ml/ libc-alpha/ 2015-10/ msg00594. html> except
that it's a patch for sysdeps files.Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch). Also tested for arm,
mips64 and powerpc32 that installed stripped shared libraries are
unchanged by the patch.* sysdeps/
arm/backtrace. c (__backtrace): Convert to
prototype-style function definition.
* sysdeps/i386/backtrace. c (__backtrace): Likewise.
* sysdeps/i386/ffs.c (__ffs): Likewise.
* sysdeps/i386/i686/ ffs.c (__ffs): Likewise.
* sysdeps/ia64/nptl/ pthread_ spin_lock. c (pthread_ spin_lock) :
Likewise.
* sysdeps/ia64/nptl/ pthread_ spin_trylock. c (pthread_ spin_trylock) :
Likewise.
* sysdeps/ieee754/ ldbl-128/ e_log2l. c (__ieee754_log2l): Likewise.
* sysdeps/ieee754/ ldbl-128ibm/ e_log2l. c (__ieee754_log2l):
Likewise.
* sysdeps/m68k/ffs.c (__ffs): Likewise.
* sysdeps/m68k/m680x0/ fpu/e_acos. c (FUNC): Likewise.
* sysdeps/m68k/m680x0/ fpu/e_fmod. c (FUNC): Likewise.
* sysdeps/mach/adjtime. c (__adjtime): Likewise.
* sysdeps/mach/gettimeofd ay.c (__gettimeofday): Likewise.
* sysdeps/mach/hurd/ _exit.c (_exit): Likewise.
* sysdeps/mach/hurd/ access. c (__access): Likewise.
* sysdeps/mach/hurd/ adjtime. c (__adjtime): Likewise.
* sysdeps/mach/hurd/ chdir.c (__chdir): Likewise.
* sysdeps/mach/hurd/ chmod.c (__chmod): Likewise.
* sysdeps/mach/hurd/ chown.c (__chown): Likewise.
* sysdeps/mach/hurd/ cthreads. c (cthread_ keycreate) : Likewise.
(cthread_getspecific) : Likewise.
(cthread_setspecific) : Likewise.
(__libc_getspecific) : Likewise.
* sysdeps/mach/hurd/ euidaccess. c (__euidaccess): Likewise.
* sysdeps/mach/hurd/ faccessat. c (faccessat): Likewise.
* sysdeps/mach/hurd/ fchdir. c (__fchdir): Likewise.
* sysdeps/mach/hurd/ fchmod. c (__fchmod): Likewise.
* sysdeps/mach/hurd/ fchmodat. c (fchmodat): Likewise.
* sysdeps/mach/hurd/ fchown. c (__fchown): Likewise.
* sysdeps/mach/hurd/ fchownat. c (fchownat): Likewise.
* sysdeps/mach/hurd/ flock.c (__flock): Likewise.
* sysdeps/mach/hurd/ fsync.c (fsync): Likewise.
* sysdeps/mach/hurd/ ftruncate. c (__ftruncate): Likewise.
* sysdeps/mach/hurd/ getgroups. c (__getgroups): Likewise.
* sysdeps/mach/hurd/ gethostname. c (__gethostname): Likewise.
* sysdeps/mach/hurd/ getitimer. c (__getitimer): Likewise.
* sysdeps/mach/hurd/ getlogin_ r.c (__getlogin_r): Likewise.
* sysdeps/mach/hurd/ getpgid. c (__getpgid): Likewise.
* sysdeps/mach/hurd/ getrusage. c (__getrusage): Likewise.
* sysdeps/mach/hurd/ getsockname. c (__getsockname): Likewise.
* sysdeps/mach/hurd/ group_member. c (__group_member): Likewise.
* sysdeps/mach/hurd/ isatty. c (__isatty): Likewise.
* sysdeps/mach/hurd/ lchown. c (__lchown): Likewise.
* sysdeps/mach/hurd/ link.c (__link): Likewise.
* sysdeps/mach/hurd/ linkat. c (linkat): Likewise.
* sysdeps/mach/hurd/ listen. c (__listen): Likewise.
* sysdeps/mach/hurd/ mkdir.c (__mkdir): Likewise.
* sysdeps/mach/hurd/ mkdirat. c (mkdirat): Likewise.
* sysdeps/mach/hurd/ openat. c (__openat): Likewise.
* sysdeps/mach/hurd/ poll.c (__poll): Likewise.
* sysdeps/mach/hurd/ readlink. c (__readlink): Likewise.
* sysdeps/mach/hurd/ readlinkat. c (readlinkat): Likewise.
* sysdeps/mach/hurd/ recv.c (__recv): Likewise.
* sysdeps/mach/hurd/ rename. c (rename): Likewise.
* sysdeps/mach/hurd/ renameat. c (renameat): Likewise.
* sysdeps/mach/hurd/ revoke. c (revoke): Likewise.
* sysdeps/mach/hurd/ rewinddir. c (__rewinddir): Likewise.
* sysdeps/mach/hurd/ rmdir.c (__rmdir): Likewise.
* sysdeps/mach/hurd/ seekdir. c (seekdir): Likewise.
* sysdeps/mach/hurd/ send.c (__send): Likewise.
* sysdeps/mach/hurd/ setdomain. c (setdomainname): Likewise.
* sysdeps/mach/hurd/ setegid. c (setegid): Likewise.
* sysdeps/mach/hurd/ seteuid. c (seteuid): Likewise.
* sysdeps/mach/hurd/ setgid. c (__setgid): Likewise.
* sysdeps/mach/hurd/ setgroups. c (setgroups): Likewise.
* sysdeps/mach/hurd/ sethostid. c (sethostid): Likewise.
* sysdeps/mach/hurd/ sethostname. c (sethostname): Likewise.
* sysdeps/mach/hurd/ setlogin. c (setlogin): Likewise.
* sysdeps/mach/hurd/ setpgid. c (__setpgid): Likewise.
* sysdeps/mach/hurd/ setregid. c (__setregid): Likewise.
* sysdeps/mach/hurd/ setreuid. c (__setreuid): Likewise.
* sysdeps/mach/hurd/ settimeofday. c (__settimeofday): Likewise.
* sysdeps/mach/hurd/ setuid. c (__setuid): Likewise.
* sysdeps/mach/hurd/ shutdown. c (shutdown): Likewise.
* sysdeps/mach/hurd/ sigaction. c (__sigaction): Likewise.
* sysdeps/mach/hurd/ sigaltstack. c (__sigaltstack): Likewise.
* sysdeps/mach/hurd/ sigpending. c (sigpending): Likewise.
* sysdeps/mach/hurd/ sigprocmask. c (__sigprocmask): Likewise.
* sysdeps/mach/hurd/ sigsuspend. c (__sigsuspend): Likewise.
* sysdeps/mach/hurd/ socket. c (__socket): Likewise.
* sysdeps/mach/hurd/ symlink. c (__symlink): Likewise.
* sysdeps/mach/hurd/ symlinkat. c (symlinkat): Likewise.
* sysdeps/mach/hurd/ telldir. c (telldir): Likewise.
* sysdeps/mach/hurd/ truncate. c (__truncate): Likewise.
* sysdeps/mach/hurd/ umask.c (__umask): Likewise.
* sysdeps/mach/hurd/ unlink. c (__unlink): Likewise.
* sysdeps/mach/hurd/ unlinkat. c (unlinkat): Likewise.
* sysdeps/mips/mips64/ __longjmp. c (__longjmp): Likewise.
* sysdeps/posix/alarm. c (alarm): Likewise.
* sysdeps/posix/cuserid. c (cuserid): Likewise.
* sysdeps/posix/dirfd. c (dirfd): Likewise.
* sysdeps/posix/dup.c (__dup): Likewise.
* sysdeps/posix/dup2. c (__dup2): Likewise.
* sysdeps/posix/euidacces s.c (euidaccess): Likewise.
(main): Likewise.
* sysdeps/posix/flock. c (__flock): Likewise.
* sysdeps/posix/fpathconf .c (__fpathconf): Likewise.
* sysdeps/posix/getcwd. c (__getcwd): Likewise.
* sysdeps/posix/gethostna me.c (__gethostname): Likewise.
* sysdeps/posix/gettimeof day.c (__gettimeofday): Likewise.
* sysdeps/posix/isatty. c (__isatty): Likewise.
* sysdeps/posix/killpg. c (killpg): Likewise.
* sysdeps/posix/libc_ fatal.c (__libc_fatal): Likewise.
* sysdeps/posix/mkfifoat. c (mkfifoat): Likewise.
* sysdeps/posix/raise. c (raise): Likewise.
* sysdeps/posix/remove. c (remove): Likewise.
* sysdeps/posix/rename. c (rename): Likewise.
* sysdeps/posix/rewinddir .c (__rewinddir): Likewise.
* sysdeps/posix/seekdir. c (seekdir): Likewise.
* sysdeps/posix/sigblock. c (__sigblock): Likewise.
* sysdeps/posix/sigignore .c (sigignore): Likewise.
* sysdeps/posix/sigintr. c (siginterrupt): Likewise.
* sysdeps/posix/signal. c (__bsd_signal): Likewise.
* sysdeps/posix/sigset. c (sigset): Likewise.
* sysdeps/posix/sigsuspen d.c (__sigsuspend): Likewise.
* sysdeps/posix/sysconf. c (__sysconf): Likewise.
* sysdeps/posix/sysv_ signal. c (__sysv_signal): Likewise.
* sysdeps/posix/time. c (time): Likewise.
* sysdeps/posix/ttyname. c (getttyname): Likewise.
(ttyname): Likewise.
* sysdeps/posix/ttyname_ r.c (__ttyname_r): Likewise.
* sysdeps/posix/utime. c (utime): Likewise.
* sysdeps/powerpc/ fpu/s_isnan. c (__isnan): Likewise.
* sysdeps/powerpc/ nptl/pthread_ spin_lock. c (pthread_ spin_lock) :
Likewise.
* sysdeps/powerpc/ nptl/pthread_ spin_trylock. c
(pthread_spin_trylock) : Likewise.
* sysdeps/pthread/ aio_error. c (aio_error): Likewise.
* sysdeps/pthread/ aio_read. c (aio_read): Likewise.
* sysdeps/pthread/ aio_read64. c (aio_read64): Likewise.
* sysdeps/pthread/ aio_write. c (aio_write): Likewise.
* sysdeps/pthread/ aio_write64. c (aio_write64): Likewise.
* sysdeps/pthread/ flockfile. c (__flockfile): Likewise.
* sysdeps/pthread/ ftrylockfile. c (__ftrylockfile): Likewise.
* sysdeps/pthread/ funlockfile. c (__funlockfile): Likewise.
* sysdeps/pthread/ timer_create. c (timer_create): Likewise.
* sysdeps/pthread/ timer_getoverr. c (timer_getoverrun): Likewise.
* sysdeps/pthread/ timer_gettime. c (timer_gettime): Likewise.
* sysdeps/s390/ffs.c (__ffs): Likewise.
* sysdeps/s390/nptl/ pthread_ spin_lock. c (pthread_ spin_lock) :
Likewise.
* sysdeps/s390/nptl/ pthread_ spin_trylock. c (pthread_ spin_trylock) :
Likewise.
* sysdeps/sh/nptl/ pthread_ spin_lock. c (pthread_ spin_lock) :
Likewise.
* sysdeps/sparc/nptl/ pthread_ barrier_ destroy. c
(pthread_barrier_ destroy) : Likewise.
* sysdeps/sparc/nptl/ pthread_ barrier_ wait.c
(__pthread_barrier_ wait): Likewise.
* sysdeps/sparc/sparc32/ e_sqrt. c (__ieee754_sqrt): Likewise.
* sysdeps/sparc/sparc32/ pthread_ barrier_ wait.c
(__pthread_barrier_ wait): Likewise.
* sysdeps/sparc/sparc32/ sem_init. c (__old_sem_init): Likewise.
* sysdeps/tile/memcmp. c (memcmp_ common_ alignment) : Likewise.
(memcmp_not_common_ alignment) : Likewise.
(MEMCMP): Likewise.
* sysdeps/tile/wordcopy. c (_wordcopy_ fwd_aligned) : Likewise.
(_wordcopy_fwd_dest_ aligned) : Likewise.
(_wordcopy_bwd_aligned) : Likewise.
(_wordcopy_bwd_dest_ aligned) : Likewise.
* sysdeps/unix/bsd/ ftime.c (ftime): Likewise.
* sysdeps/unix/bsd/ gtty.c (gtty): Likewise.
* sysdeps/unix/bsd/ stty.c (stty): Likewise.
* sysdeps/unix/bsd/ tcflow. c (tcflow): Likewise.
* sysdeps/unix/bsd/ tcflush. c (tcflush): Likewise.
* sysdeps/unix/bsd/ tcgetattr. c (__tcgetattr): Likewise.
* sysdeps/unix/bsd/ tcgetpgrp. c (tcgetpgrp): Likewise.
* sysdeps/unix/bsd/ tcsendbrk. c (tcsendbreak): Likewise.
* sysdeps/unix/bsd/ tcsetattr. c (tcsetattr): Likewise.
* sysdeps/unix/bsd/ tcsetpgrp. c (tcsetpgrp): Likewise.
* sysdeps/unix/bsd/ ualarm. c (ualarm): Likewise.
* sysdeps/unix/bsd/ wait3.c (__wait3): Likewise.
* sysdeps/unix/getlogin_ r.c (__getlogin_r): Likewise.
* sysdeps/unix/sockatmark .c (sockatmark): Likewise.
* sysdeps/unix/stime. c (stime): Likewise.
* sysdeps/unix/sysv/ linux/_ exit.c (_exit): Likewise.
* sysdeps/unix/sysv/ linux/aio_ sigqueue. c (__aio_sigqueue):
Likewise. Use internal_function.
* sysdeps/unix/sysv/ linux/arm/ sigaction. c (__libc_sigaction):
Convert to prototype-style function definition.
* sysdeps/unix/sysv/ linux/faccessat .c (faccessat): Likewise.
* sysdeps/unix/sysv/ linux/fchmodat. c (fchmodat): Likewise.
* sysdeps/unix/sysv/ linux/fpathconf .c (__fpathconf): Likewise.
* sysdeps/unix/sysv/ linux/gai_ sigqueue. c (__gai_sigqueue):
Likewise. Use internal_function.
* sysdeps/unix/sysv/ linux/gethostid .c (sethostid): Convert to
prototype-style function definition
* sysdeps/unix/sysv/ linux/getlogin_ r.c (__getlogin_ r_loginuid) :
Likewise.
(__getlogin_r): Likewise.
* sysdeps/unix/sysv/ linux/getpt. c (__posix_openpt): Likewise.
* sysdeps/unix/sysv/ linux/hppa/ pthread_ cond_broadcast. c
(__pthread_cond_broadcast) : Likewise.
* sysdeps/unix/sysv/ linux/hppa/ pthread_ cond_destroy. c
(__pthread_cond_destroy) : Likewise.
* sysdeps/unix/sysv/ linux/hppa/ pthread_ cond_init. c
(__pthread_cond_init) : Likewise.
* sysdeps/unix/sysv/ linux/hppa/ pthread_ cond_signal. c
(__pthread_cond_signal) : Likewise.
* sysdeps/unix/sysv/ linux/hppa/ pthread_ cond_wait. c
(__pthread_cond_wait) : Likewise.
* sysdeps/unix/sysv/ linux/i386/ getmsg. c (getmsg): Likewise.
* sysdeps/unix/sysv/ linux/i386/ setegid. c (setegid): Likewise.
* sysdeps/unix/sysv/ linux/ia64/ sigaction. c (__libc_sigaction):
Likewise.
* sysdeps/unix/sysv/ linux/ia64/ sigpending. c (sigpending):
Likewise.
* sysdeps/unix/sysv/ linux/ia64/ sigprocmask. c (__sigprocmask):
Likewise.
* sysdeps/unix/sysv/ linux/mips/ sigaction. c (__libc_sigaction):
Likewise.
* sysdeps/unix/sysv/ linux/msgget. c (msgget): Likewise.
* sysdeps/unix/sysv/ linux/powerpc/ powerpc32/ ftruncate64. c
(__ftruncate64): Likewise.
* sysdeps/unix/sysv/ linux/powerpc/ powerpc32/ truncate64. c
(truncate64): Likewise.
* sysdeps/unix/sysv/ linux/pt- raise.c (raise): Likewise.
* sysdeps/unix/sysv/ linux/pthread_ getcpuclockid. c
(pthread_getcpuclockid) : Likewise.
* sysdeps/unix/sysv/ linux/pthread_ getname. c (pthread_ getname_ np):
Likewise.
* sysdeps/unix/sysv/ linux/pthread_ setname. c (pthread_ setname_ np):
Likewise.
* sysdeps/unix/sysv/ linux/pthread_ sigmask. c (pthread_sigmask):
Likewise.
* sysdeps/unix/sysv/ linux/pthread_ sigqueue. c (pthread_sigqueue):
Likewise.
* sysdeps/unix/sysv/ linux/raise. c (raise): Likewise.
* sysdeps/unix/sysv/ linux/s390/ s390-64/ sigaction. c
(__libc_sigaction) : Likewise.
* sysdeps/unix/sysv/ linux/s390/ s390-64/ sigpending. c (sigpending):
Likewise.
* sysdeps/unix/sysv/ linux/s390/ s390-64/ sigprocmask. c
(__sigprocmask): Likewise.
* sysdeps/unix/sysv/ linux/semget. c (semget): Likewise.
* sysdeps/unix/sysv/ linux/semop. c (semop): Likewise.
* sysdeps/unix/sysv/ linux/setrlimit 64.c (setrlimit64): Likewise.
* sysdeps/unix/sysv/ linux/shmat. c (shmat): Likewise.
* sysdeps/unix/sysv/ linux/shmdt. c (shmdt): Likewise.
* sysdeps/unix/sysv/ linux/shmget. c (shmget): Likewise.
* sysdeps/unix/sysv/ linux/sigaction .c (__libc_sigaction):
Likewise.
* sysdeps/unix/sysv/ linux/sigpendin g.c (sigpending): Likewise.
* sysdeps/unix/sysv/ linux/sigprocma sk.c (__sigprocmask): Likewise.
* sysdeps/unix/sysv/ linux/sigqueue. c (__sigqueue): Likewise.
* sysdeps/unix/sysv/ linux/sigstack. c (sigstack): Likewise.
* sysdeps/unix/sysv/ linux/sparc/ sparc64/ sigpending. c (sigpending):
Likewise.
* sysdeps/unix/sysv/ linux/sparc/ sparc64/ sigprocmask. c
(__sigprocmask): Likewise.
* sysdeps/unix/sysv/ linux/speed. c (cfgetospeed): Likewise.
(cfgetispeed): Likewise.
(cfsetospeed): Likewise.
(cfsetispeed): Likewise.
* sysdeps/unix/sysv/ linux/tcflow. c (tcflow): Likewise.
* sysdeps/unix/sysv/ linux/tcflush. c (tcflush): Likewise.
* sysdeps/unix/sysv/ linux/tcgetattr .c (__tcgetattr): Likewise.
* sysdeps/unix/sysv/ linux/tcsetattr .c (tcsetattr): Likewise.
* sysdeps/unix/sysv/ linux/time. c (time): Likewise.
* sysdeps/unix/sysv/ linux/timer_ create. c (timer_create): Likewise.
* sysdeps/unix/sysv/ linux/timer_ delete. c (timer_delete): Likewise.
* sysdeps/unix/sysv/ linux/timer_ getoverr. c (timer_getoverrun):
Likewise.
* sysdeps/unix/sysv/ linux/timer_ gettime. c (timer_gettime):
Likewise.
* sysdeps/unix/sysv/ linux/x86_ 64/sigpending. c (sigpending):
Likewise.
* sysdeps/unix/sysv/ linux/x86_ 64/sigprocmask. c (__sigprocmask):
Likewise.
* sysdeps/x86_64/ backtrace. c (__backtrace): Likewise. - 4e16650... by Florian Weimer
-
sunrpc: Rewrite with explicit TLS access using __thread
- 6782806... by Florian Weimer
-
malloc: Rewrite with explicit TLS access using __thread
- db8ad8f... by Florian Weimer
-
vfprintf: Rewrite printf_positional to use struct scratch_buffer
- 52fb79d... by Florian Weimer
-
Assume that SOCK_CLOEXEC is available and works
This fixes (harmless) data races when accessing the various
__have_sock_cloexec variables. - f546f87... by Florian Weimer
-
The va_list pointer is unspecified after a call to vfprintf [BZ #18982]
This adjusts the documentation to the existing implementation.