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: [5/6][PATCH] Perform second link stage and ignore now-obsolete linker -pass-through= option.


Rafael Ãvila de EspÃndola <respindola@mozilla.com> writes:

>> What is the actual difference in behaviour?
>
> The main one is the requirement for -pass-through=.

It is already the case that gold does not require -pass-through=.  In
fact, I've already modified the gcc plugin to ignore -pass-through= when
using gold version 1.11 or greater (gold 1.11 will be in the binutils
2.21.1 release).

> A quick summary of
> the possible ways of handling mixed IL/ELF files when given a sequence
> like ELF IL IL ELF IL IL ELF is
>
> 1) Combine every contiguous IL file sequence (ELF COMBINED_ELF1 ELF
> COMBINED_ELF2 ELF) and conceptually restart the link. This would provide
> the least differences when compared to an all ELF link.
>
> 2) Combine every IL file into a single ELF, put it in the place of the
> first IL file (ELF COMBINED_ELF ELF ELF) and conceptually restart the
> link. If I understand it correctly, this is where the bfd ld is going.
>
> 3) Same as before, but put the combined elf file in the end.
>
> 4) Same as before, but do not restart the link. This is what gold does
> currently and requires the -pass-through option.

I would say that right now gold approximately implements your option 2
(not option 4) and does not require the -pass-through= option.  If the
plugin does not introduce any new symbol definitions in the single ELF
file that it creates, new symbol definitions which were not previously
returned as IL symbols, then gold exactly implements option 2 (it's OK
for the plugin to introduce new symbol references, gold will handle
those correctly).  New symbol definitions will not be handled correctly
in the case where the symbol was previously defined by a .o or .a file
seen after the first IL file.  However, I think that is OK because I
think it would be very dubious for a plugin to create an object file
with a new symbol definition which the plugin did not previously report.

Ian


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