]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blame - src/patches/glibc/glibc-rh615701.patch
Merge remote-tracking branch 'erik/sendEmail' into core67-merge
[people/teissler/ipfire-2.x.git] / src / patches / glibc / glibc-rh615701.patch
CommitLineData
12788f63
MT
12010-07-20 Roland McGrath <roland@redhat.com>
2
3 * elf/dl-sysdep.c (_dl_important_hwcaps): Add dsocaps mask to
4 dl_hwcap_mask as well as dl_hwcap. Without this, dsocaps matching in
5 ld.so.cache was broken. With it, there is no way to disable dsocaps
6 like LD_HWCAP_MASK can disable hwcaps.
7
8Index: glibc-2.12-2-gc4ccff1/elf/dl-sysdep.c
9===================================================================
10--- glibc-2.12-2-gc4ccff1.orig/elf/dl-sysdep.c
11+++ glibc-2.12-2-gc4ccff1/elf/dl-sysdep.c
12@@ -425,6 +425,11 @@ _dl_important_hwcaps (const char *platfo
13 {
14 const ElfW(Word) mask = ((const ElfW(Word) *) dsocaps)[-1];
15 GLRO(dl_hwcap) |= (uint64_t) mask << _DL_FIRST_EXTRA;
16+ /* Note that we add the dsocaps to the set already chosen by the
17+ LD_HWCAP_MASK environment variable (or default HWCAP_IMPORTANT).
18+ So there is no way to request ignoring an OS-supplied dsocap
19+ string and bit like you can ignore an OS-supplied HWCAP bit. */
20+ GLRO(dl_hwcap_mask) |= (uint64_t) mask << _DL_FIRST_EXTRA;
21 size_t len;
22 for (const char *p = dsocaps; p < dsocaps + dsocapslen; p += len + 1)
23 {