aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1994-03-30 22:10:18 +0000
committerIan Lance Taylor <ian@airs.com>1994-03-30 22:10:18 +0000
commit70f42bae0b1b4d71dfa1b0da6a29d1e82053b118 (patch)
tree405c7bf6cdf03b271cdef51c0b4733c726a9318f
parentbd7fc39d753fe063c4cfbeffbf75b282891c6756 (diff)
downloadgdb-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/ChangeLog8
-rw-r--r--gdb/elfread.c16
-rw-r--r--gdb/nlmread.c14
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++)
{