glibc:gentoo/2.24

Last commit made on 2017-03-20
Get this branch:
git clone -b gentoo/2.24 https://git.launchpad.net/glibc

Branch merges

Branch information

Name:
gentoo/2.24
Repository:
lp:glibc

Recent commits

d1d39a2... by Mike Frysinger

posix_spawn: fix stack setup on ia64 [BZ #21275]

The ia64-specific clone2 call expects the base of the stack mapping and
the stack size as sep arguments, not an initial stack value as on other
stack-grows-down architectures. Reuse the stack-grows-up macro so we
pass in the right stack base.

Reported-by: Matt Turner <email address hidden>
(cherry picked from commit ddc3fb333469c2997798742dc0509dc1e3201d91)
(cherry picked from commit 7043946c7921c0e3850dd2b3d948336624bb0f62)

764c430... by Mike Frysinger

Revert "sys/types.h: drop sys/sysmacros.h include"

This reverts commit 92bf87d8c4837feaec62958be59c3119b8b4f5ae.

We keep this in the testing version, but once we want to start
stabilizing, we drop it.

27a54a0... by "H.J. Lu" <email address hidden>

X86_64: Don't use PLT nor GOT in static archives [BZ #20750]

There is no need to use PLT nor GOT in static archives to branch to a
function, regardless whether static archives is compiled with PIC or
not. When static archives are used to create dynamic executable,
PLT/GOT may be used. The resulting executable still works correctly.

 [BZ #20750]
 * sysdeps/x86_64/sysdep.h (JUMPTARGET): Check SHARED instead
 of PIC.

(cherry picked from commit c9070e6305c08365c5f8b604bdca39c699d70cfa)
(cherry picked from commit d012ea850680a2a94959f1c5136502a0f712b30a)

20f534e... by Florian Weimer

CVE-2015-5180: resolv: Fix crash with internal QTYPE [BZ #18784]

Also rename T_UNSPEC because an upcoming public header file
update will use that name.

(cherry picked from commit fc82b0a2dfe7dbd35671c10510a8da1043d746a5)
(cherry picked from commit b3b37f1a5559a7620e31c8053ed1b44f798f2b6d)

a0c7c4e... by Siddhesh Poyarekar <email address hidden>

Drop GLIBC_TUNABLES in setxid processes

Drop the GLIBC_TUNABLES environment variable from the environment of
setxid processes to avoid passing it on to non-setxid children. This
prevents potentially insecure tunables in the GLIBC_TUNABLES envvar
from crossing over into a child that may use a libc that has tunables
support.

 * sysdeps/generic/unsecvars.h: Add GLIBC_TUNABLES.

(cherry picked from commit 537a06fbdeb9a6c2184c745c15ef3346681f5eeb)

4adce1b... by Tulio Magno Quites Machado Filho <email address hidden>

powerpc: Fix write-after-destroy in lock elision [BZ #20822]

The update of *adapt_count after the release of the lock causes a race
condition when thread A unlocks, thread B continues and destroys the
mutex, and thread A writes to *adapt_count.

(cherry picked from commit e9a96ea1aca4ebaa7c86e8b83b766f118d689d0f)
(with changes from commit eb1321f291515dae75c83a40c39e775fdd38e97a)

(cherry picked from commit 2762a7145bba9681b30ed5d4aed0c5d1df4329c8)

5a855de... by Mike Frysinger

localedata: bs_BA: fix yesexpr/noexpr [BZ #20974]

Both regexes end with a "*." which means the previous match can be
omitted, and then the . allows them to match any input at all.

This means tools like coreutils' `rm -i` will always delete things
when prompted because the yesexpr regex matches all inputs (even
the negative ones).

(cherry picked from commit a035eb6928bc63fb798dcc1421529f933122d74f)
(cherry picked from commit 7e4405c50fc374d5e80141554c7887a52d1f9118)

88849c6... by Carlos-0

Bug 11941: ld.so: Improper assert map->l_init_called in dlclose

There is at least one use case where during exit a library destructor
might call dlclose() on a valid handle and have it fail with an
assertion. We must allow this case, it is a valid handle, and dlclose()
should not fail with an assert. In the future we might be able to return
an error that the dlclose() could not be completed because the opened
library has already been unloaded and destructors have run as part of
exit processing.

For more details see:
https://www.sourceware.org/ml/libc-alpha/2016-12/msg00859.html

(cherry picked from commit 57707b7fcc38855869321f8c7827bfe21d729f37)
(cherry picked from commit e9e69e468039fcd57276f783a16aa771a8e4214e)

b73ec92... by Aurelien Jarno <email address hidden>

alpha: fix trunc for big input values

The alpha specific version of trunc and truncf always add and subtract
0x1.0p23 or 0x1.0p52 even for big values. This causes this kind of
errors in the testsuite:

  Failure: Test: trunc_towardzero (0x1p107)
  Result:
   is: 1.6225927682921334e+32 0x1.fffffffffffffp+106
   should be: 1.6225927682921336e+32 0x1.0000000000000p+107
   difference: 1.8014398509481984e+16 0x1.0000000000000p+54
   ulp : 0.5000
   max.ulp : 0.0000

Change this by returning the input value when its absolute value is
greater than 0x1.0p23 or 0x1.0p52. NaN have to go through the add and
subtract operations to get possibly silenced.

Finally remove the code to handle inexact exception, trunc should never
generate such an exception.

Changelog:
 * sysdeps/alpha/fpu/s_trunc.c (__trunc): Return the input value
 when its absolute value is greater than 0x1.0p52.
 [_IEEE_FP_INEXACT] Remove.
 * sysdeps/alpha/fpu/s_truncf.c (__truncf): Return the input value
 when its absolute value is greater than 0x1.0p23.
 [_IEEE_FP_INEXACT] Remove.

(cherry picked from commit b74d259fe793499134eb743222cd8dd7c74a31ce)
(cherry picked from commit e6eab16cc302e6c42f79e1af02ce98ebb9a783bc)

04c5f78... by Aurelien Jarno <email address hidden>

alpha: fix rint on sNaN input

The alpha version of rint wrongly return sNaN for sNaN input. Fix that
by checking for NaN and by returning the input value added with itself
in that case.

Changelog:
 * sysdeps/alpha/fpu/s_rint.c (__rint): Add argument with itself
 when it is a NaN.
 * sysdeps/alpha/fpu/s_rintf.c (__rintf): Likewise.

(cherry picked from commit cb7f9d63b921ea1a1cbb4ab377a8484fd5da9a2b)
(cherry picked from commit 8eb9a92e0522f2d4f2d4167df919d066c85d3408)