From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eli Zaretskii To: Michael Snyder Cc: Mark Kettenis , gdb-patches@sources.redhat.com Subject: Re: [PATCH]: Make Linux use the new unified x86 watchpoint support Date: Mon, 26 Mar 2001 22:57:00 -0000 Message-id: References: <3ABFFC56.559B9F5C@cygnus.com> X-SW-Source: 2001-03/msg00482.html On Mon, 26 Mar 2001, Michael Snyder wrote: > Guys, this implementation has problems. You have it hard-coded so that on a > linux host, it unconditionally calls native linux methods involving ptrace > to get the debug registers. This breaks very badly if you're using a native > linux host to debug a remote i386 target. Sorry, I'm not following. The watchpoint-related macros are defined on files which should be used only with native debugging (i386-nat.c and nm-i386.h). On top of that, the macros only get exposed if the port defines I386_USE_GENERIC_WATCHPOINTS. A port which doesn't want that should get rid of the watchpoints for free, by simply not defining I386_USE_GENERIC_WATCHPOINTS. Which part of the above misfires, and why? > Seems to me, what you need to do is add these debug registers to the > reg cache, and treat them like ordinary registers. This possibility has been discussed back in November, but the conclusion was that it's not a good idea. I don't remember the details, but the reasons had something to do with threads and how the register cache is used in conjunction with threads. (I can dig out the URLs of the relevant messages, if you want to read them.) > Then you can just use the ordinary read_register interface to get > them, and remote.c will do the right thing for you (assuming the > target knows about these extra registers). Mark explicitly didn't want the watchpoint code to be in the target-depenent files, so watchpoints cannot currently work for remote targets.