Files
binutils-gdb/include
Alan Modra 6274233ac8 PR 33302, Symbols truncated on i386pep target
Commit 012d442686 effectively made peXXigen.c _bfd_XXi_swap_aux_out
always use the COFF E_FILNMLEN of 14.  The problem was that the auxent
x_fname field was defined in include/coff/external.h using a length of
14.  Later, E_FILNMLEN is redefined to 18 in coff/pe.h.  This no doubt
falsely tripped memory checking tools.  AUXESZ is 18, so no actual
buffer overrun.

This patch defines x_fname as an 18 char field, the full auxent, and
uses E_FILNMLEN when accessing.

	PR 33302
include/
	* coff/external.h (union external_auxent): Make x_fname
	AUXESZ chars.
bfd/
	* coffswap.h (coff_swap_aux_in): Correct #error message.
	(coff_swap_aux_out): Likewise.  Use E_FILNMLEN when copying
	to ext field.
	* peXXigen.c (_bfd_XXi_swap_aux_in): Add #error.  Style fix.
	(_bfd_XXi_swap_aux_out): Add #error.  Don't use sizeof, use
	E_FILNMLEN when copying to ext field.
gas
	* testsuite/gas/pe/long_file_symbol.d,
	* testsuite/gas/pe/long_file_symbol.s: New test.
	* testsuite/gas/pe/pe.exp: Run it.

Reported-By: Frediano Ziglio <freddy77@gmail.com>
2025-08-25 08:28:38 +09:30
..
2025-02-18 09:16:57 +10:30
2025-07-13 08:35:45 +01:00
2025-07-10 14:26:10 +01:00
2025-03-10 16:15:42 -04:00
2025-03-10 16:15:42 -04:00
2025-05-20 09:49:13 +02:00
2025-07-12 01:09:17 -07:00