This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]