diff options
Diffstat (limited to 'bfd/coff-rs6000.c')
-rw-r--r-- | bfd/coff-rs6000.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index 31d9119..1cc2162 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -489,12 +489,13 @@ _bfd_xcoff_swap_aux_in (bfd *abfd, void * ext1, int type ATTRIBUTE_UNUSED, case C_FILE: 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 = + in->x_file.x_n.x_n.x_zeroes = 0; + in->x_file.x_n.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_n.x_fname, FILNMLEN); + memcpy (in->x_file.x_n.x_fname, ext->x_file.x_n.x_fname, FILNMLEN); + in->x_file.x_ftype = H_GET_8 (abfd, ext->x_file.x_ftype); break; /* RS/6000 "csect" auxents. @@ -573,14 +574,15 @@ _bfd_xcoff_swap_aux_out (bfd *abfd, void * inp, int type ATTRIBUTE_UNUSED, break; case C_FILE: - if (in->x_file.x_fname[0] == 0) + if (in->x_file.x_n.x_fname[0] == 0) { 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, + H_PUT_32 (abfd, in->x_file.x_n.x_n.x_offset, ext->x_file.x_n.x_n.x_offset); } else - memcpy (ext->x_file.x_n.x_fname, in->x_file.x_fname, FILNMLEN); + memcpy (ext->x_file.x_n.x_fname, in->x_file.x_n.x_fname, FILNMLEN); + H_PUT_8 (abfd, in->x_file.x_ftype, ext->x_file.x_ftype); break; /* RS/6000 "csect" auxents */ |