This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] gold/arm: define $a/$d markers in .plt
> I will say in passing that this made things confusing for me from a
> gold target's perspective. ?It seemd to me that the whole point of
> having seperate global and local Scan methods is that relocations are
> processed differently for STB_LOCAL vs. STB_GLOBAL symbols.
>
> So, from this perspective, this forced local case adds at least a
> small wrinkle. ?Imagine my surprise while debugging that a gsym seen
> in global relocation scanning ended up STB_LOCAL in the final symbol
> table :-)
I think you're conflating local to a relocatable object with local to
a load module. The downgrading of internal and hidden STB_GLOBAL
symbols to STB_LOCAL happens at the very end, so the symbols are
treated as local only by the dynamic loader. In every other respect,
the linker treats such symbols as global.
A forced-local symbol is handled by the global Scan method, as it's
still a global symbol across the set of relocatable objects being
linked.
-cary