From 46e82ad3b5be20a0b7f495936ce3988a4eb654d5 Mon Sep 17 00:00:00 2001 From: Bruno Larsen Date: Tue, 29 Nov 2022 10:51:07 +0100 Subject: [PATCH] Remove gdb-rhbz1325795-framefilters-test.patch. This test doesn't pass in the curret state, and the code that introduced the original problem has been changed beyong recognition at this point. --- _gdb.spec.Patch.include | 20 ++- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-rhbz1325795-framefilters-test.patch | 176 ------------------------ gdb.spec | 5 + 5 files changed, 13 insertions(+), 190 deletions(-) delete mode 100644 gdb-rhbz1325795-framefilters-test.patch diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index 6d16d7e..bccb519 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -273,13 +273,9 @@ Patch065: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch #=fedora Patch066: gdb-container-rh-pkg.patch -# New test for Python "Cannot locate object file for block" (for RH BZ 1325795). -#=fedoratest -Patch067: gdb-rhbz1325795-framefilters-test.patch - # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch068: gdb-linux_perf-bundle.patch +Patch067: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). # @@ -288,28 +284,28 @@ Patch068: gdb-linux_perf-bundle.patch # # https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot #=fedora -Patch069: gdb-libexec-add-index.patch +Patch068: gdb-libexec-add-index.patch # New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). #=fedoratest -Patch070: gdb-rhbz1398387-tab-crash-test.patch +Patch069: gdb-rhbz1398387-tab-crash-test.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch071: gdb-rhbz1553104-s390x-arch12-test.patch +Patch070: gdb-rhbz1553104-s390x-arch12-test.patch -Patch072: gdb-backport-readline_support.patch +Patch071: gdb-backport-readline_support.patch # [gdb/testsuite] Use prototype to call libc functions # (Tom de Vries) -Patch073: gdb-backport-fix-break-main-file-remove-fail.patch +Patch072: gdb-backport-fix-break-main-file-remove-fail.patch # Constify target_desc to fix PPC ODR violations. # (Keith Seitz, build/22395) -Patch074: gdb-sw22395-constify-target_desc.patch +Patch073: gdb-sw22395-constify-target_desc.patch # libiberty: Fix C89-isms in configure tests # (Florian Weimer, RHBZ 2143992) -Patch075: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch +Patch074: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index f5bd893..affe771 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -72,4 +72,3 @@ %patch072 -p1 %patch073 -p1 %patch074 -p1 -%patch075 -p1 diff --git a/_patch_order b/_patch_order index 90e7185..0347997 100644 --- a/_patch_order +++ b/_patch_order @@ -64,7 +64,6 @@ gdb-opcodes-clflushopt-test.patch gdb-6.6-buildid-locate-rpm-scl.patch gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch gdb-container-rh-pkg.patch -gdb-rhbz1325795-framefilters-test.patch gdb-linux_perf-bundle.patch gdb-libexec-add-index.patch gdb-rhbz1398387-tab-crash-test.patch diff --git a/gdb-rhbz1325795-framefilters-test.patch b/gdb-rhbz1325795-framefilters-test.patch deleted file mode 100644 index cfe309d..0000000 --- a/gdb-rhbz1325795-framefilters-test.patch +++ /dev/null @@ -1,176 +0,0 @@ -From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 -From: Fedora GDB patches -Date: Fri, 27 Oct 2017 21:07:50 +0200 -Subject: gdb-rhbz1325795-framefilters-test.patch - -;; New test for Python "Cannot locate object file for block" (for RH BZ 1325795). -;;=fedoratest - -diff --git a/gdb/testsuite/gdb.python/py-framefilter-thread.c b/gdb/testsuite/gdb.python/py-framefilter-thread.c -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.python/py-framefilter-thread.c -@@ -0,0 +1,39 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+ Copyright 2016 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 . */ -+ -+#include -+#include -+ -+static void * -+start (void *arg) -+{ -+ return arg; /* Backtrace end breakpoint */ -+} -+ -+int -+main (void) -+{ -+ pthread_t thread1; -+ int i; -+ -+ i = pthread_create (&thread1, NULL, start, NULL); -+ assert (i == 0); -+ i = pthread_join (thread1, NULL); -+ assert (i == 0); -+ -+ return 0; -+} -diff --git a/gdb/testsuite/gdb.python/py-framefilter-thread.exp b/gdb/testsuite/gdb.python/py-framefilter-thread.exp -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.python/py-framefilter-thread.exp -@@ -0,0 +1,54 @@ -+# Copyright (C) 2016 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 . -+ -+load_lib gdb-python.exp -+ -+standard_testfile -+ -+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug pthreads}]} { -+ return -1 -+} -+ -+# Skip all tests if Python scripting is not enabled. -+if { [skip_python_tests] } { continue } -+ -+if ![runto_main] then { -+ return -+} -+gdb_test_no_output "set python print-stack full" \ -+ "Set python print-stack to full" -+ -+# Load global frame-filters -+set remote_python_file [remote_download host ${srcdir}/${subdir}/${testfile}.py] -+gdb_test_no_output "python exec (open ('${remote_python_file}').read ())" \ -+ "Load python file" -+ -+gdb_breakpoint [gdb_get_line_number "Backtrace end breakpoint"] -+gdb_continue_to_breakpoint "Backtrace end breakpoint" -+ -+# #2 0x00007ffff75f228d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113^M -+gdb_test "bt no-filters" " in (\\.?_*clone|thread_start) \[^\r\n\]*" "bt no-filters" -+ -+# #2 0x00007ffff75f228d in 941595343737041 () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113^M -+# vs. -+# #2 0x00007ffff75f228d in 941595343737041Traceback (most recent call last): -+# File "/home/jkratoch/redhat/rhel/gdb/rhel-7.3/gdb-7.6.1/gdb/testsuite/../data-directory/python/gdb/FrameDecorator.py", line 145, in frame_args -+# return self._base.frame_args() -+# File "/home/jkratoch/redhat/rhel/gdb/rhel-7.3/gdb-7.6.1/gdb/testsuite/../data-directory/python/gdb/FrameDecorator.py", line 152, in frame_args -+# return args.fetch_frame_args() -+# File "/home/jkratoch/redhat/rhel/gdb/rhel-7.3/gdb-7.6.1/gdb/testsuite/../data-directory/python/gdb/FrameDecorator.py", line 276, in fetch_frame_args -+# block = self.frame.block() -+# RuntimeError: Cannot locate object file for block. -+gdb_test "bt" " in \[0-9\]+ \[^\r\n\]*" "bt with filters" -diff --git a/gdb/testsuite/gdb.python/py-framefilter-thread.py b/gdb/testsuite/gdb.python/py-framefilter-thread.py -new file mode 100644 ---- /dev/null -+++ b/gdb/testsuite/gdb.python/py-framefilter-thread.py -@@ -0,0 +1,60 @@ -+# Copyright (C) 2016 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 . -+ -+# This file is part of the GDB testsuite. It tests Python-based -+# frame-filters. -+ -+# This test is specifically crafted for RH BZ 1197665. -+ -+import gdb -+import itertools -+from gdb.FrameDecorator import FrameDecorator -+import copy -+ -+class Reverse_Function (FrameDecorator): -+ -+ def __init__(self, fobj): -+ super(Reverse_Function, self).__init__(fobj) -+ self.fobj = fobj -+ -+ def function (self): -+ # This function call should not fail. -+ gdb.target_charset () -+ -+ fname = str (self.fobj.function()) -+ if (fname == None or fname == ""): -+ return None -+ else: -+ fname = fname[::-1] -+ return fname -+ -+class FrameFilter (): -+ -+ def __init__ (self): -+ self.name = "Reverse" -+ self.priority = 100 -+ self.enabled = True -+ gdb.frame_filters [self.name] = self -+ -+ def filter (self, frame_iter): -+ # Python 3.x moved the itertools.imap functionality to map(), -+ # so check if it is available. -+ if hasattr(itertools, "imap"): -+ frame_iter = itertools.imap (Reverse_Function, frame_iter) -+ else: -+ frame_iter = map (Reverse_Function, frame_iter) -+ return frame_iter -+ -+FrameFilter() diff --git a/gdb.spec b/gdb.spec index 09d4246..f546b2b 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1186,6 +1186,11 @@ fi %endif %changelog +* Thu Dec 1 2022 Bruno Larsen +- Remove gdb-rhbz1325795-framefilters-test.patch. This test doesn't + pass in the curret state, and the code that introduced the original + problem has been changed beyong recognition at this point. + * Wed Nov 30 2022 Keith Seitz - Backport "libiberty: Fix C89-isms in configure tests" and do likewise in gdb-6.6-buildid-locate-rpm.patch.