]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - 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
1 2010-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
8 Index: 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 {