2007-07-03 Markus Deuling <deuling@de.ibm.com>
* cp-namespace.c (lookup_symbol_file): Add block to lookup_symbol_global call. * Makefile.in (solist_h): Add dependency on symtab header. (symtab.o): Add dependency on solist header. * solib.c (solib_global_lookup): New function. * solib-svr4.c (scan_dyntag): Likewise. (elf_locate_base): Call helper routine scan_dyntag. (elf_lookup_lib_symbol): New function. (_initialize_svr4_solib): Add elf_lookup_lib_symbol to svr4_so_ops. * solist.h (symtab.h): New include. (struct target_so_ops): New member lookup_lib_global_symbol. (solib_global_lookup): New prototype. * symtab.c: New include solist.h. (lookup_objfile_from_block): New function. (lookup_global_symbol_from_objfile): New function. (basic_lookup_symbol_nonlocal): Add block to lookup_symbol_global call. (lookup_symbol_global): Call library-specific lookup procedure. * symtab.h (lookup_global_symbol_from_objfile): New prototype. * NEWS: Document framework. testsuite/ * gdb.base/solib-symbol.exp: New file (testcase multiple symbol lookup). * gdb.base/solib-symbol-lib.c: Likewise. * gdb.base/solib-symbol-main.c: Likewise.
This commit is contained in:
parent
3ccac826a3
commit
3a40aaa0eb
13 changed files with 428 additions and 109 deletions
18
gdb/solib.c
18
gdb/solib.c
|
@ -961,6 +961,24 @@ show_auto_solib_add (struct ui_file *file, int from_tty,
|
|||
}
|
||||
|
||||
|
||||
/* Handler for library-specific lookup of global symbol NAME in OBJFILE. Call
|
||||
the library-specific handler if it is installed for the current target. */
|
||||
|
||||
struct symbol *
|
||||
solib_global_lookup (const struct objfile *objfile,
|
||||
const char *name,
|
||||
const char *linkage_name,
|
||||
const domain_enum domain,
|
||||
struct symtab **symtab)
|
||||
{
|
||||
if (current_target_so_ops->lookup_lib_global_symbol != NULL)
|
||||
return current_target_so_ops->lookup_lib_global_symbol (objfile,
|
||||
name, linkage_name, domain, symtab);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
extern initialize_file_ftype _initialize_solib; /* -Wmissing-prototypes */
|
||||
|
||||
void
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue