aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2011-05-04 11:05:14 +0000
committerTristan Gingold <gingold@adacore.com>2011-05-04 11:05:14 +0000
commit7f41df2e753913078b4bf1ce29532c50353cbbc0 (patch)
treec2d3198fcc44fcfd2fee9544bab1f3d6e3c0d7f4
parentff46fb8f3abb618b4de93f986eb8d343d2be089c (diff)
downloadgdb-7f41df2e753913078b4bf1ce29532c50353cbbc0.zip
gdb-7f41df2e753913078b4bf1ce29532c50353cbbc0.tar.gz
gdb-7f41df2e753913078b4bf1ce29532c50353cbbc0.tar.bz2
include/coff
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.
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/coff-rs6000.c15
-rw-r--r--bfd/coff64-rs6000.c14
-rw-r--r--include/coff/ChangeLog5
-rw-r--r--include/coff/rs6000.h17
-rw-r--r--include/coff/rs6k64.h20
6 files changed, 49 insertions, 29 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9437475..7af29f0 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index 41bec09..21da658 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -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;
diff --git a/bfd/coff64-rs6000.c b/bfd/coff64-rs6000.c
index cb2f1cc..1887bb9 100644
--- a/bfd/coff64-rs6000.c
+++ b/bfd/coff64-rs6000.c
@@ -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;
diff --git a/include/coff/ChangeLog b/include/coff/ChangeLog
index 744d7e2..b2fe5af 100644
--- a/include/coff/ChangeLog
+++ b/include/coff/ChangeLog
@@ -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.
diff --git a/include/coff/rs6000.h b/include/coff/rs6000.h
index c72e6e9..d5b2af2 100644
--- a/include/coff/rs6000.h
+++ b/include/coff/rs6000.h
@@ -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 */
diff --git a/include/coff/rs6k64.h b/include/coff/rs6k64.h
index ef91db4..453198a 100644
--- a/include/coff/rs6k64.h
+++ b/include/coff/rs6k64.h
@@ -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 {