public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gdb] gdb-17.2-rebase-f44: Remove gdb-6.3-bz202689-exec-from-pthread-test.patch
@ 2026-06-28  0:00 Andrew Burgess
  0 siblings, 0 replies; only message in thread
From: Andrew Burgess @ 2026-06-28  0:00 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/gdb
            Branch : gdb-17.2-rebase-f44
            Commit : 89f20beb5e56e4775bbbbcd48621498d746b6354
            Author : Andrew Burgess <aburgess@redhat.com>
            Date   : 2023-02-10T12:33:43+00:00
            Stats  : +141/-224 in 5 file(s)
            URL    : https://src.fedoraproject.org/rpms/gdb/c/89f20beb5e56e4775bbbbcd48621498d746b6354?branch=gdb-17.2-rebase-f44

            Log:
            Remove gdb-6.3-bz202689-exec-from-pthread-test.patch

Remove gdb-6.3-bz202689-exec-from-pthread-test.patch.  The test
included in this patch is covered by the already upstream test
gdb/testsuite/gdb.threads/execl.exp which was added with this commit:

  commit 49fd4a422bb6152043b2b41a1f734694056dbf3b
  Date:   Thu Jun 5 21:03:59 2008 +0000

Unfortunately, the situation is not as simple as just removing this
patch file.  The later patch gdb-6.8-bz442765-threaded-exec-test.patch
builds on the earlier test to cover additional cases.

