diff options
author | Joel Brobecker <brobecker@gnat.com> | 2004-12-17 07:42:48 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2004-12-17 07:42:48 +0000 |
commit | ff644745cdc10d5dd58cb49c9968f971f72f6263 (patch) | |
tree | 2d04593591363086cb23c23b9f71dc77191527f7 /gdb/hppa-tdep.c | |
parent | bca22fde585d6cbd911f3e6e6300d389888ff228 (diff) | |
download | gdb-ff644745cdc10d5dd58cb49c9968f971f72f6263.zip gdb-ff644745cdc10d5dd58cb49c9968f971f72f6263.tar.gz gdb-ff644745cdc10d5dd58cb49c9968f971f72f6263.tar.bz2 |
* hppa-tdep.c (hppa_lookup_stub_minimal_symbol): New function.
* hppa-tdep.h (hppa_lookup_stub_minimal_symbol): Add declaration.
* solib-som.c (som_solib_create_inferior_hook): Replace stub
msymbol search by call to hppa_lookup_stub_minimal_symbol. This
extends the search to all objfiles, not just shared libraries.
Remove unused variable.
Diffstat (limited to 'gdb/hppa-tdep.c')
-rw-r--r-- | gdb/hppa-tdep.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index 44c6f8d..46a7b08 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -2255,6 +2255,31 @@ hppa_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) return pc & ~0x3; } +/* Return the minimal symbol whose name is NAME and stub type is STUB_TYPE. + Return NULL if no such symbol was found. */ + +struct minimal_symbol * +hppa_lookup_stub_minimal_symbol (const char *name, + enum unwind_stub_types stub_type) +{ + struct objfile *objfile; + struct minimal_symbol *msym; + + ALL_MSYMBOLS (objfile, msym) + { + if (strcmp (SYMBOL_LINKAGE_NAME (msym), name) == 0) + { + struct unwind_table_entry *u; + + u = find_unwind_entry (SYMBOL_VALUE (msym)); + if (u != NULL && u->stub_unwind.stub_type == stub_type) + return msym; + } + } + + return NULL; +} + /* Instead of this nasty cast, add a method pvoid() that prints out a host VOID data type (remember %p isn't portable). */ |