diff options
author | Ian Lance Taylor <ian@airs.com> | 1994-03-30 22:10:18 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1994-03-30 22:10:18 +0000 |
commit | 70f42bae0b1b4d71dfa1b0da6a29d1e82053b118 (patch) | |
tree | 405c7bf6cdf03b271cdef51c0b4733c726a9318f | |
parent | bd7fc39d753fe063c4cfbeffbf75b282891c6756 (diff) | |
download | gdb-70f42bae0b1b4d71dfa1b0da6a29d1e82053b118.zip gdb-70f42bae0b1b4d71dfa1b0da6a29d1e82053b118.tar.gz gdb-70f42bae0b1b4d71dfa1b0da6a29d1e82053b118.tar.bz2 |
* elfread.c (elf_symtab_read): Change storage_needed,
number_of_symbols and i to long. Rename get_symtab_upper_bound to
bfd_get_symtab_upper_bound. Check for errors from
bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
* nlmread.c (nlm_symtab_read): Same changes.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/elfread.c | 16 | ||||
-rw-r--r-- | gdb/nlmread.c | 14 |
3 files changed, 29 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bc90023..da77cff 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +Wed Mar 30 16:14:27 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfread.c (elf_symtab_read): Change storage_needed, + number_of_symbols and i to long. Rename get_symtab_upper_bound to + bfd_get_symtab_upper_bound. Check for errors from + bfd_get_symtab_upper_bound and bfd_canonicalize_symtab. + * nlmread.c (nlm_symtab_read): Same changes. + Wed Mar 30 11:43:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com) * xcoffread.c (xcoff_next_symbol_text): New function. diff --git a/gdb/elfread.c b/gdb/elfread.c index 5e8292c..89df794 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -244,11 +244,11 @@ elf_symtab_read (abfd, addr, objfile) CORE_ADDR addr; struct objfile *objfile; { - unsigned int storage_needed; + long storage_needed; asymbol *sym; asymbol **symbol_table; - unsigned int number_of_symbols; - unsigned int i; + long number_of_symbols; + long i; int index; struct cleanup *back_to; CORE_ADDR symaddr; @@ -263,12 +263,18 @@ elf_symtab_read (abfd, addr, objfile) objfile->sym_stab_info; unsigned long size; - storage_needed = get_symtab_upper_bound (abfd); + storage_needed = bfd_get_symtab_upper_bound (abfd); + if (storage_needed < 0) + error ("Can't read symbols from %s: %s", bfd_get_filename (abfd), + bfd_errmsg (bfd_get_error ())); if (storage_needed > 0) { symbol_table = (asymbol **) xmalloc (storage_needed); back_to = make_cleanup (free, symbol_table); - number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table); + number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table); + if (number_of_symbols < 0) + error ("Can't read symbols from %s: %s", bfd_get_filename (abfd), + bfd_errmsg (bfd_get_error ())); for (i = 0; i < number_of_symbols; i++) { sym = symbol_table[i]; diff --git a/gdb/nlmread.c b/gdb/nlmread.c index 218f293..79dcfe3 100644 --- a/gdb/nlmread.c +++ b/gdb/nlmread.c @@ -119,21 +119,27 @@ nlm_symtab_read (abfd, addr, objfile) CORE_ADDR addr; struct objfile *objfile; { - unsigned int storage_needed; + long storage_needed; asymbol *sym; asymbol **symbol_table; - unsigned int number_of_symbols; - unsigned int i; + long number_of_symbols; + long i; struct cleanup *back_to; CORE_ADDR symaddr; enum minimal_symbol_type ms_type; - storage_needed = get_symtab_upper_bound (abfd); + storage_needed = bfd_get_symtab_upper_bound (abfd); + if (storage_needed < 0) + error ("Can't read symbols from %s: %s", bfd_get_filename (abfd), + bfd_errmsg (bfd_get_error ())); if (storage_needed > 0) { symbol_table = (asymbol **) xmalloc (storage_needed); back_to = make_cleanup (free, symbol_table); number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table); + if (number_of_symbols < 0) + error ("Can't read symbols from %s: %s", bfd_get_filename (abfd), + bfd_errmsg (bfd_get_error ())); for (i = 0; i < number_of_symbols; i++) { |