This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug gdb/16571] gdb can not work (linux aach64)
- From: "will.newton at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Thu, 31 Jul 2014 12:08:07 +0000
- Subject: [Bug gdb/16571] gdb can not work (linux aach64)
- Auto-submitted: auto-generated
- References: <bug-16571-4717 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16571
Will Newton <will.newton at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |will.newton at gmail dot com
Resolution|--- |FIXED
--- Comment #1 from Will Newton <will.newton at gmail dot com> ---
This issue is fixed in gdb 7.8, but you also must make sure you have a recent
kernel with this commit:
commit cdc27c27843248ae7eb0df5fc261dd004eaa5670
Author: Will Deacon <will.deacon@arm.com>
Date: Tue Dec 17 17:09:08 2013 +0000
arm64: ptrace: avoid using HW_BREAKPOINT_EMPTY for disabled events
Commit 8f34a1da35ae ("arm64: ptrace: use HW_BREAKPOINT_EMPTY type for
disabled breakpoints") fixed an issue with GDB trying to zero breakpoint
control registers. The problem there is that the arch hw_breakpoint code
will attempt to create a (disabled), execute breakpoint of length 0.
This will fail validation and report unexpected failure to GDB. To avoid
this, we treated disabled breakpoints as HW_BREAKPOINT_EMPTY, but that
seems to have broken with recent kernels, causing watchpoints to be
treated as TYPE_INST in the core code and returning ENOSPC for any
further breakpoints.
This patch fixes the problem by prioritising the `enable' field of the
breakpoint: if it is cleared, we simply update the perf_event_attr to
indicate that the thing is disabled and don't bother changing either the
type or the length. This reinforces the behaviour that the breakpoint
control register is essentially read-only apart from the enable bit
when disabling a breakpoint.
Cc: <stable@vger.kernel.org>
Reported-by: Aaron Liu <liucy214@gmail.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
--
You are receiving this mail because:
You are on the CC list for the bug.