This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 1/3] Include asm/ptrace.h in mips-linux-nat.c
- From: "Maciej W. Rozycki" <macro at codesourcery dot com>
- To: Yao Qi <yao at codesourcery dot com>
- Cc: <gdb-patches at sourceware dot org>
- Date: Mon, 17 Jun 2013 16:48:00 +0100
- Subject: Re: [PATCH 1/3] Include asm/ptrace.h in mips-linux-nat.c
- References: <1369881867-11372-1-git-send-email-yao at codesourcery dot com> <1369881867-11372-2-git-send-email-yao at codesourcery dot com> <alpine dot DEB dot 1 dot 10 dot 1306131752490 dot 16287 at tp dot orcam dot me dot uk>
On Thu, 13 Jun 2013, Maciej W. Rozycki wrote:
> For the record the system I intended to run native testing on does indeed
> support hardware watchpoints, although a minimal number of them:
>
> hardware watchpoint : yes, count: 2, address/irw mask: [0x0ffc, 0x0ffb]
>
> -- i.e. a single data watchpoint and a single execution watchpoint only
> (as noted by the "irw mask" field, taking the 3 LSBs of the values
> reported). I expect to have results by the end of tomorrow and will let
> you know how that has gone.
I have finished testing, but regrettably test results are inconclusive,
sorry about that. Testing revealed issues with the kernel, specifically:
1. I-cache vs D-cache coherency problems affecting GDB execution (crashes)
and software breakpoints (spurious and missed hits).
2. Hardware watchpoints never hitting regardless of your change being
present or not, and then both in GDB and gdbserver.
Therefore I must accept your limited native testing and will assume all is
right based on code review. I'll look through the two remaining changes
and see if all is right there. We can then address any issues as they pop
up in the future once a good native platform is available.
Meanwhile I have contacted the MIPS/Linux maintainer regarding the
problems I observed. Hopefully they can be sorted out reasonably soon,
though I wouldn't bet on it as my suspicion is it's been a long-standing
problem with that platform (and 2.6.18 is the last known-good version of
the kernel there -- before the big cache handling rewrite).
Maciej