aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/coffgen.c8
2 files changed, 10 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 728337e..0ceebc3 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -23,6 +23,11 @@ Fri Oct 6 12:24:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
Fri Oct 6 12:04:02 1995 Ian Lance Taylor <ian@cygnus.com>
+ * coffgen.c (coff_fix_symbol_name): Don't try to set up file
+ auxent if there isn't one.
+ (coff_write_symbols): If there is no file auxent, use SYMNMLEN
+ rather than FILNMLEN as the maximum name length.
+
* coffcode.h (bfd_coff_backend_data): Add new field
_bfd_coff_print_aux.
(bfd_coff_print_aux): New static function.
diff --git a/bfd/coffgen.c b/bfd/coffgen.c
index fe3676b..0df46b7 100644
--- a/bfd/coffgen.c
+++ b/bfd/coffgen.c
@@ -624,7 +624,8 @@ coff_fix_symbol_name (abfd, symbol, native, string_size_p,
}
name_length = strlen (name);
- if (native->u.syment.n_sclass == C_FILE)
+ if (native->u.syment.n_sclass == C_FILE
+ && native->u.syment.n_numaux > 0)
{
strncpy (native->u.syment._n._n_name, ".file", SYMNMLEN);
auxent = &(native + 1)->u.auxent;
@@ -652,7 +653,7 @@ coff_fix_symbol_name (abfd, symbol, native, string_size_p,
}
}
else
- { /* NOT A C_FILE SYMBOL */
+ {
if (name_length <= SYMNMLEN)
{
/* This name will fit into the symbol neatly */
@@ -1024,7 +1025,8 @@ coff_write_symbols (abfd)
Don't write it into the string table. */
maxlen = name_length;
}
- else if (c_symbol->native->u.syment.n_sclass == C_FILE)
+ else if (c_symbol->native->u.syment.n_sclass == C_FILE
+ && c_symbol->native->u.syment.n_numaux > 0)
maxlen = FILNMLEN;
else
maxlen = SYMNMLEN;