e19c0f8fb7
It has been observed that the changes added by gdb-libexec-add-index.patch will result in GDB testing hanging when the tests are being run using an in-tree GDB; that is when using 'make check'. One test that is known to fail is gdb.base/with-mf.exp, though any test that calls the gdb-add-index.sh script will also hang. The problem is that when the gdb-add-index.sh script is run, the GDB testsuite passes the GDB command to use within the GDB environment variable. For in-tree testing this will be something like: GDB="/path/to/gdb -data-directory /path/to/data-directory" Notice that the environment variable contains both an executable and an argument. Our changes to gdb-add-index.sh add this: GDB2=/usr/libexec/gdb if test -x $GDB2 && ! which $GDB &>/dev/null; then GDB=$GDB2 fi The problem then is that '-data-directory' is treated as a set of options to 'which'. Many of these options are not known to 'which', but the '-i' option is known. The documentation of '-i' says: --read-alias, -i Read aliases from stdin, reporting matching ones on stdout. This is useful in combination with using an alias for which itself. For example alias which=´alias | which -i´. And here's the problem; this option causes 'which' to read from stdin. As the GDB testsuite doesn't send any additional input on stdin then the which command will never complete, and the test will hang. The solution I think is to avoid calling 'which' like this on a user supplied GDB environment variable. The changes in the gdb-libexec-add-index.patch were really about what the _default_ GDB executable should be. The upstream version of this script does this: GDB=${GDB:=gdb} That is, the default is just 'gdb'. However, for RH this is not good enough. We want to handle two additional cases, first, when only the gdb-minimal package is installed, in which case the default should be /usr/bin/gdb.minimal. Then we also want to handle the case where the user doesn't have 'gdb' itself in their $PATH, but does have the 'gdb' executable installed in /usr/libexec/gdb. The code as it currently stands also has a problem where, if gdb.minimal is installed on the machine this will _always_ be used in preference to the user supplied GDB value (assuming the code worked at all) this means that when doing in-tree testing we wouldn't actually be using the in-tree GDB to build the index, which isn't ideal. So in this commit I propose that we rework our gdb-add-index.sh changes. Now, we only use the RH special values in the case that there is no GDB environment variable set. I believe this handles all the required use cases: 1. When doing in-tree testing GDB environment variable will be set, and this will always be used as is, with no special processing, 2. When gdb-add-index.sh is used and GDB environment variable is not set then we will use the first of the following as the default: (a) /usr/bin/gdb.minimal if this file exists and is executable, (b) The first gdb executable that can be found in the $PATH, (c) /usr/libexec/gdb if this file exists and is executable. While I was changing this patch anyway I've removed the libexec part of the patch name -- this no longer seemed relevant, I suspect this related to an older version of this patch.
232 lines
8.2 KiB
Plaintext
232 lines
8.2 KiB
Plaintext
# Check distro name is included in the version output.
|
|
Patch001: gdb-6.3-rh-testversion-20041202.patch
|
|
|
|
# Add a wrapper script to GDB that implements pstack using the
|
|
# --readnever option.
|
|
#=push
|
|
Patch002: gdb-6.3-gstack-20050411.patch
|
|
|
|
# Support TLS symbols (+`errno' suggestion if no pthread is found) (BZ 185337).
|
|
#=push+jan: It should be replaced by Infinity project.
|
|
Patch003: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
|
|
|
|
# Fix TLS symbols resolving for shared libraries with a relative pathname.
|
|
# The testsuite needs `gdb-6.5-tls-of-separate-debuginfo.patch'.
|
|
#=fedoratest: One should recheck if it is really fixed upstream.
|
|
Patch004: gdb-6.5-sharedlibrary-path.patch
|
|
|
|
# Improved testsuite results by the testsuite provided by the courtesy of BEA.
|
|
#=fedoratest: For upstream it should be rewritten as a dejagnu test, the test of no "??" was useful.
|
|
Patch005: gdb-6.5-BEA-testsuite.patch
|
|
|
|
# Test sideeffects of skipping ppc .so libs trampolines (BZ 218379).
|
|
#=fedoratest
|
|
Patch006: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
|
|
|
|
# Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517).
|
|
#=fedoratest
|
|
Patch007: gdb-6.6-bz229517-gcore-without-terminal.patch
|
|
|
|
# Avoid too long timeouts on failing cases of "annota1.exp annota3.exp".
|
|
#=fedoratest
|
|
Patch008: gdb-6.6-testsuite-timeouts.patch
|
|
|
|
# Support for stepping over PPC atomic instruction sequences (BZ 237572).
|
|
#=fedoratest
|
|
Patch009: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
|
|
|
|
# Test kernel VDSO decoding while attaching to an i386 process.
|
|
#=fedoratest
|
|
Patch010: gdb-6.3-attach-see-vdso-test.patch
|
|
|
|
# Test leftover zombie process (BZ 243845).
|
|
#=fedoratest
|
|
Patch011: gdb-6.5-bz243845-stale-testing-zombie-test.patch
|
|
|
|
# New locating of the matching binaries from the pure core file (build-id).
|
|
#=push+jan
|
|
Patch012: 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
|
|
Patch013: gdb-6.6-buildid-locate-solib-missing-ids.patch
|
|
|
|
#=push+jan
|
|
Patch014: gdb-6.6-buildid-locate-rpm.patch
|
|
|
|
# Test PPC hiding of call-volatile parameter register.
|
|
#=fedoratest
|
|
Patch015: gdb-6.7-ppc-clobbered-registers-O2-test.patch
|
|
|
|
# Testsuite fixes for more stable/comparable results.
|
|
#=fedoratest
|
|
Patch016: gdb-6.7-testsuite-stable-results.patch
|
|
|
|
# Test ia64 memory leaks of the code using libunwind.
|
|
#=fedoratest
|
|
Patch017: gdb-6.5-ia64-libunwind-leak-test.patch
|
|
|
|
# Test hiding unexpected breakpoints on intentional step commands.
|
|
#=fedoratest
|
|
Patch018: gdb-6.5-missed-trap-on-step-test.patch
|
|
|
|
# Test gcore memory and time requirements for large inferiors.
|
|
#=fedoratest
|
|
Patch019: 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.
|
|
Patch020: gdb-6.3-mapping-zero-inode-test.patch
|
|
|
|
# Test a crash on libraries missing the .text section.
|
|
#=fedoratest
|
|
Patch021: gdb-6.5-section-num-fixup-test.patch
|
|
|
|
# Fix resolving of variables at locations lists in prelinked libs (BZ 466901).
|
|
#=fedoratest
|
|
Patch022: gdb-6.8-bz466901-backtrace-full-prelinked.patch
|
|
|
|
# New test for step-resume breakpoint placed in multiple threads at once.
|
|
#=fedoratest
|
|
Patch023: 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@.*>
|
|
Patch024: 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.
|
|
Patch025: gdb-ccache-workaround.patch
|
|
|
|
# Testcase for "Do not make up line information" fix by Daniel Jacobowitz.
|
|
#=fedoratest
|
|
Patch026: gdb-lineno-makeup-test.patch
|
|
|
|
# Test power7 ppc disassembly.
|
|
#=fedoratest
|
|
Patch027: gdb-ppc-power7-test.patch
|
|
|
|
# Fix follow-exec for C++ programs (bugreported by Martin Stransky).
|
|
#=fedoratest
|
|
Patch028: gdb-archer-next-over-throw-cxx-exec.patch
|
|
|
|
# Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879).
|
|
#=push+jan
|
|
Patch029: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
|
|
|
|
# [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604).
|
|
#=fedoratest
|
|
Patch030: gdb-test-bt-cfi-without-die.patch
|
|
|
|
# Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108).
|
|
#=fedoratest
|
|
Patch031: gdb-bz634108-solib_address.patch
|
|
|
|
# New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435).
|
|
#=fedoratest
|
|
Patch032: gdb-test-pid0-core.patch
|
|
|
|
# [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp.
|
|
#=fedoratest
|
|
Patch033: gdb-test-dw2-aranges.patch
|
|
|
|
# Workaround PR libc/14166 for inferior calls of strstr.
|
|
#=fedoratest: Compatibility with RHELs (unchecked which ones).
|
|
Patch034: gdb-glibc-strstr-workaround.patch
|
|
|
|
# Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789).
|
|
#=fedoratest
|
|
Patch035: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
|
|
|
|
# Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343).
|
|
#=fedoratest
|
|
Patch036: 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
|
|
Patch037: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
|
|
|
|
# Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614)
|
|
#=fedoratest
|
|
Patch038: 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
|
|
Patch039: 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
|
|
Patch040: gdb-rhbz1156192-recursive-dlopen-test.patch
|
|
|
|
# Fix '`catch syscall' doesn't work for parent after `fork' is called'
|
|
# (Philippe Waroquiers, RH BZ 1149205).
|
|
#=fedoratest
|
|
Patch041: 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
|
|
Patch042: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch
|
|
|
|
# Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan
|
|
# Kratochvil, RH BZ 1084404).
|
|
#=fedoratest
|
|
Patch043: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
|
|
|
|
# Force libncursesw over libncurses to match the includes (RH BZ 1270534).
|
|
#=push+jan
|
|
Patch044: gdb-fedora-libncursesw.patch
|
|
|
|
# [aarch64] Fix hardware watchpoints (RH BZ 1261564).
|
|
#=fedoratest
|
|
Patch045: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
|
|
|
|
# Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114).
|
|
#=fedora
|
|
Patch046: gdb-container-rh-pkg.patch
|
|
|
|
# [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513).
|
|
#=fedora
|
|
Patch047: gdb-linux_perf-bundle.patch
|
|
|
|
# Update gdb-add-index.sh such that, when the GDB environment
|
|
# variable is not set, the script is smarter than just looking for
|
|
# 'gdb' in the $PATH.
|
|
#
|
|
# The actual search order is now: /usr/bin/gdb.minimal, gdb (in the
|
|
# $PATH), then /usr/libexec/gdb.
|
|
#
|
|
# For the rationale of looking for gdb.minimal see:
|
|
#
|
|
# https://fedoraproject.org/wiki/Changes/Minimal_GDB_in_buildroot
|
|
#
|
|
#=fedora
|
|
Patch048: gdb-add-index.patch
|
|
|
|
# [s390x] Backport arch12 instructions decoding (RH BZ 1553104).
|
|
# =fedoratest
|
|
Patch049: gdb-rhbz1553104-s390x-arch12-test.patch
|
|
|
|
# [aarch64] Backport fix from Luis Machado for RH BZ 2177655.
|
|
Patch050: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch
|
|
|
|
# Backport "Fix crash in inside_main_func"
|
|
# (Tom Tromey, RHBZ 2183595)
|
|
Patch051: gdb-rhbz2183595-rustc-inside_main.patch
|
|
|
|
# Backport "Fix a potential illegal memory access in the BFD library..."
|
|
# (Nick Clifton, binutils/29988)
|
|
Patch052: gdb-binutils29988-read_indexed_address.patch
|
|
|
|
# Backport upstream patch fixing a "dangling pointer" build problem
|
|
# first seen when building with GCC 13.1.1 20230426 (Red Hat ;; 13.1.1-1).
|
|
Patch053: gdb-rhbz2192105-ftbs-dangling-pointer
|
|
|