diff options
author | Rich Felker <dalias@aerifal.cx> | 2020-01-15 16:15:49 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2020-01-15 16:15:49 -0500 |
commit | 0ff18be20833928064f6eff88e590cea9625f602 (patch) | |
tree | b5b93ec970b117a72b053961c604dbbfa9cf20a7 /src | |
parent | 2507e7f5312e79620f6337935d0a6c9045ccba09 (diff) | |
download | musl-0ff18be20833928064f6eff88e590cea9625f602.tar.gz musl-0ff18be20833928064f6eff88e590cea9625f602.tar.bz2 musl-0ff18be20833928064f6eff88e590cea9625f602.tar.xz musl-0ff18be20833928064f6eff88e590cea9625f602.zip |
fix incorrect __hwcap seen in dynamic-linked __set_thread_area
the bug fixed in commit b82cd6c78d812d38c31febba5a9e57dbaa7919c4 was
mostly masked on arm because __hwcap was zero at the point of the call
from the dynamic linker to __set_thread_area, causing the access to
libc.auxv to be skipped and kuser_helper versions of TLS access and
atomics to be used instead of the armv6 or v7 versions. however, on
kernels with kuser_helper removed for hardening it would crash.
since __set_thread_area potentially uses __hwcap, it must be
initialized before the function is called. move the AT_HWCAP lookup
from stage 3 to stage 2b.
Diffstat (limited to 'src')
0 files changed, 0 insertions, 0 deletions