diff options
author | Roland McGrath <roland@redhat.com> | 2010-07-20 19:09:50 -0700 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2010-07-20 19:09:50 -0700 |
commit | 5dbc3b6cc0b759bf4b22d851ccb9cbf3e3cbc6ef (patch) | |
tree | 49d98447f2c543fc3e14dd5eac17df4d18df4361 /elf/dl-sysdep.c | |
parent | d02dc4ba087255c30a899ab21bd8503efb52ddcf (diff) | |
download | glibc-5dbc3b6cc0b759bf4b22d851ccb9cbf3e3cbc6ef.tar.gz glibc-5dbc3b6cc0b759bf4b22d851ccb9cbf3e3cbc6ef.tar.xz glibc-5dbc3b6cc0b759bf4b22d851ccb9cbf3e3cbc6ef.zip |
Fix vDSO synthetic hwcap handling so they are not masked out from ld.so.cache matching.
Diffstat (limited to 'elf/dl-sysdep.c')
-rw-r--r-- | elf/dl-sysdep.c | 5 |
1 files changed, 5 insertions, 0 deletions
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) { |