aboutsummaryrefslogtreecommitdiff
path: root/gdb/xcoffread.c
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1994-03-15 21:46:32 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1994-03-15 21:46:32 +0000
commitae6d035d284f36a654186f284ead34a246eb86de (patch)
tree81117ce5058d3d7984ef902010a3d4b4a39c63c2 /gdb/xcoffread.c
parentf1b4e13156bf7987b306aaacc649e66e26f3c5f6 (diff)
downloadgdb-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.c19
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;