Hello community,
here is the log from the commit of package gdb for openSUSE:Factory checked in at 2017-06-28 11:15:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdb (Old)
and /work/SRC/openSUSE:Factory/.gdb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdb"
Wed Jun 28 11:15:02 2017 rev:114 rq:501792 version:8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/gdb/gdb.changes 2017-03-09 01:32:09.380658544 +0100
+++ /work/SRC/openSUSE:Factory/.gdb.new/gdb.changes 2017-06-28 11:15:04.862154194 +0200
@@ -1,0 +2,45 @@
+Tue Jun 6 14:37:05 UTC 2017 - matz@suse.com
+
+- Rebase to gdb 8.0 release: [fate #319573]
+ * support for DWARF5 (except its .debug_names)
+ * support C++11 rvalue references
+ * support PKU register (memory protection keys on future Intel CPUs)
+ * python scripting:
+ - start, stop and access running btrace
+ - rvalue references in gdb.Type
+ * record/replay x86_64 rdrand and rdseed
+ * removed support for GCJ compiled java programs
+ * user commands accept more than 10 arguments
+ * "eval" expands user-defined command arguments
+ * new options:
+ set/show disassembler-options (on arm, ppc s390)
+- Removed obsoleted patches:
+ gdb-release-werror.patch
+
+-------------------------------------------------------------------
+Thu Apr 27 14:39:44 UTC 2017 - matz@suse.com
+
+- Rebase to gdb 7.99.90 (prerelease of gdb 8) [fate #319573]
+- Updated libstdc++ pretty printers to
+ gdb-libstdc++-v3-python-6.3.1-20170212.tar.bz2.
+- Added patches from fedora:
+ gdb-release-werror.patch
+ gdb-rhbz1398387-tab-crash-test.patch
+- Removed obsoleted patches:
+ gdb-6.7-bz426600-DW_TAG_interface_type-test.patch
+ gdb-bison-old.patch
+ gdb-testsuite-casts.patch
+ gdb-testsuite-m-static.patch
+ gdb-upstream.patch
+ gdb-testsuite-morestack-gold.patch
+ gdb-fix-bnc-994537.diff
+ gdb-libiberty-demangler-fuzz.diff
+
+-------------------------------------------------------------------
+Mon Apr 3 12:48:42 UTC 2017 - rguenther@suse.com
+
+- Fix rpm condition to allow build on SLE10.
+- Do not require glibc-devel-static-32bit on SLE12 which is not available
+ there.
+
+-------------------------------------------------------------------
@@ -80,0 +126,8 @@
+Thu Aug 25 14:29:44 UTC 2016 - matz@suse.com
+
+- Add gdb-fix-bnc-994537.diff for ppc64le, fixing
+ two testcases. [bnc#994537]
+- Add gdb-libiberty-demangler-fuzz.diff for fixing infinite
+ recursion in demangler. [bnc#987637]
+
+-------------------------------------------------------------------
@@ -110,0 +164,12 @@
+Mon Apr 25 07:23:34 UTC 2016 - rguenther@suse.com
+
+ [diverging changelog entry from SLE tree vs devel:gcc tree:
+
+- Add gdb-7.9-bnc976404.patch to fix thread support on s390x. [bnc #976404]
+ [bnc #970589]
+- Add gdb-7.9-swo18929.patch to fix crash printing values. [bnc#971556]
+ ]
+- Removed gdb-7.9-bnc976404.patch when updating to devel:gcc tree.
+- Replaced gdb-7.9-swo18929.patch with gdb-7.10-swo18929.patch as well.
+
+-------------------------------------------------------------------
@@ -220,0 +286,5 @@
+Fri Aug 14 13:39:13 UTC 2015 - matz@suse.de
+
+- Add missing patches from binutils for z13 support. [bnc #936050]
+
+-------------------------------------------------------------------
@@ -233,0 +304,5 @@
+- Remove now obsolete SLE12-only patches:
+ gdb-7.7-bnc896586.patch, gdb-7.7-bnc895831.patch,
+ gdb-7.7-bnc891040-1.patch, gdb-7.7-bnc891040-2.patch,
+ gdb-7.7-bnc891040-3.patch, gdb-7.7-bnc891040-4.patch,
+ gdb-7.7-bnc891040-5.patch
@@ -394,0 +470,24 @@
+
+-------------------------------------------------------------------
+Mon Jul 15 07:42:50 UTC 2014 - rguenther@suse.com
+ (was: Mon Sep 15 07:42:50 UTC 2014 - rguenther@suse.com)
+
+- Backport fix for gdb internal-error on register info on PPC64LE.
+ Addds patch gdb-7.7-bnc896586.patch. [bnc#896586]
+
+-------------------------------------------------------------------
+Wed Jul 10 07:41:20 UTC 2014 - rguenther@suse.com
+ (was: Wed Sep 10 07:41:20 UTC 2014 - rguenther@suse.com)
+
+- Backport fix for gdbserver PPC64LE byteorder issue. [bnc#895831]
+ Adds patch gdb-7.7-bnc895831.patch.
+
+-------------------------------------------------------------------
+Tue Jul 8 08:13:11 UTC 2014 - rguenther@suse.com
+
+ (was: Tue Aug 12 08:13:11 UTC 2014 - rguenther@suse.com)
+
+- Backport all frame-related changes from gdb 7.8. Adds patches
+ gdb-7.7-bnc891040-1.patch, gdb-7.7-bnc891040-2.patch,
+ gdb-7.7-bnc891040-3.patch, gdb-7.7-bnc891040-4.patch,
+ gdb-7.7-bnc891040-5.patch [bnc#891040]
Old:
----
gdb-6.7-bz426600-DW_TAG_interface_type-test.patch
gdb-7.12.1.tar.bz2
gdb-bison-old.patch
gdb-testsuite-casts.patch
gdb-testsuite-m-static.patch
gdb-testsuite-morestack-gold.patch
gdb-upstream.patch
New:
----
gdb-8.0.tar.bz2
gdb-rhbz1398387-tab-crash-test.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gdb.spec ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.445788814 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.449788249 +0200
@@ -24,7 +24,7 @@
Group: Development/Tools/Debuggers
Name: gdb
-Version: 7.12.1
+Version: 8.0
Release: 0
# The release always contains a leading reserved number, start it at 1.
@@ -89,139 +89,134 @@
#Fedora Packages begin
Patch1: gdb-6.3-rh-testversion-20041202.patch
-Patch2: gdb-upstream.patch
-Patch3: gdb-archer.patch
-Patch4: gdb-vla-intel-fortran-strides.patch
-Patch5: gdb-vla-intel-fortran-vla-strings.patch
-Patch6: gdb-vla-intel-stringbt-fix.patch
-Patch7: gdb-6.3-rh-dummykfail-20041202.patch
-Patch8: gdb-6.3-ppc64syscall-20040622.patch
-Patch9: gdb-6.3-ppc64displaysymbol-20041124.patch
-Patch10: gdb-6.3-gstack-20050411.patch
-Patch11: gdb-6.3-test-pie-20050107.patch
-Patch12: gdb-6.3-test-self-20050110.patch
-Patch13: gdb-6.3-test-dtorfix-20050121.patch
-Patch14: gdb-6.3-test-movedir-20050125.patch
-Patch15: gdb-6.3-threaded-watchpoints2-20050225.patch
-Patch16: gdb-6.3-inferior-notification-20050721.patch
-Patch17: gdb-6.3-inheritancetest-20050726.patch
-Patch18: gdb-6.3-readnever-20050907.patch
-Patch19: gdb-6.5-bz203661-emit-relocs.patch
-Patch20: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
-Patch21: gdb-6.5-sharedlibrary-path.patch
-Patch22: gdb-6.5-BEA-testsuite.patch
-Patch23: gdb-6.5-last-address-space-byte-test.patch
-Patch24: gdb-6.5-readline-long-line-crash-test.patch
-Patch25: gdb-6.5-bz216711-clone-is-outermost.patch
-Patch26: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
-Patch27: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
-Patch28: gdb-6.5-bz109921-DW_AT_decl_file-test.patch
-Patch29: gdb-6.3-bz140532-ppc-unwinding-test.patch
-Patch30: gdb-6.3-bz202689-exec-from-pthread-test.patch
-Patch31: gdb-6.6-bz230000-power6-disassembly-test.patch
-Patch32: gdb-6.6-bz229517-gcore-without-terminal.patch
-Patch33: gdb-6.6-bz235197-fork-detach-info.patch
-Patch34: gdb-6.6-testsuite-timeouts.patch
-Patch35: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
-Patch36: gdb-6.6-scheduler_locking-step-is-default.patch
-Patch37: gdb-6.3-attach-see-vdso-test.patch
-Patch38: gdb-6.5-bz243845-stale-testing-zombie-test.patch
-Patch39: gdb-6.6-buildid-locate.patch
-Patch40: gdb-6.6-buildid-locate-solib-missing-ids.patch
-Patch41: gdb-6.6-buildid-locate-rpm.patch
-Patch42: gdb-6.7-charsign-test.patch
-Patch43: gdb-6.7-ppc-clobbered-registers-O2-test.patch
-Patch44: gdb-6.7-testsuite-stable-results.patch
-Patch45: gdb-6.5-ia64-libunwind-leak-test.patch
-Patch46: gdb-6.5-missed-trap-on-step-test.patch
-Patch47: gdb-6.7-bz426600-DW_TAG_interface_type-test.patch
-Patch48: gdb-6.5-gcore-buffer-limit-test.patch
-Patch49: gdb-6.6-threads-static-test.patch
-Patch50: gdb-6.3-mapping-zero-inode-test.patch
-Patch51: gdb-6.3-focus-cmd-prev-test.patch
-Patch52: gdb-6.8-bz442765-threaded-exec-test.patch
-Patch53: gdb-6.8-sparc64-silence-memcpy-check.patch
-Patch54: gdb-6.5-section-num-fixup-test.patch
-Patch55: gdb-6.8-bz436037-reg-no-longer-active.patch
-Patch56: gdb-6.8-watchpoint-conditionals-test.patch
-Patch57: gdb-6.8-bz466901-backtrace-full-prelinked.patch
-Patch58: gdb-simultaneous-step-resume-breakpoint-test.patch
-Patch59: gdb-core-open-vdso-warning.patch
-Patch60: gdb-x86_64-i386-syscall-restart.patch
-Patch61: gdb-bz533176-fortran-omp-step.patch
-Patch62: gdb-follow-child-stale-parent.patch
-Patch63: gdb-ccache-workaround.patch
-Patch64: gdb-archer-pie-addons.patch
-Patch65: gdb-archer-pie-addons-keep-disabled.patch
-Patch66: gdb-lineno-makeup-test.patch
-Patch67: gdb-ppc-power7-test.patch
-Patch68: gdb-bz541866-rwatch-before-run.patch
-Patch69: gdb-moribund-utrace-workaround.patch
-Patch70: gdb-archer-next-over-throw-cxx-exec.patch
-Patch71: gdb-bz601887-dwarf4-rh-test.patch
-Patch72: gdb-6.6-buildid-locate-core-as-arg.patch
-Patch73: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
-Patch74: gdb-test-bt-cfi-without-die.patch
-Patch75: gdb-gdb-add-index-script.patch
-Patch76: gdb-bz568248-oom-is-error.patch
-Patch77: gdb-bz634108-solib_address.patch
-Patch78: gdb-test-pid0-core.patch
-Patch79: gdb-test-dw2-aranges.patch
-Patch80: gdb-test-expr-cumulative-archer.patch
-Patch81: gdb-physname-pr11734-test.patch
-Patch82: gdb-physname-pr12273-test.patch
-Patch83: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
-Patch84: gdb-test-ivy-bridge.patch
-Patch85: gdb-glibc-vdso-workaround.patch
-Patch86: gdb-runtest-pie-override.patch
-Patch87: gdb-attach-fail-reasons-5of5.patch
-Patch88: gdb-stale-frame_info.patch
-Patch89: gdb-glibc-strstr-workaround.patch
-Patch90: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
-Patch91: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
-Patch92: gdb-rhbz795424-bitpos-20of25.patch
-Patch93: gdb-rhbz795424-bitpos-21of25.patch
-Patch94: gdb-rhbz795424-bitpos-22of25.patch
-Patch95: gdb-rhbz795424-bitpos-23of25.patch
-Patch96: gdb-rhbz795424-bitpos-25of25.patch
-Patch97: gdb-rhbz795424-bitpos-25of25-test.patch
-Patch98: gdb-rhbz795424-bitpos-lazyvalue.patch
-Patch99: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
-Patch100: gdb-gnat-dwarf-crash-3of3.patch
-Patch101: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch
-Patch102: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
-Patch103: gdb-archer-vla-tests.patch
-Patch104: gdb-vla-intel-tests.patch
-Patch105: gdb-btrobust.patch
-Patch106: gdb-fortran-frame-string.patch
-Patch107: gdb-python-gil.patch
-Patch108: gdb-rhbz1156192-recursive-dlopen-test.patch
-Patch109: gdb-jit-reader-multilib.patch
-Patch110: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
-Patch111: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch
-Patch112: gdb-rhbz1350436-type-printers-error.patch
-Patch113: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
-Patch114: gdb-bz1219747-attach-kills.patch
-Patch115: gdb-fedora-libncursesw.patch
-Patch116: gdb-opcodes-clflushopt-test.patch
-Patch117: gdb-dts-rhel6-python-compat.patch
-Patch118: gdb-6.6-buildid-locate-rpm-scl.patch
-Patch119: gdb-readline62-ask-more-rh.patch
-Patch120: gdb-6.8-attach-signalled-detach-stopped.patch
-Patch121: gdb-6.8-quit-never-aborts.patch
-Patch122: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
-Patch123: gdb-container-rh-pkg.patch
-Patch124: gdb-rhbz1325795-framefilters-test.patch
-Patch125: gdb-linux_perf-bundle.patch
-Patch126: gdb-bison-old.patch
-Patch127: gdb-testsuite-casts.patch
-Patch128: gdb-testsuite-m-static.patch
-Patch129: gdb-tls-1of2.patch
-Patch130: gdb-tls-2of2.patch
-Patch131: gdb-testsuite-morestack-gold.patch
-Patch132: gdb-libexec-add-index.patch
-Patch133: gdb-add-index-chmod.patch
-Patch134: gdb-testsuite-readline63-sigint.patch
+Patch2: gdb-archer.patch
+Patch3: gdb-vla-intel-fortran-strides.patch
+Patch4: gdb-vla-intel-fortran-vla-strings.patch
+Patch5: gdb-vla-intel-stringbt-fix.patch
+Patch6: gdb-6.3-rh-dummykfail-20041202.patch
+Patch7: gdb-6.3-ppc64syscall-20040622.patch
+Patch8: gdb-6.3-ppc64displaysymbol-20041124.patch
+Patch9: gdb-6.3-gstack-20050411.patch
+Patch10: gdb-6.3-test-pie-20050107.patch
+Patch11: gdb-6.3-test-self-20050110.patch
+Patch12: gdb-6.3-test-dtorfix-20050121.patch
+Patch13: gdb-6.3-test-movedir-20050125.patch
+Patch14: gdb-6.3-threaded-watchpoints2-20050225.patch
+Patch15: gdb-6.3-inferior-notification-20050721.patch
+Patch16: gdb-6.3-inheritancetest-20050726.patch
+Patch17: gdb-6.3-readnever-20050907.patch
+Patch18: gdb-6.5-bz203661-emit-relocs.patch
+Patch19: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
+Patch20: gdb-6.5-sharedlibrary-path.patch
+Patch21: gdb-6.5-BEA-testsuite.patch
+Patch22: gdb-6.5-last-address-space-byte-test.patch
+Patch23: gdb-6.5-readline-long-line-crash-test.patch
+Patch24: gdb-6.5-bz216711-clone-is-outermost.patch
+Patch25: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
+Patch26: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
+Patch27: gdb-6.5-bz109921-DW_AT_decl_file-test.patch
+Patch28: gdb-6.3-bz140532-ppc-unwinding-test.patch
+Patch29: gdb-6.3-bz202689-exec-from-pthread-test.patch
+Patch30: gdb-6.6-bz230000-power6-disassembly-test.patch
+Patch31: gdb-6.6-bz229517-gcore-without-terminal.patch
+Patch32: gdb-6.6-bz235197-fork-detach-info.patch
+Patch33: gdb-6.6-testsuite-timeouts.patch
+Patch34: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
+Patch35: gdb-6.6-scheduler_locking-step-is-default.patch
+Patch36: gdb-6.3-attach-see-vdso-test.patch
+Patch37: gdb-6.5-bz243845-stale-testing-zombie-test.patch
+Patch38: gdb-6.6-buildid-locate.patch
+Patch39: gdb-6.6-buildid-locate-solib-missing-ids.patch
+Patch40: gdb-6.6-buildid-locate-rpm.patch
+Patch41: gdb-6.7-charsign-test.patch
+Patch42: gdb-6.7-ppc-clobbered-registers-O2-test.patch
+Patch43: gdb-6.7-testsuite-stable-results.patch
+Patch44: gdb-6.5-ia64-libunwind-leak-test.patch
+Patch45: gdb-6.5-missed-trap-on-step-test.patch
+Patch46: gdb-6.5-gcore-buffer-limit-test.patch
+Patch47: gdb-6.6-threads-static-test.patch
+Patch48: gdb-6.3-mapping-zero-inode-test.patch
+Patch49: gdb-6.3-focus-cmd-prev-test.patch
+Patch50: gdb-6.8-bz442765-threaded-exec-test.patch
+Patch51: gdb-6.8-sparc64-silence-memcpy-check.patch
+Patch52: gdb-6.5-section-num-fixup-test.patch
+Patch53: gdb-6.8-bz436037-reg-no-longer-active.patch
+Patch54: gdb-6.8-watchpoint-conditionals-test.patch
+Patch55: gdb-6.8-bz466901-backtrace-full-prelinked.patch
+Patch56: gdb-simultaneous-step-resume-breakpoint-test.patch
+Patch57: gdb-core-open-vdso-warning.patch
+Patch58: gdb-x86_64-i386-syscall-restart.patch
+Patch59: gdb-bz533176-fortran-omp-step.patch
+Patch60: gdb-follow-child-stale-parent.patch
+Patch61: gdb-ccache-workaround.patch
+Patch62: gdb-archer-pie-addons.patch
+Patch63: gdb-archer-pie-addons-keep-disabled.patch
+Patch64: gdb-lineno-makeup-test.patch
+Patch65: gdb-ppc-power7-test.patch
+Patch66: gdb-bz541866-rwatch-before-run.patch
+Patch67: gdb-moribund-utrace-workaround.patch
+Patch68: gdb-archer-next-over-throw-cxx-exec.patch
+Patch69: gdb-bz601887-dwarf4-rh-test.patch
+Patch70: gdb-6.6-buildid-locate-core-as-arg.patch
+Patch71: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
+Patch72: gdb-test-bt-cfi-without-die.patch
+Patch73: gdb-gdb-add-index-script.patch
+Patch74: gdb-bz568248-oom-is-error.patch
+Patch75: gdb-bz634108-solib_address.patch
+Patch76: gdb-test-pid0-core.patch
+Patch77: gdb-test-dw2-aranges.patch
+Patch78: gdb-test-expr-cumulative-archer.patch
+Patch79: gdb-physname-pr11734-test.patch
+Patch80: gdb-physname-pr12273-test.patch
+Patch81: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
+Patch82: gdb-test-ivy-bridge.patch
+Patch83: gdb-glibc-vdso-workaround.patch
+Patch84: gdb-runtest-pie-override.patch
+Patch85: gdb-attach-fail-reasons-5of5.patch
+Patch86: gdb-stale-frame_info.patch
+Patch87: gdb-glibc-strstr-workaround.patch
+Patch88: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
+Patch89: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
+Patch90: gdb-rhbz795424-bitpos-20of25.patch
+Patch91: gdb-rhbz795424-bitpos-21of25.patch
+Patch92: gdb-rhbz795424-bitpos-22of25.patch
+Patch93: gdb-rhbz795424-bitpos-23of25.patch
+Patch94: gdb-rhbz795424-bitpos-25of25.patch
+Patch95: gdb-rhbz795424-bitpos-25of25-test.patch
+Patch96: gdb-rhbz795424-bitpos-lazyvalue.patch
+Patch97: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
+Patch98: gdb-gnat-dwarf-crash-3of3.patch
+Patch99: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch
+Patch100: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
+Patch101: gdb-archer-vla-tests.patch
+Patch102: gdb-vla-intel-tests.patch
+Patch103: gdb-btrobust.patch
+Patch104: gdb-fortran-frame-string.patch
+Patch105: gdb-python-gil.patch
+Patch106: gdb-rhbz1156192-recursive-dlopen-test.patch
+Patch107: gdb-jit-reader-multilib.patch
+Patch108: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
+Patch109: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch
+Patch110: gdb-rhbz1350436-type-printers-error.patch
+Patch111: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
+Patch112: gdb-bz1219747-attach-kills.patch
+Patch113: gdb-fedora-libncursesw.patch
+Patch114: gdb-opcodes-clflushopt-test.patch
+Patch115: gdb-dts-rhel6-python-compat.patch
+Patch116: gdb-6.6-buildid-locate-rpm-scl.patch
+Patch117: gdb-readline62-ask-more-rh.patch
+Patch118: gdb-6.8-attach-signalled-detach-stopped.patch
+Patch119: gdb-6.8-quit-never-aborts.patch
+Patch120: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
+Patch121: gdb-container-rh-pkg.patch
+Patch122: gdb-rhbz1325795-framefilters-test.patch
+Patch123: gdb-linux_perf-bundle.patch
+Patch124: gdb-tls-1of2.patch
+Patch125: gdb-tls-2of2.patch
+Patch126: gdb-libexec-add-index.patch
+Patch127: gdb-add-index-chmod.patch
+Patch128: gdb-rhbz1398387-tab-crash-test.patch
+Patch130: gdb-testsuite-readline63-sigint.patch
#Fedora Packages end
# Upstream patch to fix gcc -Werror
@@ -232,8 +227,13 @@
BuildRequires: bison
BuildRequires: flex
-BuildRequires: gcc
-BuildRequires: gcc-c++
+%if 0%{suse_version} > 1110
+%define gcc gcc
+%else
+%define gcc gcc48
+%endif
+BuildRequires: %{gcc}
+BuildRequires: %{gcc}-c++
BuildRequires: gettext
BuildRequires: glibc-devel
%if 0%{suse_version} > 1110
@@ -284,31 +284,31 @@
BuildRequires: dejagnu
BuildRequires: sharutils
# gcc-objc++ is not covered by the GDB testsuite.
-BuildRequires: gcc-fortran
-%if 0%{?gcc_version} < 7
-BuildRequires: gcc-java
+BuildRequires: %{gcc}-fortran
+%if 0%{?gcc_version} < 7 && 0%{suse_version} > 1110
+BuildRequires: %{gcc}-java
%endif
-BuildRequires: gcc-objc
+BuildRequires: %{gcc}-objc
# Copied from gcc-4.1.2-32.
%ifarch %{ix86} x86_64 ia64 ppc ppc64 s390 alpha
-BuildRequires: gcc-ada
+BuildRequires: %{gcc}-ada
%endif
%ifarch aarch64
%if 0%{suse_version} >= 1330
-BuildRequires: gcc-ada
+BuildRequires: %{gcc}-ada
%endif
%endif
-%if ! (0%{?is_opensuse} && %_target_cpu == "s390x" )
+%if 0%{!?disable_32bit:1}
# openSUSE for s390x doesn't build 32bit libs
%if 0%{suse_version} > 1110
%ifarch x86_64 ppc64 s390x
%if 0%{suse_version} >= 1330
# Older distros miss this pseudo package, the Ada
# testsuite won't work completely
-BuildRequires: gcc-ada-32bit
+BuildRequires: %{gcc}-ada-32bit
%endif
-BuildRequires: gcc-c++-32bit
-%if 0%{suse_version} >= 1210
+BuildRequires: %{gcc}-c++-32bit
+%if 0%{suse_version} >= 1210 && 0%{suse_version} != 1315
BuildRequires: glibc-devel-static-32bit
%endif
%endif
@@ -515,12 +515,7 @@
%patch126 -p1
%patch127 -p1
%patch128 -p1
-%patch129 -p1
%patch130 -p1
-%patch131 -p1
-%patch132 -p1
-%patch133 -p1
-%patch134 -p1
#Fedora patching end
%patch1002 -p1
@@ -553,10 +548,19 @@
mkdir %{gdb_build}$fprofile
cd %{gdb_build}$fprofile
+%if 0%{suse_version} > 1110
+CC=gcc
+CXX=g++
+%else
+CC=gcc-4.8
+CXX=g++-4.8
+%endif
+export CC
+export CXX
export CFLAGS="$RPM_OPT_FLAGS"
# FIXME: gcc-7 compatibility.
-if echo "" | gcc -x c -c - -o /dev/null -Wno-implicit-fallthrough >/dev/null 2>&1; then
+if echo "" | $CC -x c -c - -o /dev/null -Wno-implicit-fallthrough >/dev/null 2>&1; then
CFLAGS="$CFLAGS -Wno-implicit-fallthrough"
fi
export CXXFLAGS="$CFLAGS"
@@ -727,7 +731,21 @@
%else
echo ====================TESTING=========================
cd gdb
-gcc -o ./orphanripper %{SOURCE2} -Wall -lutil -ggdb2
+%if 0%{suse_version} > 1110
+CC=gcc
+CXX=g++
+%else
+CC=gcc-4.8
+CXX=g++-4.8
+mkdir progs
+for i in gcc g++ gcj gfortran gnat gnatbind gnatmake; do
+ test -f /usr/bin/${i}-4.8 && ln -sf /usr/bin/${i}-4.8 progs/$i
+done
+PATH="`pwd`"/progs:${PATH}
+%endif
+export CC
+export CXX
+$CC -o ./orphanripper %{SOURCE2} -Wall -lutil -ggdb2
# Need to use a single --ignore option, second use overrides first.
# No `%{?_smp_mflags}' here as it may race.
# WARNING: can't generate a core file - core tests suppressed - check ulimit
@@ -752,7 +770,7 @@
fi
# Do not use $RPM_OPT_FLAGS as the other non-size options will not be used
# in the real run of the testsuite.
- if ! gcc $BI -o biarch biarch.c
+ if ! $CC $BI -o biarch biarch.c
then
continue
fi
@@ -761,7 +779,7 @@
# Do not try -m64 inferiors for -m32 GDB as it cannot handle inferiors larger
# than itself.
# s390 -m31 still uses the standard ELF32 binary format.
- gcc $RPM_OPT_FLAGS -o biarch biarch.c
+ $CC $RPM_OPT_FLAGS -o biarch biarch.c
RPM_SIZE="$(file ./biarch|sed -n 's/^.*: ELF \(32\|64\)-bit .*$/\1/p')"
if [ "$RPM_SIZE" != "64" ]
then
++++++ gdb-6.3-bz140532-ppc-unwinding-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.501780896 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.505780330 +0200
@@ -256,8 +256,8 @@
+ fail "powerpc arch test"
+ return
+}
-+set objfile2 ${objdir}/${subdir}/${testfile}-asm.o
-+set binfile ${objdir}/${subdir}/${testfile}
++set objfile2 [standard_output_file ${testfile}-asm.o]
++set binfile [standard_output_file ${testfile}]
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile1} ${srcdir}/${subdir}/${srcfile2}" ${binfile} executable $flags] != ""} {
+ return -1
++++++ gdb-6.3-focus-cmd-prev-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.521778068 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.525777502 +0200
@@ -1,6 +1,8 @@
---- /dev/null 2008-03-23 13:41:46.072650180 +0100
-+++ gdb-6.3/gdb/testsuite/gdb.base/focus-cmd-prev.exp 2008-03-23 23:46:45.000000000 +0100
-@@ -0,0 +1,25 @@
+Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.base/focus-cmd-prev.exp
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.12.50.20170226/gdb/testsuite/gdb.base/focus-cmd-prev.exp 2017-03-02 09:39:14.508461085 +0100
+@@ -0,0 +1,40 @@
+# Copyright 2008 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
@@ -24,5 +26,20 @@
+gdb_exit
+gdb_start
+
-+gdb_test "focus cmd"
-+gdb_test "focus prev"
++# Do not use gdb_test or \r\n there since:
++# commit d7e747318f4d04af033f16325f9b6d74f67079ec
++# Eliminate make_cleanup_ui_file_delete / make ui_file a class hierarchy
++
++set test "focus cmd"
++gdb_test_multiple $test $test {
++ -re "$gdb_prompt $" {
++ pass $test
++ }
++}
++
++set test "focus prev"
++gdb_test_multiple $test $test {
++ -re "$gdb_prompt $" {
++ pass $test
++ }
++}
++++++ gdb-6.3-mapping-zero-inode-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.549774108 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.549774108 +0200
@@ -62,10 +62,10 @@
+}
+set timeout $oldtimeout
+
-+set escapedfilename [string_to_regexp ${objdir}/${subdir}/gcore-shmid0.test]
++set escapedfilename [string_to_regexp [standard_output_file gcore-shmid0.test]]
+
+set test "save a corefile"
-+gdb_test_multiple "gcore ${objdir}/${subdir}/gcore-shmid0.test" $test {
++gdb_test_multiple "gcore [standard_output_file gcore-shmid0.test]" $test {
+ -re "Saved corefile ${escapedfilename}\[\r\n\]+$gdb_prompt $" {
+ pass $test
+ }
@@ -80,7 +80,7 @@
+gdb_continue_to_end "finish"
+
+set test "core-file command"
-+gdb_test_multiple "core-file $objdir/$subdir/gcore-shmid0.test" $test {
++gdb_test_multiple "core-file [standard_output_file gcore-shmid0.test]" $test {
+ -re ".* program is being debugged already.*y or n. $" {
+ # gdb_load may connect us to a gdbserver.
+ send_gdb "y\n"
++++++ gdb-6.3-readnever-20050907.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.573770715 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.577770149 +0200
@@ -11,11 +11,11 @@
* gdb.texinfo (File Options): Document --readnever.
-Index: gdb-7.10.50.20151022/gdb/doc/gdb.texinfo
+Index: gdb-7.99.90.20170420/gdb/doc/gdb.texinfo
===================================================================
---- gdb-7.10.50.20151022.orig/gdb/doc/gdb.texinfo 2015-10-22 22:16:50.483482288 +0200
-+++ gdb-7.10.50.20151022/gdb/doc/gdb.texinfo 2015-10-22 22:28:22.042554142 +0200
-@@ -1032,6 +1032,12 @@ Read each symbol file's entire symbol ta
+--- gdb-7.99.90.20170420.orig/gdb/doc/gdb.texinfo 2017-04-20 22:29:39.179740076 +0200
++++ gdb-7.99.90.20170420/gdb/doc/gdb.texinfo 2017-04-20 22:29:40.924751096 +0200
+@@ -1037,6 +1037,12 @@
the default, which is to read it incrementally as it is needed.
This makes startup slower, but makes future operations faster.
@@ -28,11 +28,11 @@
@end table
@node Mode Options
-Index: gdb-7.10.50.20151022/gdb/main.c
+Index: gdb-7.99.90.20170420/gdb/main.c
===================================================================
---- gdb-7.10.50.20151022.orig/gdb/main.c 2015-10-22 22:16:50.485482299 +0200
-+++ gdb-7.10.50.20151022/gdb/main.c 2015-10-22 22:28:22.042554142 +0200
-@@ -604,6 +604,7 @@ captured_main (void *data)
+--- gdb-7.99.90.20170420.orig/gdb/main.c 2017-04-20 22:29:39.182740095 +0200
++++ gdb-7.99.90.20170420/gdb/main.c 2017-04-20 22:29:40.925751103 +0200
+@@ -615,6 +615,7 @@
{"tui", no_argument, 0, OPT_TUI},
{"dbx", no_argument, &dbx_commands, 1},
{"readnow", no_argument, &readnow_symbol_files, 1},
@@ -40,7 +40,7 @@
{"r", no_argument, &readnow_symbol_files, 1},
{"quiet", no_argument, &quiet, 1},
{"q", no_argument, &quiet, 1},
-@@ -1253,6 +1254,7 @@ Selection of debuggee and its files:\n\n
+@@ -1254,6 +1255,7 @@
--se=FILE Use FILE as symbol file and executable file.\n\
--symbols=SYMFILE Read symbols from SYMFILE.\n\
--readnow Fully read symbol files on first access.\n\
@@ -48,11 +48,11 @@
--write Set writing into executable and core files.\n\n\
"), stream);
fputs_unfiltered (_("\
-Index: gdb-7.10.50.20151022/gdb/symfile.c
+Index: gdb-7.99.90.20170420/gdb/symfile.c
===================================================================
---- gdb-7.10.50.20151022.orig/gdb/symfile.c 2015-10-22 22:16:50.486482305 +0200
-+++ gdb-7.10.50.20151022/gdb/symfile.c 2015-10-22 22:28:22.043554148 +0200
-@@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
+--- gdb-7.99.90.20170420.orig/gdb/symfile.c 2017-04-20 22:29:39.183740101 +0200
++++ gdb-7.99.90.20170420/gdb/symfile.c 2017-04-20 22:29:40.926751109 +0200
+@@ -79,6 +79,7 @@
/* Global variables owned by this file. */
int readnow_symbol_files; /* Read full symbols immediately. */
@@ -60,19 +60,19 @@
/* Functions this file defines. */
-Index: gdb-7.10.50.20151022/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
===================================================================
---- gdb-7.10.50.20151022.orig/gdb/dwarf2read.c 2015-10-22 22:28:22.046554165 +0200
-+++ gdb-7.10.50.20151022/gdb/dwarf2read.c 2015-10-22 22:29:17.664881642 +0200
-@@ -70,6 +70,7 @@
- #include "filestuff.h"
- #include "build-id.h"
- #include "namespace.h"
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c 2017-04-20 22:29:39.190740145 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 22:29:57.973858766 +0200
+@@ -73,6 +73,7 @@
+ #include "common/function-view.h"
+ #include "common/gdb_optional.h"
+ #include "common/underlying.h"
+#include "top.h"
#include
#include
-@@ -2059,7 +2060,8 @@ dwarf2_has_info (struct objfile *objfile
+@@ -2208,7 +2209,8 @@
(void *) names);
dwarf2_per_objfile->objfile = objfile;
}
@@ -82,11 +82,11 @@
&& dwarf2_per_objfile->info.s.section != NULL
&& !dwarf2_per_objfile->abbrev.is_virtual
&& dwarf2_per_objfile->abbrev.s.section != NULL);
-Index: gdb-7.10.50.20151022/gdb/top.h
+Index: gdb-7.99.90.20170420/gdb/top.h
===================================================================
---- gdb-7.10.50.20151022.orig/gdb/top.h 2015-10-22 22:16:50.490482329 +0200
-+++ gdb-7.10.50.20151022/gdb/top.h 2015-10-22 22:28:22.047554171 +0200
-@@ -74,6 +74,7 @@ extern int gdb_in_secondary_prompt_p (vo
+--- gdb-7.99.90.20170420.orig/gdb/top.h 2017-04-20 22:29:39.191740152 +0200
++++ gdb-7.99.90.20170420/gdb/top.h 2017-04-20 22:29:40.932751147 +0200
+@@ -269,6 +269,7 @@
/* From random places. */
extern int readnow_symbol_files;
++++++ gdb-6.3-rh-testversion-20041202.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.589768453 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.589768453 +0200
@@ -3,11 +3,11 @@
* gdb.gdb/selftest.exp: Add matching on specific Red Hat only version
string.
-Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.gdb/selftest.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.gdb/selftest.exp
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/testsuite/gdb.gdb/selftest.exp 2010-06-26 08:44:47.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/testsuite/gdb.gdb/selftest.exp 2010-07-12 09:59:42.000000000 +0200
-@@ -342,6 +342,9 @@ proc test_with_self { executable } {
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.gdb/selftest.exp 2017-02-07 19:47:06.472874620 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.gdb/selftest.exp 2017-02-07 19:48:12.593380575 +0100
+@@ -53,6 +53,9 @@
-re ".\[0-9\]+ = +.+ +0x.*\[0-9.\]+.*$gdb_prompt $" {
pass "printed version with cast"
}
@@ -16,4 +16,4 @@
+ }
}
- do_steps_and_nexts
+ # start the "xgdb" process
++++++ gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.633762231 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.633762231 +0200
@@ -34,11 +34,11 @@
<81a2> DW_AT_name : (indirect string, offset: 0x280e): __errno_location
<81a8> DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2808): *__GI___errno_location
-Index: gdb-7.10.90.20160211/gdb/printcmd.c
+Index: gdb-7.12.50.20170207/gdb/printcmd.c
===================================================================
---- gdb-7.10.90.20160211.orig/gdb/printcmd.c 2016-02-15 23:29:53.062420893 +0100
-+++ gdb-7.10.90.20160211/gdb/printcmd.c 2016-02-15 23:33:31.068968762 +0100
-@@ -1003,6 +1003,10 @@
+--- gdb-7.12.50.20170207.orig/gdb/printcmd.c 2017-02-07 21:06:20.196593884 +0100
++++ gdb-7.12.50.20170207/gdb/printcmd.c 2017-02-07 21:07:10.230973906 +0100
+@@ -1258,6 +1258,10 @@
if (exp && *exp)
{
@@ -46,13 +46,13 @@
+ function descriptors. */
+ if (target_has_execution && strcmp (exp, "errno") == 0)
+ exp = "*(*(int *(*)(void)) __errno_location) ()";
- expr = parse_expression (exp);
- make_cleanup (free_current_contents, &expr);
- val = evaluate_expression (expr);
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.c
+ expression_up expr = parse_expression (exp);
+ val = evaluate_expression (expr.get ());
+ }
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.c 2016-02-15 23:30:20.703617148 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.c 2017-02-07 21:06:20.196593884 +0100
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
@@ -82,10 +82,10 @@
+
+ return 0; /* breakpoint */
+}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.exp 2016-02-15 23:35:25.582781821 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.exp 2017-02-07 21:06:20.196593884 +0100
@@ -0,0 +1,60 @@
+# Copyright 2007 Free Software Foundation, Inc.
+
@@ -147,10 +147,10 @@
+
+# TODO: Test the error on resolving ERRNO with only libc loaded.
+# Just how to find the current libc filename?
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.c 2016-02-15 23:30:20.703617148 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.c 2017-02-07 21:06:20.196593884 +0100
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
@@ -180,10 +180,10 @@
+
+ return 0; /* breakpoint */
+}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp 2016-02-15 23:35:25.582781821 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp 2017-02-07 21:06:20.197593892 +0100
@@ -0,0 +1,71 @@
+# Copyright 2007 Free Software Foundation, Inc.
+
++++++ gdb-6.6-buildid-locate-core-as-arg.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.697753181 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.697753181 +0200
@@ -58,10 +58,10 @@
* exec.c (exec_file_attach): Print a more useful error message if the
user did "gdb core".
-Index: gdb-7.9.50.20150531/gdb/exec.c
+Index: gdb-7.12.50.20170226/gdb/exec.c
===================================================================
---- gdb-7.9.50.20150531.orig/gdb/exec.c 2015-05-31 03:48:29.000000000 +0200
-+++ gdb-7.9.50.20150531/gdb/exec.c 2015-05-31 20:07:35.092878685 +0200
+--- gdb-7.12.50.20170226.orig/gdb/exec.c 2017-02-27 22:18:00.945026211 +0100
++++ gdb-7.12.50.20170226/gdb/exec.c 2017-02-27 22:18:08.111076350 +0100
@@ -35,6 +35,7 @@
#include "progspace.h"
#include "gdb_bfd.h"
@@ -70,7 +70,7 @@
#include
#include "readline/readline.h"
-@@ -298,12 +299,27 @@ exec_file_attach (const char *filename,
+@@ -359,12 +360,27 @@
if (!bfd_check_format_matches (exec_bfd, bfd_object, &matching))
{
@@ -101,13 +101,13 @@
}
if (build_section_table (exec_bfd, §ions, §ions_end))
-Index: gdb-7.9.50.20150531/gdb/main.c
+Index: gdb-7.12.50.20170226/gdb/main.c
===================================================================
---- gdb-7.9.50.20150531.orig/gdb/main.c 2015-05-31 20:07:34.183872824 +0200
-+++ gdb-7.9.50.20150531/gdb/main.c 2015-05-31 20:10:05.095845935 +0200
-@@ -435,6 +435,37 @@ typedef struct cmdarg {
- /* Define type VEC (cmdarg_s). */
- DEF_VEC_O (cmdarg_s);
+--- gdb-7.12.50.20170226.orig/gdb/main.c 2017-02-27 22:18:00.945026211 +0100
++++ gdb-7.12.50.20170226/gdb/main.c 2017-02-27 22:18:08.112076357 +0100
+@@ -459,6 +459,37 @@
+ char *string;
+ };
+/* Call exec_file_attach. If it detected FILENAME is a core file call
+ core_file_command. Print the original exec_file_attach error only if
@@ -140,10 +140,10 @@
+ END_CATCH
+}
+
- static int
- captured_main (void *data)
+ static void
+ captured_main_1 (struct captured_main_args *context, int &python_script)
{
-@@ -923,6 +954,8 @@ captured_main (void *data)
+@@ -910,6 +941,8 @@
{
symarg = argv[optind];
execarg = argv[optind];
@@ -152,7 +152,7 @@
optind++;
}
-@@ -1080,11 +1113,25 @@ captured_main (void *data)
+@@ -1060,11 +1093,25 @@
&& symarg != NULL
&& strcmp (execarg, symarg) == 0)
{
@@ -178,14 +178,14 @@
+ as a core file. */
+ if (catch_command_errors_const (func, execarg, !batch_flag)
+ && core_bfd == NULL)
- catch_command_errors_const (symbol_file_add_main, symarg,
+ catch_command_errors_const (symbol_file_add_main_adapter, symarg,
!batch_flag);
}
-Index: gdb-7.9.50.20150531/gdb/common/common-exceptions.h
+Index: gdb-7.12.50.20170226/gdb/common/common-exceptions.h
===================================================================
---- gdb-7.9.50.20150531.orig/gdb/common/common-exceptions.h 2015-05-31 03:48:29.000000000 +0200
-+++ gdb-7.9.50.20150531/gdb/common/common-exceptions.h 2015-05-31 20:07:35.093878692 +0200
-@@ -105,6 +105,9 @@ enum errors {
+--- gdb-7.12.50.20170226.orig/gdb/common/common-exceptions.h 2017-02-27 22:18:00.946026218 +0100
++++ gdb-7.12.50.20170226/gdb/common/common-exceptions.h 2017-02-27 22:18:08.112076357 +0100
+@@ -106,6 +106,9 @@
"_ERROR" is appended to the name. */
MAX_COMPLETIONS_REACHED_ERROR,
++++++ gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.709751484 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.709751484 +0200
@@ -15,10 +15,10 @@
NULL after it is free'd, otherwise the code below thinks that it is still
valid and doesn't print the necessary warning ("Try: yum install ...").
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp 2016-02-15 23:31:06.327941085 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp 2017-02-26 19:14:58.492609659 +0100
@@ -0,0 +1,97 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+
@@ -117,10 +117,10 @@
+
+# Leaving the link there will cause breakage in the next run.
+remote_exec build "rm -f [standard_output_file ${build_id_without_debug}]"
-Index: gdb-7.10.90.20160211/gdb/build-id.c
+Index: gdb-7.12.50.20170207/gdb/build-id.c
===================================================================
---- gdb-7.10.90.20160211.orig/gdb/build-id.c 2016-02-15 23:30:55.389863424 +0100
-+++ gdb-7.10.90.20160211/gdb/build-id.c 2016-02-15 23:30:55.778866186 +0100
+--- gdb-7.12.50.20170207.orig/gdb/build-id.c 2017-02-26 19:14:51.943562799 +0100
++++ gdb-7.12.50.20170207/gdb/build-id.c 2017-02-26 19:14:58.492609659 +0100
@@ -589,7 +589,10 @@
do_cleanups (inner);
@@ -131,5 +131,5 @@
+ continue;
+ }
- if (build_id_verify (abfd, build_id_len, build_id))
+ if (build_id_verify (abfd.get(), build_id_len, build_id))
break;
++++++ gdb-6.6-buildid-locate.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.741746960 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.745746394 +0200
@@ -1,7 +1,7 @@
-Index: gdb-7.11.50.20160630/gdb/corelow.c
+Index: gdb-7.99.90.20170420/gdb/corelow.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/corelow.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/corelow.c 2016-07-03 14:34:32.022753582 +0200
+--- gdb-7.99.90.20170420.orig/gdb/corelow.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/corelow.c 2017-04-20 23:00:43.358629183 +0200
@@ -45,6 +45,10 @@
#include "gdb_bfd.h"
#include "completer.h"
@@ -13,7 +13,7 @@
#ifndef O_LARGEFILE
#define O_LARGEFILE 0
-@@ -266,6 +270,53 @@
+@@ -266,6 +270,54 @@
inferior_ptid = ptid; /* Yes, make it current. */
}
@@ -52,7 +52,8 @@
+ {
+ make_cleanup (xfree, execfilename);
+ exec_file_attach (execfilename, from_tty);
-+ symbol_file_add_main (execfilename, from_tty);
++ symbol_file_add_main (execfilename,
++ symfile_add_flag (!from_tty ? 0 : SYMFILE_VERBOSE));
+ if (symfile_objfile != NULL)
+ symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
+ }
@@ -67,7 +68,7 @@
/* This routine opens and sets up the core file bfd. */
static void
-@@ -404,6 +455,14 @@
+@@ -402,6 +454,14 @@
switch_to_thread (thread->ptid);
}
@@ -82,7 +83,7 @@
post_create_inferior (&core_ops, from_tty);
/* Now go through the target stack looking for threads since there
-@@ -1068,4 +1127,11 @@
+@@ -1079,4 +1139,11 @@
init_core_ops ();
add_target_with_completer (&core_ops, filename_completer);
@@ -94,11 +95,11 @@
+ NULL, NULL, NULL,
+ &setlist, &showlist);
}
-Index: gdb-7.11.50.20160630/gdb/doc/gdb.texinfo
+Index: gdb-7.99.90.20170420/gdb/doc/gdb.texinfo
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/doc/gdb.texinfo 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/doc/gdb.texinfo 2016-07-03 14:34:32.030753651 +0200
-@@ -18916,6 +18916,27 @@
+--- gdb-7.99.90.20170420.orig/gdb/doc/gdb.texinfo 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/doc/gdb.texinfo 2017-04-20 23:00:43.366629228 +0200
+@@ -18987,6 +18987,27 @@
@end table
@@ -126,10 +127,10 @@
@cindex @code{.gnu_debuglink} sections
@cindex debug link sections
A debug link is a special section of the executable file named
-Index: gdb-7.11.50.20160630/gdb/solib-svr4.c
+Index: gdb-7.99.90.20170420/gdb/solib-svr4.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/solib-svr4.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/solib-svr4.c 2016-07-03 14:34:32.031753659 +0200
+--- gdb-7.99.90.20170420.orig/gdb/solib-svr4.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/solib-svr4.c 2017-04-20 23:00:43.367629234 +0200
@@ -45,6 +45,7 @@
#include "auxv.h"
#include "gdb_bfd.h"
@@ -138,7 +139,7 @@
static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
static int svr4_have_link_map_offsets (void);
-@@ -1416,9 +1417,52 @@
+@@ -1420,9 +1421,52 @@
continue;
}
@@ -194,41 +195,37 @@
xfree (buffer);
/* If this entry has no name, or its name matches the name
-Index: gdb-7.11.50.20160630/gdb/elfread.c
+Index: gdb-7.99.90.20170420/gdb/elfread.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/elfread.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/elfread.c 2016-07-03 14:34:32.031753659 +0200
-@@ -1259,9 +1259,10 @@
+--- gdb-7.99.90.20170420.orig/gdb/elfread.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/elfread.c 2017-04-20 23:00:43.367629234 +0200
+@@ -1265,8 +1265,9 @@
&& objfile->separate_debug_objfile == NULL
&& objfile->separate_debug_objfile_backlink == NULL)
{
-- char *debugfile;
-+ char *debugfile, *build_id_filename;
-
-- debugfile = find_separate_debug_file_by_buildid (objfile);
-+ debugfile = find_separate_debug_file_by_buildid (objfile,
-+ &build_id_filename);
++ gdb::unique_xmalloc_ptr<char> build_id_filename;
+ gdb::unique_xmalloc_ptr<char> debugfile
+- (find_separate_debug_file_by_buildid (objfile));
++ (find_separate_debug_file_by_buildid (objfile, &build_id_filename));
if (debugfile == NULL)
- debugfile = find_separate_debug_file_by_debuglink (objfile);
-@@ -1275,6 +1276,12 @@
- symbol_file_add_separate (abfd, debugfile, symfile_flags, objfile);
- do_cleanups (cleanup);
+ debugfile.reset (find_separate_debug_file_by_debuglink (objfile));
+@@ -1278,6 +1279,10 @@
+ symbol_file_add_separate (abfd.get (), debugfile.get (),
+ symfile_flags, objfile);
}
+ /* Check if any separate debug info has been extracted out. */
+ else if (bfd_get_section_by_name (objfile->obfd, ".gnu_debuglink")
+ != NULL)
-+ debug_print_missing (objfile_name (objfile), build_id_filename);
-+
-+ xfree (build_id_filename);
++ debug_print_missing (objfile_name (objfile), build_id_filename.get ());
}
}
-Index: gdb-7.11.50.20160630/gdb/symfile.h
+Index: gdb-7.99.90.20170420/gdb/symfile.h
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/symfile.h 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/symfile.h 2016-07-03 14:34:32.032753668 +0200
-@@ -589,6 +589,10 @@
+--- gdb-7.99.90.20170420.orig/gdb/symfile.h 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/symfile.h 2017-04-20 23:00:43.368629240 +0200
+@@ -567,6 +567,10 @@
void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
int need_fullname);
@@ -239,11 +236,11 @@
/* From dwarf2read.c */
/* Names for a dwarf2 debugging section. The field NORMAL is the normal
-Index: gdb-7.11.50.20160630/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/lib/gdb.exp
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/testsuite/lib/gdb.exp 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/testsuite/lib/gdb.exp 2016-07-03 14:34:32.033753676 +0200
-@@ -1641,6 +1641,16 @@
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/lib/gdb.exp 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/lib/gdb.exp 2017-04-20 23:00:43.369629245 +0200
+@@ -1646,6 +1646,16 @@
warning "Couldn't set the width to 0."
}
}
@@ -260,11 +257,11 @@
return 0
}
-Index: gdb-7.11.50.20160630/gdb/testsuite/lib/mi-support.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/lib/mi-support.exp
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/testsuite/lib/mi-support.exp 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/testsuite/lib/mi-support.exp 2016-07-03 14:34:32.033753676 +0200
-@@ -309,6 +309,16 @@ proc default_mi_gdb_start { args } {
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/lib/mi-support.exp 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/lib/mi-support.exp 2017-04-20 23:00:43.369629245 +0200
+@@ -309,6 +309,16 @@
warning "Couldn't set the width to 0."
}
}
@@ -281,9 +278,11 @@
if { $separate_inferior_pty } {
mi_create_inferior_pty
---- gdb-7.11.90.20160907/gdb/testsuite/gdb.base/new-ui-pending-input.exp-orig 2016-09-07 04:01:15.000000000 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.base/new-ui-pending-input.exp 2016-09-07 22:35:35.818534069 +0200
-@@ -62,6 +62,7 @@ proc test_command_line_new_ui_pending_in
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.base/new-ui-pending-input.exp
+===================================================================
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.base/new-ui-pending-input.exp 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.base/new-ui-pending-input.exp 2017-04-20 23:00:43.369629245 +0200
+@@ -62,6 +62,7 @@
set options ""
append options " -iex \"set height 0\""
append options " -iex \"set width 0\""
@@ -291,25 +290,25 @@
append options " -iex \"new-ui console $extra_tty_name\""
append options " -ex \"b $bpline\""
append options " -ex \"run\""
-Index: gdb-7.11.50.20160630/gdb/objfiles.h
+Index: gdb-7.99.90.20170420/gdb/objfiles.h
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/objfiles.h 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/objfiles.h 2016-07-03 14:34:32.034753685 +0200
-@@ -489,6 +489,10 @@
-
- #define OBJF_NOT_FILENAME (1 << 6)
+--- gdb-7.99.90.20170420.orig/gdb/objfiles.h 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/objfiles.h 2017-04-20 23:00:43.370629251 +0200
+@@ -444,6 +444,10 @@
+ htab_t static_links;
+ };
+/* This file was loaded according to the BUILD_ID_CORE_LOADS rules. */
+
-+#define OBJF_BUILD_ID_CORE_LOADED (1 << 12)
++#define OBJF_BUILD_ID_CORE_LOADED static_cast<enum objfile_flag>(1 << 12)
+
/* Declarations for functions defined in objfiles.c */
- extern struct objfile *allocate_objfile (bfd *, const char *name, int);
-Index: gdb-7.11.50.20160630/gdb/testsuite/gdb.base/corefile.exp
+ extern struct objfile *allocate_objfile (bfd *, const char *name,
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.base/corefile.exp
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/testsuite/gdb.base/corefile.exp 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/testsuite/gdb.base/corefile.exp 2016-07-03 14:34:32.034753685 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.base/corefile.exp 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.base/corefile.exp 2017-04-20 23:00:43.370629251 +0200
@@ -293,3 +293,33 @@
pass $test
}
@@ -344,10 +343,10 @@
+ gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
+ pass $wholetest
+}
-Index: gdb-7.11.50.20160630/gdb/build-id.c
+Index: gdb-7.99.90.20170420/gdb/build-id.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/build-id.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/build-id.c 2016-07-03 14:36:50.124938187 +0200
+--- gdb-7.99.90.20170420.orig/gdb/build-id.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/build-id.c 2017-04-20 23:03:00.060399474 +0200
@@ -26,11 +26,67 @@
#include "objfiles.h"
#include "filenames.h"
@@ -775,7 +774,7 @@
if (found == NULL)
warning (_("File \"%s\" has no build-id, file skipped"),
-@@ -65,23 +463,56 @@
+@@ -65,23 +463,54 @@
return retval;
}
@@ -797,17 +796,15 @@
+ target = xstrdup (buf);
+ else
+ {
-+ char *dir = ldirname (symlink);
++ const std::string dir (ldirname (symlink));
+
-+ if (dir == NULL)
-+ return xstrdup (symlink);
+ target = xstrprintf ("%s"
+#ifndef HAVE_DOS_BASED_FILE_SYSTEM
+ "/"
+#else /* HAVE_DOS_BASED_FILE_SYSTEM */
+ "\\"
+#endif /* HAVE_DOS_BASED_FILE_SYSTEM */
-+ "%s", dir, buf);
++ "%s", dir.c_str(), buf);
+ }
+
+ retval = link_resolve (target, level + 1);
@@ -817,7 +814,7 @@
+
/* See build-id.h. */
- bfd *
+ gdb_bfd_ref_ptr
-build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
+build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id,
+ char **link_return, int add_debug_suffix)
@@ -827,7 +824,7 @@
VEC (char_ptr) *debugdir_vec;
struct cleanup *back_to;
int ix;
- bfd *abfd = NULL;
+ gdb_bfd_ref_ptr abfd;
- int alloc_len;
/* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
@@ -839,7 +836,7 @@
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
cause "/.build-id/..." lookups. */
-@@ -94,9 +525,12 @@
+@@ -94,9 +523,12 @@
size_t debugdir_len = strlen (debugdir);
const gdb_byte *data = build_id;
size_t size = build_id_len;
@@ -853,7 +850,7 @@
memcpy (link, debugdir, debugdir_len);
s = &link[debugdir_len];
-@@ -110,47 +544,281 @@
+@@ -110,45 +542,290 @@
*s++ = '/';
while (size-- > 0)
s += sprintf (s, "%02x", (unsigned) *data++);
@@ -903,38 +900,36 @@
+ inner = make_cleanup (xfree, filename);
+ abfd = gdb_bfd_open (filename, gnutarget, -1);
+ do_cleanups (inner);
++
++ if (abfd == NULL)
++ continue;
- if (filename == NULL)
- continue;
-+ if (abfd == NULL)
-+ continue;
++ if (build_id_verify (abfd.get(), build_id_len, build_id))
++ break;
- /* We expect to be silent on the non-existing files. */
- inner = make_cleanup (xfree, filename);
- abfd = gdb_bfd_open (filename, gnutarget, -1);
- do_cleanups (inner);
-+ if (build_id_verify (abfd, build_id_len, build_id))
-+ break;
++ abfd.release ();
- if (abfd == NULL)
- continue;
-+ gdb_bfd_unref (abfd);
-+ abfd = NULL;
-
-- if (build_id_verify (abfd, build_id_len, build_id))
-- break;
+ filename = NULL;
+ }
-- gdb_bfd_unref (abfd);
-- abfd = NULL;
+- if (build_id_verify (abfd.get(), build_id_len, build_id))
+- break;
+ if (filename != NULL)
+ {
+ /* LINK_ALL is not used below in this non-NULL FILENAME case. */
+ xfree (link0);
+ break;
+ }
-+
+
+- abfd.release ();
+ /* If the symlink has target request to install the target.
+ BASE-debuginfo.rpm contains the symlink but BASE.rpm may be missing.
+ https://bugzilla.redhat.com/show_bug.cgi?id=981154 */
@@ -982,7 +977,7 @@
+char *
+build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
+{
-+ bfd *abfd;
++ gdb_bfd_ref_ptr abfd;
+ char *result;
+
+ abfd = build_id_to_debug_bfd (build_id->size, build_id->data, link_return, 0);
@@ -990,7 +985,7 @@
+ return NULL;
+
+ result = xstrdup (bfd_get_filename (abfd));
-+ gdb_bfd_unref (abfd);
++ abfd.release ();
+ return result;
+}
+
@@ -1135,7 +1130,7 @@
char *
-find_separate_debug_file_by_buildid (struct objfile *objfile)
+find_separate_debug_file_by_buildid (struct objfile *objfile,
-+ char **build_id_filename_return)
++ gdb::unique_xmalloc_ptr<char> *build_id_filename_return)
{
const struct bfd_build_id *build_id;
@@ -1146,15 +1141,25 @@
+ build_id = build_id_bfd_shdr_get (objfile->obfd);
if (build_id != NULL)
{
- bfd *abfd;
-
-- abfd = build_id_to_debug_bfd (build_id->size, build_id->data);
-+ abfd = build_id_to_debug_bfd (build_id->size, build_id->data,
-+ build_id_filename_return, 1);
++ char *build_id_filename_cstr = NULL;
+ gdb_bfd_ref_ptr abfd (build_id_to_debug_bfd (build_id->size,
+- build_id->data));
++ build_id->data,
++ (!build_id_filename_return ? NULL : &build_id_filename_cstr), 1));
++ if (build_id_filename_return)
++ {
++ if (!build_id_filename_cstr)
++ gdb_assert (!*build_id_filename_return);
++ else
++ {
++ *build_id_filename_return = gdb::unique_xmalloc_ptr<char> (build_id_filename_cstr);
++ build_id_filename_cstr = NULL;
++ }
++ }
/* Prevent looping on a stripped .debug file. */
if (abfd != NULL
- && filename_cmp (bfd_get_filename (abfd),
-@@ -170,3 +838,21 @@
+ && filename_cmp (bfd_get_filename (abfd.get ()),
+@@ -160,3 +837,21 @@
}
return NULL;
}
@@ -1176,13 +1181,13 @@
+
+ observer_attach_executable_changed (debug_print_executable_changed);
+}
-Index: gdb-7.11.50.20160630/gdb/build-id.h
+Index: gdb-7.99.90.20170420/gdb/build-id.h
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/build-id.h 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/build-id.h 2016-07-03 14:34:32.035753694 +0200
-@@ -20,9 +20,10 @@
- #ifndef BUILD_ID_H
- #define BUILD_ID_H
+--- gdb-7.99.90.20170420.orig/gdb/build-id.h 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/build-id.h 2017-04-20 23:00:43.371629257 +0200
+@@ -22,9 +22,10 @@
+
+ #include "gdb_bfd.h"
-/* Locate NT_GNU_BUILD_ID from ABFD and return its content. */
+/* Separate debuginfo files have corrupted PHDR but SHDR is correct there.
@@ -1193,13 +1198,14 @@
/* Return true if ABFD has NT_GNU_BUILD_ID matching the CHECK value.
Otherwise, issue a warning and return false. */
-@@ -36,13 +37,18 @@
+@@ -38,13 +39,19 @@
the caller. */
- extern bfd *build_id_to_debug_bfd (size_t build_id_len,
-- const bfd_byte *build_id);
-+ const bfd_byte *build_id, char **link_return,
-+ int add_debug_suffix);
+ extern gdb_bfd_ref_ptr build_id_to_debug_bfd (size_t build_id_len,
+- const bfd_byte *build_id);
++ const bfd_byte *build_id,
++ char **link_return,
++ int add_debug_suffix);
+
+extern char *build_id_to_filename (const struct bfd_build_id *build_id,
+ char **link_return);
@@ -1211,14 +1217,14 @@
-extern char *find_separate_debug_file_by_buildid (struct objfile *objfile);
+extern char *find_separate_debug_file_by_buildid (struct objfile *objfile,
-+ char **build_id_filename_return);
++ gdb::unique_xmalloc_ptr<char> *build_id_filename_return);
#endif /* BUILD_ID_H */
-Index: gdb-7.11.50.20160630/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/dwarf2read.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/dwarf2read.c 2016-07-03 14:34:32.040753736 +0200
-@@ -2535,7 +2535,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 23:00:43.375629279 +0200
+@@ -2671,7 +2671,7 @@
}
if (dwz_bfd == NULL)
@@ -1227,11 +1233,11 @@
if (dwz_bfd == NULL)
error (_("could not find '.gnu_debugaltlink' file for %s"),
-Index: gdb-7.11.50.20160630/gdb/python/py-objfile.c
+Index: gdb-7.99.90.20170420/gdb/python/py-objfile.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/python/py-objfile.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/python/py-objfile.c 2016-07-03 14:34:32.040753736 +0200
-@@ -136,7 +136,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/python/py-objfile.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/python/py-objfile.c 2017-04-20 23:00:43.375629279 +0200
+@@ -137,7 +137,7 @@
TRY
{
@@ -1240,7 +1246,7 @@
}
CATCH (except, RETURN_MASK_ALL)
{
-@@ -547,7 +547,7 @@
+@@ -544,7 +544,7 @@
/* Don't return separate debug files. */
if (objfile->separate_debug_objfile_backlink != NULL)
continue;
@@ -1249,11 +1255,11 @@
if (obfd_build_id == NULL)
continue;
if (objfpy_build_id_matches (obfd_build_id, build_id))
-Index: gdb-7.11.50.20160630/gdb/coffread.c
+Index: gdb-7.99.90.20170420/gdb/coffread.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/coffread.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/coffread.c 2016-07-03 14:34:32.041753745 +0200
-@@ -737,7 +737,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/coffread.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/coffread.c 2017-04-20 23:00:43.376629285 +0200
+@@ -734,7 +734,7 @@
{
char *debugfile;
++++++ gdb-6.6-bz237572-ppc-atomic-sequence-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.765743566 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.765743566 +0200
@@ -209,7 +209,7 @@
+
+set testfile atomic-seq-threaded
+set srcfile ${testfile}.c
-+set binfile ${objdir}/${subdir}/${testfile}
++set binfile [standard_output_file ${testfile}]
+
+foreach opts {{} {compiler=gcc4} {FAIL}} {
+ if {$opts eq "FAIL"} {
++++++ gdb-6.6-scheduler_locking-step-is-default.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.781741303 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.781741303 +0200
@@ -1,7 +1,7 @@
-Index: gdb-7.11.90.20160904/gdb/infrun.c
+Index: gdb-7.12.50.20170207/gdb/infrun.c
===================================================================
---- gdb-7.11.90.20160904.orig/gdb/infrun.c 2016-09-04 17:57:12.733853848 +0200
-+++ gdb-7.11.90.20160904/gdb/infrun.c 2016-09-04 17:57:45.568145391 +0200
+--- gdb-7.12.50.20170207.orig/gdb/infrun.c 2017-02-07 21:07:40.321202448 +0100
++++ gdb-7.12.50.20170207/gdb/infrun.c 2017-02-07 21:07:42.680220365 +0100
@@ -2218,7 +2218,7 @@
schedlock_replay,
NULL
@@ -11,10 +11,10 @@
static void
show_scheduler_mode (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value)
-Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-cli.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-cli.exp
===================================================================
---- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2016-09-04 17:57:12.733853848 +0200
-+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-cli.exp 2016-09-04 17:57:45.569145399 +0200
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2017-02-07 21:07:40.322202455 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-cli.exp 2017-02-07 21:07:42.680220365 +0100
@@ -199,7 +199,7 @@
# Test that the token is output even for CLI commands
# Also test that *stopped includes frame information.
@@ -24,32 +24,32 @@
"34 next: run"
# Test that the new current source line is output to the console
-Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-logging.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-logging.exp
===================================================================
---- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2016-09-04 17:57:12.733853848 +0200
-+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-logging.exp 2016-09-04 17:57:45.569145399 +0200
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2017-02-07 21:07:42.681220372 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-logging.exp 2017-02-07 21:09:36.950088269 +0100
@@ -53,7 +53,7 @@
set mi_log_prompt "\[(\]gdb\[)\] \[\r\n\]+"
-if [regexp "\\^done\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
+if [regexp "\\^done\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
- pass "Log file contents"
+ pass "log file contents"
} else {
- fail "Log file contents"
+ fail "log file contents"
@@ -76,7 +76,7 @@
set logcontent [read $chan]
close $chan
-if [regexp "1001\\^done\[\r\n\]+$mi_log_prompt.*1002\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt.*1003\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
+if [regexp "1001\\^done\[\r\n\]+$mi_log_prompt.*1002\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt.*1003\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
- pass "Redirect log file contents"
+ pass "redirect log file contents"
} else {
- fail "Redirect log file contents"
-Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-console.exp
+ fail "redirect log file contents"
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-console.exp
===================================================================
---- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.mi/mi-console.exp 2016-09-04 17:57:12.733853848 +0200
-+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-console.exp 2016-09-04 17:57:45.569145399 +0200
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-console.exp 2017-02-07 21:07:40.323202463 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-console.exp 2017-02-07 21:07:42.681220372 +0100
@@ -60,6 +60,9 @@
mi_run_to_main
@@ -60,10 +60,10 @@
# The output we get from the target depends on how it is hosted. If
# we are semihosted (e.g., the sim or a remote target that supports
# the File I/O remote protocol extension), we see the target I/O
-Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.opt/inline-cmds.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/inline-cmds.exp
===================================================================
---- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.opt/inline-cmds.exp 2016-09-04 17:59:44.600202299 +0200
-+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.opt/inline-cmds.exp 2016-09-04 18:00:04.616380027 +0200
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.opt/inline-cmds.exp 2017-02-07 21:07:40.323202463 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/inline-cmds.exp 2017-02-07 21:07:42.681220372 +0100
@@ -331,7 +331,7 @@
send_gdb "interpreter-exec console \"step\"\n"
++++++ gdb-6.6-threads-static-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.797739041 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.797739041 +0200
@@ -1,8 +1,8 @@
-Index: gdb-7.4.50.20111219/gdb/testsuite/gdb.threads/staticthreads.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.threads/staticthreads.exp
===================================================================
---- gdb-7.4.50.20111219.orig/gdb/testsuite/gdb.threads/staticthreads.exp 2011-12-19 21:07:01.436475201 +0100
-+++ gdb-7.4.50.20111219/gdb/testsuite/gdb.threads/staticthreads.exp 2011-12-19 22:08:55.444514127 +0100
-@@ -45,6 +45,13 @@ gdb_test_no_output "set print sevenbit-s
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.threads/staticthreads.exp 2017-02-26 17:24:48.392316045 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.threads/staticthreads.exp 2017-02-26 17:25:38.649677595 +0100
+@@ -41,6 +41,13 @@
# See if the static multi-threaded program runs.
runto_main
@@ -14,5 +14,5 @@
+gdb_test "info threads" "^info threads\r\n\[ \t\]*Id\[ \t\]+Target Id\[ \t\]+Frame\[ \t\]*\r\n\[^\r\n\]* Thread \[^\r\n\]*" "info threads on start"
+
gdb_test "break sem_post"
- set test "Continue to main's call of sem_post"
+ set test "continue to main's call of sem_post"
gdb_test_multiple "continue" "$test" {
++++++ gdb-6.8-attach-signalled-detach-stopped.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.829734516 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.829734516 +0200
@@ -1,7 +1,7 @@
-Index: gdb-7.11.50.20160716/gdb/infrun.c
+Index: gdb-7.99.90.20170420/gdb/infrun.c
===================================================================
---- gdb-7.11.50.20160716.orig/gdb/infrun.c 2016-07-16 14:37:09.317178150 +0200
-+++ gdb-7.11.50.20160716/gdb/infrun.c 2016-07-16 14:37:10.636188765 +0200
+--- gdb-7.99.90.20170420.orig/gdb/infrun.c 2017-04-20 23:19:16.056434309 +0200
++++ gdb-7.99.90.20170420/gdb/infrun.c 2017-04-20 23:19:22.932480367 +0200
@@ -620,6 +620,13 @@
target_pid_to_str (process_ptid));
}
@@ -16,10 +16,10 @@
target_detach (NULL, 0);
}
-Index: gdb-7.11.50.20160716/gdb/linux-nat.c
+Index: gdb-7.99.90.20170420/gdb/linux-nat.c
===================================================================
---- gdb-7.11.50.20160716.orig/gdb/linux-nat.c 2016-07-16 14:37:09.320178174 +0200
-+++ gdb-7.11.50.20160716/gdb/linux-nat.c 2016-07-16 14:38:09.574663094 +0200
+--- gdb-7.99.90.20170420.orig/gdb/linux-nat.c 2017-04-20 23:19:16.058434322 +0200
++++ gdb-7.99.90.20170420/gdb/linux-nat.c 2017-04-20 23:19:22.933480373 +0200
@@ -194,6 +194,11 @@
static struct target_ops *linux_ops;
static struct target_ops linux_ops_saved;
@@ -32,7 +32,7 @@
/* The method to call, if any, when a new thread is attached. */
static void (*linux_nat_new_thread) (struct lwp_info *);
-@@ -1047,6 +1052,9 @@
+@@ -1055,6 +1060,9 @@
if (debug_linux_nat)
fprintf_unfiltered (gdb_stdlog,
"LNPAW: Attaching to a stopped process\n");
@@ -42,7 +42,7 @@
/* The process is definitely stopped. It is in a job control
stop, unless the kernel predates the TASK_STOPPED /
-@@ -1404,6 +1412,25 @@
+@@ -1412,6 +1420,25 @@
return gdb_signal_to_host (signo);
}
@@ -68,7 +68,7 @@
return 0;
}
-@@ -1562,6 +1589,10 @@
+@@ -1570,6 +1597,10 @@
detach_one_lwp (main_lwp, &signo);
inf_ptrace_detach_success (ops);
@@ -77,9 +77,9 @@
+ pid_was_stopped = 0;
+#endif
}
- delete_lwp (main_lwp->ptid);
}
-@@ -1823,6 +1854,16 @@
+
+@@ -1830,6 +1861,16 @@
return;
}
@@ -96,7 +96,7 @@
if (resume_many)
iterate_over_lwps (ptid, linux_nat_resume_callback, lp);
-@@ -3819,6 +3860,10 @@
+@@ -3826,6 +3867,10 @@
/* Let the arch-specific native code know this process is gone. */
linux_nat_forget_process (pid);
@@ -107,10 +107,10 @@
}
/* Convert a native/host siginfo object, into/from the siginfo in the
-Index: gdb-7.11.50.20160716/gdb/testsuite/gdb.threads/attach-stopped.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.threads/attach-stopped.exp
===================================================================
---- gdb-7.11.50.20160716.orig/gdb/testsuite/gdb.threads/attach-stopped.exp 2016-07-16 14:37:09.321178182 +0200
-+++ gdb-7.11.50.20160716/gdb/testsuite/gdb.threads/attach-stopped.exp 2016-07-16 14:37:10.640188797 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.threads/attach-stopped.exp 2017-04-20 23:19:16.059434329 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.threads/attach-stopped.exp 2017-04-20 23:19:22.933480373 +0200
@@ -56,7 +56,65 @@
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
++++++ gdb-6.8-bz436037-reg-no-longer-active.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.845732254 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.845732254 +0200
@@ -1,17 +1,22 @@
-Index: gdb-6.8.50.20090803/gdb/valops.c
+Index: gdb-7.12.50.20170207/gdb/valops.c
===================================================================
---- gdb-6.8.50.20090803.orig/gdb/valops.c 2009-08-04 06:30:45.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/valops.c 2009-08-04 06:33:05.000000000 +0200
-@@ -926,10 +926,18 @@ value_assign (struct value *toval, struc
+--- gdb-7.12.50.20170207.orig/gdb/valops.c 2017-02-26 17:26:43.839146565 +0100
++++ gdb-7.12.50.20170207/gdb/valops.c 2017-02-26 17:28:40.840988272 +0100
+@@ -1112,6 +1112,8 @@
struct gdbarch *gdbarch;
int value_reg;
-- /* Figure out which frame this is in currently. */
-- frame = frame_find_by_id (VALUE_FRAME_ID (toval));
- value_reg = VALUE_REGNUM (toval);
++ value_reg = VALUE_REGNUM (toval);
++
+ /* Figure out which frame this is in currently.
+
+ We use VALUE_FRAME_ID for obtaining the value's frame id instead of
+@@ -1121,8 +1123,14 @@
+ frame. */
+ frame = frame_find_by_id (VALUE_FRAME_ID (toval));
-+ /* Figure out which frame this is in currently. */
-+ frame = frame_find_by_id (VALUE_FRAME_ID (toval));
+- value_reg = VALUE_REGNUM (toval);
+-
+ /* "set $reg+=1" should work on programs with no debug info,
+ but frame_find_by_id returns NULL here (RH bug 436037).
+ Use current frame, it represents CPU state in this case.
++++++ gdb-6.8-quit-never-aborts.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.869728860 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.869728860 +0200
@@ -5,11 +5,11 @@
should have been detached with SIGSTOP (as they are accidentally left running
on the debugger termination).
-Index: gdb-7.11.50.20160630/gdb/defs.h
+Index: gdb-7.12.50.20170207/gdb/defs.h
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/defs.h 2016-07-03 16:40:43.423078926 +0200
-+++ gdb-7.11.50.20160630/gdb/defs.h 2016-07-03 16:41:08.568271741 +0200
-@@ -175,6 +175,10 @@
+--- gdb-7.12.50.20170207.orig/gdb/defs.h 2017-02-26 21:11:35.654350580 +0100
++++ gdb-7.12.50.20170207/gdb/defs.h 2017-02-26 21:11:52.932473129 +0100
+@@ -169,6 +169,10 @@
/* Flag that function quit should call quit_force. */
extern volatile int sync_quit_force_run;
@@ -20,10 +20,10 @@
extern void quit (void);
/* Helper for the QUIT macro. */
-Index: gdb-7.11.50.20160630/gdb/extension.c
+Index: gdb-7.12.50.20170207/gdb/extension.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/extension.c 2016-07-03 16:40:41.723065890 +0200
-+++ gdb-7.11.50.20160630/gdb/extension.c 2016-07-03 16:41:44.896550309 +0200
+--- gdb-7.12.50.20170207.orig/gdb/extension.c 2017-02-26 21:11:35.655350587 +0100
++++ gdb-7.12.50.20170207/gdb/extension.c 2017-02-26 21:11:52.933473136 +0100
@@ -830,6 +830,11 @@
int i, result = 0;
const struct extension_language_defn *extlang;
@@ -36,12 +36,12 @@
ALL_ENABLED_EXTENSION_LANGUAGES (i, extlang)
{
if (extlang->ops->check_quit_flag != NULL)
-Index: gdb-7.11.50.20160630/gdb/top.c
+Index: gdb-7.12.50.20170207/gdb/top.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/top.c 2016-07-03 16:40:41.724065898 +0200
-+++ gdb-7.11.50.20160630/gdb/top.c 2016-07-03 16:40:43.424078934 +0200
-@@ -1617,7 +1617,13 @@
- qt.args = args;
+--- gdb-7.12.50.20170207.orig/gdb/top.c 2017-02-26 21:11:35.655350587 +0100
++++ gdb-7.12.50.20170207/gdb/top.c 2017-02-26 21:11:52.933473136 +0100
+@@ -1619,7 +1619,13 @@
+ qt.args = NULL;
qt.from_tty = from_tty;
+#ifndef NEED_DETACH_SIGSTOP
@@ -54,11 +54,11 @@
/* Get out of tfind mode, and kill or detach all inferiors. */
TRY
-Index: gdb-7.11.50.20160630/gdb/utils.c
+Index: gdb-7.12.50.20170207/gdb/utils.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/utils.c 2016-07-03 16:40:41.725065905 +0200
-+++ gdb-7.11.50.20160630/gdb/utils.c 2016-07-03 16:41:38.961504799 +0200
-@@ -109,6 +109,13 @@
+--- gdb-7.12.50.20170207.orig/gdb/utils.c 2017-02-26 21:11:35.657350601 +0100
++++ gdb-7.12.50.20170207/gdb/utils.c 2017-02-26 21:11:52.934473143 +0100
+@@ -106,6 +106,13 @@
int job_control;
++++++ gdb-7.12.1.tar.bz2 -> gdb-8.0.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gdb/gdb-7.12.1.tar.bz2 /work/SRC/openSUSE:Factory/.gdb.new/gdb-8.0.tar.bz2 differ: char 11, line 1
++++++ gdb-archer-pie-addons-keep-disabled.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.921721507 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.921721507 +0200
@@ -1,8 +1,8 @@
-Index: gdb-7.11.90.20160829/gdb/breakpoint.c
+Index: gdb-7.99.90.20170420/gdb/breakpoint.c
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/breakpoint.c 2016-08-29 09:41:57.054875810 +0200
-+++ gdb-7.11.90.20160829/gdb/breakpoint.c 2016-08-29 09:45:04.166612376 +0200
-@@ -16176,6 +16176,50 @@
+--- gdb-7.99.90.20170420.orig/gdb/breakpoint.c 2017-04-20 23:04:39.627960523 +0200
++++ gdb-7.99.90.20170420/gdb/breakpoint.c 2017-04-20 23:07:29.854919725 +0200
+@@ -16086,6 +16086,50 @@
static struct cmd_list_element *enablebreaklist = NULL;
void
@@ -45,19 +45,19 @@
+ }
+
+ if (changed)
-+ qsort (bp_location, bp_location_count, sizeof (*bp_location),
-+ bp_location_compare);
++ qsort (bp_locations, bp_locations_count, sizeof (*bp_locations),
++ bp_locations_compare);
+}
+
+void
_initialize_breakpoint (void)
{
struct cmd_list_element *c;
-Index: gdb-7.11.90.20160829/gdb/breakpoint.h
+Index: gdb-7.99.90.20170420/gdb/breakpoint.h
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/breakpoint.h 2016-08-29 09:41:57.054875810 +0200
-+++ gdb-7.11.90.20160829/gdb/breakpoint.h 2016-08-29 09:42:24.370129320 +0200
-@@ -1644,4 +1644,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/breakpoint.h 2017-04-20 23:04:39.627960523 +0200
++++ gdb-7.99.90.20170420/gdb/breakpoint.h 2017-04-20 23:04:48.331009563 +0200
+@@ -1646,4 +1646,7 @@
UIOUT iff debugging multiple threads. */
extern void maybe_print_thread_hit_breakpoint (struct ui_out *uiout);
@@ -65,11 +65,11 @@
+ struct section_offsets *delta);
+
#endif /* !defined (BREAKPOINT_H) */
-Index: gdb-7.11.90.20160829/gdb/objfiles.c
+Index: gdb-7.99.90.20170420/gdb/objfiles.c
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/objfiles.c 2016-08-29 09:41:57.054875810 +0200
-+++ gdb-7.11.90.20160829/gdb/objfiles.c 2016-08-29 09:42:24.370129320 +0200
-@@ -916,6 +916,11 @@
+--- gdb-7.99.90.20170420.orig/gdb/objfiles.c 2017-04-20 23:04:39.627960523 +0200
++++ gdb-7.99.90.20170420/gdb/objfiles.c 2017-04-20 23:04:48.332009569 +0200
+@@ -909,6 +909,11 @@
obj_section_addr (s));
}
++++++ gdb-archer-pie-addons.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.937719245 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.937719245 +0200
@@ -42,30 +42,6 @@
#define TYPE_FIELD_STATIC_PHYSADDR(thistype, n) FIELD_STATIC_PHYSADDR (TYPE_FIELD (thistype, n))
#define TYPE_FIELD_DWARF_BLOCK(thistype, n) FIELD_DWARF_BLOCK (TYPE_FIELD (thistype, n))
#define TYPE_FIELD_ARTIFICIAL(thistype, n) FIELD_ARTIFICIAL(TYPE_FIELD(thistype,n))
-Index: gdb-7.9.50.20150520/gdb/jv-lang.c
-===================================================================
---- gdb-7.9.50.20150520.orig/gdb/jv-lang.c 2015-05-31 16:55:29.724475491 +0200
-+++ gdb-7.9.50.20150520/gdb/jv-lang.c 2015-05-31 16:55:30.820482408 +0200
-@@ -427,7 +427,8 @@ java_link_class_type (struct gdbarch *gd
-
- fields = NULL;
- nfields--; /* First set up dummy "class" field. */
-- SET_FIELD_PHYSADDR (TYPE_FIELD (type, nfields), value_address (clas));
-+ SET_FIELD_PHYSADDR (TYPE_FIELD (type, nfields), value_address (clas)
-+ - (TYPE_OBJFILE (type) == NULL ? 0 : ANOFFSET (TYPE_OBJFILE (type)->section_offsets, SECT_OFF_TEXT (TYPE_OBJFILE (type)))));
- TYPE_FIELD_NAME (type, nfields) = "class";
- TYPE_FIELD_TYPE (type, nfields) = value_type (clas);
- SET_TYPE_FIELD_PRIVATE (type, nfields);
-@@ -475,7 +476,8 @@ java_link_class_type (struct gdbarch *gd
- SET_TYPE_FIELD_PROTECTED (type, i);
- }
- if (accflags & 0x0008) /* ACC_STATIC */
-- SET_FIELD_PHYSADDR (TYPE_FIELD (type, i), boffset);
-+ SET_FIELD_PHYSADDR (TYPE_FIELD (type, i), boffset
-+ - (TYPE_OBJFILE (type) == NULL ? 0 : ANOFFSET (TYPE_OBJFILE (type)->section_offsets, SECT_OFF_TEXT (TYPE_OBJFILE (type)))));
- else
- SET_FIELD_BITPOS (TYPE_FIELD (type, i), 8 * boffset);
- if (accflags & 0x8000) /* FIELD_UNRESOLVED_FLAG */
Index: gdb-7.9.50.20150520/gdb/value.c
===================================================================
--- gdb-7.9.50.20150520.orig/gdb/value.c 2015-05-31 16:55:29.725475497 +0200
++++++ gdb-archer-vla-tests.patch ++++++
++++ 608 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/gdb/gdb-archer-vla-tests.patch
++++ and /work/SRC/openSUSE:Factory/.gdb.new/gdb-archer-vla-tests.patch
++++++ gdb-archer.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.973714154 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.977713589 +0200
@@ -2,7 +2,7 @@
http://sourceware.org/gdb/wiki/ArcherBranchManagement
GIT snapshot:
-commit cfee64ee869a6a6e4ab0b64af149d4cf59517d80
+commit 718a1618b2f691a7f407213bb50f100ac59f91c3
tromey/python
@@ -16,10 +16,10 @@
+This branch originally held the Python code for gdb. It still exists
+because a small amount of code here has not yet been merged upstream.
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index 5af6103..9c69cb0 100644
+index 291b1a0..150a8ef 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
-@@ -1553,6 +1553,12 @@ stamp-h: $(srcdir)/config.in config.status
+@@ -2350,6 +2350,12 @@ stamp-h: $(srcdir)/config.in config.status
CONFIG_LINKS= \
$(SHELL) config.status
@@ -33,21 +33,22 @@
$(SHELL) config.status --recheck
diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
-index 3f23516..b5d6390 100644
+index 304d4b0..d2007a4 100644
--- a/gdb/data-directory/Makefile.in
+++ b/gdb/data-directory/Makefile.in
-@@ -66,7 +66,10 @@ PYTHON_FILE_LIST = \
+@@ -77,7 +77,11 @@ PYTHON_FILE_LIST = \
+ gdb/types.py \
gdb/unwinder.py \
- gdb/prompt.py \
gdb/xmethod.py \
+ gdb/types.py \
gdb/command/__init__.py \
+ gdb/command/ignore_errors.py \
+ gdb/command/pahole.py \
- gdb/command/xmethods.py \
++ gdb/command/xmethods.py \
+ gdb/command/explore.py \
gdb/command/frame_filters.py \
- gdb/command/unwinders.py \
-@@ -78,6 +81,8 @@ PYTHON_FILE_LIST = \
+ gdb/command/pretty_printers.py \
+@@ -89,6 +93,8 @@ PYTHON_FILE_LIST = \
gdb/function/as_string.py \
gdb/function/caller_is.py \
gdb/function/strfns.py \
@@ -57,10 +58,10 @@
gdb/printer/bound_registers.py
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
-index f5dde61..1d92bd6 100644
+index 300d78e..699f2cb 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
-@@ -1225,6 +1225,16 @@ for remote debugging.
+@@ -1230,6 +1230,16 @@ for remote debugging.
Run using @var{device} for your program's standard input and output.
@c FIXME: kingdon thinks there is more to -tty. Investigate.
@@ -78,7 +79,7 @@
@item -tui
@cindex @code{--tui}
diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
-index a17e37d..c56068b 100644
+index ce5810e..4ceb108 100644
--- a/gdb/doc/python.texi
+++ b/gdb/doc/python.texi
@@ -88,8 +88,6 @@ containing @code{end}. For example:
@@ -111,7 +112,7 @@
set variable $gdb_init_done = 1
diff --git a/gdb/main.c b/gdb/main.c
-index 5477379..b7e413f 100644
+index df4b111..6aca8b0 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -33,6 +33,7 @@
@@ -122,16 +123,16 @@
#include "source.h"
#include "cli/cli-cmds.h"
#include "objfiles.h"
-@@ -459,6 +460,8 @@ captured_main (void *data)
- char *cdarg = NULL;
- char *ttyarg = NULL;
+@@ -459,7 +460,7 @@ struct cmdarg
+ };
-+ int python_script = 0;
-+
- /* These are static so that we can take their address in an
- initializer. */
- static int print_help;
-@@ -663,10 +666,14 @@ captured_main (void *data)
+ static void
+-captured_main_1 (struct captured_main_args *context)
++captured_main_1 (struct captured_main_args *context, int &python_script)
+ {
+ int argc = context->argc;
+ char **argv = context->argv;
+@@ -676,10 +677,14 @@ captured_main_1 (struct captured_main_args *context)
{"args", no_argument, &set_args, 1},
{"l", required_argument, 0, 'l'},
{"return-child-result", no_argument, &return_child_result, 1},
@@ -147,7 +148,7 @@
{
int option_index;
-@@ -684,6 +691,9 @@ captured_main (void *data)
+@@ -697,6 +702,9 @@ captured_main_1 (struct captured_main_args *context)
case 0:
/* Long option that just sets a flag. */
break;
@@ -157,7 +158,7 @@
case OPT_SE:
symarg = optarg;
execarg = optarg;
-@@ -864,7 +874,31 @@ captured_main (void *data)
+@@ -855,7 +863,31 @@ captured_main_1 (struct captured_main_args *context)
/* Now that gdb_init has created the initial inferior, we're in
position to set args for that inferior. */
@@ -190,7 +191,7 @@
{
/* The remaining options are the command-line options for the
inferior. The first one is the sym/exec file, and the rest
-@@ -1127,7 +1161,8 @@ captured_main (void *data)
+@@ -1125,7 +1157,8 @@ captured_main_1 (struct captured_main_args *context)
/* Read in the old history after all the command files have been
read. */
@@ -200,9 +201,14 @@
if (batch_flag)
{
-@@ -1138,13 +1173,25 @@ captured_main (void *data)
- /* Show time and/or space usage. */
- do_cleanups (pre_stat_chain);
+@@ -1138,16 +1171,29 @@ static void
+ captured_main (void *data)
+ {
+ struct captured_main_args *context = (struct captured_main_args *) data;
++ int python_script = 0;
+
+- captured_main_1 (context);
++ captured_main_1 (context, python_script);
- /* NOTE: cagney/1999-11-07: There is probably no reason for not
- moving this loop and the code found in captured_command_loop()
@@ -211,16 +217,16 @@
- while (1)
+#if HAVE_PYTHON
+ if (python_script)
- {
-- catch_errors (captured_command_loop, 0, "", RETURN_MASK_ALL);
++ {
+ extern int pagination_enabled;
+ pagination_enabled = 0;
-+ run_python_script (argc - optind, &argv[optind]);
-+ return 1;
++ run_python_script (context->argc - optind, &context->argv[optind]);
++ return;
+ }
+ else
+#endif
-+ {
+ {
+- catch_errors (captured_command_loop, 0, "", RETURN_MASK_ALL);
+ /* NOTE: cagney/1999-11-07: There is probably no reason for not
+ moving this loop and the code found in captured_command_loop()
+ into the command_loop() proper. The main thing holding back that
@@ -232,7 +238,7 @@
}
/* No exit -- exit is through quit_command. */
}
-@@ -1187,6 +1234,12 @@ print_gdb_help (struct ui_file *stream)
+@@ -1190,6 +1236,12 @@ print_gdb_help (struct ui_file *stream)
fputs_unfiltered (_("\
This is the GNU debugger. Usage:\n\n\
gdb [options] [executable-file [core-file or process-id]]\n\
@@ -245,7 +251,7 @@
gdb [options] --args executable-file [inferior-arguments ...]\n\n\
"), stream);
fputs_unfiltered (_("\
-@@ -1231,6 +1284,13 @@ Output and user interface control:\n\n\
+@@ -1234,6 +1286,13 @@ Output and user interface control:\n\n\
#endif
fputs_unfiltered (_("\
--dbx DBX compatibility mode.\n\
@@ -442,8 +448,22 @@
+ return wanted == found
+
+InScope ()
+diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
+index e84c8d2..69305b4 100644
+--- a/gdb/python/python-internal.h
++++ b/gdb/python/python-internal.h
+@@ -672,6 +672,9 @@ class gdbpy_enter_varobj : public gdbpy_enter
+
+ };
+
++struct cleanup *ensure_python_env (struct gdbarch *gdbarch,
++ const struct language_defn *language);
++
+ extern struct gdbarch *python_gdbarch;
+ extern const struct language_defn *python_language;
+
diff --git a/gdb/python/python.c b/gdb/python/python.c
-index 621e201..703a1a0 100644
+index 7e0c507..a67fbc3 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -95,6 +95,8 @@ const struct extension_language_defn extension_language_python =
@@ -455,7 +475,37 @@
#include "target.h"
#include "gdbthread.h"
#include "interps.h"
-@@ -1263,6 +1265,92 @@ gdbpy_print_stack (void)
+@@ -242,6 +244,29 @@ gdbpy_enter::~gdbpy_enter ()
+ restore_active_ext_lang (m_previous_active);
+ }
+
++static void
++restore_python_env (void *p)
++{
++ gdbpy_enter *env = (gdbpy_enter *) p;
++
++ delete env;
++}
++
++/* Called before entering the Python interpreter to install the
++ current language and architecture to be used for Python values.
++ Also set the active extension language for GDB so that SIGINT's
++ are directed our way, and if necessary install the right SIGINT
++ handler. */
++
++struct cleanup *
++ensure_python_env (struct gdbarch *gdbarch,
++ const struct language_defn *language)
++{
++ gdbpy_enter *env = new gdbpy_enter (gdbarch, language);
++
++ return make_cleanup (restore_python_env, env);
++}
++
+ /* Set the quit flag. */
+
+ static void
+@@ -1187,6 +1212,92 @@ gdbpy_print_stack (void)
/* Return the current Progspace.
There always is one. */
@@ -473,7 +523,7 @@
+ if (! running_python_script || in_cli)
+ return PyErr_Format (PyExc_RuntimeError, "cannot invoke CLI recursively");
+
-+ if (ui_out_is_mi_like_p (current_uiout))
++ if (current_uiout->is_mi_like_p ())
+ return PyErr_Format (PyExc_RuntimeError, _("Cannot invoke CLI from MI."));
+
+ in_cli = 1;
@@ -548,7 +598,7 @@
static PyObject *
gdbpy_get_current_progspace (PyObject *unused1, PyObject *unused2)
-@@ -1981,6 +2069,8 @@ PyMethodDef python_GdbMethods[] =
+@@ -1881,6 +1992,8 @@ PyMethodDef python_GdbMethods[] =
Evaluate command, a string, as a gdb CLI command. Optionally returns\n\
a Python String containing the output of the command if to_string is\n\
set to True." },
@@ -558,7 +608,7 @@
"Return a gdb parameter's value" },
diff --git a/gdb/python/python.h b/gdb/python/python.h
-index b810187..a3620ab 100644
+index e407faa..fc1c632 100644
--- a/gdb/python/python.h
+++ b/gdb/python/python.h
@@ -25,4 +25,6 @@
@@ -568,23 +618,8 @@
+extern void run_python_script (int argc, char **argv);
+
#endif /* GDB_PYTHON_H */
-diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp
-index 2fdd9e3..391900d 100644
---- a/gdb/testsuite/gdb.gdb/selftest.exp
-+++ b/gdb/testsuite/gdb.gdb/selftest.exp
-@@ -87,6 +87,10 @@ proc do_steps_and_nexts {} {
- set description "step over cmdarg_vec initialization"
- set command "step"
- }
-+ -re ".*python_script = 0.*$gdb_prompt $" {
-+ set description "step over python_script initialization"
-+ set command "step"
-+ }
- -re ".*pre_stat_chain = make_command_stats_cleanup.*$gdb_prompt $" {
- set description "next over make_command_stats_cleanup and everything it calls"
- set command "next"
diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py-frame.exp
-index b5a4682..d5451a6 100644
+index f5d4a3c..3546f7b 100644
--- a/gdb/testsuite/gdb.python/py-frame.exp
+++ b/gdb/testsuite/gdb.python/py-frame.exp
@@ -95,6 +95,8 @@ gdb_test "python print ('result = %s' % f0.read_var ('a'))" " = 1" "test Frame.r
@@ -597,10 +632,10 @@
gdb_test "python print ('result = %s' % (gdb.selected_frame ().read_register ('sp') == gdb.parse_and_eval ('\$sp')))" \
" = True" \
diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp
-index 57a9ba1..d90d85a 100644
+index 1781887..8a2ddd6 100644
--- a/gdb/testsuite/gdb.python/py-value.exp
+++ b/gdb/testsuite/gdb.python/py-value.exp
-@@ -397,6 +397,15 @@ proc test_value_after_death {} {
+@@ -384,6 +384,15 @@ proc test_value_after_death {} {
"print value's type"
}
@@ -616,11 +651,43 @@
# Regression test for invalid subscript operations. The bug was that
# the type of the value was not being checked before allowing a
# subscript operation to proceed.
-@@ -526,6 +535,7 @@ test_value_in_inferior
+@@ -512,6 +521,7 @@ if ![runto_main] then {
+ test_value_in_inferior
test_inferior_function_call
- test_lazy_strings
test_value_after_death
+test_cast_regression
# Test either C or C++ values.
+diff --git a/gdb/varobj.c b/gdb/varobj.c
+index 5f21d84..18506f1 100644
+--- a/gdb/varobj.c
++++ b/gdb/varobj.c
+@@ -226,6 +226,14 @@ is_root_p (const struct varobj *var)
+ }
+
+ #ifdef HAVE_PYTHON
++/* Helper function to install a Python environment suitable for
++ use during operations on VAR. */
++struct cleanup *
++varobj_ensure_python_env (const struct varobj *var)
++{
++ return ensure_python_env (var->root->exp->gdbarch,
++ var->root->exp->language_defn);
++}
+
+ /* See python-internal.h. */
+ gdbpy_enter_varobj::gdbpy_enter_varobj (const struct varobj *var)
+diff --git a/gdb/varobj.h b/gdb/varobj.h
+index e35c1b8..12339d1 100644
+--- a/gdb/varobj.h
++++ b/gdb/varobj.h
+@@ -320,6 +320,8 @@ extern int varobj_has_more (const struct varobj *var, int to);
+
+ extern int varobj_is_dynamic_p (const struct varobj *var);
+
++extern struct cleanup *varobj_ensure_python_env (const struct varobj *var);
++
+ extern int varobj_default_value_is_changeable_p (const struct varobj *var);
+ extern int varobj_value_is_changeable_p (const struct varobj *var);
+
++++++ gdb-attach-fail-reasons-5of5.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.993711327 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.993711327 +0200
@@ -37,13 +37,13 @@
(linux_create_inferior, linux_tracefork_child): Call it instead of
direct ptrace.
-Index: gdb-7.11.90.20160829/gdb/nat/linux-ptrace.c
+Index: gdb-7.12.50.20170226/gdb/nat/linux-ptrace.c
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/nat/linux-ptrace.c 2016-08-29 09:35:26.798230659 +0200
-+++ gdb-7.11.90.20160829/gdb/nat/linux-ptrace.c 2016-08-29 09:35:43.162384100 +0200
-@@ -25,6 +25,10 @@
- #include "gdb_ptrace.h"
+--- gdb-7.12.50.20170226.orig/gdb/nat/linux-ptrace.c 2017-02-26 21:27:14.780009449 +0100
++++ gdb-7.12.50.20170226/gdb/nat/linux-ptrace.c 2017-02-26 21:27:18.838038193 +0100
+@@ -27,6 +27,10 @@
#include
+ #endif
+#ifdef HAVE_SELINUX_SELINUX_H
+# include
@@ -52,7 +52,7 @@
/* Stores the ptrace options supported by the running kernel.
A value of -1 means we did not check for features yet. A value
of 0 means there are no supported features. */
-@@ -49,6 +53,8 @@
+@@ -51,6 +55,8 @@
buffer_xml_printf (buffer, _("process %d is a zombie "
"- the process has already terminated"),
(int) pid);
@@ -61,7 +61,7 @@
}
/* See linux-ptrace.h. */
-@@ -592,6 +598,22 @@
+@@ -594,6 +600,22 @@
linux_ptrace_test_ret_to_nx ();
}
@@ -84,10 +84,10 @@
/* Extract extended ptrace event from wait status. */
int
-Index: gdb-7.11.90.20160829/gdb/nat/linux-ptrace.h
+Index: gdb-7.12.50.20170226/gdb/nat/linux-ptrace.h
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/nat/linux-ptrace.h 2016-08-29 09:35:26.798230659 +0200
-+++ gdb-7.11.90.20160829/gdb/nat/linux-ptrace.h 2016-08-29 09:35:43.162384100 +0200
+--- gdb-7.12.50.20170226.orig/gdb/nat/linux-ptrace.h 2017-02-26 21:27:14.780009449 +0100
++++ gdb-7.12.50.20170226/gdb/nat/linux-ptrace.h 2017-02-26 21:27:18.838038193 +0100
@@ -185,6 +185,7 @@
extern char *linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err);
@@ -96,11 +96,11 @@
extern void linux_check_ptrace_features (void);
extern void linux_enable_event_reporting (pid_t pid, int attached);
extern void linux_disable_event_reporting (pid_t pid);
-Index: gdb-7.11.90.20160829/gdb/configure.ac
+Index: gdb-7.12.50.20170226/gdb/configure.ac
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/configure.ac 2016-08-29 09:35:26.799230668 +0200
-+++ gdb-7.11.90.20160829/gdb/configure.ac 2016-08-29 09:35:43.163384109 +0200
-@@ -2108,6 +2108,10 @@
+--- gdb-7.12.50.20170226.orig/gdb/configure.ac 2017-02-26 21:27:14.781009456 +0100
++++ gdb-7.12.50.20170226/gdb/configure.ac 2017-02-26 21:27:18.839038200 +0100
+@@ -2092,6 +2092,10 @@
esac
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
@@ -111,11 +111,11 @@
dnl Handle optional features that can be enabled.
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
-Index: gdb-7.11.90.20160829/gdb/gdbserver/configure.ac
+Index: gdb-7.12.50.20170226/gdb/gdbserver/configure.ac
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/gdbserver/configure.ac 2016-08-29 09:35:26.799230668 +0200
-+++ gdb-7.11.90.20160829/gdb/gdbserver/configure.ac 2016-08-29 09:35:43.163384109 +0200
-@@ -472,6 +472,10 @@
+--- gdb-7.12.50.20170226.orig/gdb/gdbserver/configure.ac 2017-02-26 21:27:14.781009456 +0100
++++ gdb-7.12.50.20170226/gdb/gdbserver/configure.ac 2017-02-26 21:27:18.839038200 +0100
+@@ -469,6 +469,10 @@
fi
fi
@@ -126,11 +126,11 @@
AC_SUBST(GDBSERVER_DEPFILES)
AC_SUBST(GDBSERVER_LIBS)
AC_SUBST(srv_xmlbuiltin)
-Index: gdb-7.11.90.20160829/gdb/gdbserver/linux-low.c
+Index: gdb-7.12.50.20170226/gdb/gdbserver/linux-low.c
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/gdbserver/linux-low.c 2016-08-29 09:35:26.801230687 +0200
-+++ gdb-7.11.90.20160829/gdb/gdbserver/linux-low.c 2016-08-29 09:35:43.165384128 +0200
-@@ -933,6 +933,29 @@
+--- gdb-7.12.50.20170226.orig/gdb/gdbserver/linux-low.c 2017-02-26 21:27:14.783009470 +0100
++++ gdb-7.12.50.20170226/gdb/gdbserver/linux-low.c 2017-02-26 21:27:18.841038214 +0100
+@@ -946,6 +946,29 @@
return lwp;
}
@@ -160,7 +160,7 @@
/* Start an inferior process and returns its pid.
ALLARGS is a vector of program-name and args. */
-@@ -956,7 +979,7 @@
+@@ -969,7 +992,7 @@
if (pid == 0)
{
close_most_fds ();
@@ -169,31 +169,11 @@
setpgid (0, 0);
-Index: gdb-7.11.90.20160829/gdb/inf-ptrace.c
+Index: gdb-7.12.50.20170226/gdb/linux-nat.c
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/inf-ptrace.c 2016-08-29 09:35:26.801230687 +0200
-+++ gdb-7.11.90.20160829/gdb/inf-ptrace.c 2016-08-29 09:35:43.165384128 +0200
-@@ -79,7 +79,15 @@
- inf_ptrace_me (void)
- {
- /* "Trace me, Dr. Memory!" */
-+ errno = 0;
- ptrace (PT_TRACE_ME, 0, (PTRACE_TYPE_ARG3)0, 0);
-+ if (errno != 0)
-+ {
-+ fprintf_unfiltered (gdb_stderr, _("Cannot create process: %s\n"),
-+ safe_strerror (errno));
-+ gdb_flush (gdb_stderr);
-+ _exit (0177);
-+ }
- }
-
- /* Start a new inferior Unix child process. EXEC_FILE is the file to
-Index: gdb-7.11.90.20160829/gdb/linux-nat.c
-===================================================================
---- gdb-7.11.90.20160829.orig/gdb/linux-nat.c 2016-08-29 09:35:26.802230697 +0200
-+++ gdb-7.11.90.20160829/gdb/linux-nat.c 2016-08-29 09:35:43.166384137 +0200
-@@ -1102,6 +1102,7 @@
+--- gdb-7.12.50.20170226.orig/gdb/linux-nat.c 2017-02-26 21:27:14.785009484 +0100
++++ gdb-7.12.50.20170226/gdb/linux-nat.c 2017-02-26 21:27:18.842038221 +0100
+@@ -1110,6 +1110,7 @@
{
struct cleanup *restore_personality
= maybe_disable_address_space_randomization (disable_randomization);
@@ -201,7 +181,7 @@
/* The fork_child mechanism is synchronous and calls target_wait, so
we have to mask the async mode. */
-@@ -1109,7 +1110,28 @@
+@@ -1117,7 +1118,28 @@
/* Make sure we report all signals during startup. */
linux_nat_pass_signals (ops, 0, NULL);
@@ -231,11 +211,11 @@
do_cleanups (restore_personality);
}
-Index: gdb-7.11.90.20160829/gdb/config.in
+Index: gdb-7.12.50.20170226/gdb/config.in
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/config.in 2016-08-29 09:35:26.803230706 +0200
-+++ gdb-7.11.90.20160829/gdb/config.in 2016-08-29 09:35:43.166384137 +0200
-@@ -267,6 +267,9 @@
+--- gdb-7.12.50.20170226.orig/gdb/config.in 2017-02-26 21:27:14.786009491 +0100
++++ gdb-7.12.50.20170226/gdb/config.in 2017-02-26 21:27:18.842038221 +0100
+@@ -270,6 +270,9 @@
/* Define if librpm library is being used. */
#undef HAVE_LIBRPM
@@ -245,7 +225,7 @@
/* Define to 1 if you have the header file. */
#undef HAVE_LIBUNWIND_IA64_H
-@@ -399,6 +402,9 @@
+@@ -402,6 +405,9 @@
/* Define to 1 if you have the `scm_new_smob' function. */
#undef HAVE_SCM_NEW_SMOB
@@ -255,11 +235,11 @@
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
-Index: gdb-7.11.90.20160829/gdb/configure
+Index: gdb-7.12.50.20170226/gdb/configure
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/configure 2016-08-29 09:35:26.806230734 +0200
-+++ gdb-7.11.90.20160829/gdb/configure 2016-08-29 09:35:43.170384175 +0200
-@@ -14642,6 +14642,64 @@
+--- gdb-7.12.50.20170226.orig/gdb/configure 2017-02-26 21:27:14.790009519 +0100
++++ gdb-7.12.50.20170226/gdb/configure 2017-02-26 21:27:18.846038249 +0100
+@@ -15492,6 +15492,64 @@
_ACEOF
@@ -324,11 +304,11 @@
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
# except that the argument to --with-sysroot is optional.
-Index: gdb-7.11.90.20160829/gdb/gdbserver/config.in
+Index: gdb-7.12.50.20170226/gdb/gdbserver/config.in
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/gdbserver/config.in 2016-08-29 09:35:26.807230743 +0200
-+++ gdb-7.11.90.20160829/gdb/gdbserver/config.in 2016-08-29 09:35:43.170384175 +0200
-@@ -120,6 +120,9 @@
+--- gdb-7.12.50.20170226.orig/gdb/gdbserver/config.in 2017-02-26 21:27:14.791009527 +0100
++++ gdb-7.12.50.20170226/gdb/gdbserver/config.in 2017-02-26 21:27:18.846038249 +0100
+@@ -123,6 +123,9 @@
/* Define to 1 if you have the `mcheck' library (-lmcheck). */
#undef HAVE_LIBMCHECK
@@ -338,7 +318,7 @@
/* Define if the target supports branch tracing. */
#undef HAVE_LINUX_BTRACE
-@@ -196,6 +199,9 @@
+@@ -199,6 +202,9 @@
/* Define to 1 if you have the `pwrite' function. */
#undef HAVE_PWRITE
@@ -348,11 +328,11 @@
/* Define to 1 if you have the `setns' function. */
#undef HAVE_SETNS
-Index: gdb-7.11.90.20160829/gdb/gdbserver/configure
+Index: gdb-7.12.50.20170226/gdb/gdbserver/configure
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/gdbserver/configure 2016-08-29 09:35:26.809230762 +0200
-+++ gdb-7.11.90.20160829/gdb/gdbserver/configure 2016-08-29 09:35:43.172384194 +0200
-@@ -7561,6 +7561,64 @@
+--- gdb-7.12.50.20170226.orig/gdb/gdbserver/configure 2017-02-26 21:27:14.793009541 +0100
++++ gdb-7.12.50.20170226/gdb/gdbserver/configure 2017-02-26 21:27:18.848038263 +0100
+@@ -8429,6 +8429,64 @@
fi
fi
++++++ gdb-btrobust.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.005709630 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.005709630 +0200
@@ -3,83 +3,32 @@
--
-Index: gdb-7.9.50.20150520/gdb/python/py-framefilter.c
+Index: gdb-7.12.50.20170226/gdb/python/py-framefilter.c
===================================================================
---- gdb-7.9.50.20150520.orig/gdb/python/py-framefilter.c 2015-05-31 17:36:34.681952530 +0200
-+++ gdb-7.9.50.20150520/gdb/python/py-framefilter.c 2015-05-31 17:55:01.884788031 +0200
-@@ -1523,6 +1523,7 @@ gdbpy_apply_frame_filter (const struct e
- PyObject *iterable;
- PyObject *item;
- htab_t levels_printed;
-+ int count_printed = 0;
-
- if (!gdb_python_initialized)
- return EXT_LANG_BT_NO_FILTERS;
-@@ -1543,24 +1544,7 @@ gdbpy_apply_frame_filter (const struct e
- iterable = bootstrap_python_frame_filters (frame, frame_low, frame_high);
-
- if (iterable == NULL)
-- {
-- /* Normally if there is an error GDB prints the exception,
-- abandons the backtrace and exits. The user can then call "bt
-- no-filters", and get a default backtrace (it would be
-- confusing to automatically start a standard backtrace halfway
-- through a Python filtered backtrace). However in the case
-- where GDB cannot initialize the frame filters (most likely
-- due to incorrect auto-load paths), GDB has printed nothing.
-- In this case it is OK to print the default backtrace after
-- printing the error message. GDB returns EXT_LANG_BT_NO_FILTERS
-- here to signify there are no filters after printing the
-- initialization error. This return code will trigger a
-- default backtrace. */
--
-- gdbpy_print_stack ();
-- do_cleanups (cleanups);
-- return EXT_LANG_BT_NO_FILTERS;
-- }
-+ goto error_nothing_printed;
+--- gdb-7.12.50.20170226.orig/gdb/python/py-framefilter.c 2017-02-26 21:33:23.150618708 +0100
++++ gdb-7.12.50.20170226/gdb/python/py-framefilter.c 2017-02-26 21:33:29.993667179 +0100
+@@ -1388,6 +1388,7 @@
+ htab_eq_pointer,
+ NULL));
- /* If iterable is None, then there are no frame filters registered.
- If this is the case, defer to default GDB printing routines in MI
-@@ -1591,15 +1575,40 @@ gdbpy_apply_frame_filter (const struct e
++ int count_printed = 0;
+ while (true)
+ {
+ gdbpy_ref<> item (PyIter_Next (iterable.get ()));
+@@ -1397,7 +1398,7 @@
+ if (PyErr_Occurred ())
+ {
+ gdbpy_print_stack ();
+- return EXT_LANG_BT_ERROR;
++ return count_printed > 0 ? EXT_LANG_BT_ERROR : EXT_LANG_BT_NO_FILTERS;
+ }
+ break;
+ }
+@@ -1409,6 +1410,7 @@
error and continue with other frames. */
if (success == EXT_LANG_BT_ERROR)
gdbpy_print_stack ();
-+
+ count_printed++;
}
- if (item == NULL && PyErr_Occurred ())
-- goto error;
-+ {
-+ if (count_printed > 0)
-+ goto error;
-+ else
-+ goto error_nothing_printed;
-+ }
-
- done:
- do_cleanups (cleanups);
return success;
-
-+ /* Normally if there is an error GDB prints the exception,
-+ abandons the backtrace and exits. The user can then call "bt
-+ no-filters", and get a default backtrace (it would be
-+ confusing to automatically start a standard backtrace halfway
-+ through a Python filtered backtrace). However in the case
-+ where GDB cannot initialize the frame filters (most likely
-+ due to incorrect auto-load paths), GDB has printed nothing.
-+ In this case it is OK to print the default backtrace after
-+ printing the error message. GDB returns EXT_LANG_BT_NO_FILTERS
-+ here to signify there are no filters after printing the
-+ initialization error. This return code will trigger a
-+ default backtrace. */
-+
-+ error_nothing_printed:
-+ gdbpy_print_stack ();
-+ do_cleanups (cleanups);
-+ return EXT_LANG_BT_NO_FILTERS;
-+
- /* Exit and abandon backtrace on error, printing the exception that
- is set. */
- error:
++++++ gdb-dts-rhel6-python-compat.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.049703408 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.049703408 +0200
@@ -1,30 +1,30 @@
https://bugzilla.redhat.com/show_bug.cgi?id=1020004
-Index: gdb-7.11.50.20160630/gdb/data-directory/Makefile.in
+Index: gdb-7.12.50.20170207/gdb/data-directory/Makefile.in
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/data-directory/Makefile.in 2016-07-03 16:32:13.788164041 +0200
-+++ gdb-7.11.50.20160630/gdb/data-directory/Makefile.in 2016-07-03 16:32:17.868198850 +0200
-@@ -61,6 +61,8 @@
- gdb/frames.py \
- gdb/FrameIterator.py \
+--- gdb-7.12.50.20170207.orig/gdb/data-directory/Makefile.in 2017-02-26 21:10:31.418894975 +0100
++++ gdb-7.12.50.20170207/gdb/data-directory/Makefile.in 2017-02-26 21:11:07.083147930 +0100
+@@ -71,6 +71,8 @@
+ gdb/__init__.py \
gdb/FrameDecorator.py \
+ gdb/FrameIterator.py \
+ gdb/FrameWrapper.py \
+ gdb/backtrace.py \
- gdb/types.py \
+ gdb/frames.py \
gdb/printing.py \
- gdb/unwinder.py \
-@@ -77,6 +79,7 @@
- gdb/command/pretty_printers.py \
- gdb/command/prompt.py \
+ gdb/prompt.py \
+@@ -83,6 +85,7 @@
+ gdb/command/pahole.py \
+ gdb/command/xmethods.py \
gdb/command/explore.py \
+ gdb/command/backtrace.py \
- gdb/function/__init__.py \
- gdb/function/as_string.py \
- gdb/function/caller_is.py \
-Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/FrameWrapper.py
+ gdb/command/frame_filters.py \
+ gdb/command/pretty_printers.py \
+ gdb/command/prompt.py \
+Index: gdb-7.12.50.20170207/gdb/python/lib/gdb/FrameWrapper.py
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.50.20160630/gdb/python/lib/gdb/FrameWrapper.py 2016-07-03 16:32:17.869198859 +0200
++++ gdb-7.12.50.20170207/gdb/python/lib/gdb/FrameWrapper.py 2017-02-26 21:10:31.419894983 +0100
@@ -0,0 +1,122 @@
+# Wrapper API for frames.
+
@@ -62,7 +62,7 @@
+ if val != None:
+ val = str (val)
+ # FIXME: would be nice to have a more precise exception here.
-+ except RuntimeError, text:
++ except RuntimeError as text:
+ val = text
+ if val == None:
+ stream.write ("???")
@@ -148,10 +148,10 @@
+
+ def __getattr__ (self, name):
+ return getattr (self.frame, name)
-Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/backtrace.py
+Index: gdb-7.12.50.20170207/gdb/python/lib/gdb/backtrace.py
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.50.20160630/gdb/python/lib/gdb/backtrace.py 2016-07-03 16:32:17.869198859 +0200
++++ gdb-7.12.50.20170207/gdb/python/lib/gdb/backtrace.py 2017-02-26 21:10:31.419894983 +0100
@@ -0,0 +1,42 @@
+# Filtering backtrace.
+
@@ -195,10 +195,10 @@
+ return iter
+ return old_frame_filter (iter)
+
-Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/command/backtrace.py
+Index: gdb-7.12.50.20170207/gdb/python/lib/gdb/command/backtrace.py
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.50.20160630/gdb/python/lib/gdb/command/backtrace.py 2016-07-03 16:32:17.869198859 +0200
++++ gdb-7.12.50.20170207/gdb/python/lib/gdb/command/backtrace.py 2017-02-26 21:10:31.419894983 +0100
@@ -0,0 +1,106 @@
+# New backtrace command.
+
++++++ gdb-glibc-strstr-workaround.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.081698883 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.081698883 +0200
@@ -60,7 +60,7 @@
+set testfile "gnu-ifunc-strstr-workaround"
+set executable ${testfile}
+set srcfile start.c
-+set binfile ${objdir}/${subdir}/${executable}
++set binfile [standard_output_file ${executable}]
+
+if [prepare_for_testing ${testfile}.exp $executable $srcfile] {
+ return -1
++++++ gdb-gnat-dwarf-crash-3of3.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.097696621 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.097696621 +0200
@@ -34,11 +34,11 @@
* dwarf2read.c (process_die): Change gdb_assert to complaint.
-diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
-index 3eaa0b1..71f5d34 100644
---- a/gdb/dwarf2read.c
-+++ b/gdb/dwarf2read.c
-@@ -8029,7 +8029,13 @@ process_die (struct die_info *die, struct dwarf2_cu *cu)
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
+===================================================================
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c 2017-04-20 23:15:26.578897210 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 23:15:57.805106371 +0200
+@@ -8426,7 +8426,13 @@
struct cleanup *in_process;
/* We should only be processing those not already in process. */
@@ -47,12 +47,9 @@
+ {
+ complaint (&symfile_complaints,
+ _("DIE at 0x%x attempted to be processed twice"),
-+ die->offset.sect_off);
++ to_underlying (die->sect_off));
+ return;
+ }
die->in_process = 1;
in_process = make_cleanup (reset_die_in_process,die);
-
---6TrnltStXW4iwmi0--
-
++++++ gdb-ppc-power7-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.173685874 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.173685874 +0200
@@ -1,5 +1,5 @@
--- /dev/null
-+++ b/gdb/testsuite/gdb.arch/powerpc-power7.exp
++++ b/gdb/testsuite/gdb.arch/powerpc-power7rh.exp
@@ -0,0 +1,182 @@
+# Copyright 2009 Free Software Foundation, Inc.
+
@@ -24,7 +24,7 @@
+ return
+}
+
-+set testfile "powerpc-power7"
++set testfile "powerpc-power7rh"
+set srcfile ${testfile}.s
+set objfile [standard_output_file ${testfile}.o]
+
@@ -184,7 +184,7 @@
+func_check 0x198 "frsqrtes. f14,f15"
+func_check 0x19c "isel r2,r3,r4,28"
--- /dev/null
-+++ b/gdb/testsuite/gdb.arch/powerpc-power7.s
++++ b/gdb/testsuite/gdb.arch/powerpc-power7rh.s
@@ -0,0 +1,107 @@
+ .text
+ .globl func
++++++ gdb-python-gil.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.185684177 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.189683612 +0200
@@ -1,8 +1,8 @@
-Index: gdb-7.11.50.20160630/gdb/doc/python.texi
+Index: gdb-7.99.90.20170420/gdb/doc/python.texi
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/doc/python.texi 2016-07-03 16:30:37.009338358 +0200
-+++ gdb-7.11.50.20160630/gdb/doc/python.texi 2016-07-03 16:30:42.812387867 +0200
-@@ -229,6 +229,14 @@
+--- gdb-7.99.90.20170420.orig/gdb/doc/python.texi 2017-04-20 23:16:30.895328018 +0200
++++ gdb-7.99.90.20170420/gdb/doc/python.texi 2017-04-20 23:16:35.690360136 +0200
+@@ -230,6 +230,14 @@
return value is @code{None}. If @var{to_string} is @code{True}, the
@value{GDBN} virtual terminal will be temporarily set to unlimited width
and height, and its pagination will be disabled; @pxref{Screen Size}.
@@ -17,11 +17,11 @@
@end defun
@findex gdb.breakpoints
-Index: gdb-7.11.50.20160630/gdb/python/python-internal.h
+Index: gdb-7.99.90.20170420/gdb/python/python-internal.h
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/python/python-internal.h 2016-07-03 16:30:37.010338366 +0200
-+++ gdb-7.11.50.20160630/gdb/python/python-internal.h 2016-07-03 16:30:42.812387867 +0200
-@@ -140,6 +140,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/python/python-internal.h 2017-04-20 23:16:30.896328024 +0200
++++ gdb-7.99.90.20170420/gdb/python/python-internal.h 2017-04-20 23:16:35.690360136 +0200
+@@ -142,6 +142,8 @@
#define PyGILState_Release(ARG) ((void)(ARG))
#define PyEval_InitThreads()
#define PyThreadState_Swap(ARG) ((void)(ARG))
@@ -30,34 +30,32 @@
#define PyEval_ReleaseLock()
#endif
-Index: gdb-7.11.50.20160630/gdb/python/python.c
+Index: gdb-7.99.90.20170420/gdb/python/python.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/python/python.c 2016-07-03 16:30:37.011338375 +0200
-+++ gdb-7.11.50.20160630/gdb/python/python.c 2016-07-03 16:31:16.324673783 +0200
-@@ -619,13 +619,18 @@
+--- gdb-7.99.90.20170420.orig/gdb/python/python.c 2017-04-20 23:16:30.897328031 +0200
++++ gdb-7.99.90.20170420/gdb/python/python.c 2017-04-20 23:18:11.377001070 +0200
+@@ -594,12 +594,16 @@
{
const char *arg;
PyObject *from_tty_obj = NULL, *to_string_obj = NULL;
- int from_tty, to_string;
-- static char *keywords[] = {"command", "from_tty", "to_string", NULL };
-+ PyObject *release_gil_obj = NULL;
+- static const char *keywords[] = { "command", "from_tty", "to_string", NULL };
+ int from_tty, to_string, release_gil;
-+ static char *keywords[] = {"command", "from_tty", "to_string",
-+ "release_gil", NULL };
- char *result = NULL;
++ static const char *keywords[] = {"command", "from_tty", "to_string", "release_gil", NULL };
++ PyObject *release_gil_obj = NULL;
+ /* Initialize it just to avoid a GCC false warning. */
+ PyThreadState *state = NULL;
-- if (! PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!", keywords, &arg,
-+ if (! PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!O!", keywords, &arg,
- &PyBool_Type, &from_tty_obj,
-- &PyBool_Type, &to_string_obj))
-+ &PyBool_Type, &to_string_obj,
-+ &PyBool_Type, &release_gil_obj))
+- if (!gdb_PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!", keywords, &arg,
++ if (!gdb_PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!O!", keywords, &arg,
+ &PyBool_Type, &from_tty_obj,
+- &PyBool_Type, &to_string_obj))
++ &PyBool_Type, &to_string_obj,
++ &PyBool_Type, &release_gil_obj))
return NULL;
from_tty = 0;
-@@ -646,6 +651,15 @@
+@@ -620,6 +624,15 @@
to_string = cmp;
}
@@ -70,11 +68,11 @@
+ release_gil = cmp;
+ }
+
+ std::string to_string_res;
+
TRY
- {
- /* Copy the argument text in case the command modifies it. */
-@@ -653,6 +667,13 @@
- struct cleanup *cleanup = make_cleanup (xfree, copy);
+@@ -628,6 +641,13 @@
+ std::string copy (arg);
struct interp *interp;
+ /* In the case of long running GDB commands, allow the user to
@@ -84,18 +82,17 @@
+ if (release_gil)
+ state = PyEval_SaveThread();
+
- make_cleanup_restore_integer (¤t_ui->async);
- current_ui->async = 0;
-
-@@ -671,11 +692,23 @@
- execute_command (copy, from_tty);
- }
+ scoped_restore save_async = make_scoped_restore (¤t_ui->async, 0);
+ scoped_restore save_uiout = make_scoped_restore (¤t_uiout);
+@@ -642,10 +662,22 @@
+ to_string_res = execute_command_to_string (©[0], from_tty);
+ else
+ execute_command (©[0], from_tty);
++
+ /* Reacquire the GIL if it was released earlier. */
+ if (release_gil)
+ PyEval_RestoreThread (state);
-+
- do_cleanups (cleanup);
}
CATCH (except, RETURN_MASK_ALL)
{
@@ -112,8 +109,10 @@
}
END_CATCH
---- /dev/null 2016-09-12 21:37:05.332693927 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.python/py-gil-mthread.c 2016-09-12 21:51:53.750317187 +0200
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.c 2017-04-20 23:16:35.691360143 +0200
@@ -0,0 +1,13 @@
+#include
+#include
@@ -128,8 +127,10 @@
+ printf ("Sleeping %d\n", i);
+ }
+}
---- /dev/null 2016-09-12 21:37:05.332693927 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.python/py-gil-mthread.exp 2016-09-12 21:52:38.605750360 +0200
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.exp
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.exp 2017-04-20 23:16:35.691360143 +0200
@@ -0,0 +1,69 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+
@@ -200,8 +201,10 @@
+ }
+ }
+}
---- /dev/null 2016-09-12 21:37:05.332693927 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.python/py-gil-mthread.py 2016-09-12 21:59:02.668459286 +0200
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.py
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.py 2017-04-20 23:16:35.692360149 +0200
@@ -0,0 +1,28 @@
+try:
+ import thread
@@ -216,7 +219,7 @@
+ while count < 10:
+ time.sleep(1)
+ count += 1
-+ print ("Hello (", count, ")")
++ print ("Hello ( %d )" % count)
+
+# Create a threads a continue
+try:
++++++ gdb-rhbz1007614-memleak-infpy_read_memory-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.209680784 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.213680218 +0200
@@ -74,7 +74,7 @@
+
+set testfile py-gdb-rhbz1007614-memleak-infpy_read_memory
+set srcfile ${testfile}.c
-+set binfile ${objdir}/${subdir}/${testfile}
++set binfile [standard_output_file ${testfile}]
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
+ return -1
++++++ gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.245675693 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.249675128 +0200
@@ -2,7 +2,7 @@
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.6.1/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp 2016-03-10 22:31:31.152094080 +0100
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,53 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
@@ -24,7 +24,13 @@
+
+if { ! [ runto main ] } then { return 0 }
+
-+gdb_test "rwatch aligned.var4" "Hardware read watchpoint \[0-9\]+: aligned.var4"
++set test "rwatch aligned.var4"
++if [istarget "s390*-*-*"] {
++ gdb_test $test {Target does not support this type of hardware watchpoint\.}
++ untested "s390* does not support hw read watchpoint"
++ return
++}
++gdb_test $test "Hardware read watchpoint \[0-9\]+: aligned.var4"
+
+proc checkvar { address } {
+ global gdb_prompt
@@ -45,6 +51,10 @@
+if ![checkvar "4"] { return }
+if ![checkvar "8"] { return }
+
++# Assumes: PPC_PTRACE_GETHWDBGINFO::data_bp_alignment == 8
++# 'lwz' does read only 4 bytes but the hw watchpoint is 8 bytes wide.
++setup_xfail "powerpc*-*-*"
++
+gdb_continue_to_end
Index: gdb-7.6.1/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.c
===================================================================
++++++ gdb-rhbz1398387-tab-crash-test.patch ++++++
diff --git a/gdb/testsuite/gdb.base/tab-crash.bz2.uu b/gdb/testsuite/gdb.base/tab-crash.bz2.uu
new file mode 100644
index 0000000..e55ec50
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tab-crash.bz2.uu
@@ -0,0 +1,393 @@
+begin 644 /tmp/libgcc_s-6.3.1-20161221.so.1-objcopyR.debug.bz2
+M0EIH.3%!6293622@"44`>Q=_____________________________________
+M________X#\<>SD#OM[7/HAP:R]\H#D"=!/";NP7!]OOJG>U[N;WW'KVV?9I
+M[[,[X.\/;%2U``[[NUM7P^T[U617V#12M]6M7W;M7CZU<=!]/8WL[LI=AZZ>
+MJ5XW;QP]W]DVHY@]/6RS=
+M8[:2][W/F01Z:GIID,IC$GHU-HR$:@T0F
+M@$PC($P"`$PF)D9-&IZFCT-4\$TRI^330-$TR>32>FFF@F!H0GJ>TD_*9!E,
+MR3Q3/11M-,%#T-3:-3T9(P-3T3TT@;1ZD>C1E,AM0:`@@303"`(Q*>FGHU)Z
+MGDFR8FFJ'L5/1C313R3U/*?JF]&35-J!Y3U/TI^1$\IZGFBGJ>HVF4>H])ZA
+MZC)ZFT)H>IH]0>H!H&RC0,F0T9E!HT-`TT`)-1(A$R&J?J3T80]313\F0GHC
+MU3:90\H]$]3:C93U-!LH\IIZ$]0R>:D>329J--`/4_5'I-`TT9#3U!ZC0>H#
+M0])H!H9!Z@#30VH#30-/4T'J`]09%$!4\)A3R,-1'J`S2#0--,$:/$C9-3TG
+MH:FR9-(T>D\4],HT'I`/4`>HVFIIZFR:FR:)Y,3*/3*;"FT:(VIYJC:FF)Z:
+MCTFAIZCTAH:#U!F*")1`0!`"9#4Q-,FT(R33R-4VFE/U&TU-3RGZ1FJ>&H]2
+M;U38GJ-J3TQ0Q'DU-'J?JF]2&30-'J:>H,FC1HWJ@#RFC0!Z#2-/4T&&4T-/
+M2:&(>D'J,5#"1JH5B["KJTH:1R2I95!0TXN8+PQ'&*+8%8JVQCC/1G1D0A-S
+M91MLJJLK];M*G>^]MGIW=W7E>KL
+M)MXKMO7VV\M77ANM3H=6LGI)+AR&CF'#<66)4&4S6:;*26:S5DUQGS$+>97<
+M!3.,U$LQELITU,X3Y5[GW>0?IM4(5>Z!^AE04E8=:H(X[7T$U.`@QRT\Z]_"
+M7?`4-8Q_UDP"AQ@$1,B`G(D*S"^7Z%ABZ-%T_Y9ME3-K"RMO>,UK^9/4HYU5!3:6'45^1-AA23JG7FH&=KT9ZK-!6>?\-
+M;_HD;$V3C,[X\-20B*R?`.(:CK$3A&J2!XYI6TW[U*HI*560[F!42LB.:FO9
+MT2S-`KC"H/^S^JJFC(54?*/HIBKH,!73^2++62,G98Y/*,\,%R,Y08$R@$&L
+MC#"P#E53*YTZS&>L\]4*"<8&2^]*I?02,46;3.V(P+2P`3$>F+HNTY/(%Z<`
+MM.P&I]6,NED[M1J4`O?!J@8`&>?1
+M%!8/]>.7UF-'?ZO,O??);\\L:3X7JN-O^ZWAPV:'ONI*N$I2REEE+$\Q47N6
+M)NB0W\O.LZ)TMD[9VG1NS+?94@_.$$=!P2#U2(8;*%.99OOW:1@#`W]ZV:OR
+M1IWEL,R4\*2Y2^>SP[^QB
+M_,U-)GY3;9KT/P=Q.GX.7G"Q:>QK&9"$
+M[#-J-&>2W>*T.XDRFC(,4I`"ED(D0(($(R0#&6;D6H(.:&R(R,:JBHZ!54G<
+M11T9V@K&&$`@8+T3IN#,:<5@P(RTBD1%(JP%55$2*#^!4E,%ER22`*-**JU6
+MJZII6%N>*+(`*J_?LDI@")%A1D1`@0D?O:UXU=+B+/%.C.3P3935G@9N(=B(
+M39SA1$,K(<1`/."P@;M&4XI&*(9N(H[,#92F)PFDD,V:;%@V(`6%EHV(`6$+T`+00*I0;U
+M`+6F`+<5+:@OPH!:+<%V-Y:H6@0ST6@@$DQO&U0"]M7&.2N,;AN4`HP8H!<7
+MT;QP4`N;A(R`&`P88BZ-&+V-:04?;20GS/LL>$_B,!&RT)$%@$(*)!"$E!7/
+M#&8("!8N/9=K.,FB'MY.._/VD>C9#^`XS.XJ/S:XR1TI^MMN1AER0/FI,QI<
+MI!S/-3&8!4S2B>DK$=5/`G2Z><=$L7)SB`(%.`?MXB?J?H_!K]]%1:Q0>>D5
+M@*,0!$21@`8Q[N?N_7_H;4[#S/![4O,^[NUOC?7F"'Z'YMMYO*;_)-<!Z[TG
+MI*)=+?,[8F8#>K^K9([W=II7_32_/>'@"M-U3'I3>\5F/7!,>LN:H3*N!L;;
+M")']UU7>>-S\,?K65#!/&(542)(!76C2F<92T@@7G-NX#D][M'6*;YS)AF7<
+M!W7=#3Y1,RGT_`:&!`EU8>JEM/&JEI"+[5?4O\_]DT0",,XH95*#$@#=L,AO4L+
+M1BB(3Q$X?C1IAS!$AY.>_%4]AI=*'&F6&\>U;\YG,QV14-HP9\BY30H/3].G
+MTW36AQ.N"4&8U(-$CSEJ:IAKE6J,KC=.U9$\H:1I/5!WK37"2WTTCL+"6YJD
+MVV8?W_`MAI=@)]J^U-YAOBS;:'(S4SPBJP))LEQ'+GK;<]US[@5VN)U.SEI]
+M@B6(>WE8&UNN(Z_Y^_U`>?=I*[4=\'V/"\YOXXU=RH7$2P
+MZ8AP5/2@#F"
+M^(R"5",K@5=:R=P=>/%\_!=LCS0>*ISX$*;G?\$9(P-<"734Z=7:V/E#,EJ3
+MR#)DN].):$0+S";E13Q8UADO"%],GD)5UBLWUDCN34&A3.I3U+69_K:PL#9:%6F)
+M[AU5/05TLKLJ2*QB0,US:"U%(#G!9N81MN&'7T1O*J^]%%^#HV->-]LNGN*=
+M"C%H8>WG7$,^&0"244E4:#V6Y!289:<&E<<-ZGKH1[>$BW"MUU,#SL;,,),V
+M565B6/E!Z,H8E#]WD=(P%@X(,/C7GD0D
+MP-:,NZ$0>8GQY;JN=^^\XXXN0&5=W>Z5]AZ1HYC%E&S'8*.!D@5[<8]"EYC)
+M7*.I"&7-3RH1V#K4>$VO7@MZ*G*`]>M6049!\$(C%$3O$(">"B@IT'Y=.=H)`'G
+MP?T,;OF2.6;FQ;,.#Y<(PT)/0+73.OI!]-""F<TJ>[4ST51A!FJDN2B3PA
+MCB(Q@J)!V14/5@R7:FG%FN\:RY!,K%>T32S-L$$!!OM9<,*\;?V9^D]EW*
+MBQ6*UR5PQ\J=9&)2U[%%,*&2VK(M$(BHTDQO)TV^76K`\E7:.HV99X,B$L68
+MSG"]BK3]QP^-(JA!,M42_#=-`S`(@)8T4R,S_Y[7P__.8YW/0JJJJJJJNK8X
+M-=3PO'T&C*J9)`]F0`%K%$*P$#"""'MX"\OETF6EW>4IT9RN8.;PY_?U:<^?
+M*X$4
+M0Y0QJ(A,6"07X?-ZWOBHFM&@L1]UFNEG^IKIM+R/9>.LI"N99-[D[:+A+S@]
+M9SU/\?K]_\Q%2,`!A(D20!4>@D8$G;HBBL(!"(2`J'98-5R/N2MRE[9.N+,!
+MO"/VT9Y%Q@(TM(/8\%_VL"*'2P^*D+N2,C?4!XXM?3VL;&:5WJ^+#L>F7!H_,N
+MIUM`#L5Y[#M_O]A6"9J&&AI_78:(A$4RYACP^Q[,#B9?EORFBL,[/%'C)]'[
+M.CACW"3O$#=`(=[_-\UU>&,/=25L+C^"'BK/E0!N1^$_"JB+_JPA`*]8CO(:
+M`,.^+BG;`ZF7BV09<[-_][:8^4KLHF.(1`0<SWGYJ3I.3K!0![LX-.34%X
+MKYZ.+[/.9+T`A+UD=Y@88X+WRYRQ#Z.0GAL_X^DU8%6CXLM.6/V<%ZXA\X\>Z?;"LR((5^)BH[
+M9YVM6QCU[L+>4:^0@[(+A[*2R473>#_#80G05=[MO!0B83]S4Y#69SL\FU;,
+MM[%]++>'XGB[M<9CU9H/*ZY^J8LEQ/Y>=4H#=D
+M076@OV1*HU!09+VY&I##%336?/5%)M>9>5%%"0;X0^D(!5LP%ZR;J#4AL2A(
+MVL=+2L3>4N`V%1T%AG`R@("$$@E`4)0]>@`6#Y_
+M!?KZ5D(#B^G8"OV,(-.'8LE-"R&W?C;5W&U,*%TS9#DQGG02?LI;-V'6_'VD:/[B\[^!BK._+R4O,AIRU>SJ67X@
+M9BGP5'Z*.")D_)5(1^2U>5IE7MC^?6;KS0@W,1]%[_1Q>7T[6YJ6XJQ.^W;Y
+M/EBI?KRW$W[U(3Z"^#'K&C9:437[_,^`K\[(S?[&%\T)U''KMU:$5SAVI&?1
+MO)WDB92)(QL1_:14'+!3-4<$"%!A'EL*M:SVOPL/C22OB0/^XF
+MK<69BJ[(VD8/"J7=>==O$-;WW//)P10\;N+6!'EH$U.A3!PVG>^?[V.QP)[E
+MM#M7!J:JJ5FI.V-&A9([(@[VAQ'!<$'(1S;SN=_.6>^5#L1AQ&_D'TL&-9`/
+M68$)7J_190&=D@#5'\F^+AINR/5:*)DDUZ[PNR9<+9KN3=Z?U+GOLD3<33S=
+MITE&9$Q@::(*8DUSZ<4:QI+(U)BWK2;WBIFENWDW[`N'(FMFG:Z>V\N0-.!C
+M]U#!U]T8<9HC9P8<^B_][RM5^;"??IE6G\((HDSM:T1.%M7\:[:DU2F*_DM4
+MYS/(B9,$-F_^*?"5:RW^<#:*&>C'":.!%4R6T1D?:_G=$H[JG;^K-&;DAU5X
+M&\$R"F*J1F;BV>]?N_E7K/--@V7(QI0@&I.NR=19-&!(=T.&_,X7T=/'`?1*
+M%W!R_DXWII`J:7?>BE$CIAWG*'YBZ$Q'_%_<27$JIQGYCU"!+X5C(PDS@W[\
+M7\*E`_CB_W[+#`2HNE+Z5(.<CG9DS>40BX]1`,]W]9L2=-5S\JMIA,-W<&@;
+M^[8^O76V>0CBYD0'SW%)\GD[WPO%X,)C%,*J;0T`C:JCB'+92>O:H';H,-[R
+M=DRZ#I]-'NVA`SO3(FDOZW8P4EL?@9A=5^0Y7FCDLWBFFUTVRG&%.[D2V^=`
+M5#K.+)QE0NXQY^M7*(C1-,N?>U93STMV@CGTY>&R$>RPK3'2R2*?5I5(24S/
+M3K0$S`PJ(?/0Q9_SG%)RTTU3HP8:\7'A72DJ57`^O/MG`YY><>SSD?WAH=M:
+M"RO5HS+T!`\:(`9QAYB=#3-8"F2'/%UT1%Q3?D&F$[TQ2-M#%>'(OH`!2E./
+M)389QV:(LHH6GG+(3N1L[?82L*K4K0&9XD2X6@M+0N,)U%K,T-":?/Y]\MK5
+MK_Z:_I>'2UZ7+0:AKH\.K%VYPA6E!DHVG,PO?KU25M)+DT,P/AGJ<1$85R9%
+MPF!G=#T]
U45@%VRRB)A-TW^ZQ(Q_ZZED+F:K/
+M%[7I:0$4UD$#WL$0]Y40\#A.AW7;\'O>+#S^/JY/1OZ/3K>4XW>>[AD]#5PU
+M:AAQU[/W.(AMMJ>4Q`29B9U_*;%>_:VI]+:'MP6ICV=R&`\X8;_^^!.GMS
+M[CNN,)<#02E3:J,LVK(;7-QHKD@J'][T+:HKY^3V'XE@FQ3YWDML=KUMVS9T
+M--UE*6'ES*\2LIZ+T;BH^&&6:[X%`OG)G&&W,6
+M)H$T1"14@OL:/PY6'YT^RE4`/70$D`%\6*J_[>]LELD`/3H$FC6R':]3T>]R:N[G/F>L^-Z8W(@05",604",9-Y"A3TN;K^7U_D?5
+M]+)>,!C#_7R<;\D\CX1PL]S$^X[C@`P,/0"-31'T61;6DR@][DZ>GRX>I6>`E\3;J]#&J;J-QZDEZ
+MN`Z"S<>Q9D;G8V4DQ'4T:78NL=:(*1TE&S_R-!0N)EE'3[0&B*!
+MXQ*NL=1!1^MME#CP3"#Z\>EWS"6?=]^))"@K:@'@@WDG:-N)I=7TH:&]V:HU#$8H@2H7&5C!B8/<
+M>+*R`ZN=[,`1\>^V(NU#+I]][;J]J$$)=@@8!C&8F38Z2ZYW@!C;&*7UJH?S
+MQ*8,+&MJ!D'$H2WJ"=:##R1L!V.SV:FBB#KMJZ-A8U=P'F)%DBD+Y(]`W<76
+M0"B`P'7/I#2C1W`Q//G]JRCF4N!U6V.,:6B(^'F_PM]?37_I^G\>W:F,#`!L
+M#$,?SLN]D@92+./&PT_IX_D\#C]]P.?H=A[GX8-3>EHG#-5Y:9#51"%*"@8,
+MR,#P4(,M6C4*U0!009;_,O-S^;=Q%1U4]/RN)VFLJGPB`SJ%?B]A6)UT%0>\
+M7?CM)8U>&P!P_@=A7"`%&/ZL=2/B:J/Z>/Q_QN./XO]HL>FR%6\R]CX<7IV1
+MM0K6BSY&M4Q1/\^R5ZB<#`'BZ1KJHV!@LE\&)<,`$827-VNZ1PXSI0/%T;N2
+M:'A7:2NQC\#-SZFY*DG.9SA'QL/C0XYFJ`..@)-DDV29VD5#RDE>]G8Q^3VW
+ML)IY;;C3C--_D9B/%?0-[\A)B^]1S.A,'R5))?(UTRN%AZ[R=7^#1>8QD6;?
+M\\>9'WS7+Q2MMQB$4G'&LKKE_5:P6VHX=!IXC/A?V!&;E12BA`S"D%5]>PD&
+MLS[;Q-_NX\>E1,6!J!`.E>BKU-7><]ML_>YUY`*]=J1"%3^'=ZG#M`_=FP\5
+M_1@U\L5HC!6/M^AK=6RKL$<4WMRZ#=/)WD-JE[^K[$5:2F,WF$W:PM9.*M4Y
+M,1F3/&3Z4AKF[0P[+OYJE&NVX5N("$H-U)M)Q]U1O+/^/[+5!F0AOSIW)JO1
+M-W"XB@\FPFF^^+'I5<9E=\R":I,J$XM:0Y$V!"D*0/[J>C4]94.6F>7>N3E^
+MZS4N7`.VR=BDAPI]W\W2SM;LA4L[C%P*HES%0]GNJ_4,L#<[Z^]\A0P/G_9<
+M-GJDQ,;U!M7+G$4.Q774HG@<3ZR^,@.(C5#=9R1V,1BJ>G;B^X1G8:0*J9PI
+M0O;M#TOG'I,BH@=IM=C3M.?3S+JKI7#,9^+T0K`E=MSFF.*<'F(&]5Y[G99G
+M$Q0MHQB/4_,W&S73.T(4?>X?VDZ)REP[?IQJS%,A"CV=$(_EC6+=\=C[AZ^L
+MT6_?WU:<<"*P,*F!BTVR-7-UZ8R*<(0Z,?*JV<():T68@T1[:_##<>AN:?DT
+MFK>X6UN;;41]M,=73:_5`8T)T.!>[ADD@M$)!&9DX4_BU5+'$2![3L[L]J^Z
+MNB>(E(74J3W"%&E0J0Z!0A1"@K/[XD5C,*BGM#&WV3BL+08N0>"'P6\JH&%[
+M_'ONYQUCK5P8Z@\6BSVU0/@G(./1*RH.1^?4F$S2GX":4R%3D!X_,0:@()!,
+MX.-/LI6"D^5H9QOY(BMN;Y[FTCO5U^=_V]-005[^R6@N"H]!I"@*J2I9445_
+M?LM+4&A$:4*A`@3/(K`5895(TB768N-]$Y",C9W-PTE8>7<6FSV_800?X^2Q
+ML6'"\!JHI4"AC#]EJ"+343WC0"P%!X6Z=Z+>/#;E\:3H
+M*J9Z)ZHG?FL$!@@([X%`13X]*>3\4W=4+!:?80*1;@X_:7`V2$",%O%+Y;NW
+MSK?IH.1]7FZJ%F6T;`NP\"[HC>M:RB9@9CM
+MN5V'C^C]SZ+:[B[]+=^EM]A+]F_!\*>SA;M^^UT*,[^Z802/D8,&I$20.*F'Q/!Z_P-@_2/8^OT^"0@))K'@?MU`W<04B($7/6DU3`./KY
+M:1.?^/Y_JBD3"%"(29.P4)IHI_DA+0R?6Z%LR#'D>>-RY]_<[&]";4S'N9LZ
+M"Y_Z2\H5#%Z.7J?>2_*H\+?3*3@?E2>Y0.(9!0,+$N[M:9UZ'XN^`PG`&KU$+X:VQP^/6EA!K$],NI#&V[..-H-1%"/>\UILE?@CGDZ_->"R,B!V.L@$
+M\&)YAC4=[_/OLTGHN.\HM45P\AYL%3UTXX8UK89FA0IA!,I6./VBK\XR="PY
+MX$>0E!].'NBXP53HL[#=M+887P^KJ$O*\J%%R3%HS53F3>PW"W)RE^0XP`&B
+MX5S4FXKO7KFF=!'B*40SE(LCGE4:[%<'28D=N(EZTAK?KT,J8/+0;J:&KD4Q
+MB[OTEDH1OBO+GDKUP8>/$/I/K&79VH!DW(/A#%O11Q,@?43>'>UDD\ER#*FT
+M')J(=2J>5.VW66K+2X(DT)IN(PK1W!R2F&OY&3M18,?"*L,:G@I^8P.Q>&WF
+M#.EZ:?20E*9N80_^%7)T'JNIOAM2U8J7U%SQ!5SP<%>O\CD:[T#9,"[%5=`GHARQIT
+M%\QD4*(FQ4)1^"94)MT,<05.QG++X<\&]/K$6S/WCS493!P1"*-:=F<4IPIN
+M/+HA_?]9K12Z4?9#B^ZG``&8)YPC&'J`:.$+6*I=A&GX74>)[[HP]&G1Q'WD
+M&I$34#4[D:E&0X>6!PZ:3'B0^W>(,D=*^/92`7Q>Q9-VAPUEQY3OTL_HZO#;
+M>#LA+:6P2J`"-2V,RA8$1Z7F[]*K)3,'CQHY$78K\B']@`8P%]=;,/U'E7#N
+M*&)X?MY1EQ%FK,8H:9K>;;!S?'N^@'EQ,87%WG+>)!%3C>!
+MPG)6ZNZG!P'@4%04Y;)`BM,$\7AB]3RL4:\XW7W00(".LJFSTKGT*M2TN^L7
+M%@0`B`(A<`$"(1N!QX5FD\?@KO;H<;O.81WCXCX0Q*/U9@/0C
+M%(`V()O@A7*8\:4@F)EC0I05R7\PBCBCE#2XF,#"KCFN@W
+M>X>>N2Q1:\ZY(2F0,Q?:''2/&A[N9<9W,W"C.BFA"X6`#S/>PH?FQ$NZU?L5
+M:%KJY31\`:46RYB8I12>4+@=KUF'V84*AZ9)<=+3`TMQSW!&4&1
+MOVK3F)P\F'+M>@6I@UR)FR&V&]@54]WN43U=;>HIBQ14'9V"IBLL3##*Q],)
+M]QWNQWGS@"VU^,'ZK(O"&XX73+[$P:JK;=PJN[)=#R\,!3RVIIE4%#$M#M:[T;+*^L[L\_E->?;7GBTF.WV'SA^,C
+MI_(U5I*^F0K_A\E2M,7C("1S"";,76BQS-J0\@"(!@A7K8LPYTN8I$"81B%1
+M`2=VC#?M08HPA"!^5`AU)@H2LH%WI7IIQW$(44H5I@A&_(*0&2]9BH$/S424
+MA[ID(4F0PG+%CL8%'F96&M\T#-$984"5((`GI9O\^J`G)"3
+MF$F&UPO%T7I"-_4@?=<7448N.,D(T:\SOC/B0Q[.&;'-BYP3#<._R"(7]"@2
+MB;[:-2ACE"YUZ)"\@RP@*&P7C0%#GO?PG1Z($QPJPJX;0J%
+MM77KK\]``=R#J10T14"4D%<\6L+ME\?UG3^>^5U.OD!0]L0`3B!0@@KR<9-P
+MXQ-;L=B_?>*S;KP@@@<.\Z#.-M"Q%IPM$S$,EA?"(H)'AE%@E>(`38$0KENH
+M]!A=)P]Y_=LLSAE$R%+").Z_8;-;K9`DT\WCWG0Y"P]#];[*TR"=W$V,V91A
+M71,P*$:G9H`TMG,HETJ\/!38KNF;OK\P*&5H!OJJO>I!4(\(*&-IF"F@%#?:
+MYPX,&FHI(<=[S*;`*%BV3+
+M@P&<#C!ZMB!2%%`=4,*!O.H4S#`@H%NK\B\5#*>?XGQMCF8W'\*G4SGM?J3$
+M.[`K2U%`44!BQ&16V,KX'0*3KCCC(@8G90&TX@*';F\]9.BEPZ+322R/-M10
+MR5`$IZ@@N9>,I984,W=;)`QC)JX*%>Y?0&'-AM15=<-%!(&;ZK>!O.*&]IL/,LNP44\D;(=EVWGN.
+M<:*;Y.R9TN"O:[A73N%1/,)PN)6#(&+%6B&Y"2A!;:[G-0(
+M^-\(=F/B/>'L(+-)POFTHV%?R5\SNC[ABBN!J7%-YELS%@L5(H5@58P5D`B`
+MQ/D!-HQ7,::HBH&,@RH3&"0PAK<0`BHRSV)WVT<&3@">YM+7(7/6<0U33JH%
+MFYS:'!VWP`!*]J2!E)"0B0B*((HQ$11B/WIB!1L2$UPD9"-3(1C`4W^Z@.T2
+M$RV=VM%5165C3(]7JSZ`N=#Z<"=NM9G/\83I['_K/4_HWCFKHWV:J:Y?Y'7A
+M?DI$1`BM`$0%(``A]#ENPDS3Z^)MN7]3\W6%.*Z'<&R.8+:@@0!@(0%
+M"09`0($!0@H)Q;WT=+2$%0GCY,%V.FV#8+C555,5:JE1I*&A64J4TRPD#?A"`A7A?E=V;H^5^.-Z
+M6;9:`B>RV7/ZWMF<\GFAL7@"0.W=<"A9CT-E%!,43[^,@)S]'FB,H9"!IZQH
+MH1S!EM)#>P@B%+J@H=P:#%`(H!&-^E\:4(U/%V"IIP!0VP4,!8N3#&7E(4*%
+M)0E+QR`H8:"X`T;-Y?41POCSN=O=DYGW<]63['4"AD9$])!#N0$%Y%49R1H]
+M6*"?%YJ!HJ9E39'VPG`9;O/EH#D8L95,.A8F&DHX/>60794`1,M0S,&B"%^>
+M[P>L"]1T,P1:P($'TD0"Y41OAU@4,@*&P>W@],!U&R'%CMFQ:HY5&CU!-N[:
+M:`]:H6HH)F;`H[WL[.Z[\^9ZZ[8.CHFX(ZCAF4T3E@H1&D:F)3>UXW%).3O]
+MRT3:,VU>!F(A42\]S]WA?`OT/W'0ZPB&3&:)2,V*VM25/IZA($,I-Z0HI"08
+M-.R5&JC:35G(%UE`@`EGDP"BC`(HW^#4+@4(!-L%"/8+F@V"(0E!$*(9H2M"
+MHPD"AN&["
+MHYN6'+C&PP%&S;A:II;HDMNP,&X`2"C@&373*.8%#/6+@=`;!$.`>9,UQMY*T*=9H'VFCSJY7!1
+MH?-G*%!;>7G+:^;0H7;MI8I6M-//XE"IS@R@H7E
+MY\2C1W-"$VZCS`4,FYEC"$C)Q.UJUX'2_3P_3?C7Y81
+MP,^I,KDUEX*'2RG3Z1TR=K[S57UI`^G-6<@AIA:KW**=FLHRLF,>RE9I:;CV
+M4C_OU2_?Z=CQ.71PKA'F+1J.K@V'#!L0F\Q=I##\/`0="-8S0ZE_`R/TQF'CHT4`W8<[TPTZU!0+[.[FW,VK1354`PU6:N@I$Y
+M1)%S)K0='IB5-T]&)5RK!@S/9"_3E$4!NNR>F!0@9T1/(CV^`DDA/[34!0RQ
+M%#(P6<\X#56L2%-:EHOT6QP7!X.0;!#X&/ASC>:8LLPWEBS*LKKB9-)5-!59
+M;6UU`W:U?"X$VMI5J-"JJM33NIPX&OL!*OGM;9XNSKN6C=V;OA4M:TIL8[8*
+M%^J)980DA-L3E:P4-XO,2W1]3!ORDA(8FT"AA0@TH(;+`IJ,.ZW.(-U!^J\((H=5D)E'S]CYGC\FGS[,.=D#,
+M(@6/J18(LK%TQ`B`(48]'1WW<%0RDAXIVF(Y#P3)VT/;XM?VC8[E<)6]2F'B^O^_4N,>`RGOW`@G[W'RU`?#%[PDA$DU(]^8A?^
+MDQ/MS"1D8>ER,>3H3/'H7"ZZZZZ8`23.A,Z?;PB*/NR+C\>IA[S;IO[X\L(U
+M*8+6$!40?^>X!1K^-^)7O8>D0_%NKYCSHZS]:)(
+M#/7AQ%$8&:1AS>,M=[MMCGM6%&DF`2`,8!0\5[J>,"A_;L#]"=R+AE/7]C
+M8_=MCV(DO(2>>\_GL\JRX/G?045JAA`"?.G7@>0?@4#[;Q3V6/>^I+CR_SZ/
+M,QH'S_0_0J>U@>)/_$/5:-1JY7&7'UTX3B"P`2@J&]3PK1Y37045.-[&RU@C
+MRZE!QRM1S7R%'CX/#[_R-&9Z3/H$A9[*ITAY+H87N/MQ^XRSN=4GN]8J"*9T
+M4R?\IT_Z'OD_W1@',I\5%O.?>V!^_>KA%_VPS55;10&&]E*IK?KLI,/7_/>L
+M^UO:R&]I_AK"3J+\;_
+M27^:>[[K:'0_IRO#AY]*0D\W_]V,W?7WO7[;][\4N]4J;74]OKR#I("ZF)[\D.+7[JW<1M_S+T\R07]^.GHN2N_V9W^UAH/?M6L(]G=;K8`^
+MNGF*OQV7S(P>`QF$K9K.8#_/:_`86%)Q#=W]L'PKE*TZ/Q/>W0X:[]Z!=MVAGZ3XE^R4@7Z<;!&Y2#\_
+MZ)!2!?*E\$B%&8XI)1DC5[YX0Q.D!U5!X>T_#9.<7W8\W8*\2(#[7OKPL/%P
+MMCZ'U_NJ)T\='S>((D_7A^ELI=U(3,[P-9[+TT'PWDE'"$\!X=_\_).ROW^?
+MC=.S-W,8.>T2CBVG&3T>S'H/R==M"JX)?-VOP7GM-
+M?2\':;;5N;OB<3>9^20W4&3S:/LW:AARVH-G6TXL
+MDV\!)L(@OU(`.H@8<80FQRK)$PE(T\YV=T-QZICXH'U:!W.%:XYY4M:_.D`5
+M6YB":A=D94"H`(#`W"$#%A,')0]-U:>&S":X@W%\BOH3^V+%,$"HQKE""HB-
+M0A!C@V((WR@$O#G3>I#[/G[2P@U&5UR47BO1?WMZ5$;Y`0%V0?IONU7!O;OQ
+M$->N4W#HL,OL_MU_I-KT.>\Z;3O>4:*LX#Q,&CM7">7Z$\6]4ZMY7I=NTYM%
+MZ)IY48P2K*WEJ^2V-(B`/`IKS(?6MQ2E'=>U[*5&>8($I,!YRH*,FI%59T3G
+MCT@9#11"[,IUXXTZJ=+@L^BO,#!,@8`B,,'D:[,(IRKJN!N(PCUN7ETFMNQ>
+MT.M,<5L4#9FB*%?$W!57FM?/^ZBA@2T-7E"Z%F;\[:8XR0<6)_+$E*H!FF8.
+M-XG<(8#8^U:S%08IU0*`6B3A$>0E<[+JG_>:@;>-`Y1E`&`8=(RYUE')]1`TYY(A:#RB0FG3$PE+)8S
+MGU.@!,R[6^+K@E&1>47'U:5Y9^H"9N$SLJ5J?%:_%JV9"PQ"#C%I;C:?MTG)
+M<_+^*U#T[J#O`$?NA$H`J5@CT><;M?J"+89:J5'/N15EU7F7>F1"I0/G+">Y
+M3+-@8%+J^"D)LAGHE1:IW4%D>L70=!S'KQZ=T/&:X3,<[QS#1;Q0:L.Y4(WR
+MIS8('-XK,_=EA`C,5^$HZS9@[X!)(&TP;5L0+F9IIL:86^R:&;<$8IY<9"=$
+M980D2B%BWIQ8MF1**D]I;;CK69[X^A0WPLO@0K_*(X]F;<'PTXE7
+M=W36:V(H)-CY_U'(8WEH]4NH>1WYRQ+BR?UNR'F7?3D
+MMT2R'C%XN48K6]_0=R98O.?AXM=&"^,8F;?1F5KU"@4%
+M$1U.K,)S+4!]61]+Q!Q];=1<:0H&&9F^&`@320!JS8'6STZ[:=E*IZ;&BDC7
+M0Z/7-5O>MY:IK*BM/5>;X56^9&U^#42.H)OFI54HV1)`TJC7_B33GAVXJ]7O
+M;?1"OI([IPP,[MV,/M;SJ$X)F]1/8&A&510:&ID)5D![*U)9=_1^5X(."9$3
+MAKAD3Q"G(58]/R>7K9'EWM'SQL4<(VSXPXG5&YKMU-_C3ND*S57\G4:0+B9,
+MJ5UN=Z]5!0TZS\:=[S.J>H-)[0]6K0B-@S.BC387!M
+M$S)!YJMA-!`JT[;'[Z^+^[0R-)::%H%GHKM=7G#8VW_]:.U^;<&A9&M/6UP?W""!BY%`
+M#![EE,U-#7?W49=0ZXLS<=KZ:P-?Z3.X9G9?7W,9U.N2TLZ.@I-#Z@G7\7TV
+MWHSA0AEJ*,1,`G^Y-'RV*AEKF,/?,:P^UZ&F<"JJ0NMG0&<\V@F>9R#G`8
+M8"2$M4:2?X:&&W[K8\*=>CQHL8G]'<]@CN1F#'"X-ZO8\(=;X+BJT=]2+C:H
+M4PL_D99">XRIU6^@S@B;6=;A"S6J!DD&;F8.@CY3\G*1J,;%1,\3U?C65;#&*>6OE!
+MFVJJJM,IDRO),/K661%M4\6#1,IBT04O9HXN64;!]\FH*H#<46AK6%-'LCF9
+MR+1L24TY4/W_$$4`;*4R6-)=-<[!3VX70!7=GKY%5A/>5U.!KP4`/^X".'H%Q?;P',T8(,[(O1T\\K!%">*#TZ3L)AZ$/:3#
+MN#L_''38,`!CF+]:(8[7>H+[G4L`8'8$'2;(;A-TB>Y-?`Z0SHGO<-&]>=?1
+M.%\D]#]-"\?6"0!S,$=]"\WZJKFWW+0,KN8@H5#,P4JO+2[I8+)K.GE;OZ'7
+MW6^-;6=X]"-%4;W@V9C.#*N(]M'VAWIC7&N_#'E;W?3^T'>]-2-X=9B^4;U\
+MT'*-(H-.>>8:,Q(3.V46OUD]TQT7D-PM+!C5]1&$A5_.0$FU.WL(&AB[^J(W
+MC9_.U;3@%I%C#)%M;R_(%(ZBT`U7Z%$^2K53FF"->R$&0GTQ1HJCRC*ZNL1@
+M;F!0>FK6OK[E(YYHF^=GYS,F>9DC+2@>J2@N@/>\BL^-6Z=!H*-?OLIAZ_NK
+MLDN"E,GB8]*I2!;=UH7JBS.6AF88^:>-ZOR=_N7A"M\B,YE=CKV?B(2%+;-$FTH0P@=0=)7(@D5HIYCOV$EW.MZP_:HB
+M&,OED]W=BZGUITM#NKAC8,`1SO"V/<*,?4Q+AGF/V=O(_QZ9Q08'TG;(.%W>
+M3QI"^R0+9F25\+`V81V6@)V/X&8HAATY-]YTO.V[=I1-2`X6_"5%@0JCBP0?
+M!4@"!(7#-S*G*12#Q7ISP]OR(^?&&48%!EP>;\@B($4F'_XNY(IPH2!)0!**
+`
+end
diff --git a/gdb/testsuite/gdb.base/tab-crash.exp b/gdb/testsuite/gdb.base/tab-crash.exp
new file mode 100644
index 0000000..948c1e7
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tab-crash.exp
@@ -0,0 +1,43 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2017 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 http://www.gnu.org/licenses/.
+
+if { ![istarget x86_64-*-* ] || ![is_lp64_target] } {
+ return
+}
+
+standard_testfile
+
+# gcc-base-debuginfo-6.3.1-1.fc25.x86_64
+# /usr/lib/debug/lib64/libgcc_s-6.3.1-20161221.so.1.debug
+# objcopy -R .debug_loc -R .debug_ranges -R .debug_info -R .debug_abbrev -R .debug_aranges -R .debug_str -R .comment ...
+
+set debugfilebz2uu ${srcdir}/${subdir}/${testfile}.bz2.uu
+set debugfile [standard_output_file ${testfile}]
+
+if {[catch "system \"uudecode -o - ${debugfilebz2uu} | bzip2 -dc >${debugfile}\""] != 0} {
+ untested "failed uudecode or bzip2"
+ return -1
+}
+file stat ${debugfile} debugfilestat
+if {$debugfilestat(size) != 71936} {
+ untested "uudecode or bzip2 produce invalid result"
+ return -1
+}
+
+clean_restart ${debugfile}
+
+gdb_test "complete p si" "complete p si\r\np size_of_encoded_value"
++++++ gdb-rhbz795424-bitpos-20of25.patch ++++++
++++ 2828 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/gdb/gdb-rhbz795424-bitpos-20of25.patch
++++ and /work/SRC/openSUSE:Factory/.gdb.new/gdb-rhbz795424-bitpos-20of25.patch
++++++ gdb-rhbz795424-bitpos-23of25.patch ++++++
++++ 1060 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/gdb/gdb-rhbz795424-bitpos-23of25.patch
++++ and /work/SRC/openSUSE:Factory/.gdb.new/gdb-rhbz795424-bitpos-23of25.patch
++++++ gdb-rhbz795424-bitpos-lazyvalue.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.337662685 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.337662685 +0200
@@ -34,7 +34,7 @@
+# Test 64-bit file first as it is not compiled so its compilation never fails.
+
+set file64bitbz2uu ${srcdir}/${subdir}/${testfile}.bz2.uu
-+set file64bit ${objdir}/${subdir}/${testfile}
++set file64bit [standard_output_file ${testfile}]
+
+if {[catch "system \"uudecode -o - ${file64bitbz2uu} | bzip2 -dc >${file64bit}\""] != 0} {
+ untested "failed uudecode or bzip2"
++++++ gdb-vla-intel-fortran-strides.patch ++++++
++++ 828 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/gdb/gdb-vla-intel-fortran-strides.patch
++++ and /work/SRC/openSUSE:Factory/.gdb.new/gdb-vla-intel-fortran-strides.patch
++++++ gdb-vla-intel-fortran-vla-strings.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.425650241 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.429649676 +0200
@@ -1,6 +1,9 @@
git diff --stat -p gdb/master...gdb/users/bheckel/fortran-vla-strings
0ad7d8d1a3a36c6e04e3b6d37d8825f18d595723
+entry for NEWS:
+ * Fortran: Support pointers to dynamic types.
+
gdb/NEWS | 2 +
gdb/c-valprint.c | 22 +++++
gdb/dwarf2read.c | 158 +++++++++++++++++++++++++-----
@@ -23,24 +26,11 @@
gdb/valprint.c | 6 --
20 files changed, 827 insertions(+), 110 deletions(-)
-Index: gdb-7.11.90.20160907/gdb/NEWS
-===================================================================
---- gdb-7.11.90.20160907.orig/gdb/NEWS 2016-09-07 21:52:10.273563060 +0200
-+++ gdb-7.11.90.20160907/gdb/NEWS 2016-09-07 21:53:22.708210416 +0200
-@@ -1,6 +1,8 @@
- What has changed in GDB?
- (Organized release by release)
-
-+* Fortran: Support pointers to dynamic types.
-+
- *** Changes in GDB 7.12
-
- * GDB and GDBserver now build with a C++ compiler by default.
-Index: gdb-7.11.90.20160907/gdb/c-valprint.c
+Index: gdb-7.99.90.20170420/gdb/c-valprint.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/c-valprint.c 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/c-valprint.c 2016-09-07 21:53:22.708210416 +0200
-@@ -645,6 +645,28 @@
+--- gdb-7.99.90.20170420.orig/gdb/c-valprint.c 2017-04-20 22:27:47.077032118 +0200
++++ gdb-7.99.90.20170420/gdb/c-valprint.c 2017-04-20 22:27:49.947050243 +0200
+@@ -650,6 +650,28 @@
else
{
/* normal case */
@@ -69,11 +59,11 @@
fprintf_filtered (stream, "(");
type_print (value_type (val), "", stream, -1);
fprintf_filtered (stream, ") ");
-Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/dwarf2read.c 2016-09-07 21:52:53.700951175 +0200
-+++ gdb-7.11.90.20160907/gdb/dwarf2read.c 2016-09-07 21:54:02.140562825 +0200
-@@ -1764,7 +1764,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c 2017-04-20 22:27:47.091032206 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 22:28:28.878296105 +0200
+@@ -1872,7 +1872,8 @@
static int attr_to_dynamic_prop (const struct attribute *attr,
struct die_info *die, struct dwarf2_cu *cu,
@@ -83,7 +73,7 @@
/* memory allocation interface */
-@@ -11446,7 +11447,7 @@
+@@ -11557,7 +11558,7 @@
{
newobj->static_link
= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
@@ -92,7 +82,7 @@
}
cu->list_in_scope = &local_symbols;
-@@ -14512,29 +14513,94 @@
+@@ -14791,29 +14792,94 @@
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct type *type, *range_type, *index_type, *char_type;
struct attribute *attr;
@@ -198,7 +188,7 @@
char_type = language_string_char_type (cu->language_defn, gdbarch);
type = create_string_type (NULL, char_type, range_type);
-@@ -14864,7 +14930,8 @@
+@@ -15163,7 +15229,8 @@
static int
attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
@@ -208,7 +198,7 @@
{
struct dwarf2_property_baton *baton;
struct obstack *obstack = &cu->objfile->objfile_obstack;
-@@ -14874,14 +14941,33 @@
+@@ -15173,14 +15240,33 @@
if (attr_form_is_block (attr))
{
@@ -246,7 +236,7 @@
}
else if (attr_form_is_ref (attr))
{
-@@ -14914,8 +15000,28 @@
+@@ -15213,8 +15299,28 @@
baton = XOBNEW (obstack, struct dwarf2_property_baton);
baton->referenced_type = die_type (target_die, target_cu);
baton->locexpr.per_cu = cu->per_cu;
@@ -277,7 +267,7 @@
prop->data.baton = baton;
prop->kind = PROP_LOCEXPR;
gdb_assert (prop->data.baton != NULL);
-@@ -15027,24 +15133,24 @@
+@@ -15325,24 +15431,24 @@
attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
if (attr)
@@ -285,7 +275,7 @@
+ if (!attr_to_dynamic_prop (attr, die, cu, &stride, NULL, 0))
complaint (&symfile_complaints, _("Missing DW_AT_byte_stride "
"- DIE at 0x%x [in module %s]"),
- die->offset.sect_off, objfile_name (cu->objfile));
+ to_underlying (die->sect_off), objfile_name (cu->objfile));
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
if (attr)
@@ -294,7 +284,7 @@
else if (!low_default_is_valid)
complaint (&symfile_complaints, _("Missing DW_AT_lower_bound "
"- DIE at 0x%x [in module %s]"),
- die->offset.sect_off, objfile_name (cu->objfile));
+ to_underlying (die->sect_off), objfile_name (cu->objfile));
attr = dwarf2_attr (die, DW_AT_upper_bound, cu);
- if (!attr_to_dynamic_prop (attr, die, cu, &high))
@@ -306,7 +296,7 @@
{
/* If bounds are constant do the final calculation here. */
if (low.kind == PROP_CONST && high.kind == PROP_CONST)
-@@ -22416,7 +22522,7 @@
+@@ -22967,7 +23073,7 @@
attr = dwarf2_attr (die, DW_AT_allocated, cu);
if (attr_form_is_block (attr))
{
@@ -315,7 +305,7 @@
add_dyn_prop (DYN_PROP_ALLOCATED, prop, type, objfile);
}
else if (attr != NULL)
-@@ -22431,7 +22537,7 @@
+@@ -22982,7 +23088,7 @@
attr = dwarf2_attr (die, DW_AT_associated, cu);
if (attr_form_is_block (attr))
{
@@ -324,7 +314,7 @@
add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type, objfile);
}
else if (attr != NULL)
-@@ -22444,7 +22550,7 @@
+@@ -22995,7 +23101,7 @@
/* Read DW_AT_data_location and set in type. */
attr = dwarf2_attr (die, DW_AT_data_location, cu);
@@ -333,10 +323,10 @@
add_dyn_prop (DYN_PROP_DATA_LOCATION, prop, type, objfile);
if (dwarf2_per_objfile->die_type_hash == NULL)
-Index: gdb-7.11.90.20160907/gdb/f-typeprint.c
+Index: gdb-7.99.90.20170420/gdb/f-typeprint.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/f-typeprint.c 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/f-typeprint.c 2016-09-07 21:53:22.713210461 +0200
+--- gdb-7.99.90.20170420.orig/gdb/f-typeprint.c 2017-04-20 22:27:26.288900835 +0200
++++ gdb-7.99.90.20170420/gdb/f-typeprint.c 2017-04-20 22:27:49.953050280 +0200
@@ -37,7 +37,7 @@
#endif
@@ -346,9 +336,9 @@
void f_type_print_varspec_prefix (struct type *, struct ui_file *,
int, int);
-@@ -54,18 +54,6 @@
+@@ -53,18 +53,6 @@
+ {
enum type_code code;
- int demangled_args;
- if (type_not_associated (type))
- {
@@ -365,16 +355,16 @@
f_type_print_base (type, stream, show, level);
code = TYPE_CODE (type);
if ((varstring != NULL && *varstring != '\0')
-@@ -87,7 +75,7 @@
- so don't print an additional pair of ()'s. */
+@@ -89,7 +77,7 @@
- demangled_args = varstring[strlen (varstring) - 1] == ')';
+ demangled_args = (*varstring != '\0'
+ && varstring[strlen (varstring) - 1] == ')');
- f_type_print_varspec_suffix (type, stream, show, 0, demangled_args, 0);
+ f_type_print_varspec_suffix (type, stream, show, 0, demangled_args, 0, 0);
}
}
-@@ -157,7 +145,7 @@
+@@ -159,7 +147,7 @@
static void
f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
int show, int passed_a_ptr, int demangled_args,
@@ -383,7 +373,7 @@
{
int upper_bound, lower_bound;
-@@ -181,34 +169,50 @@
+@@ -183,34 +171,50 @@
fprintf_filtered (stream, "(");
if (type_not_associated (type))
@@ -460,7 +450,7 @@
if (arrayprint_recurse_level == 1)
fprintf_filtered (stream, ")");
else
-@@ -219,13 +223,14 @@
+@@ -221,13 +225,14 @@
case TYPE_CODE_PTR:
case TYPE_CODE_REF:
f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0, 1, 0,
@@ -477,7 +467,7 @@
if (passed_a_ptr)
fprintf_filtered (stream, ")");
-@@ -376,7 +381,7 @@
+@@ -378,7 +383,7 @@
fputs_filtered (" :: ", stream);
fputs_filtered (TYPE_FIELD_NAME (type, index), stream);
f_type_print_varspec_suffix (TYPE_FIELD_TYPE (type, index),
@@ -486,11 +476,11 @@
fputs_filtered ("\n", stream);
}
fprintfi_filtered (level, stream, "End Type ");
-Index: gdb-7.11.90.20160907/gdb/gdbtypes.c
+Index: gdb-7.99.90.20170420/gdb/gdbtypes.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/gdbtypes.c 2016-09-07 21:52:53.703951202 +0200
-+++ gdb-7.11.90.20160907/gdb/gdbtypes.c 2016-09-07 21:53:22.714210470 +0200
-@@ -1816,7 +1816,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.c 2017-04-20 22:27:47.093032219 +0200
++++ gdb-7.99.90.20170420/gdb/gdbtypes.c 2017-04-20 22:27:49.954050287 +0200
+@@ -1840,7 +1840,8 @@
type = check_typedef (type);
/* We only want to recognize references at the outermost level. */
@@ -500,7 +490,7 @@
type = check_typedef (TYPE_TARGET_TYPE (type));
/* Types that have a dynamic TYPE_DATA_LOCATION are considered
-@@ -1850,6 +1851,7 @@
+@@ -1874,6 +1875,7 @@
}
case TYPE_CODE_ARRAY:
@@ -508,7 +498,7 @@
{
gdb_assert (TYPE_NFIELDS (type) == 1);
-@@ -1962,7 +1964,8 @@
+@@ -1986,7 +1988,8 @@
struct type *ary_dim;
struct dynamic_prop *prop;
@@ -518,7 +508,7 @@
type = copy_type (type);
-@@ -1987,13 +1990,17 @@
+@@ -2011,13 +2014,17 @@
ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
@@ -539,7 +529,7 @@
}
/* Resolve dynamic bounds of members of the union TYPE to static
-@@ -2123,6 +2130,28 @@
+@@ -2147,6 +2154,28 @@
return resolved_type;
}
@@ -568,7 +558,7 @@
/* Worker for resolved_dynamic_type. */
static struct type *
-@@ -2171,7 +2200,12 @@
+@@ -2195,7 +2224,12 @@
break;
}
@@ -581,10 +571,10 @@
resolved_type = resolve_dynamic_array (type, addr_stack);
break;
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.cc
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.cc
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.cp/vla-cxx.cc 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.cc 2016-09-07 21:53:22.714210470 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.cp/vla-cxx.cc 2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.cc 2017-04-20 22:27:49.955050293 +0200
@@ -15,6 +15,10 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/. */
@@ -613,10 +603,10 @@
+
return vla[2];
}
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.cp/vla-cxx.exp 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.exp 2016-09-07 21:53:22.715210479 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.cp/vla-cxx.exp 2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.exp 2017-04-20 22:27:49.955050293 +0200
@@ -23,6 +23,12 @@
return -1
}
@@ -637,10 +627,10 @@
+gdb_test "ptype ptr" "int \\(\\*\\)\\\[3\\\]"
+gdb_test "print ptr" "\\(int \\(\\*\\)\\\[3\\\]\\) $hex"
+gdb_test "print *ptr" " = \\{5, 7, 9\\}"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.exp 2016-09-07 21:53:22.715210479 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.exp 2017-04-20 22:27:49.955050293 +0200
@@ -0,0 +1,143 @@
+# Copyright 2016 Free Software Foundation, Inc.
+
@@ -785,10 +775,10 @@
+gdb_test "print *((integer*) &inta + 2)" "= 3" "print temporary pointer, array"
+gdb_test "print *((integer*) &intvla + 3)" "= 4" "print temporary pointer, allocated vla"
+gdb_test "print \$pc" "= \\(PTR TO -> \\( void \\(\\)\\(\\)\\)\\) $hex " "Print program counter"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.f90 2016-09-07 21:53:22.715210479 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.f90 2017-04-20 22:27:49.955050293 +0200
@@ -0,0 +1,109 @@
+! Copyright 2016 Free Software Foundation, Inc.
+!
@@ -899,10 +889,10 @@
+ intv = intv + 1 ! After value assignment
+
+end program pointers
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/print_type.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/print_type.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/print_type.exp 2016-09-07 21:53:22.715210479 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/print_type.exp 2017-04-20 22:27:49.956050299 +0200
@@ -0,0 +1,100 @@
+# Copyright 2016 Free Software Foundation, Inc.
+
@@ -1004,10 +994,10 @@
+ }
+}
+gdb_test "ptype realp" "type = PTR TO -> \\( $real \\)"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-ptype.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-ptype.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp 2016-09-07 21:52:53.705951220 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-ptype.exp 2016-09-07 21:53:22.715210479 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp 2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-ptype.exp 2017-04-20 22:27:49.956050299 +0200
@@ -32,9 +32,9 @@
# Check the ptype of various VLA states and pointer to VLA's.
gdb_breakpoint [gdb_get_line_number "vla1-init"]
@@ -1045,10 +1035,10 @@
gdb_test "ptype vla2(5, 45, 20)" \
"no such vector element \\\(vector not allocated\\\)" \
"ptype vla2(5, 45, 20) not allocated"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.exp 2016-09-07 21:53:22.716210488 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.exp 2017-04-20 22:27:49.956050299 +0200
@@ -0,0 +1,103 @@
+# Copyright 2016 Free Software Foundation, Inc.
+
@@ -1153,10 +1143,10 @@
+ pass $test
+ }
+}
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.f90 2016-09-07 21:53:22.716210488 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.f90 2017-04-20 22:27:49.956050299 +0200
@@ -0,0 +1,39 @@
+! Copyright 2016 Free Software Foundation, Inc.
+!
@@ -1197,10 +1187,10 @@
+ var_char_p => null()
+ l = associated(var_char_p) ! var_char_p-not-associated
+end program vla_strings
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-type.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-type.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.fortran/vla-type.exp 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-type.exp 2016-09-07 21:53:22.716210488 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-type.exp 2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-type.exp 2017-04-20 22:27:49.956050299 +0200
@@ -132,7 +132,10 @@
"End Type one" ]
@@ -1222,17 +1212,17 @@
"End Type one" ] \
"ptype fivedynarr(2)%tone, not allocated"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-value.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-value.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.fortran/vla-value.exp 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-value.exp 2016-09-07 21:53:22.716210488 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-value.exp 2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-value.exp 2017-04-20 22:27:49.957050306 +0200
@@ -14,6 +14,7 @@
# along with this program. If not, see http://www.gnu.org/licenses/.
standard_testfile "vla.f90"
+load_lib "fortran.exp"
- if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
+ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
{debug f90 quiet}] } {
@@ -25,12 +26,15 @@
return -1
@@ -1278,10 +1268,10 @@
"print associated &pvla"
gdb_test "print pvla(3, 6, 9)" " = 42" "print associated pvla(3,6,9)"
gdb_test "print pvla(1, 3, 8)" " = 1001" "print associated pvla(1,3,8)"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-var-child-f.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-var-child-f.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2016-09-07 21:53:22.716210488 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2017-04-20 22:27:49.957050306 +0200
@@ -17,6 +17,7 @@
load_lib mi-support.exp
@@ -1303,10 +1293,10 @@
set children [list [list "array.-1" "-1" 2 "$int4 \\(2\\)"] \
[list "array.0" "0" 2 "$int4 \\(2\\)"] \
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2016-09-07 21:53:22.716210488 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2017-04-20 22:27:49.957050306 +0200
@@ -17,7 +17,9 @@
# Array (VLA).
@@ -1405,11 +1395,11 @@
"info type variable pvla2_associated"
mi_gdb_test "592-var-show-format pvla2_associated" \
"592\\^done,format=\"natural\"" \
-Index: gdb-7.11.90.20160907/gdb/typeprint.c
+Index: gdb-7.99.90.20170420/gdb/typeprint.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/typeprint.c 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/typeprint.c 2016-09-07 21:53:22.717210497 +0200
-@@ -485,6 +485,25 @@
+--- gdb-7.99.90.20170420.orig/gdb/typeprint.c 2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/typeprint.c 2017-04-20 22:27:49.957050306 +0200
+@@ -474,6 +474,25 @@
printf_filtered (" */\n");
}
@@ -1435,11 +1425,11 @@
LA_PRINT_TYPE (type, "", gdb_stdout, show, 0, &flags);
printf_filtered ("\n");
-Index: gdb-7.11.90.20160907/gdb/valops.c
+Index: gdb-7.99.90.20170420/gdb/valops.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/valops.c 2016-09-07 21:52:53.707951238 +0200
-+++ gdb-7.11.90.20160907/gdb/valops.c 2016-09-07 21:53:22.717210497 +0200
-@@ -1562,6 +1562,19 @@
+--- gdb-7.99.90.20170420.orig/gdb/valops.c 2017-04-20 22:27:47.096032238 +0200
++++ gdb-7.99.90.20170420/gdb/valops.c 2017-04-20 22:27:49.958050312 +0200
+@@ -1574,6 +1574,19 @@
if (TYPE_CODE (base_type) == TYPE_CODE_PTR)
{
struct type *enc_type;
@@ -1459,7 +1449,7 @@
/* We may be pointing to something embedded in a larger object.
Get the real type of the enclosing object. */
-@@ -1577,8 +1590,7 @@
+@@ -1589,8 +1602,7 @@
else
/* Retrieve the enclosing object pointed to. */
arg2 = value_at_lazy (enc_type,
@@ -1469,11 +1459,11 @@
enc_type = value_type (arg2);
return readjust_indirect_value_type (arg2, enc_type, base_type, arg1);
-Index: gdb-7.11.90.20160907/gdb/valprint.c
+Index: gdb-7.99.90.20170420/gdb/valprint.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/valprint.c 2016-09-07 21:52:10.273563060 +0200
-+++ gdb-7.11.90.20160907/gdb/valprint.c 2016-09-07 21:53:22.718210506 +0200
-@@ -1141,12 +1141,6 @@
+--- gdb-7.99.90.20170420.orig/gdb/valprint.c 2017-04-20 22:25:38.224218378 +0200
++++ gdb-7.99.90.20170420/gdb/valprint.c 2017-04-20 22:27:49.959050318 +0200
+@@ -1166,12 +1166,6 @@
return 0;
}
++++++ gdb-vla-intel-stringbt-fix.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.437648544 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.441647979 +0200
@@ -27,40 +27,43 @@
Thanks,
Jan
---- ./gdb/dwarf2loc.c 2016-08-29 04:01:25.000000000 +0200
-+++ ./gdb/dwarf2loc.c 2016-09-01 11:00:20.258909494 +0200
-@@ -2289,6 +2289,15 @@ const struct dwarf_expr_context_funcs dw
- dwarf_expr_get_obj_addr
- };
+Index: gdb-7.99.90.20170420/gdb/dwarf2loc.c
+===================================================================
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2loc.c 2017-04-20 22:28:59.686490666 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2loc.c 2017-04-20 22:29:13.104575404 +0200
+@@ -42,6 +42,7 @@
+ #include <algorithm>
+ #include <vector>
+ #include
++#include <functional>
+ #include "common/underlying.h"
-+static void
-+select_frame_cleanup (void *arg)
-+{
-+ struct frame_info *frame = (struct frame_info *) arg;
-+
-+ if (frame != NULL)
-+ select_frame (frame);
-+}
-+
- /* Evaluate a location description, starting at DATA and with length
- SIZE, to find the current location of variable of TYPE in the
- context of FRAME. BYTE_OFFSET is applied after the contents are
-@@ -2318,6 +2327,11 @@ dwarf2_evaluate_loc_desc_full (struct ty
+ extern int dwarf_always_disassemble;
+@@ -2366,6 +2367,20 @@
+ ctx.per_cu = per_cu;
+ ctx.obj_address = 0;
- ctx = new_dwarf_expr_context ();
- old_chain = make_cleanup_free_dwarf_expr_context (ctx);
-+
-+ make_cleanup (select_frame_cleanup, deprecated_safe_get_selected_frame ());
-+ if (frame != NULL)
-+ select_frame (frame);
++frame_id old_frame_id (get_frame_id (deprecated_safe_get_selected_frame ()));
++class RestoreCall {
++private:
++ const std::function func;
++public:
++ RestoreCall(std::function func_):func(func_) {}
++ ~RestoreCall() { func(); }
++} restore_frame([=]() {
++ frame_info *old_frame (frame_find_by_id (old_frame_id));
++ if (old_frame != NULL)
++ select_frame (old_frame);
++});
++if (frame != NULL) select_frame (frame);
+
- value_chain = make_cleanup_value_free_to_mark (value_mark ());
+ scoped_value_mark free_values;
- ctx->gdbarch = get_objfile_arch (objfile);
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90
+ ctx.gdbarch = get_objfile_arch (objfile);
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 2015-05-31 16:14:05.844545344 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 2017-04-20 22:29:00.673496899 +0200
@@ -0,0 +1,24 @@
+! Copyright 2010 Free Software Foundation, Inc.
+!
@@ -86,10 +89,10 @@
+ real :: dummy
+ dummy = 1
+end subroutine bar
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp 2015-05-31 16:14:05.845545351 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp 2017-04-20 22:29:00.673496899 +0200
@@ -0,0 +1,39 @@
+# Copyright 2010 Free Software Foundation, Inc.
+
@@ -130,10 +133,10 @@
+}
+
+gdb_test "bt" {foo \(string='hello'.*}
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 2015-05-31 16:14:05.845545351 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 2017-04-20 22:29:00.673496899 +0200
@@ -0,0 +1,36 @@
+! Copyright 2010 Free Software Foundation, Inc.
+!
Show replies by date