[PATCH] Add bigobj support to AArch64 COFF

Alice Carlotti alice.carlotti@arm.com
Wed Oct 1 16:05:24 GMT 2025


On Mon, Sep 29, 2025 at 05:37:20AM -0700, Evgeny Karpov wrote:
> Fri Sep 26 2025
> Jan Beulich <jbeulich@suse.com> wrote:
> >> +    targ_selvecs="aarch64_pe_le_vec aarch64_pei_le_vec
> >> aarch64_pe_big_vec aarch64_elf64_le_vec aarch64_elf64_be_vec
> >> aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec
> >> arm_elf32_be_vec pdb_vec"
> >
> > There's no endianness indicator in the new name; in fact "big" in the name thus
> > ends up ambiguous.
> 
> The aarch64_pe_big_vec naming follows the same pattern as it used in x86_64.
> i386_pe_big_vec and x86_64_pe_big_vec.

The difference you've overlooked is that i386/x86_64 is always little-endian,
so we don't need to explicitly specify endianness. On the other hand, aarch64
can be either endianness, so endianness is explicitly specified here.

Following the same pattern would mean adding "big" into "aarch64_pe_le_vec" to
get either "aarch64_pe_le_big_vec" or "aarch64_pe_big_le_vec".
(I'm not sure whether "big" should be attached to "pe" or placed at the end;
attaching it to the "pe" would be more consistent with the other names
discussed below).

> 
> > Note also that your patch came through line-wrapped.
> 
> It will be fixed in the next submission.
> 
> > bool (and then false here and true below) please.
> 
> It will be changed in the next version.
> 
> > This will want accompanying by a doc update.
> 
> gas/doc/c-aarch64.texi will be extended with documentation.
> 
> >> +.*: *file format (pe-bigobj-.*|pe-aarch64-bigobj)
> >
> > This also suggests a naming inconsistency.
> 
> pei-aarch64-little and pe-aarch64-little are the main pattern here.
> The pe-aarch64-bigobj naming follows them.

For x86_64, we have "pe-x86-64" -> "pe-bigobj-x86-64".
Following the same pattern for aarch64 would produce
"pe-aarch64-little" -> "pe-bigobj-aarch64-little".

> 
> Regards,
> Evgeny


More information about the Binutils mailing list