* xcoffread.c (xcoff_next_symbol_text): Don't return before

updating raw_symbol and symnum.  Return a value in the case where
	we complained.
This commit is contained in:
Jim Kingdon 1994-04-20 17:07:11 +00:00
parent 703e4251af
commit 963dbabee7
2 changed files with 25 additions and 5 deletions

View File

@ -1,5 +1,9 @@
Wed Apr 20 08:37:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com) Wed Apr 20 08:37:16 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
* xcoffread.c (xcoff_next_symbol_text): Don't return before
updating raw_symbol and symnum. Return a value in the case where
we complained.
* dstread.c, coffread.c: Don't define pending_blocks; buildsym.c * dstread.c, coffread.c: Don't define pending_blocks; buildsym.c
takes care of it. takes care of it.
* parse.c: Don't define block_found; it is defined in symtab.c. * parse.c: Don't define block_found; it is defined in symtab.c.

View File

@ -983,16 +983,32 @@ xcoff_next_symbol_text ()
struct internal_syment symbol; struct internal_syment symbol;
static struct complaint msg = static struct complaint msg =
{"Unexpected symbol continuation", 0, 0}; {"Unexpected symbol continuation", 0, 0};
char *retval;
bfd_coff_swap_sym_in (current_objfile->obfd, raw_symbol, &symbol); bfd_coff_swap_sym_in (current_objfile->obfd, raw_symbol, &symbol);
if (symbol.n_zeroes) if (symbol.n_zeroes)
complain (&msg); {
complain (&msg);
/* Return something which points to '\0' and hope the symbol reading
code does something reasonable. */
retval = "";
}
else if (symbol.n_sclass & 0x80) else if (symbol.n_sclass & 0x80)
return debugsec + symbol.n_offset; {
retval = debugsec + symbol.n_offset;
raw_symbol += coff_data (current_objfile->obfd)->local_symesz;
++symnum;
}
else else
complain (&msg); {
raw_symbol += coff_data (current_objfile->obfd)->local_symesz; complain (&msg);
++symnum;
/* Return something which points to '\0' and hope the symbol reading
code does something reasonable. */
retval = "";
}
return retval;
} }
/* read the whole symbol table of a given bfd. */ /* read the whole symbol table of a given bfd. */