Re: [PATCH v2] PE/COFF: auto-promote oversized objects to bigobj

Oleg Tolmatcev <[email protected]>
Newsgroups gmane.comp.gnu.binutils
Message-ID <CACcXsZgUOUwVhGHxA3fDdX68yQ=iemdm3D_=VAYgUxkzu+g=mg@mail.gmail.com>
Am Fr., 26. Juni 2026 um 08:59 Uhr schrieb Jan Beulich <[email protected]>:
>
> On 23.06.2026 23:39, Oleg Tolmatcev wrote:
> > @@ -3154,6 +3158,16 @@ coff_compute_section_file_positions (bfd * abfd)
> >
> >    if (target_index >= bfd_coff_max_nscns (abfd))
> >      {
> > +#ifdef COFF_WITH_PE_BIGOBJ
> > +      if (abfd->xvec != &TARGET_SYM_BIG)
> > +     {
> > +       /* Regular PE/COFF uses 16-bit section numbers in symbols.
> > +          Promote oversized objects to the matching bigobj target
> > +          before any headers or symbols are finalized.  */
> > +       abfd->xvec = &TARGET_SYM_BIG;
> > +       return coff_compute_section_file_positions (abfd);
> > +     }
> > +#endif
> >        bfd_set_error (bfd_error_file_too_big);
> >        _bfd_error_handler
> >       /* xgettext:c-format */
>
> It occurs to me only now that this new behavior affects not only COFF
> objects, but also PE binaries. For the former the defaulting is imo okay
> (as previously indicated), as you'll notice when linking that the linker
> can't deal with the objects (and a newer linker needs using, or section
> count needs bringing down). For the latter, however, an executable may
> be produced which you have no way of knowing that it won't work with
> certain loaders (because all you can ever test with is a limited set of
> loaders). IOW I think the conditional may want to be
>
> #if defined(COFF_WITH_PE_BIGOBJ) && !defined(COFF_IMAGE_WITH_PE)
>
> Thoughts? I can certainly make that adjustment while committing, as
> long as we can come to an agreement.

I agree. The COFF objects case is the important one for me. Thanks.

Oleg.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.