diff options
author | Peter Schauer <Peter.Schauer@mytum.de> | 1994-03-15 21:46:32 +0000 |
---|---|---|
committer | Peter Schauer <Peter.Schauer@mytum.de> | 1994-03-15 21:46:32 +0000 |
commit | ae6d035d284f36a654186f284ead34a246eb86de (patch) | |
tree | 81117ce5058d3d7984ef902010a3d4b4a39c63c2 /gdb/xcoffread.c | |
parent | f1b4e13156bf7987b306aaacc649e66e26f3c5f6 (diff) | |
download | gdb-ae6d035d284f36a654186f284ead34a246eb86de.zip gdb-ae6d035d284f36a654186f284ead34a246eb86de.tar.gz gdb-ae6d035d284f36a654186f284ead34a246eb86de.tar.bz2 |
For Sunos 4.x targets, enable gdb to set breakpoints in shared
library functions before the executable is run. Retrieve dynamic
symbols from stripped executables.
* symtab.h (minimal_symbol_type): Add mst_solib_trampoline type.
* parse.c (write_exp_msymbol), symmisc.c (dump_msymbols),
symtab.c (list_symbols): Handle mst_solib_trampoline.
* minsyms.c (lookup_minimal_symbol): Handle mst_solib_trampoline
for all targets, remove IBM6000_TARGET dependencies.
* dbxread.c (read_dbx_dynamic_symtab): New function.
* dbxread.c (dbx_symfile_read): Use it.
* dbxread.c (SET_NAMESTRING): Set namestring to
"<bad string table index>" instead of "foo" if the string index is
corrupt.
* xcoffread.c (read_xcoff_symtab): Use mst_solib_trampoline instead
of mst_unknown.
* symtab.c (list_symbols): Take from_tty as parameter and pass it
to break_command. Handle mst_file_* minimal symbol types.
Diffstat (limited to 'gdb/xcoffread.c')
-rw-r--r-- | gdb/xcoffread.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c index 795c901..06aa3c9 100644 --- a/gdb/xcoffread.c +++ b/gdb/xcoffread.c @@ -1311,8 +1311,9 @@ function_entry_point: /* shared library function trampoline code entry point. */ else if (CSECT_SCLAS (&main_aux) == XMC_GL) { - /* record trampoline code entries as mst_unknown symbol. When we - lookup mst symbols, we will choose mst_text over mst_unknown. */ + /* record trampoline code entries as mst_solib_trampoline symbol. + When we lookup mst symbols, we will choose mst_text over + mst_solib_trampoline. */ #if 1 /* After the implementation of incremental loading of shared @@ -1323,21 +1324,23 @@ function_entry_point: consistient with gdb's behaviour on a SUN platform. */ /* Trying to prefer *real* function entry over its trampoline, - by assigning `mst_unknown' type to trampoline entries fails. - Gdb treats those entries as chars. FIXME. */ + by assigning `mst_solib_trampoline' type to trampoline entries + fails. Gdb treats those entries as chars. FIXME. */ /* Recording this entry is necessary. Single stepping relies on this vector to get an idea about function address boundaries. */ prim_record_minimal_symbol_and_info - ("<trampoline>", cs->c_value, mst_unknown, + ("<trampoline>", cs->c_value, mst_solib_trampoline, (char *)NULL, cs->c_secnum, objfile); #else - /* record trampoline code entries as mst_unknown symbol. When we - lookup mst symbols, we will choose mst_text over mst_unknown. */ + /* record trampoline code entries as mst_solib_trampoline symbol. + When we lookup mst symbols, we will choose mst_text over + mst_solib_trampoline. */ - RECORD_MINIMAL_SYMBOL (cs->c_name, cs->c_value, mst_unknown, + RECORD_MINIMAL_SYMBOL (cs->c_name, cs->c_value, + mst_solib_trampoline, symname_alloced, objfile); #endif continue; |