Markus Deuling wrote: > Hi Daniel, > > Daniel Jacobowitz wrote: >> Please use skip_shlib_tests instead. You will probably also need to >> exclude a list of targets where -Bsymbolic won't work. >> >> (I realize skip_shlib_tests doesn't exist yet. Gimme a day or so and >> it will, I'll be working on those patches next.) > > thank you very much for your effort and your very valuable input. I'll > rework the patch and come up with it when you're done with that patch > that includes skip_shlib_tests. > > This is the reworked patch for multiply defined symbols in shared libraries. I included your input including the new skip_shlib_tests and gdb_load_shlibs. Again thank you very much for reviewing. The testsuite showed no regressions. The ChangeLog also had to be changed. Would this be ok to commit? ChangeLog: * cp-namespace.c (lookup_symbol_file): Add block to call for lookup_symbol_global. * Makefile.in (solist_h): Update dependencies. (solib.o): Likewise. (symtab.o): Likewise. * solib.c (solib_global_lookup): New function. * solib-svr4.c (has_SYMBOLIC): New function. (elf_lookup_lib_symbol): New function. (_initialize_svr4_solib): Add elf_lookup_lib_symbol to svr4_so_ops. * solist.h: New include "symtab.h". (target_so_ops): New member lookup_lib_global_symbol. (solib_global_lookup): Declare. * 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 call for lookup_symbol_global. (lookup_symbol_global): Call solib_global_lookup first. * symtab.h (lookup_symbol_global): Add block to declaration. (lookup_objfile_from_block): Declare. (lookup_global_symbol_from_objfile): Declare. * gdb.base/libmd.c: New file for testcase. * gdb.base/libmd.h: Likewise. * gdb.base/solib_symbol.c: Likewise. * gdb.base/solib_symbol.exp: New testcase for multiply defined global symbol lookup. -- Markus Deuling GNU Toolchain for Linux on Cell BE deuling@de.ibm.com