about summary refs log tree commit diff
path: root/socket/Versions
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2020-10-22 17:55:01 +0100
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2020-11-02 09:39:24 +0000
commit558251bd8785760ad40fcbfeaaee5d27fa5b0fe4 (patch)
tree8865e2bfc649cbec47cdbb2677588c6ed1053022 /socket/Versions
parentfd0981e4028b79b061b458acbc10315e05972ada (diff)
downloadglibc-558251bd8785760ad40fcbfeaaee5d27fa5b0fe4.tar.gz
glibc-558251bd8785760ad40fcbfeaaee5d27fa5b0fe4.tar.xz
glibc-558251bd8785760ad40fcbfeaaee5d27fa5b0fe4.zip
aarch64: Fix DT_AARCH64_VARIANT_PCS handling [BZ #26798]
The variant PCS support was ineffective because in the common case
linkmap->l_mach.plt == 0 but then the symbol table flags were ignored
and normal lazy binding was used instead of resolving the relocs early.
(This was a misunderstanding about how GOT[1] is setup by the linker.)

In practice this mainly affects SVE calls when the vector length is
more than 128 bits, then the top bits of the argument registers get
clobbered during lazy binding.

Fixes bug 26798.
Diffstat (limited to 'socket/Versions')
0 files changed, 0 insertions, 0 deletions