From 89f20beb5e56e4775bbbbcd48621498d746b6354 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Fri, 10 Feb 2023 12:33:43 +0000 Subject: [PATCH] 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. --- _gdb.spec.Patch.include | 116 +++++++-------- _gdb.spec.patch.include | 1 - _patch_order | 1 - gdb-6.3-bz202689-exec-from-pthread-test.patch | 109 -------------- gdb-6.8-bz442765-threaded-exec-test.patch | 138 +++++++++++------- 5 files changed, 141 insertions(+), 224 deletions(-) delete mode 100644 gdb-6.3-bz202689-exec-from-pthread-test.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 -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 - - * 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 -+#include -+#include -+#include -+#include -+ -+ -+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 +From: Jan Kratochvil 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 --#include - #include - #include - #include +@@ -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 ++#include ++#include ++#include +#include - ++ +#ifdef THREADS + +# include - - 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" ++ } ++}