[PING 2] [rfc]: Framework for looking up multiply defined global symbols in shared libraries

Markus Deuling deuling@de.ibm.com
Tue Jul 3 04:04:00 GMT 2007


Ulrich Weigand schrieb:
> Markus Deuling wrote:
> 
>> Ok, I renamed the testsuite files to solib-symbol.exp and solib-symbol-{main,lib}.c The header has been removed.
>>
>> I also changed the NEWS entry. Eli, is this ok ?
> 
> Thanks, Markus.
> 
> 
>> @@ -2572,7 +2572,7 @@
>>  	$(objfiles_h) $(exceptions_h) $(gdbcore_h) $(command_h) $(target_h) \
>>  	$(frame_h) $(gdb_regex_h) $(inferior_h) $(environ_h) $(language_h) \
>>  	$(gdbcmd_h) $(completer_h) $(filenames_h) $(exec_h) $(solist_h) \
>> -	$(observer_h) $(readline_h)
>> +	$(observer_h) $(readline_h) $(objfiles_h)
>>  solib-frv.o: solib-frv.c $(defs_h) $(gdb_string_h) $(inferior_h) \
>>  	$(gdbcore_h) $(solist_h) $(frv_tdep_h) $(objfiles_h) $(symtab_h) \
>>  	$(language_h) $(command_h) $(gdbcmd_h) $(elf_frv_h) $(solib_h)
> 
> This part of the Makefile.in change does not appear to be necessary -- there is
> no corresponding source code change to the solib-svr4.c file in the patch.
> 
> Please verify this, and re-send the patch with an up-to-date ChangeLog
> entry -- I'll check it in then.
> 

Done. I attached a new version of the patch, rebased and without the above Makefile entry.
Thank you.

ChangeLog:

	* 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.
	(lookup_lib_global_symbol): New prototype.
	(solib_global_lookup): Likewise.
	* 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.
	* gdb.base/libmd.c: New file (testcase multiple symbol lookup).
	* gdb.base/libmd.h: Likewise.
	* gdb.base/solib_symbol.c: Likewise.
	* gdb.base/solib_symbol.exp: Likewise.
	* NEWS: Document framework.



-- 
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff-gdb-multiple-symbols-mainline
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20070703/6b4cbd6f/attachment.ksh>


More information about the Gdb-patches mailing list