[5/6][PATCH] Perform second link stage and ignore now-obsolete linker -pass-through= option.
Ian Lance Taylor
iant@google.com
Sun Feb 27 19:22:00 GMT 2011
More information about the Binutils mailing list
Sun Feb 27 19:22:00 GMT 2011
- Previous message (by thread): [5/6][PATCH] Perform second link stage and ignore now-obsolete linker -pass-through= option.
- Next message (by thread): [5/6][PATCH] Perform second link stage and ignore now-obsolete linker -pass-through= option.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message (by thread): [5/6][PATCH] Perform second link stage and ignore now-obsolete linker -pass-through= option.
- Next message (by thread): [5/6][PATCH] Perform second link stage and ignore now-obsolete linker -pass-through= option.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list