- Patches dropped (bsc#1207712):
* gdb-container-rh-pkg.patch - Patches added (bsc#1207712): * gdb-testsuite-add-gdb.suse-debranding.exp.patch - Patches added (test-case fix): * gdb-testsuite-fix-gdb.dwarf2-dw2-dir-file-name.exp-w.patch - Patches added (fedora patch fixup): * fixup-gdb-test-dw2-aranges.patch - Patches added (master backports): * gdb-testsuite-add-xfail-in-gdb.arch-i386-pkru.exp.patch * gdb-testsuite-add-xfail-in-gdb.python-py-record-btra.patch * gdb-testsuite-factor-out-proc-linux_kernel_version.patch * gdb-testsuite-fix-gdb.base-infoline-reloc-main-from-.patch * gdb-testsuite-fix-gdb.base-nested-subp-2-3-.exp-with.patch * gdb-testsuite-fix-gdb.threads-schedlock.exp-on-fast-.patch * gdb-testsuite-handle-missing-.note.gnu-stack.patch * gdb-testsuite-simplify-gdb.arch-amd64-disp-step-avx..patch * gdb-testsuite-fix-gdb.threads-schedlock.exp-for-gcc-.patch * gdb-testsuite-add-xfail-case-in-gdb.python-py-record.patch * add-elfcompress_zstd.patch * binutils-gdb-support-zstd-compressed-debug-section.patch * fix-gdb-build-elf-support-check-lzstd.patch - Patches removed (dropped by fedora): * gdb-test-ivy-bridge.patch - Disable "BuildRequires: %{gcc}-fortran" for SLE-11. - Maintenance script qa-local.sh: * Add SLE-11 to configs. * Build with --no-verify. - Maintenance script qa.sh: * Add -sle11. OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=347
This commit is contained in:
parent
054020c7be
commit
fc4d8845bb
29
add-elfcompress_zstd.patch
Normal file
29
add-elfcompress_zstd.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From f41928feb3e44fb27776afa062a1cd06263b7d1d Mon Sep 17 00:00:00 2001
|
||||
From: Cary Coutant <ccoutant@gmail.com>
|
||||
Date: Tue, 2 Aug 2022 16:19:43 -0700
|
||||
Subject: [PATCH 1/2] Add ELFCOMPRESS_ZSTD.
|
||||
|
||||
include/elf/
|
||||
* common.h: Add ELFCOMPRESS_ZSTD.
|
||||
---
|
||||
include/elf/common.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/elf/common.h b/include/elf/common.h
|
||||
index 70d63e3299c..c409da2bd16 100644
|
||||
--- a/include/elf/common.h
|
||||
+++ b/include/elf/common.h
|
||||
@@ -588,6 +588,8 @@
|
||||
|
||||
/* Compression types. */
|
||||
#define ELFCOMPRESS_ZLIB 1 /* Compressed with zlib. */
|
||||
+#define ELFCOMPRESS_ZSTD 2 /* Compressed with zstd */
|
||||
+ /* (see http://www.zstandard.org). */
|
||||
#define ELFCOMPRESS_LOOS 0x60000000 /* OS-specific semantics, lo */
|
||||
#define ELFCOMPRESS_HIOS 0x6FFFFFFF /* OS-specific semantics, hi */
|
||||
#define ELFCOMPRESS_LOPROC 0x70000000 /* Processor-specific semantics, lo */
|
||||
|
||||
base-commit: 835a10f8541c7c4150098c82e097c4f606475cfa
|
||||
--
|
||||
2.35.3
|
||||
|
1288
binutils-gdb-support-zstd-compressed-debug-section.patch
Normal file
1288
binutils-gdb-support-zstd-compressed-debug-section.patch
Normal file
File diff suppressed because it is too large
Load Diff
101
fix-gdb-build-elf-support-check-lzstd.patch
Normal file
101
fix-gdb-build-elf-support-check-lzstd.patch
Normal file
@ -0,0 +1,101 @@
|
||||
From 1907d04cb6cb94052369995cf8373f2670908e2a Mon Sep 17 00:00:00 2001
|
||||
From: Pedro Alves <pedro@palves.net>
|
||||
Date: Wed, 28 Sep 2022 11:33:30 +0100
|
||||
Subject: [PATCH] Fix GDB build: ELF support check & -lzstd
|
||||
|
||||
GDB fails to build for me, on Ubuntu 20.04. I get:
|
||||
|
||||
...
|
||||
CXXLD gdb
|
||||
/usr/bin/ld: linux-tdep.o: in function `linux_corefile_thread(thread_info*, linux_corefile_thread_data*)':
|
||||
/home/pedro/gdb/binutils-gdb/src/gdb/linux-tdep.c:1831: undefined reference to `gcore_elf_build_thread_register_notes(gdbarch*, thread_info*, gdb_signal, bfd*, std::unique_ptr<char, gdb::xfree_deleter<char> >*, int*)'
|
||||
/usr/bin/ld: linux-tdep.o: in function `linux_make_corefile_notes(gdbarch*, bfd*, int*)':
|
||||
/home/pedro/gdb/binutils-gdb/src/gdb/linux-tdep.c:2117: undefined reference to `gcore_elf_make_tdesc_note(bfd*, std::unique_ptr<char, gdb::xfree_deleter<char> >*, int*)'
|
||||
collect2: error: ld returned 1 exit status
|
||||
make[2]: *** [Makefile:2149: gdb] Error 1
|
||||
make[2]: Leaving directory '/home/pedro/gdb/binutils-gdb/build/gdb'
|
||||
make[1]: *** [Makefile:11847: all-gdb] Error 2
|
||||
make[1]: Leaving directory '/home/pedro/gdb/binutils-gdb/build'
|
||||
make: *** [Makefile:1004: all] Error 2
|
||||
|
||||
Those undefined functions exist in gdb/gcore-elf.c, which is only
|
||||
included in the build if GDB's configure thinks that the target you're
|
||||
configuring for is an ELF target. GDB's configure thinks my system
|
||||
isn't ELF, which is incorrect.
|
||||
|
||||
For the ELF support check, gdb/config.log shows:
|
||||
|
||||
configure:17387: checking for ELF support in BFD
|
||||
configure:17407: gcc -o conftest -I/home/pedro/gdb/binutils-gdb/src/gdb/../include -I../bfd -I/home/pedro/gdb/binutils-gdb/src/gdb/../bfd -g3 -O0 -L../bfd -L../libiberty -lzstd conftest.c -lbfd -liberty -lz -lncursesw -lm -ldl >&5
|
||||
/usr/bin/ld: ../bfd/libbfd.a(compress.o): in function `decompress_contents':
|
||||
/home/pedro/gdb/binutils-gdb/src/bfd/compress.c:42: undefined reference to `ZSTD_decompress'
|
||||
/usr/bin/ld: /home/pedro/gdb/binutils-gdb/src/bfd/compress.c:44: undefined reference to `ZSTD_isError'
|
||||
/usr/bin/ld: ../bfd/libbfd.a(compress.o): in function `bfd_compress_section_contents':
|
||||
/home/pedro/gdb/binutils-gdb/src/bfd/compress.c:195: undefined reference to `ZSTD_compress'
|
||||
/usr/bin/ld: /home/pedro/gdb/binutils-gdb/src/bfd/compress.c:198: undefined reference to `ZSTD_isError'
|
||||
collect2: error: ld returned 1 exit status
|
||||
configure:17407: $? = 1
|
||||
...
|
||||
configure:17417: result: no
|
||||
|
||||
Note how above, in the gcc command line, "-lzstd" appears before
|
||||
"-lbfd". That explain the link failure. It should appear after, like
|
||||
-lz does.
|
||||
|
||||
This commit fixes it, by moving ZSTD_LIBS from LDFLAGS to LIBS, next
|
||||
to -lz, in GDB_AC_CHECK_BFD, and regenerating gdb/configure.
|
||||
|
||||
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29630
|
||||
Change-Id: I1f4128dde634e8ea04c9002904f1005a8b3a6863
|
||||
---
|
||||
gdb/acinclude.m4 | 4 ++--
|
||||
gdb/configure | 8 ++++----
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4
|
||||
index 28846119dcb..62fa66c7af3 100644
|
||||
--- a/gdb/acinclude.m4
|
||||
+++ b/gdb/acinclude.m4
|
||||
@@ -234,9 +234,9 @@ AC_DEFUN([GDB_AC_CHECK_BFD], [
|
||||
# always want our bfd.
|
||||
CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS"
|
||||
ZLIBDIR=`echo $zlibdir | sed 's,\$(top_builddir)/,,g'`
|
||||
- LDFLAGS="-L../bfd -L../libiberty $ZLIBDIR $ZSTD_LIBS $LDFLAGS"
|
||||
+ LDFLAGS="-L../bfd -L../libiberty $ZLIBDIR $LDFLAGS"
|
||||
intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
|
||||
- LIBS="-lbfd -liberty -lz $intl $LIBS"
|
||||
+ LIBS="-lbfd -liberty -lz $ZSTD_LIBS $intl $LIBS"
|
||||
AC_CACHE_CHECK(
|
||||
[$1],
|
||||
[$2],
|
||||
diff --git a/gdb/configure b/gdb/configure
|
||||
index 2fcba76b5e8..a5f33ce65d9 100755
|
||||
--- a/gdb/configure
|
||||
+++ b/gdb/configure
|
||||
@@ -17963,9 +17963,9 @@ WIN32LIBS="$WIN32LIBS $WIN32APILIBS"
|
||||
# always want our bfd.
|
||||
CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS"
|
||||
ZLIBDIR=`echo $zlibdir | sed 's,\$(top_builddir)/,,g'`
|
||||
- LDFLAGS="-L../bfd -L../libiberty $ZLIBDIR $ZSTD_LIBS $LDFLAGS"
|
||||
+ LDFLAGS="-L../bfd -L../libiberty $ZLIBDIR $LDFLAGS"
|
||||
intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
|
||||
- LIBS="-lbfd -liberty -lz $intl $LIBS"
|
||||
+ LIBS="-lbfd -liberty -lz $ZSTD_LIBS $intl $LIBS"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ELF support in BFD" >&5
|
||||
$as_echo_n "checking for ELF support in BFD... " >&6; }
|
||||
if ${gdb_cv_var_elf+:} false; then :
|
||||
@@ -18078,9 +18078,9 @@ fi
|
||||
# always want our bfd.
|
||||
CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS"
|
||||
ZLIBDIR=`echo $zlibdir | sed 's,\$(top_builddir)/,,g'`
|
||||
- LDFLAGS="-L../bfd -L../libiberty $ZLIBDIR $ZSTD_LIBS $LDFLAGS"
|
||||
+ LDFLAGS="-L../bfd -L../libiberty $ZLIBDIR $LDFLAGS"
|
||||
intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
|
||||
- LIBS="-lbfd -liberty -lz $intl $LIBS"
|
||||
+ LIBS="-lbfd -liberty -lz $ZSTD_LIBS $intl $LIBS"
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Mach-O support in BFD" >&5
|
||||
$as_echo_n "checking for Mach-O support in BFD... " >&6; }
|
||||
if ${gdb_cv_var_macho+:} false; then :
|
||||
--
|
||||
2.35.3
|
||||
|
21
fixup-gdb-test-dw2-aranges.patch
Normal file
21
fixup-gdb-test-dw2-aranges.patch
Normal file
@ -0,0 +1,21 @@
|
||||
From 81a7585502092b3c133534ac6ecb34fd56d05337 Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Thu, 16 Feb 2023 12:56:41 +0100
|
||||
Subject: [PATCH 09/11] fixup gdb-test-dw2-aranges.patch
|
||||
|
||||
---
|
||||
gdb/testsuite/gdb.dwarf2/dw2-aranges.S | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-aranges.S b/gdb/testsuite/gdb.dwarf2/dw2-aranges.S
|
||||
index d5b9ca5a3c6..b811f6644cb 100644
|
||||
--- a/gdb/testsuite/gdb.dwarf2/dw2-aranges.S
|
||||
+++ b/gdb/testsuite/gdb.dwarf2/dw2-aranges.S
|
||||
@@ -138,3 +138,4 @@ main:
|
||||
.byte 0 /* aranges segment_size */
|
||||
|
||||
.Laranges_end:
|
||||
+ .section .note.GNU-stack,"",@progbits
|
||||
--
|
||||
2.35.3
|
||||
|
@ -1,30 +0,0 @@
|
||||
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
||||
From: Fedora GDB patches <invalid@email.com>
|
||||
Date: Fri, 27 Oct 2017 21:07:50 +0200
|
||||
Subject: gdb-container-rh-pkg.patch
|
||||
|
||||
;; Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114).
|
||||
;;=fedora
|
||||
|
||||
diff --git a/gdb/remote.c b/gdb/remote.c
|
||||
--- a/gdb/remote.c
|
||||
+++ b/gdb/remote.c
|
||||
@@ -14343,7 +14343,17 @@ remote_target::pid_to_exec_file (int pid)
|
||||
char *annex = NULL;
|
||||
|
||||
if (packet_support (PACKET_qXfer_exec_file) != PACKET_ENABLE)
|
||||
- return NULL;
|
||||
+ {
|
||||
+ warning (_("Remote gdbserver does not support determining executable "
|
||||
+ "automatically.\n"
|
||||
+"RHEL <=6.8 and <=7.2 versions of gdbserver do not support such automatic executable detection.\n"
|
||||
+"The following versions of gdbserver support it:\n"
|
||||
+"- Upstream version of gdbserver (unsupported) 7.10 or later\n"
|
||||
+"- Red Hat Developer Toolset (DTS) version of gdbserver from DTS 4.0 or later (only on x86_64)\n"
|
||||
+"- RHEL-7.3 versions of gdbserver (on any architecture)"
|
||||
+));
|
||||
+ return NULL;
|
||||
+ }
|
||||
|
||||
inferior *inf = find_inferior_pid (this, pid);
|
||||
if (inf == NULL)
|
@ -1,468 +0,0 @@
|
||||
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
||||
From: Fedora GDB patches <invalid@email.com>
|
||||
Date: Fri, 27 Oct 2017 21:07:50 +0200
|
||||
Subject: gdb-test-ivy-bridge.patch
|
||||
|
||||
;; Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890).
|
||||
;;=fedoratest
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.arch/amd64-ivy-bridge.S b/gdb/testsuite/gdb.arch/amd64-ivy-bridge.S
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.arch/amd64-ivy-bridge.S
|
||||
@@ -0,0 +1,98 @@
|
||||
+/* Copyright 2011 Free Software Foundation, Inc.
|
||||
+
|
||||
+ This program is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ This program is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+ This file is part of the gdb testsuite. */
|
||||
+
|
||||
+ .globl _start
|
||||
+_start: .text
|
||||
+
|
||||
+/* gas/i386/x86-64-rdrnd.s */
|
||||
+ .att_syntax prefix
|
||||
+ rdrand %bx
|
||||
+ rdrand %ebx
|
||||
+ rdrand %rbx
|
||||
+ rdrand %r8w
|
||||
+ rdrand %r8d
|
||||
+ rdrand %r8
|
||||
+
|
||||
+ .intel_syntax noprefix
|
||||
+ rdrand bx
|
||||
+ rdrand ebx
|
||||
+ rdrand rbx
|
||||
+ rdrand r8w
|
||||
+ rdrand r8d
|
||||
+ rdrand r8
|
||||
+
|
||||
+/* gas/i386/x86-64-f16c.s */
|
||||
+ .att_syntax prefix
|
||||
+ vcvtph2ps %xmm4,%ymm4
|
||||
+ vcvtph2ps (%r8),%ymm8
|
||||
+ vcvtph2ps %xmm4,%xmm6
|
||||
+ vcvtph2ps (%rcx),%xmm4
|
||||
+ vcvtps2ph $0x2,%ymm4,%xmm4
|
||||
+ vcvtps2ph $0x2,%ymm8,(%r8)
|
||||
+ vcvtps2ph $0x2,%xmm4,%xmm4
|
||||
+ vcvtps2ph $0x2,%xmm4,(%rcx)
|
||||
+
|
||||
+ .intel_syntax noprefix
|
||||
+ vcvtph2ps ymm4,xmm4
|
||||
+ vcvtph2ps ymm8,XMMWORD PTR [r8]
|
||||
+ vcvtph2ps ymm4,[rcx]
|
||||
+ vcvtph2ps xmm6,xmm4
|
||||
+ vcvtph2ps xmm4,QWORD PTR [rcx]
|
||||
+ vcvtph2ps xmm4,[rcx]
|
||||
+ vcvtps2ph xmm4,ymm4,0x2
|
||||
+ vcvtps2ph XMMWORD PTR [rcx],ymm4,0x2
|
||||
+ vcvtps2ph [rcx],ymm4,0x2
|
||||
+ vcvtps2ph xmm4,xmm4,0x2
|
||||
+ vcvtps2ph QWORD PTR [r8],xmm8,0x2
|
||||
+ vcvtps2ph [rcx],xmm4,0x2
|
||||
+
|
||||
+/* gas/i386/x86-64-fsgs.s */
|
||||
+ .att_syntax prefix
|
||||
+ rdfsbase %ebx
|
||||
+ rdfsbase %rbx
|
||||
+ rdfsbase %r8d
|
||||
+ rdfsbase %r8
|
||||
+ rdgsbase %ebx
|
||||
+ rdgsbase %rbx
|
||||
+ rdgsbase %r8d
|
||||
+ rdgsbase %r8
|
||||
+ wrfsbase %ebx
|
||||
+ wrfsbase %rbx
|
||||
+ wrfsbase %r8d
|
||||
+ wrfsbase %r8
|
||||
+ wrgsbase %ebx
|
||||
+ wrgsbase %rbx
|
||||
+ wrgsbase %r8d
|
||||
+ wrgsbase %r8
|
||||
+
|
||||
+ .intel_syntax noprefix
|
||||
+ rdfsbase ebx
|
||||
+ rdfsbase rbx
|
||||
+ rdfsbase r8d
|
||||
+ rdfsbase r8
|
||||
+ rdgsbase ebx
|
||||
+ rdgsbase rbx
|
||||
+ rdgsbase r8d
|
||||
+ rdgsbase r8
|
||||
+ wrfsbase ebx
|
||||
+ wrfsbase rbx
|
||||
+ wrfsbase r8d
|
||||
+ wrfsbase r8
|
||||
+ wrgsbase ebx
|
||||
+ wrgsbase rbx
|
||||
+ wrgsbase r8d
|
||||
+ wrgsbase r8
|
||||
diff --git a/gdb/testsuite/gdb.arch/amd64-ivy-bridge.exp b/gdb/testsuite/gdb.arch/amd64-ivy-bridge.exp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.arch/amd64-ivy-bridge.exp
|
||||
@@ -0,0 +1,170 @@
|
||||
+# Copyright 2011 Free Software Foundation, Inc.
|
||||
+
|
||||
+# This program is free software; you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation; either version 3 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+if {![istarget "x86_64-*-*"]} then {
|
||||
+ return
|
||||
+}
|
||||
+
|
||||
+set testfile amd64-ivy-bridge
|
||||
+set test compilation
|
||||
+if [prepare_for_testing ${testfile}.exp ${testfile}.x ${testfile}.S [list debug "additional_flags=-m64 -nostdlib"]] {
|
||||
+ unsupported $test
|
||||
+ return -1
|
||||
+}
|
||||
+pass $test
|
||||
+
|
||||
+gdb_test_no_output "set disassembly-flavor att"
|
||||
+# gas/i386/x86-64-rdrnd.d
|
||||
+# gas/i386/x86-64-f16c.d
|
||||
+# gas/i386/x86-64-fsgs.d
|
||||
+gdb_test "disassemble/r _start" "\r
|
||||
+Dump of assembler code for function _start:\r
|
||||
+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand %bx\r
|
||||
+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand %ebx\r
|
||||
+\[^\r\n\]+:\t48 0f c7 f3\t\( \)?rdrand %rbx\r
|
||||
+\[^\r\n\]+:\t66 41 0f c7 f0\t\( \)?rdrand %r8w\r
|
||||
+\[^\r\n\]+:\t41 0f c7 f0\t\( \)?rdrand %r8d\r
|
||||
+\[^\r\n\]+:\t49 0f c7 f0\t\( \)?rdrand %r8\r
|
||||
+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand %bx\r
|
||||
+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand %ebx\r
|
||||
+\[^\r\n\]+:\t48 0f c7 f3\t\( \)?rdrand %rbx\r
|
||||
+\[^\r\n\]+:\t66 41 0f c7 f0\t\( \)?rdrand %r8w\r
|
||||
+\[^\r\n\]+:\t41 0f c7 f0\t\( \)?rdrand %r8d\r
|
||||
+\[^\r\n\]+:\t49 0f c7 f0\t\( \)?rdrand %r8\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps %xmm4,%ymm4\r
|
||||
+\[^\r\n\]+:\tc4 42 7d 13 00\t\( \)?vcvtph2ps \\(%r8\\),%ymm8\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps %xmm4,%xmm6\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%rcx\\),%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 43 7d 1d 00 02\t\( \)?vcvtps2ph \\\$0x2,%ymm8,\\(%r8\\)\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,\\(%rcx\\)\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps %xmm4,%ymm4\r
|
||||
+\[^\r\n\]+:\tc4 42 7d 13 00\t\( \)?vcvtph2ps \\(%r8\\),%ymm8\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps \\(%rcx\\),%ymm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps %xmm4,%xmm6\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%rcx\\),%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%rcx\\),%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,\\(%rcx\\)\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,\\(%rcx\\)\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 43 79 1d 00 02\t\( \)?vcvtps2ph \\\$0x2,%xmm8,\\(%r8\\)\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,\\(%rcx\\)\r
|
||||
+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae c3\t\( \)?rdfsbase %rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae c0\t\( \)?rdfsbase %r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae c0\t\( \)?rdfsbase %r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae cb\t\( \)?rdgsbase %rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae c8\t\( \)?rdgsbase %r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae c8\t\( \)?rdgsbase %r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae d3\t\( \)?wrfsbase %rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae d0\t\( \)?wrfsbase %r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae d0\t\( \)?wrfsbase %r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae db\t\( \)?wrgsbase %rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae d8\t\( \)?wrgsbase %r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae d8\t\( \)?wrgsbase %r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae c3\t\( \)?rdfsbase %rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae c0\t\( \)?rdfsbase %r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae c0\t\( \)?rdfsbase %r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae cb\t\( \)?rdgsbase %rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae c8\t\( \)?rdgsbase %r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae c8\t\( \)?rdgsbase %r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae d3\t\( \)?wrfsbase %rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae d0\t\( \)?wrfsbase %r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae d0\t\( \)?wrfsbase %r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae db\t\( \)?wrgsbase %rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae d8\t\( \)?wrgsbase %r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae d8\t\( \)?wrgsbase %r8\r
|
||||
+End of assembler dump\\." "att"
|
||||
+
|
||||
+gdb_test_no_output "set disassembly-flavor intel"
|
||||
+# gas/i386/x86-64-rdrnd-intel.d
|
||||
+# gas/i386/x86-64-f16c-intel.d
|
||||
+# gas/i386/x86-64-fsgs-intel.d
|
||||
+gdb_test "disassemble/r _start" "\r
|
||||
+Dump of assembler code for function _start:\r
|
||||
+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand bx\r
|
||||
+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand ebx\r
|
||||
+\[^\r\n\]+:\t48 0f c7 f3\t\( \)?rdrand rbx\r
|
||||
+\[^\r\n\]+:\t66 41 0f c7 f0\t\( \)?rdrand r8w\r
|
||||
+\[^\r\n\]+:\t41 0f c7 f0\t\( \)?rdrand r8d\r
|
||||
+\[^\r\n\]+:\t49 0f c7 f0\t\( \)?rdrand r8\r
|
||||
+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand bx\r
|
||||
+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand ebx\r
|
||||
+\[^\r\n\]+:\t48 0f c7 f3\t\( \)?rdrand rbx\r
|
||||
+\[^\r\n\]+:\t66 41 0f c7 f0\t\( \)?rdrand r8w\r
|
||||
+\[^\r\n\]+:\t41 0f c7 f0\t\( \)?rdrand r8d\r
|
||||
+\[^\r\n\]+:\t49 0f c7 f0\t\( \)?rdrand r8\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps ymm4,xmm4\r
|
||||
+\[^\r\n\]+:\tc4 42 7d 13 00\t\( \)?vcvtph2ps ymm8,XMMWORD PTR \\\[r8\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps xmm6,xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[rcx\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph xmm4,ymm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 43 7d 1d 00 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[r8\\\],ymm8,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph xmm4,xmm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph QWORD PTR \\\[rcx\\\],xmm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps ymm4,xmm4\r
|
||||
+\[^\r\n\]+:\tc4 42 7d 13 00\t\( \)?vcvtph2ps ymm8,XMMWORD PTR \\\[r8\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps ymm4,XMMWORD PTR \\\[rcx\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps xmm6,xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[rcx\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[rcx\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph xmm4,ymm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[rcx\\\],ymm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[rcx\\\],ymm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph xmm4,xmm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 43 79 1d 00 02\t\( \)?vcvtps2ph QWORD PTR \\\[r8\\\],xmm8,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph QWORD PTR \\\[rcx\\\],xmm4,0x2\r
|
||||
+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae c3\t\( \)?rdfsbase rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae c0\t\( \)?rdfsbase r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae c0\t\( \)?rdfsbase r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae cb\t\( \)?rdgsbase rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae c8\t\( \)?rdgsbase r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae c8\t\( \)?rdgsbase r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae d3\t\( \)?wrfsbase rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae d0\t\( \)?wrfsbase r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae d0\t\( \)?wrfsbase r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae db\t\( \)?wrgsbase rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae d8\t\( \)?wrgsbase r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae d8\t\( \)?wrgsbase r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae c3\t\( \)?rdfsbase rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae c0\t\( \)?rdfsbase r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae c0\t\( \)?rdfsbase r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae cb\t\( \)?rdgsbase rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae c8\t\( \)?rdgsbase r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae c8\t\( \)?rdgsbase r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae d3\t\( \)?wrfsbase rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae d0\t\( \)?wrfsbase r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae d0\t\( \)?wrfsbase r8\r
|
||||
+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 48 0f ae db\t\( \)?wrgsbase rbx\r
|
||||
+\[^\r\n\]+:\tf3 41 0f ae d8\t\( \)?wrgsbase r8d\r
|
||||
+\[^\r\n\]+:\tf3 49 0f ae d8\t\( \)?wrgsbase r8\r
|
||||
+End of assembler dump\\." "intel"
|
||||
diff --git a/gdb/testsuite/gdb.arch/i386-ivy-bridge.S b/gdb/testsuite/gdb.arch/i386-ivy-bridge.S
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.arch/i386-ivy-bridge.S
|
||||
@@ -0,0 +1,66 @@
|
||||
+/* Copyright 2011 Free Software Foundation, Inc.
|
||||
+
|
||||
+ This program is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ This program is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+ This file is part of the gdb testsuite. */
|
||||
+
|
||||
+ .globl _start
|
||||
+_start: .text
|
||||
+
|
||||
+/* gas/i386/rdrnd.s */
|
||||
+ .att_syntax prefix
|
||||
+ rdrand %bx
|
||||
+ rdrand %ebx
|
||||
+
|
||||
+ .intel_syntax noprefix
|
||||
+ rdrand bx
|
||||
+ rdrand ebx
|
||||
+
|
||||
+/* gas/i386/f16c.s */
|
||||
+ .att_syntax prefix
|
||||
+ vcvtph2ps %xmm4,%ymm4
|
||||
+ vcvtph2ps (%ecx),%ymm4
|
||||
+ vcvtph2ps %xmm4,%xmm6
|
||||
+ vcvtph2ps (%ecx),%xmm4
|
||||
+ vcvtps2ph $0x2,%ymm4,%xmm4
|
||||
+ vcvtps2ph $0x2,%ymm4,(%ecx)
|
||||
+ vcvtps2ph $0x2,%xmm4,%xmm4
|
||||
+ vcvtps2ph $0x2,%xmm4,(%ecx)
|
||||
+
|
||||
+ .intel_syntax noprefix
|
||||
+ vcvtph2ps ymm4,xmm4
|
||||
+ vcvtph2ps ymm4,XMMWORD PTR [ecx]
|
||||
+ vcvtph2ps ymm4,[ecx]
|
||||
+ vcvtph2ps xmm6,xmm4
|
||||
+ vcvtph2ps xmm4,QWORD PTR [ecx]
|
||||
+ vcvtph2ps xmm4,[ecx]
|
||||
+ vcvtps2ph xmm4,ymm4,0x2
|
||||
+ vcvtps2ph XMMWORD PTR [ecx],ymm4,0x2
|
||||
+ vcvtps2ph [ecx],ymm4,0x2
|
||||
+ vcvtps2ph xmm4,xmm4,0x2
|
||||
+ vcvtps2ph QWORD PTR [ecx],xmm4,0x2
|
||||
+ vcvtps2ph [ecx],xmm4,0x2
|
||||
+
|
||||
+/* gas/i386/fsgs.s */
|
||||
+ .att_syntax prefix
|
||||
+ rdfsbase %ebx
|
||||
+ rdgsbase %ebx
|
||||
+ wrfsbase %ebx
|
||||
+ wrgsbase %ebx
|
||||
+
|
||||
+ .intel_syntax noprefix
|
||||
+ rdfsbase ebx
|
||||
+ rdgsbase ebx
|
||||
+ wrfsbase ebx
|
||||
+ wrgsbase ebx
|
||||
diff --git a/gdb/testsuite/gdb.arch/i386-ivy-bridge.exp b/gdb/testsuite/gdb.arch/i386-ivy-bridge.exp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.arch/i386-ivy-bridge.exp
|
||||
@@ -0,0 +1,106 @@
|
||||
+# Copyright 2011 Free Software Foundation, Inc.
|
||||
+
|
||||
+# This program is free software; you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation; either version 3 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+if {![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"]} then {
|
||||
+ return
|
||||
+}
|
||||
+
|
||||
+set testfile i386-ivy-bridge
|
||||
+set test compilation
|
||||
+if [prepare_for_testing ${testfile}.exp ${testfile}.x ${testfile}.S [list debug "additional_flags=-m32 -nostdlib"]] {
|
||||
+ fail $test
|
||||
+ return -1
|
||||
+}
|
||||
+pass $test
|
||||
+
|
||||
+gdb_test_no_output "set disassembly-flavor att"
|
||||
+# gas/i386/rdrnd.d
|
||||
+# gas/i386/f16c.d
|
||||
+# gas/i386/fsgs.d
|
||||
+gdb_test "disassemble/r _start" "\r
|
||||
+Dump of assembler code for function _start:\r
|
||||
+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand %bx\r
|
||||
+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand %ebx\r
|
||||
+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand %bx\r
|
||||
+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand %ebx\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps %xmm4,%ymm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%ymm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps %xmm4,%xmm6\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,\\(%ecx\\)\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,\\(%ecx\\)\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps %xmm4,%ymm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%ymm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%ymm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps %xmm4,%xmm6\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps \\(%ecx\\),%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,\\(%ecx\\)\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%ymm4,\\(%ecx\\)\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,%xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,\\(%ecx\\)\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph \\\$0x2,%xmm4,\\(%ecx\\)\r
|
||||
+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase %ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase %ebx\r
|
||||
+End of assembler dump\\." "att"
|
||||
+
|
||||
+gdb_test_no_output "set disassembly-flavor intel"
|
||||
+# gas/i386/rdrnd-intel.d
|
||||
+# gas/i386/f16c-intel.d
|
||||
+# gas/i386/fsgs-intel.d
|
||||
+gdb_test "disassemble/r _start" "\r
|
||||
+Dump of assembler code for function _start:\r
|
||||
+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand bx\r
|
||||
+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand ebx\r
|
||||
+\[^\r\n\]+:\t66 0f c7 f3\t\( \)?rdrand bx\r
|
||||
+\[^\r\n\]+:\t0f c7 f3\t\( \)?rdrand ebx\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps ymm4,xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps ymm4,XMMWORD PTR \\\[ecx\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps xmm6,xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[ecx\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph xmm4,ymm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[ecx\\\],ymm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph xmm4,xmm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph QWORD PTR \\\[ecx\\\],xmm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 e4\t\( \)?vcvtph2ps ymm4,xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps ymm4,XMMWORD PTR \\\[ecx\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e2 7d 13 21\t\( \)?vcvtph2ps ymm4,XMMWORD PTR \\\[ecx\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 f4\t\( \)?vcvtph2ps xmm6,xmm4\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[ecx\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e2 79 13 21\t\( \)?vcvtph2ps xmm4,QWORD PTR \\\[ecx\\\]\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d e4 02\t\( \)?vcvtps2ph xmm4,ymm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[ecx\\\],ymm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 7d 1d 21 02\t\( \)?vcvtps2ph XMMWORD PTR \\\[ecx\\\],ymm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d e4 02\t\( \)?vcvtps2ph xmm4,xmm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph QWORD PTR \\\[ecx\\\],xmm4,0x2\r
|
||||
+\[^\r\n\]+:\tc4 e3 79 1d 21 02\t\( \)?vcvtps2ph QWORD PTR \\\[ecx\\\],xmm4,0x2\r
|
||||
+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae c3\t\( \)?rdfsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae cb\t\( \)?rdgsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae d3\t\( \)?wrfsbase ebx\r
|
||||
+\[^\r\n\]+:\tf3 0f ae db\t\( \)?wrgsbase ebx\r
|
||||
+End of assembler dump\\." "intel"
|
68
gdb-testsuite-add-gdb.suse-debranding.exp.patch
Normal file
68
gdb-testsuite-add-gdb.suse-debranding.exp.patch
Normal file
@ -0,0 +1,68 @@
|
||||
From b08bf94f170dd39db21cf8f62941f1866b6978c0 Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Thu, 16 Feb 2023 11:36:47 +0100
|
||||
Subject: [PATCH 080/155] Add gdb.suse/debranding.exp
|
||||
|
||||
---
|
||||
gdb/testsuite/gdb.suse/debranding.exp | 49 +++++++++++++++++++++++++++
|
||||
1 file changed, 49 insertions(+)
|
||||
create mode 100644 gdb/testsuite/gdb.suse/debranding.exp
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.suse/debranding.exp b/gdb/testsuite/gdb.suse/debranding.exp
|
||||
new file mode 100644
|
||||
index 00000000000..cdee10b75a7
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.suse/debranding.exp
|
||||
@@ -0,0 +1,49 @@
|
||||
+# Copyright 2023 Free Software Foundation, Inc.
|
||||
+
|
||||
+# This program is free software; you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation; either version 3 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+# There's a problem with dumping the entire output into gdb.log
|
||||
+# on SLE-11, so redirect to file instead. Also means the gdb.log
|
||||
+# is smaller.
|
||||
+set f [standard_output_file "gdb-strings.txt"]
|
||||
+
|
||||
+# Not using remote_exec due to using file redirection.
|
||||
+set cmd "exec strings $GDB > $f"
|
||||
+set status [catch $cmd msg]
|
||||
+verbose -log "status: $status"
|
||||
+verbose -log "msg: $msg"
|
||||
+gdb_assert { $status == 0 }
|
||||
+
|
||||
+set fp [open $f r]
|
||||
+set output [read $fp]
|
||||
+close $fp
|
||||
+
|
||||
+set re {^.*(?:fedora|red[^a-z]?hat).*$}
|
||||
+set matches [regexp -line -nocase -all -inline $re $output]
|
||||
+
|
||||
+set disallowed_matches 0
|
||||
+set allowed_re "warning: deprecated Red Hat reloc"
|
||||
+foreach match $matches {
|
||||
+ if { [regexp -nocase $allowed_re $match] } {
|
||||
+ verbose -log "allowed_match: '$match'"
|
||||
+ continue
|
||||
+ }
|
||||
+
|
||||
+ verbose -log "disallowed_match: '$match'"
|
||||
+ incr disallowed_matches
|
||||
+}
|
||||
+
|
||||
+gdb_assert { $disallowed_matches == 0 }
|
||||
+
|
||||
+remote_file build delete $f
|
||||
--
|
||||
2.35.3
|
||||
|
57
gdb-testsuite-add-xfail-case-in-gdb.python-py-record.patch
Normal file
57
gdb-testsuite-add-xfail-case-in-gdb.python-py-record.patch
Normal file
@ -0,0 +1,57 @@
|
||||
From 835a10f8541c7c4150098c82e097c4f606475cfa Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Mon, 20 Feb 2023 11:16:02 +0100
|
||||
Subject: [PATCH] [gdb/testsuite] Add xfail case in
|
||||
gdb.python/py-record-btrace.exp
|
||||
|
||||
I came across:
|
||||
...
|
||||
gdb) PASS: gdb.python/py-record-btrace.exp: prepare record: stepi 100
|
||||
python insn = r.instruction_history^M
|
||||
warning: Non-contiguous trace at instruction 1 (offset = 0x3e10).^M
|
||||
(gdb) FAIL: gdb.python/py-record-btrace.exp: prepare record: python insn = r.i\
|
||||
nstruction_history
|
||||
...
|
||||
|
||||
I'm assuming it's the same root cause as for the already present XFAIL.
|
||||
|
||||
Fix this by recognizing above warning in the xfail regexp.
|
||||
|
||||
Tested on x86_64-linux, although sofar I was not able to trigger the warning
|
||||
again.
|
||||
|
||||
Approved-By: Markus T. Metzger <markus.t.metzger@intel.com>
|
||||
---
|
||||
gdb/testsuite/gdb.python/py-record-btrace.exp | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.python/py-record-btrace.exp b/gdb/testsuite/gdb.python/py-record-btrace.exp
|
||||
index ca8740bc967..a930d17264d 100644
|
||||
--- a/gdb/testsuite/gdb.python/py-record-btrace.exp
|
||||
+++ b/gdb/testsuite/gdb.python/py-record-btrace.exp
|
||||
@@ -86,6 +86,11 @@ with_test_prefix "prepare record" {
|
||||
"warning: Decode error \\($nonl_re*\\) at instruction $decimal" \
|
||||
"\\(offset = $hex, pc = $hex\\):" \
|
||||
"$nonl_re*\\."]]
|
||||
+ set xfail_re_2 \
|
||||
+ [join \
|
||||
+ [list \
|
||||
+ "warning: Non-contiguous trace at instruction $decimal" \
|
||||
+ "\\(offset = $hex\\)\\."]]
|
||||
|
||||
set got_xfail 0
|
||||
set cmd "python insn = r.instruction_history"
|
||||
@@ -93,7 +98,7 @@ with_test_prefix "prepare record" {
|
||||
-re "^[string_to_regexp $cmd]\r\n$::gdb_prompt $" {
|
||||
pass $gdb_test_name
|
||||
}
|
||||
- -re -wrap "$xfail_re" {
|
||||
+ -re -wrap "($xfail_re|$xfail_re_2)" {
|
||||
if { $have_xfail } {
|
||||
xfail $gdb_test_name
|
||||
set got_xfail 1
|
||||
|
||||
base-commit: f168a48adf97a36c88c65a075b42e6b7083063df
|
||||
--
|
||||
2.35.3
|
||||
|
154
gdb-testsuite-add-xfail-in-gdb.arch-i386-pkru.exp.patch
Normal file
154
gdb-testsuite-add-xfail-in-gdb.arch-i386-pkru.exp.patch
Normal file
@ -0,0 +1,154 @@
|
||||
From 1b89c346a99d89a06d9694ca4d47d040d4eebd5a Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Tue, 3 Jan 2023 16:41:05 +0100
|
||||
Subject: [PATCH 02/11] [gdb/testsuite] Add xfail in gdb.arch/i386-pkru.exp
|
||||
|
||||
On a x86_64-linux machine with pkru register, I run into:
|
||||
...
|
||||
(gdb) PASS: gdb.arch/i386-pkru.exp: set pkru value
|
||||
info register pkru^M
|
||||
pkru 0x12345678 305419896^M
|
||||
(gdb) FAIL: gdb.arch/i386-pkru.exp: read value after setting value
|
||||
...
|
||||
|
||||
This is a regression due to kernel commit e84ba47e313d ("x86/fpu: Hook up PKRU
|
||||
onto ptrace()"). This is fixed by recent kernel commit 4a804c4f8356
|
||||
("x86/fpu: Allow PKRU to be (once again) written by ptrace.").
|
||||
|
||||
The regression occurs for kernel versions v5.14-rc1 (the first tag containing
|
||||
the regression) up to but excluding v6.2-rc1 (the first tag containing the fix).
|
||||
|
||||
Fix this by adding an xfail for the appropriate kernel versions.
|
||||
|
||||
Tested on x86_64-linux.
|
||||
|
||||
PR testsuite/29790
|
||||
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29790
|
||||
---
|
||||
gdb/testsuite/gdb.arch/i386-pkru.exp | 45 +++++++++++++++++++++++---
|
||||
gdb/testsuite/lib/gdb-utils.exp | 48 ++++++++++++++++++++++++++++
|
||||
2 files changed, 89 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.arch/i386-pkru.exp b/gdb/testsuite/gdb.arch/i386-pkru.exp
|
||||
index 7724a579631..5fe93db9b4b 100644
|
||||
--- a/gdb/testsuite/gdb.arch/i386-pkru.exp
|
||||
+++ b/gdb/testsuite/gdb.arch/i386-pkru.exp
|
||||
@@ -58,6 +58,26 @@ if { !$supports_pkru } {
|
||||
return
|
||||
}
|
||||
|
||||
+# Linux kernel versions 5.14.0 to 6.1.x contain a regression related to writing
|
||||
+# the PKRU using ptrace, see commit 4a804c4f8356 ("x86/fpu: Allow PKRU to be
|
||||
+# (once again) written by ptrace.").
|
||||
+set have_xfail 0
|
||||
+if { [istarget *-*-linux*] } {
|
||||
+ set res [remote_exec target "uname -r"]
|
||||
+ set status [lindex $res 0]
|
||||
+ set output [lindex $res 1]
|
||||
+
|
||||
+ set re ^($decimal)\\.($decimal)\\.($decimal)
|
||||
+ if { $status == 0
|
||||
+ && [regexp $re $output dummy v1 v2 v3] == 1 } {
|
||||
+ set v [list $v1 $v2 $v3]
|
||||
+ set have_xfail \
|
||||
+ [expr \
|
||||
+ [version_compare [list 5 14 0] <= $v] \
|
||||
+ && [version_compare $v < [list 6 2 0]]]
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
# Test pkru register at startup
|
||||
gdb_test "print /x \$pkru" "= $default_pkru_re" "pkru register"
|
||||
|
||||
@@ -65,11 +85,28 @@ gdb_test "print /x \$pkru" "= $default_pkru_re" "pkru register"
|
||||
gdb_breakpoint [ gdb_get_line_number "break here 1" ]
|
||||
gdb_continue_to_breakpoint "break here 1" ".*break here 1.*"
|
||||
|
||||
-gdb_test "info register pkru" ".*pkru.*0x12345678.*" "read pkru register"
|
||||
-gdb_test "print /x \$pkru = 0x44444444" "= 0x44444444" "set pkru value"
|
||||
-gdb_test "info register pkru" ".*pkru.*0x44444444.*" "read value after setting value"
|
||||
+set val1 0x12345678
|
||||
+gdb_test "info register pkru" ".*pkru.*$val1.*" "read pkru register"
|
||||
+
|
||||
+set val2 0x44444444
|
||||
+gdb_test "print /x \$pkru = $val2" "= $val2" "set pkru value"
|
||||
+
|
||||
+set xval $val2
|
||||
+gdb_test_multiple "info register pkru" "read value after setting value" {
|
||||
+ -re -wrap ".*pkru.*$val2.*" {
|
||||
+ pass $gdb_test_name
|
||||
+ }
|
||||
+ -re -wrap ".*pkru.*$val1.*" {
|
||||
+ if { $have_xfail } {
|
||||
+ xfail $gdb_test_name
|
||||
+ } else {
|
||||
+ fail $gdb_test_name
|
||||
+ }
|
||||
+ set xval $val1
|
||||
+ }
|
||||
+}
|
||||
|
||||
gdb_breakpoint [ gdb_get_line_number "break here 2" ]
|
||||
gdb_continue_to_breakpoint "break here 2" ".*break here 2.*"
|
||||
|
||||
-gdb_test "print /x rd_value" "= 0x44444444" "variable after reading pkru"
|
||||
+gdb_test "print /x rd_value" "= $xval" "variable after reading pkru"
|
||||
diff --git a/gdb/testsuite/lib/gdb-utils.exp b/gdb/testsuite/lib/gdb-utils.exp
|
||||
index ffdfb75557c..294d0998632 100644
|
||||
--- a/gdb/testsuite/lib/gdb-utils.exp
|
||||
+++ b/gdb/testsuite/lib/gdb-utils.exp
|
||||
@@ -72,3 +72,51 @@ proc style {str style} {
|
||||
}
|
||||
return "\033\\\[${style}m${str}\033\\\[m"
|
||||
}
|
||||
+
|
||||
+# Compare the version numbers in L1 to those in L2 using OP, and return
|
||||
+# 1 if the comparison is true.
|
||||
+
|
||||
+proc version_compare { l1 op l2 } {
|
||||
+ set len [llength $l1]
|
||||
+ if { $len != [llength $l2] } {
|
||||
+ error "l2 not the same length as l1"
|
||||
+ }
|
||||
+
|
||||
+ switch -exact $op {
|
||||
+ "==" -
|
||||
+ "<" {}
|
||||
+ "<=" { return [expr [version_compare $l1 < $l2] \
|
||||
+ || [version_compare $l1 == $l2]]}
|
||||
+ default { error "unsupported op: $op" }
|
||||
+ }
|
||||
+
|
||||
+ # Handle ops < and ==.
|
||||
+ set idx 0
|
||||
+ foreach v1 $l1 {
|
||||
+ set v2 [lindex $l2 $idx]
|
||||
+ incr idx
|
||||
+ set last [expr $len == $idx]
|
||||
+
|
||||
+ set cmp [expr $v1 $op $v2]
|
||||
+ if { $op == "==" } {
|
||||
+ if { $cmp } {
|
||||
+ continue
|
||||
+ } else {
|
||||
+ return 0
|
||||
+ }
|
||||
+ } else {
|
||||
+ # $op == "<".
|
||||
+ if { $cmp } {
|
||||
+ return 1
|
||||
+ } else {
|
||||
+ if { !$last && $v1 == $v2 } {
|
||||
+ continue
|
||||
+ }
|
||||
+ return 0
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return 1
|
||||
+}
|
||||
+
|
||||
--
|
||||
2.35.3
|
||||
|
98
gdb-testsuite-add-xfail-in-gdb.python-py-record-btra.patch
Normal file
98
gdb-testsuite-add-xfail-in-gdb.python-py-record-btra.patch
Normal file
@ -0,0 +1,98 @@
|
||||
From 221ecdef7cc008b01832840d1fbd25d94f8abdd1 Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Tue, 14 Feb 2023 13:15:49 +0100
|
||||
Subject: [PATCH 04/11] [gdb/testsuite] Add xfail in
|
||||
gdb.python/py-record-btrace.exp
|
||||
|
||||
There's a HW bug affecting Processor Trace on some Intel processors
|
||||
(Ice Lake to Raptor Lake microarchitectures).
|
||||
|
||||
The bug was exposed by linux kernel commit 670638477aed
|
||||
("perf/x86/intel/pt: Opportunistically use single range output mode"),
|
||||
added in version v5.5.0, and was worked around by commit ce0d998be927
|
||||
("perf/x86/intel/pt: Fix sampling using single range output") in version
|
||||
6.1.0.
|
||||
|
||||
The bug manifests (on a Performance-core of an i7-1250U, an Alder Lake cpu) in
|
||||
a single test-case:
|
||||
...
|
||||
(gdb) python insn = r.instruction_history^M
|
||||
warning: Decode error (-20) at instruction 33 (offset = 0x3d6a, \
|
||||
pc = 0x400501): compressed return without call.^M
|
||||
(gdb) FAIL: gdb.python/py-record-btrace.exp: prepare record: \
|
||||
python insn = r.instruction_history
|
||||
...
|
||||
|
||||
Add a corresponding XFAIL.
|
||||
|
||||
Note that the i7-1250U has both Performance-cores and Efficient-cores, and on
|
||||
an Efficient-Core the test-case runs without any problems, so if the testsuite
|
||||
run is not pinned to a specific cpu, the test may either PASS or XFAIL.
|
||||
|
||||
Tested on x86_64-linux:
|
||||
- openSUSE Leap 15.4 with linux kernel version 5.14.21
|
||||
- openSUSE Tumbleweed with linux kernel version 6.1.8
|
||||
|
||||
PR testsuite/30075
|
||||
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30075
|
||||
---
|
||||
gdb/testsuite/gdb.python/py-record-btrace.exp | 43 ++++++++++++++++++-
|
||||
1 file changed, 42 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.python/py-record-btrace.exp b/gdb/testsuite/gdb.python/py-record-btrace.exp
|
||||
index 8204577b866..ca8740bc967 100644
|
||||
--- a/gdb/testsuite/gdb.python/py-record-btrace.exp
|
||||
+++ b/gdb/testsuite/gdb.python/py-record-btrace.exp
|
||||
@@ -64,7 +64,48 @@ with_test_prefix "prepare record" {
|
||||
gdb_test "python print(r.method)" "btrace"
|
||||
gdb_test "python print(r.format)" "pt|bts"
|
||||
gdb_test "stepi 100" ".*"
|
||||
- gdb_test_no_output "python insn = r.instruction_history"
|
||||
+
|
||||
+ # There's a HW bug affecting Processor Trace on some Intel processors.
|
||||
+ # The bug was exposed by linux kernel commit 670638477aed
|
||||
+ # ("perf/x86/intel/pt: Opportunistically use single range output mode"),
|
||||
+ # added in version v5.5.0, and was worked around by commit ce0d998be927
|
||||
+ # ("perf/x86/intel/pt: Fix sampling using single range output") in version
|
||||
+ # 6.1.0. Detect the kernel version range for which the problem may
|
||||
+ # manifest.
|
||||
+ set have_xfail 0
|
||||
+ set v [linux_kernel_version]
|
||||
+ if { $v != {} } {
|
||||
+ set have_xfail \
|
||||
+ [expr [version_compare [list 5 5 0] <= $v] \
|
||||
+ && [version_compare $v < [list 6 1 0]]]
|
||||
+ }
|
||||
+ set nonl_re \[^\r\n\]
|
||||
+ set xfail_re \
|
||||
+ [join \
|
||||
+ [list \
|
||||
+ "warning: Decode error \\($nonl_re*\\) at instruction $decimal" \
|
||||
+ "\\(offset = $hex, pc = $hex\\):" \
|
||||
+ "$nonl_re*\\."]]
|
||||
+
|
||||
+ set got_xfail 0
|
||||
+ set cmd "python insn = r.instruction_history"
|
||||
+ gdb_test_multiple $cmd "" {
|
||||
+ -re "^[string_to_regexp $cmd]\r\n$::gdb_prompt $" {
|
||||
+ pass $gdb_test_name
|
||||
+ }
|
||||
+ -re -wrap "$xfail_re" {
|
||||
+ if { $have_xfail } {
|
||||
+ xfail $gdb_test_name
|
||||
+ set got_xfail 1
|
||||
+ } else {
|
||||
+ fail $gdb_test_name
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ if { $got_xfail } {
|
||||
+ return
|
||||
+ }
|
||||
+
|
||||
gdb_test_no_output "python call = r.function_call_history"
|
||||
gdb_test_no_output "python i = insn\[0\]"
|
||||
gdb_test_no_output "python c = call\[0\]"
|
||||
--
|
||||
2.35.3
|
||||
|
81
gdb-testsuite-factor-out-proc-linux_kernel_version.patch
Normal file
81
gdb-testsuite-factor-out-proc-linux_kernel_version.patch
Normal file
@ -0,0 +1,81 @@
|
||||
From bbf4e4ba2a9bd73384268b0160d54e36edc92a12 Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Tue, 14 Feb 2023 11:53:54 +0100
|
||||
Subject: [PATCH 03/11] [gdb/testsuite] Factor out proc linux_kernel_version
|
||||
|
||||
Factor out new proc linux_kernel_version from test-case
|
||||
gdb.arch/i386-pkru.exp.
|
||||
|
||||
Tested on x86_64-linux.
|
||||
---
|
||||
gdb/testsuite/gdb.arch/i386-pkru.exp | 20 ++++++--------------
|
||||
gdb/testsuite/lib/gdb.exp | 23 +++++++++++++++++++++++
|
||||
2 files changed, 29 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.arch/i386-pkru.exp b/gdb/testsuite/gdb.arch/i386-pkru.exp
|
||||
index 5fe93db9b4b..9bc9f9735e5 100644
|
||||
--- a/gdb/testsuite/gdb.arch/i386-pkru.exp
|
||||
+++ b/gdb/testsuite/gdb.arch/i386-pkru.exp
|
||||
@@ -62,20 +62,12 @@ if { !$supports_pkru } {
|
||||
# the PKRU using ptrace, see commit 4a804c4f8356 ("x86/fpu: Allow PKRU to be
|
||||
# (once again) written by ptrace.").
|
||||
set have_xfail 0
|
||||
-if { [istarget *-*-linux*] } {
|
||||
- set res [remote_exec target "uname -r"]
|
||||
- set status [lindex $res 0]
|
||||
- set output [lindex $res 1]
|
||||
-
|
||||
- set re ^($decimal)\\.($decimal)\\.($decimal)
|
||||
- if { $status == 0
|
||||
- && [regexp $re $output dummy v1 v2 v3] == 1 } {
|
||||
- set v [list $v1 $v2 $v3]
|
||||
- set have_xfail \
|
||||
- [expr \
|
||||
- [version_compare [list 5 14 0] <= $v] \
|
||||
- && [version_compare $v < [list 6 2 0]]]
|
||||
- }
|
||||
+set v [linux_kernel_version]
|
||||
+if { $v != {} } {
|
||||
+ set have_xfail \
|
||||
+ [expr \
|
||||
+ [version_compare [list 5 14 0] <= $v] \
|
||||
+ && [version_compare $v < [list 6 2 0]]]
|
||||
}
|
||||
|
||||
# Test pkru register at startup
|
||||
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
|
||||
index 5104835a2a9..069a61038e6 100644
|
||||
--- a/gdb/testsuite/lib/gdb.exp
|
||||
+++ b/gdb/testsuite/lib/gdb.exp
|
||||
@@ -8551,5 +8551,28 @@ gdb_caching_proc has_hw_wp_support {
|
||||
return $has_hw_wp_support
|
||||
}
|
||||
|
||||
+# Detect linux kernel version and return as list of 3 numbers: major, minor,
|
||||
+# and patchlevel. On failure, return an empty list.
|
||||
+
|
||||
+gdb_caching_proc linux_kernel_version {
|
||||
+ if { ![istarget *-*-linux*] } {
|
||||
+ return {}
|
||||
+ }
|
||||
+
|
||||
+ set res [remote_exec target "uname -r"]
|
||||
+ set status [lindex $res 0]
|
||||
+ set output [lindex $res 1]
|
||||
+ if { $status != 0 } {
|
||||
+ return {}
|
||||
+ }
|
||||
+
|
||||
+ set re ^($::decimal)\\.($::decimal)\\.($::decimal)
|
||||
+ if { [regexp $re $output dummy v1 v2 v3] != 1 } {
|
||||
+ return {}
|
||||
+ }
|
||||
+
|
||||
+ return [list $v1 $v2 $v3]
|
||||
+}
|
||||
+
|
||||
# Always load compatibility stuff.
|
||||
load_lib future.exp
|
||||
--
|
||||
2.35.3
|
||||
|
46
gdb-testsuite-fix-gdb.base-infoline-reloc-main-from-.patch
Normal file
46
gdb-testsuite-fix-gdb.base-infoline-reloc-main-from-.patch
Normal file
@ -0,0 +1,46 @@
|
||||
From 52ce02f7e38ed00f9e42fe4f272787652540c863 Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Wed, 12 Oct 2022 16:50:16 +0200
|
||||
Subject: [PATCH 08/11] [gdb/testsuite] Fix
|
||||
gdb.base/infoline-reloc-main-from-zero.exp with recent ld
|
||||
|
||||
On openSUSE Tumbleweed (with ld 2.39) and test-case
|
||||
gdb.base/infoline-reloc-main-from-zero.exp, I get:
|
||||
...
|
||||
gdb compile failed, ld: warning: infoline-reloc-main-from-zero has a LOAD \
|
||||
segment with RWX permissions
|
||||
UNTESTED: gdb.base/infoline-reloc-main-from-zero.exp: \
|
||||
infoline-reloc-main-from-zero.exp
|
||||
...
|
||||
|
||||
Fix this by compiling with -Wl,--no-warn-rwx-segments.
|
||||
|
||||
Tested on x86_64-linux.
|
||||
---
|
||||
.../gdb.base/infoline-reloc-main-from-zero.exp | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.exp b/gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.exp
|
||||
index ef5fe8c24bc..a29668c9712 100644
|
||||
--- a/gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.exp
|
||||
+++ b/gdb/testsuite/gdb.base/infoline-reloc-main-from-zero.exp
|
||||
@@ -29,7 +29,15 @@ if [get_compiler_info] {
|
||||
|
||||
# Build executable with stripped startup code and text section starting at zero
|
||||
|
||||
-set opts {debug "additional_flags=-nostdlib -emain -Wl,-Ttext=0x00 -Wl,-N"}
|
||||
+set opts {}
|
||||
+lappend opts debug
|
||||
+lappend opts "additional_flags=-nostdlib -emain -Wl,-Ttext=0x00 -Wl,-N"
|
||||
+
|
||||
+set ld_flags additional_flags=-Wl,--no-warn-rwx-segments
|
||||
+if { [gdb_can_simple_compile ld-flags {int main () { return 0; }} executable \
|
||||
+ $ld_flags] } {
|
||||
+ lappend opts $ld_flags
|
||||
+}
|
||||
|
||||
if {[build_executable $testfile.exp $testfile $srcfile $opts] == -1} {
|
||||
untested "failed to compile"
|
||||
--
|
||||
2.35.3
|
||||
|
80
gdb-testsuite-fix-gdb.base-nested-subp-2-3-.exp-with.patch
Normal file
80
gdb-testsuite-fix-gdb.base-nested-subp-2-3-.exp-with.patch
Normal file
@ -0,0 +1,80 @@
|
||||
From a95556346e4336d2d6eeba74430212e833c065fb Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Wed, 12 Oct 2022 16:50:16 +0200
|
||||
Subject: [PATCH 10/11] [gdb/testsuite] Fix gdb.base/nested-subp{2,3}.exp with
|
||||
recent ld
|
||||
|
||||
On openSUSE Tumbleweed (with ld 2.39) I get for test-case
|
||||
gdb.base/nested-subp2.exp:
|
||||
...
|
||||
gdb compile failed, ld: warning: tmp.o: requires executable stack \
|
||||
(because the .note.GNU-stack section is executable)
|
||||
...
|
||||
|
||||
Fix this by compiling with -Wl,--no-warn-execstack.
|
||||
|
||||
Likewise in gdb.base/nested-subp3.exp
|
||||
|
||||
Tested on x86_64-linux.
|
||||
---
|
||||
gdb/testsuite/gdb.base/nested-subp2.exp | 15 ++++++++++++---
|
||||
gdb/testsuite/gdb.base/nested-subp3.exp | 15 ++++++++++++---
|
||||
2 files changed, 24 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.base/nested-subp2.exp b/gdb/testsuite/gdb.base/nested-subp2.exp
|
||||
index 876b797e49d..8cb57bd1ee7 100644
|
||||
--- a/gdb/testsuite/gdb.base/nested-subp2.exp
|
||||
+++ b/gdb/testsuite/gdb.base/nested-subp2.exp
|
||||
@@ -29,10 +29,19 @@ if ![support_nested_function_tests] {
|
||||
return -1
|
||||
}
|
||||
|
||||
+set flags {}
|
||||
+lappend flags debug
|
||||
+lappend flags additional_flags=-std=gnu99
|
||||
+
|
||||
+set ld_flags additional_flags=-Wl,--no-warn-execstack
|
||||
+if { [gdb_can_simple_compile ld-flags {int main () { return 0; }} executable \
|
||||
+ $ld_flags] } {
|
||||
+ lappend flags $ld_flags
|
||||
+}
|
||||
+
|
||||
if { [gdb_compile "${srcdir}/${subdir}/${testcase}.c" \
|
||||
- [standard_output_file "${testcase}"] \
|
||||
- executable \
|
||||
- [list debug "additional_flags=-std=gnu99"]] != "" } {
|
||||
+ [standard_output_file "${testcase}"] \
|
||||
+ executable $flags] != "" } {
|
||||
return -1
|
||||
}
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.base/nested-subp3.exp b/gdb/testsuite/gdb.base/nested-subp3.exp
|
||||
index dd236f07c8f..31da8d47f84 100644
|
||||
--- a/gdb/testsuite/gdb.base/nested-subp3.exp
|
||||
+++ b/gdb/testsuite/gdb.base/nested-subp3.exp
|
||||
@@ -29,10 +29,19 @@ if ![support_nested_function_tests] {
|
||||
return -1
|
||||
}
|
||||
|
||||
+set flags {}
|
||||
+lappend flags debug
|
||||
+lappend flags additional_flags=-std=gnu99
|
||||
+
|
||||
+set ld_flags additional_flags=-Wl,--no-warn-execstack
|
||||
+if { [gdb_can_simple_compile ld-flags {int main () { return 0; }} executable \
|
||||
+ $ld_flags] } {
|
||||
+ lappend flags $ld_flags
|
||||
+}
|
||||
+
|
||||
if { [gdb_compile "${srcdir}/${subdir}/${testcase}.c" \
|
||||
- [standard_output_file "${testcase}"] \
|
||||
- executable \
|
||||
- [list debug "additional_flags=-std=gnu99"]] != "" } {
|
||||
+ [standard_output_file "${testcase}"] \
|
||||
+ executable $flags] != "" } {
|
||||
return -1
|
||||
}
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
26
gdb-testsuite-fix-gdb.dwarf2-dw2-dir-file-name.exp-w.patch
Normal file
26
gdb-testsuite-fix-gdb.dwarf2-dw2-dir-file-name.exp-w.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From 7ba9d8dda33a985a97c9ab922b84b894ffb2e288 Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Thu, 16 Feb 2023 13:56:07 +0100
|
||||
Subject: [PATCH 11/11] [gdb/testsuite] Fix gdb.dwarf2/dw2-dir-file-name.exp
|
||||
with recent ld
|
||||
|
||||
---
|
||||
gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
|
||||
index 4d3f767f597..1fc34ef387b 100644
|
||||
--- a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
|
||||
+++ b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
|
||||
@@ -317,6 +317,8 @@ puts -nonewline $f "\
|
||||
.byte 0x0 /* Terminator */
|
||||
"
|
||||
|
||||
+puts -nonewline $f "\t.section\t.note.GNU-stack,\"\",@progbits"
|
||||
+
|
||||
close $f
|
||||
|
||||
set opts {}
|
||||
--
|
||||
2.35.3
|
||||
|
68
gdb-testsuite-fix-gdb.threads-schedlock.exp-for-gcc-.patch
Normal file
68
gdb-testsuite-fix-gdb.threads-schedlock.exp-for-gcc-.patch
Normal file
@ -0,0 +1,68 @@
|
||||
From f168a48adf97a36c88c65a075b42e6b7083063df Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Mon, 20 Feb 2023 11:16:02 +0100
|
||||
Subject: [PATCH] [gdb/testsuite] Fix gdb.threads/schedlock.exp for gcc 4.8.5
|
||||
|
||||
Since commit 9af467b8240 ("[gdb/testsuite] Fix gdb.threads/schedlock.exp on
|
||||
fast cpu"), the test-case fails for gcc 4.8.5.
|
||||
|
||||
The problem is that for gcc 4.8.5, the commit turned a two-line loop:
|
||||
...
|
||||
(gdb) next
|
||||
78 while (*myp > 0)
|
||||
(gdb) next
|
||||
81 MAYBE_CALL_SOME_FUNCTION(); (*myp) ++;
|
||||
(gdb) next
|
||||
78 while (*myp > 0)
|
||||
...
|
||||
into a three-line loop:
|
||||
...
|
||||
(gdb) next
|
||||
83 MAYBE_CALL_SOME_FUNCTION(); (*myp) ++;
|
||||
(gdb) next
|
||||
84 cnt++;
|
||||
(gdb) next
|
||||
85 }
|
||||
(gdb) next
|
||||
83 MAYBE_CALL_SOME_FUNCTION(); (*myp) ++;
|
||||
(gdb)
|
||||
...
|
||||
and the test-case doesn't expect this.
|
||||
|
||||
Fix this by reverting back to the original loop shape as much as possible by:
|
||||
- removing the cnt++ line
|
||||
- replacing "while (1)" with "while (one)", where one is a volatile variable
|
||||
set to 1.
|
||||
|
||||
Tested on x86_64-linux, using compilers:
|
||||
- gcc 4.8.5, 7.5.0, 12.2.1
|
||||
- clang 4.0.1, 13.0.1
|
||||
---
|
||||
gdb/testsuite/gdb.threads/schedlock.c | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.threads/schedlock.c b/gdb/testsuite/gdb.threads/schedlock.c
|
||||
index 9859885b1a3..af3ca3e4c87 100644
|
||||
--- a/gdb/testsuite/gdb.threads/schedlock.c
|
||||
+++ b/gdb/testsuite/gdb.threads/schedlock.c
|
||||
@@ -75,13 +75,12 @@ volatile int call_function = 0;
|
||||
void *thread_function(void *arg) {
|
||||
int my_number = (long) arg;
|
||||
unsigned long long int *myp = (unsigned long long int *) &args[my_number];
|
||||
- volatile unsigned int cnt = 0;
|
||||
+ volatile unsigned int one = 1;
|
||||
|
||||
- while (1)
|
||||
+ while (one)
|
||||
{
|
||||
/* schedlock.exp: main loop. */
|
||||
MAYBE_CALL_SOME_FUNCTION(); (*myp) ++;
|
||||
- cnt++;
|
||||
}
|
||||
|
||||
pthread_exit(NULL);
|
||||
|
||||
base-commit: 4d69e6ec1a8ddd008f34af363dab73c014823074
|
||||
--
|
||||
2.35.3
|
||||
|
97
gdb-testsuite-fix-gdb.threads-schedlock.exp-on-fast-.patch
Normal file
97
gdb-testsuite-fix-gdb.threads-schedlock.exp-on-fast-.patch
Normal file
@ -0,0 +1,97 @@
|
||||
From c25a24cc237721c51034f4425183f73e97cdccc1 Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Mon, 6 Feb 2023 12:52:50 +0100
|
||||
Subject: [PATCH 06/11] [gdb/testsuite] Fix gdb.threads/schedlock.exp on fast
|
||||
cpu
|
||||
|
||||
Occasionally, I run into:
|
||||
...
|
||||
(gdb) PASS: gdb.threads/schedlock.exp: schedlock=on: cmd=continue: \
|
||||
set scheduler-locking on
|
||||
continue^M
|
||||
Continuing.^M
|
||||
PASS: gdb.threads/schedlock.exp: schedlock=on: cmd=continue: \
|
||||
continue (with lock)
|
||||
[Thread 0x7ffff746e700 (LWP 1339) exited]^M
|
||||
No unwaited-for children left.^M
|
||||
(gdb) Quit^M
|
||||
(gdb) FAIL: gdb.threads/schedlock.exp: schedlock=on: cmd=continue: \
|
||||
stop all threads (with lock) (timeout)
|
||||
...
|
||||
|
||||
What happens is that this loop which is supposed to run "just short of forever":
|
||||
...
|
||||
/* Don't run forever. Run just short of it :) */
|
||||
while (*myp > 0)
|
||||
{
|
||||
/* schedlock.exp: main loop. */
|
||||
MAYBE_CALL_SOME_FUNCTION(); (*myp) ++;
|
||||
}
|
||||
...
|
||||
finishes after 0x7fffffff iterations (when a signed wrap occurs), which on my
|
||||
system takes only about 1.5 seconds.
|
||||
|
||||
Fix this by:
|
||||
- changing the pointed-at type of myp from signed to unsigned, which makes the
|
||||
wrap defined behaviour (and which also make the loop run twice as long,
|
||||
which is already enough to make it impossible for me to reproduce the FAIL.
|
||||
But let's try to solve this more structurally).
|
||||
- changing the pointed-at type of myp from int to long long, making the wrap
|
||||
unlikely.
|
||||
- making sure the loop runs forever, by setting the loop condition to 1.
|
||||
- making sure the loop still contains different lines (as far as debug info is
|
||||
concerned) by incrementing a volatile counter in the loop.
|
||||
- making sure the program doesn't run forever in case of trouble, by adding an
|
||||
"alarm (30)".
|
||||
|
||||
Tested on x86_64-linux.
|
||||
|
||||
PR testsuite/30074
|
||||
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30074
|
||||
---
|
||||
gdb/testsuite/gdb.threads/schedlock.c | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.threads/schedlock.c b/gdb/testsuite/gdb.threads/schedlock.c
|
||||
index 7672140fdc8..9859885b1a3 100644
|
||||
--- a/gdb/testsuite/gdb.threads/schedlock.c
|
||||
+++ b/gdb/testsuite/gdb.threads/schedlock.c
|
||||
@@ -24,7 +24,7 @@ void *thread_function(void *arg); /* Pointer to function executed by each thread
|
||||
|
||||
#define NUM 1
|
||||
|
||||
-unsigned int args[NUM+1];
|
||||
+unsigned long long int args[NUM+1];
|
||||
|
||||
int main() {
|
||||
int res;
|
||||
@@ -32,6 +32,8 @@ int main() {
|
||||
void *thread_result;
|
||||
long i;
|
||||
|
||||
+ alarm (30);
|
||||
+
|
||||
for (i = 1; i <= NUM; i++)
|
||||
{
|
||||
args[i] = 1;
|
||||
@@ -72,13 +74,14 @@ volatile int call_function = 0;
|
||||
|
||||
void *thread_function(void *arg) {
|
||||
int my_number = (long) arg;
|
||||
- int *myp = (int *) &args[my_number];
|
||||
+ unsigned long long int *myp = (unsigned long long int *) &args[my_number];
|
||||
+ volatile unsigned int cnt = 0;
|
||||
|
||||
- /* Don't run forever. Run just short of it :) */
|
||||
- while (*myp > 0)
|
||||
+ while (1)
|
||||
{
|
||||
/* schedlock.exp: main loop. */
|
||||
MAYBE_CALL_SOME_FUNCTION(); (*myp) ++;
|
||||
+ cnt++;
|
||||
}
|
||||
|
||||
pthread_exit(NULL);
|
||||
--
|
||||
2.35.3
|
||||
|
1404
gdb-testsuite-handle-missing-.note.gnu-stack.patch
Normal file
1404
gdb-testsuite-handle-missing-.note.gnu-stack.patch
Normal file
File diff suppressed because it is too large
Load Diff
146
gdb-testsuite-simplify-gdb.arch-amd64-disp-step-avx..patch
Normal file
146
gdb-testsuite-simplify-gdb.arch-amd64-disp-step-avx..patch
Normal file
@ -0,0 +1,146 @@
|
||||
From b40f43e9fd3e523c0c4b50b0dcd8ca743cb6b9a7 Mon Sep 17 00:00:00 2001
|
||||
From: Tom de Vries <tdevries@suse.de>
|
||||
Date: Fri, 17 Feb 2023 15:33:18 +0100
|
||||
Subject: [PATCH] [gdb/testsuite] Simplify gdb.arch/amd64-disp-step-avx.exp
|
||||
|
||||
On SLE-11, with glibc 2.11.3, I run into:
|
||||
...
|
||||
(gdb) PASS: gdb.arch/amd64-disp-step-avx.exp: vex3: \
|
||||
var128 has expected value after
|
||||
continue^M
|
||||
Continuing.^M
|
||||
^M
|
||||
Program received signal SIGSEGV, Segmentation fault.^M
|
||||
0x0000000000400283 in _exit (status=0) at \
|
||||
../sysdeps/unix/sysv/linux/_exit.c:33^M
|
||||
33 ../sysdeps/unix/sysv/linux/_exit.c: No such file or directory.^M
|
||||
(gdb) FAIL: gdb.arch/amd64-disp-step-avx.exp: \
|
||||
continue until exit at amd64-disp-step-avx
|
||||
...
|
||||
|
||||
This is not related to gdb, we get the same result by just running the exec.
|
||||
|
||||
The problem is that the test-case:
|
||||
- calls glibc's _exit, and
|
||||
- uses -nostartfiles -static, putting the burden for any necessary
|
||||
initialization for calling glibc's _exit on the test-case itself.
|
||||
|
||||
So, when we get to the second insn in _exit:
|
||||
...
|
||||
000000000040acb0 <_exit>:
|
||||
40acb0: 48 63 d7 movslq %edi,%rdx
|
||||
40acb3: 64 4c 8b 14 25 00 00 mov %fs:0x0,%r10
|
||||
...
|
||||
no glibc-related initialization is done, and we run into the segfault.
|
||||
|
||||
Adding this (borrowed from __libc_start_main) in _start in the .S file is
|
||||
sufficient to fix it:
|
||||
...
|
||||
.rept 200
|
||||
nop
|
||||
+ call __pthread_initialize_minimal
|
||||
.endr
|
||||
...
|
||||
But that already doesn't compile with say glibc 2.31, and regardless I think
|
||||
this sort of fix is too fragile.
|
||||
|
||||
We could of course fix this by simply not running to exit. But ideally we'd
|
||||
have an exec that doesn't segfault when you just run it.
|
||||
|
||||
Alternatively, we could hand-code an _exit syscall and bypass glibc
|
||||
all together. But I'd rather fix this in a way that simplifies the test-case.
|
||||
|
||||
Taking a step back, the -nostartfiles -static was added to address that the
|
||||
xmm registers were not zero at main (which AFAICT is a valid thing to happen).
|
||||
|
||||
[ The change itself silently broke the test-case, needing further fixing by
|
||||
commit 40310f30a51 ("gdb: make gdb.arch/amd64-disp-step-avx.exp actually test
|
||||
displaced stepping"). ]
|
||||
|
||||
Instead, simplify things by reverting to the original situation:
|
||||
- no -nostartfiles -static compilation flags,
|
||||
- no _start in the .S file,
|
||||
- use exit instead of _exit in the .S file,
|
||||
and fix the original problem by setting the xmm registers to zero rather than
|
||||
checking that they're zero.
|
||||
|
||||
Now that we're no longer forcing -static, add nopie to the flags to prevent
|
||||
compilation failure with target board unix/-fPIE/-pie.
|
||||
|
||||
Tested on x86_64-linux.
|
||||
|
||||
PR testsuite/30132
|
||||
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30132
|
||||
---
|
||||
gdb/testsuite/gdb.arch/amd64-disp-step-avx.S | 12 ++----------
|
||||
gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp | 14 ++++----------
|
||||
2 files changed, 6 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.arch/amd64-disp-step-avx.S b/gdb/testsuite/gdb.arch/amd64-disp-step-avx.S
|
||||
index 924deef224f..b39ee9f6567 100644
|
||||
--- a/gdb/testsuite/gdb.arch/amd64-disp-step-avx.S
|
||||
+++ b/gdb/testsuite/gdb.arch/amd64-disp-step-avx.S
|
||||
@@ -19,15 +19,7 @@
|
||||
instructions. */
|
||||
|
||||
.text
|
||||
-
|
||||
- .global _start,main
|
||||
-_start:
|
||||
- # The area at _start is used as the displaced stepping buffer. Put
|
||||
- # more than enough nop instructions so that the instructions under test
|
||||
- # below don't conflict with it.
|
||||
- .rept 200
|
||||
- nop
|
||||
- .endr
|
||||
+ .global main
|
||||
main:
|
||||
nop
|
||||
|
||||
@@ -66,7 +58,7 @@ ro_var:
|
||||
|
||||
done:
|
||||
mov $0,%rdi
|
||||
- call _exit
|
||||
+ call exit
|
||||
hlt
|
||||
|
||||
/* RIP-relative data for VEX3 test above. */
|
||||
diff --git a/gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp b/gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp
|
||||
index a64c85bc0e9..e6bdc3c242f 100644
|
||||
--- a/gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp
|
||||
+++ b/gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp
|
||||
@@ -30,9 +30,7 @@ if { ![have_avx] } {
|
||||
|
||||
standard_testfile .S
|
||||
|
||||
-set options [list debug \
|
||||
- additional_flags=-static \
|
||||
- additional_flags=-nostartfiles]
|
||||
+set options [list debug nopie]
|
||||
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $options] } {
|
||||
return -1
|
||||
}
|
||||
@@ -111,14 +109,10 @@ proc disp_step_func { func } {
|
||||
|
||||
# Test a VEX2-encoded RIP-relative instruction.
|
||||
with_test_prefix "vex2" {
|
||||
- # This test writes to the 'xmm0' register. As the test is
|
||||
- # statically linked, we know that the XMM registers should all
|
||||
- # have the default value of 0 at this point in time. We're about
|
||||
- # to run an AVX instruction that will modify $xmm0, but lets first
|
||||
- # confirm that all XMM registers are 0.
|
||||
+ # Initialize all XMM registers to 0.
|
||||
for {set i 0 } { $i < 16 } { incr i } {
|
||||
- gdb_test "p /x \$xmm${i}.uint128" " = 0x0" \
|
||||
- "xmm${i} has expected value before"
|
||||
+ gdb_test_no_output "set \$xmm${i}.uint128 = 0" \
|
||||
+ "xmm${i} set to zero"
|
||||
}
|
||||
|
||||
disp_step_func "test_rip_vex2"
|
||||
|
||||
base-commit: 8f25c476588b41f18ef7b026c81a6b415a809930
|
||||
--
|
||||
2.35.3
|
||||
|
34
gdb.changes
34
gdb.changes
@ -1,3 +1,37 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 16 10:57:10 UTC 2023 - Tom de Vries <tdevries@suse.com>
|
||||
|
||||
- Patches dropped (bsc#1207712):
|
||||
* gdb-container-rh-pkg.patch
|
||||
- Patches added (bsc#1207712):
|
||||
* gdb-testsuite-add-gdb.suse-debranding.exp.patch
|
||||
- Patches added (test-case fix):
|
||||
* gdb-testsuite-fix-gdb.dwarf2-dw2-dir-file-name.exp-w.patch
|
||||
- Patches added (fedora patch fixup):
|
||||
* fixup-gdb-test-dw2-aranges.patch
|
||||
- Patches added (master backports):
|
||||
* gdb-testsuite-add-xfail-in-gdb.arch-i386-pkru.exp.patch
|
||||
* gdb-testsuite-add-xfail-in-gdb.python-py-record-btra.patch
|
||||
* gdb-testsuite-factor-out-proc-linux_kernel_version.patch
|
||||
* gdb-testsuite-fix-gdb.base-infoline-reloc-main-from-.patch
|
||||
* gdb-testsuite-fix-gdb.base-nested-subp-2-3-.exp-with.patch
|
||||
* gdb-testsuite-fix-gdb.threads-schedlock.exp-on-fast-.patch
|
||||
* gdb-testsuite-handle-missing-.note.gnu-stack.patch
|
||||
* gdb-testsuite-simplify-gdb.arch-amd64-disp-step-avx..patch
|
||||
* gdb-testsuite-fix-gdb.threads-schedlock.exp-for-gcc-.patch
|
||||
* gdb-testsuite-add-xfail-case-in-gdb.python-py-record.patch
|
||||
* add-elfcompress_zstd.patch
|
||||
* binutils-gdb-support-zstd-compressed-debug-section.patch
|
||||
* fix-gdb-build-elf-support-check-lzstd.patch
|
||||
- Patches removed (dropped by fedora):
|
||||
* gdb-test-ivy-bridge.patch
|
||||
- Disable "BuildRequires: %{gcc}-fortran" for SLE-11.
|
||||
- Maintenance script qa-local.sh:
|
||||
* Add SLE-11 to configs.
|
||||
* Build with --no-verify.
|
||||
- Maintenance script qa.sh:
|
||||
* Add -sle11.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 13 10:39:19 UTC 2022 - Tom de Vries <tdevries@suse.com>
|
||||
|
||||
|
64
gdb.spec
64
gdb.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# Copyright (c) 2012 RedHat
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
@ -210,7 +210,6 @@ Patch47: gdb-test-dw2-aranges.patch
|
||||
Patch48: gdb-test-expr-cumulative-archer.patch
|
||||
Patch49: gdb-physname-pr11734-test.patch
|
||||
Patch50: gdb-physname-pr12273-test.patch
|
||||
Patch51: gdb-test-ivy-bridge.patch
|
||||
Patch52: gdb-runtest-pie-override.patch
|
||||
Patch53: gdb-glibc-strstr-workaround.patch
|
||||
Patch54: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
|
||||
@ -227,7 +226,6 @@ Patch65: gdb-fedora-libncursesw.patch
|
||||
Patch66: gdb-opcodes-clflushopt-test.patch
|
||||
Patch67: gdb-6.6-buildid-locate-rpm-scl.patch
|
||||
Patch68: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
|
||||
Patch69: gdb-container-rh-pkg.patch
|
||||
Patch70: gdb-rhbz1325795-framefilters-test.patch
|
||||
Patch71: gdb-linux_perf-bundle.patch
|
||||
Patch73: gdb-rhbz1398387-tab-crash-test.patch
|
||||
@ -241,6 +239,7 @@ Patch74: gdb-rhbz1553104-s390x-arch12-test.patch
|
||||
# - gdb-6.3-rh-testversion-20041202.patch
|
||||
# - gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
|
||||
# - gdb-6.8-bz466901-backtrace-full-prelinked.patch
|
||||
# - gdb-container-rh-pkg.patch
|
||||
#
|
||||
# Broken:
|
||||
# - gdb-6.5-BEA-testsuite.patch
|
||||
@ -251,6 +250,7 @@ Patch74: gdb-rhbz1553104-s390x-arch12-test.patch
|
||||
# Obsolete:
|
||||
# - gdb-6.7-charsign-test.patch
|
||||
# - gdb-6.7-ppc-clobbered-registers-O2-test.patch
|
||||
# - gdb-test-ivy-bridge.patch (dropped by fedora)
|
||||
|
||||
# Fedora patches fixup
|
||||
|
||||
@ -261,6 +261,7 @@ Patch503: fixup-gdb-glibc-strstr-workaround.patch
|
||||
Patch504: fixup-gdb-6.5-bz243845-stale-testing-zombie-test.patch
|
||||
Patch505: fixup-gdb-test-bt-cfi-without-die.patch
|
||||
Patch506: fixup-2-gdb-rhbz1553104-s390x-arch12-test.patch
|
||||
Patch507: fixup-gdb-test-dw2-aranges.patch
|
||||
|
||||
# openSUSE specific
|
||||
|
||||
@ -283,6 +284,8 @@ Patch1101: gdb-fix-selftest-fails-with-gdb-build-with-O2-flto.patch
|
||||
Patch1102: gdb-testsuite-fix-gdb-server-ext-run-exp-for-obs.patch
|
||||
# Tests the zypper install hints.
|
||||
Patch1103: gdb-testsuite-add-gdb.suse-zypper-hint.exp.patch
|
||||
# Tests that no branding is leaked from sourcing the fedora package.
|
||||
Patch1104: gdb-testsuite-add-gdb.suse-debranding.exp.patch
|
||||
|
||||
# Patches to upstream
|
||||
|
||||
@ -351,10 +354,22 @@ Patch2035: gdb-add-support-for-readline-8.2.patch
|
||||
Patch2036: gdb-fix-assert-in-handle_jit_event.patch
|
||||
Patch2037: gdb-testsuite-fix-gdb.base-break-idempotent.exp-on-ppc.patch
|
||||
Patch2038: powerpc-fix-gdb.base-watchpoint.exp-on-power-9.patch
|
||||
Patch2039: gdb-testsuite-handle-missing-.note.gnu-stack.patch
|
||||
Patch2040: gdb-testsuite-fix-gdb.base-infoline-reloc-main-from-.patch
|
||||
Patch2041: gdb-testsuite-fix-gdb.base-nested-subp-2-3-.exp-with.patch
|
||||
Patch2042: add-elfcompress_zstd.patch
|
||||
Patch2043: binutils-gdb-support-zstd-compressed-debug-section.patch
|
||||
Patch2044: fix-gdb-build-elf-support-check-lzstd.patch
|
||||
|
||||
# Backports from master, not yet available in next release.
|
||||
|
||||
#
|
||||
Patch2075: gdb-testsuite-add-xfail-in-gdb.arch-i386-pkru.exp.patch
|
||||
Patch2076: gdb-testsuite-factor-out-proc-linux_kernel_version.patch
|
||||
Patch2077: gdb-testsuite-add-xfail-in-gdb.python-py-record-btra.patch
|
||||
Patch2078: gdb-testsuite-fix-gdb.threads-schedlock.exp-on-fast-.patch
|
||||
Patch2079: gdb-testsuite-simplify-gdb.arch-amd64-disp-step-avx..patch
|
||||
Patch2080: gdb-testsuite-fix-gdb.threads-schedlock.exp-for-gcc-.patch
|
||||
Patch2081: gdb-testsuite-add-xfail-case-in-gdb.python-py-record.patch
|
||||
|
||||
# Backport from gdb-patches
|
||||
|
||||
@ -393,6 +408,12 @@ Patch2115: gdb-testsuite-fix-gdb.mi-mi-sym-info.exp-on-opensuse-tumbleweed.
|
||||
|
||||
#
|
||||
|
||||
# Other. Needs comment for each patch.
|
||||
|
||||
# Not a backport, but no need to upstream either. Should be able to drop
|
||||
# it in next release.
|
||||
Patch3000: gdb-testsuite-fix-gdb.dwarf2-dw2-dir-file-name.exp-w.patch
|
||||
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
%if 0%{suse_version} > 1110
|
||||
@ -472,6 +493,10 @@ BuildRequires: libboost_regex-devel
|
||||
BuildRequires: libsource-highlight-devel
|
||||
%endif
|
||||
|
||||
%if 0%{?suse_version} >= 1500
|
||||
BuildRequires: libzstd-devel
|
||||
%endif
|
||||
|
||||
%if %{build_testsuite}
|
||||
|
||||
# Copied from gcc9/gcc.spec.in
|
||||
@ -507,7 +532,15 @@ BuildRequires: libsource-highlight-devel
|
||||
BuildRequires: dejagnu
|
||||
BuildRequires: sharutils
|
||||
# gcc-objc++ is not covered by the GDB testsuite.
|
||||
|
||||
%if 0%{?suse_version} >= 1200
|
||||
# Skip for SLE-11 due to:
|
||||
# unresolvable: conflict for providers of libquadmath0
|
||||
# needed by libgfortran3
|
||||
# (provider libquadmath0-gcc5 is in conflict with libquadmath0)
|
||||
BuildRequires: %{gcc}-fortran
|
||||
%endif
|
||||
|
||||
BuildRequires: %{gcc}-objc
|
||||
%ifarch %ada_arch
|
||||
BuildRequires: %{gcc}-ada
|
||||
@ -700,7 +733,6 @@ find -name "*.info*"|xargs rm -f
|
||||
%patch48 -p1
|
||||
%patch49 -p1
|
||||
%patch50 -p1
|
||||
%patch51 -p1
|
||||
%patch52 -p1
|
||||
%patch53 -p1
|
||||
%patch54 -p1
|
||||
@ -717,7 +749,6 @@ find -name "*.info*"|xargs rm -f
|
||||
%patch66 -p1
|
||||
%patch67 -p1
|
||||
%patch68 -p1
|
||||
%patch69 -p1
|
||||
%patch70 -p1
|
||||
%patch71 -p1
|
||||
%patch73 -p1
|
||||
@ -731,6 +762,7 @@ find -name "*.info*"|xargs rm -f
|
||||
%patch504 -p1
|
||||
%patch505 -p1
|
||||
%patch506 -p1
|
||||
%patch507 -p1
|
||||
|
||||
%patch1000 -p1
|
||||
%patch1001 -p1
|
||||
@ -739,6 +771,7 @@ find -name "*.info*"|xargs rm -f
|
||||
%patch1101 -p1
|
||||
%patch1102 -p1
|
||||
%patch1103 -p1
|
||||
%patch1104 -p1
|
||||
|
||||
%patch1500 -p1
|
||||
%patch1501 -p1
|
||||
@ -793,6 +826,20 @@ find -name "*.info*"|xargs rm -f
|
||||
%patch2036 -p1
|
||||
%patch2037 -p1
|
||||
%patch2038 -p1
|
||||
%patch2039 -p1
|
||||
%patch2040 -p1
|
||||
%patch2041 -p1
|
||||
%patch2042 -p1
|
||||
%patch2043 -p1
|
||||
%patch2044 -p1
|
||||
|
||||
%patch2075 -p1
|
||||
%patch2076 -p1
|
||||
%patch2077 -p1
|
||||
%patch2078 -p1
|
||||
%patch2079 -p1
|
||||
%patch2080 -p1
|
||||
%patch2081 -p1
|
||||
|
||||
%patch2100 -p1
|
||||
%patch2101 -p1
|
||||
@ -810,6 +857,8 @@ find -name "*.info*"|xargs rm -f
|
||||
%patch2113 -p1
|
||||
%patch2115 -p1
|
||||
|
||||
%patch3000 -p1
|
||||
|
||||
#unpack libipt
|
||||
%if 0%{have_libipt}
|
||||
tar xzf %{SOURCE7}
|
||||
@ -1152,7 +1201,8 @@ $CC -o ./orphanripper %{SOURCE2} -Wall -lutil -ggdb2
|
||||
CHECK="$(echo $CHECK | sed 's#check//unix/[^ ]*#& &/-fPIE/-pie#g')"
|
||||
fi
|
||||
|
||||
./orphanripper make %{?_smp_mflags} -k $CHECK || :
|
||||
#./orphanripper make %{?_smp_mflags} -k $CHECK || :
|
||||
./orphanripper make %{?_smp_mflags} -k $CHECK RUNTESTFLAGS=gdb.python/py-record-btrace.exp
|
||||
)
|
||||
for t in sum log
|
||||
do
|
||||
|
10
qa-local.sh
10
qa-local.sh
@ -12,6 +12,7 @@ openSUSE_Leap_15.3
|
||||
openSUSE_Factory
|
||||
SLE-15
|
||||
SLE-12
|
||||
SLE-11
|
||||
"
|
||||
|
||||
usage ()
|
||||
@ -75,9 +76,9 @@ have_combo ()
|
||||
|
||||
if [ "$arch" = "i586" ]; then
|
||||
case $c in
|
||||
SLE-*)
|
||||
SLE-12|SLE-15)
|
||||
return 1
|
||||
;;
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
return 0
|
||||
@ -101,6 +102,7 @@ case "$n" in
|
||||
fi
|
||||
osc build \
|
||||
--clean \
|
||||
--no-verify \
|
||||
--trust-all-projects \
|
||||
--no-service \
|
||||
$c $arch \
|
||||
@ -132,6 +134,7 @@ case "$n" in
|
||||
mkdir -p $pkgs/$c.$arch
|
||||
osc build \
|
||||
--clean \
|
||||
--no-verify \
|
||||
--trust-all-projects \
|
||||
--no-service \
|
||||
-k $pkgs/$c.$arch \
|
||||
@ -184,6 +187,9 @@ case "$n" in
|
||||
SLE-12)
|
||||
bash qa.sh -local -sle12 $pkgs/gdb-testresults.$c.$arch
|
||||
;;
|
||||
SLE-11)
|
||||
bash qa.sh -local -sle11 $pkgs/gdb-testresults.$c.$arch
|
||||
;;
|
||||
*)
|
||||
bash qa.sh -local $pkgs/gdb-testresults.$c.$arch
|
||||
;;
|
||||
|
55
qa.sh
55
qa.sh
@ -23,7 +23,7 @@
|
||||
usage ()
|
||||
{
|
||||
echo "usage: $0 <1-5>"
|
||||
echo " $0 -local [ -sle12 | -factory | -aarch64 | -powerpc64le | -s390 | -s390x ] <dir>"
|
||||
echo " $0 -local [ -sle11 | -sle12 | -factory | -aarch64 | -powerpc64le | -s390 | -s390x ] <dir>"
|
||||
echo
|
||||
echo "Verify remote results at:"
|
||||
echo " ./binaries-testsuite.distro.arch/gdb-testresults"
|
||||
@ -46,6 +46,7 @@ fi
|
||||
n="$1"
|
||||
shift
|
||||
|
||||
have_sle11=false
|
||||
have_sle12=false
|
||||
have_factory=false
|
||||
have_aarch64=false
|
||||
@ -55,6 +56,9 @@ have_s390x=false
|
||||
if [ "$n" = "-local" ]; then
|
||||
while [ $# -gt 1 ]; do
|
||||
case $1 in
|
||||
-sle11)
|
||||
have_sle11=true
|
||||
;;
|
||||
-sle12)
|
||||
have_sle12=true
|
||||
;;
|
||||
@ -375,6 +379,52 @@ kfail_sle12=(
|
||||
"FAIL: gdb.guile/scm-disasm.exp: memory-port: disassemble"
|
||||
) # kfail_sle12
|
||||
|
||||
kfail_sle11=(
|
||||
"${kfail_sle12[@]}"
|
||||
|
||||
# For SLE-11, libipt is not enabled, so on intel we can run into
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=30073 affecting
|
||||
# many test-cases.
|
||||
"FAIL: gdb.btrace/"
|
||||
"FAIL: gdb.python/py-record-btrace"
|
||||
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=26956
|
||||
"FAIL: gdb.base/command-line-input.exp: print 1"
|
||||
|
||||
# Due to using old python, 2.6.
|
||||
# For instance, "ValueError: zero length field name in format".
|
||||
"FAIL: gdb.python/py-autoloaded-pretty-printers-in-newobjfile-event.exp: print test"
|
||||
"FAIL: gdb.python/py-breakpoint.exp: test_bkpt_address: python gdb.Breakpoint\(" *{}".format\(str\(main_addr\)\)\)"
|
||||
"FAIL: gdb.python/py-framefilter.exp: info frame filter after disable frame filter"
|
||||
"FAIL: gdb.python/py-framefilter.exp: info frame filter after reenabling frame filter"
|
||||
"FAIL: gdb.python/py-framefilter.exp: info frame filter after setting priority"
|
||||
"FAIL: gdb.python/py-framefilter.exp: info frame filter before disable frame filter"
|
||||
"FAIL: gdb.python/py-framefilter.exp: info frame filter before setting priority"
|
||||
"FAIL: gdb.python/py-mi.exp: check tsrvw expression value \(unexpected output\)"
|
||||
"FAIL: gdb.python/py-mi.exp: check tsrvw varobj value \(unexpected output\)"
|
||||
"FAIL: gdb.python/py-mi.exp: create tsrvw varobj \(unexpected output\)"
|
||||
"FAIL: gdb.python/py-prettyprint.exp: c\+\+: print tsrvw"
|
||||
"FAIL: gdb.python/py-prettyprint.exp: c: print tsrvw"
|
||||
"FAIL: gdb.python/py-value.exp: attempt to construct large value with small buffer"
|
||||
"FAIL: gdb.python/py-value.exp: construct array value from buffer"
|
||||
"FAIL: gdb.python/py-value.exp: construct value from buffer"
|
||||
"FAIL: gdb.python/py-value.exp: print array value"
|
||||
"FAIL: gdb.python/py-value.exp: print first array element"
|
||||
"FAIL: gdb.python/py-value.exp: print out of bounds array element"
|
||||
"FAIL: gdb.python/py-value.exp: print second array element"
|
||||
"FAIL: gdb.python/py-value.exp: print third array element"
|
||||
|
||||
# To be investigated.
|
||||
"FAIL: gdb.base/compare-sections.exp: after run to main: compare-sections -r"
|
||||
"FAIL: gdb.python/py-framefilter-thread.exp: bt no-filters"
|
||||
|
||||
# Gdb runs out of virtual memory, we can expect an internal error.
|
||||
"FAIL: gdb.base/gcore-excessive-memory.exp: attach \(GDB internal error\)"
|
||||
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=30154
|
||||
"FAIL: gdb.multi/multi-target-no-resumed.exp: inf_A=.: inf_B=.: send_gdb control C \(timeout\)"
|
||||
)
|
||||
|
||||
kfail_factory=(
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=28463
|
||||
"FAIL: gdb.ada/set_pckd_arr_elt.exp: scenario=minimal: print va.t\(1\) := 15"
|
||||
@ -794,6 +844,9 @@ case $n in
|
||||
if $have_factory; then
|
||||
kfail+=("${kfail_factory[@]}")
|
||||
fi
|
||||
if $have_sle11; then
|
||||
kfail+=("${kfail_sle11[@]}")
|
||||
fi
|
||||
if $have_sle12; then
|
||||
kfail+=("${kfail_sle12[@]}")
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user