Re: [RFA] i386/amd64 h/w watchpoints in gdbserver

Doug Evans
2009-06-03T00:18:27Z

On Tue, Jun 2, 2009 at 3:47 PM, Pierre Muller <muller@ics.u-strasbg.fr> wrote:
>> > Do we have an automated testsuite result comparison script that can
>> be
>> > used for gdbserver testing?
>>
>> I just use --target_board=native-gdbserver.exp and compare
>> before/after.
>> ref: http://sourceware.org/gdb/wiki/Native_gdbserver_testing
>>
>> No regressions on amd64 gdbserver, 32-bit and 64-bit.
>
>  Did you try to remove the line saying that
> gdbserver does not support hardware watchpoints,
> does it change anything?

The version I used has:

# Can't do hardware watchpoints, in general.
# But can for i386.
if { [istarget i?86-*-*] || [istarget x86_64-*-* ] } {
;# leave unset, testcases check for whether it is defined
} else {
set_board_info gdb,no_hardware_watchpoints 1
}

Plus while running the testsuite I had this applied:

--- i386-low.c= 2009-06-02 17:11:37.000000000 -0700
+++ i386-low.c 2009-06-02 17:11:52.000000000 -0700
@@ -142,7 +142,7 @@
#define ALL_DEBUG_REGISTERS(i) for (i = 0; i < DR_NADDR; i++)

/* Whether or not to print the mirrored debug registers. */
-static int maint_show_dr = 0;
+static int maint_show_dr = 1;

/* Types of operations supported by i386_handle_nonaligned_watchpoint. */
typedef enum { WP_INSERT, WP_REMOVE, WP_COUNT } i386_wp_op_t;

>
>> >  I can test compilation on cygwin,
>> > but testing can only be done manually...
>>
>> Thanks, can you give this a try?
>
>  I was able to compile without problems
> and test gdb.base/watchpoint.exp
>
> and got 60 PASS (same as gdb itself).

Thanks for running the tests.
How about watchthreads.exp, watchthreads2.exp?