From 5dbc3b6cc0b759bf4b22d851ccb9cbf3e3cbc6ef Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 20 Jul 2010 19:09:50 -0700 Subject: Fix vDSO synthetic hwcap handling so they are not masked out from ld.so.cache matching. --- elf/dl-sysdep.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'elf/dl-sysdep.c') diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c index 160503dac5..e6c8660cfc 100644 --- a/elf/dl-sysdep.c +++ b/elf/dl-sysdep.c @@ -425,6 +425,11 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz, { const ElfW(Word) mask = ((const ElfW(Word) *) dsocaps)[-1]; GLRO(dl_hwcap) |= (uint64_t) mask << _DL_FIRST_EXTRA; + /* Note that we add the dsocaps to the set already chosen by the + LD_HWCAP_MASK environment variable (or default HWCAP_IMPORTANT). + So there is no way to request ignoring an OS-supplied dsocap + string and bit like you can ignore an OS-supplied HWCAP bit. */ + GLRO(dl_hwcap_mask) |= (uint64_t) mask << _DL_FIRST_EXTRA; size_t len; for (const char *p = dsocaps; p < dsocaps + dsocapslen; p += len + 1) { -- cgit 1.4.1