[PATCH][Binutils][x86][PE][MingW] Add i386 PE big-object support
Tamar Christina
Tamar.Christina@arm.com
Mon Apr 27 10:36:31 GMT 2020
More information about the Binutils mailing list
Mon Apr 27 10:36:31 GMT 2020
- Previous message (by thread): [PATCH][Binutils][x86][PE][MingW] Add i386 PE big-object support
- Next message (by thread): [PATCH][Binutils][x86][PE][MingW] Add i386 PE big-object support
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Ping. > -----Original Message----- > From: Binutils <binutils-bounces@sourceware.org> On Behalf Of Tamar > Christina > Sent: Tuesday, April 21, 2020 5:44 PM > To: binutils@sourceware.org > Cc: me+binutils@cgf.cx; nd <nd@arm.com>; dave.korn.cygwin@gmail.com > Subject: [PATCH][Binutils][x86][PE][MingW] Add i386 PE big-object > support > > Hi All, > > The 64-bit version of binutils got support for the PE COFF BIG OBJ format a > couple of years ago. The BIG OBJ format is a slightly different COFF format > which extends the size of the number of section field in the header > from a uint16_t to a uint32_t and so greatly increases the number of > sections allowed. > > However the 32-bit version of bfd never got support for this. The GHC > Haskell compiler generates a great deal of symbols due to it's use of > - ffunction-sections and -fdata-sections. > > This meant that we could not build the 32-bit version of the GHC > Compiler for many releases now as binutils didn't have this support. > > This patch adds the support to the 32-bit port of binutils as well and > also does come cleanup in the code. > > build on native hardware and regtested on > i386-w64-mingw32 and x86_64-w64-mingw64 > > and no issues. > > Ok for master? > > Thanks, > Tamar > > bfd/ChangeLog: > > 2020-04-21 Tamar Christina <tamar.christina@arm.com> > > PR binutils/XXXX > * coff-i386.c (COFF_WITH_PE_BIGOBJ): New. > * coff-x86_64.c (COFF_WITH_PE_BIGOBJ): New. > * config.bfd (targ_selvecs): Rename x86_64_pe_be_vec > to x86_64_pe_big_vec as it not a big-endian format. > (vec i386_pe_big_vec): New. > * configure.ac: Likewise. > * targets.c: Likewise. > * configure: Regenerate. > * pe-i386.c (TARGET_SYM_BIG, TARGET_NAME_BIG, > COFF_WITH_PE_BIGOBJ): New. > * pe-x86_64.c (TARGET_SYM_BIG, TARGET_NAME_BIG): > New. > (x86_64_pe_be_vec): Moved. > > gas/ChangeLog: > > 2020-04-21 Tamar Christina <tamar.christina@arm.com> > > PR binutils/XXXX > * NEWS: Add news entry for big-obj. > * config/tc-i386.c (i386_target_format): Support new format. > * doc/c-i386.texi: Add i386 support. > * testsuite/gas/pe/big-obj.d: Rename test to not be x64 specific. > * testsuite/gas/pe/pe.exp (big-obj): Make test run on i386 as well. > > ld/ChangeLog: > > 2020-04-21 Tamar Christina <tamar.christina@arm.com> > > PR binutils/XXXX > * pe-dll.c (pe_detail_list): Add pe-bigobj-i386. > > --
- Previous message (by thread): [PATCH][Binutils][x86][PE][MingW] Add i386 PE big-object support
- Next message (by thread): [PATCH][Binutils][x86][PE][MingW] Add i386 PE big-object support
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list