binutils-gdb/gas/testsuite/gas/pe
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
..
aligncomm-a.d
aligncomm-a.s
aligncomm-b.d
aligncomm-b.s
aligncomm-c.d
aligncomm-c.s
aligncomm-d.d Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
aligncomm-d.s
big-obj.d x86: Add i386 PE big-object support 2020-04-27 17:41:39 +01:00
big-obj.s Add pe/x86_64 bigobj file format. 2014-03-13 09:33:07 +01:00
pe.exp x86: Add i386 PE big-object support 2020-04-27 17:41:39 +01:00
peseh-x64-2.d
peseh-x64-2.s
peseh-x64-3.d
peseh-x64-3.s
peseh-x64-4.d
peseh-x64-4.s
peseh-x64-5.d
peseh-x64-6.d
peseh-x64.d
peseh-x64.s
section-align-1.d Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
section-align-1.s
section-align-3.d Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
section-align-3.s
section-exclude.d Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
section-exclude.s
seh-x64-err-1.l
seh-x64-err-1.s
seh-x64-err-2.l Fix gas crash on missing seh_endproc. 2017-07-19 08:05:30 +02:00
seh-x64-err-2.s Fix gas crash on missing seh_endproc. 2017-07-19 08:05:30 +02:00
set.d Don't force "set" symbols local for PE 2014-07-12 18:50:53 +09:30
set.s Don't force "set" symbols local for PE 2014-07-12 18:50:53 +09:30