This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: gdb doesn't work very well with dynamic linked binaries
- To: kettenis at wins dot uva dot nl
- Subject: Re: gdb doesn't work very well with dynamic linked binaries
- From: Eli Zaretskii <eliz at delorie dot com>
- Date: Thu, 7 Sep 2000 11:00:32 -0400 (EDT)
- CC: jcownie at etnus dot com, gdb at sources dot redhat dot com
- References: <200009070855.EAA00749@albacore> <200009070855.EAA00749@albacore>
> Date: Thu, 7 Sep 2000 12:09:50 +0200 (MET DST)
> From: Mark Kettenis <kettenis@wins.uva.nl>
>
> Yep. This means that getting HW watchpoints working for
> multi-threaded processes is a bit difficult, since GDB expects them to
> be process-wide. So any HW watchpoints will have to be inserted in
> *all* threads, not just one as we do now.
>
> Eli, this probably means that adding the debugging registers to GDB's
> register cache isn't a good idea. Something more specialized is
> needed, i.e. a native-dependent interface that updates the address and
> control register in all threads. This might implicate that keeping
> the actual HW watchpoint support a native-only thing is a good idea.
Why ``native-dependent'' and not ``target-dependent''? Won't the same
problem affect any multithreaded ia32 target? Or am I missing
something?
In any case, would a special array of debug registers be an okay
solution? The elements of that array will be set by
ia32_insert_watchpoint and ia32_remove_watchpoint (to be written), and
target-dependent subroutines which resume the inferior and get control
when the inferior is stopped will access that array to pass the
registers to the debuggee.