This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [00/19] Eliminate some more current_gdbarch uses
- From: Pedro Alves <pedro at codesourcery dot com>
- To: gdb-patches at sourceware dot org
- Cc: "Ulrich Weigand" <uweigand at de dot ibm dot com>, tromey at redhat dot com
- Date: Mon, 8 Jun 2009 15:49:28 +0100
- Subject: Re: [00/19] Eliminate some more current_gdbarch uses
- References: <200906081438.n58EcdKE022828@d12av02.megacenter.de.ibm.com>
On Monday 08 June 2009 15:38:39, Ulrich Weigand wrote:
> Of course, this would mean the breakpoints were always active. ?However,
> this could be improved upon by:
> - having infrun ignore longjmp breakpoints if not stepping
If there isn't any thread doing a command that requires longjmp
breakpoints, I'd really like to not have them inserted, it's inneficient
for "continue". Plus, threads hit longjmps on their way to
exiting (on linux/pthreads) --- and it's best to avoid it, with all
the nasty longjmp issues (pointer mangling) we have.
> - keeping them disabled unless stepping (and still have infrun ignore
> ? longjmp breakpoints when hit in the wrong thread)
Yeah, I can see that working.
> and/or
> - keeping them always disabled, but installing momentary clones in
> ? threads that are stepping
Yeah, sounds sort of good too. I've added a momentary breakpoint
cloning function just a few days ago. This requires looking up which
threads in the same address space are stepping. I'm not certain which
version would be uglier. Currently, it's the address lookup part
that's ineficient. We could tackle that with per-objfile data, without
making the breakpoints module much aware of stepping.
--
Pedro Alves