diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index d3ec18e..df6eff7 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -188,232 +188,228 @@ Patch046: gdb-simultaneous-step-resume-breakpoint-test.patch #=fedoratest: It should be in glibc: libc-alpha: <20091004161706.GA27450@.*> Patch047: gdb-core-open-vdso-warning.patch -# Fix syscall restarts for amd64->i386 biarch. -#=push+jan -Patch048: gdb-x86_64-i386-syscall-restart.patch - # Fix stepping with OMP parallel Fortran sections (BZ 533176). #=push+jan: It requires some better DWARF annotations. -Patch049: gdb-bz533176-fortran-omp-step.patch +Patch048: gdb-bz533176-fortran-omp-step.patch # Workaround ccache making lineno non-zero for command-line definitions. #=fedoratest: ccache is rarely used and it is even fixed now. -Patch050: gdb-ccache-workaround.patch +Patch049: gdb-ccache-workaround.patch #=push+jan: May get obsoleted by Tom's unrelocated objfiles patch. -Patch051: gdb-archer-pie-addons.patch +Patch050: gdb-archer-pie-addons.patch #=push+jan: Breakpoints disabling matching should not be based on address. -Patch052: gdb-archer-pie-addons-keep-disabled.patch +Patch051: gdb-archer-pie-addons-keep-disabled.patch # Testcase for "Do not make up line information" fix by Daniel Jacobowitz. #=fedoratest -Patch053: gdb-lineno-makeup-test.patch +Patch052: gdb-lineno-makeup-test.patch # Test power7 ppc disassembly. #=fedoratest -Patch054: gdb-ppc-power7-test.patch +Patch053: gdb-ppc-power7-test.patch # Workaround non-stop moribund locations exploited by kernel utrace (BZ 590623). #=push+jan: Currently it is still not fully safe. -Patch055: gdb-moribund-utrace-workaround.patch +Patch054: gdb-moribund-utrace-workaround.patch # Fix follow-exec for C++ programs (bugreported by Martin Stransky). #=fedoratest -Patch056: gdb-archer-next-over-throw-cxx-exec.patch +Patch055: gdb-archer-next-over-throw-cxx-exec.patch # Backport DWARF-4 support (BZ 601887, Tom Tromey). #=fedoratest -Patch057: gdb-bz601887-dwarf4-rh-test.patch +Patch056: gdb-bz601887-dwarf4-rh-test.patch #=push+jan -Patch058: gdb-6.6-buildid-locate-core-as-arg.patch +Patch057: gdb-6.6-buildid-locate-core-as-arg.patch # Workaround librpm BZ 643031 due to its unexpected exit() calls (BZ 642879). #=push+jan -Patch059: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch +Patch058: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch # [delayed-symfile] Test a backtrace regression on CFIs without DIE (BZ 614604). #=fedoratest -Patch060: gdb-test-bt-cfi-without-die.patch +Patch059: gdb-test-bt-cfi-without-die.patch # Out of memory is just an error, not fatal (uninitialized VLS vars, BZ 568248). #=push+jan: Inferior objects should be read in parts, then this patch gets obsoleted. -Patch061: gdb-bz568248-oom-is-error.patch +Patch060: gdb-bz568248-oom-is-error.patch # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). #=fedoratest -Patch062: gdb-bz634108-solib_address.patch +Patch061: gdb-bz634108-solib_address.patch # New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435). #=fedoratest -Patch063: gdb-test-pid0-core.patch +Patch062: gdb-test-pid0-core.patch # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. #=fedoratest -Patch064: gdb-test-dw2-aranges.patch +Patch063: gdb-test-dw2-aranges.patch # [archer-keiths-expr-cumulative+upstream] Import C++ testcases. #=fedoratest -Patch065: gdb-test-expr-cumulative-archer.patch +Patch064: gdb-test-expr-cumulative-archer.patch # Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). #=fedoratest -Patch066: gdb-physname-pr11734-test.patch +Patch065: gdb-physname-pr11734-test.patch # Fix regressions on C++ names resolving (PR 11734, PR 12273, Keith Seitz). #=fedoratest -Patch067: gdb-physname-pr12273-test.patch +Patch066: gdb-physname-pr12273-test.patch # Test GDB opcodes/ disassembly of Intel Ivy Bridge instructions (BZ 696890). #=fedoratest -Patch068: gdb-test-ivy-bridge.patch +Patch067: gdb-test-ivy-bridge.patch # Hack for proper PIE run of the testsuite. #=fedoratest -Patch069: gdb-runtest-pie-override.patch +Patch068: gdb-runtest-pie-override.patch # Print reasons for failed attach/spawn incl. SELinux deny_ptrace (BZ 786878). #=push+jan -Patch070: gdb-attach-fail-reasons-5of5.patch +Patch069: gdb-attach-fail-reasons-5of5.patch # Workaround PR libc/14166 for inferior calls of strstr. #=fedoratest: Compatibility with RHELs (unchecked which ones). -Patch071: gdb-glibc-strstr-workaround.patch +Patch070: gdb-glibc-strstr-workaround.patch # Include testcase for `Unable to see a variable inside a module (XLF)' (BZ 823789). #=fedoratest -Patch072: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch +Patch071: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch # Testcase for `Setting solib-absolute-prefix breaks vDSO' (BZ 818343). #=fedoratest -Patch073: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch +Patch072: 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 -Patch074: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch +Patch073: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch # Fix crash of -readnow /usr/lib/debug/usr/bin/gnatbind.debug (BZ 1069211). #=push+jan -Patch075: gdb-gnat-dwarf-crash-3of3.patch +Patch074: gdb-gnat-dwarf-crash-3of3.patch # Fix 'memory leak in infpy_read_memory()' (RH BZ 1007614) #=fedoratest -Patch076: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +Patch075: 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 -Patch077: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +Patch076: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch #=fedoratest -Patch078: gdb-archer-vla-tests.patch +Patch077: gdb-archer-vla-tests.patch #=fedoratest -Patch079: gdb-vla-intel-tests.patch +Patch078: gdb-vla-intel-tests.patch # Continue backtrace even if a frame filter throws an exception (Phil Muldoon). #=push -Patch080: gdb-btrobust.patch +Patch079: gdb-btrobust.patch # Display Fortran strings in backtraces. #=fedoratest -Patch081: gdb-fortran-frame-string.patch +Patch080: gdb-fortran-frame-string.patch # Testcase for '[SAP] Recursive dlopen causes SAP HANA installer to # crash.' (RH BZ 1156192). #=fedoratest -Patch082: gdb-rhbz1156192-recursive-dlopen-test.patch +Patch081: gdb-rhbz1156192-recursive-dlopen-test.patch # Fix jit-reader.h for multi-lib. #=push+jan -Patch083: gdb-jit-reader-multilib.patch +Patch082: gdb-jit-reader-multilib.patch # Fix '`catch syscall' doesn't work for parent after `fork' is called' # (Philippe Waroquiers, RH BZ 1149205). #=fedoratest -Patch084: gdb-rhbz1149205-catch-syscall-after-fork-test.patch +Patch083: 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 -Patch085: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch +Patch084: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch # Test 'info type-printers' Python error (RH BZ 1350436). #=fedoratest -Patch086: gdb-rhbz1350436-type-printers-error.patch +Patch085: gdb-rhbz1350436-type-printers-error.patch # Fix '[ppc64] and [s390x] wrong prologue skip on -O2 -g code' (Jan # Kratochvil, RH BZ 1084404). #=fedoratest -Patch087: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch +Patch086: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch # Never kill PID on: gdb exec PID (Jan Kratochvil, RH BZ 1219747). #=push+jan -Patch088: gdb-bz1219747-attach-kills.patch +Patch087: gdb-bz1219747-attach-kills.patch # Force libncursesw over libncurses to match the includes (RH BZ 1270534). #=push+jan -Patch089: gdb-fedora-libncursesw.patch +Patch088: gdb-fedora-libncursesw.patch # Test clflushopt instruction decode (for RH BZ 1262471). #=fedoratest -Patch090: gdb-opcodes-clflushopt-test.patch +Patch089: gdb-opcodes-clflushopt-test.patch # [rhel6] DTS backward Python compatibility API (BZ 1020004, Phil Muldoon). #=fedora -Patch091: gdb-dts-rhel6-python-compat.patch +Patch090: gdb-dts-rhel6-python-compat.patch # [SCL] Skip deprecated .gdb_index warning for Red Hat built files (BZ 953585). #=push+jan -Patch092: gdb-6.6-buildid-locate-rpm-scl.patch +Patch091: gdb-6.6-buildid-locate-rpm-scl.patch # Work around readline-6.2 incompatibility not asking for --more-- (BZ 701131). #=fedora -Patch093: gdb-readline62-ask-more-rh.patch +Patch092: gdb-readline62-ask-more-rh.patch # Make the GDB quit processing non-abortable to cleanup everything properly. #=fedora: It was useful only after gdb-6.8-attach-signalled-detach-stopped.patch . -Patch094: gdb-6.8-quit-never-aborts.patch +Patch093: gdb-6.8-quit-never-aborts.patch # [aarch64] Fix hardware watchpoints (RH BZ 1261564). #=fedoratest -Patch095: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +Patch094: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch # Add messages suggesting more recent RHEL gdbserver (RH BZ 1321114). #=fedora -Patch096: gdb-container-rh-pkg.patch +Patch095: gdb-container-rh-pkg.patch # New test for Python "Cannot locate object file for block" (for RH BZ 1325795). #=fedoratest -Patch097: gdb-rhbz1325795-framefilters-test.patch +Patch096: gdb-rhbz1325795-framefilters-test.patch # [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513). #=fedora -Patch098: gdb-linux_perf-bundle.patch +Patch097: gdb-linux_perf-bundle.patch # Fix gdb-headless /usr/bin/ executables (BZ 1390251). #=fedora -Patch099: gdb-libexec-add-index.patch +Patch098: gdb-libexec-add-index.patch # New testcase for: Fix -completion crash (Gary Benson, RH BZ 1398387). #=fedoratest -Patch100: gdb-rhbz1398387-tab-crash-test.patch +Patch099: gdb-rhbz1398387-tab-crash-test.patch # [testsuite] Fix false selftest.exp FAIL from system readline-6.3+ (Patrick Palka). #=fedoratest -Patch101: gdb-testsuite-readline63-sigint.patch +Patch100: gdb-testsuite-readline63-sigint.patch # Python patches of: http://sourceware.org/gdb/wiki/ProjectArcher #=push -Patch102: gdb-archer.patch +Patch101: gdb-archer.patch # Revert upstream commit 469412dd9ccc4de5874fd3299b105833f36b34cd -Patch103: gdb-vla-intel-fix-print-char-array.patch +Patch102: gdb-vla-intel-fix-print-char-array.patch # [s390x] Backport arch12 instructions decoding (RH BZ 1553104). # =fedoratest -Patch104: gdb-rhbz1553104-s390x-arch12-test.patch +Patch103: gdb-rhbz1553104-s390x-arch12-test.patch diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 2e5e265..0557da6 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -101,4 +101,3 @@ %patch101 -p1 %patch102 -p1 %patch103 -p1 -%patch104 -p1 diff --git a/_patch_order b/_patch_order index e712423..2230584 100644 --- a/_patch_order +++ b/_patch_order @@ -45,7 +45,6 @@ gdb-6.8-bz436037-reg-no-longer-active.patch gdb-6.8-bz466901-backtrace-full-prelinked.patch gdb-simultaneous-step-resume-breakpoint-test.patch gdb-core-open-vdso-warning.patch -gdb-x86_64-i386-syscall-restart.patch gdb-bz533176-fortran-omp-step.patch gdb-ccache-workaround.patch gdb-archer-pie-addons.patch diff --git a/gdb-x86_64-i386-syscall-restart.patch b/gdb-x86_64-i386-syscall-restart.patch deleted file mode 100644 index e4a41c8..0000000 --- a/gdb-x86_64-i386-syscall-restart.patch +++ /dev/null @@ -1,123 +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-x86_64-i386-syscall-restart.patch - -;; Fix syscall restarts for amd64->i386 biarch. -;;=push+jan - -http://sourceware.org/ml/gdb-patches/2009-11/msg00592.html -Subject: [patch] Fix syscall restarts for amd64->i386 biarch - -Hi, - -tested only on recent Linux kernels, it should apply also on vanilla ones. -There were various changes of the kernels behavior in the past. - -FSF GDB HEAD state: -kernel debugger inferior state -x86_64 x86_64 x86_64 PASS -x86_64 x86_64 i386 FAIL without this patch, PASS with this patch -x86_64 i386 i386 PASS on recent kernels - (FAIL: kernel-2.6.31.5-127.fc12.x86_64 - Fedora 12) - (PASS: kernel-2.6.32-0.55.rc8.git1.fc13.x86_64) -i386 i386 i386 PASS - -Currently gdb.base/interrupt.exp fails on amd64 host running under ---target_board unix/-m32 with: - continue - Continuing. - Unknown error 512 - -: -/* - * These should never be seen by user programs. To return one of ERESTART* - * codes, signal_pending() MUST be set. Note that ptrace can observe these - * at syscall exit tracing, but they will never be left for the debugged user - * process to see. - */ - -"Unknown error 512" printed above is printed by the inferior itself, not by GDB. - -It is because GDB reads it as 0xfffffffffffffe00 but writes it back as -0xfffffe00. -+ /* Sign-extend %eax as during return from a syscall it is being checked -+ for -ERESTART* values -512 being above 0xfffffffffffffe00; tested by -+ interrupt.exp. */ - -Quote of Roland McGrath from IRC: - -roland: in the user_regset model, there are 64-bit user_regset flavors and -32-bit user_regset flavors, so at the kabi level the (kernel) caller can say -what it means: calls on the 32-bit user_regset flavor will behave as if on -a 32-bit kernel/userland. in ptrace, there is no way for x86_64 ptrace calls -to say "i think of the inferior as being 32 bits, so act accordingly" (tho ppc -and/or sparc have ptr -roland: ace requests that do that iirc) -roland: ergo 64-bit ptrace callers must either save/restore full 64-bits so -the kernel's sign-extension choices are preserved, or else grok magic ways to -expand stored 32-bit register contents to 64-bit values to stuff via 64-bit -ptrace -[...] -roland: there is a "32-bit-flavored task", but it's not really true that it -has 32-bit registers. there is no 32-bit-only userland condition. any task -can always ljmp to the 64-bit code segment and run 64-bit insns including -a 64-bit syscall -roland: so a 64-bit debugger should see and be able to fiddle the full -registers. it can even change cs via ptrace to force the inferior into -running 32 or 64 bit code. - -Saving whole 64bits for i386 targets on x86_64 hosts does not much match the -GDB architecture as `struct type' for these registers still should be 32bit -etc. Therefore provided just this exception. - -The problem is reproducible only if one does an inferior call during the -interruption to do full inferior save/restore from GDB regcache. - -Regression tested on {x86_64,x86_64-m32,i686}-fedora12-linux-gnu. - -Thanks, -Jan - -gdb/ -2009-11-29 Jan Kratochvil - - * amd64-nat.c (amd64_collect_native_gregset): Do not pre-clear %eax. - Sign extend it afterwards. - -diff --git a/gdb/amd64-nat.c b/gdb/amd64-nat.c ---- a/gdb/amd64-nat.c -+++ b/gdb/amd64-nat.c -@@ -135,9 +135,9 @@ amd64_collect_native_gregset (const struct regcache *regcache, - { - num_regs = amd64_native_gregset32_num_regs; - -- /* Make sure %eax, %ebx, %ecx, %edx, %esi, %edi, %ebp, %esp and -+ /* Make sure %ebx, %ecx, %edx, %esi, %edi, %ebp, %esp and - %eip get zero-extended to 64 bits. */ -- for (i = 0; i <= I386_EIP_REGNUM; i++) -+ for (i = I386_ECX_REGNUM; i <= I386_EIP_REGNUM; i++) - { - if (regnum == -1 || regnum == i) - memset (regs + amd64_native_gregset_reg_offset (gdbarch, i), 0, 8); -@@ -163,4 +163,20 @@ amd64_collect_native_gregset (const struct regcache *regcache, - regcache->raw_collect (i, regs + offset); - } - } -+ -+ if (gdbarch_bfd_arch_info (gdbarch)->bits_per_word == 32) -+ { -+ /* Sign-extend %eax as during return from a syscall it is being checked -+ for -ERESTART* values -512 being above 0xfffffffffffffe00; tested by -+ interrupt.exp. */ -+ -+ int k = I386_EAX_REGNUM; -+ -+ if (regnum == -1 || regnum == i) -+ { -+ void *ptr = regs + amd64_native_gregset_reg_offset (gdbarch, k); -+ -+ *(int64_t *) ptr = *(int32_t *) ptr; -+ } -+ } - } diff --git a/gdb.spec b/gdb.spec index ba3cb01..473a130 100644 --- a/gdb.spec +++ b/gdb.spec @@ -30,7 +30,7 @@ Version: 8.3.50.%{snapsrc} # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1025,6 +1025,9 @@ fi %endif %changelog +* Fri Apr 12 2019 Sergio Durigan Junior - 8.3.50.20190412-6 +- Remove 'gdb-x86_64-i386-syscall-restart.patch'. + * Fri Apr 12 2019 Sergio Durigan Junior - 8.3.50.20190412-5 - Rebase to FSF GDB 8.3.50.20190412 (8.4pre). - Adjust 'gdb-6.3-rh-testversion-20041202.patch'.