This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Fix a crash when displaying variables from shared library.


On Fri, Mar 6, 2009 at 9:48 AM, Joel Brobecker <brobecker@adacore.com> wrote:

>> C) the call to "solib_address (block->startaddr)" should be replaced with
>>    something like "solib_contains_p (solib, block->startaddr)" (which would
>>    then work independently of the so_list_head).
>
> Duh! Yes - this sounds like a pretty simple way to do this. We know
> which solib we're trying to match our expression against, why are we
> iterating over all SOs again? I like your suggestion.
>
> The body of solib_contains_p (can we rename it to "solib_contains_address"
> or "solib_has_address") can be extracted from solib_address.

Attached patch implements this; regtested on Linux/x86_64 with
no regressions.

Thanks,
-- 
Paul Pluzhnikov

2009-03-06  Paul Pluzhnikov  <ppluzhnikov@google.com>

	    * solib.c (solib_contains_address_p): New function.
	    (solib_name_from_address): Use it.
	    * printcmd.c (display_uses_solib_p): Use it.
	    * solib.h (solib_contains_address_p): Declare it.

Attachment: gdb-display-crash-20090306.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]