[RFC][PATCH] Check ELF relocs after opening all all input files

H.J. Lu hjl.tools@gmail.com
Thu Apr 28 12:50:00 GMT 2016


On Wed, Apr 27, 2016 at 6:11 PM, Alan Modra <amodra@gmail.com> wrote:
> On Wed, Apr 27, 2016 at 03:24:48PM -0700, H.J. Lu wrote:
>> bfd_elf_record_link_assignment
>> is called after check_relocs.  bfd_elf_record_link_assignment sets non_elf,
>> def_regular and  forced_local.   For PROVIDE, it also updates root.type. They
>> are needed in reloc_checks.
>
> My guess is that symbol twiddling done in before_allocation should be
> moved to a new ldemul hook called at the start of lang_do_assignments.
> The idea being to stabilize symbols earlier.
>
> The hook would twiddle __ehdr_start and call find_statement_assignment
> when lang_mark_phase_enum.  Reversing the __ehdr_start twiddle stays
> in before_allocation.
>

I tried this.  But it doesn't work with __start/__stop symbols.  I
need to know if they are defined and referenced local in check_relocs.


-- 
H.J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-record_link_assignments-to-ldemul.patch
Type: text/x-patch
Size: 9601 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20160428/3a395d60/attachment.bin>


More information about the Binutils mailing list