aboutsummaryrefslogtreecommitdiff
path: root/gdb/dbxread.c
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1991-05-02 03:39:15 +0000
committerJohn Gilmore <gnu@cygnus>1991-05-02 03:39:15 +0000
commit639893384d5faeaa671f98dfc3ed169e9aa2ccc9 (patch)
tree40f7a4988d62134fc87b4150350a47248d3169a2 /gdb/dbxread.c
parente77463a15c9c8cdb06a47cf3f84bac76eddd1f25 (diff)
downloadgdb-639893384d5faeaa671f98dfc3ed169e9aa2ccc9.zip
gdb-639893384d5faeaa671f98dfc3ed169e9aa2ccc9.tar.gz
gdb-639893384d5faeaa671f98dfc3ed169e9aa2ccc9.tar.bz2
Merge devo/bfd with GDB's bfd.
Get getopt and obstack from -liberty rather than compiling them here. * coffread.c: turn a printf into a complain(), and try to deal more gracefully with botched-looking lineno pointers. * dbxread.c: Use bfd_get_symcount rather than bfd_get_symcount_upper_bound. Don't coredump on files with zero symbols in them (a BFD bug showed this one). * environ.c: Pass GNUTARGET into the parent (gdb) as well as the child.
Diffstat (limited to 'gdb/dbxread.c')
-rw-r--r--gdb/dbxread.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 1760656..5abe56e 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -1404,7 +1404,7 @@ dbx_symfile_init (sf)
info->text_sect = bfd_get_section_by_name (sym_bfd, ".text");
if (!info->text_sect)
abort();
- info->symcount = bfd_get_symcount_upper_bound(sym_bfd); /* It's exact for a.out */
+ info->symcount = bfd_get_symcount (sym_bfd);
/* Read the string table size and check it for bogosity. */
val = lseek (desc, STRING_TABLE_OFFSET, L_SET);
@@ -2334,7 +2334,8 @@ read_dbx_symtab (symfile_name, addr,
}
/* If there's stuff to be cleaned up, clean it up. */
- if (entry_point < bufp->n_value
+ if (nlistlen > 0 /* We have some syms */
+ && entry_point < bufp->n_value
&& entry_point >= last_o_file_start)
{
startup_file_start = last_o_file_start;