ldso: correct condition for local symbol handling in do_relocs
authorRich Felker <dalias@aerifal.cx>
Mon, 12 Aug 2019 22:19:38 +0000 (18:19 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 12 Aug 2019 22:19:38 +0000 (18:19 -0400)
commit1f060ed2fb0b35f85118a425f5eed3299fef58d3
treeab02010da425221a26b68b0f6f94a8cf0a0ad3db
parent08869deb7efbda6e979886cb67e3d5843f92c2e8
ldso: correct condition for local symbol handling in do_relocs

commit 7a9669e977e5f750cf72ccbd2614f8b72ce02c4c added use of the
symbol reference as the definition, in place of performing a lookup,
for STT_SECTION symbol references that were first found used in FDPIC.
such references may happen in certain other cases, such as
local-dynamic TLS and with relocation types that require a symbol but
that are being used for non-symbolic purposes, like the powerpc
unaligned address relocations.

in all such cases I'm aware of, the symbol referenced is a section
symbol (STT_SECTION); however, the important semantic property is not
its being a section, but rather its binding local (STB_LOCAL). check
the latter instead of the former for greater generality and semantic
correctness.
ldso/dynlink.c