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.
This commit is contained in:
parent
ff46fb8f3a
commit
7f41df2e75
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
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.
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue