[ppc] Fix hardware watchpoints on PowerPC (BZ 827600, Edjunior Machado).

This commit is contained in:
Jan Kratochvil 2012-06-02 15:47:38 +02:00
parent 3071876327
commit 0c6cb6731e
2 changed files with 58 additions and 1 deletions

50
gdb-ppc-watchpoint.patch Normal file
View File

@ -0,0 +1,50 @@
https://bugzilla.redhat.com/show_bug.cgi?id=827600
Re: [PATCH] disable ptrace BookE interface for PowerPC server processors
http://sourceware.org/ml/gdb-patches/2012-05/msg01107.html
http://sourceware.org/ml/gdb-cvs/2012-05/msg00221.html
### src/gdb/ChangeLog 2012/05/31 18:44:47 1.14306
### src/gdb/ChangeLog 2012/05/31 22:07:29 1.14307
## -1,3 +1,9 @@
+2012-05-31 Edjunior Machado <emachado@linux.vnet.ibm.com>
+
+ * ppc-linux-nat.c (have_ptrace_booke_interface): Disable ptrace
+ BookE interface for PowerPC server processors if not available
+ in the Linux Kernel.
+
2012-05-31 Keith Seitz <keiths@redhat.com>
* linespec.c (decode_objc): Add cleanup to free
--- src/gdb/ppc-linux-nat.c 2012/05/30 13:37:17 1.112
+++ src/gdb/ppc-linux-nat.c 2012/05/31 22:07:31 1.113
@@ -1421,17 +1421,20 @@
/* Check for kernel support for BOOKE debug registers. */
if (ptrace (PPC_PTRACE_GETHWDBGINFO, tid, 0, &booke_debug_info) >= 0)
{
- have_ptrace_booke_interface = 1;
- max_slots_number = booke_debug_info.num_instruction_bps
- + booke_debug_info.num_data_bps
- + booke_debug_info.num_condition_regs;
- }
- else
- {
- /* Old school interface and no BOOKE debug registers support. */
- have_ptrace_booke_interface = 0;
- memset (&booke_debug_info, 0, sizeof (struct ppc_debug_info));
+ /* Check whether ptrace BOOKE interface is functional and
+ provides any supported feature. */
+ if (booke_debug_info.features != 0)
+ {
+ have_ptrace_booke_interface = 1;
+ max_slots_number = booke_debug_info.num_instruction_bps
+ + booke_debug_info.num_data_bps
+ + booke_debug_info.num_condition_regs;
+ return have_ptrace_booke_interface;
+ }
}
+ /* Old school interface and no BOOKE debug registers support. */
+ have_ptrace_booke_interface = 0;
+ memset (&booke_debug_info, 0, sizeof (struct ppc_debug_info));
}
return have_ptrace_booke_interface;

View File

@ -35,7 +35,7 @@ Version: 7.4.50.%{snap}
# The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
Release: 47%{?dist}
Release: 48%{?dist}
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
Group: Development/Debuggers
@ -622,6 +622,9 @@ Patch689: gdb-autoload-28of28.patch
# Workaround PR libc/14166 for inferior calls of strstr.
Patch690: gdb-glibc-strstr-workaround.patch
# [ppc] Fix hardware watchpoints on PowerPC (BZ 827600, Edjunior Machado).
Patch691: gdb-ppc-watchpoint.patch
%if 0%{!?rhel:1} || 0%{?rhel} > 6
# RL_STATE_FEDORA_GDB would not be found for:
# Patch642: gdb-readline62-ask-more-rh.patch
@ -941,6 +944,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%patch688 -p1
%patch689 -p1
%patch690 -p1
%patch691 -p1
%patch393 -p1
%if 0%{!?el5:1} || 0%{?scl:1}
@ -1433,6 +1437,9 @@ fi
%endif # 0%{!?el5:1} || "%{_target_cpu}" == "noarch"
%changelog
* Sat Jun 2 2012 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.4.50.20120120-48.fc17
- [ppc] Fix hardware watchpoints on PowerPC (BZ 827600, Edjunior Machado).
* Mon May 28 2012 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.4.50.20120120-47.fc17
- Workaround PR libc/14166 for inferior calls of strstr.