[PATCH] bfd: Mark symbols with mismatching types

Alan Modra amodra@gmail.com
Thu Apr 13 23:27:00 GMT 2017


On Wed, Apr 12, 2017 at 10:11:42PM -0700, Egeyar Bagcioglu wrote:
> Introduce flag for defined symbols whose type is mismatched with a
> dynamic definition. Mark such symbols. Prevent such symbols from being
> made dynamic in sparc.
> 
> Sparc makes use of dynamic symbols during relocations. Unless detected,
> above-mentioned symbols are confused with library symbols by the dynamic
> linker.

Please provide a C testcase.  I can see what you're trying to prevent
but the testcase I wrote to investigate the problem on sparc and other
targets does not result in bad dynamic symbols, even though the linker
does hit the code where you are setting conflict_with_library.
Obviously I'm missing some detail.

A testcase is necessary to prove that you really do need a new flag in
elf_link_hash_entry.  If the problem only shows up on sparc, then a
different fix in the sparc backend is likely better.  If the problem
is generic then yes, we may need a new flag, but even then there is
likely a better fix..  I'm not asking for a patch that integrates a
test into the ld testsuite, just a set of C files and gcc command
lines to build it.

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list