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] bfd: Mark symbols with mismatching types


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


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