ambiguous file formats coff-x86_64 / pe-x86_64

Alan Modra amodra@gmail.com
Tue Jan 3 10:28:00 GMT 2017


On Tue, Jan 03, 2017 at 12:32:37AM -0700, Jan Beulich wrote:
> >>> On 22.12.16 at 22:49, <amodra@gmail.com> wrote:
> > On Thu, Dec 22, 2016 at 07:43:39AM -0700, Jan Beulich wrote:
> >> binary. We've now had reports that on binutils with both coff-x86_64
> >> and pe-x86_64 configured in (but defaulting to ELF), linking fails due
> >> to the object being ambiguous.
> > 
> > match_priority was invented for exactly this sort of situation.
> 
> Interesting: I don't see how that would help here, as I don't see
> why (and on what basis) to "prefer" one variant over the other.
> Looking over the source, at least relocation addend handling is
> different between the two, and without other (sideband?) info
> I don't think one can guess the format to be used. The situation
> in our case is different, because we don't care which of the two
> gets used, ad we don't care about their differences.

Hmm, I wonder why coff-x86_64.c has

#ifdef PE
#define amd64coff_object_p pe_bfd_object_p
#else
#define amd64coff_object_p coff_object_p
#endif

and not #ifdef COFF_WITH_PE?

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list