* xcoffexec.c (add_vmap): Wrap symbol read in catch_errors.

This commit is contained in:
Jim Kingdon 1993-03-17 04:07:29 +00:00
parent c84a96d741
commit 8112a7114b
2 changed files with 30 additions and 4 deletions

View File

@ -1,3 +1,15 @@
Tue Mar 16 15:18:17 1993 Jim Kingdon (kingdon@cygnus.com)
* xcoffexec.c (add_vmap): Wrap symbol read in catch_errors.
* xcoffread.c (read_symbol_lineno): Look to end of symbols for .bf,
not just 50 symbols.
(symtbl_num_syms): New variable.
(read_xcoff_symtab): Set it.
(read_symbol_nvalue): Check for bad symno.
(read_symbol_{lineno,nvalue}, callers): Don't pass symtable; it's
always symtbl.
Tue Mar 16 10:09:05 1993 Stu Grossman (grossman@cygnus.com)
* config/rs6000.mh: Get rid of -Dfd_set=int crock.

View File

@ -465,6 +465,17 @@ CORE_ADDR old_start;
}
}
/* Add symbols for an objfile. */
static int
objfile_symbol_add (arg)
char *arg;
{
struct objfile *obj = (struct objfile *) arg;
syms_from_objfile (obj, 0, 0, 0);
new_symfile_objfile (obj, 0, 0);
return 1;
}
static struct vmap *add_vmap PARAMS ((struct ld_info *));
/* Add a new vmap entry based on ldinfo() information.
@ -540,10 +551,13 @@ add_vmap(ldi)
vp->objfile = obj;
#ifndef SOLIB_SYMBOLS_MANUAL
syms_from_objfile (obj, 0, 0, 0);
new_symfile_objfile (obj, 0, 0);
vmap_symtab (vp, 0, 0);
vp->loaded = 1;
if (catch_errors (objfile_symbol_add, (char *)obj,
"Error while reading shared library symbols:\n"))
{
/* Note this is only done if symbol reading was successful. */
vmap_symtab (vp, 0, 0);
vp->loaded = 1;
}
#endif
return vp;
}