So, what I've actually done is remove the first patch, but merged the
test entirely into the second patch.  I think this is a better
reflection of the current situation; the first patch is
redundant (it's test is already covered upstream), while the second
patch has not yet been reviewed, so it _might_ contain a useful test.

To confirm that the upstream test quoted above actually covers this
test case I did the following:

  - Setup a Fedora 3 virtual machine,

  - Built the test from the first patch and confirmed that it failed
    as described in bug bz202689,

  - Copied the upstream execl.exp sources to the virtual machine, and
    built the test binary,

  - Manually ran the test binary just as the .exp script does, and
    confirmed that it failed in the same way as the test from the
    original patch.

---
diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include
index 307acdd..ca7465a 100644
--- a/_gdb.spec.Patch.include
+++ b/_gdb.spec.Patch.include
@@ -40,202 +40,198 @@ Patch009: gdb-6.5-bz109921-DW_AT_decl_file-test.patch
 #=fedoratest
 Patch010: gdb-6.3-bz140532-ppc-unwinding-test.patch
 
-# Testcase for exec() from threaded program (BZ 202689).
-#=fedoratest
-Patch011: gdb-6.3-bz202689-exec-from-pthread-test.patch
-
 # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517).
 #=fedoratest
-Patch012: gdb-6.6-bz229517-gcore-without-terminal.patch
+Patch011: gdb-6.6-bz229517-gcore-without-terminal.patch
 
 # Avoid too long timeouts on failing cases of "annota1.exp annota3.exp".
 #=fedoratest
-Patch013: gdb-6.6-testsuite-timeouts.patch
+Patch012: gdb-6.6-testsuite-timeouts.patch
 
 # Support for stepping over PPC atomic instruction sequences (BZ 237572).
 #=fedoratest
-Patch014: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
+Patch013: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
 
 # Test kernel VDSO decoding while attaching to an i386 process.
 #=fedoratest
-Patch015: gdb-6.3-attach-see-vdso-test.patch
+Patch014: gdb-6.3-attach-see-vdso-test.patch
 
 # Test leftover zombie process (BZ 243845).
 #=fedoratest
-Patch016: gdb-6.5-bz243845-stale-testing-zombie-test.patch
+Patch015: gdb-6.5-bz243845-stale-testing-zombie-test.patch
 
 # New locating of the matching binaries from the pure core file (build-id).
 #=push+jan
-Patch017: gdb-6.6-buildid-locate.patch
+Patch016: gdb-6.6-buildid-locate.patch
 
 # Fix loading of core files without build-ids but with build-ids in executables.
 # Load strictly build-id-checked core files only if no executable is specified
 # (Jan Kratochvil, RH BZ 1339862).
 #=push+jan
-Patch018: gdb-6.6-buildid-locate-solib-missing-ids.patch
+Patch017: gdb-6.6-buildid-locate-solib-missing-ids.patch
 
 #=push+jan
-Patch019: gdb-6.6-buildid-locate-rpm.patch
+Patch018: gdb-6.6-buildid-locate-rpm.patch
 
 # Fix displaying of numeric char arrays as strings (BZ 224128).
 #=fedoratest: But it is failing anyway, one should check the behavior more.
-Patch020: gdb-6.7-charsign-test.patch
+Patch019: gdb-6.7-charsign-test.patch
 
 # Test PPC hiding of call-volatile parameter register.
 #=fedoratest
-Patch021: gdb-6.7-ppc-clobbered-registers-O2-test.patch
+Patch020: gdb-6.7-ppc-clobbered-registers-O2-test.patch
 
 # Testsuite fixes for more stable/comparable results.
 #=fedoratest
-Patch022: gdb-6.7-testsuite-stable-results.patch
+Patch021: gdb-6.7-testsuite-stable-results.patch
 
 # Test ia64 memory leaks of the code using libunwind.
 #=fedoratest
-Patch023: gdb-6.5-ia64-libunwind-leak-test.patch
+Patch022: gdb-6.5-ia64-libunwind-leak-test.patch
 
 # Test hiding unexpected breakpoints on intentional step commands.
 #=fedoratest
-Patch024: gdb-6.5-missed-trap-on-step-test.patch
+Patch023: gdb-6.5-missed-trap-on-step-test.patch
 
 # Test gcore memory and time requirements for large inferiors.
 #=fedoratest
-Patch025: gdb-6.5-gcore-buffer-limit-test.patch
+Patch024: gdb-6.5-gcore-buffer-limit-test.patch
 
 # Test GCORE for shmid 0 shared memory mappings.
 #=fedoratest: But it is broken anyway, sometimes the case being tested is not reproducible.
-Patch026: gdb-6.3-mapping-zero-inode-test.patch
+Patch025: gdb-6.3-mapping-zero-inode-test.patch
 
 # Test various forms of threads tracking across exec() (BZ 442765).
 #=fedoratest
-Patch027: gdb-6.8-bz442765-threaded-exec-test.patch
+Patch026: gdb-6.8-bz442765-threaded-exec-test.patch
 
 # Test a crash on libraries missing the .text section.
 #=fedoratest
-Patch028: gdb-6.5-section-num-fixup-test.patch
+Patch027: gdb-6.5-section-num-fixup-test.patch
 
 # Fix resolving of variables at locations lists in prelinked libs (BZ 466901).
 #=fedoratest
-Patch029: gdb-6.8-bz466901-backtrace-full-prelinked.patch
+Patch028: gdb-6.8-bz466901-backtrace-full-prelinked.patch
 
 # New test for step-resume breakpoint placed in multiple threads at once.
 #=fedoratest
-Patch030: gdb-simultaneous-step-resume-breakpoint-test.patch
+Patch029: gdb-simultaneous-step-resume-breakpoint-test.patch
 
 # Fix GNU/Linux core open: Can't read pathname for load map: Input/output error.
 # Fix regression of undisplayed missing shared libraries caused by a fix for.
 #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*>
-Patch031: gdb-core-open-vdso-warning.patch
+Patch030: gdb-core-open-vdso-warning.patch
 
 # Workaround ccache making lineno non-zero for command-line definitions.
 #=fedoratest: ccache is rarely used and it is even fixed now.
-Patch032: gdb-ccache-workaround.patch
+Patch031: gdb-ccache-workaround.patch
 
 # Testcase for "Do not make up line information" fix by Daniel Jacobowitz.
 #=fedoratest
-Patch033: gdb-lineno-makeup-test.patch
+Patch032: gdb-lineno-makeup-test.patch
 
 # Test power7 ppc disassembly.
 #=fedoratest
-Patch034: gdb-ppc-power7-test.patch
+Patch033: gdb-ppc-power7-test.patch
 
 # Fix follow-exec for C++ programs (bugreported by Martin Stransky).
 #=fedoratest
-Patch035: gdb-archer-next-over-throw-cxx-exec.patch
+Patch034: gdb-archer-next-over-throw-cxx-exec.patch
 
 # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879).
 #=push+jan
-Patch036: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
+Patch035: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
 
 # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604).
 #=fedoratest
-Patch037: gdb-test-bt-cfi-without-die.patch
+Patch036: gdb-test-bt-cfi-without-die.patch
 
 # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108).
 #=fedoratest
-Patch038: gdb-bz634108-solib_address.patch
+Patch037: gdb-bz634108-solib_address.patch
 
 # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435).
 #=fedoratest
-Patch039: gdb-test-pid0-core.patch
+Patch038: gdb-test-pid0-core.patch
 
 # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp.
 #=fedoratest
-Patch040: gdb-test-dw2-aranges.patch
+Patch039: gdb-test-dw2-aranges.patch
 
 # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890).
 #=fedoratest
-Patch041: gdb-test-ivy-bridge.patch
+Patch040: gdb-test-ivy-bridge.patch
 
 # Workaround PR libc/14166 for inferior calls of strstr.
 #=fedoratest: Compatibility with RHELs (unchecked which ones).
-Patch042: gdb-glibc-strstr-workaround.patch
+Patch041: gdb-glibc-strstr-workaround.patch
 
 # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789).
 #=fedoratest
-Patch043: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
+Patch042: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
 
 # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343).
 #=fedoratest
-Patch044: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
+Patch043: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
 
 # Import regression test for `gdb/findvar.c:417: internal-error:
 # read_var_value: Assertion `frame' failed.' (RH BZ 947564) from RHEL 6.5.
 #=fedoratest
-Patch045: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
+Patch044: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
 
 # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614)
 #=fedoratest
-Patch046: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch
+Patch045: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch
 
 # Fix 'gdb gives highly misleading error when debuginfo pkg is present,
 # but not corresponding binary pkg' (RH BZ 981154).
 #=push+jan
-Patch047: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
+Patch046: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
 
 # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to
 # crash.' (RH BZ 1156192).
 #=fedoratest
-Patch048: gdb-rhbz1156192-recursive-dlopen-test.patch
+Patch047: gdb-rhbz1156192-recursive-dlopen-test.patch
 
 # Fix '`catch syscall' doesn't work for parent after `fork' is called'
 # (Philippe Waroquiers, RH BZ 1149205).
 #=fedoratest
-Patch049: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
+Patch048: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
 
 # Fix 'backport GDB 7.4 fix to RHEL 6.6 GDB' [Original Sourceware bug
 # description: 'C++ (and objc): Internal error on unqualified name
 # re-set', PR 11657] (RH BZ 1186476).
 #=fedoratest
-Patch050: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch
+Patch049: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch
 
 # Test 'info type-printers' Python error (RH BZ 1350436).
 #=fedoratest
-Patch051: gdb-rhbz1350436-type-printers-error.patch
+Patch050: gdb-rhbz1350436-type-printers-error.patch
 
 # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan
 # Kratochvil, RH BZ 1084404).
 #=fedoratest
-Patch052: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
+Patch051: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
 
 # Force libncursesw over libncurses to match the includes (RH BZ 1270534).
 #=push+jan
-Patch053: gdb-fedora-libncursesw.patch
+Patch052: gdb-fedora-libncursesw.patch
 
 # Test clflushopt instruction decode (for RH BZ 1262471).
 #=fedoratest
-Patch054: gdb-opcodes-clflushopt-test.patch
+Patch053: gdb-opcodes-clflushopt-test.patch
 
 # [aarch64] Fix hardware watchpoints (RH BZ 1261564).
 #=fedoratest
-Patch055: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
+Patch054: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
 
 # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114).
 #=fedora
-Patch056: gdb-container-rh-pkg.patch
+Patch055: gdb-container-rh-pkg.patch
 
 # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513).
 #=fedora
-Patch057: gdb-linux_perf-bundle.patch
+Patch056: gdb-linux_perf-bundle.patch
 
 # Fix gdb-headless /usr/bin/ executables (BZ 1390251).
 #
@@ -244,39 +240,39 @@ Patch057: gdb-linux_perf-bundle.patch
 #
 #   https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot
 #=fedora
-Patch058: gdb-libexec-add-index.patch
+Patch057: gdb-libexec-add-index.patch
 
 # [s390x] Backport arch12 instructions decoding (RH BZ 1553104).
 # =fedoratest
-Patch059: gdb-rhbz1553104-s390x-arch12-test.patch
+Patch058: gdb-rhbz1553104-s390x-arch12-test.patch
 
 
-Patch060: gdb-backport-readline_support.patch
+Patch059: gdb-backport-readline_support.patch
 
 # [gdb/testsuite] Use prototype to call libc functions
 # (Tom de Vries)
-Patch061: gdb-backport-fix-break-main-file-remove-fail.patch
+Patch060: gdb-backport-fix-break-main-file-remove-fail.patch
 
 # Constify target_desc to fix PPC ODR violations.
 # (Keith Seitz, build/22395)
-Patch062: gdb-sw22395-constify-target_desc.patch
+Patch061: gdb-sw22395-constify-target_desc.patch
 
 # libiberty: Fix C89-isms in configure tests
 # (Florian Weimer, RHBZ 2143992)
-Patch063: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch
+Patch062: gdb-rhbz2143992-libiberty-fix-c89isms-in-configure.patch
 
 
-Patch064: gdb-rhbz2152431-label-symbol-value.patch
+Patch063: gdb-rhbz2152431-label-symbol-value.patch
 
 #Backport replace deprecated distutils.sysconfig in
 #python-config (Lancelot SIX)
-Patch065: gdb-backport-python-config-replace-deprecated-distutils.patch
+Patch064: gdb-backport-python-config-replace-deprecated-distutils.patch
 
 # gcc 13 fallout: Backport Jan-Benedict Glaw's fix for the self-move
 # warning check
-Patch066: gdb-gcc-13-backport-self-move-diagnostic-fix
+Patch065: gdb-gcc-13-backport-self-move-diagnostic-fix
 
 # Backport "call check_typedef at beginning of dwarf_expr_context::fetch_result"
 # (Simon Marchi, backtrace/29374)
-Patch067: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch
+Patch066: gdb-backport-call-check_typedef-at-beginning-of-dwarf_expr_context.patch
 

diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include
index 9dbbe98..8d1967c 100644
--- a/_gdb.spec.patch.include
+++ b/_gdb.spec.patch.include
@@ -64,4 +64,3 @@
 %patch064 -p1
 %patch065 -p1
 %patch066 -p1
-%patch067 -p1

diff --git a/_patch_order b/_patch_order
index 900dc47..d1d58ef 100644
--- a/_patch_order
+++ b/_patch_order
@@ -8,7 +8,6 @@ gdb-6.5-readline-long-line-crash-test.patch
 gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
 gdb-6.5-bz109921-DW_AT_decl_file-test.patch
 gdb-6.3-bz140532-ppc-unwinding-test.patch
-gdb-6.3-bz202689-exec-from-pthread-test.patch
 gdb-6.6-bz229517-gcore-without-terminal.patch
 gdb-6.6-testsuite-timeouts.patch
 gdb-6.6-bz237572-ppc-atomic-sequence-test.patch

diff --git a/gdb-6.3-bz202689-exec-from-pthread-test.patch b/gdb-6.3-bz202689-exec-from-pthread-test.patch
deleted file mode 100644
index 74684dd..0000000
--- a/gdb-6.3-bz202689-exec-from-pthread-test.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
-From: Jan Kratochvil <jan.kratochvil@redhat.com>
-Date: Fri, 27 Oct 2017 21:07:50 +0200
-Subject: gdb-6.3-bz202689-exec-from-pthread-test.patch
-
-;; Testcase for exec() from threaded program (BZ 202689).
-;;=fedoratest
-
-2007-01-17  Jan Kratochvil <jan.kratochvil@redhat.com>
-
-	* gdb.threads/threaded-exec.exp, gdb.threads/threaded-exec.c: New files.
-
-diff --git a/gdb/testsuite/gdb.threads/threaded-exec.c b/gdb/testsuite/gdb.threads/threaded-exec.c
-new file mode 100644
---- /dev/null
-+++ b/gdb/testsuite/gdb.threads/threaded-exec.c
-@@ -0,0 +1,46 @@
-+/* This testcase is part of GDB, the GNU debugger.
-+
-+   Copyright 2007 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 2 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, write to the Free Software
-+   Foundation, Inc., 59 Temple Place - Suite 330,
-+   Boston, MA 02111-1307, USA.  */
-+
-+#include <stddef.h>
-+#include <pthread.h>
-+#include <assert.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+
-+
-+static void *
-+threader (void *arg)
-+{
-+	return NULL;
-+}
-+
-+int
-+main (void)
-+{
-+	pthread_t t1;
-+	int i;
-+
-+	i = pthread_create (&t1, NULL, threader, (void *) NULL);
-+	assert (i == 0);
-+	i = pthread_join (t1, NULL);
-+	assert (i == 0);
-+
-+	execl ("/bin/true", "/bin/true", NULL);
-+	abort ();
-+}
-diff --git a/gdb/testsuite/gdb.threads/threaded-exec.exp b/gdb/testsuite/gdb.threads/threaded-exec.exp
-new file mode 100644
---- /dev/null
-+++ b/gdb/testsuite/gdb.threads/threaded-exec.exp
-@@ -0,0 +1,41 @@
-+# threaded-exec.exp -- Check reset of the tracked threads on exec*(2)
-+# Copyright (C) 2007 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 2 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, write to the Free Software
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+
-+# Please email any bugs, comments, and/or additions to this file to:
-+# bug-gdb@prep.ai.mit.edu
-+
-+set testfile threaded-exec
-+set srcfile ${testfile}.c
-+set binfile [standard_output_file ${testfile}]
-+
-+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable []] != "" } {
-+    return -1
-+}
-+
-+gdb_exit
-+gdb_start
-+gdb_reinitialize_dir $srcdir/$subdir
-+
-+gdb_load ${binfile}
-+
-+gdb_run_cmd
-+
-+gdb_test_multiple {} "Program exited" {
-+   -re "\r\n\\\[Inferior .* exited normally\\\]\r\n$gdb_prompt $" {
-+       pass "Program exited"
-+   }
-+}

diff --git a/gdb-6.8-bz442765-threaded-exec-test.patch b/gdb-6.8-bz442765-threaded-exec-test.patch
index 90685c7..dbebe53 100644
--- a/gdb-6.8-bz442765-threaded-exec-test.patch
+++ b/gdb-6.8-bz442765-threaded-exec-test.patch
@@ -1,5 +1,5 @@
 From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
-From: Fedora GDB patches <invalid@email.com>
+From: Jan Kratochvil <jan.kratochvil@redhat.com>
 Date: Fri, 27 Oct 2017 21:07:50 +0200
 Subject: gdb-6.8-bz442765-threaded-exec-test.patch
 
@@ -9,35 +9,50 @@ Subject: gdb-6.8-bz442765-threaded-exec-test.patch
 Test various forms of threads tracking across exec(2).
 
 diff --git a/gdb/testsuite/gdb.threads/threaded-exec.c b/gdb/testsuite/gdb.threads/threaded-exec.c
---- a/gdb/testsuite/gdb.threads/threaded-exec.c
+new file mode 100644
+--- /dev/null
 +++ b/gdb/testsuite/gdb.threads/threaded-exec.c
-@@ -18,21 +18,95 @@
-    Boston, MA 02111-1307, USA.  */
- 
- #include <stddef.h>
--#include <pthread.h>
- #include <assert.h>
- #include <stdlib.h>
- #include <unistd.h>
+@@ -0,0 +1,147 @@
++/* This testcase is part of GDB, the GNU debugger.
++
++   Copyright 2007 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 2 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, write to the Free Software
++   Foundation, Inc., 59 Temple Place - Suite 330,
++   Boston, MA 02111-1307, USA.  */
++
++#include <stddef.h>
++#include <assert.h>
++#include <stdlib.h>
++#include <unistd.h>
 +#include <stdio.h>
