binutils-gdb/gas/doc
Tamar Christina 251dae9107 x86: Add i386 PE big-object support
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.

bfd/ChangeLog:

	* 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:

	* 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:

	* pe-dll.c (pe_detail_list):  Add pe-bigobj-i386.
2020-04-27 17:41:39 +01:00
..
Makefile.am Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
Makefile.in Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
all.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
as.texi .symver fixes 2020-04-22 22:24:03 +09:30
c-aarch64.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-alpha.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-arc.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-arm.texi [binutils][arm] arm support for ARMv8.m Custom Datapath Extension 2020-02-10 16:50:14 +00:00
c-avr.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-bfin.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-bpf.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-cr16.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-cris.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-csky.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-d10v.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-d30v.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-epiphany.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-h8300.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-hppa.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-i386.texi x86: Add i386 PE big-object support 2020-04-27 17:41:39 +01:00
c-ia64.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-ip2k.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-lm32.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-m32c.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-m32r.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-m68hc11.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-m68k.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-metag.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-microblaze.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-mips.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-mmix.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-msp430.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-mt.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-nds32.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-nios2.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-ns32k.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-or1k.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-pdp11.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-pj.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-ppc.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-pru.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-riscv.texi RISC-V: Support assembler modifier %got_pcrel_hi. 2020-03-04 17:11:37 -08:00
c-rl78.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-rx.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-s12z.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-s390.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-score.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-sh.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-sparc.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-tic6x.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-tic54x.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-tilegx.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-tilepro.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-v850.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-vax.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-visium.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-wasm32.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-xc16x.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-xgate.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-xstormy16.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-xtensa.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-z8k.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
c-z80.texi gas/doc/c-z80.texi: Fix @xref warnings 2020-04-07 04:21:41 -07:00
fdl.texi
h8.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
internals.texi Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30