From: Nick Clifton Date: Wed, 1 Dec 2021 11:29:34 +0000 (+0000) Subject: Fix the fields in the x_n union inside the the x_file structure so that pointers... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=92fc129e2b0066706ee8971d311f2c507ce38d4b;p=binutils-gdb.git 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. --- diff --git a/include/ChangeLog b/include/ChangeLog index c0486e9acf9..c5b3631ae83 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,9 @@ +2021-12-01 Nick Clifton + + PR 28630 + * coff/internal.h (x_n): Use bfd_hostptr_t for the fields in this + structure. + 2021-11-25 Andrew Burgess Simon Cook diff --git a/include/coff/internal.h b/include/coff/internal.h index d01af7380c8..3c61253effd 100644 --- a/include/coff/internal.h +++ b/include/coff/internal.h @@ -540,7 +540,6 @@ union internal_auxent { struct { - union { long l; /* str, un, or enum tag indx */ @@ -580,18 +579,23 @@ union internal_auxent struct { - union { - /* PR 17754: We use to FILNMLEN for the size of the x_fname + union + { + /* 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 value. We cannot use their definition of E_FILNMLEN as this header can be used without including any PE headers. */ char x_fname[20]; struct { - long x_zeroes; - long x_offset; + /* PR 28630: We use bfd_hostptr_t because these fields may be + 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; + unsigned char x_ftype; } x_file;