This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] bfd: Mark symbols with mismatching types
- From: Alan Modra <amodra at gmail dot com>
- To: Egeyar Bagcioglu <egeyar dot bagcioglu at oracle dot com>
- Cc: binutils at sourceware dot org
- Date: Fri, 14 Apr 2017 08:57:00 +0930
- Subject: Re: [PATCH] bfd: Mark symbols with mismatching types
- Authentication-results: sourceware.org; auth=none
- References: <1492060302-254953-1-git-send-email-egeyar.bagcioglu@oracle.com>
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