Accepting request 446700 from devel:gcc
(forwarded request 446680 from marxin) OBS-URL: https://build.opensuse.org/request/show/446700 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdb?expand=0&rev=112
This commit is contained in:
commit
426590d180
65
gdb-aarch64-v81-hwbreakpoints.diff
Normal file
65
gdb-aarch64-v81-hwbreakpoints.diff
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
From: Andrew Pinski <apinski@cavium.com>
|
||||||
|
Date: Sat, 23 Jul 2016 16:56:44 +0000 (-0700)
|
||||||
|
Subject: Fix ARMv8.1/v8.2 for hw watchpoint and breakpoint
|
||||||
|
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=49ecef2a7da2ee9df4ae675f99b70518fbf1bb23
|
||||||
|
|
||||||
|
Fix ARMv8.1/v8.2 for hw watchpoint and breakpoint
|
||||||
|
|
||||||
|
The problem here is ARMv8.1 (and ARMv8.2) define a
|
||||||
|
different debug version than ARMv8 (7 and 8 respectively).
|
||||||
|
This fixes hw watchpoints and breakpoints by checking
|
||||||
|
for those debug versions too.
|
||||||
|
|
||||||
|
Committed as obvious after a test on aarch64-linux-gnu
|
||||||
|
(on a ThunderX machine which has ARMv8.1 support enabled).
|
||||||
|
|
||||||
|
ChangeLog:
|
||||||
|
* nat/aarch64-linux-hw-point.c
|
||||||
|
(aarch64_linux_get_debug_reg_capacity): Handle
|
||||||
|
ARMv8.1 and ARMv8.2 debug versions.
|
||||||
|
* nat/aarch64-linux-hw-point.h
|
||||||
|
(AARCH64_DEBUG_ARCH_V8_1): New define.
|
||||||
|
(AARCH64_DEBUG_ARCH_V8_2): New define.
|
||||||
|
|
||||||
|
Signed-off-by: Andrew Pinski <apinski@cavium.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/gdb/nat/aarch64-linux-hw-point.c b/gdb/nat/aarch64-linux-hw-point.c
|
||||||
|
index a06a6e6..f9e04d9 100644
|
||||||
|
--- a/gdb/nat/aarch64-linux-hw-point.c
|
||||||
|
+++ b/gdb/nat/aarch64-linux-hw-point.c
|
||||||
|
@@ -630,7 +630,9 @@ aarch64_linux_get_debug_reg_capacity (int tid)
|
||||||
|
|
||||||
|
/* Get hardware watchpoint register info. */
|
||||||
|
if (ptrace (PTRACE_GETREGSET, tid, NT_ARM_HW_WATCH, &iov) == 0
|
||||||
|
- && AARCH64_DEBUG_ARCH (dreg_state.dbg_info) == AARCH64_DEBUG_ARCH_V8)
|
||||||
|
+ && (AARCH64_DEBUG_ARCH (dreg_state.dbg_info) == AARCH64_DEBUG_ARCH_V8
|
||||||
|
+ || AARCH64_DEBUG_ARCH (dreg_state.dbg_info) == AARCH64_DEBUG_ARCH_V8_1
|
||||||
|
+ || AARCH64_DEBUG_ARCH (dreg_state.dbg_info) == AARCH64_DEBUG_ARCH_V8_2))
|
||||||
|
{
|
||||||
|
aarch64_num_wp_regs = AARCH64_DEBUG_NUM_SLOTS (dreg_state.dbg_info);
|
||||||
|
if (aarch64_num_wp_regs > AARCH64_HWP_MAX_NUM)
|
||||||
|
@@ -650,7 +652,9 @@ aarch64_linux_get_debug_reg_capacity (int tid)
|
||||||
|
|
||||||
|
/* Get hardware breakpoint register info. */
|
||||||
|
if (ptrace (PTRACE_GETREGSET, tid, NT_ARM_HW_BREAK, &iov) == 0
|
||||||
|
- && AARCH64_DEBUG_ARCH (dreg_state.dbg_info) == AARCH64_DEBUG_ARCH_V8)
|
||||||
|
+ && (AARCH64_DEBUG_ARCH (dreg_state.dbg_info) == AARCH64_DEBUG_ARCH_V8
|
||||||
|
+ || AARCH64_DEBUG_ARCH (dreg_state.dbg_info) == AARCH64_DEBUG_ARCH_V8_1
|
||||||
|
+ || AARCH64_DEBUG_ARCH (dreg_state.dbg_info) == AARCH64_DEBUG_ARCH_V8_2))
|
||||||
|
{
|
||||||
|
aarch64_num_bp_regs = AARCH64_DEBUG_NUM_SLOTS (dreg_state.dbg_info);
|
||||||
|
if (aarch64_num_bp_regs > AARCH64_HBP_MAX_NUM)
|
||||||
|
diff --git a/gdb/nat/aarch64-linux-hw-point.h b/gdb/nat/aarch64-linux-hw-point.h
|
||||||
|
index acf0a49..16efb7c 100644
|
||||||
|
--- a/gdb/nat/aarch64-linux-hw-point.h
|
||||||
|
+++ b/gdb/nat/aarch64-linux-hw-point.h
|
||||||
|
@@ -68,6 +68,8 @@
|
||||||
|
|
||||||
|
/* Macro for the expected version of the ARMv8-A debug architecture. */
|
||||||
|
#define AARCH64_DEBUG_ARCH_V8 0x6
|
||||||
|
+#define AARCH64_DEBUG_ARCH_V8_1 0x7
|
||||||
|
+#define AARCH64_DEBUG_ARCH_V8_2 0x8
|
||||||
|
|
||||||
|
/* ptrace expects control registers to be formatted as follows:
|
||||||
|
|
@ -11,11 +11,11 @@ gdb/
|
|||||||
Work around PR libc/13097.
|
Work around PR libc/13097.
|
||||||
* solib.c (update_solib_list): Ignore "linux-vdso.so.1".
|
* solib.c (update_solib_list): Ignore "linux-vdso.so.1".
|
||||||
|
|
||||||
Index: gdb-7.9.50.20150520/gdb/solib.c
|
Index: gdb-7.11.1/gdb/solib.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.9.50.20150520.orig/gdb/solib.c 2015-05-31 17:04:16.870802493 +0200
|
--- gdb-7.11.1.orig/gdb/solib.c 2016-02-10 04:19:39.000000000 +0100
|
||||||
+++ gdb-7.9.50.20150520/gdb/solib.c 2015-05-31 17:04:38.824941054 +0200
|
+++ gdb-7.11.1/gdb/solib.c 2016-08-08 17:34:35.000000000 +0200
|
||||||
@@ -893,8 +893,11 @@ update_solib_list (int from_tty, struct
|
@@ -891,8 +891,13 @@ update_solib_list (int from_tty, struct
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
{
|
{
|
||||||
@ -25,6 +25,8 @@ Index: gdb-7.9.50.20150520/gdb/solib.c
|
|||||||
+ Work around PR libc/13097. */
|
+ Work around PR libc/13097. */
|
||||||
+ if (!solib_map_sections (i)
|
+ if (!solib_map_sections (i)
|
||||||
+ && strcmp (i->so_original_name, "linux-vdso.so.1") != 0
|
+ && strcmp (i->so_original_name, "linux-vdso.so.1") != 0
|
||||||
|
+ && strcmp (i->so_original_name, "linux-vdso32.so.1") != 0
|
||||||
|
+ && strcmp (i->so_original_name, "linux-vdso64.so.1") != 0
|
||||||
+ && strcmp (i->so_original_name, "linux-gate.so.1") != 0)
|
+ && strcmp (i->so_original_name, "linux-gate.so.1") != 0)
|
||||||
{
|
{
|
||||||
not_found++;
|
not_found++;
|
||||||
|
28
gdb.changes
28
gdb.changes
@ -1,3 +1,31 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 16 09:55:50 UTC 2016 - mliska@suse.cz
|
||||||
|
|
||||||
|
- Make dependency of gcc-java conditional.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Dec 3 10:27:31 UTC 2016 - schwab@suse.de
|
||||||
|
|
||||||
|
- Enable ada testing on aarch64 for tumbleweed
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 21 11:17:58 UTC 2016 - schwab@suse.de
|
||||||
|
|
||||||
|
- BuildRequire glibc-devel-static for 12.1 or later, and
|
||||||
|
glibc-devel-static-32bit if biarch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 8 15:34:57 UTC 2016 - matz@suse.com
|
||||||
|
|
||||||
|
- Amend gdb-glibc-vdso-workaround.patch to ignore further
|
||||||
|
vdso filenames on ppc64 and s390x. [bnc#944105]
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Aug 3 14:38:49 UTC 2016 - matz@suse.com
|
||||||
|
|
||||||
|
- Add gdb-aarch64-v81-hwbreakpoints.diff for detecting
|
||||||
|
debug capabilities on ARMv8.1/8.2. [bnc#990697]
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jun 20 16:36:04 UTC 2016 - matz@suse.com
|
Mon Jun 20 16:36:04 UTC 2016 - matz@suse.com
|
||||||
|
|
||||||
|
15
gdb.spec
15
gdb.spec
@ -221,6 +221,7 @@ Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch
|
|||||||
Patch1003: gdb-pahole-python2.patch
|
Patch1003: gdb-pahole-python2.patch
|
||||||
Patch1004: gdb-fix-buf-overflow.diff
|
Patch1004: gdb-fix-buf-overflow.diff
|
||||||
Patch1005: gdb-7.10-swo18929.patch
|
Patch1005: gdb-7.10-swo18929.patch
|
||||||
|
Patch1006: gdb-aarch64-v81-hwbreakpoints.diff
|
||||||
|
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
@ -277,12 +278,19 @@ BuildRequires: sharutils
|
|||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: gcc-fortran
|
BuildRequires: gcc-fortran
|
||||||
|
%if 0%{?gcc_version} < 7
|
||||||
BuildRequires: gcc-java
|
BuildRequires: gcc-java
|
||||||
|
%endif
|
||||||
BuildRequires: gcc-objc
|
BuildRequires: gcc-objc
|
||||||
# Copied from gcc-4.1.2-32.
|
# Copied from gcc-4.1.2-32.
|
||||||
%ifarch %{ix86} x86_64 ia64 ppc ppc64 s390 alpha
|
%ifarch %{ix86} x86_64 ia64 ppc ppc64 s390 alpha
|
||||||
BuildRequires: gcc-ada
|
BuildRequires: gcc-ada
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch aarch64
|
||||||
|
%if 0%{suse_version} >= 1330
|
||||||
|
BuildRequires: gcc-ada
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
%if 0%{suse_version} > 1110
|
%if 0%{suse_version} > 1110
|
||||||
%ifarch x86_64 ppc64 s390x
|
%ifarch x86_64 ppc64 s390x
|
||||||
%if 0%{suse_version} >= 1330
|
%if 0%{suse_version} >= 1330
|
||||||
@ -291,8 +299,14 @@ BuildRequires: gcc-ada
|
|||||||
BuildRequires: gcc-ada-32bit
|
BuildRequires: gcc-ada-32bit
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: gcc-c++-32bit
|
BuildRequires: gcc-c++-32bit
|
||||||
|
%if 0%{suse_version} >= 1210
|
||||||
|
BuildRequires: glibc-devel-static-32bit
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
%endif
|
||||||
|
%if 0%{suse_version} >= 1210
|
||||||
|
BuildRequires: glibc-devel-static
|
||||||
|
%endif
|
||||||
|
|
||||||
%endif # 0%{?_with_testsuite:1}
|
%endif # 0%{?_with_testsuite:1}
|
||||||
|
|
||||||
@ -492,6 +506,7 @@ find -name "*.info*"|xargs rm -f
|
|||||||
%patch1003 -p1
|
%patch1003 -p1
|
||||||
%patch1004 -p1
|
%patch1004 -p1
|
||||||
%patch1005 -p1
|
%patch1005 -p1
|
||||||
|
%patch1006 -p1
|
||||||
|
|
||||||
find -name "*.orig" | xargs rm -f
|
find -name "*.orig" | xargs rm -f
|
||||||
! find -name "*.rej" # Should not happen.
|
! find -name "*.rej" # Should not happen.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user