- 
++
 +#ifdef THREADS
 +
 +# include <pthread.h>
- 
- static void *
- threader (void *arg)
- {
--	return NULL;
++
++static void *
++threader (void *arg)
++{
 +  return NULL;
- }
- 
++}
++
 +#endif
 +
- int
--main (void)
++int
 +main (int argc, char **argv)
- {
++{
 +  char *exec_nothreads, *exec_threads, *cmd;
 +  int phase;
 +  char phase_s[8];
@@ -107,13 +122,13 @@ diff --git a/gdb/testsuite/gdb.threads/threaded-exec.c b/gdb/testsuite/gdb.threa
 +    case 2:
 +      cmd = exec_threads;
 +      {
- 	pthread_t t1;
- 	int i;
- 
-@@ -40,7 +114,34 @@ main (void)
- 	assert (i == 0);
- 	i = pthread_join (t1, NULL);
- 	assert (i == 0);
++	pthread_t t1;
++	int i;
++
++	i = pthread_create (&t1, NULL, threader, (void *) NULL);
++	assert (i == 0);
++	i = pthread_join (t1, NULL);
++	assert (i == 0);
 +      }
 +      break;
 +    case 3:
@@ -141,41 +156,58 @@ diff --git a/gdb/testsuite/gdb.threads/threaded-exec.c b/gdb/testsuite/gdb.threa
 +
 +  phase++;
 +  snprintf (phase_s, sizeof phase_s, "%d", phase);
- 
--	execl ("/bin/true", "/bin/true", NULL);
--	abort ();
++
 +  execl (cmd, cmd, exec_nothreads, exec_threads, phase_s, NULL);
 +  assert (0);
- }
++}
 diff --git a/gdb/testsuite/gdb.threads/threaded-exec.exp b/gdb/testsuite/gdb.threads/threaded-exec.exp
