summaryrefslogtreecommitdiff
path: root/bfd/coffswap.h
diff options
context:
space:
mode:
authorDJ Delorie <dj@delorie.com>1999-05-11 21:05:44 +0000
committerDJ Delorie <dj@delorie.com>1999-05-11 21:05:44 +0000
commit436e09cc959b8bbc222cd63ce7873ef25383b441 (patch)
tree8460106e5d5f40f913b827631d4c60d3bdd71958 /bfd/coffswap.h
parentac5429cbc800b60040b8b230186493015596b8fa (diff)
downloadgdb-436e09cc959b8bbc222cd63ce7873ef25383b441.tar.gz
* ecoff.c (_bfd_ecoff_write_armap): give the symtab element a
reasonable mode until "ar x" is smart enough to skip it (fixes gcc/libgcc.a builds on mips-ecoff targets * coffcode.h (styp_to_sec_flags): Explain how COMDATs are supposed to work. Hack to support MS import libraries, which use different COMDAT types than GNU. (coff_slurp_symbol_table): C_SECTION symbols are local; they refer to implied zero-length sections (see peicode below) * coffgen.c (coff_get_normalized_symtab): Properly read long MS filename symbols, which use one *or more* auxents. * coffswap.h (coff_swap_aux_in): ditto * peicode.h (coff_swap_sym_in): Build the implied zero-length sections
Diffstat (limited to 'bfd/coffswap.h')
-rw-r--r--bfd/coffswap.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/bfd/coffswap.h b/bfd/coffswap.h
index ae30a5d966f..9bc180f4de8 100644
--- a/bfd/coffswap.h
+++ b/bfd/coffswap.h
@@ -422,7 +422,16 @@ coff_swap_aux_in (abfd, ext1, type, class, indx, numaux, in1)
#if FILNMLEN != E_FILNMLEN
-> Error, we need to cope with truncating or extending FILNMLEN!;
#else
- memcpy (in->x_file.x_fname, ext->x_file.x_fname, FILNMLEN);
+ if (numaux > 1)
+ {
+ if (indx == 0)
+ memcpy (in->x_file.x_fname, ext->x_file.x_fname,
+ numaux * sizeof (AUXENT));
+ }
+ else
+ {
+ memcpy (in->x_file.x_fname, ext->x_file.x_fname, FILNMLEN);
+ }
#endif
}
goto end;