OSDN Git Service

include/coff
authorgingold <gingold>
Wed, 4 May 2011 11:05:13 +0000 (11:05 +0000)
committergingold <gingold>
Wed, 4 May 2011 11:05:13 +0000 (11:05 +0000)
2011-05-04  Tristan Gingold  <gingold@adacore.com>

* rs6000.h (union external_auxent): Add x_ftype field.
* rs6k64.h: (struct external_auxent): Remap x_file field.

bfd/
2011-04-28  Tristan Gingold  <gingold@adacore.com>

* coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file.
(bfd_xcoff_swap_aux_out): Ditto.
* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto.
(bfd_xcoff64_swap_aux_out): Ditto.

bfd/ChangeLog
bfd/coff-rs6000.c
bfd/coff64-rs6000.c
include/coff/ChangeLog
include/coff/rs6000.h
include/coff/rs6k64.h

index 9437475..7af29f0 100644 (file)
@@ -1,3 +1,10 @@
+2011-04-28  Tristan Gingold  <gingold@adacore.com>
+
+       * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file.
+       (bfd_xcoff_swap_aux_out): Ditto.
+       * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto.
+       (bfd_xcoff64_swap_aux_out): Ditto.
+
 2011-05-04  Alan Modra  <amodra@gmail.com>
 
        PR ld/12727
index 41bec09..21da658 100644 (file)
@@ -463,23 +463,23 @@ _bfd_xcoff_swap_aux_in (bfd *abfd, PTR ext1, int type, int in_class,
   switch (in_class)
     {
     case C_FILE:
-      if (ext->x_file.x_fname[0] == 0)
+      if (ext->x_file.x_n.x_fname[0] == 0)
        {
          in->x_file.x_n.x_zeroes = 0;
          in->x_file.x_n.x_offset =
-           H_GET_32 (abfd, ext->x_file.x_n.x_offset);
+           H_GET_32 (abfd, ext->x_file.x_n.x_n.x_offset);
        }
       else
        {
          if (numaux > 1)
            {
              if (indx == 0)
-               memcpy (in->x_file.x_fname, ext->x_file.x_fname,
+               memcpy (in->x_file.x_fname, ext->x_file.x_n.x_fname,
                        numaux * sizeof (AUXENT));
            }
          else
            {
-             memcpy (in->x_file.x_fname, ext->x_file.x_fname, FILNMLEN);
+             memcpy (in->x_file.x_fname, ext->x_file.x_n.x_fname, FILNMLEN);
            }
        }
       goto end;
@@ -578,12 +578,13 @@ _bfd_xcoff_swap_aux_out (bfd *abfd, PTR inp, int type, int in_class,
     case C_FILE:
       if (in->x_file.x_fname[0] == 0)
        {
-         H_PUT_32 (abfd, 0, ext->x_file.x_n.x_zeroes);
-         H_PUT_32 (abfd, in->x_file.x_n.x_offset, ext->x_file.x_n.x_offset);
+         H_PUT_32 (abfd, 0, ext->x_file.x_n.x_n.x_zeroes);
+         H_PUT_32 (abfd, in->x_file.x_n.x_offset,
+                    ext->x_file.x_n.x_n.x_offset);
        }
       else
        {
-         memcpy (ext->x_file.x_fname, in->x_file.x_fname, FILNMLEN);
+         memcpy (ext->x_file.x_n.x_fname, in->x_file.x_fname, FILNMLEN);
        }
       goto end;
 
index cb2f1cc..1887bb9 100644 (file)
@@ -353,14 +353,15 @@ _bfd_xcoff64_swap_aux_in (bfd *abfd, void *ext1, int type, int in_class,
   switch (in_class)
     {
     case C_FILE:
-      if (ext->x_file.x_n.x_zeroes[0] == 0)
+      if (ext->x_file.x_n.x_n.x_zeroes[0] == 0)
        {
          in->x_file.x_n.x_zeroes = 0;
-         in->x_file.x_n.x_offset = H_GET_32 (abfd, ext->x_file.x_n.x_offset);
+         in->x_file.x_n.x_offset =
+            H_GET_32 (abfd, ext->x_file.x_n.x_n.x_offset);
        }
       else
        {
-         memcpy (in->x_file.x_fname, ext->x_file.x_fname, FILNMLEN);
+         memcpy (in->x_file.x_fname, ext->x_file.x_n.x_fname, FILNMLEN);
        }
       goto end;
 
@@ -444,12 +445,13 @@ _bfd_xcoff64_swap_aux_out (bfd *abfd, void *inp, int type, int in_class,
     case C_FILE:
       if (in->x_file.x_n.x_zeroes == 0)
        {
-         H_PUT_32 (abfd, 0, ext->x_file.x_n.x_zeroes);
-         H_PUT_32 (abfd, in->x_file.x_n.x_offset, ext->x_file.x_n.x_offset);
+         H_PUT_32 (abfd, 0, ext->x_file.x_n.x_n.x_zeroes);
+         H_PUT_32 (abfd, in->x_file.x_n.x_offset,
+                    ext->x_file.x_n.x_n.x_offset);
        }
       else
        {
-         memcpy (ext->x_file.x_fname, in->x_file.x_fname, FILNMLEN);
+         memcpy (ext->x_file.x_n.x_fname, in->x_file.x_fname, FILNMLEN);
        }
       H_PUT_8 (abfd, _AUX_FILE, ext->x_auxtype.x_auxtype);
       goto end;
index 744d7e2..b2fe5af 100644 (file)
@@ -1,5 +1,10 @@
 2011-05-04  Tristan Gingold  <gingold@adacore.com>
 
+       * rs6000.h (union external_auxent): Add x_ftype field.
+       * rs6k64.h: (struct external_auxent): Remap x_file field.
+
+2011-05-04  Tristan Gingold  <gingold@adacore.com>
+
        * rs6000.h (struct external_exceptab): New struct.
        (EXCEPTSZ): New macro.
        * rs6k64.h: (struct external_exceptab): New struct.
index c72e6e9..d5b2af2 100644 (file)
@@ -168,13 +168,16 @@ union external_auxent {
                char x_tvndx[2];                /* tv index */
        } x_sym;
 
-       union {
-               char x_fname[E_FILNMLEN];
-               struct {
-                       char x_zeroes[4];
-                       char x_offset[4];
-               } x_n;
-       } x_file;
+        struct {
+                union {
+                        char x_fname[E_FILNMLEN];
+                        struct {
+                                char x_zeroes[4];
+                                char x_offset[4];
+                        } x_n;
+                } x_n;
+                char x_ftype[1];
+        } x_file;
 
        struct {
                char x_scnlen[4];                       /* section length */
index ef91db4..453198a 100644 (file)
@@ -152,15 +152,17 @@ union external_auxent
        } x_fcnary;
     } x_sym;
          
-    union {
-       char x_fname[E_FILNMLEN];
-       struct {
-           char x_zeroes[4];
-           char x_offset[4];
-           char          x_pad[6];
-           unsigned char x_ftype[1];
-           unsigned char x_resv[2];
-       } x_n;
+    struct {
+        union {
+            char x_fname[E_FILNMLEN];
+            struct {
+               char x_zeroes[4];
+                char x_offset[4];
+               char x_pad[6];
+            } x_n;
+        } x_n;
+        unsigned char x_ftype[1];
+        unsigned char x_resv[2];
     } x_file;
 
     struct {