---- a/gdb/testsuite/gdb.threads/threaded-exec.exp
+new file mode 100644
+--- /dev/null
 +++ b/gdb/testsuite/gdb.threads/threaded-exec.exp
-@@ -20,9 +20,14 @@
- 
- set testfile threaded-exec
- set srcfile ${testfile}.c
--set binfile [standard_output_file ${testfile}]
+@@ -0,0 +1,46 @@
++# threaded-exec.exp -- Check reset of the tracked threads on exec*(2)
++# Copyright (C) 2007 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 2 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, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++
++# Please email any bugs, comments, and/or additions to this file to:
++# bug-gdb@prep.ai.mit.edu
++
++set testfile threaded-exec
++set srcfile ${testfile}.c
 +set binfile_nothreads [standard_output_file ${testfile}N]
 +set binfile_threads [standard_output_file ${testfile}Y]
- 
--if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable []] != "" } {
++
 +if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile_nothreads}" executable {additional_flags=-UTHREADS}] != "" } {
 +    return -1
 +}
 +
 +if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile_threads}" executable {additional_flags=-DTHREADS}] != "" } {
-     return -1
- }
- 
-@@ -30,9 +35,9 @@ gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- 
--gdb_load ${binfile}
++    return -1
++}
++
++gdb_exit
++gdb_start
++gdb_reinitialize_dir $srcdir/$subdir
++
 +gdb_load ${binfile_nothreads}
- 
--gdb_run_cmd
++
 +gdb_run_cmd [list ${binfile_nothreads} ${binfile_threads} 0]
- 
- gdb_test_multiple {} "Program exited" {
-    -re "\r\n\\\[Inferior .* exited normally\\\]\r\n$gdb_prompt $" {
++
++gdb_test_multiple {} "Program exited" {
++   -re "\r\n\\\[Inferior .* exited normally\\\]\r\n$gdb_prompt $" {
++       pass "Program exited"
++   }
++}

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-28  0:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-28  0:00 [rpms/gdb] gdb-17.2-rebase-f44: Remove gdb-6.3-bz202689-exec-from-pthread-test.patch Andrew Burgess

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox