Fix the fields in the x_n union inside the the x_file structure so that pointers...
authorNick Clifton <nickc@redhat.com>
Wed, 1 Dec 2021 11:29:34 +0000 (11:29 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 1 Dec 2021 11:29:34 +0000 (11:29 +0000)
PR 28630
* coff/internal.h (x_n): Use bfd_hostptr_t for the fields in this
structure.

include/ChangeLog
include/coff/internal.h

index c0486e9acf9180917a9e92c74c755e1f11603e99..c5b3631ae831643d26782f3b136577a23f9e422b 100644 (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>
            Simon Cook  <simon.cook@embecosm.com>
 
index d01af7380c86a9d631038d3f50a432d8d869007b..3c61253effd83a0a67e06c0bf7f7927697f18624 100644 (file)
@@ -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;