From 086419700619093e212c20a69a0a3d97443a4fc2f7a33ef459c668b64cd67386 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 3 Apr 2017 12:49:51 +0000 Subject: [PATCH 1/7] - Fix rpm condition to allow build on SLE10. OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=157 --- gdb.changes | 5 +++++ gdb.spec | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gdb.changes b/gdb.changes index 70c8489..945d1e0 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Apr 3 12:48:42 UTC 2017 - rguenther@suse.com + +- Fix rpm condition to allow build on SLE10. + ------------------------------------------------------------------- Wed Feb 15 15:55:11 UTC 2017 - matz@suse.com diff --git a/gdb.spec b/gdb.spec index f5daca1..26ab0b5 100644 --- a/gdb.spec +++ b/gdb.spec @@ -298,7 +298,7 @@ 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 From a77728baf055f33b66665fdbd03b84850f9247d0ef7c0e0642446c205569d665 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 3 Apr 2017 12:59:56 +0000 Subject: [PATCH 2/7] - Do not require glibc-devel-static-32bit on SLE12 which is not available there. OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=158 --- gdb.changes | 2 ++ gdb.spec | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gdb.changes b/gdb.changes index 945d1e0..951670b 100644 --- a/gdb.changes +++ b/gdb.changes @@ -2,6 +2,8 @@ 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. ------------------------------------------------------------------- Wed Feb 15 15:55:11 UTC 2017 - matz@suse.com diff --git a/gdb.spec b/gdb.spec index 26ab0b5..422b635 100644 --- a/gdb.spec +++ b/gdb.spec @@ -308,7 +308,7 @@ BuildRequires: gcc-ada BuildRequires: gcc-ada-32bit %endif BuildRequires: gcc-c++-32bit -%if 0%{suse_version} >= 1210 +%if 0%{suse_version} >= 1210 && 0%{suse_version} != 1315 BuildRequires: glibc-devel-static-32bit %endif %endif From 50918c72d56b57d4b6aa941165179cecf18289b354e36e08fe63e3a495aa9a86 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 1 May 2017 01:04:39 +0000 Subject: [PATCH 3/7] - Rebase to gdb 7.99.90 (prerelease of gdb 8) - 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 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=159 --- gdb-6.3-bz140532-ppc-unwinding-test.patch | 4 +- gdb-6.3-focus-cmd-prev-test.patch | 27 +- gdb-6.3-mapping-zero-inode-test.patch | 6 +- gdb-6.3-readnever-20050907.patch | 50 +- gdb-6.3-rh-testversion-20041202.patch | 10 +- ...337-resolve-tls-without-debuginfo-v2.patch | 30 +- gdb-6.6-buildid-locate-core-as-arg.patch | 38 +- ...warning-missing-debuginfo-rhbz981154.patch | 12 +- gdb-6.6-buildid-locate.patch | 240 ++-- ....6-bz237572-ppc-atomic-sequence-test.patch | 2 +- ....6-scheduler_locking-step-is-default.patch | 38 +- gdb-6.6-threads-static-test.patch | 10 +- gdb-6.8-attach-signalled-detach-stopped.patch | 30 +- gdb-6.8-bz436037-reg-no-longer-active.patch | 23 +- gdb-6.8-quit-never-aborts.patch | 32 +- gdb-7.12.1.tar.bz2 | 3 - gdb-7.99.90.20170420.tar.bz2 | 3 + gdb-archer-pie-addons-keep-disabled.patch | 28 +- gdb-archer-pie-addons.patch | 24 - gdb-archer-vla-tests.patch | 198 +-- gdb-archer.patch | 187 ++- gdb-attach-fail-reasons-5of5.patch | 112 +- gdb-btrobust.patch | 91 +- gdb-dts-rhel6-python-compat.patch | 42 +- gdb-glibc-strstr-workaround.patch | 2 +- gdb-gnat-dwarf-crash-3of3.patch | 15 +- gdb-ppc-power7-test.patch | 6 +- gdb-python-gil.patch | 89 +- gdb-release-werror.patch | 74 + ...07614-memleak-infpy_read_memory-test.patch | 2 +- ...bz1261564-aarch64-hw-watchpoint-test.patch | 14 +- gdb-rhbz1398387-tab-crash-test.patch | 448 ++++++ gdb-rhbz795424-bitpos-20of25.patch | 1265 +++++++++-------- gdb-rhbz795424-bitpos-23of25.patch | 408 +++--- gdb-rhbz795424-bitpos-lazyvalue.patch | 2 +- gdb-vla-intel-fortran-strides.patch | 360 +++-- gdb-vla-intel-fortran-vla-strings.patch | 180 +-- gdb-vla-intel-stringbt-fix.patch | 67 +- gdb.changes | 10 + gdb.spec | 268 ++-- 40 files changed, 2510 insertions(+), 1940 deletions(-) delete mode 100644 gdb-7.12.1.tar.bz2 create mode 100644 gdb-7.99.90.20170420.tar.bz2 create mode 100644 gdb-release-werror.patch create mode 100644 gdb-rhbz1398387-tab-crash-test.patch diff --git a/gdb-6.3-bz140532-ppc-unwinding-test.patch b/gdb-6.3-bz140532-ppc-unwinding-test.patch index ad7198a..27539a6 100644 --- a/gdb-6.3-bz140532-ppc-unwinding-test.patch +++ b/gdb-6.3-bz140532-ppc-unwinding-test.patch @@ -256,8 +256,8 @@ diff -u -ruNp gdb-6.3-unpatched/gdb/testsuite/gdb.arch/powerpc-bcl-prologue.exp + 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 diff --git a/gdb-6.3-focus-cmd-prev-test.patch b/gdb-6.3-focus-cmd-prev-test.patch index 48ae3c5..7cf4869 100644 --- a/gdb-6.3-focus-cmd-prev-test.patch +++ b/gdb-6.3-focus-cmd-prev-test.patch @@ -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 ++ } ++} diff --git a/gdb-6.3-mapping-zero-inode-test.patch b/gdb-6.3-mapping-zero-inode-test.patch index 22fdf62..3cff92a 100644 --- a/gdb-6.3-mapping-zero-inode-test.patch +++ b/gdb-6.3-mapping-zero-inode-test.patch @@ -62,10 +62,10 @@ Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gcore-shmid0.exp +} +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 @@ Index: gdb-7.6.50.20130731-cvs/gdb/testsuite/gdb.base/gcore-shmid0.exp +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" diff --git a/gdb-6.3-readnever-20050907.patch b/gdb-6.3-readnever-20050907.patch index a601ecf..be65ed1 100644 --- a/gdb-6.3-readnever-20050907.patch +++ b/gdb-6.3-readnever-20050907.patch @@ -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 @@ Index: gdb-7.10.50.20151022/gdb/doc/gdb.texinfo @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 @@ Index: gdb-7.10.50.20151022/gdb/main.c {"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 @@ Index: gdb-7.10.50.20151022/gdb/main.c --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 @@ Index: gdb-7.10.50.20151022/gdb/symfile.c /* 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 @@ Index: gdb-7.10.50.20151022/gdb/dwarf2read.c && 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; diff --git a/gdb-6.3-rh-testversion-20041202.patch b/gdb-6.3-rh-testversion-20041202.patch index 1069224..ddcc768 100644 --- a/gdb-6.3-rh-testversion-20041202.patch +++ b/gdb-6.3-rh-testversion-20041202.patch @@ -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 @@ Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.gdb/selftest.exp + } } - do_steps_and_nexts + # start the "xgdb" process diff --git a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch b/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch index 55d2e3b..e516767 100644 --- a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch +++ b/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch @@ -34,11 +34,11 @@ glibc-debuginfo-2.7-2.x86_64: /usr/lib/debug/lib64/libc.so.6.debug: <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 @@ Index: gdb-7.10.90.20160211/gdb/printcmd.c + 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 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.c + + 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 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.exp + +# 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 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.c + + 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. + diff --git a/gdb-6.6-buildid-locate-core-as-arg.patch b/gdb-6.6-buildid-locate-core-as-arg.patch index 9db3589..baa8149 100644 --- a/gdb-6.6-buildid-locate-core-as-arg.patch +++ b/gdb-6.6-buildid-locate-core-as-arg.patch @@ -58,10 +58,10 @@ Http://sourceware.org/ml/gdb-patches/2010-01/msg00517.html * 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 @@ Index: gdb-7.9.50.20150531/gdb/exec.c #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 @@ Index: gdb-7.9.50.20150531/gdb/exec.c } 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 @@ Index: gdb-7.9.50.20150531/gdb/main.c + 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 @@ Index: gdb-7.9.50.20150531/gdb/main.c optind++; } -@@ -1080,11 +1113,25 @@ captured_main (void *data) +@@ -1060,11 +1093,25 @@ && symarg != NULL && strcmp (execarg, symarg) == 0) { @@ -178,14 +178,14 @@ Index: gdb-7.9.50.20150531/gdb/main.c + 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, diff --git a/gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch b/gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch index 6742c3b..8787e90 100644 --- a/gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch +++ b/gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch @@ -15,10 +15,10 @@ Comments by Sergio Durigan Junior : 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 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-ins + +# 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 @@ Index: gdb-7.10.90.20160211/gdb/build-id.c + continue; + } - if (build_id_verify (abfd, build_id_len, build_id)) + if (build_id_verify (abfd.get(), build_id_len, build_id)) break; diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch index da4919b..3f47f3d 100644 --- a/gdb-6.6-buildid-locate.patch +++ b/gdb-6.6-buildid-locate.patch @@ -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 @@ Index: gdb-7.11.50.20160630/gdb/corelow.c #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 @@ Index: gdb-7.11.50.20160630/gdb/corelow.c + { + 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 @@ Index: gdb-7.11.50.20160630/gdb/corelow.c /* 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 @@ Index: gdb-7.11.50.20160630/gdb/corelow.c 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 @@ Index: gdb-7.11.50.20160630/gdb/corelow.c + 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 @@ Index: gdb-7.11.50.20160630/gdb/doc/gdb.texinfo @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 @@ Index: gdb-7.11.50.20160630/gdb/solib-svr4.c 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 @@ Index: gdb-7.11.50.20160630/gdb/solib-svr4.c 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 build_id_filename; + gdb::unique_xmalloc_ptr 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 @@ Index: gdb-7.11.50.20160630/gdb/symfile.h /* 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 @@ Index: gdb-7.11.50.20160630/gdb/testsuite/lib/gdb.exp 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 @@ Index: gdb-7.11.50.20160630/gdb/testsuite/lib/mi-support.exp 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 @@ Index: gdb-7.11.50.20160630/gdb/testsuite/lib/mi-support.exp 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(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 @@ Index: gdb-7.11.50.20160630/gdb/testsuite/gdb.base/corefile.exp + 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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c 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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c + 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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c + /* 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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c 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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c /* 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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c 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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c + 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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c +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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c + return NULL; + + result = xstrdup (bfd_get_filename (abfd)); -+ gdb_bfd_unref (abfd); ++ abfd.release (); + return result; +} + @@ -1135,7 +1130,7 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c 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 *build_id_filename_return) { const struct bfd_build_id *build_id; @@ -1146,15 +1141,25 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c + 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 (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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c + + 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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.h /* 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 @@ Index: gdb-7.11.50.20160630/gdb/build-id.h -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 *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 @@ Index: gdb-7.11.50.20160630/gdb/dwarf2read.c 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 @@ Index: gdb-7.11.50.20160630/gdb/python/py-objfile.c } 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 @@ Index: gdb-7.11.50.20160630/gdb/python/py-objfile.c 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; diff --git a/gdb-6.6-bz237572-ppc-atomic-sequence-test.patch b/gdb-6.6-bz237572-ppc-atomic-sequence-test.patch index bc86662..ae65b31 100644 --- a/gdb-6.6-bz237572-ppc-atomic-sequence-test.patch +++ b/gdb-6.6-bz237572-ppc-atomic-sequence-test.patch @@ -209,7 +209,7 @@ Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.threads/atomic-seq-threaded.exp + +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"} { diff --git a/gdb-6.6-scheduler_locking-step-is-default.patch b/gdb-6.6-scheduler_locking-step-is-default.patch index 40c06b4..eb30e96 100644 --- a/gdb-6.6-scheduler_locking-step-is-default.patch +++ b/gdb-6.6-scheduler_locking-step-is-default.patch @@ -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 @@ Index: gdb-7.11.90.20160904/gdb/infrun.c 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 @@ Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-cli.exp "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 @@ Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-console.exp # 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" diff --git a/gdb-6.6-threads-static-test.patch b/gdb-6.6-threads-static-test.patch index 23e0a91..ed3a794 100644 --- a/gdb-6.6-threads-static-test.patch +++ b/gdb-6.6-threads-static-test.patch @@ -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 @@ Index: gdb-7.4.50.20111219/gdb/testsuite/gdb.threads/staticthreads.exp +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" { diff --git a/gdb-6.8-attach-signalled-detach-stopped.patch b/gdb-6.8-attach-signalled-detach-stopped.patch index cfaacee..5a87ae9 100644 --- a/gdb-6.8-attach-signalled-detach-stopped.patch +++ b/gdb-6.8-attach-signalled-detach-stopped.patch @@ -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 @@ Index: gdb-7.11.50.20160716/gdb/infrun.c 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 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c /* 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 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c /* 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 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c 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 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c + pid_was_stopped = 0; +#endif } - delete_lwp (main_lwp->ptid); } -@@ -1823,6 +1854,16 @@ + +@@ -1830,6 +1861,16 @@ return; } @@ -96,7 +96,7 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c 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 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c } /* 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} diff --git a/gdb-6.8-bz436037-reg-no-longer-active.patch b/gdb-6.8-bz436037-reg-no-longer-active.patch index 2ff9757..49a184e 100644 --- a/gdb-6.8-bz436037-reg-no-longer-active.patch +++ b/gdb-6.8-bz436037-reg-no-longer-active.patch @@ -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. diff --git a/gdb-6.8-quit-never-aborts.patch b/gdb-6.8-quit-never-aborts.patch index cd58019..7660132 100644 --- a/gdb-6.8-quit-never-aborts.patch +++ b/gdb-6.8-quit-never-aborts.patch @@ -5,11 +5,11 @@ Some of the threads may not be properly PTRACE_DETACHed which hurts if they 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 @@ Index: gdb-7.11.50.20160630/gdb/defs.h 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 @@ Index: gdb-7.11.50.20160630/gdb/extension.c 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 @@ Index: gdb-7.11.50.20160630/gdb/top.c /* 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; diff --git a/gdb-7.12.1.tar.bz2 b/gdb-7.12.1.tar.bz2 deleted file mode 100644 index 113493f..0000000 --- a/gdb-7.12.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fc284fa344bd7d3440da19fd8660b4e9e524dea32abea0bddbf4e2225845140e -size 27786483 diff --git a/gdb-7.99.90.20170420.tar.bz2 b/gdb-7.99.90.20170420.tar.bz2 new file mode 100644 index 0000000..e008f26 --- /dev/null +++ b/gdb-7.99.90.20170420.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2d8698118e74ab3b0f770630961db92b86505b8d46672da807790f053579502 +size 28146459 diff --git a/gdb-archer-pie-addons-keep-disabled.patch b/gdb-archer-pie-addons-keep-disabled.patch index b453164..a0f4301 100644 --- a/gdb-archer-pie-addons-keep-disabled.patch +++ b/gdb-archer-pie-addons-keep-disabled.patch @@ -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 @@ Index: gdb-7.11.90.20160829/gdb/breakpoint.c + } + + 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 @@ Index: gdb-7.11.90.20160829/gdb/breakpoint.h + 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)); } diff --git a/gdb-archer-pie-addons.patch b/gdb-archer-pie-addons.patch index 7975daf..b14c3c5 100644 --- a/gdb-archer-pie-addons.patch +++ b/gdb-archer-pie-addons.patch @@ -42,30 +42,6 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.h #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 diff --git a/gdb-archer-vla-tests.patch b/gdb-archer-vla-tests.patch index 9aa5c1e..dd5a5eb 100644 --- a/gdb-archer-vla-tests.patch +++ b/gdb-archer-vla-tests.patch @@ -1,7 +1,7 @@ -Index: gdb-7.12/gdb/testsuite/gdb.ada/packed_array.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.ada/packed_array.exp =================================================================== ---- gdb-7.12.orig/gdb/testsuite/gdb.ada/packed_array.exp 2016-08-01 17:50:21.000000000 +0200 -+++ gdb-7.12/gdb/testsuite/gdb.ada/packed_array.exp 2016-10-22 09:45:15.849013467 +0200 +--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.ada/packed_array.exp 2017-02-26 19:15:28.552824751 +0100 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.ada/packed_array.exp 2017-02-26 19:15:36.597882316 +0100 @@ -56,5 +56,11 @@ # are. Observed with (FSF GNU Ada 4.5.3 20110124). xfail $test @@ -14,10 +14,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.ada/packed_array.exp + } } -Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S 2016-10-22 09:50:38.510393903 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S 2017-02-26 19:15:36.598882323 +0100 @@ -0,0 +1,358 @@ + .file "x86_64-vla-pointer.c" + .text @@ -377,10 +377,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S + .string "array" + .ident "GCC: (GNU) 6.2.1 20160916 (Red Hat 6.2.1-2)" + .section .note.GNU-stack,"",@progbits -Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c 2016-10-22 09:50:40.335407367 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c 2017-02-26 19:15:36.598882323 +0100 @@ -0,0 +1,45 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -427,10 +427,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c +} + +#endif -Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp 2016-10-22 21:10:56.210413346 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp 2017-02-26 19:15:36.598882323 +0100 @@ -0,0 +1,65 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -497,10 +497,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp +gdb_test "whatis array" "type = array_t" "second: whatis array" +gdb_test "whatis array_t" "type = char \\\[variable length\\\]" "second: whatis array_t" +gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array" -Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S 2016-10-22 09:45:15.851013482 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S 2017-02-26 19:15:36.598882323 +0100 @@ -0,0 +1,455 @@ + .file "x86_64-vla-typedef.c" + .section .debug_abbrev,"",@progbits @@ -957,10 +957,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S + .string "GNU C 4.3.2 20081105 (Red Hat 4.3.2-7)" + .ident "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)" + .section .note.GNU-stack,"",@progbits -Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c 2016-10-22 09:45:15.851013482 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c 2017-02-26 19:15:36.599882330 +0100 @@ -0,0 +1,45 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -1007,10 +1007,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c +} + +#endif -Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp 2016-10-22 09:45:15.851013482 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp 2017-02-26 19:15:36.599882330 +0100 @@ -0,0 +1,64 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -1076,10 +1076,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp +gdb_test "whatis array" "type = array_t" "second: whatis array" + +gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array" -Index: gdb-7.12/gdb/testsuite/gdb.base/arrayidx.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.c =================================================================== ---- gdb-7.12.orig/gdb/testsuite/gdb.base/arrayidx.c 2016-08-01 17:50:21.000000000 +0200 -+++ gdb-7.12/gdb/testsuite/gdb.base/arrayidx.c 2016-10-22 09:45:15.851013482 +0200 +--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.base/arrayidx.c 2017-02-26 19:15:28.555824772 +0100 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.c 2017-02-26 19:15:36.599882330 +0100 @@ -17,6 +17,13 @@ int array[] = {1, 2, 3, 4}; @@ -1094,13 +1094,13 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/arrayidx.c int main (void) { -Index: gdb-7.12/gdb/testsuite/gdb.base/arrayidx.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.exp =================================================================== ---- gdb-7.12.orig/gdb/testsuite/gdb.base/arrayidx.exp 2016-08-01 17:50:21.000000000 +0200 -+++ gdb-7.12/gdb/testsuite/gdb.base/arrayidx.exp 2016-10-22 09:45:15.851013482 +0200 +--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.base/arrayidx.exp 2017-02-26 19:15:28.555824772 +0100 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.exp 2017-02-26 19:15:36.599882330 +0100 @@ -49,4 +49,12 @@ "\\{\\\[0\\\] = 1, \\\[1\\\] = 2, \\\[2\\\] = 3, \\\[3\\\] = 4\\}" \ - "Print array with array-indexes on" + "print array with array-indexes on" - +set test "p unbound.a == &unbound.a\[0\]" @@ -1112,10 +1112,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/arrayidx.exp + unsupported "$test (no GCC)" + } +} -Index: gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.c 2016-10-22 09:45:15.852013490 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.c 2017-02-26 19:15:36.599882330 +0100 @@ -0,0 +1,20 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -1137,10 +1137,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.c +struct { + int field; +} staticstruct = { 1 }; -Index: gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.exp 2016-10-22 09:45:15.852013490 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.exp 2017-02-26 19:15:36.600882337 +0100 @@ -0,0 +1,26 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -1168,10 +1168,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.exp + +gdb_test {set $varstruct = staticstruct} +gdb_test {p $varstruct.field} " = 1" -Index: gdb-7.12/gdb/testsuite/gdb.base/vla-frame.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.base/vla-frame.c 2016-10-22 09:45:15.852013490 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.c 2017-02-26 19:15:36.600882337 +0100 @@ -0,0 +1,31 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -1204,10 +1204,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla-frame.c + f (s); + return 0; +} -Index: gdb-7.12/gdb/testsuite/gdb.base/vla-frame.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.base/vla-frame.exp 2016-10-22 09:45:15.852013490 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.exp 2017-02-26 19:15:36.600882337 +0100 @@ -0,0 +1,38 @@ +# Copyright 2011 Free Software Foundation, Inc. +# @@ -1247,10 +1247,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla-frame.exp +} + +gdb_test "bt full" "\r\n +s = \"X\\\\000\"\r\n.*" -Index: gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.c 2016-10-22 09:45:15.852013490 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.c 2017-02-26 19:15:36.600882337 +0100 @@ -0,0 +1,30 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -1282,10 +1282,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.c + + return 0; +} -Index: gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.exp 2016-10-22 09:45:15.852013490 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.exp 2017-02-26 19:15:36.600882337 +0100 @@ -0,0 +1,109 @@ +# Copyright 2008 Free Software Foundation, Inc. + @@ -1396,10 +1396,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.exp +gdb_test "bt" "in \[^ \]*abort \\(.* in main \\(.*" "Backtrace after abort()" + +verbose -log "kb_found in bt after abort() = [expr [memory_v_pages_get] * $pagesize / 1024]" -Index: gdb-7.12/gdb/testsuite/gdb.base/vla.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.base/vla.c 2016-10-22 09:45:15.852013490 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.c 2017-02-26 19:15:36.600882337 +0100 @@ -0,0 +1,55 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -1456,10 +1456,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla.c + foo (78); + return 0; +} -Index: gdb-7.12/gdb/testsuite/gdb.base/vla.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.base/vla.exp 2016-10-22 09:45:15.853013497 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.exp 2017-02-26 19:15:36.600882337 +0100 @@ -0,0 +1,62 @@ +# Copyright 2008 Free Software Foundation, Inc. + @@ -1523,10 +1523,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla.exp +gdb_test "p temp1" " = '1' " "second: print temp1" +gdb_test "p temp2" " = '2' " "second: print temp2" +gdb_test "p temp3" " = '3' " "second: print temp3" -Index: gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.cc +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.cc =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.cc 2016-10-22 09:45:15.853013497 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.cc 2017-02-26 19:15:36.601882344 +0100 @@ -0,0 +1,180 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -1708,10 +1708,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.cc + } +} + -Index: gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.exp 2016-10-22 09:45:15.853013497 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.exp 2017-02-26 19:15:36.601882344 +0100 @@ -0,0 +1,182 @@ +# Copyright 2008, 2009 Free Software Foundation, Inc. + @@ -1895,10 +1895,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.exp +gdb_test "advance $line" \ + ".*catch (...).*" \ + "advance-over-throw" -Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S 2016-10-22 09:45:15.853013497 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S 2017-02-26 19:15:36.601882344 +0100 @@ -0,0 +1,246 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -2146,10 +2146,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S + .string "char" +.Luint_str: + .string "unsigned int" -Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp 2016-10-22 09:45:15.854013504 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp 2017-02-26 19:15:36.602882352 +0100 @@ -0,0 +1,66 @@ +# Copyright 2010 Free Software Foundation, Inc. + @@ -2217,10 +2217,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp + +# The register contains unpredictable value - the array size. +gdb_test "ptype reg_string" {type = char \[-?[0-9]+\]} -Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.c 2016-10-22 09:45:15.854013504 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.c 2017-02-26 19:15:36.602882352 +0100 @@ -0,0 +1,42 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -2264,10 +2264,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.c + func1 (1, 2); + return 0; +} -Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp 2016-10-22 09:45:15.854013504 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp 2017-02-26 19:15:36.602882352 +0100 @@ -0,0 +1,79 @@ +# Copyright 2006 Free Software Foundation, Inc. + @@ -2348,10 +2348,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp +gdb_test "step" \ + "func.* \\(.*\\) at .*" \ + "step" -Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S 2016-10-22 09:45:15.854013504 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S 2017-02-26 19:15:36.602882352 +0100 @@ -0,0 +1,83 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -2436,10 +2436,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S + + .byte 0x0 /* Terminator */ + .byte 0x0 /* Terminator */ -Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp 2016-10-22 09:45:15.854013504 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp 2017-02-26 19:15:36.602882352 +0100 @@ -0,0 +1,37 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -2478,10 +2478,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp +clean_restart $binfile + +gdb_test "ptype struct some_struct" "type = struct some_struct {\[\r\n \t\]*void field;\[\r\n \t\]*}" -Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S 2016-10-22 09:45:15.854013504 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S 2017-02-26 19:15:36.602882352 +0100 @@ -0,0 +1,121 @@ +/* This testcase is part of GDB, the GNU debugger. + @@ -2604,10 +2604,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S + .byte 0x0 /* Terminator */ + + .byte 0x0 /* Terminator */ -Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp 2016-10-22 09:45:15.855013512 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp 2017-02-26 19:15:36.603882359 +0100 @@ -0,0 +1,39 @@ +# Copyright 2012 Free Software Foundation, Inc. + @@ -2648,10 +2648,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp + +gdb_test "ptype notype_string" {type = char \[129\]} +gdb_test "p notype_string" " = 'x' " -Index: gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2016-10-22 09:45:15.855013512 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2017-02-26 19:15:36.603882359 +0100 @@ -0,0 +1,42 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -2695,10 +2695,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.exp +gdb_continue_to_breakpoint "break-here" ".*break-here.*" +gdb_test "p c40pt(1)" " = '0-hello.*" +gdb_test "p c40pt(2)" " = '1-hello.*" -Index: gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.f90 +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.f90 2016-10-22 09:45:15.855013512 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.f90 2017-02-26 19:15:36.603882359 +0100 @@ -0,0 +1,40 @@ +! Copyright 2009 Free Software Foundation, Inc. +! @@ -2740,10 +2740,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.f90 + print *, c40pt ! break-here + +end program repro -Index: gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.exp 2016-10-22 09:45:15.855013512 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.exp 2017-02-26 19:15:36.603882359 +0100 @@ -0,0 +1,154 @@ +# Copyright 2007 Free Software Foundation, Inc. + @@ -2899,10 +2899,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.exp +gdb_test "p vart(3,8)" "\\$\[0-9\]* = 9" +# maps to foo::vary(1,3) +gdb_test "p vart(2,9)" "\\$\[0-9\]* = 10" -Index: gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.f90 +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.f90 2016-10-22 09:45:15.855013512 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.f90 2017-02-26 19:15:36.603882359 +0100 @@ -0,0 +1,98 @@ +! Copyright 2007 Free Software Foundation, Inc. +! @@ -3002,10 +3002,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.f90 + if (x (1, 1) .ne. 8 .or. x (2, 2) .ne. 9 .or. x (1, 2) .ne. 4) call abort + if (x (3, 1) .ne. 10) call abort +end -Index: gdb-7.12/gdb/testsuite/gdb.fortran/string.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.fortran/string.exp 2016-10-22 09:45:15.855013512 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.exp 2017-02-26 19:15:36.604882366 +0100 @@ -0,0 +1,59 @@ +# Copyright 2008 Free Software Foundation, Inc. + @@ -3066,10 +3066,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/string.exp +gdb_continue_to_breakpoint "var-finish" +gdb_test "p e" "\\$\[0-9\]* = 'e '" "p e re-set" +gdb_test "p f" "\\$\[0-9\]* = \\(\\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f2 ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\)" "p *f re-set" -Index: gdb-7.12/gdb/testsuite/gdb.fortran/string.f90 +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.fortran/string.f90 2016-10-22 09:45:15.856013519 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.f90 2017-02-26 19:15:36.604882366 +0100 @@ -0,0 +1,37 @@ +! Copyright 2008 Free Software Foundation, Inc. +! @@ -3108,10 +3108,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/string.f90 + h = 'h' + call foo (g, h) +end -Index: gdb-7.12/gdb/testsuite/gdb.fortran/subrange.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.fortran/subrange.exp 2016-10-22 09:45:15.856013519 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.exp 2017-02-26 19:15:36.604882366 +0100 @@ -0,0 +1,72 @@ +# Copyright 2011 Free Software Foundation, Inc. + @@ -3185,10 +3185,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/subrange.exp +gdb_unload +setup_kfail "*-*-*" "vlaregression/9999" +gdb_test {p $a (3, 2:2)} { = \(23\)} -Index: gdb-7.12/gdb/testsuite/gdb.fortran/subrange.f90 +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.fortran/subrange.f90 2016-10-22 09:45:15.856013519 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.f90 2017-02-26 19:15:36.604882366 +0100 @@ -0,0 +1,28 @@ +! Copyright 2011 Free Software Foundation, Inc. +! @@ -3218,10 +3218,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/subrange.f90 + ptr => a + write (*,*) a ! break-static +end -Index: gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.c 2016-10-22 09:45:15.856013519 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.c 2017-02-26 19:15:36.604882366 +0100 @@ -0,0 +1,26 @@ +/* Copyright 2011 Free Software Foundation, Inc. + @@ -3249,10 +3249,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.c + + return 0; +} -Index: gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp 2016-10-22 09:45:15.856013519 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp 2017-02-26 19:15:36.604882366 +0100 @@ -0,0 +1,57 @@ +# Copyright 2011 Free Software Foundation, Inc. +# @@ -3311,10 +3311,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp +mi_create_varobj "vla" "vla" "create local variable vla" + +mi_gdb_test "-var-update *" "\\^done,changelist=.*" "-var-update *" -Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register-func.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register-func.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.opt/array-from-register-func.c 2016-10-22 09:45:15.856013519 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register-func.c 2017-02-26 19:15:36.604882366 +0100 @@ -0,0 +1,22 @@ +/* This file is part of GDB, the GNU debugger. + @@ -3338,10 +3338,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register-func.c +{ + return arr[0]; +} -Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.c +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.c 2016-10-22 09:45:15.856013519 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.c 2017-02-26 19:15:36.605882373 +0100 @@ -0,0 +1,28 @@ +/* This file is part of GDB, the GNU debugger. + @@ -3371,10 +3371,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.c + + return 0; +} -Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.exp 2016-10-22 09:45:15.857013527 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.exp 2017-02-26 19:15:36.605882373 +0100 @@ -0,0 +1,33 @@ +# Copyright 2009 Free Software Foundation, Inc. +# @@ -3409,10 +3409,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.exp +# Seen regression: +# Address requested for identifier "arr" which is in register $rdi +gdb_test "p arr\[0\]" "\\$\[0-9\]+ = 42" -Index: gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.exp 2016-10-22 09:45:15.857013527 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.exp 2017-02-26 19:15:36.605882373 +0100 @@ -0,0 +1,39 @@ +# Copyright 2009 Free Software Foundation, Inc. + @@ -3453,10 +3453,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.exp +gdb_test "frame" ".*s='foo'.*" +gdb_test "ptype s" "type = character\\*3" +gdb_test "p s" "\\$\[0-9\]* = 'foo'" -Index: gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.f90 +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.f90 =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.f90 2016-10-22 09:45:15.857013527 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.f90 2017-02-26 19:15:36.605882373 +0100 @@ -0,0 +1,28 @@ +! Copyright 2009 Free Software Foundation, Inc. +! @@ -3486,10 +3486,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.f90 + program main + call f ('foo') + end -Index: gdb-7.12/gdb/testsuite/gdb.pascal/arrays.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.exp =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.pascal/arrays.exp 2016-10-22 09:45:15.857013527 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.exp 2017-02-26 19:15:36.605882373 +0100 @@ -0,0 +1,104 @@ +# Copyright 2008, 2009 Free Software Foundation, Inc. +# @@ -3595,10 +3595,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.pascal/arrays.exp +} +gdb_test "print DynArrChar" ".* = 'abcdefghijklm'" "Print dynamic array of char" + -Index: gdb-7.12/gdb/testsuite/gdb.pascal/arrays.pas +Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.pas =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.12/gdb/testsuite/gdb.pascal/arrays.pas 2016-10-22 09:45:15.857013527 +0200 ++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.pas 2017-02-26 19:15:36.605882373 +0100 @@ -0,0 +1,82 @@ +{ + Copyright 2008, 2009 Free Software Foundation, Inc. @@ -3682,11 +3682,11 @@ Index: gdb-7.12/gdb/testsuite/gdb.pascal/arrays.pas + s := 'test'#0'string'; + writeln(s); { set breakpoint 2 here } +end. -Index: gdb-7.12/gdb/testsuite/lib/gdb.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp =================================================================== ---- gdb-7.12.orig/gdb/testsuite/lib/gdb.exp 2016-10-22 09:45:15.106007986 +0200 -+++ gdb-7.12/gdb/testsuite/lib/gdb.exp 2016-10-22 09:45:15.858013534 +0200 -@@ -173,6 +173,11 @@ +--- gdb-7.12.50.20170207.orig/gdb/testsuite/lib/gdb.exp 2017-02-26 19:15:28.564824836 +0100 ++++ gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp 2017-02-26 19:15:36.607882387 +0100 +@@ -178,6 +178,11 @@ send_gdb "y\n" exp_continue } @@ -3698,10 +3698,10 @@ Index: gdb-7.12/gdb/testsuite/lib/gdb.exp -re "Discard symbol table from .*y or n.*$" { send_gdb "y\n" exp_continue -Index: gdb-7.12/gdb/testsuite/lib/pascal.exp +Index: gdb-7.12.50.20170207/gdb/testsuite/lib/pascal.exp =================================================================== ---- gdb-7.12.orig/gdb/testsuite/lib/pascal.exp 2016-08-01 17:50:21.000000000 +0200 -+++ gdb-7.12/gdb/testsuite/lib/pascal.exp 2016-10-22 09:45:15.859013541 +0200 +--- gdb-7.12.50.20170207.orig/gdb/testsuite/lib/pascal.exp 2017-02-26 19:15:28.565824844 +0100 ++++ gdb-7.12.50.20170207/gdb/testsuite/lib/pascal.exp 2017-02-26 19:15:36.607882387 +0100 @@ -37,6 +37,9 @@ global pascal_compiler_is_fpc global gpc_compiler diff --git a/gdb-archer.patch b/gdb-archer.patch index a42d61a..9547e69 100644 --- a/gdb-archer.patch +++ b/gdb-archer.patch @@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher http://sourceware.org/gdb/wiki/ArcherBranchManagement GIT snapshot: -commit cfee64ee869a6a6e4ab0b64af149d4cf59517d80 +commit 718a1618b2f691a7f407213bb50f100ac59f91c3 tromey/python @@ -16,10 +16,10 @@ index 0000000..173b8ea +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 @@ index 5af6103..9c69cb0 100644 $(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 @@ index 3f23516..b5d6390 100644 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 @@ index f5dde61..1d92bd6 100644 @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 @@ index 05a38b2..9801fdf 100644 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 @@ index 5477379..b7e413f 100644 #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 @@ index 5477379..b7e413f 100644 { 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 @@ index 5477379..b7e413f 100644 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 @@ index 5477379..b7e413f 100644 { /* 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 @@ index 5477379..b7e413f 100644 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 @@ index 5477379..b7e413f 100644 - 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 @@ index 5477379..b7e413f 100644 } /* 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 @@ index 5477379..b7e413f 100644 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 @@ index 0000000..8742680 + 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 @@ index 621e201..703a1a0 100644 #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 @@ index 621e201..703a1a0 100644 + 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 @@ index 621e201..703a1a0 100644 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 @@ index 621e201..703a1a0 100644 "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 @@ index b810187..a3620ab 100644 +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 @@ index b5a4682..d5451a6 100644 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 @@ index 57a9ba1..d90d85a 100644 # 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); + diff --git a/gdb-attach-fail-reasons-5of5.patch b/gdb-attach-fail-reasons-5of5.patch index ec1055d..755cc55 100644 --- a/gdb-attach-fail-reasons-5of5.patch +++ b/gdb-attach-fail-reasons-5of5.patch @@ -37,13 +37,13 @@ gdb/gdbserver/ (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 @@ Index: gdb-7.11.90.20160829/gdb/nat/linux-ptrace.c /* 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 @@ Index: gdb-7.11.90.20160829/gdb/nat/linux-ptrace.c } /* See linux-ptrace.h. */ -@@ -592,6 +598,22 @@ +@@ -594,6 +600,22 @@ linux_ptrace_test_ret_to_nx (); } @@ -84,10 +84,10 @@ Index: gdb-7.11.90.20160829/gdb/nat/linux-ptrace.c /* 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 @@ Index: gdb-7.11.90.20160829/gdb/nat/linux-ptrace.h 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 @@ Index: gdb-7.11.90.20160829/gdb/configure.ac 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 @@ Index: gdb-7.11.90.20160829/gdb/gdbserver/configure.ac 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 @@ Index: gdb-7.11.90.20160829/gdb/gdbserver/linux-low.c /* 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 @@ Index: gdb-7.11.90.20160829/gdb/gdbserver/linux-low.c 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 @@ Index: gdb-7.11.90.20160829/gdb/linux-nat.c /* 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 @@ Index: gdb-7.11.90.20160829/gdb/linux-nat.c 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 @@ Index: gdb-7.11.90.20160829/gdb/config.in /* 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 @@ Index: gdb-7.11.90.20160829/gdb/config.in /* 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 @@ Index: gdb-7.11.90.20160829/gdb/configure # 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 @@ Index: gdb-7.11.90.20160829/gdb/gdbserver/config.in /* 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 @@ Index: gdb-7.11.90.20160829/gdb/gdbserver/config.in /* 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 diff --git a/gdb-btrobust.patch b/gdb-btrobust.patch index f8a4aa0..b0b5a86 100644 --- a/gdb-btrobust.patch +++ b/gdb-btrobust.patch @@ -3,83 +3,32 @@ printed, but a default backtrace will occur in this case. -- -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; +--- 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)); + + 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; - - /* 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 + 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: diff --git a/gdb-dts-rhel6-python-compat.patch b/gdb-dts-rhel6-python-compat.patch index d0a466b..14e0f81 100644 --- a/gdb-dts-rhel6-python-compat.patch +++ b/gdb-dts-rhel6-python-compat.patch @@ -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 @@ Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/FrameWrapper.py + 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 @@ Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/FrameWrapper.py + + 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 @@ Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/backtrace.py + 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. + diff --git a/gdb-glibc-strstr-workaround.patch b/gdb-glibc-strstr-workaround.patch index ea0069f..a86be2f 100644 --- a/gdb-glibc-strstr-workaround.patch +++ b/gdb-glibc-strstr-workaround.patch @@ -60,7 +60,7 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/gnu-ifunc-strstr-workaround.ex +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 diff --git a/gdb-gnat-dwarf-crash-3of3.patch b/gdb-gnat-dwarf-crash-3of3.patch index b5f5b28..3edb4d6 100644 --- a/gdb-gnat-dwarf-crash-3of3.patch +++ b/gdb-gnat-dwarf-crash-3of3.patch @@ -34,11 +34,11 @@ gdb/ * 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 @@ index 3eaa0b1..71f5d34 100644 + { + 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-- - diff --git a/gdb-ppc-power7-test.patch b/gdb-ppc-power7-test.patch index 449dfce..7494fad 100644 --- a/gdb-ppc-power7-test.patch +++ b/gdb-ppc-power7-test.patch @@ -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 diff --git a/gdb-python-gil.patch b/gdb-python-gil.patch index a276c6c..88541b6 100644 --- a/gdb-python-gil.patch +++ b/gdb-python-gil.patch @@ -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 @@ Index: gdb-7.11.50.20160630/gdb/doc/python.texi @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 @@ Index: gdb-7.11.50.20160630/gdb/python/python-internal.h #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 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c + 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 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c + 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 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c } 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 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c + 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 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c + } + } +} ---- /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 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c + while count < 10: + time.sleep(1) + count += 1 -+ print ("Hello (", count, ")") ++ print ("Hello ( %d )" % count) + +# Create a threads a continue +try: diff --git a/gdb-release-werror.patch b/gdb-release-werror.patch new file mode 100644 index 0000000..a12bbc0 --- /dev/null +++ b/gdb-release-werror.patch @@ -0,0 +1,74 @@ +http://sourceware.org/ml/gdb-patches/2017-04/msg00593.html +Subject: [patch+8.0] release branch: Fix: --enable-werror + + +--8t9RHnE3ZwKMSgU+ +Content-Type: text/plain; charset=iso-2022-jp +Content-Disposition: inline + +Hi, + +gdb-8.0-branch +./configure --enable-werror --enable-targets=all +aarch64-tdep.c:3045:13: error: $B!F(Bvoid selftests::aarch64_process_record_test()$B!G(B declared $B!F(Bstatic$B!G(B but never defined [-Werror=unused-function] +arm-tdep.c:9601:13: error: $B!F(Bvoid selftests::arm_record_test()$B!G(B declared $B!F(Bstatic$B!G(B but never defined [-Werror=unused-function] + +OK for check-in? + +Please do not tell me release branches do not support --enable-werror as this +is due to a sourcebase bug, not due to some unexpected compiler +incompatibility. + +Sergio: Shouldn't it be also buildbot-tested? + + +Jan + +--8t9RHnE3ZwKMSgU+ +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline; filename=1 + +gdb/ChangeLog +2017-04-21 Jan Kratochvil + + * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if + GDB_SELF_TEST. + * arm-tdep.c (selftests::arm_record_test): Likewise. + +diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c +index 28c2573..6113621 100644 +--- a/gdb/aarch64-tdep.c ++++ b/gdb/aarch64-tdep.c +@@ -3040,10 +3040,12 @@ aarch64_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file) + paddress (gdbarch, tdep->lowest_pc)); + } + ++#if GDB_SELF_TEST + namespace selftests + { + static void aarch64_process_record_test (void); + } ++#endif + + /* Suppress warning from -Wmissing-prototypes. */ + extern initialize_file_ftype _initialize_aarch64_tdep; +diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c +index c8fabfb..9ac667f 100644 +--- a/gdb/arm-tdep.c ++++ b/gdb/arm-tdep.c +@@ -9596,10 +9596,12 @@ arm_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file) + (unsigned long) tdep->lowest_pc); + } + ++#if GDB_SELF_TEST + namespace selftests + { + static void arm_record_test (void); + } ++#endif + + extern initialize_file_ftype _initialize_arm_tdep; /* -Wmissing-prototypes */ + + +--8t9RHnE3ZwKMSgU+-- + diff --git a/gdb-rhbz1007614-memleak-infpy_read_memory-test.patch b/gdb-rhbz1007614-memleak-infpy_read_memory-test.patch index 3f4b281..d09eef5 100644 --- a/gdb-rhbz1007614-memleak-infpy_read_memory-test.patch +++ b/gdb-rhbz1007614-memleak-infpy_read_memory-test.patch @@ -74,7 +74,7 @@ Index: gdb-7.2/gdb/testsuite/gdb.python/py-gdb-rhbz1007614-memleak-infpy_read_me + +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 diff --git a/gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch b/gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch index 76f893b..2d1a2d0 100644 --- a/gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch +++ b/gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch @@ -2,7 +2,7 @@ Index: gdb-7.6.1/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp =================================================================== --- /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 @@ Index: gdb-7.6.1/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp + +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 @@ Index: gdb-7.6.1/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp +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 =================================================================== diff --git a/gdb-rhbz1398387-tab-crash-test.patch b/gdb-rhbz1398387-tab-crash-test.patch new file mode 100644 index 0000000..8047822 --- /dev/null +++ b/gdb-rhbz1398387-tab-crash-test.patch @@ -0,0 +1,448 @@ +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-%T6MS+#&8M+G ++M)M>_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*;_)-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[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&<5`%`1414BR`"1@4.DH8`QG9@#`TT7)^C&:7C@IA^%"_<3WTX+Q5*-=*7Y#/IE(_)_ ++MYYO52X/>^`A8NS+]GQ6$%J!9HFB5*_*22UE#*>TYS.T"1U[AFR44'A(ZIZ$N ++M7O')DXRK49/4T!7XG8#F7\)CF+,TPJAPV;\#4,AD7,Z/*?9D2DQDGR.^]LB( ++M%[`,/\]CK_:F,LN`#`T>]RT?A*WQ[K='\FN+&[/YKKD[GOG)".MPK9KOE&2> ++M4312<,\Y^C:>3=S-OHU-R)^F^*9H5Q"=7^-'_#GT?0V-ZX-3_S"6N2Q?O;7: ++M=G#ZR=L/JQG[ ++MO\_!J];07#9:XP=/JNC6V$KW5]`_.82T05/S?='X=WG0YS.[I94'X$?S()[N ++M#_Y@OQH(_`@/2399*2&\0*8=X^IVZ-3#*-44=7^#1YU#@<+A<&%:']\FNF[I ++M29_6J&Z$R.&H/.2,M8LDC$UZC*6*@F7SBW:"GQ3@-&AS/D'%[PAX*Z.!&Q`! ++MK?M_?V/CA,ZX91WMR-A0992O)T0BR^HF9=VIA-3&20"GDL&" ++M2O*AJJ$K`'3#X"@L61'"0N\_-&J])J,%%(*O_R0A*R3X>_<_]4=+TNCF/6?< ++M]IGY%UQ&M/IX7^;)C'TSL++)C1,MUVW257A0K(-$P.$V@S/RDA=MA.W#)`^< ++MI.1!C(@-*E;AB)^IQOD_^YWQ:2]K^31Z+%2J$@W$OT7PD.02BH.>E@'022(E ++M3@Y$+>HD)''I ++MK!<&,1@9T",6@FYM(V?[Q8KX6%]RJ`*8F:0\/6K-)X%%08$0"I?TTOH7J&:2 ++MP"RV[FF`@B!MYU]ZA5,A0DG2_Q)37"OW#@@D%P1P53,Y9BTRN'V=+Z4!-QP> ++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(.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`29&#B9U_*;%>_: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>)5$*M1;0//-@K!L7>5:>)F4[WO4.>,LM,94O5/E$SMAZ>H ++M\![?H>XT]I?,L*YE4(_XY&?7:=O,PS0::.'M8IM8F#)34%%76)^HW?:5.S=Y6&,4AE,AE@%G2V47(DXEPJT)0 ++M..PL_..*EQ-^+I,4 ++M56.:ST1Q#2EAT>"]%8+(?\>5O`*'!.B37T7>L6.7PW*[?5@`6%UD\A!('2L+ ++M.$R'/6!C>GKC#<5U,GN3M%F9WZDL`#J-4OYO1/K#W'8/.+L-B!CG ++MX>C5+"2X.U^#\@\X%#M@H7^B?UMO@_`IC<6<>OX?O"ZMQ?_D-P]Z(A[$]Z_% ++M+`/EE#J)UQ1L@*%@C[$1"K]>"A+B&;O@8'Q?I;)U?/;1OP=SD7X(0+@/D`C ++M/D>5DIGL#VVM`4V40(D($48(AZH0`3N`(J^_Z7C^-$K2C]+3I-44+?CE2BE: ++M#.]`(@$(E,*(A?*OS&D'J%0$X>>2#.C>W]UAB?==P[^@X@.USAH$4HVQ5N0` ++MZODUS#,W(T.=7,.=4Z"1PJ7D&>!D_"SMO9HN>!IEBHY@LWU&4`A2C*%!*P@F ++M8:NPEZZ1OJ+8!2PM4`I5D,(BM2`%DHF4@!@-D)G$G;9"2$@VMR@%5`*C5O"T ++M4`BYZ*`8%I9>WMXV(`8>GP<;"C@H!&EW$,0`H)-61KVF4`"BE8`&6*P(T5MY ++M[,,;ND@P0:%;$:!6,4@"?R*`@&(I`?/V.OR$P*:HNV,TP%#5A;Z`2JI_A9J' ++M][V!`!.$/:?0EGVF8TSR<_YI`4.0%0RB(=X"A!$/`!0OJ`)50["B$$0M!0I0 ++M2"H11'R04*J-04+S-FYJBAX210"0]YV;I/?,69?B1'DF7D;]MP`1`).+&>KUBK4B?4=S:MC<=XWW$U4KM[G[J2EVCN; ++M/@/-;<73F[?O[4P!0W`4.`%#R=[`2!W.O9K37>X]!V]56Z^)X;I9Q1+C!41$ ++MA)"20]?3*9`AEP?L?*3)N`Q3!3D0`LC0"E*)%1I%>]!0VP4.J"ALW`8GBTD@ ++M#L^)$P#&[CW_!W%E/`IFIAB>S2DGPA)&9)!F9F`A"*L=/@R,)LXZQI19P9&2 ++M15")D#(0,00(D`:\P,X<1RJ9G3.Q+U&^0G`B'FW@#<8A8&_T9K"I@@00;!0V ++MFV+(\9;GZW-.K6N_:8*<.7D+*!;[0KZ.DM+/;Q1#DO]1P=U0K$SDMIB"0,=)TI=B1D1`&1@9+]015`AUX.G%YCZTQSMP&.NF[Q2D ++MLFF^%S/`X*6,"GT/\-3\I.+EJ[:-C*DVU%JVK?RT55HA5M ++M=IL\W`ZX8X'%R6G6UJ($"HG#NPH6)[9)5#I>#661&#'.,(R#0BA?#,(=4P<9 ++MC849O*SG1$]L9,1UH*!1HCV=J7?)NP'\_L2T\!H*$(67:P!AE18K\Z$!Z8K# ++M3**H"OOKTP&`WF3K!\@2',QTC=T"G1R-J+][XLV ++M(+8U@=`1MFP\,V/E5"&F8=JAMA>ST4A8R]DFB-V.8J;>MYL^"G(IU)_!1T1S ++M1ZKUQC]A"6W+L==(4)^N[[/IW.W'V>OI3ZQ3I)5#=,;"[4`WYH:H"EIO#QP] ++MSLR@!H'@:TL;M]IPBL<^H8]HE8\TV##;I=QSPY_]QF;P ++MM/>O"3T)[*80=VMJ@'7HE+(S=H(%<+PY^)\@S]_< ++M;HPZ-X4BF#W(*'(0`K;8HF.\+K,J(@7U(\$0%_L?>;GX@ZBQQ8+SQM-(KZ,T ++M9C:"/-1$LP6-!UB!H'J`"Z[BU1&&*B])JICY7IM$"$[=1A]Z(`N00(;F^!CC ++M5^P%&$;?H8DTT347F=$+184JBY0.(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%&D&#F`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@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<"J&#J0NMG0&<\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 . ++ ++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" diff --git a/gdb-rhbz795424-bitpos-20of25.patch b/gdb-rhbz795424-bitpos-20of25.patch index 9f72ea0..273af5e 100644 --- a/gdb-rhbz795424-bitpos-20of25.patch +++ b/gdb-rhbz795424-bitpos-20of25.patch @@ -463,11 +463,11 @@ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=bitpos-main.patch -Index: gdb-7.11.50.20160716/gdb/ada-lang.c +Index: gdb-7.99.90.20170420/gdb/ada-lang.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/ada-lang.c 2016-07-16 14:33:42.053510117 +0200 -+++ gdb-7.11.50.20160716/gdb/ada-lang.c 2016-07-16 14:33:44.527530028 +0200 -@@ -75,7 +75,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/ada-lang.c 2017-04-20 23:08:54.142394671 +0200 ++++ gdb-7.99.90.20170420/gdb/ada-lang.c 2017-04-20 23:08:56.967410590 +0200 +@@ -76,7 +76,7 @@ static struct value *desc_bounds (struct value *); @@ -476,7 +476,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c static int fat_pntr_bounds_bitsize (struct type *); -@@ -83,13 +83,13 @@ +@@ -84,13 +84,13 @@ static struct value *desc_data (struct value *); @@ -492,7 +492,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c static int desc_bound_bitsize (struct type *, int, int); -@@ -172,7 +172,7 @@ +@@ -173,7 +173,7 @@ static struct value *unwrap_value (struct value *); @@ -501,7 +501,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c static struct type *decode_constrained_packed_array_type (struct type *); -@@ -187,7 +187,8 @@ +@@ -188,7 +188,8 @@ static struct value *value_subscript_packed (struct value *, int, struct value **); @@ -511,7 +511,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c static struct value *coerce_unspec_val_to_type (struct value *, struct type *); -@@ -215,14 +216,14 @@ +@@ -216,14 +217,14 @@ static struct symbol *standard_lookup (const char *, const struct block *, domain_enum); @@ -530,7 +530,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c static struct value *ada_to_fixed_value_create (struct type *, CORE_ADDR, struct value *); -@@ -236,7 +237,7 @@ +@@ -237,7 +238,7 @@ static void ada_language_arch_info (struct gdbarch *, struct language_arch_info *); @@ -539,7 +539,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c struct type *); static struct value *assign_aggregate (struct value *, struct value *, -@@ -700,7 +701,7 @@ +@@ -699,7 +700,7 @@ } static const gdb_byte * @@ -548,7 +548,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c { if (valaddr == NULL) return NULL; -@@ -709,7 +710,7 @@ +@@ -708,7 +709,7 @@ } static CORE_ADDR @@ -557,7 +557,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c { if (address == 0) return 0; -@@ -1756,7 +1757,7 @@ +@@ -1755,7 +1756,7 @@ /* If TYPE is the type of an array-descriptor (fat pointer), the bit position of the field containing the address of the bounds data. */ @@ -566,7 +566,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c fat_pntr_bounds_bitpos (struct type *type) { return TYPE_FIELD_BITPOS (desc_base_type (type), 1); -@@ -1822,7 +1823,7 @@ +@@ -1821,7 +1822,7 @@ /* If TYPE is the type of an array-descriptor (fat pointer), the bit position of the field containing the address of the data. */ @@ -575,7 +575,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c fat_pntr_data_bitpos (struct type *type) { return TYPE_FIELD_BITPOS (desc_base_type (type), 0); -@@ -1857,7 +1858,7 @@ +@@ -1856,7 +1857,7 @@ of the Ith lower bound stored in it, if WHICH is 0, and the Ith upper bound, if WHICH is 1. The first bound is I=1. */ @@ -584,7 +584,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c desc_bound_bitpos (struct type *type, int i, int which) { return TYPE_FIELD_BITPOS (desc_base_type (type), 2 * i + which - 2); -@@ -2047,7 +2048,7 @@ +@@ -2046,7 +2047,7 @@ zero, and does not need to be recomputed. */ if (lo < hi) { @@ -593,7 +593,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c (hi - lo + 1) * TYPE_FIELD_BITSIZE (elt_type, 0); TYPE_LENGTH (array_type) = (array_bitsize + 7) / 8; -@@ -2207,7 +2208,7 @@ +@@ -2206,7 +2207,7 @@ the length is arbitrary. */ static struct type * @@ -602,7 +602,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c { struct type *new_elt_type; struct type *new_type; -@@ -2261,7 +2262,7 @@ +@@ -2260,7 +2261,7 @@ char *name; const char *tail; struct type *shadow_type; @@ -611,7 +611,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c if (!raw_name) raw_name = ada_type_name (desc_base_type (type)); -@@ -2332,7 +2333,8 @@ +@@ -2331,7 +2332,8 @@ array with no wrapper. In order to interpret the value through the (left-justified) packed array type we just built, we must first left-justify it. */ @@ -621,7 +621,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c ULONGEST mod; mod = ada_modulus (value_type (arr)) - 1; -@@ -2560,7 +2562,7 @@ +@@ -2559,7 +2561,7 @@ struct value * ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr, @@ -630,7 +630,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c struct type *type) { struct value *v; -@@ -2633,7 +2635,7 @@ +@@ -2630,7 +2632,7 @@ if (obj != NULL) { @@ -639,7 +639,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c set_value_component_location (v, obj); set_value_bitpos (v, bit_offset + value_bitpos (obj)); -@@ -2681,7 +2683,7 @@ +@@ -2676,7 +2678,7 @@ not overlap. */ static void move_bits (gdb_byte *target, int targ_offset, const gdb_byte *source, @@ -648,7 +648,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c { unsigned int accum, mask; int accum_bits, chunk_size; -@@ -2771,7 +2773,7 @@ +@@ -2766,7 +2768,7 @@ { int len = (value_bitpos (toval) + bits + HOST_CHAR_BIT - 1) / HOST_CHAR_BIT; @@ -657,7 +657,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c gdb_byte *buffer = (gdb_byte *) alloca (len); struct value *val; CORE_ADDR to_addr = value_address (toval); -@@ -2822,7 +2824,7 @@ +@@ -2817,7 +2819,7 @@ (LONGEST) (value_address (component) - value_address (container)); int bit_offset_in_container = value_bitpos (component) - value_bitpos (container); @@ -666,7 +666,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c val = value_cast (value_type (component), val); -@@ -4480,7 +4482,7 @@ +@@ -4468,7 +4470,7 @@ if (VALUE_LVAL (val) == not_lval || VALUE_LVAL (val) == lval_internalvar) { @@ -675,7 +675,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c const CORE_ADDR addr = value_as_long (value_allocate_space_in_inferior (len)); -@@ -4564,7 +4566,7 @@ +@@ -4552,7 +4554,7 @@ value_pointer (struct value *value, struct type *type) { struct gdbarch *gdbarch = get_type_arch (type); @@ -684,7 +684,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c gdb_byte *buf = (gdb_byte *) alloca (len); CORE_ADDR addr; -@@ -6799,7 +6801,7 @@ +@@ -6752,7 +6754,7 @@ const gdb_byte *valaddr, CORE_ADDR address) { @@ -693,7 +693,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c struct type *tag_type; if (find_struct_field ("_tag", type, 0, &tag_type, &tag_byte_offset, -@@ -7280,7 +7282,7 @@ +@@ -7233,7 +7235,7 @@ only in that it can handle packed values of arbitrary type. */ static struct value * @@ -702,7 +702,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c struct type *arg_type) { struct type *type; -@@ -7292,7 +7294,7 @@ +@@ -7245,7 +7247,7 @@ if (TYPE_FIELD_BITSIZE (arg_type, fieldno) != 0) { @@ -711,7 +711,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno); return ada_value_primitive_packed_val (arg1, value_contents (arg1), -@@ -7319,9 +7321,9 @@ +@@ -7272,9 +7274,9 @@ Returns 1 if found, 0 otherwise. */ static int @@ -723,7 +723,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c int *index_p) { int i; -@@ -7339,8 +7341,8 @@ +@@ -7292,8 +7294,8 @@ for (i = 0; i < TYPE_NFIELDS (type); i += 1) { @@ -734,7 +734,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c const char *t_field_name = TYPE_FIELD_NAME (type, i); if (t_field_name == NULL) -@@ -7410,7 +7412,7 @@ +@@ -7363,7 +7365,7 @@ Searches recursively through wrapper fields (e.g., '_parent'). */ static struct value * @@ -743,7 +743,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c struct type *type) { int i; -@@ -7443,7 +7445,7 @@ +@@ -7396,7 +7398,7 @@ int j; struct type *field_type = ada_check_typedef (TYPE_FIELD_TYPE (type, i)); @@ -752,7 +752,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c for (j = 0; j < TYPE_NFIELDS (field_type); j += 1) { -@@ -7461,8 +7463,8 @@ +@@ -7414,8 +7416,8 @@ return NULL; } @@ -763,7 +763,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c /* Return field #INDEX in ARG, where the index is that returned by -@@ -7471,7 +7473,7 @@ +@@ -7424,7 +7426,7 @@ * If found, return value, else return NULL. */ static struct value * @@ -772,7 +772,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c struct type *type) { return ada_index_struct_field_1 (&index, arg, offset, type); -@@ -7483,7 +7485,7 @@ +@@ -7436,7 +7438,7 @@ * *INDEX_P. */ static struct value * @@ -781,7 +781,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c struct type *type) { int i; -@@ -7573,7 +7575,8 @@ +@@ -7526,7 +7528,8 @@ v = ada_search_struct_field (name, arg, 0, t); else { @@ -791,7 +791,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c struct type *field_type; CORE_ADDR address; -@@ -7904,8 +7907,8 @@ +@@ -7832,8 +7835,8 @@ /* Return OFF rounded upward if necessary to a multiple of ALIGNMENT (a power of 2). */ @@ -802,7 +802,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c { return (off + alignment - 1) & ~(alignment - 1); } -@@ -8299,10 +8302,9 @@ +@@ -8227,10 +8230,9 @@ struct value *mark = value_mark (); struct value *dval; struct type *rtype; @@ -815,7 +815,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c int f; /* Compute the number of fields in this record type that are going -@@ -8380,7 +8382,7 @@ +@@ -8308,7 +8310,7 @@ that follow this one. */ if (ada_is_aligner_type (field_type)) { @@ -824,7 +824,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c field_valaddr = cond_offset_host (field_valaddr, field_offset); field_address = cond_offset_target (field_address, field_offset); -@@ -8516,11 +8518,11 @@ +@@ -8444,11 +8446,11 @@ if (TYPE_LENGTH (type) <= 0) { if (TYPE_NAME (rtype)) @@ -840,7 +840,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c } else { -@@ -8987,7 +8989,8 @@ +@@ -8915,7 +8917,8 @@ type was a regular (non-packed) array type. As a result, the bitsize of the array elements needs to be set again, and the array length needs to be recomputed based on that bitsize. */ @@ -850,18 +850,18 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.c int elt_bitsize = TYPE_FIELD_BITSIZE (type0, 0); TYPE_FIELD_BITSIZE (result, 0) = TYPE_FIELD_BITSIZE (type0, 0); -Index: gdb-7.11.50.20160716/gdb/ada-lang.h +Index: gdb-7.99.90.20170420/gdb/ada-lang.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/ada-lang.h 2016-07-16 14:33:42.054510125 +0200 -+++ gdb-7.11.50.20160716/gdb/ada-lang.h 2016-07-16 14:33:44.528530036 +0200 +--- gdb-7.99.90.20170420.orig/gdb/ada-lang.h 2017-04-20 23:08:54.143394676 +0200 ++++ gdb-7.99.90.20170420/gdb/ada-lang.h 2017-04-20 23:08:56.967410590 +0200 @@ -168,7 +168,7 @@ extern void ada_print_typedef (struct type *type, struct symbol *new_symbol, struct ui_file *stream); --extern void ada_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, -+extern void ada_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR, +-extern void ada_val_print (struct type *, int, CORE_ADDR, ++extern void ada_val_print (struct type *, LONGEST, CORE_ADDR, struct ui_file *, int, - const struct value *, + struct value *, const struct value_print_options *); @@ -183,7 +183,7 @@ extern void ada_printchar (int, struct type *, struct ui_file *); @@ -881,10 +881,10 @@ Index: gdb-7.11.50.20160716/gdb/ada-lang.h struct type *); extern struct type *ada_coerce_to_simple_array_type (struct type *); -Index: gdb-7.11.50.20160716/gdb/ada-typeprint.c +Index: gdb-7.99.90.20170420/gdb/ada-typeprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/ada-typeprint.c 2016-07-16 14:33:42.055510133 +0200 -+++ gdb-7.11.50.20160716/gdb/ada-typeprint.c 2016-07-16 14:33:44.528530036 +0200 +--- gdb-7.99.90.20170420.orig/gdb/ada-typeprint.c 2017-04-20 23:08:54.143394676 +0200 ++++ gdb-7.99.90.20170420/gdb/ada-typeprint.c 2017-04-20 23:08:56.967410590 +0200 @@ -891,8 +891,8 @@ const char *name = ada_type_name (type); @@ -906,10 +906,10 @@ Index: gdb-7.11.50.20160716/gdb/ada-typeprint.c break; case TYPE_CODE_ENUM: if (show < 0) -Index: gdb-7.11.50.20160716/gdb/ada-valprint.c +Index: gdb-7.99.90.20170420/gdb/ada-valprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/ada-valprint.c 2016-07-16 14:33:42.056510141 +0200 -+++ gdb-7.11.50.20160716/gdb/ada-valprint.c 2016-07-16 14:33:44.528530036 +0200 +--- gdb-7.99.90.20170420.orig/gdb/ada-valprint.c 2017-04-20 23:08:54.144394682 +0200 ++++ gdb-7.99.90.20170420/gdb/ada-valprint.c 2017-04-20 23:08:56.968410595 +0200 @@ -33,11 +33,11 @@ #include "objfiles.h" @@ -917,7 +917,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-valprint.c - int, + LONGEST, struct ui_file *, int, - const struct value *, + struct value *, const struct value_print_options *, - int, struct type *, int, + int, struct type *, LONGEST, @@ -933,7 +933,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-valprint.c enum bfd_endian byte_order) { if (type_len == 1) -@@ -441,11 +441,11 @@ +@@ -439,11 +439,11 @@ static void printstr (struct ui_file *stream, struct type *elttype, const gdb_byte *string, @@ -947,7 +947,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-valprint.c unsigned int things_printed = 0; int in_quotes = 0; int need_comma = 0; -@@ -460,9 +460,9 @@ +@@ -458,9 +458,9 @@ { /* Position of the character we are examining to see whether it is repeated. */ @@ -959,7 +959,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-valprint.c QUIT; -@@ -493,7 +493,8 @@ +@@ -491,7 +491,8 @@ ada_emit_char (char_at (string, i, type_len, byte_order), elttype, stream, '\'', type_len); fputs_filtered ("'", stream); @@ -969,7 +969,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-valprint.c i = rep1 - 1; things_printed += options->repeat_count_threshold; need_comma = 1; -@@ -521,7 +522,7 @@ +@@ -519,7 +520,7 @@ void ada_printstr (struct ui_file *stream, struct type *type, @@ -978,14 +978,14 @@ Index: gdb-7.11.50.20160716/gdb/ada-valprint.c const char *encoding, int force_ellipses, const struct value_print_options *options) { -@@ -531,12 +532,12 @@ +@@ -529,12 +530,12 @@ static int print_variant_part (struct type *type, int field_num, - const gdb_byte *valaddr, int offset, + const gdb_byte *valaddr, LONGEST offset, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options, int comma_needed, - struct type *outer_type, int outer_offset, @@ -993,13 +993,13 @@ Index: gdb-7.11.50.20160716/gdb/ada-valprint.c const struct language_defn *language) { struct type *var_type = TYPE_FIELD_TYPE (type, field_num); -@@ -572,11 +573,11 @@ +@@ -570,11 +571,11 @@ static int print_field_values (struct type *type, const gdb_byte *valaddr, - int offset, struct ui_file *stream, int recurse, + LONGEST offset, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options, int comma_needed, - struct type *outer_type, int outer_offset, @@ -1007,16 +1007,16 @@ Index: gdb-7.11.50.20160716/gdb/ada-valprint.c const struct language_defn *language) { int i, len; -@@ -643,7 +644,7 @@ - } +@@ -640,7 +641,7 @@ else { + struct value *v; - int bit_pos = TYPE_FIELD_BITPOS (type, i); + LONGEST bit_pos = TYPE_FIELD_BITPOS (type, i); int bit_size = TYPE_FIELD_BITSIZE (type, i); struct value_print_options opts; -@@ -689,8 +690,8 @@ +@@ -685,8 +686,8 @@ { enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type)); struct type *elttype = TYPE_TARGET_TYPE (type); @@ -1027,7 +1027,7 @@ Index: gdb-7.11.50.20160716/gdb/ada-valprint.c /* We know that ELTTYPE cannot possibly be null, because we assume that we're called only when TYPE is a string-like type. -@@ -709,7 +710,7 @@ +@@ -705,7 +706,7 @@ elements up to it. */ if (options->stop_print_at_null) { @@ -1036,28 +1036,28 @@ Index: gdb-7.11.50.20160716/gdb/ada-valprint.c /* Look for a NULL char. */ for (temp_len = 0; -@@ -1074,7 +1075,7 @@ +@@ -1072,7 +1073,7 @@ static void - ada_val_print_1 (struct type *type, const gdb_byte *valaddr, + ada_val_print_1 (struct type *type, - int offset, CORE_ADDR address, + LONGEST offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *original_value, + struct value *original_value, const struct value_print_options *options, -@@ -1157,7 +1158,7 @@ +@@ -1156,7 +1157,7 @@ void - ada_val_print (struct type *type, const gdb_byte *valaddr, + ada_val_print (struct type *type, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options) -Index: gdb-7.11.50.20160716/gdb/annotate.c +Index: gdb-7.99.90.20170420/gdb/annotate.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/annotate.c 2016-07-16 14:33:42.057510149 +0200 -+++ gdb-7.11.50.20160716/gdb/annotate.c 2016-07-16 14:33:44.528530036 +0200 +--- gdb-7.99.90.20170420.orig/gdb/annotate.c 2017-04-20 23:08:54.144394682 +0200 ++++ gdb-7.99.90.20170420/gdb/annotate.c 2017-04-20 23:08:56.968410595 +0200 @@ -533,21 +533,21 @@ } @@ -1084,10 +1084,10 @@ Index: gdb-7.11.50.20160716/gdb/annotate.c } void -Index: gdb-7.11.50.20160716/gdb/annotate.h +Index: gdb-7.99.90.20170420/gdb/annotate.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/annotate.h 2016-07-16 14:33:42.057510149 +0200 -+++ gdb-7.11.50.20160716/gdb/annotate.h 2016-07-16 14:33:44.528530036 +0200 +--- gdb-7.99.90.20170420.orig/gdb/annotate.h 2017-04-20 23:08:54.145394688 +0200 ++++ gdb-7.99.90.20170420/gdb/annotate.h 2017-04-20 23:08:56.968410595 +0200 @@ -92,8 +92,8 @@ extern void annotate_frame_where (void); extern void annotate_frame_end (void); @@ -1099,11 +1099,11 @@ Index: gdb-7.11.50.20160716/gdb/annotate.h extern void annotate_elt_rep_end (void); extern void annotate_elt (void); extern void annotate_array_section_end (void); -Index: gdb-7.11.50.20160716/gdb/arm-linux-nat.c +Index: gdb-7.99.90.20170420/gdb/arm-linux-nat.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/arm-linux-nat.c 2016-07-16 14:33:42.057510149 +0200 -+++ gdb-7.11.50.20160716/gdb/arm-linux-nat.c 2016-07-16 14:33:44.529530044 +0200 -@@ -1063,7 +1063,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/arm-linux-nat.c 2017-04-20 23:08:54.145394688 +0200 ++++ gdb-7.99.90.20170420/gdb/arm-linux-nat.c 2017-04-20 23:08:56.969410601 +0200 +@@ -1065,7 +1065,7 @@ ADDR? */ static int arm_linux_region_ok_for_hw_watchpoint (struct target_ops *self, @@ -1112,10 +1112,10 @@ Index: gdb-7.11.50.20160716/gdb/arm-linux-nat.c { const struct arm_linux_hwbp_cap *cap = arm_linux_get_hwbp_cap (); CORE_ADDR max_wp_length, aligned_addr; -Index: gdb-7.11.50.20160716/gdb/ax-gdb.c +Index: gdb-7.99.90.20170420/gdb/ax-gdb.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/ax-gdb.c 2016-07-16 14:33:42.060510173 +0200 -+++ gdb-7.11.50.20160716/gdb/ax-gdb.c 2016-07-16 14:33:44.529530044 +0200 +--- gdb-7.99.90.20170420.orig/gdb/ax-gdb.c 2017-04-20 23:08:54.146394694 +0200 ++++ gdb-7.99.90.20170420/gdb/ax-gdb.c 2017-04-20 23:10:24.154901877 +0200 @@ -83,12 +83,12 @@ static void gen_sign_extend (struct agent_expr *, struct type *); static void gen_extend (struct agent_expr *, struct type *); @@ -1131,7 +1131,7 @@ Index: gdb-7.11.50.20160716/gdb/ax-gdb.c static void gen_sym_offset (struct agent_expr *, struct symbol *); static void gen_var_ref (struct gdbarch *, struct agent_expr *ax, struct axs_value *value, struct symbol *var); -@@ -136,15 +136,16 @@ +@@ -137,15 +137,15 @@ static void gen_address_of (struct agent_expr *, struct axs_value *); static void gen_bitfield_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, @@ -1141,17 +1141,16 @@ Index: gdb-7.11.50.20160716/gdb/ax-gdb.c struct agent_expr *ax, struct axs_value *value, - int offset, int fieldno, struct type *type); -+ LONGEST offset, int fieldno, -+ struct type *type); ++ LONGEST offset, int fieldno, struct type *type); static int gen_struct_ref_recursive (struct expression *exp, struct agent_expr *ax, struct axs_value *value, -- char *field, int offset, -+ char *field, LONGEST offset, +- const char *field, int offset, ++ const char *field, LONGEST offset, struct type *type); static void gen_struct_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, -@@ -538,7 +539,7 @@ +@@ -541,7 +541,7 @@ right shift it by -DISTANCE bits if DISTANCE < 0. This generates unsigned (logical) right shifts. */ static void @@ -1160,7 +1159,7 @@ Index: gdb-7.11.50.20160716/gdb/ax-gdb.c { if (distance > 0) { -@@ -592,7 +593,7 @@ +@@ -595,7 +595,7 @@ programming in ML, it would be clearer why these are the same thing. */ static void @@ -1169,7 +1168,7 @@ Index: gdb-7.11.50.20160716/gdb/ax-gdb.c { /* It would suffice to simply push the offset and add it, but this makes it easier to read positive and negative offsets in the -@@ -1248,7 +1249,7 @@ +@@ -1251,7 +1251,7 @@ static void gen_bitfield_ref (struct expression *exp, struct agent_expr *ax, struct axs_value *value, struct type *type, @@ -1178,7 +1177,7 @@ Index: gdb-7.11.50.20160716/gdb/ax-gdb.c { /* Note that ops[i] fetches 8 << i bits. */ static enum agent_op ops[] -@@ -1283,13 +1284,13 @@ +@@ -1286,13 +1286,13 @@ /* The first and one-after-last bits in the field, but rounded down and up to byte boundaries. */ @@ -1197,7 +1196,7 @@ Index: gdb-7.11.50.20160716/gdb/ax-gdb.c /* The index in ops of the opcode we're considering. */ int op; -@@ -1408,7 +1409,7 @@ +@@ -1411,7 +1411,7 @@ static void gen_primitive_field (struct expression *exp, struct agent_expr *ax, struct axs_value *value, @@ -1206,20 +1205,20 @@ Index: gdb-7.11.50.20160716/gdb/ax-gdb.c { /* Is this a bitfield? */ if (TYPE_FIELD_PACKED (type, fieldno)) -@@ -1433,7 +1434,7 @@ +@@ -1436,7 +1436,7 @@ static int gen_struct_ref_recursive (struct expression *exp, struct agent_expr *ax, struct axs_value *value, -- char *field, int offset, struct type *type) -+ char *field, LONGEST offset, struct type *type) +- const char *field, int offset, struct type *type) ++ const char *field, LONGEST offset, struct type *type) { int i, rslt; int nbases = TYPE_N_BASECLASSES (type); -Index: gdb-7.11.50.20160716/gdb/ax-general.c +Index: gdb-7.99.90.20170420/gdb/ax-general.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/ax-general.c 2016-07-16 14:33:42.060510173 +0200 -+++ gdb-7.11.50.20160716/gdb/ax-general.c 2016-07-16 14:33:44.529530044 +0200 -@@ -199,7 +199,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/ax-general.c 2017-04-20 23:08:54.147394699 +0200 ++++ gdb-7.99.90.20170420/gdb/ax-general.c 2017-04-20 23:08:56.970410606 +0200 +@@ -177,7 +177,7 @@ /* Append a trace_quick instruction to EXPR, to record N bytes. */ void @@ -1228,11 +1227,11 @@ Index: gdb-7.11.50.20160716/gdb/ax-general.c { /* N must fit in a byte. */ if (n < 0 || n > 255) -Index: gdb-7.11.50.20160716/gdb/ax.h +Index: gdb-7.99.90.20170420/gdb/ax.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/ax.h 2016-07-16 14:33:42.060510173 +0200 -+++ gdb-7.11.50.20160716/gdb/ax.h 2016-07-16 14:33:44.529530044 +0200 -@@ -210,7 +210,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/ax.h 2017-04-20 23:08:54.147394699 +0200 ++++ gdb-7.99.90.20170420/gdb/ax.h 2017-04-20 23:08:56.970410606 +0200 +@@ -205,7 +205,7 @@ extern void ax_zero_ext (struct agent_expr *EXPR, int N); /* Append a trace_quick instruction to EXPR, to record N bytes. */ @@ -1241,11 +1240,11 @@ Index: gdb-7.11.50.20160716/gdb/ax.h /* Append a goto op to EXPR. OP is the actual op (must be aop_goto or aop_if_goto). We assume we don't know the target offset yet, -Index: gdb-7.11.50.20160716/gdb/breakpoint.c +Index: gdb-7.99.90.20170420/gdb/breakpoint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/breakpoint.c 2016-07-16 14:33:42.067510230 +0200 -+++ gdb-7.11.50.20160716/gdb/breakpoint.c 2016-07-16 14:33:44.531530060 +0200 -@@ -2251,9 +2251,9 @@ +--- gdb-7.99.90.20170420.orig/gdb/breakpoint.c 2017-04-20 23:08:54.151394722 +0200 ++++ gdb-7.99.90.20170420/gdb/breakpoint.c 2017-04-20 23:08:56.973410623 +0200 +@@ -2225,9 +2225,9 @@ { fprintf_unfiltered (gdb_stdlog, "infrun: stepping past non-steppable watchpoint. " @@ -1257,7 +1256,7 @@ Index: gdb-7.11.50.20160716/gdb/breakpoint.c } return 0; } -@@ -7181,7 +7181,7 @@ +@@ -7151,7 +7151,7 @@ static int breakpoint_address_match_range (struct address_space *aspace1, CORE_ADDR addr1, @@ -1266,7 +1265,7 @@ Index: gdb-7.11.50.20160716/gdb/breakpoint.c CORE_ADDR addr2) { return ((gdbarch_has_global_breakpoints (target_gdbarch ()) -@@ -11534,7 +11534,7 @@ +@@ -11444,7 +11444,7 @@ && TYPE_CODE (vtype) != TYPE_CODE_ARRAY)) { CORE_ADDR vaddr = value_address (v); @@ -1275,11 +1274,11 @@ Index: gdb-7.11.50.20160716/gdb/breakpoint.c int num_regs; len = (target_exact_watchpoints -Index: gdb-7.11.50.20160716/gdb/breakpoint.h +Index: gdb-7.99.90.20170420/gdb/breakpoint.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/breakpoint.h 2016-07-16 14:33:42.068510238 +0200 -+++ gdb-7.11.50.20160716/gdb/breakpoint.h 2016-07-16 14:33:44.532530068 +0200 -@@ -237,7 +237,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/breakpoint.h 2017-04-20 23:08:54.152394727 +0200 ++++ gdb-7.99.90.20170420/gdb/breakpoint.h 2017-04-20 23:08:56.974410629 +0200 +@@ -250,7 +250,7 @@ /* If this is a ranged breakpoint, then this field contains the length of the range that will be watched for execution. */ @@ -1288,7 +1287,7 @@ Index: gdb-7.11.50.20160716/gdb/breakpoint.h /* If the breakpoint lives in memory and reading that memory would give back the breakpoint, instead of the original contents, then -@@ -413,7 +413,7 @@ +@@ -422,7 +422,7 @@ /* For hardware watchpoints, the size of the memory region being watched. For hardware ranged breakpoints, the size of the breakpoint range. */ @@ -1297,10 +1296,10 @@ Index: gdb-7.11.50.20160716/gdb/breakpoint.h /* Type of hardware watchpoint. */ enum target_hw_bp_type watchpoint_type; -Index: gdb-7.11.50.20160716/gdb/c-lang.c +Index: gdb-7.99.90.20170420/gdb/c-lang.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/c-lang.c 2016-07-16 14:33:42.069510246 +0200 -+++ gdb-7.11.50.20160716/gdb/c-lang.c 2016-07-16 14:33:44.532530068 +0200 +--- gdb-7.99.90.20170420.orig/gdb/c-lang.c 2017-04-20 23:08:54.152394727 +0200 ++++ gdb-7.99.90.20170420/gdb/c-lang.c 2017-04-20 23:08:56.974410629 +0200 @@ -186,7 +186,7 @@ void @@ -1310,7 +1309,7 @@ Index: gdb-7.11.50.20160716/gdb/c-lang.c const char *user_encoding, int force_ellipses, const struct value_print_options *options) { -@@ -675,7 +675,7 @@ +@@ -672,7 +672,7 @@ } else { @@ -1319,7 +1318,7 @@ Index: gdb-7.11.50.20160716/gdb/c-lang.c /* Write the terminating character. */ for (i = 0; i < TYPE_LENGTH (type); ++i) -@@ -684,7 +684,7 @@ +@@ -681,7 +681,7 @@ if (satisfy_expected) { LONGEST low_bound, high_bound; @@ -1328,18 +1327,18 @@ Index: gdb-7.11.50.20160716/gdb/c-lang.c if (get_discrete_bounds (TYPE_INDEX_TYPE (expect_type), &low_bound, &high_bound) < 0) -Index: gdb-7.11.50.20160716/gdb/c-lang.h +Index: gdb-7.99.90.20170420/gdb/c-lang.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/c-lang.h 2016-07-16 14:33:42.069510246 +0200 -+++ gdb-7.11.50.20160716/gdb/c-lang.h 2016-07-16 14:33:44.532530068 +0200 +--- gdb-7.99.90.20170420.orig/gdb/c-lang.h 2017-04-20 23:08:54.152394727 +0200 ++++ gdb-7.99.90.20170420/gdb/c-lang.h 2017-04-20 23:08:56.974410629 +0200 @@ -77,7 +77,7 @@ struct ui_file *); - extern void c_val_print (struct type *, const gdb_byte *, + extern void c_val_print (struct type *, - int, CORE_ADDR, + LONGEST, CORE_ADDR, struct ui_file *, int, - const struct value *, + struct value *, const struct value_print_options *); @@ -97,7 +97,7 @@ extern void c_printstr (struct ui_file * stream, @@ -1350,10 +1349,10 @@ Index: gdb-7.11.50.20160716/gdb/c-lang.h const char *user_encoding, int force_ellipses, const struct value_print_options *options); -Index: gdb-7.11.50.20160716/gdb/c-valprint.c +Index: gdb-7.99.90.20170420/gdb/c-valprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/c-valprint.c 2016-07-16 14:33:42.070510254 +0200 -+++ gdb-7.11.50.20160716/gdb/c-valprint.c 2016-07-16 14:33:44.532530068 +0200 +--- gdb-7.99.90.20170420.orig/gdb/c-valprint.c 2017-04-20 23:08:54.153394733 +0200 ++++ gdb-7.99.90.20170420/gdb/c-valprint.c 2017-04-20 23:08:56.975410634 +0200 @@ -244,7 +244,7 @@ if (TYPE_LENGTH (type) > 0 && TYPE_LENGTH (unresolved_elttype) > 0) { @@ -1386,16 +1385,16 @@ Index: gdb-7.11.50.20160716/gdb/c-valprint.c @@ -495,7 +495,7 @@ void - c_val_print (struct type *type, const gdb_byte *valaddr, + c_val_print (struct type *type, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *original_value, + struct value *original_value, const struct value_print_options *options) -Index: gdb-7.11.50.20160716/gdb/cp-abi.c +Index: gdb-7.99.90.20170420/gdb/cp-abi.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/cp-abi.c 2016-07-16 14:33:42.070510254 +0200 -+++ gdb-7.11.50.20160716/gdb/cp-abi.c 2016-07-16 14:33:44.532530068 +0200 +--- gdb-7.99.90.20170420.orig/gdb/cp-abi.c 2017-04-20 23:08:54.153394733 +0200 ++++ gdb-7.99.90.20170420/gdb/cp-abi.c 2017-04-20 23:08:56.975410634 +0200 @@ -64,12 +64,12 @@ return (*current_cp_abi.is_operator_name) (name); } @@ -1420,10 +1419,10 @@ Index: gdb-7.11.50.20160716/gdb/cp-abi.c { if ((current_cp_abi.virtual_fn_field) == NULL) return NULL; -Index: gdb-7.11.50.20160716/gdb/cp-abi.h +Index: gdb-7.99.90.20170420/gdb/cp-abi.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/cp-abi.h 2016-07-16 14:33:42.070510254 +0200 -+++ gdb-7.11.50.20160716/gdb/cp-abi.h 2016-07-16 14:33:44.532530068 +0200 +--- gdb-7.99.90.20170420.orig/gdb/cp-abi.h 2017-04-20 23:08:54.153394733 +0200 ++++ gdb-7.99.90.20170420/gdb/cp-abi.h 2017-04-20 23:08:56.975410634 +0200 @@ -108,7 +108,7 @@ struct fn_field *f, int j, @@ -1450,7 +1449,7 @@ Index: gdb-7.11.50.20160716/gdb/cp-abi.h /* Describe the target of a pointer to method. CONTENTS is the byte pattern representing the pointer to method. TYPE is the pointer to -@@ -227,12 +227,12 @@ +@@ -226,12 +226,12 @@ struct value *(*virtual_fn_field) (struct value **arg1p, struct fn_field * f, int j, struct type * type, @@ -1467,11 +1466,11 @@ Index: gdb-7.11.50.20160716/gdb/cp-abi.h void (*print_method_ptr) (const gdb_byte *contents, struct type *type, struct ui_file *stream); -Index: gdb-7.11.50.20160716/gdb/cp-valprint.c +Index: gdb-7.99.90.20170420/gdb/cp-valprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/cp-valprint.c 2016-07-16 14:33:42.071510262 +0200 -+++ gdb-7.11.50.20160716/gdb/cp-valprint.c 2016-07-16 14:33:44.532530068 +0200 -@@ -334,7 +334,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/cp-valprint.c 2017-04-20 23:08:54.153394733 +0200 ++++ gdb-7.99.90.20170420/gdb/cp-valprint.c 2017-04-20 23:08:56.975410634 +0200 +@@ -336,7 +336,7 @@ } else if (i == vptr_fieldno && type == vptr_basetype) { @@ -1480,91 +1479,37 @@ Index: gdb-7.11.50.20160716/gdb/cp-valprint.c struct type *i_type = TYPE_FIELD_TYPE (type, i); if (valprint_check_validity (stream, i_type, i_offset, val)) -Index: gdb-7.11.50.20160716/gdb/d-lang.h +Index: gdb-7.99.90.20170420/gdb/d-lang.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/d-lang.h 2016-07-16 14:33:42.071510262 +0200 -+++ gdb-7.11.50.20160716/gdb/d-lang.h 2016-07-16 14:33:44.533530076 +0200 +--- gdb-7.99.90.20170420.orig/gdb/d-lang.h 2017-04-20 23:08:54.153394733 +0200 ++++ gdb-7.99.90.20170420/gdb/d-lang.h 2017-04-20 23:08:56.975410634 +0200 @@ -81,7 +81,7 @@ /* Defined in d-valprint.c */ - extern void d_val_print (struct type *type, const gdb_byte *valaddr, + extern void d_val_print (struct type *type, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options); -Index: gdb-7.11.50.20160716/gdb/d-valprint.c +Index: gdb-7.99.90.20170420/gdb/d-valprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/d-valprint.c 2016-07-16 14:33:42.071510262 +0200 -+++ gdb-7.11.50.20160716/gdb/d-valprint.c 2016-07-16 14:33:44.533530076 +0200 -@@ -73,9 +73,9 @@ +--- gdb-7.99.90.20170420.orig/gdb/d-valprint.c 2017-04-20 23:08:54.154394739 +0200 ++++ gdb-7.99.90.20170420/gdb/d-valprint.c 2017-04-20 23:08:56.976410640 +0200 +@@ -73,7 +73,7 @@ /* Implements the la_val_print routine for language D. */ void --d_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, -- CORE_ADDR address, struct ui_file *stream, int recurse, -- const struct value *val, -+d_val_print (struct type *type, const gdb_byte *valaddr, -+ LONGEST embedded_offset, CORE_ADDR address, -+ struct ui_file *stream, int recurse, const struct value *val, +-d_val_print (struct type *type, int embedded_offset, ++d_val_print (struct type *type, LONGEST embedded_offset, + CORE_ADDR address, struct ui_file *stream, int recurse, + struct value *val, const struct value_print_options *options) - { - int ret; -Index: gdb-7.11.50.20160716/gdb/doublest.c +Index: gdb-7.99.90.20170420/gdb/dwarf2loc.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/doublest.c 2016-07-16 14:33:42.072510270 +0200 -+++ gdb-7.11.50.20160716/gdb/doublest.c 2016-07-16 14:33:44.533530076 +0200 -@@ -784,7 +784,7 @@ - but not passed on by GDB. This should be fixed. */ - - static const struct floatformat * --floatformat_from_length (struct gdbarch *gdbarch, int len) -+floatformat_from_length (struct gdbarch *gdbarch, LONGEST len) - { - const struct floatformat *format; - -@@ -812,8 +812,8 @@ - else - format = NULL; - if (format == NULL) -- error (_("Unrecognized %d-bit floating-point type."), -- len * TARGET_CHAR_BIT); -+ error (_("Unrecognized %s-bit floating-point type."), -+ plongest (len * TARGET_CHAR_BIT)); - return format; - } - -Index: gdb-7.11.50.20160716/gdb/dwarf2loc.c -=================================================================== ---- gdb-7.11.50.20160716.orig/gdb/dwarf2loc.c 2016-07-16 14:33:42.076510302 +0200 -+++ gdb-7.11.50.20160716/gdb/dwarf2loc.c 2016-07-16 14:33:44.533530076 +0200 -@@ -1638,19 +1638,19 @@ - BITS_BIG_ENDIAN is taken directly from gdbarch. */ - - static void --copy_bitwise (gdb_byte *dest, unsigned int dest_offset_bits, -- const gdb_byte *source, unsigned int source_offset_bits, -- unsigned int bit_count, -+copy_bitwise (gdb_byte *dest, ULONGEST dest_offset_bits, -+ const gdb_byte *source, ULONGEST source_offset, -+ ULONGEST bit_count, - int bits_big_endian) - { -- unsigned int dest_avail; -+ unsigned int dest_avail, source_offset_bits; - int datum; - - /* Reduce everything to byte-size pieces. */ - dest += dest_offset_bits / 8; - dest_offset_bits %= 8; -- source += source_offset_bits / 8; -- source_offset_bits %= 8; -+ source += source_offset / 8; -+ source_offset_bits = source_offset % 8; - - dest_avail = 8 - dest_offset_bits % 8; - -@@ -1688,13 +1688,13 @@ +--- gdb-7.99.90.20170420.orig/gdb/dwarf2loc.c 2017-04-20 23:08:54.156394750 +0200 ++++ gdb-7.99.90.20170420/gdb/dwarf2loc.c 2017-04-20 23:11:23.138266582 +0200 +@@ -1761,12 +1761,12 @@ read_pieced_value (struct value *v) { int i; @@ -1574,13 +1519,12 @@ Index: gdb-7.11.50.20160716/gdb/dwarf2loc.c gdb_byte *contents; struct piece_closure *c = (struct piece_closure *) value_computed_closure (v); - struct frame_info *frame = frame_find_by_id (VALUE_FRAME_ID (v)); - size_t type_len; + ULONGEST type_len; size_t buffer_size = 0; - gdb_byte *buffer = NULL; - struct cleanup *cleanup; -@@ -1721,8 +1721,8 @@ + std::vector buffer; + int bits_big_endian +@@ -1790,8 +1790,8 @@ for (i = 0; i < c->n_pieces && offset < type_len; i++) { struct dwarf_expr_piece *p = &c->pieces[i]; @@ -1591,7 +1535,7 @@ Index: gdb-7.11.50.20160716/gdb/dwarf2loc.c const gdb_byte *intermediate_buffer; /* Compute size, source, and destination offsets for copying, in -@@ -1862,13 +1862,13 @@ +@@ -1930,12 +1930,12 @@ write_pieced_value (struct value *to, struct value *from) { int i; @@ -1601,13 +1545,12 @@ Index: gdb-7.11.50.20160716/gdb/dwarf2loc.c const gdb_byte *contents; struct piece_closure *c = (struct piece_closure *) value_computed_closure (to); - struct frame_info *frame = frame_find_by_id (VALUE_FRAME_ID (to)); - size_t type_len; + ULONGEST type_len; size_t buffer_size = 0; - gdb_byte *buffer = NULL; - struct cleanup *cleanup; -@@ -1896,8 +1896,8 @@ + std::vector buffer; + int bits_big_endian +@@ -1954,8 +1954,8 @@ for (i = 0; i < c->n_pieces && offset < type_len; i++) { struct dwarf_expr_piece *p = &c->pieces[i]; @@ -1618,7 +1561,7 @@ Index: gdb-7.11.50.20160716/gdb/dwarf2loc.c int need_bitwise; const gdb_byte *source_buffer; -@@ -2017,7 +2017,7 @@ +@@ -2074,7 +2074,7 @@ static int check_pieced_synthetic_pointer (const struct value *value, LONGEST bit_offset, @@ -1627,7 +1570,7 @@ Index: gdb-7.11.50.20160716/gdb/dwarf2loc.c { struct piece_closure *c = (struct piece_closure *) value_computed_closure (value); -@@ -2030,7 +2030,7 @@ +@@ -2087,7 +2087,7 @@ for (i = 0; i < c->n_pieces && bit_length > 0; i++) { struct dwarf_expr_piece *p = &c->pieces[i]; @@ -1636,7 +1579,7 @@ Index: gdb-7.11.50.20160716/gdb/dwarf2loc.c if (bit_offset > 0) { -@@ -2132,8 +2132,8 @@ +@@ -2195,8 +2195,8 @@ struct type *type; struct frame_info *frame; struct dwarf2_locexpr_baton baton; @@ -1647,7 +1590,7 @@ Index: gdb-7.11.50.20160716/gdb/dwarf2loc.c struct dwarf_expr_piece *piece = NULL; LONGEST byte_offset; enum bfd_endian byte_order; -@@ -2150,7 +2150,7 @@ +@@ -2213,7 +2213,7 @@ for (i = 0; i < c->n_pieces && bit_length > 0; i++) { struct dwarf_expr_piece *p = &c->pieces[i]; @@ -1656,20 +1599,24 @@ Index: gdb-7.11.50.20160716/gdb/dwarf2loc.c if (bit_offset > 0) { -@@ -2444,7 +2444,7 @@ - struct value *value = dwarf_expr_fetch (ctx, 0); - gdb_byte *contents; - const gdb_byte *val_bytes; +@@ -2504,9 +2504,9 @@ + case DWARF_VALUE_STACK: + { + struct value *value = ctx.fetch (0); - size_t n = TYPE_LENGTH (value_type (value)); +- size_t len = TYPE_LENGTH (subobj_type); +- size_t max = TYPE_LENGTH (type); + ULONGEST n = TYPE_LENGTH (value_type (value)); ++ ULONGEST len = TYPE_LENGTH (subobj_type); ++ ULONGEST max = TYPE_LENGTH (type); + struct gdbarch *objfile_gdbarch = get_objfile_arch (objfile); + struct cleanup *cleanup; - if (byte_offset + TYPE_LENGTH (type) > n) - invalid_synthetic_pointer (); -Index: gdb-7.11.50.20160716/gdb/dwarf2read.c +Index: gdb-7.99.90.20170420/gdb/dwarf2read.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/dwarf2read.c 2016-07-16 14:33:42.083510358 +0200 -+++ gdb-7.11.50.20160716/gdb/dwarf2read.c 2016-07-16 14:33:44.536530100 +0200 -@@ -1935,12 +1935,12 @@ +--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c 2017-04-20 23:08:54.160394772 +0200 ++++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 23:08:56.981410668 +0200 +@@ -2064,12 +2064,12 @@ } static void @@ -1686,7 +1633,7 @@ Index: gdb-7.11.50.20160716/gdb/dwarf2read.c } static void -@@ -12573,8 +12573,8 @@ +@@ -12863,8 +12863,8 @@ object, and then subtract off the number of bits of the field itself. The result is the bit offset of the LSB of the field. */ @@ -1697,11 +1644,11 @@ Index: gdb-7.11.50.20160716/gdb/dwarf2read.c attr = dwarf2_attr (die, DW_AT_byte_size, cu); if (attr) -Index: gdb-7.11.50.20160716/gdb/eval.c +Index: gdb-7.99.90.20170420/gdb/eval.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/eval.c 2016-07-16 14:33:42.086510383 +0200 -+++ gdb-7.11.50.20160716/gdb/eval.c 2016-07-16 14:33:44.537530108 +0200 -@@ -317,7 +317,8 @@ +--- gdb-7.99.90.20170420.orig/gdb/eval.c 2017-04-20 23:08:54.162394784 +0200 ++++ gdb-7.99.90.20170420/gdb/eval.c 2017-04-20 23:08:56.982410674 +0200 +@@ -297,7 +297,8 @@ while (--nargs >= 0) { struct value *val = NULL; @@ -1711,7 +1658,7 @@ Index: gdb-7.11.50.20160716/gdb/eval.c bfd_byte *addr; fieldno++; -@@ -378,7 +379,7 @@ +@@ -358,7 +359,7 @@ enum noside noside, LONGEST low_bound, LONGEST high_bound) { LONGEST index; @@ -1720,7 +1667,7 @@ Index: gdb-7.11.50.20160716/gdb/eval.c if (exp->elts[*pos].opcode == BINOP_COMMA) { -@@ -822,11 +823,11 @@ +@@ -802,11 +803,11 @@ /* FIXME: Also mixed integral/booleans, with result an integer. */ { const struct builtin_type *builtin = builtin_type (gdbarch); @@ -1735,7 +1682,7 @@ Index: gdb-7.11.50.20160716/gdb/eval.c int unsigned_operation; /* Determine type length and signedness after promotion for -@@ -1008,7 +1009,7 @@ +@@ -988,7 +989,7 @@ struct value **argvec; int code; int ix; @@ -1744,7 +1691,7 @@ Index: gdb-7.11.50.20160716/gdb/eval.c struct type **arg_types; int save_pos1; struct symbol *function = NULL; -@@ -1187,7 +1188,7 @@ +@@ -1167,7 +1168,7 @@ struct type *range_type = TYPE_INDEX_TYPE (type); struct type *element_type = TYPE_TARGET_TYPE (type); struct value *array = allocate_value (expect_type); @@ -1753,10 +1700,10 @@ Index: gdb-7.11.50.20160716/gdb/eval.c LONGEST low_bound, high_bound, index; if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0) -Index: gdb-7.11.50.20160716/gdb/f-lang.c +Index: gdb-7.99.90.20170420/gdb/f-lang.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/f-lang.c 2016-07-16 14:33:42.087510391 +0200 -+++ gdb-7.11.50.20160716/gdb/f-lang.c 2016-07-16 14:33:44.537530108 +0200 +--- gdb-7.99.90.20170420.orig/gdb/f-lang.c 2017-04-20 23:08:54.162394784 +0200 ++++ gdb-7.99.90.20170420/gdb/f-lang.c 2017-04-20 23:08:56.982410674 +0200 @@ -103,7 +103,7 @@ static void @@ -1766,23 +1713,23 @@ Index: gdb-7.11.50.20160716/gdb/f-lang.c const struct value_print_options *options) { const char *type_encoding = f_get_encoding (type); -Index: gdb-7.11.50.20160716/gdb/f-lang.h +Index: gdb-7.99.90.20170420/gdb/f-lang.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/f-lang.h 2016-07-16 14:33:42.087510391 +0200 -+++ gdb-7.11.50.20160716/gdb/f-lang.h 2016-07-16 14:33:44.537530108 +0200 +--- gdb-7.99.90.20170420.orig/gdb/f-lang.h 2017-04-20 23:08:54.163394789 +0200 ++++ gdb-7.99.90.20170420/gdb/f-lang.h 2017-04-20 23:08:56.982410674 +0200 @@ -30,7 +30,7 @@ extern void f_print_type (struct type *, const char *, struct ui_file *, int, int, const struct type_print_options *); --extern void f_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, -+extern void f_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR, +-extern void f_val_print (struct type *, int, CORE_ADDR, ++extern void f_val_print (struct type *, LONGEST, CORE_ADDR, struct ui_file *, int, - const struct value *, + struct value *, const struct value_print_options *); -Index: gdb-7.11.50.20160716/gdb/f-valprint.c +Index: gdb-7.99.90.20170420/gdb/f-valprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/f-valprint.c 2016-07-16 14:33:42.087510391 +0200 -+++ gdb-7.11.50.20160716/gdb/f-valprint.c 2016-07-16 14:33:44.537530108 +0200 +--- gdb-7.99.90.20170420.orig/gdb/f-valprint.c 2017-04-20 23:08:54.163394789 +0200 ++++ gdb-7.99.90.20170420/gdb/f-valprint.c 2017-04-20 23:08:56.982410674 +0200 @@ -38,7 +38,7 @@ static void info_common_command (char *, int); static void f77_get_dynamic_length_of_aggregate (struct type *); @@ -1821,7 +1768,7 @@ Index: gdb-7.11.50.20160716/gdb/f-valprint.c get_discrete_bounds (range_type, &lowerbound, &upperbound); -@@ -172,7 +172,7 @@ +@@ -177,7 +177,7 @@ static void f77_print_array (struct type *type, const gdb_byte *valaddr, @@ -1830,32 +1777,29 @@ Index: gdb-7.11.50.20160716/gdb/f-valprint.c CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, -@@ -211,8 +211,9 @@ +@@ -216,7 +216,7 @@ function; they are identical. */ void --f_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, -- CORE_ADDR address, struct ui_file *stream, int recurse, -+f_val_print (struct type *type, const gdb_byte *valaddr, -+ LONGEST embedded_offset, CORE_ADDR address, -+ struct ui_file *stream, int recurse, - const struct value *original_value, +-f_val_print (struct type *type, int embedded_offset, ++f_val_print (struct type *type, LONGEST embedded_offset, + CORE_ADDR address, struct ui_file *stream, int recurse, + struct value *original_value, const struct value_print_options *options) - { -Index: gdb-7.11.50.20160716/gdb/findvar.c +Index: gdb-7.99.90.20170420/gdb/findvar.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/findvar.c 2016-07-16 14:33:42.088510399 +0200 -+++ gdb-7.11.50.20160716/gdb/findvar.c 2016-07-16 14:33:44.537530108 +0200 -@@ -802,7 +802,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/findvar.c 2017-04-20 23:08:54.163394789 +0200 ++++ gdb-7.99.90.20170420/gdb/findvar.c 2017-04-20 23:08:56.983410680 +0200 +@@ -817,7 +817,7 @@ default_value_from_register (struct gdbarch *gdbarch, struct type *type, int regnum, struct frame_id frame_id) { - int len = TYPE_LENGTH (type); + LONGEST len = TYPE_LENGTH (type); struct value *value = allocate_value (type); + struct frame_info *frame; - VALUE_LVAL (value) = lval_register; -@@ -838,7 +838,7 @@ +@@ -861,7 +861,7 @@ LONGEST offset = 0; LONGEST reg_offset = value_offset (value); int regnum = VALUE_REGNUM (value); @@ -1864,7 +1808,7 @@ Index: gdb-7.11.50.20160716/gdb/findvar.c gdb_assert (VALUE_LVAL (value) == lval_register); -@@ -853,7 +853,7 @@ +@@ -876,7 +876,7 @@ while (len > 0) { struct value *regval = get_frame_register_value (frame, regnum); @@ -1873,11 +1817,11 @@ Index: gdb-7.11.50.20160716/gdb/findvar.c /* If the register length is larger than the number of bytes remaining to copy, then only copy the appropriate bytes. */ -Index: gdb-7.11.50.20160716/gdb/frame.c +Index: gdb-7.99.90.20170420/gdb/frame.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/frame.c 2016-07-16 14:33:42.089510407 +0200 -+++ gdb-7.11.50.20160716/gdb/frame.c 2016-07-16 14:33:44.538530116 +0200 -@@ -1320,7 +1320,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/frame.c 2017-04-20 23:08:54.164394795 +0200 ++++ gdb-7.99.90.20170420/gdb/frame.c 2017-04-20 23:08:56.983410680 +0200 +@@ -1375,7 +1375,7 @@ int get_frame_register_bytes (struct frame_info *frame, int regnum, @@ -1886,7 +1830,7 @@ Index: gdb-7.11.50.20160716/gdb/frame.c int *optimizedp, int *unavailablep) { struct gdbarch *gdbarch = get_frame_arch (frame); -@@ -1349,7 +1349,7 @@ +@@ -1404,7 +1404,7 @@ } if (len > maxsize) error (_("Bad debug information detected: " @@ -1895,11 +1839,11 @@ Index: gdb-7.11.50.20160716/gdb/frame.c /* Copy the data. */ while (len > 0) -Index: gdb-7.11.50.20160716/gdb/frame.h +Index: gdb-7.99.90.20170420/gdb/frame.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/frame.h 2016-07-16 14:33:42.090510415 +0200 -+++ gdb-7.11.50.20160716/gdb/frame.h 2016-07-16 14:33:44.538530116 +0200 -@@ -585,7 +585,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/frame.h 2017-04-20 23:08:54.164394795 +0200 ++++ gdb-7.99.90.20170420/gdb/frame.h 2017-04-20 23:08:56.984410685 +0200 +@@ -600,7 +600,7 @@ contents are optimized out or unavailable, set *OPTIMIZEDP, *UNAVAILABLEP accordingly. */ extern int get_frame_register_bytes (struct frame_info *frame, int regnum, @@ -1908,20 +1852,20 @@ Index: gdb-7.11.50.20160716/gdb/frame.h gdb_byte *myaddr, int *optimizedp, int *unavailablep); -Index: gdb-7.11.50.20160716/gdb/gdbtypes.c +Index: gdb-7.99.90.20170420/gdb/gdbtypes.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/gdbtypes.c 2016-07-16 14:33:42.092510431 +0200 -+++ gdb-7.11.50.20160716/gdb/gdbtypes.c 2016-07-16 14:33:44.539530124 +0200 -@@ -2722,7 +2722,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.c 2017-04-20 23:08:54.166394806 +0200 ++++ gdb-7.99.90.20170420/gdb/gdbtypes.c 2017-04-20 23:08:56.985410691 +0200 +@@ -2808,7 +2808,7 @@ least as long as OBJFILE. */ struct type * --init_type (enum type_code code, int length, int flags, -+init_type (enum type_code code, LONGEST length, int flags, - const char *name, struct objfile *objfile) +-init_type (struct objfile *objfile, enum type_code code, int length, ++init_type (struct objfile *objfile, enum type_code code, LONGEST length, + const char *name) { struct type *type; -@@ -2962,8 +2962,8 @@ +@@ -3117,8 +3117,8 @@ static int is_unique_ancestor_worker (struct type *base, struct type *dclass, @@ -1932,7 +1876,7 @@ Index: gdb-7.11.50.20160716/gdb/gdbtypes.c CORE_ADDR address, struct value *val) { int i, count = 0; -@@ -2974,7 +2974,7 @@ +@@ -3129,7 +3129,7 @@ for (i = 0; i < TYPE_N_BASECLASSES (dclass) && count < 2; ++i) { struct type *iter; @@ -1941,7 +1885,7 @@ Index: gdb-7.11.50.20160716/gdb/gdbtypes.c iter = check_typedef (TYPE_BASECLASS (dclass, i)); -@@ -3015,7 +3015,7 @@ +@@ -3170,7 +3170,7 @@ int is_unique_ancestor (struct type *base, struct value *val) { @@ -1950,7 +1894,7 @@ Index: gdb-7.11.50.20160716/gdb/gdbtypes.c return is_unique_ancestor_worker (base, value_type (val), &offset, value_contents_for_printing (val), -@@ -4203,7 +4203,7 @@ +@@ -4409,7 +4409,7 @@ break; } puts_filtered ("\n"); @@ -1959,7 +1903,7 @@ Index: gdb-7.11.50.20160716/gdb/gdbtypes.c if (TYPE_OBJFILE_OWNED (type)) { printfi_filtered (spaces, "objfile "); -@@ -4663,7 +4663,7 @@ +@@ -4869,7 +4869,7 @@ struct type * arch_type (struct gdbarch *gdbarch, @@ -1968,11 +1912,11 @@ Index: gdb-7.11.50.20160716/gdb/gdbtypes.c { struct type *type; -Index: gdb-7.11.50.20160716/gdb/gdbtypes.h +Index: gdb-7.99.90.20170420/gdb/gdbtypes.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/gdbtypes.h 2016-07-16 14:33:42.093510439 +0200 -+++ gdb-7.11.50.20160716/gdb/gdbtypes.h 2016-07-16 14:33:44.539530124 +0200 -@@ -806,7 +806,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.h 2017-04-20 23:08:54.167394812 +0200 ++++ gdb-7.99.90.20170420/gdb/gdbtypes.h 2017-04-20 23:08:56.985410691 +0200 +@@ -787,7 +787,7 @@ type_length_units function should be used in order to get the length expressed in target addressable memory units. */ @@ -1981,13 +1925,17 @@ Index: gdb-7.11.50.20160716/gdb/gdbtypes.h /* * Core type, shared by a group of qualified types. */ -@@ -1677,11 +1677,11 @@ +@@ -1665,7 +1665,7 @@ /* * Helper function to construct objfile-owned types. */ --extern struct type *init_type (enum type_code, int, int, const char *, -+extern struct type *init_type (enum type_code, LONGEST, int, const char *, - struct objfile *); +-extern struct type *init_type (struct objfile *, enum type_code, int, ++extern struct type *init_type (struct objfile *, enum type_code, LONGEST, + const char *); + extern struct type *init_integer_type (struct objfile *, int, int, + const char *); +@@ -1682,7 +1682,7 @@ + struct type *); /* Helper functions to construct architecture-owned types. */ -extern struct type *arch_type (struct gdbarch *, enum type_code, int, @@ -1995,10 +1943,10 @@ Index: gdb-7.11.50.20160716/gdb/gdbtypes.h const char *); extern struct type *arch_integer_type (struct gdbarch *, int, int, const char *); -Index: gdb-7.11.50.20160716/gdb/gnu-v2-abi.c +Index: gdb-7.99.90.20170420/gdb/gnu-v2-abi.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/gnu-v2-abi.c 2016-07-16 14:33:42.093510439 +0200 -+++ gdb-7.11.50.20160716/gdb/gnu-v2-abi.c 2016-07-16 14:33:44.539530124 +0200 +--- gdb-7.99.90.20170420.orig/gdb/gnu-v2-abi.c 2017-04-20 23:08:54.167394812 +0200 ++++ gdb-7.99.90.20170420/gdb/gnu-v2-abi.c 2017-04-20 23:08:56.985410691 +0200 @@ -82,7 +82,7 @@ TYPE is the type in which F is located. */ static struct value * @@ -2036,11 +1984,11 @@ Index: gdb-7.11.50.20160716/gdb/gnu-v2-abi.c gnuv2_baseclass_offset (type, i, valaddr, embedded_offset, address, val); -Index: gdb-7.11.50.20160716/gdb/gnu-v3-abi.c +Index: gdb-7.99.90.20170420/gdb/gnu-v3-abi.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/gnu-v3-abi.c 2016-07-16 14:33:42.094510447 +0200 -+++ gdb-7.11.50.20160716/gdb/gnu-v3-abi.c 2016-07-16 14:33:44.539530124 +0200 -@@ -108,7 +108,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/gnu-v3-abi.c 2017-04-20 23:08:54.168394817 +0200 ++++ gdb-7.99.90.20170420/gdb/gnu-v3-abi.c 2017-04-20 23:08:56.986410697 +0200 +@@ -109,7 +109,7 @@ { struct type *t; struct field *field_list, *field; @@ -2049,7 +1997,7 @@ Index: gdb-7.11.50.20160716/gdb/gnu-v3-abi.c struct type *void_ptr_type = builtin_type (arch)->builtin_data_ptr; -@@ -184,7 +184,7 @@ +@@ -185,7 +185,7 @@ /* Return the offset from the start of the imaginary `struct gdb_gnu_v3_abi_vtable' object to the vtable's "address point" (i.e., where objects' virtual table pointers point). */ @@ -2058,7 +2006,7 @@ Index: gdb-7.11.50.20160716/gdb/gnu-v3-abi.c vtable_address_point_offset (struct gdbarch *gdbarch) { struct type *vtable_type -@@ -411,7 +411,7 @@ +@@ -408,7 +408,7 @@ static struct value * gnuv3_virtual_fn_field (struct value **value_p, struct fn_field *f, int j, @@ -2067,7 +2015,7 @@ Index: gdb-7.11.50.20160716/gdb/gnu-v3-abi.c { struct type *values_type = check_typedef (value_type (*value_p)); struct gdbarch *gdbarch; -@@ -441,7 +441,7 @@ +@@ -438,7 +438,7 @@ -1 is returned on error. */ @@ -2076,7 +2024,7 @@ Index: gdb-7.11.50.20160716/gdb/gnu-v3-abi.c gnuv3_baseclass_offset (struct type *type, int index, const bfd_byte *valaddr, LONGEST embedded_offset, CORE_ADDR address, const struct value *val) -@@ -450,7 +450,7 @@ +@@ -447,7 +447,7 @@ struct type *ptr_type; struct value *vtable; struct value *vbase_array; @@ -2085,7 +2033,7 @@ Index: gdb-7.11.50.20160716/gdb/gnu-v3-abi.c /* Determine architecture. */ gdbarch = get_type_arch (type); -@@ -474,7 +474,7 @@ +@@ -470,7 +470,7 @@ cur_base_offset = cur_base_offset + vtable_address_point_offset (gdbarch); if ((- cur_base_offset) % TYPE_LENGTH (ptr_type) != 0) error (_("Misaligned vbase offset.")); @@ -2094,7 +2042,7 @@ Index: gdb-7.11.50.20160716/gdb/gnu-v3-abi.c vtable = gnuv3_get_vtable (gdbarch, type, address + embedded_offset); gdb_assert (vtable != NULL); -@@ -518,7 +518,7 @@ +@@ -514,7 +514,7 @@ we're out of luck. */ for (i = 0; i < TYPE_N_BASECLASSES (domain); i++) { @@ -2103,91 +2051,37 @@ Index: gdb-7.11.50.20160716/gdb/gnu-v3-abi.c struct type *basetype; if (BASETYPE_VIA_VIRTUAL (domain, i)) -Index: gdb-7.11.50.20160716/gdb/go-lang.h +Index: gdb-7.99.90.20170420/gdb/go-lang.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/go-lang.h 2016-07-16 14:33:42.094510447 +0200 -+++ gdb-7.11.50.20160716/gdb/go-lang.h 2016-07-16 14:33:44.539530124 +0200 +--- gdb-7.99.90.20170420.orig/gdb/go-lang.h 2017-04-20 23:08:54.168394817 +0200 ++++ gdb-7.99.90.20170420/gdb/go-lang.h 2017-04-20 23:08:56.986410697 +0200 @@ -85,7 +85,7 @@ /* Defined in go-valprint.c. */ - extern void go_val_print (struct type *type, const gdb_byte *valaddr, + extern void go_val_print (struct type *type, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options); -Index: gdb-7.11.50.20160716/gdb/go-valprint.c +Index: gdb-7.99.90.20170420/gdb/go-valprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/go-valprint.c 2016-07-16 14:33:42.094510447 +0200 -+++ gdb-7.11.50.20160716/gdb/go-valprint.c 2016-07-16 14:33:44.539530124 +0200 -@@ -86,9 +86,9 @@ +--- gdb-7.99.90.20170420.orig/gdb/go-valprint.c 2017-04-20 23:08:54.168394817 +0200 ++++ gdb-7.99.90.20170420/gdb/go-valprint.c 2017-04-20 23:08:56.986410697 +0200 +@@ -86,7 +86,7 @@ /* Implements the la_val_print routine for language Go. */ void --go_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, -- CORE_ADDR address, struct ui_file *stream, int recurse, -- const struct value *val, -+go_val_print (struct type *type, const gdb_byte *valaddr, -+ LONGEST embedded_offset, CORE_ADDR address, -+ struct ui_file *stream, int recurse, const struct value *val, +-go_val_print (struct type *type, int embedded_offset, ++go_val_print (struct type *type, LONGEST embedded_offset, + CORE_ADDR address, struct ui_file *stream, int recurse, + struct value *val, const struct value_print_options *options) - { - type = check_typedef (type); -Index: gdb-7.11.50.20160716/gdb/jv-lang.c +Index: gdb-7.99.90.20170420/gdb/language.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/jv-lang.c 2016-07-16 14:33:42.094510447 +0200 -+++ gdb-7.11.50.20160716/gdb/jv-lang.c 2016-07-16 14:33:44.540530132 +0200 -@@ -440,7 +440,7 @@ - for (i = TYPE_N_BASECLASSES (type); i < nfields; i++) - { - int accflags; -- int boffset; -+ LONGEST boffset; - - if (fields == NULL) - { -@@ -890,7 +890,7 @@ - static void - java_printstr (struct ui_file *stream, struct type *type, - const gdb_byte *string, -- unsigned int length, const char *encoding, int force_ellipses, -+ ULONGEST length, const char *encoding, int force_ellipses, - const struct value_print_options *options) - { - const char *type_encoding = java_get_encoding (type); -Index: gdb-7.11.50.20160716/gdb/jv-lang.h -=================================================================== ---- gdb-7.11.50.20160716.orig/gdb/jv-lang.h 2016-07-16 14:33:42.094510447 +0200 -+++ gdb-7.11.50.20160716/gdb/jv-lang.h 2016-07-16 14:33:44.540530132 +0200 -@@ -43,8 +43,8 @@ - - extern const struct builtin_java_type *builtin_java_type (struct gdbarch *); - --extern void java_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, -- struct ui_file *, int, -+extern void java_val_print (struct type *, const gdb_byte *, LONGEST, -+ CORE_ADDR, struct ui_file *, int, - const struct value *, - const struct value_print_options *); - -Index: gdb-7.11.50.20160716/gdb/jv-valprint.c -=================================================================== ---- gdb-7.11.50.20160716.orig/gdb/jv-valprint.c 2016-07-16 14:33:42.095510455 +0200 -+++ gdb-7.11.50.20160716/gdb/jv-valprint.c 2016-07-16 14:33:44.540530132 +0200 -@@ -454,7 +454,7 @@ - - void - java_val_print (struct type *type, const gdb_byte *valaddr, -- int embedded_offset, CORE_ADDR address, -+ LONGEST embedded_offset, CORE_ADDR address, - struct ui_file *stream, int recurse, - const struct value *val, - const struct value_print_options *options) -Index: gdb-7.11.50.20160716/gdb/language.c -=================================================================== ---- gdb-7.11.50.20160716.orig/gdb/language.c 2016-07-16 14:33:42.095510455 +0200 -+++ gdb-7.11.50.20160716/gdb/language.c 2016-07-16 14:33:44.540530132 +0200 -@@ -766,7 +766,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/language.c 2017-04-20 23:08:54.168394817 +0200 ++++ gdb-7.99.90.20170420/gdb/language.c 2017-04-20 23:08:56.986410697 +0200 +@@ -753,7 +753,7 @@ static void unk_lang_printstr (struct ui_file *stream, struct type *type, @@ -2196,20 +2090,20 @@ Index: gdb-7.11.50.20160716/gdb/language.c const char *encoding, int force_ellipses, const struct value_print_options *options) { -@@ -785,7 +785,7 @@ +@@ -772,7 +772,7 @@ static void - unk_lang_val_print (struct type *type, const gdb_byte *valaddr, + unk_lang_val_print (struct type *type, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options) -Index: gdb-7.11.50.20160716/gdb/language.h +Index: gdb-7.99.90.20170420/gdb/language.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/language.h 2016-07-16 14:33:42.095510455 +0200 -+++ gdb-7.11.50.20160716/gdb/language.h 2016-07-16 14:33:44.540530132 +0200 -@@ -196,7 +196,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/language.h 2017-04-20 23:08:54.169394823 +0200 ++++ gdb-7.99.90.20170420/gdb/language.h 2017-04-20 23:08:56.986410697 +0200 +@@ -197,7 +197,7 @@ struct ui_file * stream); void (*la_printstr) (struct ui_file * stream, struct type *elttype, @@ -2218,19 +2112,19 @@ Index: gdb-7.11.50.20160716/gdb/language.h const char *encoding, int force_ellipses, const struct value_print_options *); -@@ -238,7 +238,7 @@ +@@ -235,7 +235,7 @@ + printing. */ void (*la_val_print) (struct type *type, - const gdb_byte *contents, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options); -Index: gdb-7.11.50.20160716/gdb/m2-lang.c +Index: gdb-7.99.90.20170420/gdb/m2-lang.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/m2-lang.c 2016-07-16 14:33:42.096510463 +0200 -+++ gdb-7.11.50.20160716/gdb/m2-lang.c 2016-07-16 14:33:44.540530132 +0200 +--- gdb-7.99.90.20170420.orig/gdb/m2-lang.c 2017-04-20 23:08:54.169394823 +0200 ++++ gdb-7.99.90.20170420/gdb/m2-lang.c 2017-04-20 23:08:56.987410702 +0200 @@ -104,10 +104,10 @@ static void @@ -2265,23 +2159,23 @@ Index: gdb-7.11.50.20160716/gdb/m2-lang.c i = rep1 - 1; things_printed += options->repeat_count_threshold; need_comma = 1; -Index: gdb-7.11.50.20160716/gdb/m2-lang.h +Index: gdb-7.99.90.20170420/gdb/m2-lang.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/m2-lang.h 2016-07-16 14:33:42.096510463 +0200 -+++ gdb-7.11.50.20160716/gdb/m2-lang.h 2016-07-16 14:33:44.540530132 +0200 +--- gdb-7.99.90.20170420.orig/gdb/m2-lang.h 2017-04-20 23:08:54.169394823 +0200 ++++ gdb-7.99.90.20170420/gdb/m2-lang.h 2017-04-20 23:08:56.987410702 +0200 @@ -34,7 +34,7 @@ extern int m2_is_long_set (struct type *type); extern int m2_is_unbounded_array (struct type *type); --extern void m2_val_print (struct type *, const gdb_byte *, int, CORE_ADDR, -+extern void m2_val_print (struct type *, const gdb_byte *, LONGEST, CORE_ADDR, +-extern void m2_val_print (struct type *, int, CORE_ADDR, ++extern void m2_val_print (struct type *, LONGEST, CORE_ADDR, struct ui_file *, int, - const struct value *, + struct value *, const struct value_print_options *); -Index: gdb-7.11.50.20160716/gdb/m2-typeprint.c +Index: gdb-7.99.90.20170420/gdb/m2-typeprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/m2-typeprint.c 2016-07-16 14:33:42.096510463 +0200 -+++ gdb-7.11.50.20160716/gdb/m2-typeprint.c 2016-07-16 14:33:44.541530140 +0200 +--- gdb-7.99.90.20170420.orig/gdb/m2-typeprint.c 2017-04-20 23:08:54.169394823 +0200 ++++ gdb-7.99.90.20170420/gdb/m2-typeprint.c 2017-04-20 23:08:56.987410702 +0200 @@ -234,9 +234,12 @@ m2_print_bounds (TYPE_INDEX_TYPE (type), stream, show, -1, 1); } @@ -2298,10 +2192,10 @@ Index: gdb-7.11.50.20160716/gdb/m2-typeprint.c } fprintf_filtered (stream, "] OF "); m2_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level, flags); -Index: gdb-7.11.50.20160716/gdb/m2-valprint.c +Index: gdb-7.99.90.20170420/gdb/m2-valprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/m2-valprint.c 2016-07-16 14:33:42.096510463 +0200 -+++ gdb-7.11.50.20160716/gdb/m2-valprint.c 2016-07-16 14:35:19.830297013 +0200 +--- gdb-7.99.90.20170420.orig/gdb/m2-valprint.c 2017-04-20 23:08:54.170394829 +0200 ++++ gdb-7.99.90.20170420/gdb/m2-valprint.c 2017-04-20 23:08:56.987410702 +0200 @@ -35,7 +35,7 @@ struct ui_file *stream); static void @@ -2309,7 +2203,7 @@ Index: gdb-7.11.50.20160716/gdb/m2-valprint.c - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options, @@ -67,7 +67,7 @@ @@ -2336,16 +2230,16 @@ Index: gdb-7.11.50.20160716/gdb/m2-valprint.c - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options, @@ -308,13 +308,13 @@ function; they are identical. */ void --m2_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, -+m2_val_print (struct type *type, const gdb_byte *valaddr, LONGEST embedded_offset, +-m2_val_print (struct type *type, int embedded_offset, ++m2_val_print (struct type *type, LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *original_value, + struct value *original_value, const struct value_print_options *options) { struct gdbarch *gdbarch = get_type_arch (type); @@ -2353,8 +2247,8 @@ Index: gdb-7.11.50.20160716/gdb/m2-valprint.c + ULONGEST len; struct type *elttype; CORE_ADDR addr; - -@@ -339,7 +339,7 @@ + const gdb_byte *valaddr = value_contents_for_printing (original_value); +@@ -340,7 +340,7 @@ elements up to it. */ if (options->stop_print_at_null) { @@ -2363,7 +2257,7 @@ Index: gdb-7.11.50.20160716/gdb/m2-valprint.c /* Look for a NULL char. */ for (temp_len = 0; -@@ -415,7 +415,7 @@ +@@ -416,7 +416,7 @@ { struct type *range = elttype; LONGEST low_bound, high_bound; @@ -2372,12 +2266,12 @@ Index: gdb-7.11.50.20160716/gdb/m2-valprint.c int need_comma = 0; fputs_filtered ("{", stream); -Index: gdb-7.11.50.20160716/gdb/memrange.c +Index: gdb-7.99.90.20170420/gdb/memrange.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/memrange.c 2016-07-16 14:33:42.096510463 +0200 -+++ gdb-7.11.50.20160716/gdb/memrange.c 2016-07-16 14:33:44.541530140 +0200 -@@ -21,8 +21,8 @@ - #include "memrange.h" +--- gdb-7.99.90.20170420.orig/gdb/memrange.c 2017-04-20 23:08:54.170394829 +0200 ++++ gdb-7.99.90.20170420/gdb/memrange.c 2017-04-20 23:08:56.987410702 +0200 +@@ -22,8 +22,8 @@ + #include int -mem_ranges_overlap (CORE_ADDR start1, int len1, @@ -2387,10 +2281,10 @@ Index: gdb-7.11.50.20160716/gdb/memrange.c { ULONGEST h, l; -Index: gdb-7.11.50.20160716/gdb/memrange.h +Index: gdb-7.99.90.20170420/gdb/memrange.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/memrange.h 2016-07-16 14:33:42.097510471 +0200 -+++ gdb-7.11.50.20160716/gdb/memrange.h 2016-07-16 14:33:44.541530140 +0200 +--- gdb-7.99.90.20170420.orig/gdb/memrange.h 2017-04-20 23:08:54.170394829 +0200 ++++ gdb-7.99.90.20170420/gdb/memrange.h 2017-04-20 23:08:56.987410702 +0200 @@ -30,7 +30,7 @@ CORE_ADDR start; @@ -2411,11 +2305,11 @@ Index: gdb-7.11.50.20160716/gdb/memrange.h /* Returns true if ADDR is in RANGE. */ -Index: gdb-7.11.50.20160716/gdb/mips-linux-nat.c +Index: gdb-7.99.90.20170420/gdb/mips-linux-nat.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/mips-linux-nat.c 2016-07-16 14:33:42.097510471 +0200 -+++ gdb-7.11.50.20160716/gdb/mips-linux-nat.c 2016-07-16 14:33:44.541530140 +0200 -@@ -587,7 +587,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/mips-linux-nat.c 2017-04-20 23:08:54.170394829 +0200 ++++ gdb-7.99.90.20170420/gdb/mips-linux-nat.c 2017-04-20 23:08:56.988410708 +0200 +@@ -584,7 +584,7 @@ static int mips_linux_region_ok_for_hw_watchpoint (struct target_ops *self, @@ -2424,10 +2318,10 @@ Index: gdb-7.11.50.20160716/gdb/mips-linux-nat.c { struct pt_watch_regs dummy_regs; int i; -Index: gdb-7.11.50.20160716/gdb/opencl-lang.c +Index: gdb-7.99.90.20170420/gdb/opencl-lang.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/opencl-lang.c 2016-07-16 14:33:42.097510471 +0200 -+++ gdb-7.11.50.20160716/gdb/opencl-lang.c 2016-07-16 14:33:44.541530140 +0200 +--- gdb-7.99.90.20170420.orig/gdb/opencl-lang.c 2017-04-20 23:08:54.171394834 +0200 ++++ gdb-7.99.90.20170420/gdb/opencl-lang.c 2017-04-20 23:08:56.988410708 +0200 @@ -78,11 +78,11 @@ static struct type * @@ -2496,10 +2390,10 @@ Index: gdb-7.11.50.20160716/gdb/opencl-lang.c if (!value_bits_synthetic_pointer (c->val, c->indices[i] * elsize + comp_offset, -Index: gdb-7.11.50.20160716/gdb/p-lang.c +Index: gdb-7.99.90.20170420/gdb/p-lang.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/p-lang.c 2016-07-16 14:33:42.098510479 +0200 -+++ gdb-7.11.50.20160716/gdb/p-lang.c 2016-07-16 14:33:44.542530148 +0200 +--- gdb-7.99.90.20170420.orig/gdb/p-lang.c 2017-04-20 23:08:54.171394834 +0200 ++++ gdb-7.99.90.20170420/gdb/p-lang.c 2017-04-20 23:08:56.988410708 +0200 @@ -95,8 +95,8 @@ are not multiple of TARGET_CHAR_BIT then the results are wrong but this does not happen for Free Pascal nor for GPC. */ @@ -2547,18 +2441,18 @@ Index: gdb-7.11.50.20160716/gdb/p-lang.c i = rep1 - 1; things_printed += options->repeat_count_threshold; need_comma = 1; -Index: gdb-7.11.50.20160716/gdb/p-lang.h +Index: gdb-7.99.90.20170420/gdb/p-lang.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/p-lang.h 2016-07-16 14:33:42.098510479 +0200 -+++ gdb-7.11.50.20160716/gdb/p-lang.h 2016-07-16 14:33:44.542530148 +0200 +--- gdb-7.99.90.20170420.orig/gdb/p-lang.h 2017-04-20 23:08:54.171394834 +0200 ++++ gdb-7.99.90.20170420/gdb/p-lang.h 2017-04-20 23:08:56.988410708 +0200 @@ -36,7 +36,7 @@ extern void pascal_print_typedef (struct type *, struct symbol *, struct ui_file *); --extern void pascal_val_print (struct type *, const gdb_byte *, int, -+extern void pascal_val_print (struct type *, const gdb_byte *, LONGEST, +-extern void pascal_val_print (struct type *, int, ++extern void pascal_val_print (struct type *, LONGEST, CORE_ADDR, struct ui_file *, int, - const struct value *, + struct value *, const struct value_print_options *); @@ -50,13 +50,13 @@ /* These are in p-lang.c: */ @@ -2576,18 +2470,18 @@ Index: gdb-7.11.50.20160716/gdb/p-lang.h const struct value_print_options *); extern struct type **const (pascal_builtin_types[]); -Index: gdb-7.11.50.20160716/gdb/p-valprint.c +Index: gdb-7.99.90.20170420/gdb/p-valprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/p-valprint.c 2016-07-16 14:33:42.098510479 +0200 -+++ gdb-7.11.50.20160716/gdb/p-valprint.c 2016-07-16 14:33:44.542530148 +0200 +--- gdb-7.99.90.20170420.orig/gdb/p-valprint.c 2017-04-20 23:08:54.171394834 +0200 ++++ gdb-7.99.90.20170420/gdb/p-valprint.c 2017-04-20 23:08:56.989410713 +0200 @@ -59,7 +59,7 @@ void - pascal_val_print (struct type *type, const gdb_byte *valaddr, + pascal_val_print (struct type *type, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *original_value, + struct value *original_value, const struct value_print_options *options) @@ -70,8 +70,8 @@ unsigned len; @@ -2600,11 +2494,11 @@ Index: gdb-7.11.50.20160716/gdb/p-valprint.c struct type *char_type; CORE_ADDR addr; int want_space = 0; -Index: gdb-7.11.50.20160716/gdb/ppc-linux-nat.c +Index: gdb-7.99.90.20170420/gdb/ppc-linux-nat.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/ppc-linux-nat.c 2016-07-16 14:33:42.099510487 +0200 -+++ gdb-7.11.50.20160716/gdb/ppc-linux-nat.c 2016-07-16 14:33:44.542530148 +0200 -@@ -1449,7 +1449,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/ppc-linux-nat.c 2017-04-20 23:08:54.172394840 +0200 ++++ gdb-7.99.90.20170420/gdb/ppc-linux-nat.c 2017-04-20 23:08:56.989410713 +0200 +@@ -1445,7 +1445,7 @@ static int ppc_linux_region_ok_for_hw_watchpoint (struct target_ops *self, @@ -2613,11 +2507,11 @@ Index: gdb-7.11.50.20160716/gdb/ppc-linux-nat.c { /* Handle sub-8-byte quantities. */ if (len <= 0) -Index: gdb-7.11.50.20160716/gdb/printcmd.c +Index: gdb-7.99.90.20170420/gdb/printcmd.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/printcmd.c 2016-07-16 14:33:42.099510487 +0200 -+++ gdb-7.11.50.20160716/gdb/printcmd.c 2016-07-16 14:33:44.543530156 +0200 -@@ -279,7 +279,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/printcmd.c 2017-04-20 23:08:54.173394846 +0200 ++++ gdb-7.99.90.20170420/gdb/printcmd.c 2017-04-20 23:08:56.990410719 +0200 +@@ -280,7 +280,7 @@ struct ui_file *stream) { struct type *type = check_typedef (value_type (val)); @@ -2635,11 +2529,11 @@ Index: gdb-7.11.50.20160716/gdb/printcmd.c enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); /* String printing should go through val_print_scalar_formatted. */ -Index: gdb-7.11.50.20160716/gdb/procfs.c +Index: gdb-7.99.90.20170420/gdb/procfs.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/procfs.c 2016-07-16 14:33:42.100510495 +0200 -+++ gdb-7.11.50.20160716/gdb/procfs.c 2016-07-16 14:33:44.543530156 +0200 -@@ -4863,7 +4863,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/procfs.c 2017-04-20 23:08:54.173394846 +0200 ++++ gdb-7.99.90.20170420/gdb/procfs.c 2017-04-20 23:08:56.991410725 +0200 +@@ -4864,7 +4864,7 @@ static int procfs_region_ok_for_hw_watchpoint (struct target_ops *self, @@ -2648,11 +2542,11 @@ Index: gdb-7.11.50.20160716/gdb/procfs.c { /* The man page for proc(4) on Solaris 2.6 and up says that the system can support "thousands" of hardware watchpoints, but gives -Index: gdb-7.11.50.20160716/gdb/regcache.c +Index: gdb-7.99.90.20170420/gdb/regcache.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/regcache.c 2016-07-16 14:33:42.101510503 +0200 -+++ gdb-7.11.50.20160716/gdb/regcache.c 2016-07-16 14:33:44.544530165 +0200 -@@ -967,7 +967,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/regcache.c 2017-04-20 23:08:54.174394851 +0200 ++++ gdb-7.99.90.20170420/gdb/regcache.c 2017-04-20 23:08:56.991410725 +0200 +@@ -988,7 +988,7 @@ static enum register_status regcache_xfer_part (struct regcache *regcache, int regnum, @@ -2661,7 +2555,7 @@ Index: gdb-7.11.50.20160716/gdb/regcache.c enum register_status (*read) (struct regcache *regcache, int regnum, gdb_byte *buf), -@@ -1011,7 +1011,7 @@ +@@ -1033,7 +1033,7 @@ enum register_status regcache_raw_read_part (struct regcache *regcache, int regnum, @@ -2670,7 +2564,7 @@ Index: gdb-7.11.50.20160716/gdb/regcache.c { struct regcache_descr *descr = regcache->descr; -@@ -1022,7 +1022,7 @@ +@@ -1044,7 +1044,7 @@ void regcache_raw_write_part (struct regcache *regcache, int regnum, @@ -2679,7 +2573,7 @@ Index: gdb-7.11.50.20160716/gdb/regcache.c { struct regcache_descr *descr = regcache->descr; -@@ -1033,7 +1033,7 @@ +@@ -1055,7 +1055,7 @@ enum register_status regcache_cooked_read_part (struct regcache *regcache, int regnum, @@ -2688,7 +2582,7 @@ Index: gdb-7.11.50.20160716/gdb/regcache.c { struct regcache_descr *descr = regcache->descr; -@@ -1044,7 +1044,7 @@ +@@ -1066,7 +1066,7 @@ void regcache_cooked_write_part (struct regcache *regcache, int regnum, @@ -2697,11 +2591,11 @@ Index: gdb-7.11.50.20160716/gdb/regcache.c { struct regcache_descr *descr = regcache->descr; -Index: gdb-7.11.50.20160716/gdb/regcache.h +Index: gdb-7.99.90.20170420/gdb/regcache.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/regcache.h 2016-07-16 14:33:42.101510503 +0200 -+++ gdb-7.11.50.20160716/gdb/regcache.h 2016-07-16 14:33:44.544530165 +0200 -@@ -80,9 +80,9 @@ +--- gdb-7.99.90.20170420.orig/gdb/regcache.h 2017-04-20 23:08:54.174394851 +0200 ++++ gdb-7.99.90.20170420/gdb/regcache.h 2017-04-20 23:08:56.991410725 +0200 +@@ -94,9 +94,9 @@ extern enum register_status regcache_raw_read_part (struct regcache *regcache, int regnum, @@ -2713,7 +2607,7 @@ Index: gdb-7.11.50.20160716/gdb/regcache.h void regcache_invalidate (struct regcache *regcache, int regnum); -@@ -119,10 +119,11 @@ +@@ -133,10 +133,11 @@ write style operations. */ enum register_status regcache_cooked_read_part (struct regcache *regcache, @@ -2728,11 +2622,11 @@ Index: gdb-7.11.50.20160716/gdb/regcache.h /* Special routines to read/write the PC. */ -Index: gdb-7.11.50.20160716/gdb/remote.c +Index: gdb-7.99.90.20170420/gdb/remote.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/remote.c 2016-07-16 14:33:42.104510527 +0200 -+++ gdb-7.11.50.20160716/gdb/remote.c 2016-07-16 14:33:44.545530172 +0200 -@@ -9473,7 +9473,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/remote.c 2017-04-20 23:08:54.177394868 +0200 ++++ gdb-7.99.90.20170420/gdb/remote.c 2017-04-20 23:08:56.993410736 +0200 +@@ -9915,7 +9915,7 @@ static int remote_region_ok_for_hw_watchpoint (struct target_ops *self, @@ -2741,10 +2635,10 @@ Index: gdb-7.11.50.20160716/gdb/remote.c { if (remote_hw_watchpoint_length_limit == 0) return 0; -Index: gdb-7.11.50.20160716/gdb/spu-multiarch.c +Index: gdb-7.99.90.20170420/gdb/spu-multiarch.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/spu-multiarch.c 2016-07-16 14:33:42.105510536 +0200 -+++ gdb-7.11.50.20160716/gdb/spu-multiarch.c 2016-07-16 14:33:44.545530172 +0200 +--- gdb-7.99.90.20170420.orig/gdb/spu-multiarch.c 2017-04-20 23:08:54.177394868 +0200 ++++ gdb-7.99.90.20170420/gdb/spu-multiarch.c 2017-04-20 23:08:56.994410742 +0200 @@ -127,7 +127,7 @@ /* Override the to_region_ok_for_hw_watchpoint routine. */ static int @@ -2754,11 +2648,11 @@ Index: gdb-7.11.50.20160716/gdb/spu-multiarch.c { struct target_ops *ops_beneath = find_target_beneath (self); -Index: gdb-7.11.50.20160716/gdb/stack.c +Index: gdb-7.99.90.20170420/gdb/stack.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/stack.c 2016-07-16 14:33:42.106510544 +0200 -+++ gdb-7.11.50.20160716/gdb/stack.c 2016-07-16 14:33:44.546530181 +0200 -@@ -176,7 +176,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/stack.c 2017-04-20 23:08:54.178394874 +0200 ++++ gdb-7.99.90.20170420/gdb/stack.c 2017-04-20 23:08:56.994410742 +0200 +@@ -189,7 +189,7 @@ argument (not just the first nameless argument). */ static void @@ -2767,7 +2661,7 @@ Index: gdb-7.11.50.20160716/gdb/stack.c int first, struct ui_file *stream) { struct gdbarch *gdbarch = get_frame_arch (frame); -@@ -537,7 +537,7 @@ +@@ -546,7 +546,7 @@ /* Offset of next stack argument beyond the one we have seen that is at the highest offset, or -1 if we haven't come to a stack argument yet. */ @@ -2775,8 +2669,8 @@ Index: gdb-7.11.50.20160716/gdb/stack.c + LONGEST highest_offset = -1; /* Number of ints of arguments that we have printed so far. */ int args_printed = 0; - struct cleanup *old_chain; -@@ -571,8 +571,8 @@ + /* True if we should print arguments, false otherwise. */ +@@ -575,8 +575,8 @@ case LOC_ARG: case LOC_REF_ARG: { @@ -2787,7 +2681,7 @@ Index: gdb-7.11.50.20160716/gdb/stack.c /* Compute address of next argument by adding the size of this argument and rounding to an int boundary. */ -@@ -707,7 +707,7 @@ +@@ -711,7 +711,7 @@ enough about the stack to find them. */ if (num != -1) { @@ -2796,11 +2690,11 @@ Index: gdb-7.11.50.20160716/gdb/stack.c if (highest_offset == -1) start = gdbarch_frame_args_skip (get_frame_arch (frame)); -Index: gdb-7.11.50.20160716/gdb/symmisc.c +Index: gdb-7.99.90.20170420/gdb/symmisc.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/symmisc.c 2016-07-16 14:33:42.107510552 +0200 -+++ gdb-7.11.50.20160716/gdb/symmisc.c 2016-07-16 14:33:44.546530181 +0200 -@@ -538,11 +538,11 @@ +--- gdb-7.99.90.20170420.orig/gdb/symmisc.c 2017-04-20 23:08:54.178394874 +0200 ++++ gdb-7.99.90.20170420/gdb/symmisc.c 2017-04-20 23:08:56.994410742 +0200 +@@ -604,11 +604,11 @@ case LOC_CONST_BYTES: { @@ -2815,11 +2709,11 @@ Index: gdb-7.11.50.20160716/gdb/symmisc.c for (i = 0; i < TYPE_LENGTH (type); i++) fprintf_filtered (outfile, " %02x", (unsigned) SYMBOL_VALUE_BYTES (symbol)[i]); -Index: gdb-7.11.50.20160716/gdb/target.c +Index: gdb-7.99.90.20170420/gdb/target.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/target.c 2016-07-16 14:33:42.108510560 +0200 -+++ gdb-7.11.50.20160716/gdb/target.c 2016-07-16 14:33:44.546530181 +0200 -@@ -56,7 +56,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/target.c 2017-04-20 23:08:54.179394879 +0200 ++++ gdb-7.99.90.20170420/gdb/target.c 2017-04-20 23:08:56.995410747 +0200 +@@ -57,7 +57,7 @@ CORE_ADDR, CORE_ADDR, int); static int default_region_ok_for_hw_watchpoint (struct target_ops *, @@ -2828,7 +2722,7 @@ Index: gdb-7.11.50.20160716/gdb/target.c static void default_rcmd (struct target_ops *, const char *, struct ui_file *); -@@ -3196,7 +3196,7 @@ +@@ -3228,7 +3228,7 @@ static int default_region_ok_for_hw_watchpoint (struct target_ops *self, @@ -2837,11 +2731,11 @@ Index: gdb-7.11.50.20160716/gdb/target.c { return (len <= gdbarch_ptr_bit (target_gdbarch ()) / TARGET_CHAR_BIT); } -Index: gdb-7.11.50.20160716/gdb/target.h +Index: gdb-7.99.90.20170420/gdb/target.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/target.h 2016-07-16 14:33:42.109510568 +0200 -+++ gdb-7.11.50.20160716/gdb/target.h 2016-07-16 14:33:44.547530189 +0200 -@@ -551,7 +551,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/target.h 2017-04-20 23:08:54.180394885 +0200 ++++ gdb-7.99.90.20170420/gdb/target.h 2017-04-20 23:08:56.996410753 +0200 +@@ -555,7 +555,7 @@ /* Documentation of this routine is provided with the corresponding target_* macro. */ int (*to_region_ok_for_hw_watchpoint) (struct target_ops *, @@ -2850,80 +2744,80 @@ Index: gdb-7.11.50.20160716/gdb/target.h TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint); int (*to_can_accel_watchpoint_condition) (struct target_ops *, -Index: gdb-7.11.50.20160716/gdb/tracepoint.c +Index: gdb-7.99.90.20170420/gdb/tracepoint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/tracepoint.c 2016-07-16 14:33:42.112510592 +0200 -+++ gdb-7.11.50.20160716/gdb/tracepoint.c 2016-07-16 14:33:44.547530189 +0200 -@@ -930,13 +930,13 @@ - static void - add_memrange (struct collection_list *memranges, - int type, bfd_signed_vma base, -- unsigned long len) -+ ULONGEST len) +--- gdb-7.99.90.20170420.orig/gdb/tracepoint.c 2017-04-20 23:08:54.182394896 +0200 ++++ gdb-7.99.90.20170420/gdb/tracepoint.c 2017-04-20 23:08:56.997410758 +0200 +@@ -904,10 +904,10 @@ + void + collection_list::add_memrange (struct gdbarch *gdbarch, + int type, bfd_signed_vma base, +- unsigned long len) ++ ULONGEST len) { if (info_verbose) - { - printf_filtered ("(%d,", type); - printf_vma (base); -- printf_filtered (",%ld)\n", len); -+ printf_filtered (",%s)\n", pulongest (len)); - } +- printf_filtered ("(%d,%s,%ld)\n", type, paddress (gdbarch, base), len); ++ printf_filtered ("(%d,%s,%s)\n", type, paddress (gdbarch, base), pulongest (len)); /* type: memrange_absolute == memory, other n == basereg */ -@@ -966,7 +966,7 @@ - CORE_ADDR scope, - int trace_string) + /* base: addr if memory, offset if reg relative. */ +@@ -927,7 +927,7 @@ + CORE_ADDR scope, + int trace_string) { - unsigned long len; + ULONGEST len; unsigned int reg; bfd_signed_vma offset; int treat_as_expr = 0; -@@ -990,8 +990,8 @@ - char tmp[40]; - - sprintf_vma (tmp, offset); +@@ -948,8 +948,8 @@ + offset = SYMBOL_VALUE_ADDRESS (sym); + if (info_verbose) + { - printf_filtered ("LOC_STATIC %s: collect %ld bytes at %s.\n", - SYMBOL_PRINT_NAME (sym), len, + printf_filtered ("LOC_STATIC %s: collect %s bytes at %s.\n", + SYMBOL_PRINT_NAME (sym), pulongest (len), - tmp /* address */); + paddress (gdbarch, offset)); } /* A struct may be a C++ class with static fields, go to general -@@ -1023,8 +1023,8 @@ +@@ -981,9 +981,9 @@ offset = frame_offset + SYMBOL_VALUE (sym); if (info_verbose) { -- printf_filtered ("LOC_LOCAL %s: Collect %ld bytes at offset ", -- SYMBOL_PRINT_NAME (sym), len); -+ printf_filtered ("LOC_LOCAL %s: Collect %s bytes at offset ", -+ SYMBOL_PRINT_NAME (sym), pulongest (len)); - printf_vma (offset); - printf_filtered (" from frame ptr reg %d\n", reg); +- printf_filtered ("LOC_LOCAL %s: Collect %ld bytes at offset %s" ++ printf_filtered ("LOC_LOCAL %s: Collect %s bytes at offset %s" + " from frame ptr reg %d\n", +- SYMBOL_PRINT_NAME (sym), len, ++ SYMBOL_PRINT_NAME (sym), pulongest (len), + paddress (gdbarch, offset), reg); } -@@ -1035,8 +1035,8 @@ + add_memrange (gdbarch, reg, offset, len); +@@ -993,9 +993,9 @@ offset = 0; if (info_verbose) { -- printf_filtered ("LOC_REGPARM_ADDR %s: Collect %ld bytes at offset ", -- SYMBOL_PRINT_NAME (sym), len); -+ printf_filtered ("LOC_REGPARM_ADDR %s: Collect %s bytes at offset ", -+ SYMBOL_PRINT_NAME (sym), pulongest (len)); - printf_vma (offset); - printf_filtered (" from reg %d\n", reg); +- printf_filtered ("LOC_REGPARM_ADDR %s: Collect %ld bytes at offset %s" ++ printf_filtered ("LOC_REGPARM_ADDR %s: Collect %s bytes at offset %s" + " from reg %d\n", +- SYMBOL_PRINT_NAME (sym), len, ++ SYMBOL_PRINT_NAME (sym), pulongest (len), + paddress (gdbarch, offset), reg); } -@@ -1047,8 +1047,8 @@ + add_memrange (gdbarch, reg, offset, len); +@@ -1005,9 +1005,9 @@ offset = frame_offset + SYMBOL_VALUE (sym); if (info_verbose) { -- printf_filtered ("LOC_LOCAL %s: Collect %ld bytes at offset ", -- SYMBOL_PRINT_NAME (sym), len); -+ printf_filtered ("LOC_LOCAL %s: Collect %s bytes at offset ", -+ SYMBOL_PRINT_NAME (sym), pulongest (len)); - printf_vma (offset); - printf_filtered (" from frame ptr reg %d\n", reg); +- printf_filtered ("LOC_LOCAL %s: Collect %ld bytes at offset %s" ++ printf_filtered ("LOC_LOCAL %s: Collect %s bytes at offset %s" + " from frame ptr reg %d\n", +- SYMBOL_PRINT_NAME (sym), len, ++ SYMBOL_PRINT_NAME (sym), pulongest (len), + paddress (gdbarch, offset), reg); } -@@ -2703,7 +2703,8 @@ + add_memrange (gdbarch, reg, offset, len); +@@ -2585,7 +2585,8 @@ const char *symname; char *save_args = args; struct block_iterator iter; @@ -2932,8 +2826,8 @@ Index: gdb-7.11.50.20160716/gdb/tracepoint.c + LONGEST j; struct gdbarch *gdbarch; int regno; - struct event_location *location; -@@ -2847,8 +2848,11 @@ + +@@ -2727,8 +2728,11 @@ } } if (SYMBOL_TYPE (sym)) @@ -2947,10 +2841,10 @@ Index: gdb-7.11.50.20160716/gdb/tracepoint.c } if (BLOCK_FUNCTION (block)) break; -Index: gdb-7.11.50.20160716/gdb/valarith.c +Index: gdb-7.99.90.20170420/gdb/valarith.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/valarith.c 2016-07-16 14:33:42.114510608 +0200 -+++ gdb-7.11.50.20160716/gdb/valarith.c 2016-07-16 14:33:44.548530197 +0200 +--- gdb-7.99.90.20170420.orig/gdb/valarith.c 2017-04-20 23:08:54.182394896 +0200 ++++ gdb-7.99.90.20170420/gdb/valarith.c 2017-04-20 23:08:56.997410758 +0200 @@ -188,7 +188,7 @@ to doubles, but no longer does. */ @@ -2960,7 +2854,7 @@ Index: gdb-7.11.50.20160716/gdb/valarith.c { struct type *array_type = check_typedef (value_type (array)); struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type)); -@@ -674,7 +674,7 @@ +@@ -665,7 +665,7 @@ struct value *inval1; struct value *inval2; struct value *outval = NULL; @@ -2969,7 +2863,7 @@ Index: gdb-7.11.50.20160716/gdb/valarith.c int count, idx; char *ptr; char inchar; -@@ -1527,7 +1527,7 @@ +@@ -1518,7 +1518,7 @@ int value_logical_not (struct value *arg1) { @@ -2978,7 +2872,7 @@ Index: gdb-7.11.50.20160716/gdb/valarith.c const gdb_byte *p; struct type *type1; -@@ -1558,11 +1558,11 @@ +@@ -1549,11 +1549,11 @@ static int value_strcmp (struct value *arg1, struct value *arg2) { @@ -2993,10 +2887,10 @@ Index: gdb-7.11.50.20160716/gdb/valarith.c for (i = 0; i < len; i++) { -Index: gdb-7.11.50.20160716/gdb/valops.c +Index: gdb-7.99.90.20170420/gdb/valops.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/valops.c 2016-07-16 14:33:42.117510632 +0200 -+++ gdb-7.11.50.20160716/gdb/valops.c 2016-07-16 14:33:44.548530197 +0200 +--- gdb-7.99.90.20170420.orig/gdb/valops.c 2017-04-20 23:08:54.184394908 +0200 ++++ gdb-7.99.90.20170420/gdb/valops.c 2017-04-20 23:08:56.998410764 +0200 @@ -79,7 +79,7 @@ int, int); @@ -3015,7 +2909,7 @@ Index: gdb-7.11.50.20160716/gdb/valops.c { struct objfile *objf; struct value *val = find_function_in_inferior ("malloc", &objf); -@@ -397,12 +397,12 @@ +@@ -393,12 +393,12 @@ if (code1 == TYPE_CODE_ARRAY) { struct type *element_type = TYPE_TARGET_TYPE (type); @@ -3030,7 +2924,7 @@ Index: gdb-7.11.50.20160716/gdb/valops.c LONGEST low_bound, high_bound, new_length; if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0) -@@ -1063,7 +1063,7 @@ +@@ -1064,7 +1064,7 @@ { const gdb_byte *dest_buffer; CORE_ADDR changed_addr; @@ -3039,7 +2933,7 @@ Index: gdb-7.11.50.20160716/gdb/valops.c gdb_byte buffer[sizeof (LONGEST)]; if (value_bitsize (toval)) -@@ -3328,7 +3328,7 @@ +@@ -3339,7 +3339,7 @@ the form "DOMAIN::NAME". */ static struct value * @@ -3048,7 +2942,7 @@ Index: gdb-7.11.50.20160716/gdb/valops.c struct type *curtype, const char *name, struct type *intype, int want_address, -@@ -3362,7 +3362,7 @@ +@@ -3373,7 +3373,7 @@ if (want_address) return value_from_longest (lookup_memberptr_type (TYPE_FIELD_TYPE (t, i), domain), @@ -3057,7 +2951,7 @@ Index: gdb-7.11.50.20160716/gdb/valops.c else if (noside != EVAL_NORMAL) return allocate_value (TYPE_FIELD_TYPE (t, i)); else -@@ -3530,7 +3530,7 @@ +@@ -3541,7 +3541,7 @@ for (i = TYPE_N_BASECLASSES (t) - 1; i >= 0; i--) { struct value *v; @@ -3066,7 +2960,7 @@ Index: gdb-7.11.50.20160716/gdb/valops.c if (BASETYPE_VIA_VIRTUAL (t, i)) base_offset = 0; -@@ -3679,7 +3679,7 @@ +@@ -3690,7 +3690,7 @@ struct value * value_full_object (struct value *argp, struct type *rtype, @@ -3075,20 +2969,20 @@ Index: gdb-7.11.50.20160716/gdb/valops.c int xusing_enc) { struct type *real_type; -Index: gdb-7.11.50.20160716/gdb/valprint.c +Index: gdb-7.99.90.20170420/gdb/valprint.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/valprint.c 2016-07-16 14:33:42.118510640 +0200 -+++ gdb-7.11.50.20160716/gdb/valprint.c 2016-07-16 14:33:44.549530205 +0200 -@@ -907,7 +907,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/valprint.c 2017-04-20 23:08:54.185394913 +0200 ++++ gdb-7.99.90.20170420/gdb/valprint.c 2017-04-20 23:08:56.998410764 +0200 +@@ -933,7 +933,7 @@ void - generic_val_print (struct type *type, const gdb_byte *valaddr, + generic_val_print (struct type *type, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *original_value, + struct value *original_value, const struct value_print_options *options, -@@ -1842,7 +1842,7 @@ +@@ -1873,7 +1873,7 @@ void print_hex_chars (struct ui_file *stream, const gdb_byte *valaddr, @@ -3097,9 +2991,9 @@ Index: gdb-7.11.50.20160716/gdb/valprint.c { const gdb_byte *p; -@@ -1964,17 +1964,17 @@ +@@ -1995,17 +1995,17 @@ int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options, - unsigned int i) + ULONGEST i) @@ -3120,7 +3014,7 @@ Index: gdb-7.11.50.20160716/gdb/valprint.c LONGEST low_bound, high_bound; LONGEST low_pos, high_pos; -@@ -2064,7 +2064,7 @@ +@@ -2095,7 +2095,7 @@ address, stream, recurse + 1, val, options, current_language); annotate_elt_rep (reps); @@ -3129,7 +3023,7 @@ Index: gdb-7.11.50.20160716/gdb/valprint.c annotate_elt_rep_end (); i = rep1 - 1; -@@ -2720,7 +2720,7 @@ +@@ -2747,7 +2747,7 @@ void generic_printstr (struct ui_file *stream, struct type *type, @@ -3138,13 +3032,13 @@ Index: gdb-7.11.50.20160716/gdb/valprint.c const char *encoding, int force_ellipses, int quote_char, int c_style_terminator, const struct value_print_options *options) -Index: gdb-7.11.50.20160716/gdb/valprint.h +Index: gdb-7.99.90.20170420/gdb/valprint.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/valprint.h 2016-07-16 14:33:42.118510640 +0200 -+++ gdb-7.11.50.20160716/gdb/valprint.h 2016-07-16 14:33:44.549530205 +0200 +--- gdb-7.99.90.20170420.orig/gdb/valprint.h 2017-04-20 23:08:54.186394919 +0200 ++++ gdb-7.99.90.20170420/gdb/valprint.h 2017-04-20 23:08:56.998410764 +0200 @@ -119,7 +119,7 @@ CORE_ADDR, struct ui_file *, int, - const struct value *, + struct value *, const struct value_print_options *, - unsigned int); + ULONGEST); @@ -3163,11 +3057,11 @@ Index: gdb-7.11.50.20160716/gdb/valprint.h @@ -194,7 +194,7 @@ - extern void generic_val_print (struct type *type, const gdb_byte *valaddr, + extern void generic_val_print (struct type *type, - int embedded_offset, CORE_ADDR address, + LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *original_value, + struct value *original_value, const struct value_print_options *options, @@ -204,7 +204,7 @@ int quoter, const char *encoding); @@ -3178,11 +3072,11 @@ Index: gdb-7.11.50.20160716/gdb/valprint.h const char *encoding, int force_ellipses, int quote_char, int c_style_terminator, const struct value_print_options *options); -Index: gdb-7.11.50.20160716/gdb/value.c +Index: gdb-7.99.90.20170420/gdb/value.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/value.c 2016-07-16 14:33:42.119510648 +0200 -+++ gdb-7.11.50.20160716/gdb/value.c 2016-07-16 14:33:44.549530205 +0200 -@@ -366,7 +366,8 @@ +--- gdb-7.99.90.20170420.orig/gdb/value.c 2017-04-20 23:08:54.187394924 +0200 ++++ gdb-7.99.90.20170420/gdb/value.c 2017-04-20 23:08:56.999410770 +0200 +@@ -367,7 +367,8 @@ } int @@ -3192,7 +3086,7 @@ Index: gdb-7.11.50.20160716/gdb/value.c { gdb_assert (!value->lazy); -@@ -812,9 +813,9 @@ +@@ -813,9 +814,9 @@ Return true if the available bits match. */ static int @@ -3205,7 +3099,7 @@ Index: gdb-7.11.50.20160716/gdb/value.c { /* Each array element corresponds to a ranges source (unavailable, optimized out). '1' is for VAL1, '2' for VAL2. */ -@@ -1456,7 +1457,8 @@ +@@ -1455,7 +1456,8 @@ the following LENGTH bytes. */ void @@ -3215,10 +3109,10 @@ Index: gdb-7.11.50.20160716/gdb/value.c { mark_value_bits_optimized_out (value, offset * TARGET_CHAR_BIT, -Index: gdb-7.11.50.20160716/gdb/value.h +Index: gdb-7.99.90.20170420/gdb/value.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/value.h 2016-07-16 14:33:42.120510656 +0200 -+++ gdb-7.11.50.20160716/gdb/value.h 2016-07-16 14:33:44.550530213 +0200 +--- gdb-7.99.90.20170420.orig/gdb/value.h 2017-04-20 23:08:54.187394924 +0200 ++++ gdb-7.99.90.20170420/gdb/value.h 2017-04-20 23:08:56.999410770 +0200 @@ -246,7 +246,7 @@ /* If non-NULL, this is used to determine whether the indicated bits of VALUE are a synthetic pointer. */ @@ -3247,7 +3141,7 @@ Index: gdb-7.11.50.20160716/gdb/value.h /* Mark VALUE's content bits starting at OFFSET and extending for LENGTH bits as optimized out. */ -@@ -771,12 +772,11 @@ +@@ -820,12 +821,11 @@ int fieldno, struct type *arg_type); @@ -3261,7 +3155,7 @@ Index: gdb-7.11.50.20160716/gdb/value.h extern struct value *value_cast_pointers (struct type *, struct value *, int); -@@ -1065,10 +1065,11 @@ +@@ -1114,10 +1114,11 @@ extern struct value *find_function_in_inferior (const char *, struct objfile **); @@ -3275,11 +3169,11 @@ Index: gdb-7.11.50.20160716/gdb/value.h /* User function handler. */ -Index: gdb-7.11.50.20160716/gdb/s390-linux-nat.c +Index: gdb-7.99.90.20170420/gdb/s390-linux-nat.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/s390-linux-nat.c 2016-07-16 14:33:42.120510656 +0200 -+++ gdb-7.11.50.20160716/gdb/s390-linux-nat.c 2016-07-16 14:33:44.550530213 +0200 -@@ -612,7 +612,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/s390-linux-nat.c 2017-04-20 23:08:54.188394930 +0200 ++++ gdb-7.99.90.20170420/gdb/s390-linux-nat.c 2017-04-20 23:08:57.000410775 +0200 +@@ -900,7 +900,7 @@ static int s390_region_ok_for_hw_watchpoint (struct target_ops *self, @@ -3288,11 +3182,11 @@ Index: gdb-7.11.50.20160716/gdb/s390-linux-nat.c { return 1; } -Index: gdb-7.11.50.20160716/gdb/target-delegates.c +Index: gdb-7.99.90.20170420/gdb/target-delegates.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/target-delegates.c 2016-07-16 14:33:42.121510664 +0200 -+++ gdb-7.11.50.20160716/gdb/target-delegates.c 2016-07-16 14:33:44.550530213 +0200 -@@ -736,14 +736,14 @@ +--- gdb-7.99.90.20170420.orig/gdb/target-delegates.c 2017-04-20 23:08:54.189394936 +0200 ++++ gdb-7.99.90.20170420/gdb/target-delegates.c 2017-04-20 23:08:57.000410775 +0200 +@@ -760,14 +760,14 @@ } static int @@ -3309,7 +3203,7 @@ Index: gdb-7.11.50.20160716/gdb/target-delegates.c { int result; fprintf_unfiltered (gdb_stdlog, "-> %s->to_region_ok_for_hw_watchpoint (...)\n", debug_target.to_shortname); -@@ -753,7 +753,7 @@ +@@ -777,7 +777,7 @@ fputs_unfiltered (", ", gdb_stdlog); target_debug_print_CORE_ADDR (arg1); fputs_unfiltered (", ", gdb_stdlog); @@ -3318,11 +3212,11 @@ Index: gdb-7.11.50.20160716/gdb/target-delegates.c fputs_unfiltered (") = ", gdb_stdlog); target_debug_print_int (result); fputs_unfiltered ("\n", gdb_stdlog); -Index: gdb-7.11.50.20160716/gdb/aarch64-linux-nat.c +Index: gdb-7.99.90.20170420/gdb/aarch64-linux-nat.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/aarch64-linux-nat.c 2016-07-16 14:33:42.122510672 +0200 -+++ gdb-7.11.50.20160716/gdb/aarch64-linux-nat.c 2016-07-16 14:33:44.551530221 +0200 -@@ -736,7 +736,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/aarch64-linux-nat.c 2017-04-20 23:08:54.189394936 +0200 ++++ gdb-7.99.90.20170420/gdb/aarch64-linux-nat.c 2017-04-20 23:08:57.001410781 +0200 +@@ -708,7 +708,7 @@ static int aarch64_linux_region_ok_for_hw_watchpoint (struct target_ops *self, @@ -3331,10 +3225,10 @@ Index: gdb-7.11.50.20160716/gdb/aarch64-linux-nat.c { return aarch64_linux_region_ok_for_watchpoint (addr, len); } -Index: gdb-7.11.50.20160716/gdb/nat/x86-dregs.c +Index: gdb-7.99.90.20170420/gdb/nat/x86-dregs.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/nat/x86-dregs.c 2016-07-16 14:33:42.122510672 +0200 -+++ gdb-7.11.50.20160716/gdb/nat/x86-dregs.c 2016-07-16 14:33:44.551530221 +0200 +--- gdb-7.99.90.20170420.orig/gdb/nat/x86-dregs.c 2017-04-20 23:08:54.189394936 +0200 ++++ gdb-7.99.90.20170420/gdb/nat/x86-dregs.c 2017-04-20 23:08:57.001410781 +0200 @@ -384,7 +384,7 @@ static int @@ -3353,11 +3247,11 @@ Index: gdb-7.11.50.20160716/gdb/nat/x86-dregs.c { int nregs; -Index: gdb-7.11.50.20160716/gdb/compile/compile-c-support.c +Index: gdb-7.99.90.20170420/gdb/compile/compile-c-support.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/compile/compile-c-support.c 2016-07-16 14:33:42.122510672 +0200 -+++ gdb-7.11.50.20160716/gdb/compile/compile-c-support.c 2016-07-16 14:33:44.551530221 +0200 -@@ -299,11 +299,11 @@ +--- gdb-7.99.90.20170420.orig/gdb/compile/compile-c-support.c 2017-04-20 23:08:54.189394936 +0200 ++++ gdb-7.99.90.20170420/gdb/compile/compile-c-support.c 2017-04-20 23:08:57.001410781 +0200 +@@ -309,11 +309,11 @@ default: fprintf_unfiltered (stream, @@ -3371,10 +3265,10 @@ Index: gdb-7.11.50.20160716/gdb/compile/compile-c-support.c } fputs_unfiltered (";\n", stream); -Index: gdb-7.11.50.20160716/gdb/nat/x86-dregs.h +Index: gdb-7.99.90.20170420/gdb/nat/x86-dregs.h =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/nat/x86-dregs.h 2016-07-16 14:33:42.122510672 +0200 -+++ gdb-7.11.50.20160716/gdb/nat/x86-dregs.h 2016-07-16 14:33:44.551530221 +0200 +--- gdb-7.99.90.20170420.orig/gdb/nat/x86-dregs.h 2017-04-20 23:08:54.190394942 +0200 ++++ gdb-7.99.90.20170420/gdb/nat/x86-dregs.h 2017-04-20 23:08:57.001410781 +0200 @@ -116,7 +116,7 @@ /* Return non-zero if we can watch a memory region that starts at address ADDR and whose length is LEN bytes. */ @@ -3384,10 +3278,10 @@ Index: gdb-7.11.50.20160716/gdb/nat/x86-dregs.h /* If the inferior has some break/watchpoint that triggered, set the address associated with that break/watchpoint and return true. -Index: gdb-7.11.50.20160716/gdb/x86-nat.c +Index: gdb-7.99.90.20170420/gdb/x86-nat.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/x86-nat.c 2016-07-16 14:33:42.123510680 +0200 -+++ gdb-7.11.50.20160716/gdb/x86-nat.c 2016-07-16 14:33:44.551530221 +0200 +--- gdb-7.99.90.20170420.orig/gdb/x86-nat.c 2017-04-20 23:08:54.190394942 +0200 ++++ gdb-7.99.90.20170420/gdb/x86-nat.c 2017-04-20 23:08:57.001410781 +0200 @@ -174,7 +174,7 @@ static int @@ -3397,11 +3291,11 @@ Index: gdb-7.11.50.20160716/gdb/x86-nat.c { struct x86_debug_reg_state *state = x86_debug_reg_state (ptid_get_pid (inferior_ptid)); -Index: gdb-7.11.50.20160716/gdb/rust-lang.c +Index: gdb-7.99.90.20170420/gdb/rust-lang.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/rust-lang.c 2016-07-16 14:33:42.123510680 +0200 -+++ gdb-7.11.50.20160716/gdb/rust-lang.c 2016-07-16 14:33:44.551530221 +0200 -@@ -410,7 +410,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/rust-lang.c 2017-04-20 23:08:54.190394942 +0200 ++++ gdb-7.99.90.20170420/gdb/rust-lang.c 2017-04-20 23:08:57.002410787 +0200 +@@ -439,7 +439,7 @@ static void rust_printstr (struct ui_file *stream, struct type *type, @@ -3410,12 +3304,131 @@ Index: gdb-7.11.50.20160716/gdb/rust-lang.c const char *user_encoding, int force_ellipses, const struct value_print_options *options) { -@@ -456,7 +456,7 @@ +@@ -563,7 +563,7 @@ /* la_val_print implementation for Rust. */ static void --rust_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, -+rust_val_print (struct type *type, const gdb_byte *valaddr, LONGEST embedded_offset, +-rust_val_print (struct type *type, int embedded_offset, ++rust_val_print (struct type *type, LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, - const struct value *val, + struct value *val, const struct value_print_options *options) +Index: gdb-7.99.90.20170420/gdb/arch-utils.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/arch-utils.c 2017-04-20 23:08:54.191394947 +0200 ++++ gdb-7.99.90.20170420/gdb/arch-utils.c 2017-04-20 23:08:57.002410787 +0200 +@@ -247,7 +247,7 @@ + + const struct floatformat ** + default_floatformat_for_type (struct gdbarch *gdbarch, +- const char *name, int len) ++ const char *name, LONGEST len) + { + const struct floatformat **format = NULL; + +Index: gdb-7.99.90.20170420/gdb/arch-utils.h +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/arch-utils.h 2017-04-20 23:08:54.191394947 +0200 ++++ gdb-7.99.90.20170420/gdb/arch-utils.h 2017-04-20 23:08:57.002410787 +0200 +@@ -144,7 +144,7 @@ + /* Default implementation of gdbarch_floatformat_for_type. */ + extern const struct floatformat ** + default_floatformat_for_type (struct gdbarch *gdbarch, +- const char *name, int len); ++ const char *name, LONGEST len); + + extern CORE_ADDR generic_skip_trampoline_code (struct frame_info *frame, + CORE_ADDR pc); +Index: gdb-7.99.90.20170420/gdb/findcmd.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/findcmd.c 2017-04-20 23:08:54.191394947 +0200 ++++ gdb-7.99.90.20170420/gdb/findcmd.c 2017-04-20 23:08:57.002410787 +0200 +@@ -180,7 +180,7 @@ + need to grow the pattern buf. */ + pattern_buf_size_need = (pattern_buf_end - pattern_buf + + std::max (TYPE_LENGTH (t), +- (unsigned) sizeof (int64_t))); ++ (ULONGEST) sizeof (int64_t))); + if (pattern_buf_size_need > pattern_buf_size) + { + size_t current_offset = pattern_buf_end - pattern_buf; +Index: gdb-7.99.90.20170420/gdb/gdbarch.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/gdbarch.c 2017-04-20 23:08:54.192394953 +0200 ++++ gdb-7.99.90.20170420/gdb/gdbarch.c 2017-04-20 23:08:57.003410792 +0200 +@@ -1806,7 +1806,7 @@ + } + + const struct floatformat ** +-gdbarch_floatformat_for_type (struct gdbarch *gdbarch, const char *name, int length) ++gdbarch_floatformat_for_type (struct gdbarch *gdbarch, const char *name, LONGEST length) + { + gdb_assert (gdbarch != NULL); + gdb_assert (gdbarch->floatformat_for_type != NULL); +Index: gdb-7.99.90.20170420/gdb/gdbarch.h +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/gdbarch.h 2017-04-20 23:08:54.192394953 +0200 ++++ gdb-7.99.90.20170420/gdb/gdbarch.h 2017-04-20 23:08:57.004410798 +0200 +@@ -203,8 +203,8 @@ + NAME, if non-NULL, is the type name, which may be used to distinguish + different target formats of the same length. */ + +-typedef const struct floatformat ** (gdbarch_floatformat_for_type_ftype) (struct gdbarch *gdbarch, const char *name, int length); +-extern const struct floatformat ** gdbarch_floatformat_for_type (struct gdbarch *gdbarch, const char *name, int length); ++typedef const struct floatformat ** (gdbarch_floatformat_for_type_ftype) (struct gdbarch *gdbarch, const char *name, LONGEST length); ++extern const struct floatformat ** gdbarch_floatformat_for_type (struct gdbarch *gdbarch, const char *name, LONGEST length); + extern void set_gdbarch_floatformat_for_type (struct gdbarch *gdbarch, gdbarch_floatformat_for_type_ftype *floatformat_for_type); + + /* For most targets, a pointer on the target and its representation as an +Index: gdb-7.99.90.20170420/gdb/gdbarch.sh +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/gdbarch.sh 2017-04-20 23:08:54.193394958 +0200 ++++ gdb-7.99.90.20170420/gdb/gdbarch.sh 2017-04-20 23:08:57.004410798 +0200 +@@ -392,7 +392,7 @@ + # Returns the floating-point format to be used for values of length LENGTH. + # NAME, if non-NULL, is the type name, which may be used to distinguish + # different target formats of the same length. +-m:const struct floatformat **:floatformat_for_type:const char *name, int length:name, length:0:default_floatformat_for_type::0 ++m:const struct floatformat **:floatformat_for_type:const char *name, LONGEST length:name, length:0:default_floatformat_for_type::0 + + # For most targets, a pointer on the target and its representation as an + # address in GDB have the same size and "look the same". For such a +Index: gdb-7.99.90.20170420/gdb/i386-tdep.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/i386-tdep.c 2017-04-20 23:08:54.194394964 +0200 ++++ gdb-7.99.90.20170420/gdb/i386-tdep.c 2017-04-20 23:08:57.005410804 +0200 +@@ -8180,7 +8180,7 @@ + + const struct floatformat ** + i386_floatformat_for_type (struct gdbarch *gdbarch, +- const char *name, int len) ++ const char *name, LONGEST len) + { + if (len == 128 && name) + if (strcmp (name, "__float128") == 0 +Index: gdb-7.99.90.20170420/gdb/ppc-linux-tdep.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/ppc-linux-tdep.c 2017-04-20 23:08:54.195394970 +0200 ++++ gdb-7.99.90.20170420/gdb/ppc-linux-tdep.c 2017-04-20 23:08:57.006410809 +0200 +@@ -1632,7 +1632,7 @@ + + const struct floatformat ** + ppc_floatformat_for_type (struct gdbarch *gdbarch, +- const char *name, int len) ++ const char *name, LONGEST len) + { + if (len == 128 && name) + if (strcmp (name, "__float128") == 0 +Index: gdb-7.99.90.20170420/gdb/tracepoint.h +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/tracepoint.h 2017-04-20 23:08:54.195394970 +0200 ++++ gdb-7.99.90.20170420/gdb/tracepoint.h 2017-04-20 23:08:57.006410809 +0200 +@@ -254,7 +254,7 @@ + void add_register (unsigned int regno); + void add_memrange (struct gdbarch *gdbarch, + int type, bfd_signed_vma base, +- unsigned long len); ++ ULONGEST len); + void collect_symbol (struct symbol *sym, + struct gdbarch *gdbarch, + long frame_regno, long frame_offset, diff --git a/gdb-rhbz795424-bitpos-23of25.patch b/gdb-rhbz795424-bitpos-23of25.patch index ef34fb7..bd5fa82 100644 --- a/gdb-rhbz795424-bitpos-23of25.patch +++ b/gdb-rhbz795424-bitpos-23of25.patch @@ -137,11 +137,11 @@ Content-Type: text/x-patch Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=bitpos-tdep.patch -Index: gdb-7.11.50.20160716/gdb/alpha-tdep.c +Index: gdb-7.99.90.20170420/gdb/alpha-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/alpha-tdep.c 2016-07-16 14:35:45.390502718 +0200 -+++ gdb-7.11.50.20160716/gdb/alpha-tdep.c 2016-07-16 14:35:47.511519788 +0200 -@@ -299,17 +299,17 @@ +--- gdb-7.99.90.20170420.orig/gdb/alpha-tdep.c 2017-04-20 23:12:07.894566371 +0200 ++++ gdb-7.99.90.20170420/gdb/alpha-tdep.c 2017-04-20 23:12:11.228588703 +0200 +@@ -300,17 +300,17 @@ { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int i; @@ -163,7 +163,7 @@ Index: gdb-7.11.50.20160716/gdb/alpha-tdep.c CORE_ADDR func_addr = find_function_addr (function, NULL); /* The ABI places the address of the called function in T12. */ -@@ -429,8 +429,8 @@ +@@ -430,8 +430,8 @@ for (i = nargs; m_arg--, --i >= 0;) { const gdb_byte *contents = m_arg->contents; @@ -174,7 +174,7 @@ Index: gdb-7.11.50.20160716/gdb/alpha-tdep.c /* Copy the bytes destined for registers into arg_reg_buffer. */ if (offset < sizeof(arg_reg_buffer)) -@@ -442,7 +442,7 @@ +@@ -443,7 +443,7 @@ } else { @@ -183,11 +183,11 @@ Index: gdb-7.11.50.20160716/gdb/alpha-tdep.c memcpy (arg_reg_buffer + offset, contents, tlen); offset += tlen; contents += tlen; -Index: gdb-7.11.50.20160716/gdb/amd64-tdep.c +Index: gdb-7.99.90.20170420/gdb/amd64-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/amd64-tdep.c 2016-07-16 14:35:45.391502726 +0200 -+++ gdb-7.11.50.20160716/gdb/amd64-tdep.c 2016-07-16 14:35:47.512519796 +0200 -@@ -729,7 +729,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/amd64-tdep.c 2017-04-20 23:12:07.897566391 +0200 ++++ gdb-7.99.90.20170420/gdb/amd64-tdep.c 2017-04-20 23:12:11.229588710 +0200 +@@ -735,7 +735,7 @@ gdb_byte *readbuf, const gdb_byte *writebuf) { enum amd64_reg_class theclass[2]; @@ -196,7 +196,20 @@ Index: gdb-7.11.50.20160716/gdb/amd64-tdep.c static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM }; static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM }; int integer_reg = 0; -@@ -880,8 +880,8 @@ +@@ -852,10 +852,10 @@ + gdb_assert (regnum != -1); + + if (readbuf) +- regcache_raw_read_part (regcache, regnum, offset, std::min (len, 8), ++ regcache_raw_read_part (regcache, regnum, offset, std::min (len, (LONGEST) 8), + readbuf + i * 8); + if (writebuf) +- regcache_raw_write_part (regcache, regnum, offset, std::min (len, 8), ++ regcache_raw_write_part (regcache, regnum, offset, std::min (len, (LONGEST) 8), + writebuf + i * 8); + } + +@@ -886,8 +886,8 @@ }; struct value **stack_args = XALLOCAVEC (struct value *, nargs); int num_stack_args = 0; @@ -207,7 +220,7 @@ Index: gdb-7.11.50.20160716/gdb/amd64-tdep.c int integer_reg = 0; int sse_reg = 0; int i; -@@ -893,7 +893,7 @@ +@@ -899,7 +899,7 @@ for (i = 0; i < nargs; i++) { struct type *type = value_type (args[i]); @@ -216,11 +229,20 @@ Index: gdb-7.11.50.20160716/gdb/amd64-tdep.c enum amd64_reg_class theclass[2]; int needed_integer_regs = 0; int needed_sse_regs = 0; -Index: gdb-7.11.50.20160716/gdb/amd64-windows-tdep.c +@@ -963,7 +963,7 @@ + + gdb_assert (regnum != -1); + memset (buf, 0, sizeof buf); +- memcpy (buf, valbuf + j * 8, std::min (len, 8)); ++ memcpy (buf, valbuf + j * 8, std::min (len, (LONGEST) 8)); + regcache_raw_write_part (regcache, regnum, offset, 8, buf); + } + } +Index: gdb-7.99.90.20170420/gdb/amd64-windows-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/amd64-windows-tdep.c 2016-07-16 14:35:45.393502742 +0200 -+++ gdb-7.11.50.20160716/gdb/amd64-windows-tdep.c 2016-07-16 14:35:47.512519796 +0200 -@@ -288,7 +288,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/amd64-windows-tdep.c 2017-04-20 23:12:07.897566391 +0200 ++++ gdb-7.99.90.20170420/gdb/amd64-windows-tdep.c 2017-04-20 23:12:11.230588717 +0200 +@@ -290,7 +290,7 @@ struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) { @@ -229,11 +251,11 @@ Index: gdb-7.11.50.20160716/gdb/amd64-windows-tdep.c int regnum = -1; /* See if our value is returned through a register. If it is, then -Index: gdb-7.11.50.20160716/gdb/arm-tdep.c +Index: gdb-7.99.90.20170420/gdb/arm-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/arm-tdep.c 2016-07-16 14:35:45.400502798 +0200 -+++ gdb-7.11.50.20160716/gdb/arm-tdep.c 2016-07-16 14:36:30.328864376 +0200 -@@ -3443,7 +3443,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/arm-tdep.c 2017-04-20 23:12:07.905566445 +0200 ++++ gdb-7.99.90.20170420/gdb/arm-tdep.c 2017-04-20 23:12:11.233588737 +0200 +@@ -3492,7 +3492,7 @@ array). Vector types are not currently supported, matching the generic AAPCS support. */ @@ -242,7 +264,7 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c arm_vfp_cprc_sub_candidate (struct type *t, enum arm_vfp_cprc_base_type *base_type) { -@@ -3526,7 +3526,7 @@ +@@ -3575,7 +3575,7 @@ } else { @@ -251,7 +273,7 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c unsigned unitlen; count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), -@@ -3549,12 +3549,12 @@ +@@ -3598,12 +3598,12 @@ case TYPE_CODE_STRUCT: { @@ -266,7 +288,7 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c if (!field_is_static (&TYPE_FIELD (t, i))) sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i), -@@ -3578,13 +3578,15 @@ +@@ -3627,13 +3627,15 @@ case TYPE_CODE_UNION: { @@ -285,7 +307,7 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c if (sub_count == -1) return -1; count = (count > sub_count ? count : sub_count); -@@ -3620,7 +3622,7 @@ +@@ -3669,7 +3671,7 @@ int *count) { enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN; @@ -294,7 +316,7 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c if (c <= 0 || c > 4) return 0; *base_type = b; -@@ -3701,7 +3703,7 @@ +@@ -3750,7 +3752,7 @@ for (argnum = 0; argnum < nargs; argnum++) { @@ -303,11 +325,11 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c struct type *arg_type; struct type *target_type; enum type_code typecode; -Index: gdb-7.11.50.20160716/gdb/avr-tdep.c +Index: gdb-7.99.90.20170420/gdb/avr-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/avr-tdep.c 2016-07-16 14:35:45.401502806 +0200 -+++ gdb-7.11.50.20160716/gdb/avr-tdep.c 2016-07-16 14:35:47.516519828 +0200 -@@ -1195,13 +1195,13 @@ +--- gdb-7.99.90.20170420.orig/gdb/avr-tdep.c 2017-04-20 23:12:07.907566458 +0200 ++++ gdb-7.99.90.20170420/gdb/avr-tdep.c 2017-04-20 23:12:11.234588743 +0200 +@@ -1191,13 +1191,13 @@ struct stack_item { @@ -323,7 +345,7 @@ Index: gdb-7.11.50.20160716/gdb/avr-tdep.c { struct stack_item *si; si = XNEW (struct stack_item); -@@ -1289,12 +1289,12 @@ +@@ -1285,12 +1285,12 @@ for (i = 0; i < nargs; i++) { @@ -339,11 +361,11 @@ Index: gdb-7.11.50.20160716/gdb/avr-tdep.c /* Calculate the potential last register needed. E.g. For length 2, registers regnum and regnum-1 (say 25 and 24) -Index: gdb-7.11.50.20160716/gdb/bfin-tdep.c +Index: gdb-7.99.90.20170420/gdb/bfin-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/bfin-tdep.c 2016-07-16 14:35:45.401502806 +0200 -+++ gdb-7.11.50.20160716/gdb/bfin-tdep.c 2016-07-16 14:35:47.516519828 +0200 -@@ -502,7 +502,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/bfin-tdep.c 2017-04-20 23:12:07.907566458 +0200 ++++ gdb-7.99.90.20170420/gdb/bfin-tdep.c 2017-04-20 23:12:11.234588743 +0200 +@@ -504,7 +504,7 @@ enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int i; long reg_r0, reg_r1, reg_r2; @@ -352,7 +374,7 @@ Index: gdb-7.11.50.20160716/gdb/bfin-tdep.c for (i = nargs - 1; i >= 0; i--) { -@@ -524,7 +524,7 @@ +@@ -526,7 +526,7 @@ { struct type *value_type = value_enclosing_type (args[i]); struct type *arg_type = check_typedef (value_type); @@ -361,10 +383,10 @@ Index: gdb-7.11.50.20160716/gdb/bfin-tdep.c sp -= container_len; write_memory (sp, value_contents (args[i]), container_len); -Index: gdb-7.11.50.20160716/gdb/cris-tdep.c +Index: gdb-7.99.90.20170420/gdb/cris-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/cris-tdep.c 2016-07-16 14:35:45.403502823 +0200 -+++ gdb-7.11.50.20160716/gdb/cris-tdep.c 2016-07-16 14:35:47.517519836 +0200 +--- gdb-7.99.90.20170420.orig/gdb/cris-tdep.c 2017-04-20 23:12:07.909566471 +0200 ++++ gdb-7.99.90.20170420/gdb/cris-tdep.c 2017-04-20 23:12:11.235588750 +0200 @@ -663,13 +663,13 @@ struct stack_item @@ -399,10 +421,10 @@ Index: gdb-7.11.50.20160716/gdb/cris-tdep.c /* How may registers worth of storage do we need for this argument? */ reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0); -Index: gdb-7.11.50.20160716/gdb/h8300-tdep.c +Index: gdb-7.99.90.20170420/gdb/h8300-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/h8300-tdep.c 2016-07-16 14:35:45.403502823 +0200 -+++ gdb-7.11.50.20160716/gdb/h8300-tdep.c 2016-07-16 14:35:47.517519836 +0200 +--- gdb-7.99.90.20170420.orig/gdb/h8300-tdep.c 2017-04-20 23:12:07.910566478 +0200 ++++ gdb-7.99.90.20170420/gdb/h8300-tdep.c 2017-04-20 23:12:11.235588750 +0200 @@ -637,7 +637,7 @@ int struct_return, CORE_ADDR struct_addr) { @@ -435,11 +457,11 @@ Index: gdb-7.11.50.20160716/gdb/h8300-tdep.c for (offset = 0; offset < padded_len; offset += wordsize) { -Index: gdb-7.11.50.20160716/gdb/hppa-tdep.c +Index: gdb-7.99.90.20170420/gdb/hppa-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/hppa-tdep.c 2016-07-16 14:35:45.405502839 +0200 -+++ gdb-7.11.50.20160716/gdb/hppa-tdep.c 2016-07-16 14:35:47.518519844 +0200 -@@ -991,7 +991,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/hppa-tdep.c 2017-04-20 23:12:07.911566485 +0200 ++++ gdb-7.99.90.20170420/gdb/hppa-tdep.c 2017-04-20 23:12:11.236588757 +0200 +@@ -989,7 +989,7 @@ { struct value *arg = args[i]; struct type *type = value_type (arg); @@ -448,7 +470,7 @@ Index: gdb-7.11.50.20160716/gdb/hppa-tdep.c const bfd_byte *valbuf; bfd_byte fptrbuf[8]; int regnum; -@@ -1186,7 +1186,7 @@ +@@ -1184,7 +1184,7 @@ struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) { @@ -457,11 +479,11 @@ Index: gdb-7.11.50.20160716/gdb/hppa-tdep.c int regnum, offset; if (len > 16) -Index: gdb-7.11.50.20160716/gdb/i386-darwin-tdep.c +Index: gdb-7.99.90.20170420/gdb/i386-darwin-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/i386-darwin-tdep.c 2016-07-16 14:35:45.405502839 +0200 -+++ gdb-7.11.50.20160716/gdb/i386-darwin-tdep.c 2016-07-16 14:35:47.518519844 +0200 -@@ -163,7 +163,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/i386-darwin-tdep.c 2017-04-20 23:12:07.912566492 +0200 ++++ gdb-7.99.90.20170420/gdb/i386-darwin-tdep.c 2017-04-20 23:12:11.237588763 +0200 +@@ -167,7 +167,7 @@ for (write_pass = 0; write_pass < 2; write_pass++) { @@ -470,20 +492,20 @@ Index: gdb-7.11.50.20160716/gdb/i386-darwin-tdep.c int num_m128 = 0; if (struct_return) -Index: gdb-7.11.50.20160716/gdb/i386-tdep.c +Index: gdb-7.99.90.20170420/gdb/i386-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/i386-tdep.c 2016-07-16 14:35:45.410502879 +0200 -+++ gdb-7.11.50.20160716/gdb/i386-tdep.c 2016-07-16 14:35:47.520519860 +0200 -@@ -2664,7 +2664,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/i386-tdep.c 2017-04-20 23:12:07.917566525 +0200 ++++ gdb-7.99.90.20170420/gdb/i386-tdep.c 2017-04-20 23:12:11.239588777 +0200 +@@ -2682,7 +2682,7 @@ gdb_byte buf[4]; int i; int write_pass; - int args_space = 0; + LONGEST args_space = 0; - /* Determine the total space required for arguments and struct - return address in a first pass (allowing for 16-byte-aligned -@@ -2672,7 +2672,7 @@ + /* BND registers can be in arbitrary values at the moment of the + inferior call. This can cause boundary violations that are not +@@ -2697,7 +2697,7 @@ for (write_pass = 0; write_pass < 2; write_pass++) { @@ -492,7 +514,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c if (struct_return) { -@@ -2689,7 +2689,7 @@ +@@ -2714,7 +2714,7 @@ for (i = 0; i < nargs; i++) { @@ -501,7 +523,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c if (write_pass) { -@@ -2896,7 +2896,7 @@ +@@ -2921,7 +2921,7 @@ { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum type_code code = TYPE_CODE (type); @@ -510,7 +532,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c gdb_assert (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION -@@ -3718,7 +3718,7 @@ +@@ -3743,7 +3743,7 @@ i386_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type) { @@ -519,7 +541,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c /* Values may be spread across multiple registers. Most debugging formats aren't expressive enough to specify the locations, so -@@ -3751,7 +3751,7 @@ +@@ -3776,7 +3776,7 @@ int *optimizedp, int *unavailablep) { struct gdbarch *gdbarch = get_frame_arch (frame); @@ -528,7 +550,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c if (i386_fp_regnum_p (gdbarch, regnum)) return i387_register_to_value (frame, regnum, type, to, -@@ -3787,7 +3787,7 @@ +@@ -3812,7 +3812,7 @@ i386_value_to_register (struct frame_info *frame, int regnum, struct type *type, const gdb_byte *from) { @@ -537,11 +559,11 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c if (i386_fp_regnum_p (get_frame_arch (frame), regnum)) { -Index: gdb-7.11.50.20160716/gdb/iq2000-tdep.c +Index: gdb-7.99.90.20170420/gdb/iq2000-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/iq2000-tdep.c 2016-07-16 14:35:45.411502887 +0200 -+++ gdb-7.11.50.20160716/gdb/iq2000-tdep.c 2016-07-16 14:35:47.520519860 +0200 -@@ -646,8 +646,9 @@ +--- gdb-7.99.90.20170420.orig/gdb/iq2000-tdep.c 2017-04-20 23:12:07.918566532 +0200 ++++ gdb-7.99.90.20170420/gdb/iq2000-tdep.c 2017-04-20 23:12:11.239588777 +0200 +@@ -651,8 +651,9 @@ const bfd_byte *val; bfd_byte buf[4]; struct type *type; @@ -553,24 +575,24 @@ Index: gdb-7.11.50.20160716/gdb/iq2000-tdep.c /* Used to copy struct arguments into the stack. */ CORE_ADDR struct_ptr; -Index: gdb-7.11.50.20160716/gdb/m32r-tdep.c +Index: gdb-7.99.90.20170420/gdb/m32r-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/m32r-tdep.c 2016-07-16 14:35:45.411502887 +0200 -+++ gdb-7.11.50.20160716/gdb/m32r-tdep.c 2016-07-16 14:35:47.520519860 +0200 -@@ -685,7 +685,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/m32r-tdep.c 2017-04-20 23:12:11.239588777 +0200 ++++ gdb-7.99.90.20170420/gdb/m32r-tdep.c 2017-04-20 23:12:30.385717023 +0200 +@@ -681,7 +681,7 @@ CORE_ADDR regval; gdb_byte *val; - gdb_byte valbuf[MAX_REGISTER_SIZE]; + gdb_byte valbuf[M32R_ARG_REGISTER_SIZE]; - int len; + LONGEST len; /* First force sp to a 4-byte alignment. */ sp = sp & ~3; -Index: gdb-7.11.50.20160716/gdb/m68k-tdep.c +Index: gdb-7.99.90.20170420/gdb/m68k-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/m68k-tdep.c 2016-07-16 14:35:45.412502895 +0200 -+++ gdb-7.11.50.20160716/gdb/m68k-tdep.c 2016-07-16 14:35:47.520519860 +0200 -@@ -382,7 +382,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/m68k-tdep.c 2017-04-20 23:12:07.919566538 +0200 ++++ gdb-7.99.90.20170420/gdb/m68k-tdep.c 2017-04-20 23:12:11.240588783 +0200 +@@ -377,7 +377,7 @@ { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum type_code code = TYPE_CODE (type); @@ -579,7 +601,7 @@ Index: gdb-7.11.50.20160716/gdb/m68k-tdep.c gdb_assert (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION || code == TYPE_CODE_COMPLEX); -@@ -514,9 +514,9 @@ +@@ -509,9 +509,9 @@ for (i = nargs - 1; i >= 0; i--) { struct type *value_type = value_enclosing_type (args[i]); @@ -592,11 +614,11 @@ Index: gdb-7.11.50.20160716/gdb/m68k-tdep.c /* Non-scalars bigger than 4 bytes are left aligned, others are right aligned. */ -Index: gdb-7.11.50.20160716/gdb/m88k-tdep.c +Index: gdb-7.99.90.20170420/gdb/m88k-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/m88k-tdep.c 2016-07-16 14:35:45.412502895 +0200 -+++ gdb-7.11.50.20160716/gdb/m88k-tdep.c 2016-07-16 14:35:47.521519868 +0200 -@@ -257,13 +257,13 @@ +--- gdb-7.99.90.20170420.orig/gdb/m88k-tdep.c 2017-04-20 23:12:07.919566538 +0200 ++++ gdb-7.99.90.20170420/gdb/m88k-tdep.c 2017-04-20 23:12:11.240588783 +0200 +@@ -254,13 +254,13 @@ { struct gdbarch *gdbarch = get_regcache_arch (regcache); int num_register_words = 0; @@ -612,7 +634,7 @@ Index: gdb-7.11.50.20160716/gdb/m88k-tdep.c if (m88k_integral_or_pointer_p (type) && len < 4) { -@@ -305,8 +305,8 @@ +@@ -302,8 +302,8 @@ { const bfd_byte *valbuf = value_contents (args[i]); struct type *type = value_type (args[i]); @@ -623,11 +645,11 @@ Index: gdb-7.11.50.20160716/gdb/m88k-tdep.c if (m88k_in_register_p (type)) { -Index: gdb-7.11.50.20160716/gdb/mep-tdep.c +Index: gdb-7.99.90.20170420/gdb/mep-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/mep-tdep.c 2016-07-16 14:35:45.413502903 +0200 -+++ gdb-7.11.50.20160716/gdb/mep-tdep.c 2016-07-16 14:35:47.521519868 +0200 -@@ -2272,7 +2272,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/mep-tdep.c 2017-04-20 23:12:07.920566545 +0200 ++++ gdb-7.99.90.20170420/gdb/mep-tdep.c 2017-04-20 23:12:11.241588790 +0200 +@@ -2262,7 +2262,7 @@ for (i = 0; i < argc; i++) { @@ -636,11 +658,11 @@ Index: gdb-7.11.50.20160716/gdb/mep-tdep.c if (arg_len > MEP_GPR_SIZE) { -Index: gdb-7.11.50.20160716/gdb/mips-tdep.c +Index: gdb-7.99.90.20170420/gdb/mips-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/mips-tdep.c 2016-07-16 14:35:45.421502967 +0200 -+++ gdb-7.11.50.20160716/gdb/mips-tdep.c 2016-07-16 14:35:47.523519884 +0200 -@@ -455,7 +455,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/mips-tdep.c 2017-04-20 23:12:07.928566599 +0200 ++++ gdb-7.99.90.20170420/gdb/mips-tdep.c 2017-04-20 23:12:11.243588804 +0200 +@@ -474,7 +474,7 @@ mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache, int reg_num, int length, enum bfd_endian endian, gdb_byte *in, @@ -649,7 +671,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c { int reg_offset = 0; -@@ -478,8 +478,8 @@ +@@ -497,8 +497,8 @@ } if (mips_debug) fprintf_unfiltered (gdb_stderr, @@ -660,7 +682,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c if (mips_debug && out != NULL) { int i; -@@ -4529,13 +4529,13 @@ +@@ -4530,13 +4530,13 @@ gdb_byte valbuf[MAX_REGISTER_SIZE]; struct value *arg = args[argnum]; struct type *arg_type = check_typedef (value_type (arg)); @@ -677,7 +699,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c /* The EABI passes structures that do not fit in a register by reference. */ -@@ -4804,7 +4804,7 @@ +@@ -4805,7 +4805,7 @@ static int mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type, @@ -686,7 +708,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c { int i; -@@ -4819,7 +4819,7 @@ +@@ -4820,7 +4820,7 @@ for (i = 0; i < TYPE_NFIELDS (arg_type); i++) { @@ -695,7 +717,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c struct type *field_type; /* We're only looking at normal fields. */ -@@ -4861,7 +4861,7 @@ +@@ -4862,7 +4862,7 @@ int argreg; int float_argreg; int argnum; @@ -704,7 +726,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c int stack_offset = 0; enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR func_addr = find_function_addr (function, NULL); -@@ -5212,11 +5212,11 @@ +@@ -5213,11 +5213,11 @@ : MIPS_V0_REGNUM); field < TYPE_NFIELDS (type); field++, regnum += 2) { @@ -720,7 +742,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c if (TYPE_LENGTH (TYPE_FIELD_TYPE (type, field)) == 16) { /* A 16-byte long double field goes in two consecutive -@@ -5258,8 +5258,8 @@ +@@ -5259,8 +5259,8 @@ if (offset + xfer > TYPE_LENGTH (type)) xfer = TYPE_LENGTH (type) - offset; if (mips_debug) @@ -731,7 +753,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c mips_xfer_register (gdbarch, regcache, gdbarch_num_regs (gdbarch) + regnum, xfer, BFD_ENDIAN_UNKNOWN, readbuf, writebuf, -@@ -5317,7 +5317,7 @@ +@@ -5318,7 +5318,7 @@ int argreg; int float_argreg; int argnum; @@ -740,7 +762,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c int stack_offset = 0; enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR func_addr = find_function_addr (function, NULL); -@@ -5381,13 +5381,13 @@ +@@ -5382,13 +5382,13 @@ const gdb_byte *val; struct value *arg = args[argnum]; struct type *arg_type = check_typedef (value_type (arg)); @@ -757,7 +779,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c val = value_contents (arg); -@@ -5842,8 +5842,8 @@ +@@ -5843,8 +5843,8 @@ int argreg; int float_argreg; int argnum; @@ -768,7 +790,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR func_addr = find_function_addr (function, NULL); -@@ -5903,13 +5903,13 @@ +@@ -5904,13 +5904,13 @@ const gdb_byte *val; struct value *arg = args[argnum]; struct type *arg_type = check_typedef (value_type (arg)); @@ -785,11 +807,11 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c val = value_contents (arg); -Index: gdb-7.11.50.20160716/gdb/mn10300-tdep.c +Index: gdb-7.99.90.20170420/gdb/mn10300-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/mn10300-tdep.c 2016-07-16 14:35:45.422502976 +0200 -+++ gdb-7.11.50.20160716/gdb/mn10300-tdep.c 2016-07-16 14:35:47.524519892 +0200 -@@ -1225,7 +1225,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/mn10300-tdep.c 2017-04-20 23:12:07.929566605 +0200 ++++ gdb-7.99.90.20170420/gdb/mn10300-tdep.c 2017-04-20 23:12:11.243588804 +0200 +@@ -1220,7 +1220,7 @@ enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); const int push_size = register_size (gdbarch, E_PC_REGNUM); int regs_used; @@ -798,11 +820,11 @@ Index: gdb-7.11.50.20160716/gdb/mn10300-tdep.c int stack_offset = 0; int argnum; const gdb_byte *val; -Index: gdb-7.11.50.20160716/gdb/mt-tdep.c +Index: gdb-7.99.90.20170420/gdb/mt-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/mt-tdep.c 2016-07-16 14:35:45.423502984 +0200 -+++ gdb-7.11.50.20160716/gdb/mt-tdep.c 2016-07-16 14:35:47.524519892 +0200 -@@ -780,9 +780,9 @@ +--- gdb-7.99.90.20170420.orig/gdb/mt-tdep.c 2017-04-20 23:12:07.930566612 +0200 ++++ gdb-7.99.90.20170420/gdb/mt-tdep.c 2017-04-20 23:12:11.244588810 +0200 +@@ -788,9 +788,9 @@ gdb_byte buf[MT_MAX_STRUCT_SIZE]; int argreg = MT_1ST_ARGREG; int split_param_len = 0; @@ -814,11 +836,11 @@ Index: gdb-7.11.50.20160716/gdb/mt-tdep.c int i, j; /* First handle however many args we can fit into MT_1ST_ARGREG thru -Index: gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c +Index: gdb-7.99.90.20170420/gdb/ppc-sysv-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/ppc-sysv-tdep.c 2016-07-16 14:35:45.424502992 +0200 -+++ gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c 2016-07-16 14:35:47.524519892 +0200 -@@ -66,7 +66,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/ppc-sysv-tdep.c 2017-04-20 23:12:07.931566619 +0200 ++++ gdb-7.99.90.20170420/gdb/ppc-sysv-tdep.c 2017-04-20 23:12:11.245588817 +0200 +@@ -67,7 +67,7 @@ enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function)); ULONGEST saved_sp; @@ -827,7 +849,7 @@ Index: gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c int write_pass; gdb_assert (tdep->wordsize == 4); -@@ -97,9 +97,9 @@ +@@ -98,9 +98,9 @@ /* Next available vector register for vector arguments. */ int vreg = 2; /* Arguments start above the "LR save word" and "Back chain". */ @@ -839,7 +861,7 @@ Index: gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c /* If the function is returning a `struct', then the first word (which will be passed in r3) is used for struct return -@@ -118,7 +118,7 @@ +@@ -119,7 +119,7 @@ { struct value *arg = args[argno]; struct type *type = check_typedef (value_type (arg)); @@ -848,7 +870,7 @@ Index: gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c const bfd_byte *val = value_contents (arg); if (TYPE_CODE (type) == TYPE_CODE_FLT && len <= 8 -@@ -1283,11 +1283,11 @@ +@@ -1284,11 +1284,11 @@ static void ppc64_sysv_abi_push_val (struct gdbarch *gdbarch, @@ -862,11 +884,11 @@ Index: gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c /* Enforce alignment of stack location, if requested. */ if (align > tdep->wordsize) -Index: gdb-7.11.50.20160716/gdb/rl78-tdep.c +Index: gdb-7.99.90.20170420/gdb/rl78-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/rl78-tdep.c 2016-07-16 14:35:45.424502992 +0200 -+++ gdb-7.11.50.20160716/gdb/rl78-tdep.c 2016-07-16 14:35:47.525519900 +0200 -@@ -1336,8 +1336,8 @@ +--- gdb-7.99.90.20170420.orig/gdb/rl78-tdep.c 2017-04-20 23:12:07.931566619 +0200 ++++ gdb-7.99.90.20170420/gdb/rl78-tdep.c 2017-04-20 23:12:11.245588817 +0200 +@@ -1352,8 +1352,8 @@ for (i = nargs - 1; i >= 0; i--) { struct type *value_type = value_enclosing_type (args[i]); @@ -877,10 +899,10 @@ Index: gdb-7.11.50.20160716/gdb/rl78-tdep.c sp -= container_len; write_memory (rl78_make_data_address (sp), -Index: gdb-7.11.50.20160716/gdb/rs6000-aix-tdep.c +Index: gdb-7.99.90.20170420/gdb/rs6000-aix-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/rs6000-aix-tdep.c 2016-07-16 14:35:45.425503000 +0200 -+++ gdb-7.11.50.20160716/gdb/rs6000-aix-tdep.c 2016-07-16 14:35:47.525519900 +0200 +--- gdb-7.99.90.20170420.orig/gdb/rs6000-aix-tdep.c 2017-04-20 23:12:07.932566626 +0200 ++++ gdb-7.99.90.20170420/gdb/rs6000-aix-tdep.c 2017-04-20 23:12:11.245588817 +0200 @@ -186,9 +186,9 @@ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -902,11 +924,11 @@ Index: gdb-7.11.50.20160716/gdb/rs6000-aix-tdep.c if (argbytes) { -Index: gdb-7.11.50.20160716/gdb/s390-linux-tdep.c +Index: gdb-7.99.90.20170420/gdb/s390-linux-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/s390-linux-tdep.c 2016-07-16 14:35:45.427503016 +0200 -+++ gdb-7.11.50.20160716/gdb/s390-linux-tdep.c 2016-07-16 14:35:47.526519908 +0200 -@@ -3125,7 +3125,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/s390-linux-tdep.c 2017-04-20 23:12:07.934566639 +0200 ++++ gdb-7.99.90.20170420/gdb/s390-linux-tdep.c 2017-04-20 23:12:11.247588830 +0200 +@@ -3081,7 +3081,7 @@ /* Determine whether N is a power of two. */ static int @@ -915,7 +937,7 @@ Index: gdb-7.11.50.20160716/gdb/s390-linux-tdep.c { return n && ((n & (n - 1)) == 0); } -@@ -3182,7 +3182,7 @@ +@@ -3138,7 +3138,7 @@ enum bfd_endian byte_order, int is_unnamed) { struct type *type = check_typedef (value_type (arg)); @@ -924,11 +946,11 @@ Index: gdb-7.11.50.20160716/gdb/s390-linux-tdep.c int write_mode = as->regcache != NULL; if (s390_function_arg_float (type)) -Index: gdb-7.11.50.20160716/gdb/score-tdep.c +Index: gdb-7.99.90.20170420/gdb/score-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/score-tdep.c 2016-07-16 14:35:45.428503024 +0200 -+++ gdb-7.11.50.20160716/gdb/score-tdep.c 2016-07-16 14:35:47.527519916 +0200 -@@ -514,7 +514,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/score-tdep.c 2017-04-20 23:12:07.935566646 +0200 ++++ gdb-7.99.90.20170420/gdb/score-tdep.c 2017-04-20 23:12:11.248588837 +0200 +@@ -525,7 +525,7 @@ enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int argnum; int argreg; @@ -937,11 +959,11 @@ Index: gdb-7.11.50.20160716/gdb/score-tdep.c CORE_ADDR stack_offset = 0; CORE_ADDR addr = 0; -Index: gdb-7.11.50.20160716/gdb/sh-tdep.c +Index: gdb-7.99.90.20170420/gdb/sh-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/sh-tdep.c 2016-07-16 14:35:45.429503032 +0200 -+++ gdb-7.11.50.20160716/gdb/sh-tdep.c 2016-07-16 14:35:47.527519916 +0200 -@@ -805,7 +805,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/sh-tdep.c 2017-04-20 23:12:07.936566652 +0200 ++++ gdb-7.99.90.20170420/gdb/sh-tdep.c 2017-04-20 23:12:11.248588837 +0200 +@@ -814,7 +814,7 @@ static int sh_use_struct_convention (int renesas_abi, struct type *type) { @@ -950,7 +972,7 @@ Index: gdb-7.11.50.20160716/gdb/sh-tdep.c int nelem = TYPE_NFIELDS (type); /* The Renesas ABI returns aggregate types always on stack. */ -@@ -907,7 +907,7 @@ +@@ -916,7 +916,7 @@ /* Helper function to justify value in register according to endianess. */ static const gdb_byte * @@ -959,7 +981,7 @@ Index: gdb-7.11.50.20160716/gdb/sh-tdep.c { static gdb_byte valbuf[4]; -@@ -1067,7 +1067,8 @@ +@@ -1076,7 +1076,8 @@ struct type *type; CORE_ADDR regval; const gdb_byte *val; @@ -969,7 +991,7 @@ Index: gdb-7.11.50.20160716/gdb/sh-tdep.c int pass_on_stack = 0; int treat_as_flt; int last_reg_arg = INT_MAX; -@@ -1208,7 +1209,8 @@ +@@ -1217,7 +1218,8 @@ struct type *type; CORE_ADDR regval; const gdb_byte *val; @@ -979,11 +1001,11 @@ Index: gdb-7.11.50.20160716/gdb/sh-tdep.c int pass_on_stack = 0; int last_reg_arg = INT_MAX; -Index: gdb-7.11.50.20160716/gdb/sh64-tdep.c +Index: gdb-7.99.90.20170420/gdb/sh64-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/sh64-tdep.c 2016-07-16 14:35:45.430503040 +0200 -+++ gdb-7.11.50.20160716/gdb/sh64-tdep.c 2016-07-16 14:35:47.528519925 +0200 -@@ -1060,7 +1060,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/sh64-tdep.c 2017-04-20 23:12:07.937566659 +0200 ++++ gdb-7.99.90.20170420/gdb/sh64-tdep.c 2017-04-20 23:12:11.249588844 +0200 +@@ -1062,7 +1062,7 @@ CORE_ADDR struct_addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -992,7 +1014,7 @@ Index: gdb-7.11.50.20160716/gdb/sh64-tdep.c int int_argreg; int float_arg_index = 0; int double_arg_index = 0; -@@ -1069,7 +1069,7 @@ +@@ -1071,7 +1071,7 @@ CORE_ADDR regval; const gdb_byte *val; gdb_byte valbuf[8]; @@ -1001,11 +1023,11 @@ Index: gdb-7.11.50.20160716/gdb/sh64-tdep.c int argreg_size; int fp_args[12]; -Index: gdb-7.11.50.20160716/gdb/sparc-tdep.c +Index: gdb-7.99.90.20170420/gdb/sparc-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/sparc-tdep.c 2016-07-16 14:35:45.431503048 +0200 -+++ gdb-7.11.50.20160716/gdb/sparc-tdep.c 2016-07-16 14:35:47.528519925 +0200 -@@ -525,7 +525,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/sparc-tdep.c 2017-04-20 23:12:07.938566666 +0200 ++++ gdb-7.99.90.20170420/gdb/sparc-tdep.c 2017-04-20 23:12:11.249588844 +0200 +@@ -567,7 +567,7 @@ for (i = 0; i < nargs; i++) { struct type *type = value_type (args[i]); @@ -1014,11 +1036,11 @@ Index: gdb-7.11.50.20160716/gdb/sparc-tdep.c if (sparc_structure_or_union_p (type) || (sparc_floating_p (type) && len == 16) -Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c +Index: gdb-7.99.90.20170420/gdb/sparc64-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/sparc64-tdep.c 2016-07-16 14:35:45.432503056 +0200 -+++ gdb-7.11.50.20160716/gdb/sparc64-tdep.c 2016-07-16 14:35:47.528519925 +0200 -@@ -636,7 +636,8 @@ +--- gdb-7.99.90.20170420.orig/gdb/sparc64-tdep.c 2017-04-20 23:12:07.939566672 +0200 ++++ gdb-7.99.90.20170420/gdb/sparc64-tdep.c 2017-04-20 23:12:11.250588851 +0200 +@@ -696,7 +696,8 @@ static void sparc64_store_floating_fields (struct regcache *regcache, struct type *type, @@ -1026,9 +1048,9 @@ Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c + const gdb_byte *valbuf, int element, + LONGEST bitpos) { + struct gdbarch *gdbarch = get_regcache_arch (regcache); int len = TYPE_LENGTH (type); - -@@ -678,7 +679,7 @@ +@@ -740,7 +741,7 @@ for (i = 0; i < TYPE_NFIELDS (type); i++) { struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i)); @@ -1037,16 +1059,16 @@ Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c sparc64_store_floating_fields (regcache, subtype, valbuf, element, subpos); -@@ -710,7 +711,7 @@ +@@ -772,7 +773,7 @@ static void sparc64_extract_floating_fields (struct regcache *regcache, struct type *type, - gdb_byte *valbuf, int bitpos) + gdb_byte *valbuf, LONGEST bitpos) { - if (sparc64_floating_p (type)) - { -@@ -747,7 +748,7 @@ + struct gdbarch *gdbarch = get_regcache_arch (regcache); + +@@ -812,7 +813,7 @@ for (i = 0; i < TYPE_NFIELDS (type); i++) { struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i)); @@ -1055,7 +1077,7 @@ Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c sparc64_extract_floating_fields (regcache, subtype, valbuf, subpos); } -@@ -780,7 +781,7 @@ +@@ -845,7 +846,7 @@ for (i = 0; i < nargs; i++) { struct type *type = value_type (args[i]); @@ -1064,7 +1086,7 @@ Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c if (sparc64_structure_or_union_p (type) || (sparc64_complex_floating_p (type) && len == 32)) -@@ -880,7 +881,7 @@ +@@ -945,7 +946,7 @@ { const gdb_byte *valbuf = value_contents (args[i]); struct type *type = value_type (args[i]); @@ -1073,11 +1095,11 @@ Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c int regnum = -1; gdb_byte buf[16]; -Index: gdb-7.11.50.20160716/gdb/spu-tdep.c +Index: gdb-7.99.90.20170420/gdb/spu-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/spu-tdep.c 2016-07-16 14:35:45.433503064 +0200 -+++ gdb-7.11.50.20160716/gdb/spu-tdep.c 2016-07-16 14:35:47.529519932 +0200 -@@ -1429,7 +1429,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/spu-tdep.c 2017-04-20 23:12:07.940566679 +0200 ++++ gdb-7.99.90.20170420/gdb/spu-tdep.c 2017-04-20 23:12:11.251588857 +0200 +@@ -1431,7 +1431,7 @@ struct value *arg = args[i]; struct type *type = check_typedef (value_type (arg)); const gdb_byte *contents = value_contents (arg); @@ -1086,7 +1108,7 @@ Index: gdb-7.11.50.20160716/gdb/spu-tdep.c /* If the argument doesn't wholly fit into registers, it and all subsequent arguments go to the stack. */ -@@ -1461,7 +1461,7 @@ +@@ -1463,7 +1463,7 @@ { struct value *arg = args[i]; struct type *type = check_typedef (value_type (arg)); @@ -1095,11 +1117,11 @@ Index: gdb-7.11.50.20160716/gdb/spu-tdep.c int preferred_slot; if (spu_scalar_value_p (type)) -Index: gdb-7.11.50.20160716/gdb/tic6x-tdep.c +Index: gdb-7.99.90.20170420/gdb/tic6x-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/tic6x-tdep.c 2016-07-16 14:35:45.433503064 +0200 -+++ gdb-7.11.50.20160716/gdb/tic6x-tdep.c 2016-07-16 14:35:47.529519932 +0200 -@@ -892,7 +892,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/tic6x-tdep.c 2017-04-20 23:12:07.940566679 +0200 ++++ gdb-7.99.90.20170420/gdb/tic6x-tdep.c 2017-04-20 23:12:11.251588857 +0200 +@@ -899,7 +899,7 @@ int argreg = 0; int argnum; int stack_offset = 4; @@ -1108,7 +1130,7 @@ Index: gdb-7.11.50.20160716/gdb/tic6x-tdep.c CORE_ADDR func_addr = find_function_addr (function, NULL); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); struct type *func_type = value_type (function); -@@ -926,7 +926,7 @@ +@@ -933,7 +933,7 @@ /* Now make space on the stack for the args. */ for (argnum = 0; argnum < nargs; argnum++) { @@ -1117,7 +1139,7 @@ Index: gdb-7.11.50.20160716/gdb/tic6x-tdep.c if (argnum >= 10 - argreg) references_offset += len; stack_offset += len; -@@ -945,7 +945,7 @@ +@@ -952,7 +952,7 @@ const gdb_byte *val; struct value *arg = args[argnum]; struct type *arg_type = check_typedef (value_type (arg)); @@ -1126,7 +1148,7 @@ Index: gdb-7.11.50.20160716/gdb/tic6x-tdep.c enum type_code typecode = TYPE_CODE (arg_type); val = value_contents (arg); -@@ -1105,7 +1105,8 @@ +@@ -1112,7 +1112,8 @@ } else internal_error (__FILE__, __LINE__, @@ -1136,11 +1158,11 @@ Index: gdb-7.11.50.20160716/gdb/tic6x-tdep.c addr = sp + stack_offset; write_memory (addr, val, len); -Index: gdb-7.11.50.20160716/gdb/tilegx-tdep.c +Index: gdb-7.99.90.20170420/gdb/tilegx-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/tilegx-tdep.c 2016-07-16 14:35:45.434503072 +0200 -+++ gdb-7.11.50.20160716/gdb/tilegx-tdep.c 2016-07-16 14:35:47.530519941 +0200 -@@ -288,7 +288,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/tilegx-tdep.c 2017-04-20 23:12:07.941566686 +0200 ++++ gdb-7.99.90.20170420/gdb/tilegx-tdep.c 2017-04-20 23:12:11.251588857 +0200 +@@ -289,7 +289,7 @@ CORE_ADDR stack_dest = sp; int argreg = TILEGX_R0_REGNUM; int i, j; @@ -1149,10 +1171,10 @@ Index: gdb-7.11.50.20160716/gdb/tilegx-tdep.c static const gdb_byte four_zero_words[16] = { 0 }; /* If struct_return is 1, then the struct return address will -Index: gdb-7.11.50.20160716/gdb/v850-tdep.c +Index: gdb-7.99.90.20170420/gdb/v850-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/v850-tdep.c 2016-07-16 14:35:45.434503072 +0200 -+++ gdb-7.11.50.20160716/gdb/v850-tdep.c 2016-07-16 14:35:47.530519941 +0200 +--- gdb-7.99.90.20170420.orig/gdb/v850-tdep.c 2017-04-20 23:12:07.941566686 +0200 ++++ gdb-7.99.90.20170420/gdb/v850-tdep.c 2017-04-20 23:12:11.252588864 +0200 @@ -1019,7 +1019,7 @@ enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int argreg; @@ -1171,10 +1193,10 @@ Index: gdb-7.11.50.20160716/gdb/v850-tdep.c gdb_byte *val; gdb_byte valbuf[v850_reg_size]; -Index: gdb-7.11.50.20160716/gdb/vax-tdep.c +Index: gdb-7.99.90.20170420/gdb/vax-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/vax-tdep.c 2016-07-16 14:35:45.435503080 +0200 -+++ gdb-7.11.50.20160716/gdb/vax-tdep.c 2016-07-16 14:35:47.530519941 +0200 +--- gdb-7.99.90.20170420.orig/gdb/vax-tdep.c 2017-04-20 23:12:07.942566692 +0200 ++++ gdb-7.99.90.20170420/gdb/vax-tdep.c 2017-04-20 23:12:11.252588864 +0200 @@ -111,7 +111,7 @@ struct gdbarch *gdbarch = get_regcache_arch (regcache); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -1193,10 +1215,10 @@ Index: gdb-7.11.50.20160716/gdb/vax-tdep.c sp -= (len + 3) & ~3; count += (len + 3) / 4; -Index: gdb-7.11.50.20160716/gdb/xstormy16-tdep.c +Index: gdb-7.99.90.20170420/gdb/xstormy16-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/xstormy16-tdep.c 2016-07-16 14:35:45.435503080 +0200 -+++ gdb-7.11.50.20160716/gdb/xstormy16-tdep.c 2016-07-16 14:35:47.530519941 +0200 +--- gdb-7.99.90.20170420.orig/gdb/xstormy16-tdep.c 2017-04-20 23:12:07.942566692 +0200 ++++ gdb-7.99.90.20170420/gdb/xstormy16-tdep.c 2017-04-20 23:12:11.252588864 +0200 @@ -233,8 +233,9 @@ enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR stack_dest = sp; @@ -1209,11 +1231,11 @@ Index: gdb-7.11.50.20160716/gdb/xstormy16-tdep.c const gdb_byte *val; gdb_byte buf[xstormy16_pc_size]; -Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c +Index: gdb-7.99.90.20170420/gdb/xtensa-tdep.c =================================================================== ---- gdb-7.11.50.20160716.orig/gdb/xtensa-tdep.c 2016-07-16 14:35:45.437503096 +0200 -+++ gdb-7.11.50.20160716/gdb/xtensa-tdep.c 2016-07-16 14:35:47.531519949 +0200 -@@ -1638,8 +1638,7 @@ +--- gdb-7.99.90.20170420.orig/gdb/xtensa-tdep.c 2017-04-20 23:12:07.944566706 +0200 ++++ gdb-7.99.90.20170420/gdb/xtensa-tdep.c 2017-04-20 23:12:11.253588870 +0200 +@@ -1637,8 +1637,7 @@ if (len > (callsize > 8 ? 8 : 16)) internal_error (__FILE__, __LINE__, @@ -1223,7 +1245,7 @@ Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c areg = arreg_number (gdbarch, gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb); -@@ -1713,18 +1712,18 @@ +@@ -1712,18 +1711,18 @@ { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int i; @@ -1245,7 +1267,7 @@ Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c int regno; /* regno if in register. */ } u; }; -@@ -1748,9 +1747,10 @@ +@@ -1747,9 +1746,10 @@ { struct value *arg = args[i]; struct type *arg_type = check_typedef (value_type (arg)); @@ -1259,7 +1281,7 @@ Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c switch (TYPE_CODE (arg_type)) { case TYPE_CODE_INT: -@@ -1820,8 +1820,8 @@ +@@ -1819,8 +1819,8 @@ info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long); break; } @@ -1269,7 +1291,7 @@ Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c /* Align size and onstack_size. */ size = (size + info->align - 1) & ~(info->align - 1); -@@ -1866,7 +1866,7 @@ +@@ -1865,7 +1865,7 @@ if (info->onstack) { @@ -1278,7 +1300,7 @@ Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c CORE_ADDR offset = sp + info->u.offset; /* Odd-sized structs are aligned to the lower side of a memory -@@ -1882,7 +1882,7 @@ +@@ -1881,7 +1881,7 @@ } else { diff --git a/gdb-rhbz795424-bitpos-lazyvalue.patch b/gdb-rhbz795424-bitpos-lazyvalue.patch index 273c87d..ab88062 100644 --- a/gdb-rhbz795424-bitpos-lazyvalue.patch +++ b/gdb-rhbz795424-bitpos-lazyvalue.patch @@ -34,7 +34,7 @@ Index: gdb-7.11.50.20160630/gdb/testsuite/gdb.base/longest-types-64bit.exp +# 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" diff --git a/gdb-vla-intel-fortran-strides.patch b/gdb-vla-intel-fortran-strides.patch index ddb0036..96ff8e4 100644 --- a/gdb-vla-intel-fortran-strides.patch +++ b/gdb-vla-intel-fortran-strides.patch @@ -26,11 +26,11 @@ dbfd7140bf4c0500d1f5d192be781f83f78f7922 gdb/value.h | 2 + 23 files changed, 1242 insertions(+), 183 deletions(-) -diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c -index 548e468..560e16f 100644 ---- a/gdb/dwarf2loc.c -+++ b/gdb/dwarf2loc.c -@@ -2601,11 +2601,14 @@ dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton, +Index: gdb-7.99.90.20170420/gdb/dwarf2loc.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/dwarf2loc.c 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/dwarf2loc.c 2017-04-20 22:26:14.356446562 +0200 +@@ -2622,11 +2622,14 @@ /* See dwarf2loc.h. */ int @@ -47,7 +47,7 @@ index 548e468..560e16f 100644 if (prop == NULL) return 0; -@@ -2629,7 +2632,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop, +@@ -2650,7 +2653,7 @@ *value = value_as_address (val); } @@ -56,7 +56,7 @@ index 548e468..560e16f 100644 } } break; -@@ -2651,7 +2654,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop, +@@ -2672,7 +2675,7 @@ if (!value_optimized_out (val)) { *value = value_as_address (val); @@ -65,7 +65,7 @@ index 548e468..560e16f 100644 } } } -@@ -2659,8 +2662,8 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop, +@@ -2680,8 +2683,8 @@ case PROP_CONST: *value = prop->data.const_val; @@ -76,7 +76,7 @@ index 548e468..560e16f 100644 case PROP_ADDR_OFFSET: { struct dwarf2_property_baton *baton -@@ -2681,11 +2684,38 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop, +@@ -2702,11 +2705,38 @@ val = value_at (baton->offset_info.type, pinfo->addr + baton->offset_info.offset); *value = value_as_address (val); @@ -84,9 +84,8 @@ index 548e468..560e16f 100644 + rc = 1; } + break; - } - -- return 0; ++ } ++ + if (rc == 1 && is_signed == 1) + { + /* If we have a valid return candidate and it's value is signed, @@ -99,10 +98,11 @@ index 548e468..560e16f 100644 + /* Check if signed bit is set and sign-extend values. */ + if (*value & (neg_mask)) + *value |= (neg_mask ); -+ } + } + return rc; +} -+ + +- return 0; +int +dwarf2_evaluate_property (const struct dynamic_prop *prop, + struct frame_info *frame, @@ -117,11 +117,11 @@ index 548e468..560e16f 100644 } /* See dwarf2loc.h. */ -diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h -index fa83459..da6b9cd 100644 ---- a/gdb/dwarf2loc.h -+++ b/gdb/dwarf2loc.h -@@ -138,6 +138,12 @@ int dwarf2_evaluate_property (const struct dynamic_prop *prop, +Index: gdb-7.99.90.20170420/gdb/dwarf2loc.h +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/dwarf2loc.h 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/dwarf2loc.h 2017-04-20 22:26:14.356446562 +0200 +@@ -143,6 +143,12 @@ struct property_addr_info *addr_stack, CORE_ADDR *value); @@ -134,11 +134,11 @@ index fa83459..da6b9cd 100644 /* A helper for the compiler interface that compiles a single dynamic property to C code. -diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c -index 6658a38..a1ac659 100644 ---- a/gdb/dwarf2read.c -+++ b/gdb/dwarf2read.c -@@ -14952,7 +14952,7 @@ read_subrange_type (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 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 22:27:08.510788562 +0200 +@@ -15268,7 +15268,7 @@ struct type *base_type, *orig_base_type; struct type *range_type; struct attribute *attr; @@ -147,7 +147,7 @@ index 6658a38..a1ac659 100644 int low_default_is_valid; int high_bound_is_count = 0; const char *name; -@@ -14972,7 +14972,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -15288,7 +15288,9 @@ low.kind = PROP_CONST; high.kind = PROP_CONST; @@ -157,7 +157,7 @@ index 6658a38..a1ac659 100644 /* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow omitting DW_AT_lower_bound. */ -@@ -15006,6 +15008,13 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -15321,6 +15323,13 @@ break; } @@ -166,12 +166,12 @@ index 6658a38..a1ac659 100644 + if (!attr_to_dynamic_prop (attr, die, cu, &stride)) + 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) attr_to_dynamic_prop (attr, die, cu, &low); -@@ -15082,7 +15091,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -15397,7 +15406,7 @@ && !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask)) high.data.const_val |= negative_mask; @@ -180,11 +180,11 @@ index 6658a38..a1ac659 100644 if (high_bound_is_count) TYPE_RANGE_DATA (range_type)->flag_upper_bound_is_count = 1; -diff --git a/gdb/eval.c b/gdb/eval.c -index 00a107c..91d8a03 100644 ---- a/gdb/eval.c -+++ b/gdb/eval.c -@@ -399,29 +399,325 @@ init_array_element (struct value *array, struct value *element, +Index: gdb-7.99.90.20170420/gdb/eval.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/eval.c 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/eval.c 2017-04-20 22:26:14.362446600 +0200 +@@ -379,29 +379,325 @@ return index; } @@ -209,11 +209,6 @@ index 00a107c..91d8a03 100644 - = (enum range_type) longest_to_int (exp->elts[pc].longconst); - - *pos += 3; -- -- if (range_type == LOW_BOUND_DEFAULT || range_type == BOTH_BOUND_DEFAULT) -- low_bound = TYPE_LOW_BOUND (range); -- else -- low_bound = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside)); + struct value *new_array = array; + struct type *array_type = check_typedef (value_type (new_array)); + struct type *elt_type; @@ -268,17 +263,21 @@ index 00a107c..91d8a03 100644 + { + struct subscript_store *index = &subscript_array[i]; -- if (range_type == HIGH_BOUND_DEFAULT || range_type == BOTH_BOUND_DEFAULT) -- high_bound = TYPE_HIGH_BOUND (range); +- if (range_type == LOW_BOUND_DEFAULT || range_type == BOTH_BOUND_DEFAULT) +- low_bound = TYPE_LOW_BOUND (range); - else -- high_bound = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside)); +- low_bound = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside)); + /* The user input is a range, with or without lower and upper bound. + E.g.: "p arry(2:5)", "p arry( :5)", "p arry( : )", etc. */ + if (exp->elts[*pos].opcode == OP_RANGE) + { + int pc = (*pos) + 1; + subscript_range *range; -+ + +- if (range_type == HIGH_BOUND_DEFAULT || range_type == BOTH_BOUND_DEFAULT) +- high_bound = TYPE_HIGH_BOUND (range); +- else +- high_bound = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside)); + index->kind = SUBSCRIPT_RANGE; + range = &index->U.range; + @@ -372,7 +371,8 @@ index 00a107c..91d8a03 100644 + + case SUBSCRIPT_INDEX: + break; -+ + +- return value_slice (array, low_bound, high_bound - low_bound + 1); + } + + array_type = TYPE_TARGET_TYPE (array_type); @@ -492,8 +492,7 @@ index 00a107c..91d8a03 100644 + struct type *range_type, *interim_array_type; + + int new_length; - -- return value_slice (array, low_bound, high_bound - low_bound + 1); ++ + /* The length of a sub-dimension with all elements between the + bounds plus the start element itself. It may be modified by + a user provided stride value. */ @@ -528,7 +527,7 @@ index 00a107c..91d8a03 100644 } -@@ -1810,19 +2106,8 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -1790,19 +2086,8 @@ switch (code) { case TYPE_CODE_ARRAY: @@ -549,7 +548,7 @@ index 00a107c..91d8a03 100644 case TYPE_CODE_PTR: case TYPE_CODE_FUNC: -@@ -2223,49 +2508,6 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -2203,49 +2488,6 @@ } return (arg1); @@ -599,7 +598,7 @@ index 00a107c..91d8a03 100644 case BINOP_LOGICAL_AND: arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); if (noside == EVAL_SKIP) -@@ -3123,6 +3365,9 @@ calc_f77_array_dims (struct type *array_type) +@@ -3102,6 +3344,9 @@ int ndimen = 1; struct type *tmp_type; @@ -609,11 +608,11 @@ index 00a107c..91d8a03 100644 if ((TYPE_CODE (array_type) != TYPE_CODE_ARRAY)) error (_("Can't get dimensions for a non-array type")); -diff --git a/gdb/expprint.c b/gdb/expprint.c -index c37ecb0..214d58e 100644 ---- a/gdb/expprint.c -+++ b/gdb/expprint.c -@@ -568,12 +568,10 @@ print_subexp_standard (struct expression *exp, int *pos, +Index: gdb-7.99.90.20170420/gdb/expprint.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/expprint.c 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/expprint.c 2017-04-20 22:26:14.363446607 +0200 +@@ -568,12 +568,10 @@ *pos += 2; fputs_filtered ("RANGE(", stream); @@ -628,7 +627,7 @@ index c37ecb0..214d58e 100644 print_subexp (exp, pos, stream, PREC_ABOVE_COMMA); fputs_filtered (")", stream); return; -@@ -1055,16 +1053,16 @@ dump_subexp_body_standard (struct expression *exp, +@@ -1055,16 +1053,16 @@ switch (range_type) { @@ -649,7 +648,7 @@ index c37ecb0..214d58e 100644 fputs_filtered ("Range 'EXP..EXP'", stream); break; default: -@@ -1072,11 +1070,9 @@ dump_subexp_body_standard (struct expression *exp, +@@ -1072,11 +1070,9 @@ break; } @@ -663,12 +662,12 @@ index c37ecb0..214d58e 100644 elt = dump_subexp (exp, stream, elt); } break; -diff --git a/gdb/expression.h b/gdb/expression.h -index 4952d84..34ca54b 100644 ---- a/gdb/expression.h -+++ b/gdb/expression.h -@@ -152,17 +152,17 @@ extern void dump_raw_expression (struct expression *, - struct ui_file *, char *); +Index: gdb-7.99.90.20170420/gdb/expression.h +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/expression.h 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/expression.h 2017-04-20 22:26:14.363446607 +0200 +@@ -154,17 +154,17 @@ + struct ui_file *, const char *); extern void dump_prefix_expression (struct expression *, struct ui_file *); -/* In an OP_RANGE expression, either bound could be empty, indicating @@ -694,11 +693,11 @@ index 4952d84..34ca54b 100644 }; #endif /* !defined (EXPRESSION_H) */ -diff --git a/gdb/f-exp.y b/gdb/f-exp.y -index e3148a3..71f1823 100644 ---- a/gdb/f-exp.y -+++ b/gdb/f-exp.y -@@ -253,31 +253,63 @@ arglist : subrange +Index: gdb-7.99.90.20170420/gdb/f-exp.y +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/f-exp.y 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/f-exp.y 2017-04-20 22:26:14.363446607 +0200 +@@ -254,31 +254,63 @@ arglist : arglist ',' exp %prec ABOVE_COMMA { arglist_len++; } @@ -767,11 +766,11 @@ index e3148a3..71f1823 100644 write_exp_elt_opcode (pstate, OP_RANGE); } ; -diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c -index 08215e2..e6eca6a 100644 ---- a/gdb/f-valprint.c -+++ b/gdb/f-valprint.c -@@ -121,8 +121,14 @@ f77_print_array_1 (int nss, int ndimensions, struct type *type, +Index: gdb-7.99.90.20170420/gdb/f-valprint.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/f-valprint.c 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/f-valprint.c 2017-04-20 22:26:14.364446613 +0200 +@@ -121,8 +121,14 @@ if (nss != ndimensions) { @@ -787,11 +786,11 @@ index 08215e2..e6eca6a 100644 for (i = lowerbound; (i < upperbound + 1 && (*elts) < options->print_max); -diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c -index ec5c17a..eb83791 100644 ---- a/gdb/gdbtypes.c -+++ b/gdb/gdbtypes.c -@@ -836,7 +836,8 @@ allocate_stub_method (struct type *type) +Index: gdb-7.99.90.20170420/gdb/gdbtypes.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.c 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/gdbtypes.c 2017-04-20 22:26:14.365446619 +0200 +@@ -862,7 +862,8 @@ struct type * create_range_type (struct type *result_type, struct type *index_type, const struct dynamic_prop *low_bound, @@ -801,7 +800,7 @@ index ec5c17a..eb83791 100644 { if (result_type == NULL) result_type = alloc_type_copy (index_type); -@@ -851,6 +852,7 @@ create_range_type (struct type *result_type, struct type *index_type, +@@ -877,6 +878,7 @@ TYPE_ZALLOC (result_type, sizeof (struct range_bounds)); TYPE_RANGE_DATA (result_type)->low = *low_bound; TYPE_RANGE_DATA (result_type)->high = *high_bound; @@ -809,7 +808,7 @@ index ec5c17a..eb83791 100644 if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0) TYPE_UNSIGNED (result_type) = 1; -@@ -879,7 +881,7 @@ struct type * +@@ -905,7 +907,7 @@ create_static_range_type (struct type *result_type, struct type *index_type, LONGEST low_bound, LONGEST high_bound) { @@ -818,7 +817,7 @@ index ec5c17a..eb83791 100644 low.kind = PROP_CONST; low.data.const_val = low_bound; -@@ -887,7 +889,11 @@ create_static_range_type (struct type *result_type, struct type *index_type, +@@ -913,7 +915,11 @@ high.kind = PROP_CONST; high.data.const_val = high_bound; @@ -831,7 +830,7 @@ index ec5c17a..eb83791 100644 return result_type; } -@@ -1084,16 +1090,20 @@ create_array_type_with_stride (struct type *result_type, +@@ -1110,16 +1116,20 @@ && (!type_not_associated (result_type) && !type_not_allocated (result_type))) { @@ -853,7 +852,7 @@ index ec5c17a..eb83791 100644 else if (bit_stride > 0) TYPE_LENGTH (result_type) = (bit_stride * (high_bound - low_bound + 1) + 7) / 8; -@@ -1888,12 +1898,12 @@ resolve_dynamic_range (struct type *dyn_range_type, +@@ -1912,12 +1922,12 @@ CORE_ADDR value; struct type *static_range_type, *static_target_type; const struct dynamic_prop *prop; @@ -868,7 +867,7 @@ index ec5c17a..eb83791 100644 { low_bound.kind = PROP_CONST; low_bound.data.const_val = value; -@@ -1905,7 +1915,7 @@ resolve_dynamic_range (struct type *dyn_range_type, +@@ -1929,7 +1939,7 @@ } prop = &TYPE_RANGE_DATA (dyn_range_type)->high; @@ -877,7 +876,7 @@ index ec5c17a..eb83791 100644 { high_bound.kind = PROP_CONST; high_bound.data.const_val = value; -@@ -1920,12 +1930,20 @@ resolve_dynamic_range (struct type *dyn_range_type, +@@ -1944,12 +1954,20 @@ high_bound.data.const_val = 0; } @@ -899,11 +898,11 @@ index ec5c17a..eb83791 100644 TYPE_RANGE_DATA (static_range_type)->flag_bound_evaluated = 1; return static_range_type; } -diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h -index 2dda074..bcc9200 100644 ---- a/gdb/gdbtypes.h -+++ b/gdb/gdbtypes.h -@@ -577,6 +577,10 @@ struct range_bounds +Index: gdb-7.99.90.20170420/gdb/gdbtypes.h +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.h 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/gdbtypes.h 2017-04-20 22:26:14.365446619 +0200 +@@ -551,6 +551,10 @@ struct dynamic_prop high; @@ -914,7 +913,7 @@ index 2dda074..bcc9200 100644 /* True if HIGH range bound contains the number of elements in the subrange. This affects how the final hight bound is computed. */ -@@ -739,7 +743,6 @@ struct main_type +@@ -713,7 +717,6 @@ /* * Union member used for range types. */ struct range_bounds *bounds; @@ -922,7 +921,7 @@ index 2dda074..bcc9200 100644 } flds_bnds; /* * Slot to point to additional language-specific fields of this -@@ -1255,6 +1258,15 @@ extern void allocate_gnat_aux_type (struct type *); +@@ -1228,6 +1231,15 @@ TYPE_RANGE_DATA(range_type)->high.kind #define TYPE_LOW_BOUND_KIND(range_type) \ TYPE_RANGE_DATA(range_type)->low.kind @@ -938,7 +937,7 @@ index 2dda074..bcc9200 100644 /* Property accessors for the type data location. */ #define TYPE_DATA_LOCATION(thistype) \ -@@ -1289,6 +1301,9 @@ extern void allocate_gnat_aux_type (struct type *); +@@ -1262,6 +1274,9 @@ TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype)) #define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) \ TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype)) @@ -948,7 +947,7 @@ index 2dda074..bcc9200 100644 #define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \ (TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype)))) -@@ -1783,6 +1798,7 @@ extern struct type *create_array_type_with_stride +@@ -1776,6 +1791,7 @@ extern struct type *create_range_type (struct type *, struct type *, const struct dynamic_prop *, @@ -956,11 +955,11 @@ index 2dda074..bcc9200 100644 const struct dynamic_prop *); extern struct type *create_array_type (struct type *, struct type *, -diff --git a/gdb/parse.c b/gdb/parse.c -index 2b00708..992af87 100644 ---- a/gdb/parse.c -+++ b/gdb/parse.c -@@ -1006,22 +1006,20 @@ operator_length_standard (const struct expression *expr, int endpos, +Index: gdb-7.99.90.20170420/gdb/parse.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/parse.c 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/parse.c 2017-04-20 22:26:14.366446625 +0200 +@@ -1007,22 +1007,20 @@ case OP_RANGE: oplen = 3; @@ -994,11 +993,11 @@ index 2b00708..992af87 100644 break; -diff --git a/gdb/rust-exp.y b/gdb/rust-exp.y -index aeb6058..b1b9633 100644 ---- a/gdb/rust-exp.y -+++ b/gdb/rust-exp.y -@@ -2429,23 +2429,17 @@ convert_ast_to_expression (struct parser_state *state, +Index: gdb-7.99.90.20170420/gdb/rust-exp.y +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/rust-exp.y 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/rust-exp.y 2017-04-20 22:26:14.366446625 +0200 +@@ -2409,23 +2409,17 @@ case OP_RANGE: { @@ -1025,11 +1024,11 @@ index aeb6058..b1b9633 100644 } write_exp_elt_opcode (state, OP_RANGE); write_exp_elt_longcst (state, kind); -diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c -index 17b20c6..295002f 100644 ---- a/gdb/rust-lang.c -+++ b/gdb/rust-lang.c -@@ -1241,9 +1241,9 @@ rust_range (struct expression *exp, int *pos, enum noside noside) +Index: gdb-7.99.90.20170420/gdb/rust-lang.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/rust-lang.c 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/rust-lang.c 2017-04-20 22:26:14.367446632 +0200 +@@ -1314,9 +1314,9 @@ kind = (enum range_type) longest_to_int (exp->elts[*pos + 1].longconst); *pos += 3; @@ -1041,7 +1040,7 @@ index 17b20c6..295002f 100644 high = evaluate_subexp (NULL_TYPE, exp, pos, noside); if (noside == EVAL_SKIP) -@@ -1332,7 +1332,7 @@ rust_compute_range (struct type *type, struct value *range, +@@ -1405,7 +1405,7 @@ *low = 0; *high = 0; @@ -1050,7 +1049,7 @@ index 17b20c6..295002f 100644 if (TYPE_NFIELDS (type) == 0) return; -@@ -1340,15 +1340,14 @@ rust_compute_range (struct type *type, struct value *range, +@@ -1413,15 +1413,14 @@ i = 0; if (strcmp (TYPE_FIELD_NAME (type, 0), "start") == 0) { @@ -1068,7 +1067,7 @@ index 17b20c6..295002f 100644 *high = value_as_long (value_field (range, i)); } } -@@ -1363,7 +1362,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside, +@@ -1436,7 +1435,7 @@ struct type *rhstype; LONGEST low, high_bound; /* Initialized to appease the compiler. */ @@ -1077,7 +1076,7 @@ index 17b20c6..295002f 100644 LONGEST high = 0; int want_slice = 0; -@@ -1425,7 +1424,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside, +@@ -1498,7 +1497,7 @@ error (_("Cannot subscript non-array type")); if (want_slice @@ -1086,7 +1085,7 @@ index 17b20c6..295002f 100644 low = low_bound; if (low < 0) error (_("Index less than zero")); -@@ -1443,7 +1442,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside, +@@ -1516,7 +1515,7 @@ CORE_ADDR addr; struct value *addrval, *tem; @@ -1095,11 +1094,10 @@ index 17b20c6..295002f 100644 high = high_bound; if (high < 0) error (_("High index less than zero")); -diff --git a/gdb/testsuite/gdb.fortran/static-arrays.exp b/gdb/testsuite/gdb.fortran/static-arrays.exp -new file mode 100644 -index 0000000..cc9ecc0 ---- /dev/null -+++ b/gdb/testsuite/gdb.fortran/static-arrays.exp +Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/static-arrays.exp +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/static-arrays.exp 2017-04-20 22:26:14.367446632 +0200 @@ -0,0 +1,421 @@ +# Copyright 2015 Free Software Foundation, Inc. +# @@ -1522,11 +1520,10 @@ index 0000000..cc9ecc0 +gdb_test "print ar1\(3:7\) = 42" \ + "Invalid cast." \ + "Assignment of value to subarray" -diff --git a/gdb/testsuite/gdb.fortran/static-arrays.f90 b/gdb/testsuite/gdb.fortran/static-arrays.f90 -new file mode 100644 -index 0000000..f22fcbe ---- /dev/null -+++ b/gdb/testsuite/gdb.fortran/static-arrays.f90 +Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/static-arrays.f90 +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/static-arrays.f90 2017-04-20 22:26:14.368446638 +0200 @@ -0,0 +1,55 @@ +! Copyright 2015 Free Software Foundation, Inc. +! @@ -1583,11 +1580,11 @@ index 0000000..f22fcbe +program testprog + call sub +end -diff --git a/gdb/testsuite/gdb.fortran/vla-ptype.exp b/gdb/testsuite/gdb.fortran/vla-ptype.exp -index 175661f..544d40a 100644 ---- a/gdb/testsuite/gdb.fortran/vla-ptype.exp -+++ b/gdb/testsuite/gdb.fortran/vla-ptype.exp -@@ -98,3 +98,7 @@ gdb_test "ptype vla2" "type = " "ptype vla2 not allocated" +Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-ptype.exp +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-ptype.exp 2017-04-20 22:26:14.368446638 +0200 +@@ -98,3 +98,7 @@ gdb_test "ptype vla2(5, 45, 20)" \ "no such vector element \\\(vector not allocated\\\)" \ "ptype vla2(5, 45, 20) not allocated" @@ -1595,11 +1592,11 @@ index 175661f..544d40a 100644 +gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"] +gdb_continue_to_breakpoint "vla1-neg-bounds" +gdb_test "ptype vla1" "type = $real \\(-2:1,-5:4,-3:-1\\)" "ptype vla1 negative bounds" -diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp b/gdb/testsuite/gdb.fortran/vla-sizeof.exp -index 8010c0a..f8258a1 100644 ---- a/gdb/testsuite/gdb.fortran/vla-sizeof.exp -+++ b/gdb/testsuite/gdb.fortran/vla-sizeof.exp -@@ -44,3 +44,7 @@ gdb_test "print sizeof(pvla)" " = 0" "print sizeof non-associated pvla" +Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-sizeof.exp +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-sizeof.exp 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-sizeof.exp 2017-04-20 22:26:14.368446638 +0200 +@@ -44,3 +44,7 @@ gdb_breakpoint [gdb_get_line_number "pvla-associated"] gdb_continue_to_breakpoint "pvla-associated" gdb_test "print sizeof(pvla)" " = 4000" "print sizeof associated pvla" @@ -1607,11 +1604,10 @@ index 8010c0a..f8258a1 100644 +gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"] +gdb_continue_to_breakpoint "vla1-neg-bounds" +gdb_test "print sizeof(vla1)" " = 480" "print sizeof vla1 negative bounds" -diff --git a/gdb/testsuite/gdb.fortran/vla-stride.exp b/gdb/testsuite/gdb.fortran/vla-stride.exp -new file mode 100644 -index 0000000..dcf15e5 ---- /dev/null -+++ b/gdb/testsuite/gdb.fortran/vla-stride.exp +Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-stride.exp +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-stride.exp 2017-04-20 22:26:14.368446638 +0200 @@ -0,0 +1,44 @@ +# Copyright 2016 Free Software Foundation, Inc. + @@ -1657,11 +1653,10 @@ index 0000000..dcf15e5 +gdb_continue_to_breakpoint "single-element" +gdb_test "print pvla" " = \\\(5\\\)" "print single-element" +gdb_test "print pvla(1)" " = 5" "print one single-element" -diff --git a/gdb/testsuite/gdb.fortran/vla-stride.f90 b/gdb/testsuite/gdb.fortran/vla-stride.f90 -new file mode 100644 -index 0000000..8d24252 ---- /dev/null -+++ b/gdb/testsuite/gdb.fortran/vla-stride.f90 +Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-stride.f90 +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-stride.f90 2017-04-20 22:26:14.368446638 +0200 @@ -0,0 +1,29 @@ +! Copyright 2016 Free Software Foundation, Inc. +! @@ -1692,11 +1687,11 @@ index 0000000..8d24252 + + pvla => null() ! single-element +end program vla_stride -diff --git a/gdb/testsuite/gdb.fortran/vla.f90 b/gdb/testsuite/gdb.fortran/vla.f90 -index c76d24c..ef307b7 100644 ---- a/gdb/testsuite/gdb.fortran/vla.f90 -+++ b/gdb/testsuite/gdb.fortran/vla.f90 -@@ -54,4 +54,14 @@ program vla +Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla.f90 +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla.f90 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla.f90 2017-04-20 22:26:14.368446638 +0200 +@@ -54,4 +54,14 @@ allocate (vla3 (2,2)) ! vla2-deallocated vla3(:,:) = 13 @@ -1711,35 +1706,34 @@ index c76d24c..ef307b7 100644 + l = allocated(vla1) + end program vla -diff --git a/gdb/valarith.c b/gdb/valarith.c -index de6fcfd..9753506 100644 ---- a/gdb/valarith.c -+++ b/gdb/valarith.c -@@ -193,11 +193,17 @@ value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound) +Index: gdb-7.99.90.20170420/gdb/valarith.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/valarith.c 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/valarith.c 2017-04-20 22:26:14.369446644 +0200 +@@ -193,10 +193,16 @@ struct type *array_type = check_typedef (value_type (array)); struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type)); ULONGEST elt_size = type_length_units (elt_type); - ULONGEST elt_offs = elt_size * (index - lowerbound); + LONGEST elt_offs = index - lowerbound; + LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type)); - struct value *v; - ++ + if (elt_stride != 0) + elt_offs *= elt_stride; + else + elt_offs *= elt_size; -+ + if (index < lowerbound || (!TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (array_type) - && elt_offs >= type_length_units (array_type))) + && abs (elt_offs) >= type_length_units (array_type))) { if (type_not_associated (array_type)) error (_("no such vector element (vector not associated)")); -diff --git a/gdb/valops.c b/gdb/valops.c -index 40392e8..24ffacb 100644 ---- a/gdb/valops.c -+++ b/gdb/valops.c -@@ -3775,56 +3775,191 @@ value_of_this_silent (const struct language_defn *lang) +Index: gdb-7.99.90.20170420/gdb/valops.c +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/valops.c 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/valops.c 2017-04-20 22:26:14.370446651 +0200 +@@ -3786,55 +3786,194 @@ struct value * value_slice (struct value *array, int lowbound, int length) { @@ -1789,6 +1783,10 @@ index 40392e8..24ffacb 100644 - range_type = TYPE_INDEX_TYPE (array_type); - if (get_discrete_bounds (range_type, &lowerbound, &upperbound) < 0) - error (_("slice from bad array or bitstring")); +- +- if (lowbound < lowerbound || length < 0 +- || lowbound + length - 1 > upperbound) +- error (_("slice out of range")); + ary_low_bound = TYPE_LOW_BOUND (TYPE_INDEX_TYPE (array_type)); + ary_high_bound = TYPE_HIGH_BOUND (TYPE_INDEX_TYPE (array_type)); + @@ -1814,10 +1812,7 @@ index 40392e8..24ffacb 100644 + + elt_size = TYPE_LENGTH (elt_type); + elt_offs = lowbound - ary_low_bound; - -- if (lowbound < lowerbound || length < 0 -- || lowbound + length - 1 > upperbound) -- error (_("slice out of range")); ++ + elt_offs *= elt_size; + + /* Check for valid user input. In case of Fortran this was already done @@ -1864,6 +1859,11 @@ index 40392e8..24ffacb 100644 - struct type *element_type = TYPE_TARGET_TYPE (array_type); - LONGEST offset - = (lowbound - lowerbound) * TYPE_LENGTH (check_typedef (element_type)); +- +- slice_type = create_array_type ((struct type *) NULL, +- element_type, +- slice_range_type); +- TYPE_CODE (slice_type) = TYPE_CODE (array_type); + struct type *element_type; + + /* When both CALL_COUNT and STRIDE_LENGTH equal 1, we can use the legacy @@ -1873,15 +1873,9 @@ index 40392e8..24ffacb 100644 + element_type = TYPE_TARGET_TYPE (array_type); + + slice_type = create_array_type (NULL, element_type, slice_range_type); - -- slice_type = create_array_type ((struct type *) NULL, -- element_type, -- slice_range_type); -- TYPE_CODE (slice_type) = TYPE_CODE (array_type); ++ + TYPE_CODE (slice_type) = TYPE_CODE (array_type); - -- if (VALUE_LVAL (array) == lval_memory && value_lazy (array)) -- slice = allocate_value_lazy (slice_type); ++ + if (VALUE_LVAL (array) == lval_memory && value_lazy (array)) + v = allocate_value_lazy (slice_type); + else @@ -1893,7 +1887,9 @@ index 40392e8..24ffacb 100644 + value_embedded_offset (array) + elt_offs, + elt_size * longest_to_int (length)); + } -+ + +- if (VALUE_LVAL (array) == lval_memory && value_lazy (array)) +- slice = allocate_value_lazy (slice_type); + } + /* With a CALL_COUNT or STRIDE_LENGTH are greater than 1 we are working + on a range of ranges. So we copy the relevant elements into the @@ -1949,11 +1945,13 @@ index 40392e8..24ffacb 100644 } - set_value_component_location (slice, array); -- VALUE_FRAME_ID (slice) = VALUE_FRAME_ID (array); - set_value_offset (slice, value_offset (array) + offset); + set_value_component_location (v, array); -+ VALUE_REGNUM (v) = VALUE_REGNUM (array); -+ VALUE_FRAME_ID (v) = VALUE_FRAME_ID (array); ++ if (VALUE_LVAL (v) == lval_register) ++ { ++ VALUE_REGNUM (v) = VALUE_REGNUM (array); ++ VALUE_NEXT_FRAME_ID (v) = VALUE_NEXT_FRAME_ID (array); ++ } + set_value_offset (v, value_offset (array) + elt_offs); } @@ -1962,11 +1960,11 @@ index 40392e8..24ffacb 100644 } /* Create a value for a FORTRAN complex number. Currently most of the -diff --git a/gdb/value.h b/gdb/value.h -index 0b417b4..9c37713 100644 ---- a/gdb/value.h -+++ b/gdb/value.h -@@ -1057,6 +1057,8 @@ extern struct value *varying_to_slice (struct value *); +Index: gdb-7.99.90.20170420/gdb/value.h +=================================================================== +--- gdb-7.99.90.20170420.orig/gdb/value.h 2017-04-20 22:25:43.973254685 +0200 ++++ gdb-7.99.90.20170420/gdb/value.h 2017-04-20 22:26:14.370446651 +0200 +@@ -1106,6 +1106,8 @@ extern struct value *value_slice (struct value *, int, int); diff --git a/gdb-vla-intel-fortran-vla-strings.patch b/gdb-vla-intel-fortran-vla-strings.patch index 43c5374..7c9851d 100644 --- a/gdb-vla-intel-fortran-vla-strings.patch +++ b/gdb-vla-intel-fortran-vla-strings.patch @@ -23,24 +23,24 @@ git diff --stat -p gdb/master...gdb/users/bheckel/fortran-vla-strings gdb/valprint.c | 6 -- 20 files changed, 827 insertions(+), 110 deletions(-) -Index: gdb-7.11.90.20160907/gdb/NEWS +Index: gdb-7.99.90.20170420/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 +--- gdb-7.99.90.20170420.orig/gdb/NEWS 2017-04-20 22:27:47.076032111 +0200 ++++ gdb-7.99.90.20170420/gdb/NEWS 2017-04-20 22:27:49.946050236 +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 + *** Changes since GDB 7.12 - * GDB and GDBserver now build with a C++ compiler by default. -Index: gdb-7.11.90.20160907/gdb/c-valprint.c + * GDB now supports access to the PKU register on GNU/Linux. The register is +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 +69,11 @@ Index: gdb-7.11.90.20160907/gdb/c-valprint.c 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 +83,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c /* memory allocation interface */ -@@ -11446,7 +11447,7 @@ +@@ -11557,7 +11558,7 @@ { newobj->static_link = XOBNEW (&objfile->objfile_obstack, struct dynamic_prop); @@ -92,7 +92,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c } 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 +198,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c 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 +208,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c { 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 +246,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c } 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 +277,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c 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 +285,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c + 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 +294,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c 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 +306,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c { /* 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 +315,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c 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 +324,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c 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 +333,10 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c 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 +346,9 @@ Index: gdb-7.11.90.20160907/gdb/f-typeprint.c 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 +365,16 @@ Index: gdb-7.11.90.20160907/gdb/f-typeprint.c 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 +383,7 @@ Index: gdb-7.11.90.20160907/gdb/f-typeprint.c { int upper_bound, lower_bound; -@@ -181,34 +169,50 @@ +@@ -183,34 +171,50 @@ fprintf_filtered (stream, "("); if (type_not_associated (type)) @@ -460,7 +460,7 @@ Index: gdb-7.11.90.20160907/gdb/f-typeprint.c 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 +477,7 @@ Index: gdb-7.11.90.20160907/gdb/f-typeprint.c 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 +486,11 @@ Index: gdb-7.11.90.20160907/gdb/f-typeprint.c 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 +500,7 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c 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 +508,7 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c { gdb_assert (TYPE_NFIELDS (type) == 1); -@@ -1962,7 +1964,8 @@ +@@ -1986,7 +1988,8 @@ struct type *ary_dim; struct dynamic_prop *prop; @@ -518,7 +518,7 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c type = copy_type (type); -@@ -1987,13 +1990,17 @@ +@@ -2011,13 +2014,17 @@ ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type)); @@ -539,7 +539,7 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c } /* Resolve dynamic bounds of members of the union TYPE to static -@@ -2123,6 +2130,28 @@ +@@ -2147,6 +2154,28 @@ return resolved_type; } @@ -568,7 +568,7 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c /* Worker for resolved_dynamic_type. */ static struct type * -@@ -2171,7 +2200,12 @@ +@@ -2195,7 +2224,12 @@ break; } @@ -581,10 +581,10 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c 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 . */ @@ -613,10 +613,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.cc + 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 +637,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.exp +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 +785,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.exp +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 +899,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.f90 + 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 +1004,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/print_type.exp + } +} +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 +1045,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-ptype.exp 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 +1153,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.exp + 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 +1197,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.f90 + 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 +1222,17 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-type.exp "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 . 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 +1278,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-value.exp "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 +1303,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-var-child-f.exp 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 +1405,11 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-vla-fortran.exp "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 +1435,11 @@ Index: gdb-7.11.90.20160907/gdb/typeprint.c 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 +1459,7 @@ Index: gdb-7.11.90.20160907/gdb/valops.c /* 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 +1469,11 @@ Index: gdb-7.11.90.20160907/gdb/valops.c 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; } diff --git a/gdb-vla-intel-stringbt-fix.patch b/gdb-vla-intel-stringbt-fix.patch index fc56139..5ca8251 100644 --- a/gdb-vla-intel-stringbt-fix.patch +++ b/gdb-vla-intel-stringbt-fix.patch @@ -27,40 +27,43 @@ cannot reproduce it. 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 + #include + #include ++#include + #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); ++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); + -+ make_cleanup (select_frame_cleanup, deprecated_safe_get_selected_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 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f9 + 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 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp +} + +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. +! diff --git a/gdb.changes b/gdb.changes index 951670b..d478998 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Apr 27 14:39:44 UTC 2017 - matz@suse.com + +- Rebase to gdb 7.99.90 (prerelease of gdb 8) +- 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 + ------------------------------------------------------------------- Mon Apr 3 12:48:42 UTC 2017 - rguenther@suse.com diff --git a/gdb.spec b/gdb.spec index 422b635..a2e4fa1 100644 --- a/gdb.spec +++ b/gdb.spec @@ -24,7 +24,7 @@ License: GPL-3.0+ and GPL-3.0-with-GCC-exception and LGPL-2.1+ and LGPL-3 Group: Development/Tools/Debuggers Name: gdb -Version: 7.12.1 +Version: 7.99.90.20170420 Release: 0 # The release always contains a leading reserved number, start it at 1. @@ -89,139 +89,135 @@ Source13: gdb-rpmlintrc #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 +Patch129: gdb-release-werror.patch +Patch130: gdb-testsuite-readline63-sigint.patch #Fedora Packages end # Upstream patch to fix gcc -Werror @@ -517,10 +513,6 @@ find -name "*.info*"|xargs rm -f %patch128 -p1 %patch129 -p1 %patch130 -p1 -%patch131 -p1 -%patch132 -p1 -%patch133 -p1 -%patch134 -p1 #Fedora patching end %patch1002 -p1 From 15e0c61e47d3b6dba32e0a79962d760e7f70eff54dd35ba0267752286e74bbac Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 1 May 2017 02:01:32 +0000 Subject: [PATCH 4/7] Support building on SLE-11 again. OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=160 --- ...-bz426600-DW_TAG_interface_type-test.patch | 707 ----------------- gdb-bison-old.patch | 44 -- gdb-testsuite-casts.patch | 80 -- gdb-testsuite-m-static.patch | 79 -- gdb-testsuite-morestack-gold.patch | 83 -- gdb-upstream.patch | 722 ------------------ gdb.changes | 9 +- gdb.spec | 56 +- 8 files changed, 50 insertions(+), 1730 deletions(-) delete mode 100644 gdb-6.7-bz426600-DW_TAG_interface_type-test.patch delete mode 100644 gdb-bison-old.patch delete mode 100644 gdb-testsuite-casts.patch delete mode 100644 gdb-testsuite-m-static.patch delete mode 100644 gdb-testsuite-morestack-gold.patch delete mode 100644 gdb-upstream.patch diff --git a/gdb-6.7-bz426600-DW_TAG_interface_type-test.patch b/gdb-6.7-bz426600-DW_TAG_interface_type-test.patch deleted file mode 100644 index f4e05f5..0000000 --- a/gdb-6.7-bz426600-DW_TAG_interface_type-test.patch +++ /dev/null @@ -1,707 +0,0 @@ -http://sourceware.org/ml/gdb-patches/2007-12/msg00397.html - -2007-12-22 Jan Kratochvil - - * gdb.arch/i386-interface.S, gdb.arch/i386-interface.exp: New files. - -2008-03-02 Jan Kratochvil - - * gdb.arch/i386-interface.exp: Fix a testcase race. - -Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/i386-interface.S -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/i386-interface.S 2016-02-15 23:23:03.318502357 +0100 -@@ -0,0 +1,628 @@ -+/* Copyright 2007 Free Software Foundation, Inc. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 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 . -+ -+ Please email any bugs, comments, and/or additions to this file to: -+ bug-gdb@gnu.org -+ -+ This file is part of the gdb testsuite. -+ -+ This file was produced by: -+ $ gcj -S interface.java -ggdb2 -Wall -m32 -+ from the .java file: -+ interface Interface -+ { -+ } -+ class Class implements Interface -+ { -+ } -+*/ -+ -+ .file "cc28Pp2B.jar" -+ .section .debug_abbrev,"",@progbits -+.Ldebug_abbrev0: -+ .section .debug_info,"",@progbits -+.Ldebug_info0: -+ .section .debug_line,"",@progbits -+.Ldebug_line0: -+ .text -+.Ltext0: -+ .local _MT_Interface -+ .comm _MT_Interface,0,4 -+ .data -+ .align 4 -+ .type _catch_classes_Interface, @object -+ .size _catch_classes_Interface, 24 -+_catch_classes_Interface: -+ .zero 24 -+ .section .rodata -+ .align 2 -+ .type _Utf1, @object -+ .size _Utf1, 4 -+_Utf1: -+ .value 36121 -+ .value 9 -+ .ascii "Interface" -+ .zero 1 -+.globl _ZN9Interface6class$E -+ .data -+ .align 32 -+ .type _ZN9Interface6class$E, @object -+ .size _ZN9Interface6class$E, 144 -+_ZN9Interface6class$E: -+ .long _ZTVN4java4lang5ClassE+8 -+ .long 403000 -+ .long _Utf1 -+ .value 1536 -+ .zero 2 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long _MT_Interface -+ .value 0 -+ .value 6 -+ .long 0 -+ .long 4 -+ .value 0 -+ .value 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long _catch_classes_Interface -+ .long 0 -+ .long 0 -+ .value 0 -+ .byte 1 -+ .zero 1 -+ .long 0 -+ .value 0 -+ .zero 2 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .hidden _ZN9Interface7class$$E -+.globl _ZN9Interface7class$$E -+ .section .rodata -+ .align 4 -+ .type _ZN9Interface7class$$E, @object -+ .size _ZN9Interface7class$$E, 4 -+_ZN9Interface7class$$E: -+ .long _ZN9Interface6class$E -+ .text -+ .align 2 -+.globl _ZN5ClassC1Ev -+ .type _ZN5ClassC1Ev, @function -+_ZN5ClassC1Ev: -+.LFB2: -+ pushl %ebp -+.LCFI0: -+ movl %esp, %ebp -+.LCFI1: -+ subl $24, %esp -+.LCFI2: -+.LBB2: -+#if 0 -+ .file 1 "interface.java" -+#else -+ .file "interface.java" -+#endif -+ .loc 1 4 0 -+ movl 8(%ebp), %eax -+ movl %eax, -4(%ebp) -+ movl -4(%ebp), %eax -+ movl %eax, (%esp) -+ call _ZN4java4lang6ObjectC1Ev -+.LBE2: -+ leave -+ ret -+.LFE2: -+ .size _ZN5ClassC1Ev, .-_ZN5ClassC1Ev -+ .hidden _ZTVN5ClassE -+.globl _ZTVN5ClassE -+ .data -+ .align 32 -+ .type _ZTVN5ClassE, @object -+ .size _ZTVN5ClassE, 40 -+_ZTVN5ClassE: -+ .long 0 -+ .long 0 -+ .long _ZN5Class6class$E -+ .long 4 -+ .long _ZN4java4lang6Object8finalizeEJvv -+ .long _ZN4java4lang6Object8hashCodeEJiv -+ .long _ZN4java4lang6Object6equalsEJbPS1_ -+ .long _ZN4java4lang6Object8toStringEJPNS0_6StringEv -+ .long _ZN4java4lang6Object5cloneEJPS1_v -+ .long _ZN4java4lang6Object22throwNoSuchMethodErrorEJvv -+ .set .L_ZN5ClassC1Ev0,_ZN5ClassC1Ev -+ .section .rodata -+ .align 2 -+ .type _Utf2, @object -+ .size _Utf2, 4 -+_Utf2: -+ .value 626 -+ .value 6 -+ .ascii "" -+ .zero 1 -+ .align 2 -+ .type _Utf3, @object -+ .size _Utf3, 4 -+_Utf3: -+ .value 39797 -+ .value 3 -+ .ascii "()V" -+ .zero 1 -+ .data -+ .align 4 -+ .type _MT_Class, @object -+ .size _MT_Class, 20 -+_MT_Class: -+ .long _Utf2 -+ .long _Utf3 -+ .value 16384 -+ .value -1 -+ .long .L_ZN5ClassC1Ev0 -+ .long 0 -+ .align 4 -+ .type _IF_Class, @object -+ .size _IF_Class, 4 -+_IF_Class: -+ .long _ZN9Interface6class$E -+ .align 4 -+ .type _catch_classes_Class, @object -+ .size _catch_classes_Class, 24 -+_catch_classes_Class: -+ .zero 24 -+ .section .rodata -+ .align 2 -+ .type _Utf4, @object -+ .size _Utf4, 4 -+_Utf4: -+ .value 47448 -+ .value 5 -+ .ascii "Class" -+ .zero 1 -+.globl _ZN5Class6class$E -+ .data -+ .align 32 -+ .type _ZN5Class6class$E, @object -+ .size _ZN5Class6class$E, 144 -+_ZN5Class6class$E: -+ .long _ZTVN4java4lang5ClassE+8 -+ .long 403000 -+ .long _Utf4 -+ .value 32 -+ .zero 2 -+ .long _ZN4java4lang6Object6class$E -+ .long 0 -+ .long 0 -+ .long 0 -+ .long _MT_Class -+ .value 1 -+ .value 6 -+ .long 0 -+ .long 4 -+ .value 0 -+ .value 0 -+ .long _ZTVN5ClassE+8 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long _catch_classes_Class -+ .long _IF_Class -+ .long 0 -+ .value 1 -+ .byte 1 -+ .zero 1 -+ .long 0 -+ .value 0 -+ .zero 2 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .long 0 -+ .hidden _ZN5Class7class$$E -+.globl _ZN5Class7class$$E -+ .section .rodata -+ .align 4 -+ .type _ZN5Class7class$$E, @object -+ .size _ZN5Class7class$$E, 4 -+_ZN5Class7class$$E: -+ .long _ZN5Class6class$E -+ .section .jcr,"aw",@progbits -+ .align 4 -+ .long _ZN9Interface6class$E -+ .long _ZN5Class6class$E -+ .section .debug_frame,"",@progbits -+.Lframe0: -+ .long .LECIE0-.LSCIE0 -+.LSCIE0: -+ .long 0xffffffff -+ .byte 0x1 -+ .string "" -+ .uleb128 0x1 -+ .sleb128 -4 -+ .byte 0x8 -+ .byte 0xc -+ .uleb128 0x4 -+ .uleb128 0x4 -+ .byte 0x88 -+ .uleb128 0x1 -+ .align 4 -+.LECIE0: -+.LSFDE0: -+ .long .LEFDE0-.LASFDE0 -+.LASFDE0: -+ .long .Lframe0 -+ .long .LFB2 -+ .long .LFE2-.LFB2 -+ .byte 0x4 -+ .long .LCFI0-.LFB2 -+ .byte 0xe -+ .uleb128 0x8 -+ .byte 0x85 -+ .uleb128 0x2 -+ .byte 0x4 -+ .long .LCFI1-.LCFI0 -+ .byte 0xd -+ .uleb128 0x5 -+ .align 4 -+.LEFDE0: -+ .section .eh_frame,"a",@progbits -+.Lframe1: -+ .long .LECIE1-.LSCIE1 -+.LSCIE1: -+ .long 0x0 -+ .byte 0x1 -+.globl __gcj_personality_v0 -+ .string "zP" -+ .uleb128 0x1 -+ .sleb128 -4 -+ .byte 0x8 -+ .uleb128 0x5 -+ .byte 0x0 -+ .long __gcj_personality_v0 -+ .byte 0xc -+ .uleb128 0x4 -+ .uleb128 0x4 -+ .byte 0x88 -+ .uleb128 0x1 -+ .align 4 -+.LECIE1: -+.LSFDE1: -+ .long .LEFDE1-.LASFDE1 -+.LASFDE1: -+ .long .LASFDE1-.Lframe1 -+ .long .LFB2 -+ .long .LFE2-.LFB2 -+ .uleb128 0x0 -+ .byte 0x4 -+ .long .LCFI0-.LFB2 -+ .byte 0xe -+ .uleb128 0x8 -+ .byte 0x85 -+ .uleb128 0x2 -+ .byte 0x4 -+ .long .LCFI1-.LCFI0 -+ .byte 0xd -+ .uleb128 0x5 -+ .align 4 -+.LEFDE1: -+ .text -+.Letext0: -+ .section .debug_loc,"",@progbits -+.Ldebug_loc0: -+.LLST0: -+ .long .LFB2-.Ltext0 -+ .long .LCFI0-.Ltext0 -+ .value 0x2 -+ .byte 0x74 -+ .sleb128 4 -+ .long .LCFI0-.Ltext0 -+ .long .LCFI1-.Ltext0 -+ .value 0x2 -+ .byte 0x74 -+ .sleb128 8 -+ .long .LCFI1-.Ltext0 -+ .long .LFE2-.Ltext0 -+ .value 0x2 -+ .byte 0x75 -+ .sleb128 8 -+ .long 0x0 -+ .long 0x0 -+ .section .debug_info -+ .long 0x117 -+ .value 0x2 -+ .long .Ldebug_abbrev0 -+ .byte 0x4 -+ .uleb128 0x1 -+ .string "GNU Java 4.3.0 20071221 (experimental)" -+ .byte 0xb -+ .string "interface.java" -+ .string "/home/jkratoch/redhat/bz371831" -+ .long .Ltext0 -+ .long .Letext0 -+ .long .Ldebug_line0 -+ .uleb128 0x2 -+ .string "Interface" -+ .byte 0x4 -+ .byte 0x1 -+ .byte 0x0 -+ .long 0x8e -+ .long 0x8e -+ .uleb128 0x3 -+ .long 0x8e -+ .byte 0x2 -+ .byte 0x23 -+ .uleb128 0x0 -+ .byte 0x1 -+ .byte 0x0 -+ .uleb128 0x4 -+ .string "java.lang.Object" -+ .byte 0x1 -+ .uleb128 0x5 -+ .string "Class" -+ .byte 0x4 -+ .byte 0x1 -+ .byte 0x0 -+ .long 0x8e -+ .long 0xe8 -+ .uleb128 0x3 -+ .long 0x8e -+ .byte 0x2 -+ .byte 0x23 -+ .uleb128 0x0 -+ .byte 0x1 -+ .uleb128 0x6 -+ .long 0x6e -+ .byte 0x2 -+ .byte 0x23 -+ .uleb128 0x0 -+ .byte 0x1 -+ .byte 0x1 -+ .uleb128 0x7 -+ .byte 0x1 -+ .string "" -+ .byte 0x1 -+ .byte 0x0 -+ .string "_ZN5ClassC1Ev" -+ .byte 0x1 -+ .uleb128 0x8 -+ .long 0xe8 -+ .byte 0x1 -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x9 -+ .byte 0x4 -+ .long 0xa1 -+ .uleb128 0xa -+ .long 0xc6 -+ .long .LFB2 -+ .long .LFE2 -+ .long .LLST0 -+ .long 0x114 -+ .uleb128 0xb -+ .long 0xe8 -+ .byte 0x2 -+ .byte 0x91 -+ .sleb128 0 -+ .uleb128 0xc -+ .long 0x114 -+ .byte 0x2 -+ .byte 0x91 -+ .sleb128 -12 -+ .byte 0x0 -+ .uleb128 0x9 -+ .byte 0x4 -+ .long 0x8e -+ .byte 0x0 -+ .section .debug_abbrev -+ .uleb128 0x1 -+ .uleb128 0x11 -+ .byte 0x1 -+ .uleb128 0x25 -+ .uleb128 0x8 -+ .uleb128 0x13 -+ .uleb128 0xb -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x1b -+ .uleb128 0x8 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x1 -+ .uleb128 0x10 -+ .uleb128 0x6 -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x2 -+ .uleb128 0x38 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1d -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x3 -+ .uleb128 0x1c -+ .byte 0x0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xa -+ .uleb128 0x32 -+ .uleb128 0xb -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x4 -+ .uleb128 0x2 -+ .byte 0x0 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3c -+ .uleb128 0xc -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x5 -+ .uleb128 0x2 -+ .byte 0x1 -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x1d -+ .uleb128 0x13 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x6 -+ .uleb128 0x1c -+ .byte 0x0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x38 -+ .uleb128 0xa -+ .uleb128 0x4c -+ .uleb128 0xb -+ .uleb128 0x32 -+ .uleb128 0xb -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x7 -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x3f -+ .uleb128 0xc -+ .uleb128 0x3 -+ .uleb128 0x8 -+ .uleb128 0x3a -+ .uleb128 0xb -+ .uleb128 0x3b -+ .uleb128 0xb -+ .uleb128 0x2007 -+ .uleb128 0x8 -+ .uleb128 0x3c -+ .uleb128 0xc -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x8 -+ .uleb128 0x5 -+ .byte 0x0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x34 -+ .uleb128 0xc -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0x9 -+ .uleb128 0xf -+ .byte 0x0 -+ .uleb128 0xb -+ .uleb128 0xb -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0xa -+ .uleb128 0x2e -+ .byte 0x1 -+ .uleb128 0x47 -+ .uleb128 0x13 -+ .uleb128 0x11 -+ .uleb128 0x1 -+ .uleb128 0x12 -+ .uleb128 0x1 -+ .uleb128 0x40 -+ .uleb128 0x6 -+ .uleb128 0x1 -+ .uleb128 0x13 -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0xb -+ .uleb128 0x5 -+ .byte 0x0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x2 -+ .uleb128 0xa -+ .byte 0x0 -+ .byte 0x0 -+ .uleb128 0xc -+ .uleb128 0x34 -+ .byte 0x0 -+ .uleb128 0x49 -+ .uleb128 0x13 -+ .uleb128 0x2 -+ .uleb128 0xa -+ .byte 0x0 -+ .byte 0x0 -+ .byte 0x0 -+ .section .debug_pubnames,"",@progbits -+ .long 0x15 -+ .value 0x2 -+ .long .Ldebug_info0 -+ .long 0x11b -+ .long 0xee -+ .string "()" -+ .long 0x0 -+ .section .debug_aranges,"",@progbits -+ .long 0x1c -+ .value 0x2 -+ .long .Ldebug_info0 -+ .byte 0x4 -+ .byte 0x0 -+ .value 0x0 -+ .value 0x0 -+ .long .Ltext0 -+ .long .Letext0-.Ltext0 -+ .long 0x0 -+ .long 0x0 -+ .ident "GCC: (GNU) 4.3.0 20071221 (experimental)" -+ .section .note.GNU-stack,"",@progbits -Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/i386-interface.exp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/i386-interface.exp 2016-02-15 23:23:15.978593556 +0100 -@@ -0,0 +1,59 @@ -+# Copyright 2007 Free Software Foundation, Inc. -+ -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 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 . -+ -+# Please email any bugs, comments, and/or additions to this file to: -+# bug-gdb@gnu.org -+ -+# This file is part of the gdb testsuite. -+ -+# Test basis recognization of DW_TAG_interface_type. -+# GCC java_classify_record() produces it if returns RECORD_IS_INTERFACE. -+ -+if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} then { -+ verbose "Skipping i386 Java DW_TAG_interface_type test." -+ return -+} -+ -+set testfile "i386-interface" -+set srcfile ${testfile}.S -+set binfile [standard_output_file ${testfile}.o] -+ -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug additional_flags=-m32}] != "" } { -+ untested i386-gnu-cfi.exp -+ return -1 -+} -+ -+# Get things started. -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+gdb_test "set language java" -+ -+set test "ptype Interface" -+gdb_test_multiple $test $test { -+ -re "type = class Interface *extends java.lang.Object \{.*$gdb_prompt $" { -+ pass $test -+ } -+} -+ -+set test "ptype Class" -+gdb_test_multiple $test $test { -+ -re "type = class Class *extends java.lang.Object implements Interface \{.*$gdb_prompt $" { -+ pass $test -+ } -+} diff --git a/gdb-bison-old.patch b/gdb-bison-old.patch deleted file mode 100644 index 85701b1..0000000 --- a/gdb-bison-old.patch +++ /dev/null @@ -1,44 +0,0 @@ -bison-3.0.4-4.fc24.x86_64 -vs. -bison-2.7-4.el7.x86_64 - -bison: -8d0b7cef7df7fead44b9574cee342de336008625 tags/v3.0.1~2 - parsers: rename YY_NULL as YY_NULLPTR to avoid conflicts with Flex - -ada-lex.c:113:0: error: "YY_NULL" redefined [-Werror] - #define YY_NULL 0 - -ada-exp.c:158:0: note: this is the location of the previous definition - # define YY_NULL nullptr - -*-exp.c cp-name-parser.c -vs. -ada-lex.c - -# ifndef YY_NULL -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULL nullptr -# else -# define YY_NULL 0 -# endif -# endif - -# ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr -# else -# define YY_NULLPTR 0 -# endif -# endif - ---- gdb-clean712/gdb/Makefile.in 2016-08-29 09:16:15.505393928 +0200 -+++ gdb-clean712/gdb/Makefile.in 2016-09-07 13:32:34.744270346 +0200 -@@ -1900,6 +1945,7 @@ po/$(PACKAGE).pot: force - -e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \ - -e 's/\([ \t;,(]\)free$$/\1xfree/g' \ - -e '/^#line.*y.tab.c/d' \ -+ -e 's/\/YY_NULLPTR/g' \ - < $@.tmp > $@ - rm -f $@.tmp - .l.c: diff --git a/gdb-testsuite-casts.patch b/gdb-testsuite-casts.patch deleted file mode 100644 index 3d68c49..0000000 --- a/gdb-testsuite-casts.patch +++ /dev/null @@ -1,80 +0,0 @@ -http://sourceware.org/ml/gdb-patches/2016-09/msg00082.html -Subject: [testsuite patch] Fix false FAIL in gdb.cp/casts.exp - - ---ikeVEW9yuYc//A+q -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline - -Hi, - -gcc-6.2.1-1.fc26.x86_64 - -gdb compile failed, /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:10: error: expected primary-expression before 'int' - decltype(int x) - ^~~ -/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:10: error: expected ')' before 'int' -/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:1: error: expected unqualified-id before 'decltype' - decltype(int x) - ^~~~~~~~ -/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc: In function 'int main(int, char**)': -/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:59:14: error: expected primary-expression before 'decltype' - double y = decltype(2); - ^~~~~~~~ - -'decltype' is a registered keyword since C++11 which is now a default for GCC. - -OK for check-in? - - -Jan - ---ikeVEW9yuYc//A+q -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline; filename=1 - -gdb/testsuite/ChangeLog -2016-09-11 Jan Kratochvil - - * gdb.cp/casts.cc: Rename decltype to int_to_double. - * gdb.cp/casts.exp (whatis decltype(5)): Rename to ... - (whatis int_to_double(5)): ... here. - -diff --git a/gdb/testsuite/gdb.cp/casts.cc b/gdb/testsuite/gdb.cp/casts.cc -index 43f112f..4f68ba0 100644 ---- a/gdb/testsuite/gdb.cp/casts.cc -+++ b/gdb/testsuite/gdb.cp/casts.cc -@@ -37,7 +37,7 @@ struct DoublyDerived : public VirtuallyDerived, - // Confuse a simpler approach. - - double --decltype(int x) -+int_to_double(int x) - { - return x + 2.0; - } -@@ -56,7 +56,7 @@ main (int argc, char **argv) - Alpha *ad = &derived; - Alpha *add = &doublyderived; - -- double y = decltype(2); -+ double y = int_to_double(2); - - return 0; /* breakpoint spot: casts.exp: 1 */ - } -diff --git a/gdb/testsuite/gdb.cp/casts.exp b/gdb/testsuite/gdb.cp/casts.exp -index 34a2492..5798098 100644 ---- a/gdb/testsuite/gdb.cp/casts.exp -+++ b/gdb/testsuite/gdb.cp/casts.exp -@@ -112,7 +112,7 @@ gdb_test "print reinterpret_cast (*b)" " = \\(A \\&\\) @$hex: {a = 42}" \ - - # Test that keyword shadowing works. - --gdb_test "whatis decltype(5)" " = double" -+gdb_test "whatis int_to_double(5)" " = double" - - # Basic tests using typeof. - - ---ikeVEW9yuYc//A+q-- - diff --git a/gdb-testsuite-m-static.patch b/gdb-testsuite-m-static.patch deleted file mode 100644 index 1690c77..0000000 --- a/gdb-testsuite-m-static.patch +++ /dev/null @@ -1,79 +0,0 @@ -http://sourceware.org/ml/gdb-patches/2016-09/msg00083.html -Subject: [testsuite patch] Fix C++11 compilation failure for gdb.cp/m-static.exp - - ---y0ulUmNC+osPPQO6 -Content-Type: text/plain; charset=iso-2022-jp -Content-Disposition: inline - -Hi, - -gcc-6.2.1-1.fc26.x86_64 - -g++ -std=c++03: -no warnings - -g++: -In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:0: -/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:34: error: $B!F(Bconstexpr$B!G(B needed for in-class initialization of static data member $B!F(Bconst float gnu_obj_4::somewhere$B!G(B of non-integral type [-fpermissive] - static const float somewhere = 3.14159; - ^~~~~~~ - -clang++: -In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79: -/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: warning: in-class initializer for static data member of type 'const float' is a GNU extension [-Wgnu-static-float-init] - static const float somewhere = 3.14159; - ^ ~~~~~~~ -1 warning generated. - -clang++ -std=c++11: -In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79: -/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: error: in-class initializer for static data member of type 'const float' requires 'constexpr' specifier [-Wstatic-float-init] - static const float somewhere = 3.14159; - ^ ~~~~~~~ -/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:3: note: add 'constexpr' - static const float somewhere = 3.14159; - ^ - constexpr -1 error generated. - -OK for check-in? - -After the fix out of the 4 combinations above only this one remains non-empty: - -clang++: -In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79: -/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: warning: in-class initializer for static data member of type 'const float' is a GNU extension [-Wgnu-static-float-init] - static const float somewhere = 3.14159; - ^ ~~~~~~~ -1 warning generated. - - -Jan - ---y0ulUmNC+osPPQO6 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline; filename=1 - -gdb/testsuite/ChangeLog -2016-09-11 Jan Kratochvil - - * gdb.cp/m-static.h (gnu_obj_4::somewhere): Use constexpr for C++11. - -diff --git a/gdb/testsuite/gdb.cp/m-static.h b/gdb/testsuite/gdb.cp/m-static.h -index bcedfff..2992463 100644 ---- a/gdb/testsuite/gdb.cp/m-static.h -+++ b/gdb/testsuite/gdb.cp/m-static.h -@@ -6,6 +6,9 @@ class gnu_obj_4 - static const int elsewhere; - static const int nowhere; - static const int everywhere = 317; -+#if __cplusplus >= 201103L -+ constexpr -+#endif - static const float somewhere = 3.14159; - - // try to ensure test4 is actually allocated - ---y0ulUmNC+osPPQO6-- - diff --git a/gdb-testsuite-morestack-gold.patch b/gdb-testsuite-morestack-gold.patch deleted file mode 100644 index 8cfab1b..0000000 --- a/gdb-testsuite-morestack-gold.patch +++ /dev/null @@ -1,83 +0,0 @@ -http://sourceware.org/ml/gdb-patches/2016-10/msg00652.html -Subject: [testsuite patch] Fix false FAIL for gdb.base/morestack.exp - - ---HlL+5n6rz5pIUxbD -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline - -Hi, - -since - [commit] [testsuite patch] Fix gcc_compiled for gcc 6 & 7 - https://sourceware.org/ml/gdb-patches/2016-10/msg00620.html - -there has started running again - Running gdb/testsuite/gdb.base/morestack.exp ... - +FAIL: gdb.base/morestack.exp: continue - +PASS: gdb.base/morestack.exp: up 3000 - -but as you can see it FAILs now - on Fedora 24 x86_64 (although for example it -still PASSes on CentOS-7.2 x86_64). - -Program received signal SIGSEGV, Segmentation fault. -0x00007ffff787c7bb in malloc_consolidate (av=av@entry=0x7ffff7bbcb00 ) at malloc.c:4181 -4181 unlink(av, nextchunk, bck, fwd); -(gdb) bt -#0 0x00007ffff787c7bb in malloc_consolidate (av=av@entry=0x7ffff7bbcb00 ) at malloc.c:4181 -#1 0x00007ffff787f235 in _int_malloc (av=av@entry=0x7ffff7bbcb00 , bytes=bytes@entry=1024) at malloc.c:3448 -[...] -#8 0x00007ffff784c5ac in _IO_vfprintf_internal (s=0x7ffff7bbd600 <_IO_2_1_stdout_>, format=, ap=ap@entry=0x7ffff77fd7f8) at vfprintf.c:1631 -#9 0x00007ffff7853939 in __printf (format=) at printf.c:33 -#10 0x0000000000400d6b in down () -#11 0x0000000000400f2c in __morestack () -#12 0x0000000000400dda in down () -[...] - -This apparently is due to - man gcc - -fsplit-stack: - When code compiled with -fsplit-stack calls code compiled without - -fsplit-stack, there may not be much stack space available for the - latter code to run. If compiling all code, including library code, - with -fsplit-stack is not an option, then the linker can fix up these - calls so that the code compiled without -fsplit-stack always has - a large stack. Support for this is implemented in the gold linker in - GNU binutils release 2.21 and later. - -Personally I do not understand why gold is not the default linker as GNU ld is -unusably slow (6x) for C++ but that is off-topic here. - -OK for check-in? - - -Thanks, -Jan - ---HlL+5n6rz5pIUxbD -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline; filename=1 - -gdb/testsuite/ChangeLog -2016-10-22 Jan Kratochvil - - * gdb.base/morestack.exp: Try to build it using -fuse-ld=gold first. - -diff --git a/gdb/testsuite/gdb.base/morestack.exp b/gdb/testsuite/gdb.base/morestack.exp -index 12f5d28..caa85b8 100644 ---- a/gdb/testsuite/gdb.base/morestack.exp -+++ b/gdb/testsuite/gdb.base/morestack.exp -@@ -23,7 +23,11 @@ if {$gcc_compiled == 0} { - - standard_testfile - --if { [prepare_for_testing ${testfile}.exp ${testfile} $srcfile {additional_flags=-fsplit-stack}] } { -+# -fuse-ld=gold is used for calling printf code built without -fsplit-stack -+# which could crash otherise. See GCC documentation of -fsplit-stack. -+set opts "additional_flags=-fsplit-stack" -+if { [prepare_for_testing ${testfile}.exp ${testfile} $srcfile [list $opts additional_flags=-fuse-ld=gold]] \ -+ && [prepare_for_testing ${testfile}.exp ${testfile} $srcfile $opts] } { - return -1 - } - - ---HlL+5n6rz5pIUxbD-- - diff --git a/gdb-upstream.patch b/gdb-upstream.patch deleted file mode 100644 index 6d351aa..0000000 --- a/gdb-upstream.patch +++ /dev/null @@ -1,722 +0,0 @@ -commit 2c29df25b7c2ff006b45afd80ee6dd734ebbd47c -Author: Sergio Durigan Junior -Date: Sun Sep 11 16:53:09 2016 -0400 - - Fix false FAIL on gdb.base/stap-probe.exp, due to ICF optimization - - GCC 6's ICF optimization pass is making the declaration of 'm1' and - 'm2', on gdb.base/stap-probe.c, to be unified. However, this leads to - only one instance of the probe 'two' being created, which causes a - failure on the testsuite (which expects a multi-location breakpoint to - be inserted on the probe). - - This patch fixes this failure by declaring a dummy variable on 'm1', - and using it as an argument to m1's version of probe 'two'. Since we - do not care about the contents of the functions nor about the - arguments of each probe 'two', this is OK. - - gdb/testsuite/ChangeLog: - 2016-09-11 Sergio Durigan Junior - Jan Kratochvil - - * gdb.base/stap-probe.c (m1): New variable 'dummy', necessary to - make m1's definition to be different from m2's. Use 'dummy' as an - argument for probe 'two'. - -### a/gdb/testsuite/ChangeLog -### b/gdb/testsuite/ChangeLog -## -1,3 +1,10 @@ -+2016-09-11 Sergio Durigan Junior -+ Jan Kratochvil -+ -+ * gdb.base/stap-probe.c (m1): New variable 'dummy', necessary to -+ make m1's definition to be different from m2's. Use 'dummy' as an -+ argument for probe 'two'. -+ - 2016-09-10 Jon Beniston - - * lib/mi-support.exp (mi_gdb_target_load): Use target_sim_options ---- a/gdb/testsuite/gdb.base/stap-probe.c -+++ b/gdb/testsuite/gdb.base/stap-probe.c -@@ -53,8 +53,13 @@ struct funcs - static void - m1 (void) - { -+ /* m1 and m2 are equivalent, but because of some compiler -+ optimizations we have to make each of them unique. This is why -+ we have this dummy variable here. */ -+ volatile int dummy = 0; -+ - if (TEST2) -- STAP_PROBE (test, two); -+ STAP_PROBE1 (test, two, dummy); - } - - static void - - -commit f389f6fef76d7cf8e8beb7061edff2155c284898 -Author: Jan Kratochvil -Date: Wed Oct 5 21:56:46 2016 +0200 - - testsuite: Fix recent GCC FAIL: gdb.arch/i386-signal.exp - - gcc-6.2.1-2.fc24.x86_64 - - (gdb) backtrace 10^M - (gdb) FAIL: gdb.arch/i386-signal.exp: backtrace 10 - - (gdb) disas/s - Dump of assembler code for function main: - .../gdb/testsuite/gdb.arch/i386-signal.c: - 30 { - 0x000000000040057f <+0>: push %rbp - 0x0000000000400580 <+1>: mov %rsp,%rbp - 31 setup (); - 0x0000000000400583 <+4>: callq 0x400590 - => 0x0000000000400588 <+9>: mov $0x0,%eax - 32 } - 0x000000000040058d <+14>: pop %rbp - 0x000000000040058e <+15>: retq - End of assembler dump. - - The .exp patch is an obvious typo fix I think. The regex was written to - accept "ADDR in main" and I find it OK as checking .debug_line validity is not - the purpose of this testfile. - - gcc-4.8.5-11.el7.x86_64 did not put the 'mov $0x0,%eax' instruction there at - all so there was no problem with .debug_line. - - gdb/testsuite/ChangeLog - 2016-10-05 Jan Kratochvil - - * gdb.arch/i386-signal.exp (backtrace 10): Fix #2 typo. - -### a/gdb/testsuite/ChangeLog -### b/gdb/testsuite/ChangeLog -## -1,3 +1,7 @@ -+2016-10-05 Jan Kratochvil -+ -+ * gdb.arch/i386-signal.exp (backtrace 10): Fix #2 typo. -+ - 2016-10-05 Yao Qi - - * lib/gdb.exp (support_complex_tests): Return zero if ---- a/gdb/testsuite/gdb.arch/i386-signal.exp -+++ b/gdb/testsuite/gdb.arch/i386-signal.exp -@@ -35,6 +35,6 @@ gdb_load ${binfile} - - runto func - gdb_test "backtrace 10" \ -- "#0 ($hex in )?func.*\r\n#1 \r\n#2 ($hex in)?main.*" -+ "#0 ($hex in )?func.*\r\n#1 \r\n#2 ($hex in )?main.*" - - gdb_test "finish" "Run till exit from \#0 func.*" - - -commit 20c2c024c1e89e402a57e8c3577fb9777709d9a4 -Author: Carl E. Love -Date: Fri Aug 19 11:06:38 2016 -0700 - - Fix missing files for ld when test suite not compiled in the source directory - - This patch fixes an issues with six test suite expect files that do not - run correctly when the test suite is not built in the source directory. The - issue is these tests are not using the current "standard_testfile" call - but rather using the older set command to initialize the "testfile", - "srcfile" and "binprefix" variables or are missing the set for the - "binprefix" variable. - - ----------------------------------------------- - - gdb/testsuite/ChangeLog - - 2016-08-19 Carl Love - - * gdb.arch/altivec-regs.exp: Use standard_testfile instead of - maintaining separate logic for constructing the output path. - * gdb.arch/powerpc-d128-regs.exp: Likewise. - * gdb.arch/ppc-dfp.exp: Likewise. - * gdb.arch/ppc-fp.exp: Likewise. - * gdb.arch/vsx-regs.exp: Likewise. - * gdb.arch/altivec-abi.exp: Likewise, plus added local variable - binprefix for generating the additional binary files. - -### a/gdb/testsuite/ChangeLog -### b/gdb/testsuite/ChangeLog -## -1,3 +1,14 @@ -+2016-08-19 Carl Love -+ -+ * gdb.arch/altivec-regs.exp: Use standard_testfile instead of -+ maintaining separate logic for constructing the output path. -+ * gdb.arch/powerpc-d128-regs.exp: Likewise. -+ * gdb.arch/ppc-dfp.exp: Likewise. -+ * gdb.arch/ppc-fp.exp: Likewise. -+ * gdb.arch/vsx-regs.exp: Likewise. -+ * gdb.arch/altivec-abi.exp: Likewise, plus added local variable -+ binprefix for generating the additional binary files. -+ - 2016-08-19 Pedro Alves - - * gdb.trace/mi-trace-frame-collected.exp ---- a/gdb/testsuite/gdb.arch/altivec-abi.exp -+++ b/gdb/testsuite/gdb.arch/altivec-abi.exp -@@ -26,9 +26,7 @@ if {![istarget "powerpc*"] || [skip_altivec_tests]} then { - return - } - --set testfile "altivec-abi" --set binfile ${objdir}/${subdir}/${testfile} --set srcfile ${testfile}.c -+standard_testfile - - if [get_compiler_info] { - warning "get_compiler failed" -@@ -146,6 +144,8 @@ proc altivec_abi_tests { extra_flags force_abi } { - } - - if [test_compiler_info gcc*] { -+ set binprefix ${binfile} -+ - with_test_prefix "default ABI, auto" { - altivec_abi_tests "additional_flags=-maltivec" "auto" - } -@@ -156,23 +156,23 @@ if [test_compiler_info gcc*] { - # On 64-bit GNU/Linux with GCC 4.1 and 4.2, -mabi=no-altivec - # was broken, so skip those tests there. - if { ![is_lp64_target] || ![test_compiler_info "gcc-4-\[12\]-*"] } { -- set binfile ${objdir}/${subdir}/${testfile}-ge-ge -+ set binfile ${binprefix}-ge-ge - with_test_prefix "generic ABI, forced" { - altivec_abi_tests "additional_flags=-maltivec additional_flags=-mabi=no-altivec" "generic" - } - -- set binfile ${objdir}/${subdir}/${testfile}-ge-auto -+ set binfile ${binprefix}-ge-auto - with_test_prefix "generic ABI, auto" { - altivec_abi_tests "additional_flags=-maltivec additional_flags=-mabi=no-altivec" "auto" - } - } - -- set binfile ${objdir}/${subdir}/${testfile}-av-av -+ set binfile ${binprefix}-av-av - with_test_prefix "AltiVec ABI, forced" { - altivec_abi_tests "additional_flags=-maltivec additional_flags=-mabi=altivec" "altivec" - } - -- set binfile ${objdir}/${subdir}/${testfile}-av-auto -+ set binfile ${binprefix}-av-auto - with_test_prefix "AltiVec ABI, auto" { - altivec_abi_tests "additional_flags=-maltivec additional_flags=-mabi=altivec" "auto" - } ---- a/gdb/testsuite/gdb.arch/altivec-regs.exp -+++ b/gdb/testsuite/gdb.arch/altivec-regs.exp -@@ -27,9 +27,7 @@ if {![istarget "powerpc*"] || [skip_altivec_tests]} then { - return - } - --set testfile "altivec-regs" --set binfile ${objdir}/${subdir}/${testfile} --set srcfile ${testfile}.c -+standard_testfile - - set compile_flags {debug nowarnings} - if [get_compiler_info] { ---- a/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp -+++ b/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp -@@ -25,9 +25,7 @@ if ![istarget "powerpc64*-*"] then { - return - } - --set testfile "powerpc-d128-regs" --set srcfile ${testfile}.c --set binfile ${objdir}/${subdir}/${testfile} -+standard_testfile - - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {quiet debug}] != "" } { - untested powerpc-d128-regs.exp ---- a/gdb/testsuite/gdb.arch/ppc-dfp.exp -+++ b/gdb/testsuite/gdb.arch/ppc-dfp.exp -@@ -21,9 +21,7 @@ if ![istarget "powerpc*"] then { - return - } - --set testfile "ppc-dfp" --set binfile ${objdir}/${subdir}/${testfile} --set srcfile ${testfile}.c -+standard_testfile - - if [get_compiler_info] { - warning "get_compiler failed" ---- a/gdb/testsuite/gdb.arch/ppc-fp.exp -+++ b/gdb/testsuite/gdb.arch/ppc-fp.exp -@@ -21,9 +21,7 @@ if ![istarget "powerpc*"] then { - return - } - --set testfile "ppc-fp" --set binfile ${objdir}/${subdir}/${testfile} --set srcfile ${testfile}.c -+standard_testfile - - if [get_compiler_info] { - warning "get_compiler failed" ---- a/gdb/testsuite/gdb.arch/vsx-regs.exp -+++ b/gdb/testsuite/gdb.arch/vsx-regs.exp -@@ -24,9 +24,7 @@ if {![istarget "powerpc*"] || [skip_vsx_tests]} then { - return - } - --set testfile "vsx-regs" --set binfile ${objdir}/${subdir}/${testfile} --set srcfile ${testfile}.c -+standard_testfile - - set compile_flags {debug nowarnings quiet} - if [get_compiler_info] { - - -http://sourceware.org/ml/gdb-patches/2016-10/msg00258.html -Subject: [testsuite obv] Use standard_output_file - -From: Jan Kratochvil -Date: Tue, 11 Oct 2016 16:43:58 +0200 -Subject: [PATCH] testsuite: Use standard_output_file -Subject: [PATCH] testsuite: Use standard_output_file - -gdb/testsuite/ChangeLog -2016-10-11 Jan Kratochvil - - * gdb.arch/powerpc-prologue.exp: Use standard_output_file. - * gdb.arch/ppc64-symtab-cordic.exp: Likewise. - * gdb.arch/vsx-regs.exp: Likewise. ---- - gdb/testsuite/ChangeLog | 6 ++++++ - gdb/testsuite/gdb.arch/powerpc-prologue.exp | 2 +- - gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp | 4 ++-- - gdb/testsuite/gdb.arch/vsx-regs.exp | 2 +- - 4 files changed, 10 insertions(+), 4 deletions(-) - -diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog -index 9c7df29..b6ba0ec 100644 -### a/gdb/testsuite/ChangeLog -### b/gdb/testsuite/ChangeLog -## -1,3 +1,9 @@ -+2016-10-11 Jan Kratochvil -+ -+ * gdb.arch/powerpc-prologue.exp: Use standard_output_file -+ * gdb.arch/ppc64-symtab-cordic.exp: Likewise. -+ * gdb.arch/vsx-regs.exp: Likewise. -+ - 2016-10-07 Yao Qi - - * gdb.xml/tdesc-regs.exp: Set regdir to "arm/". -diff --git a/gdb/testsuite/gdb.arch/powerpc-prologue.exp b/gdb/testsuite/gdb.arch/powerpc-prologue.exp -index 341ae02..0c74d7e 100644 ---- a/gdb/testsuite/gdb.arch/powerpc-prologue.exp -+++ b/gdb/testsuite/gdb.arch/powerpc-prologue.exp -@@ -24,7 +24,7 @@ if {[istarget *-*-aix*] || ![istarget "powerpc-*-*"]} then { - - set testfile "powerpc-prologue" - set srcfile ${testfile}.c --set binfile ${objdir}/${subdir}/${testfile} -+set binfile [standard_output_file ${testfile}] - - # Don't use "debug", so that we don't have line information for the assembly - # fragments. -diff --git a/gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp b/gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp -index c8cb429..3fdc490 100644 ---- a/gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp -+++ b/gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp -@@ -21,9 +21,9 @@ if {![istarget "powerpc*"] || ![is_lp64_target]} { - standard_testfile - - set kobz2file ${srcdir}/${subdir}/cordic.ko.bz2 --set kofile ${objdir}/${subdir}/cordic.ko -+set kofile [standard_output_file cordic.ko] - set kodebugbz2file ${srcdir}/${subdir}/cordic.ko.debug.bz2 --set kodebugfile ${objdir}/${subdir}/cordic.ko.debug -+set kodebugfile [standard_output_file cordic.ko.debug] - - if {[catch "system \"bzip2 -dc ${kobz2file} >${kofile}\""] != 0} { - untested "failed bzip2 for ${kobz2file}" -diff --git a/gdb/testsuite/gdb.arch/vsx-regs.exp b/gdb/testsuite/gdb.arch/vsx-regs.exp -index 307f12a..31e58e6 100644 ---- a/gdb/testsuite/gdb.arch/vsx-regs.exp -+++ b/gdb/testsuite/gdb.arch/vsx-regs.exp -@@ -152,7 +152,7 @@ for {set i 0} {$i < 32} {incr i 1} { - # later when loading the core file (i.e., different register values for different - # vector register banks). - --set corefile "${objdir}/${subdir}/vsx-core.test" -+set corefile [standard_output_file vsx-core.test] - set core_supported [gdb_gcore_cmd "$corefile" "Save a VSX-enabled corefile"] - - # Now run the F32~F63/VR0~VR31 tests. --- -2.7.4 - - -http://sourceware.org/ml/gdb-patches/2016-10/msg00268.html -Subject: [testsuite obv] Fix gdb.arch/powerpc-prologue.c compilation - -From: Jan Kratochvil -Date: Tue, 11 Oct 2016 19:09:05 +0200 -Subject: [PATCH] testsuite: Fix gdb.arch/powerpc-prologue.c compilation -Subject: [PATCH] testsuite: Fix gdb.arch/powerpc-prologue.c compilation - -gcc-6.2.1 - -gdb compile failed, gdb/testsuite/gdb.arch/powerpc-prologue.c: In function 'main': -gdb/testsuite/gdb.arch/powerpc-prologue.c:32:3: warning: implicit declaration of function 'optimized_1' [-Wimplicit-function-declaration] - optimized_1 (); - ^~~~~~~~~~~ - -gdb/testsuite/ChangeLog -2016-10-11 Jan Kratochvil - - * gdb.arch/powerpc-prologue.c (optimized_1): New declaration. ---- - gdb/testsuite/ChangeLog | 4 ++++ - gdb/testsuite/gdb.arch/powerpc-prologue.c | 1 + - 2 files changed, 5 insertions(+) - -diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog -index b6ba0ec..b4ccd4a 100644 -### a/gdb/testsuite/ChangeLog -### b/gdb/testsuite/ChangeLog -## -1,5 +1,9 @@ - 2016-10-11 Jan Kratochvil - -+ * gdb.arch/powerpc-prologue.c (optimized_1): New declaration. -+ -+2016-10-11 Jan Kratochvil -+ - * gdb.arch/powerpc-prologue.exp: Use standard_output_file - * gdb.arch/ppc64-symtab-cordic.exp: Likewise. - * gdb.arch/vsx-regs.exp: Likewise. -diff --git a/gdb/testsuite/gdb.arch/powerpc-prologue.c b/gdb/testsuite/gdb.arch/powerpc-prologue.c -index 6c10dfc..a1b8065 100644 ---- a/gdb/testsuite/gdb.arch/powerpc-prologue.c -+++ b/gdb/testsuite/gdb.arch/powerpc-prologue.c -@@ -24,6 +24,7 @@ - #endif - - void gdb2029 (void); -+void optimized_1 (void); - - int - main (void) --- -2.7.4 - - - -http://sourceware.org/ml/gdb-patches/2016-10/msg00613.html -Subject: [testsuite patch] Fix gcc_compiled for gcc 6 & 7 - - ---IS0zKkzwUGydFO0o -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline - -Hi, - -OK for check-in? - - -Jan - ---IS0zKkzwUGydFO0o -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline; filename=1 - -gdb/testsuite/ChangeLog -2016-10-20 Jan Kratochvil - - * lib/gdb.exp (get_compiler_info): Generalize gcc_compile regexp. - -diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp -index 378eea0..7d9b198 100644 ---- a/gdb/testsuite/lib/gdb.exp -+++ b/gdb/testsuite/lib/gdb.exp -@@ -3290,12 +3290,8 @@ proc get_compiler_info {{arg ""}} { - } - - # Set the legacy symbols. -- set gcc_compiled 0 -- if { [regexp "^gcc-1-" "$compiler_info" ] } { set gcc_compiled 1 } -- if { [regexp "^gcc-2-" "$compiler_info" ] } { set gcc_compiled 2 } -- if { [regexp "^gcc-3-" "$compiler_info" ] } { set gcc_compiled 3 } -- if { [regexp "^gcc-4-" "$compiler_info" ] } { set gcc_compiled 4 } -- if { [regexp "^gcc-5-" "$compiler_info" ] } { set gcc_compiled 5 } -+ set gcc_compiled 0 -+ regexp "^gcc-(\[0-9\]+)-" "$compiler_info" matchall gcc_compiled - - # Log what happened. - verbose -log "get_compiler_info: $compiler_info" - ---IS0zKkzwUGydFO0o-- - - - -commit 1b7e3d2fb7036ce6f9d74e32dc052518f5cd45b6 -Author: Nick Clifton -Date: Fri Feb 3 09:04:21 2017 +0000 - - Fix compile time warning messages when compiling binutils with gcc 7.0.1. - - PR 21096 - bfd * coffcode.h (coff_write_object_contents): Enlarge size of - s_name_buf in order to avoid compile time warning about possible - integer truncation. - * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower - 32-bits of insn value before printing into buffer. - - opcodes * aarch64-opc.c (print_register_list): Ensure that the register - list index will fir into the tb buffer. - (print_register_offset_address): Likewise. - * tic6x-dis.c (print_insn_tic6x): Increase size of func_unit_buf. - -### a/bfd/ChangeLog -### b/bfd/ChangeLog -## -1,3 +1,12 @@ -+2017-02-03 Nick Clifton -+ -+ PR 21096 -+ * coffcode.h (coff_write_object_contents): Enlarge size of -+ s_name_buf in order to avoid compile time warning about possible -+ integer truncation. -+ * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower -+ 32-bits of insn value before printing into buffer. -+ - 2017-02-02 Maciej W. Rozycki - - * elfxx-mips.c (mips_elf_hash_sort_data): Add ---- a/bfd/coffcode.h -+++ b/bfd/coffcode.h -@@ -3755,7 +3755,9 @@ coff_write_object_contents (bfd * abfd) - NUL-terminated. We use a temporary buffer so that we can still - sprintf all eight chars without splatting a terminating NUL - over the first byte of the following member (s_paddr). */ -- char s_name_buf[SCNNMLEN + 1]; -+ /* PR 21096: The +20 is to stop a bogus warning from gcc7 about -+ a possible buffer overflow. */ -+ char s_name_buf[SCNNMLEN + 1 + 20]; - - /* An inherent limitation of the /nnnnnnn notation used to indicate - the offset of the long name in the string table is that we -@@ -3770,9 +3772,10 @@ coff_write_object_contents (bfd * abfd) - return FALSE; - } - -- /* snprintf not strictly necessary now we've verified the value -- has less than eight ASCII digits, but never mind. */ -- snprintf (s_name_buf, SCNNMLEN + 1, "/%lu", (unsigned long) string_size); -+ /* We do not need to use snprintf here as we have already verfied -+ that string_size is not too big, plus we have an overlarge -+ buffer, just in case. */ -+ sprintf (s_name_buf, "/%lu", (unsigned long) string_size); - /* Then strncpy takes care of any padding for us. */ - strncpy (section.s_name, s_name_buf, SCNNMLEN); - string_size += len + 1; ---- a/bfd/elf32-nds32.c -+++ b/bfd/elf32-nds32.c -@@ -14949,7 +14949,6 @@ nds32_elf_ex9_import_table (struct bfd_link_info *info) - { - int num = 0; - bfd_byte *contents; -- unsigned long insn; - FILE *ex9_import_file; - int update_ex9_table; - struct elf_nds32_link_hash_table *table; -@@ -14963,6 +14962,7 @@ nds32_elf_ex9_import_table (struct bfd_link_info *info) - /* Read instructions from the input file and build the list. */ - while (!feof (ex9_import_file)) - { -+ unsigned long insn; - char *code; - struct elf_nds32_insn_times_entry *ptr; - size_t nread; -@@ -14973,7 +14973,7 @@ nds32_elf_ex9_import_table (struct bfd_link_info *info) - break; - insn = bfd_getb32 (contents); - code = bfd_malloc (sizeof (char) * 9); -- snprintf (code, 9, "%08lx", insn); -+ snprintf (code, 9, "%08lx", (insn & 0xffffffff)); - ptr = bfd_malloc (sizeof (struct elf_nds32_insn_times_entry)); - ptr->string = code; - ptr->order = num; -### a/opcodes/ChangeLog -### b/opcodes/ChangeLog -## -1,3 +1,11 @@ -+2017-02-03 Nick Clifton -+ -+ PR 21096 -+ * aarch64-opc.c (print_register_list): Ensure that the register -+ list index will fir into the tb buffer. -+ (print_register_offset_address): Likewise. -+ * tic6x-dis.c (print_insn_tic6x): Increase size of func_unit_buf. -+ - 2017-01-27 Alexis Deruell - - PR 21056 ---- a/opcodes/aarch64-opc.c -+++ b/opcodes/aarch64-opc.c -@@ -2865,7 +2865,8 @@ print_register_list (char *buf, size_t size, const aarch64_opnd_info *opnd, - - /* Prepare the index if any. */ - if (opnd->reglist.has_index) -- snprintf (tb, 8, "[%" PRIi64 "]", opnd->reglist.index); -+ /* PR 21096: The %100 is to silence a warning about possible truncation. */ -+ snprintf (tb, 8, "[%" PRIi64 "]", (opnd->reglist.index % 100)); - else - tb[0] = '\0'; - -@@ -2344,7 +2344,9 @@ print_register_offset_address (char *buf - if (print_extend_p) - { - if (print_amount_p) -- snprintf (tb, sizeof (tb), ",%s #%d", shift_name, opnd->shifter.amount); -+ snprintf (tb, sizeof (tb), ",%s #%d", shift_name, -+ /* PR 21096: The %100 is to silence a warning about possible truncation. */ -+ (opnd->shifter.amount % 100)); - else - snprintf (tb, sizeof (tb), ",%s", shift_name); - } ---- a/opcodes/tic6x-dis.c -+++ b/opcodes/tic6x-dis.c -@@ -316,7 +316,7 @@ print_insn_tic6x (bfd_vma addr, struct disassemble_info *info) - const char *parallel; - const char *cond = ""; - const char *func_unit; -- char func_unit_buf[7]; -+ char func_unit_buf[8]; - unsigned int func_unit_side = 0; - unsigned int func_unit_data_side = 0; - unsigned int func_unit_cross = 0; -@@ -703,8 +703,9 @@ print_insn_tic6x (bfd_vma addr, struct disassemble_info *info) - if (opc->flags & TIC6X_FLAG_INSN16_BSIDE && func_unit_side == 1) - func_unit_cross = 1; - -- snprintf (func_unit_buf, 7, " .%c%u%s%s", func_unit_char, -- func_unit_side, (func_unit_cross ? "X" : ""), data_str); -+ snprintf (func_unit_buf, sizeof func_unit_buf, " .%c%u%s%s", -+ func_unit_char, func_unit_side, -+ (func_unit_cross ? "X" : ""), data_str); - func_unit = func_unit_buf; - } - - - - -commit db7b55faa1a11e632ddf57505c9bb64bc783471a -Author: Nick Clifton -Date: Fri Dec 16 10:59:36 2016 +0000 - - Fix compile time warning building arm-dis.c - -### a/opcodes/ChangeLog -### b/opcodes/ChangeLog -## -1,3 +1,8 @@ -+2016-12-16 Nick Clifton -+ -+ * arm-dis.c (print_insn_thumb32): Fix compile time warning -+ computing value_in_comment. -+ - 2016-12-14 Maciej W. Rozycki - - * mips-dis.c (mips_convert_abiflags_ases): New function. ---- a/opcodes/arm-dis.c -+++ b/opcodes/arm-dis.c -@@ -5759,7 +5759,7 @@ print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given) - if (off || !U) - { - func (stream, ", #%c%u", U ? '+' : '-', off * 4); -- value_in_comment = off * 4 * U ? 1 : -1; -+ value_in_comment = (off && U) ? 1 : -1; - } - func (stream, "]"); - if (W) -@@ -5771,7 +5771,7 @@ print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given) - if (W) - { - func (stream, "#%c%u", U ? '+' : '-', off * 4); -- value_in_comment = off * 4 * U ? 1 : -1; -+ value_in_comment = (off && U) ? 1 : -1; - } - else - { - - - -commit 97e64e5ab19dbf6a9babd711e8deec5545520954 -Author: Yao Qi -Date: Fri Sep 23 17:27:26 2016 +0100 - - Replace sprintf with xsnprintf in nat/linux-osdata.c - - I see the following build warning when I build GDB with GCC trunk. - - ../../binutils-gdb/gdb/nat/linux-osdata.c: In function ‘LONGEST linux_xfer_osdata_fds(gdb_byte*, ULONGEST, ULONGEST)’: - ../../binutils-gdb/gdb/nat/linux-osdata.c:767:1: error: ‘%s’ directive writing between 0 and 255 bytes into a region of size 11 [-Werror=format-length=] - linux_xfer_osdata_fds (gdb_byte *readbuf, - ^~~~~~~~~~~~~~~~~~~~~ - ../../binutils-gdb/gdb/nat/linux-osdata.c:800:51: note: format output between 7 and 262 bytes into a destination of size 17 - sprintf (procentry, "/proc/%s", dp->d_name); - ^ - ../../binutils-gdb/gdb/nat/linux-osdata.c: In function ‘LONGEST linux_xfer_osdata_threads(gdb_byte*, ULONGEST, ULONGEST)’: - ../../binutils-gdb/gdb/nat/linux-osdata.c:555:1: error: ‘%s’ directive writing between 0 and 255 bytes into a region of size 11 [-Werror=format-length=] - linux_xfer_osdata_threads (gdb_byte *readbuf, - ^~~~~~~~~~~~~~~~~~~~~~~~~ - ../../binutils-gdb/gdb/nat/linux-osdata.c:588:51: note: format output between 7 and 262 bytes into a destination of size 17 - sprintf (procentry, "/proc/%s", dp->d_name); - ^ - cc1plus: all warnings being treated as errors - - The warning is a false positive, but we can workaround it by replacing - sprintf with xsnprintf. On the other hand, it is always preferred to - use xsnprintf. - - gdb: - - 2016-09-23 Yao Qi - - * nat/linux-osdata.c (linux_xfer_osdata_threads): Replace - sprintf with xsnprintf. - (linux_xfer_osdata_fds): Likewise. - -### a/gdb/ChangeLog -### b/gdb/ChangeLog -## -1,3 +1,9 @@ -+2016-09-23 Yao Qi -+ -+ * nat/linux-osdata.c (linux_xfer_osdata_threads): Replace -+ sprintf with xsnprintf. -+ (linux_xfer_osdata_fds): Likewise. -+ - 2016-09-23 Pedro Alves - - * Makefile.in (SFILES): Add common/new-op.c. ---- a/gdb/nat/linux-osdata.c -+++ b/gdb/nat/linux-osdata.c -@@ -585,7 +585,8 @@ linux_xfer_osdata_threads (gdb_byte *readbuf, - || NAMELEN (dp) > sizeof ("4294967295") - 1) - continue; - -- sprintf (procentry, "/proc/%s", dp->d_name); -+ xsnprintf (procentry, sizeof (procentry), "/proc/%s", -+ dp->d_name); - if (stat (procentry, &statbuf) == 0 - && S_ISDIR (statbuf.st_mode)) - { -@@ -797,7 +798,8 @@ linux_xfer_osdata_fds (gdb_byte *readbuf, - || NAMELEN (dp) > sizeof ("4294967295") - 1) - continue; - -- sprintf (procentry, "/proc/%s", dp->d_name); -+ xsnprintf (procentry, sizeof (procentry), "/proc/%s", -+ dp->d_name); - if (stat (procentry, &statbuf) == 0 - && S_ISDIR (statbuf.st_mode)) - { diff --git a/gdb.changes b/gdb.changes index d478998..6806def 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,12 +1,19 @@ ------------------------------------------------------------------- Thu Apr 27 14:39:44 UTC 2017 - matz@suse.com -- Rebase to gdb 7.99.90 (prerelease of gdb 8) +- 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 ------------------------------------------------------------------- Mon Apr 3 12:48:42 UTC 2017 - rguenther@suse.com diff --git a/gdb.spec b/gdb.spec index a2e4fa1..fc8f6c4 100644 --- a/gdb.spec +++ b/gdb.spec @@ -228,8 +228,13 @@ Patch1005: gdb-7.10-swo18929.patch 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 @@ -280,18 +285,18 @@ ExclusiveArch: noarch i386 x86_64 ppc ppc64 ia64 s390 s390x 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%{!?disable_32bit:1} @@ -301,9 +306,9 @@ BuildRequires: gcc-ada %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 +BuildRequires: %{gcc}-c++-32bit %if 0%{suse_version} >= 1210 && 0%{suse_version} != 1315 BuildRequires: glibc-devel-static-32bit %endif @@ -545,10 +550,19 @@ do 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" @@ -719,7 +733,21 @@ echo ====================TESTSUITE DISABLED========================= %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 @@ -744,7 +772,7 @@ gcc -o ./orphanripper %{SOURCE2} -Wall -lutil -ggdb2 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 @@ -753,7 +781,7 @@ gcc -o ./orphanripper %{SOURCE2} -Wall -lutil -ggdb2 # 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 From 5c490bb8033686a538a05bbcd15f7f2737d89e028689b445bd7c10c9d049639d Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 1 May 2017 02:35:45 +0000 Subject: [PATCH 5/7] Add .changes entries from SLE tree to reduce diversion OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=161 --- gdb.changes | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gdb.changes b/gdb.changes index 6806def..4a33905 100644 --- a/gdb.changes +++ b/gdb.changes @@ -14,6 +14,8 @@ Thu Apr 27 14:39:44 UTC 2017 - matz@suse.com 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 @@ -101,6 +103,14 @@ Mon Nov 21 11:17:58 UTC 2016 - schwab@suse.de - BuildRequire glibc-devel-static for 12.1 or later, and glibc-devel-static-32bit if biarch +------------------------------------------------------------------- +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] + ------------------------------------------------------------------- Mon Aug 8 15:34:57 UTC 2016 - matz@suse.com @@ -131,6 +141,18 @@ Tue May 24 10:49:47 UTC 2016 - martin.liska@suse.com - Add gdb-gcc6-Wparentheses-warning.patch to fix Werrors reported by GCC6. +------------------------------------------------------------------- +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. + ------------------------------------------------------------------- Thu Apr 7 09:56:22 UTC 2016 - normand@linux.vnet.ibm.com @@ -241,6 +263,11 @@ Thu Jan 14 16:46:43 UTC 2016 - matz@suse.de gdb-rhbz1260558-ppc64le-skip_trampoline_code.patch gdb-rhbz1270564-invalid-dwarf-regno.patch +------------------------------------------------------------------- +Fri Aug 14 13:39:13 UTC 2015 - matz@suse.de + +- Add missing patches from binutils for z13 support. [bnc #936050] + ------------------------------------------------------------------- Fri Jul 10 13:49:28 UTC 2015 - matz@suse.de @@ -255,6 +282,11 @@ Fri Jul 10 13:49:28 UTC 2015 - matz@suse.de 0003-S390-Add-vector-register-support-to-gdbserver.patch 0004-S390-Vector-register-test-case.patch 0005-S390-Name-invisible-registers-with-the-empty-string-.patch +- 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 ------------------------------------------------------------------- Thu Jul 2 13:26:29 UTC 2015 - rguenther@suse.com @@ -417,6 +449,30 @@ Fri Aug 8 12:22:24 UTC 2014 - rguenther@suse.com - Removes gdb-rhel5-gcc44.patch, gdb-6.6-bfd-vdso8k.patch, gdb-testsuite-nohostid.patch, gdb-python-stacksmash.patch +------------------------------------------------------------------- +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] + ------------------------------------------------------------------- Thu Jun 26 14:00:26 UTC 2014 - rguenther@suse.com From 63c075a6955987b7a165f6ba925b94b0f9e6b2bb2c210177084a29cee9b85d62 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Tue, 6 Jun 2017 14:44:13 +0000 Subject: [PATCH 6/7] - Rebase to gdb 8.0 release: * 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 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=162 --- gdb-7.99.90.20170420.tar.bz2 | 3 - gdb-8.0.tar.bz2 | 3 + gdb-release-werror.patch | 74 ------------------------- gdb-vla-intel-fortran-vla-strings.patch | 16 +----- gdb.changes | 19 +++++++ gdb.spec | 4 +- 6 files changed, 26 insertions(+), 93 deletions(-) delete mode 100644 gdb-7.99.90.20170420.tar.bz2 create mode 100644 gdb-8.0.tar.bz2 delete mode 100644 gdb-release-werror.patch diff --git a/gdb-7.99.90.20170420.tar.bz2 b/gdb-7.99.90.20170420.tar.bz2 deleted file mode 100644 index e008f26..0000000 --- a/gdb-7.99.90.20170420.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a2d8698118e74ab3b0f770630961db92b86505b8d46672da807790f053579502 -size 28146459 diff --git a/gdb-8.0.tar.bz2 b/gdb-8.0.tar.bz2 new file mode 100644 index 0000000..5638127 --- /dev/null +++ b/gdb-8.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96a6e2e693e4b4ac9e59b2c65000100f2fc100a38f6329bc1f4e153393564471 +size 28071680 diff --git a/gdb-release-werror.patch b/gdb-release-werror.patch deleted file mode 100644 index a12bbc0..0000000 --- a/gdb-release-werror.patch +++ /dev/null @@ -1,74 +0,0 @@ -http://sourceware.org/ml/gdb-patches/2017-04/msg00593.html -Subject: [patch+8.0] release branch: Fix: --enable-werror - - ---8t9RHnE3ZwKMSgU+ -Content-Type: text/plain; charset=iso-2022-jp -Content-Disposition: inline - -Hi, - -gdb-8.0-branch -./configure --enable-werror --enable-targets=all -aarch64-tdep.c:3045:13: error: $B!F(Bvoid selftests::aarch64_process_record_test()$B!G(B declared $B!F(Bstatic$B!G(B but never defined [-Werror=unused-function] -arm-tdep.c:9601:13: error: $B!F(Bvoid selftests::arm_record_test()$B!G(B declared $B!F(Bstatic$B!G(B but never defined [-Werror=unused-function] - -OK for check-in? - -Please do not tell me release branches do not support --enable-werror as this -is due to a sourcebase bug, not due to some unexpected compiler -incompatibility. - -Sergio: Shouldn't it be also buildbot-tested? - - -Jan - ---8t9RHnE3ZwKMSgU+ -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline; filename=1 - -gdb/ChangeLog -2017-04-21 Jan Kratochvil - - * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if - GDB_SELF_TEST. - * arm-tdep.c (selftests::arm_record_test): Likewise. - -diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c -index 28c2573..6113621 100644 ---- a/gdb/aarch64-tdep.c -+++ b/gdb/aarch64-tdep.c -@@ -3040,10 +3040,12 @@ aarch64_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file) - paddress (gdbarch, tdep->lowest_pc)); - } - -+#if GDB_SELF_TEST - namespace selftests - { - static void aarch64_process_record_test (void); - } -+#endif - - /* Suppress warning from -Wmissing-prototypes. */ - extern initialize_file_ftype _initialize_aarch64_tdep; -diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c -index c8fabfb..9ac667f 100644 ---- a/gdb/arm-tdep.c -+++ b/gdb/arm-tdep.c -@@ -9596,10 +9596,12 @@ arm_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file) - (unsigned long) tdep->lowest_pc); - } - -+#if GDB_SELF_TEST - namespace selftests - { - static void arm_record_test (void); - } -+#endif - - extern initialize_file_ftype _initialize_arm_tdep; /* -Wmissing-prototypes */ - - ---8t9RHnE3ZwKMSgU+-- - diff --git a/gdb-vla-intel-fortran-vla-strings.patch b/gdb-vla-intel-fortran-vla-strings.patch index 7c9851d..3ca0c1a 100644 --- a/gdb-vla-intel-fortran-vla-strings.patch +++ b/gdb-vla-intel-fortran-vla-strings.patch @@ -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,19 +26,6 @@ git diff --stat -p gdb/master...gdb/users/bheckel/fortran-vla-strings gdb/valprint.c | 6 -- 20 files changed, 827 insertions(+), 110 deletions(-) -Index: gdb-7.99.90.20170420/gdb/NEWS -=================================================================== ---- gdb-7.99.90.20170420.orig/gdb/NEWS 2017-04-20 22:27:47.076032111 +0200 -+++ gdb-7.99.90.20170420/gdb/NEWS 2017-04-20 22:27:49.946050236 +0200 -@@ -1,6 +1,8 @@ - What has changed in GDB? - (Organized release by release) - -+* Fortran: Support pointers to dynamic types. -+ - *** Changes since GDB 7.12 - - * GDB now supports access to the PKU register on GNU/Linux. The register is Index: gdb-7.99.90.20170420/gdb/c-valprint.c =================================================================== --- gdb-7.99.90.20170420.orig/gdb/c-valprint.c 2017-04-20 22:27:47.077032118 +0200 diff --git a/gdb.changes b/gdb.changes index 4a33905..9474e31 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Tue Jun 6 14:37:05 UTC 2017 - matz@suse.com + +- Rebase to gdb 8.0 release: + * 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 diff --git a/gdb.spec b/gdb.spec index fc8f6c4..5a61995 100644 --- a/gdb.spec +++ b/gdb.spec @@ -24,7 +24,7 @@ License: GPL-3.0+ and GPL-3.0-with-GCC-exception and LGPL-2.1+ and LGPL-3 Group: Development/Tools/Debuggers Name: gdb -Version: 7.99.90.20170420 +Version: 8.0 Release: 0 # The release always contains a leading reserved number, start it at 1. @@ -216,7 +216,6 @@ Patch125: gdb-tls-2of2.patch Patch126: gdb-libexec-add-index.patch Patch127: gdb-add-index-chmod.patch Patch128: gdb-rhbz1398387-tab-crash-test.patch -Patch129: gdb-release-werror.patch Patch130: gdb-testsuite-readline63-sigint.patch #Fedora Packages end @@ -516,7 +515,6 @@ find -name "*.info*"|xargs rm -f %patch126 -p1 %patch127 -p1 %patch128 -p1 -%patch129 -p1 %patch130 -p1 #Fedora patching end From ac6bb11b2991ac37f606f079ea7a179ec9b02d01de25e8ab99b549b7ef3a8dc3 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Tue, 6 Jun 2017 16:09:48 +0000 Subject: [PATCH 7/7] - Rebase to gdb 8.0 release: [fate #319573] OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=163 --- gdb.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb.changes b/gdb.changes index 9474e31..6b85d4e 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Tue Jun 6 14:37:05 UTC 2017 - matz@suse.com -- Rebase to gdb 8.0 release: +- 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)