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 crash on `info files' with gdbserver


On 02/08/2012 08:49 PM, Jan Kratochvil wrote:

> while playing with gdbserver GDB just crashed for me.
> 
> The problem is exec_ops get pushed to the target stack for the loaded shared
> libraries despite exec_bfd remains NULL which is not expected by exec.c.
> 
> Breakpoint 1, add_target_sections (sections=0x21372e0, sections_end=0x2137580) at exec.c:471
> 471               push_target (&exec_ops);
> (gdb) bt
> #0  add_target_sections (sections=0x21372e0, sections_end=0x2137580) at exec.c:471
> #1  in solib_map_sections (so=0x21cd6f0) at solib.c:507
> #2  in update_solib_list (from_tty=1, target=0x1d8fee0) at solib.c:804
> #3  in solib_add (pattern=0x0, from_tty=1, target=0x1d8fee0, readsyms=1) at solib.c:889
> #4  in enable_break (info=0x210f000, from_tty=1) at solib-svr4.c:1624
> #5  in svr4_solib_create_inferior_hook (from_tty=1) at solib-svr4.c:2234
> #6  in solib_create_inferior_hook (from_tty=1) at solib.c:1172
> #7  in reload_shared_libraries (ignored=0x0, from_tty=1, e=0x1fc5cd0) at solib.c:1308
> 
> So it is questionable whether to keep exec_ops unpushed or whether to handle
> NULL exec_bfd there.  I chose the latter.

That's the right choice.  The exec target nowadays handles reading memory
from all target sections, no matter whether they came from the executable
or from shared libraries.  So e.g., "set trust-readonly-sections" works
with the DSOs target sections too.

-- 
Pedro Alves


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