Fix the fields in the x_n union inside the the x_file structure so that pointers can be stored.

PR 28630
	* coff/internal.h (x_n): Use bfd_hostptr_t for the fields in this
	structure.
This commit is contained in:
Nick Clifton
2021-12-01 11:29:34 +00:00
parent 288712bbac
commit 92fc129e2b
2 changed files with 15 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2021-12-01 Nick Clifton <nickc@redhat.com>
PR 28630
* coff/internal.h (x_n): Use bfd_hostptr_t for the fields in this
structure.
2021-11-25 Andrew Burgess <aburgess@redhat.com> 2021-11-25 Andrew Burgess <aburgess@redhat.com>
Simon Cook <simon.cook@embecosm.com> Simon Cook <simon.cook@embecosm.com>

View File

@ -540,7 +540,6 @@ union internal_auxent
{ {
struct struct
{ {
union union
{ {
long l; /* str, un, or enum tag indx */ long l; /* str, un, or enum tag indx */
@ -580,18 +579,23 @@ union internal_auxent
struct struct
{ {
union { union
/* PR 17754: We use to FILNMLEN for the size of the x_fname {
/* PR 17754: We used to use FILNMLEN for the size of the x_fname
array, but that causes problems as PE targets use a larger array, but that causes problems as PE targets use a larger
value. We cannot use their definition of E_FILNMLEN as this value. We cannot use their definition of E_FILNMLEN as this
header can be used without including any PE headers. */ header can be used without including any PE headers. */
char x_fname[20]; char x_fname[20];
struct struct
{ {
long x_zeroes; /* PR 28630: We use bfd_hostptr_t because these fields may be
long x_offset; used to hold pointers. We assume that this type is at least
as big as the long type. */
bfd_hostptr_t x_zeroes;
bfd_hostptr_t x_offset;
} x_n; } x_n;
} x_n; } x_n;
unsigned char x_ftype; unsigned char x_ftype;
} x_file; } x_file;