diff --git a/.gitignore b/.gitignore index 018e178..177dbad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ /gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz /v2.0.1.tar.gz -/gdb-8.3.50.20190824.tar.xz +/gdb-8.3.50.20190924.tar.xz diff --git a/_git_upstream_commit b/_git_upstream_commit index e39b07c..bba5c1d 100644 --- a/_git_upstream_commit +++ b/_git_upstream_commit @@ -1 +1 @@ -8a9455cc824134d40943c34dc2cd44bee8275083 +3868d2e9f18d0351c472c0d6c8864c610e62598a diff --git a/gdb-6.3-gstack-20050411.patch b/gdb-6.3-gstack-20050411.patch index bab82bf..0b8882e 100644 --- a/gdb-6.3-gstack-20050411.patch +++ b/gdb-6.3-gstack-20050411.patch @@ -16,7 +16,7 @@ Subject: gdb-6.3-gstack-20050411.patch diff --git a/gdb/Makefile.in b/gdb/Makefile.in --- a/gdb/Makefile.in +++ b/gdb/Makefile.in -@@ -1746,7 +1746,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force +@@ -1741,7 +1741,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force install: all @$(MAKE) $(FLAGS_TO_PASS) install-only @@ -25,7 +25,7 @@ diff --git a/gdb/Makefile.in b/gdb/Makefile.in transformed_name=`t='$(program_transform_name)'; \ echo gdb | sed -e "$$t"` ; \ if test "x$$transformed_name" = x; then \ -@@ -1795,7 +1795,25 @@ install-guile: +@@ -1790,7 +1790,25 @@ install-guile: install-python: $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb @@ -52,7 +52,7 @@ diff --git a/gdb/Makefile.in b/gdb/Makefile.in transformed_name=`t='$(program_transform_name)'; \ echo gdb | sed -e $$t` ; \ if test "x$$transformed_name" = x; then \ -@@ -1818,6 +1836,18 @@ uninstall: force $(CONFIG_UNINSTALL) +@@ -1813,6 +1831,18 @@ uninstall: force $(CONFIG_UNINSTALL) fi @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do 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 898c87a..ca476c4 100644 --- a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch +++ b/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch @@ -44,7 +44,7 @@ glibc-debuginfo-2.7-2.x86_64: /usr/lib/debug/lib64/libc.so.6.debug: diff --git a/gdb/printcmd.c b/gdb/printcmd.c --- a/gdb/printcmd.c +++ b/gdb/printcmd.c -@@ -1202,6 +1202,10 @@ print_command_1 (const char *args, int voidprint) +@@ -1212,6 +1212,10 @@ print_command_1 (const char *args, int voidprint) if (exp != nullptr && *exp) { diff --git a/gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch b/gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch index 6f07d11..885fa2a 100644 --- a/gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch +++ b/gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch @@ -11,7 +11,7 @@ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=218379 diff --git a/gdb/symtab.c b/gdb/symtab.c --- a/gdb/symtab.c +++ b/gdb/symtab.c -@@ -3158,6 +3158,13 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent) +@@ -3148,6 +3148,13 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent) SYMBOL_LINKAGE_NAME (msymbol)); */ ; /* fall through */ diff --git a/gdb-6.6-buildid-locate-core-as-arg.patch b/gdb-6.6-buildid-locate-core-as-arg.patch index 78604b6..877f850 100644 --- a/gdb-6.6-buildid-locate-core-as-arg.patch +++ b/gdb-6.6-buildid-locate-core-as-arg.patch @@ -120,7 +120,7 @@ diff --git a/gdb/gdbsupport/common-exceptions.h b/gdb/gdbsupport/common-exceptio diff --git a/gdb/main.c b/gdb/main.c --- a/gdb/main.c +++ b/gdb/main.c -@@ -439,6 +439,34 @@ struct cmdarg +@@ -445,6 +445,34 @@ struct cmdarg char *string; }; @@ -155,7 +155,7 @@ diff --git a/gdb/main.c b/gdb/main.c static void captured_main_1 (struct captured_main_args *context) { -@@ -882,6 +910,8 @@ captured_main_1 (struct captured_main_args *context) +@@ -890,6 +918,8 @@ captured_main_1 (struct captured_main_args *context) { symarg = argv[optind]; execarg = argv[optind]; @@ -164,7 +164,7 @@ diff --git a/gdb/main.c b/gdb/main.c optind++; } -@@ -1032,12 +1062,25 @@ captured_main_1 (struct captured_main_args *context) +@@ -1043,12 +1073,25 @@ captured_main_1 (struct captured_main_args *context) && symarg != NULL && strcmp (execarg, symarg) == 0) { diff --git a/gdb-6.6-buildid-locate-rpm-scl.patch b/gdb-6.6-buildid-locate-rpm-scl.patch index 3a5e442..d1199ad 100644 --- a/gdb-6.6-buildid-locate-rpm-scl.patch +++ b/gdb-6.6-buildid-locate-rpm-scl.patch @@ -98,7 +98,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c -@@ -3462,6 +3462,16 @@ read_gdb_index_from_buffer (struct objfile *objfile, +@@ -3470,6 +3470,16 @@ read_gdb_index_from_buffer (struct objfile *objfile, "set use-deprecated-index-sections on". */ if (version < 6 && !deprecated_ok) { @@ -115,7 +115,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c static int warning_printed = 0; if (!warning_printed) { -@@ -3473,6 +3483,10 @@ to use the section anyway."), +@@ -3481,6 +3491,10 @@ to use the section anyway."), warning_printed = 1; } return 0; diff --git a/gdb-6.6-buildid-locate-solib-missing-ids.patch b/gdb-6.6-buildid-locate-solib-missing-ids.patch index 66fe4a5..73b763a 100644 --- a/gdb-6.6-buildid-locate-solib-missing-ids.patch +++ b/gdb-6.6-buildid-locate-solib-missing-ids.patch @@ -14,7 +14,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1339862 diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c -@@ -1342,14 +1342,27 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, +@@ -1346,14 +1346,27 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, } { @@ -44,7 +44,7 @@ diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c if (build_id != NULL) { char *name, *build_id_filename; -@@ -1364,23 +1377,7 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, +@@ -1368,23 +1381,7 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, xfree (name); } else diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch index 645bbe9..54cf9d2 100644 --- a/gdb-6.6-buildid-locate.patch +++ b/gdb-6.6-buildid-locate.patch @@ -6,6 +6,30 @@ Subject: gdb-6.6-buildid-locate.patch ;; New locating of the matching binaries from the pure core file (build-id). ;;=push+jan +diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h +--- a/bfd/libbfd-in.h ++++ b/bfd/libbfd-in.h +@@ -127,7 +127,7 @@ static inline char * + bfd_strdup (const char *str) + { + size_t len = strlen (str) + 1; +- char *buf = bfd_malloc (len); ++ char *buf = (char *) bfd_malloc (len); + if (buf != NULL) + memcpy (buf, str, len); + return buf; +diff --git a/bfd/libbfd.h b/bfd/libbfd.h +--- a/bfd/libbfd.h ++++ b/bfd/libbfd.h +@@ -132,7 +132,7 @@ static inline char * + bfd_strdup (const char *str) + { + size_t len = strlen (str) + 1; +- char *buf = bfd_malloc (len); ++ char *buf = (char *) bfd_malloc (len); + if (buf != NULL) + memcpy (buf, str, len); + return buf; diff --git a/gdb/build-id.c b/gdb/build-id.c --- a/gdb/build-id.c +++ b/gdb/build-id.c @@ -371,7 +395,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + +static void build_id_addr_candidate (bfd *abfd, asection *sect, void *obj) +{ -+ if (build_id_addr >= bfd_section_vma (abfd, sect)) ++ if (build_id_addr >= bfd_section_vma (sect)) + { + struct build_id_addr_sect *candidate; + @@ -406,7 +430,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + candidate = candidate->next) + { + i_phdr = elf_get_phdr (core_bfd, -+ bfd_section_vma (core_bfd, candidate->sect), ++ bfd_section_vma (candidate->sect), + &e_phnum, &loadbase); + if (i_phdr != NULL) + break; @@ -687,7 +711,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c + if (abfd == NULL) + return NULL; + -+ result = xstrdup (bfd_get_filename (abfd)); ++ result = xstrdup (bfd_get_filename (abfd.get ())); + return result; +} + @@ -958,7 +982,7 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c inferior_ptid = ptid; /* Yes, make it current. */ } -+static int build_id_core_loads = 1; ++static bool build_id_core_loads = true; + +static void +build_id_locate_exec (int from_tty) @@ -1013,13 +1037,13 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c + loaded VDSO symbols. If it gets executed before bfd_map_over_sections + INFERIOR_PTID is still not set and libthread_db initialization crashes on + PID == 0 in ps_pglobal_lookup. */ -+ if (build_id_core_loads != 0) ++ if (build_id_core_loads != false) + build_id_locate_exec (from_tty); + post_create_inferior (target, from_tty); /* Now go through the target stack looking for threads since there -@@ -1062,4 +1117,11 @@ void +@@ -973,4 +1028,11 @@ void _initialize_corelow (void) { add_target (core_target_info, core_target_open, filename_completer); @@ -1034,7 +1058,7 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo -@@ -20591,6 +20591,27 @@ information files. +@@ -20679,6 +20679,27 @@ information files. @end table @@ -1087,7 +1111,7 @@ diff --git a/gdb/dwarf-index-cache.c b/gdb/dwarf-index-cache.c diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c -@@ -2683,7 +2683,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile) +@@ -2691,7 +2691,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile) } if (dwz_bfd == NULL) @@ -1096,7 +1120,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c if (dwz_bfd == NULL) error (_("could not find '.gnu_debugaltlink' file for %s"), -@@ -6175,7 +6175,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner) +@@ -6225,7 +6225,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner) static gdb::array_view get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj) { @@ -1105,7 +1129,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c if (build_id == nullptr) return {}; -@@ -6188,7 +6188,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj) +@@ -6238,7 +6238,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj) static gdb::array_view get_gdb_index_contents_from_cache_dwz (objfile *obj, dwz_file *dwz) { @@ -1185,7 +1209,7 @@ diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c static struct link_map_offsets *svr4_fetch_link_map_offsets (void); static int svr4_have_link_map_offsets (void); -@@ -1340,9 +1341,51 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, +@@ -1344,9 +1345,51 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm, continue; } @@ -1312,7 +1336,7 @@ diff --git a/gdb/testsuite/gdb.base/new-ui-pending-input.exp b/gdb/testsuite/gdb diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp -@@ -1799,6 +1799,17 @@ proc default_gdb_start { } { +@@ -1803,6 +1803,17 @@ proc default_gdb_start { } { } } diff --git a/gdb-6.6-scheduler_locking-step-is-default.patch b/gdb-6.6-scheduler_locking-step-is-default.patch index 8bf061c..5d11284 100644 --- a/gdb-6.6-scheduler_locking-step-is-default.patch +++ b/gdb-6.6-scheduler_locking-step-is-default.patch @@ -9,7 +9,7 @@ Subject: gdb-6.6-scheduler_locking-step-is-default.patch diff --git a/gdb/infrun.c b/gdb/infrun.c --- a/gdb/infrun.c +++ b/gdb/infrun.c -@@ -2065,7 +2065,7 @@ static const char *const scheduler_enums[] = { +@@ -2063,7 +2063,7 @@ static const char *const scheduler_enums[] = { schedlock_replay, NULL }; diff --git a/gdb-6.8-quit-never-aborts.patch b/gdb-6.8-quit-never-aborts.patch index 57b4916..1522e9d 100644 --- a/gdb-6.8-quit-never-aborts.patch +++ b/gdb-6.8-quit-never-aborts.patch @@ -64,7 +64,7 @@ diff --git a/gdb/utils.c b/gdb/utils.c +++ b/gdb/utils.c @@ -101,6 +101,13 @@ static std::chrono::steady_clock::duration prompt_for_continue_wait_time; - static int debug_timestamp = 0; + static bool debug_timestamp = false; +#ifdef NEED_DETACH_SIGSTOP +/* Nonzero means we are already processing the quitting cleanups and we should @@ -73,6 +73,6 @@ diff --git a/gdb/utils.c b/gdb/utils.c +int quit_flag_cleanup; +#endif + - /* Nonzero means that strings with character values >0x7F should be printed - as octal escapes. Zero means just print the value (e.g. it's an + /* True means that strings with character values >0x7F should be printed + as octal escapes. False means just print the value (e.g. it's an international character, and the terminal or window can cope.) */ diff --git a/gdb-archer-pie-addons-keep-disabled.patch b/gdb-archer-pie-addons-keep-disabled.patch index b899ec6..dd1a80f 100644 --- a/gdb-archer-pie-addons-keep-disabled.patch +++ b/gdb-archer-pie-addons-keep-disabled.patch @@ -62,7 +62,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h -@@ -1689,6 +1689,9 @@ extern const char *ep_parse_optional_if_clause (const char **arg); +@@ -1690,6 +1690,9 @@ extern const char *ep_parse_optional_if_clause (const char **arg); UIOUT iff debugging multiple threads. */ extern void maybe_print_thread_hit_breakpoint (struct ui_out *uiout); diff --git a/gdb-archer-pie-addons.patch b/gdb-archer-pie-addons.patch index 5ed943f..dc90e02 100644 --- a/gdb-archer-pie-addons.patch +++ b/gdb-archer-pie-addons.patch @@ -24,7 +24,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h CORE_ADDR physaddr; const char *physname; -@@ -1450,6 +1452,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *); +@@ -1455,6 +1457,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *); #define FIELD_ENUMVAL_LVAL(thisfld) ((thisfld).loc.enumval) #define FIELD_ENUMVAL(thisfld) (FIELD_ENUMVAL_LVAL (thisfld) + 0) #define FIELD_STATIC_PHYSNAME(thisfld) ((thisfld).loc.physname) @@ -32,7 +32,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h #define FIELD_STATIC_PHYSADDR(thisfld) ((thisfld).loc.physaddr) #define FIELD_DWARF_BLOCK(thisfld) ((thisfld).loc.dwarf_block) #define SET_FIELD_BITPOS(thisfld, bitpos) \ -@@ -1461,6 +1464,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *); +@@ -1466,6 +1469,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *); #define SET_FIELD_PHYSNAME(thisfld, name) \ (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSNAME, \ FIELD_STATIC_PHYSNAME (thisfld) = (name)) @@ -40,7 +40,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h #define SET_FIELD_PHYSADDR(thisfld, addr) \ (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSADDR, \ FIELD_STATIC_PHYSADDR (thisfld) = (addr)) -@@ -1477,6 +1481,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *); +@@ -1482,6 +1486,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *); #define TYPE_FIELD_BITPOS(thistype, n) FIELD_BITPOS (TYPE_FIELD (thistype, n)) #define TYPE_FIELD_ENUMVAL(thistype, n) FIELD_ENUMVAL (TYPE_FIELD (thistype, n)) #define TYPE_FIELD_STATIC_PHYSNAME(thistype, n) FIELD_STATIC_PHYSNAME (TYPE_FIELD (thistype, n)) @@ -51,7 +51,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h diff --git a/gdb/value.c b/gdb/value.c --- a/gdb/value.c +++ b/gdb/value.c -@@ -2821,7 +2821,8 @@ value_static_field (struct type *type, int fieldno) +@@ -2827,7 +2827,8 @@ value_static_field (struct type *type, int fieldno) { case FIELD_LOC_KIND_PHYSADDR: retval = value_at_lazy (TYPE_FIELD_TYPE (type, fieldno), diff --git a/gdb-attach-fail-reasons-5of5.patch b/gdb-attach-fail-reasons-5of5.patch index 6df2ce8..8186277 100644 --- a/gdb-attach-fail-reasons-5of5.patch +++ b/gdb-attach-fail-reasons-5of5.patch @@ -255,7 +255,7 @@ diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c -@@ -971,7 +971,16 @@ linux_ptrace_fun () +@@ -967,7 +967,16 @@ linux_ptrace_fun () { if (ptrace (PTRACE_TRACEME, 0, (PTRACE_TYPE_ARG3) 0, (PTRACE_TYPE_ARG4) 0) < 0) @@ -276,7 +276,7 @@ diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c -@@ -1095,7 +1095,16 @@ linux_nat_target::create_inferior (const char *exec_file, +@@ -1091,7 +1091,16 @@ linux_nat_target::create_inferior (const char *exec_file, /* Make sure we report all signals during startup. */ pass_signals ({}); diff --git a/gdb-bz1219747-attach-kills.patch b/gdb-bz1219747-attach-kills.patch index 1630ff1..5884bac 100644 --- a/gdb-bz1219747-attach-kills.patch +++ b/gdb-bz1219747-attach-kills.patch @@ -80,7 +80,7 @@ gdb/testsuite/ChangeLog diff --git a/gdb/main.c b/gdb/main.c --- a/gdb/main.c +++ b/gdb/main.c -@@ -1117,7 +1117,10 @@ captured_main_1 (struct captured_main_args *context) +@@ -1128,7 +1128,10 @@ captured_main_1 (struct captured_main_args *context) { ret = catch_command_errors (attach_command, pid_or_core_arg, !batch_flag); diff --git a/gdb-bz533176-fortran-omp-step.patch b/gdb-bz533176-fortran-omp-step.patch index 864152c..3fd1a32 100644 --- a/gdb-bz533176-fortran-omp-step.patch +++ b/gdb-bz533176-fortran-omp-step.patch @@ -30,7 +30,7 @@ debugging problem of GOMP outside of the scope of this Bug. diff --git a/gdb/infrun.c b/gdb/infrun.c --- a/gdb/infrun.c +++ b/gdb/infrun.c -@@ -6462,6 +6462,16 @@ process_event_stop_test (struct execution_control_state *ecs) +@@ -6460,6 +6460,16 @@ process_event_stop_test (struct execution_control_state *ecs) if (ecs->event_thread->control.step_over_calls == STEP_OVER_ALL) { @@ -47,7 +47,7 @@ diff --git a/gdb/infrun.c b/gdb/infrun.c /* We're doing a "next". Normal (forward) execution: set a breakpoint at the -@@ -6495,6 +6505,7 @@ process_event_stop_test (struct execution_control_state *ecs) +@@ -6493,6 +6503,7 @@ process_event_stop_test (struct execution_control_state *ecs) keep_going (ecs); return; diff --git a/gdb-container-rh-pkg.patch b/gdb-container-rh-pkg.patch index c8fc69d..65dacb6 100644 --- a/gdb-container-rh-pkg.patch +++ b/gdb-container-rh-pkg.patch @@ -9,7 +9,7 @@ Subject: gdb-container-rh-pkg.patch diff --git a/gdb/remote.c b/gdb/remote.c --- a/gdb/remote.c +++ b/gdb/remote.c -@@ -13927,7 +13927,17 @@ remote_target::pid_to_exec_file (int pid) +@@ -13905,7 +13905,17 @@ remote_target::pid_to_exec_file (int pid) char *annex = NULL; if (packet_support (PACKET_qXfer_exec_file) != PACKET_ENABLE) diff --git a/gdb-gnat-dwarf-crash-3of3.patch b/gdb-gnat-dwarf-crash-3of3.patch index e56e258..3f3f089 100644 --- a/gdb-gnat-dwarf-crash-3of3.patch +++ b/gdb-gnat-dwarf-crash-3of3.patch @@ -42,7 +42,7 @@ gdb/ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c -@@ -10527,6 +10527,13 @@ private: +@@ -10602,6 +10602,13 @@ private: static void process_die (struct die_info *die, struct dwarf2_cu *cu) { @@ -59,7 +59,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c diff --git a/gdb/infrun.c b/gdb/infrun.c --- a/gdb/infrun.c +++ b/gdb/infrun.c -@@ -610,6 +610,13 @@ holding the child stopped. Try \"set detach-on-fork\" or \ +@@ -608,6 +608,13 @@ holding the child stopped. Try \"set detach-on-fork\" or \ target_pid_to_str (process_ptid).c_str ()); } @@ -76,7 +76,7 @@ diff --git a/gdb/infrun.c b/gdb/infrun.c diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c -@@ -192,6 +192,12 @@ struct linux_nat_target *linux_target; +@@ -188,6 +188,12 @@ struct linux_nat_target *linux_target; /* Does the current host support PTRACE_GETREGSET? */ enum tribool have_ptrace_getregset = TRIBOOL_UNKNOWN; @@ -89,7 +89,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c static unsigned int debug_linux_nat; static void show_debug_linux_nat (struct ui_file *file, int from_tty, -@@ -1033,6 +1039,9 @@ linux_nat_post_attach_wait (ptid_t ptid, int *signalled) +@@ -1029,6 +1035,9 @@ linux_nat_post_attach_wait (ptid_t ptid, int *signalled) if (debug_linux_nat) fprintf_unfiltered (gdb_stdlog, "LNPAW: Attaching to a stopped process\n"); @@ -99,7 +99,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c /* The process is definitely stopped. It is in a job control stop, unless the kernel predates the TASK_STOPPED / -@@ -1364,6 +1373,25 @@ get_detach_signal (struct lwp_info *lp) +@@ -1360,6 +1369,25 @@ get_detach_signal (struct lwp_info *lp) return gdb_signal_to_host (signo); } @@ -125,7 +125,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c return 0; } -@@ -1512,6 +1540,10 @@ linux_nat_target::detach (inferior *inf, int from_tty) +@@ -1508,6 +1536,10 @@ linux_nat_target::detach (inferior *inf, int from_tty) detach_one_lwp (main_lwp, &signo); detach_success (inf); @@ -136,7 +136,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c } } -@@ -1769,6 +1801,16 @@ linux_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signo) +@@ -1765,6 +1797,16 @@ linux_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signo) return; } @@ -153,7 +153,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c if (resume_many) iterate_over_lwps (ptid, [=] (struct lwp_info *info) { -@@ -3770,6 +3812,10 @@ linux_nat_target::mourn_inferior () +@@ -3766,6 +3808,10 @@ linux_nat_target::mourn_inferior () /* Let the arch-specific native code know this process is gone. */ linux_target->low_forget_process (pid); diff --git a/gdb-vla-intel-fortran-strides.patch b/gdb-vla-intel-fortran-strides.patch index 38a1dc7..eb7ef26 100644 --- a/gdb-vla-intel-fortran-strides.patch +++ b/gdb-vla-intel-fortran-strides.patch @@ -37,7 +37,7 @@ dbfd7140bf4c0500d1f5d192be781f83f78f7922 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c -@@ -17804,7 +17804,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -17878,7 +17878,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) struct type *base_type, *orig_base_type; struct type *range_type; struct attribute *attr; @@ -46,7 +46,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c int low_default_is_valid; int high_bound_is_count = 0; const char *name; -@@ -17825,7 +17825,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -17899,7 +17899,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) low.kind = PROP_CONST; high.kind = PROP_CONST; @@ -56,7 +56,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c /* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow omitting DW_AT_lower_bound. */ -@@ -17858,6 +17860,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -17932,6 +17934,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) break; } @@ -71,19 +71,20 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c attr = dwarf2_attr (die, DW_AT_lower_bound, cu); if (attr) attr_to_dynamic_prop (attr, die, cu, &low, base_type); -@@ -17911,7 +17921,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -17990,7 +18000,8 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) && !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask)) high.data.const_val |= negative_mask; -- range_type = create_range_type (NULL, orig_base_type, &low, &high); -+ range_type = create_range_type (NULL, orig_base_type, &low, &high, &stride); +- range_type = create_range_type (NULL, orig_base_type, &low, &high, bias); ++ range_type = create_range_type (NULL, orig_base_type, &low, &high, bias, ++ &stride); 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 --- a/gdb/eval.c +++ b/gdb/eval.c -@@ -375,29 +375,324 @@ init_array_element (struct value *array, struct value *element, +@@ -372,29 +372,324 @@ init_array_element (struct value *array, struct value *element, return index; } @@ -427,7 +428,7 @@ diff --git a/gdb/eval.c b/gdb/eval.c } -@@ -1238,19 +1533,6 @@ evaluate_funcall (type *expect_type, expression *exp, int *pos, +@@ -1235,19 +1530,6 @@ evaluate_funcall (type *expect_type, expression *exp, int *pos, return eval_call (exp, noside, nargs, argvec, var_func_name, expect_type); } @@ -447,7 +448,7 @@ diff --git a/gdb/eval.c b/gdb/eval.c struct value * evaluate_subexp_standard (struct type *expect_type, struct expression *exp, int *pos, -@@ -1945,33 +2227,8 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -1942,33 +2224,8 @@ evaluate_subexp_standard (struct type *expect_type, switch (code) { case TYPE_CODE_ARRAY: @@ -482,7 +483,7 @@ diff --git a/gdb/eval.c b/gdb/eval.c case TYPE_CODE_PTR: case TYPE_CODE_FUNC: -@@ -2384,49 +2641,6 @@ evaluate_subexp_standard (struct type *expect_type, +@@ -2381,49 +2638,6 @@ evaluate_subexp_standard (struct type *expect_type, } return (arg1); @@ -532,7 +533,7 @@ diff --git a/gdb/eval.c b/gdb/eval.c case BINOP_LOGICAL_AND: arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); if (noside == EVAL_SKIP) -@@ -3346,6 +3560,9 @@ calc_f77_array_dims (struct type *array_type) +@@ -3343,6 +3557,9 @@ calc_f77_array_dims (struct type *array_type) int ndimen = 1; struct type *tmp_type; @@ -760,25 +761,25 @@ diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c -@@ -912,7 +912,8 @@ operator== (const range_bounds &l, const range_bounds &r) - struct type * +@@ -914,7 +914,8 @@ struct type * create_range_type (struct type *result_type, struct type *index_type, const struct dynamic_prop *low_bound, -- const struct dynamic_prop *high_bound) -+ const struct dynamic_prop *high_bound, + const struct dynamic_prop *high_bound, +- LONGEST bias) ++ LONGEST bias, + const struct dynamic_prop *stride) { /* The INDEX_TYPE should be a type capable of holding the upper and lower bounds, as such a zero sized, or void type makes no sense. */ -@@ -932,6 +933,7 @@ create_range_type (struct type *result_type, struct type *index_type, - TYPE_ZALLOC (result_type, sizeof (struct range_bounds)); +@@ -935,6 +936,7 @@ create_range_type (struct type *result_type, struct type *index_type, TYPE_RANGE_DATA (result_type)->low = *low_bound; TYPE_RANGE_DATA (result_type)->high = *high_bound; + TYPE_RANGE_DATA (result_type)->bias = bias; + TYPE_RANGE_DATA (result_type)->stride = *stride; if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0) TYPE_UNSIGNED (result_type) = 1; -@@ -960,7 +962,7 @@ struct type * +@@ -963,7 +965,7 @@ struct type * create_static_range_type (struct type *result_type, struct type *index_type, LONGEST low_bound, LONGEST high_bound) { @@ -787,20 +788,20 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c low.kind = PROP_CONST; low.data.const_val = low_bound; -@@ -968,7 +970,11 @@ create_static_range_type (struct type *result_type, struct type *index_type, +@@ -971,7 +973,11 @@ create_static_range_type (struct type *result_type, struct type *index_type, high.kind = PROP_CONST; high.data.const_val = high_bound; -- result_type = create_range_type (result_type, index_type, &low, &high); +- result_type = create_range_type (result_type, index_type, &low, &high, 0); + stride.kind = PROP_CONST; + stride.data.const_val = 0; + + result_type = create_range_type (result_type, index_type, -+ &low, &high, &stride); ++ &low, &high, 0, &stride); return result_type; } -@@ -1186,16 +1192,20 @@ create_array_type_with_stride (struct type *result_type, +@@ -1189,16 +1195,20 @@ create_array_type_with_stride (struct type *result_type, && (!type_not_associated (result_type) && !type_not_allocated (result_type))) { @@ -822,7 +823,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c else if (bit_stride > 0) TYPE_LENGTH (result_type) = (bit_stride * (high_bound - low_bound + 1) + 7) / 8; -@@ -1980,7 +1990,7 @@ resolve_dynamic_range (struct type *dyn_range_type, +@@ -1983,7 +1993,7 @@ resolve_dynamic_range (struct type *dyn_range_type, CORE_ADDR value; struct type *static_range_type, *static_target_type; const struct dynamic_prop *prop; @@ -831,7 +832,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c gdb_assert (TYPE_CODE (dyn_range_type) == TYPE_CODE_RANGE); -@@ -2012,12 +2022,20 @@ resolve_dynamic_range (struct type *dyn_range_type, +@@ -2015,13 +2025,21 @@ resolve_dynamic_range (struct type *dyn_range_type, high_bound.data.const_val = 0; } @@ -845,20 +846,21 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c static_target_type = resolve_dynamic_type_internal (TYPE_TARGET_TYPE (dyn_range_type), addr_stack, 0); + LONGEST bias = TYPE_RANGE_DATA (dyn_range_type)->bias; static_range_type = create_range_type (copy_type (dyn_range_type), static_target_type, -- &low_bound, &high_bound); -+ &low_bound, &high_bound, &stride); -+ +- &low_bound, &high_bound, bias); ++ &low_bound, &high_bound, bias, ++ &stride); TYPE_RANGE_DATA (static_range_type)->flag_bound_evaluated = 1; return static_range_type; } diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h -@@ -617,6 +617,10 @@ struct range_bounds +@@ -622,6 +622,10 @@ struct range_bounds - struct dynamic_prop high; + LONGEST bias; + /* * Stride of range. */ + @@ -867,7 +869,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h /* True if HIGH range bound contains the number of elements in the subrange. This affects how the final high bound is computed. */ -@@ -781,7 +785,6 @@ struct main_type +@@ -786,7 +790,6 @@ struct main_type /* * Union member used for range types. */ struct range_bounds *bounds; @@ -875,7 +877,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h } flds_bnds; /* * Slot to point to additional language-specific fields of this -@@ -1340,6 +1343,15 @@ extern bool set_type_align (struct type *, ULONGEST); +@@ -1345,6 +1348,15 @@ extern bool set_type_align (struct type *, ULONGEST); TYPE_RANGE_DATA(range_type)->high.kind #define TYPE_LOW_BOUND_KIND(range_type) \ TYPE_RANGE_DATA(range_type)->low.kind @@ -891,7 +893,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h /* Property accessors for the type data location. */ #define TYPE_DATA_LOCATION(thistype) \ -@@ -1375,6 +1387,9 @@ extern bool set_type_align (struct type *, ULONGEST); +@@ -1380,6 +1392,9 @@ extern bool set_type_align (struct type *, ULONGEST); TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype)) #define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) \ TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype)) @@ -901,14 +903,16 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h #define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \ (TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype)))) -@@ -1950,6 +1965,7 @@ extern struct type *create_array_type_with_stride - struct dynamic_prop *, unsigned int); - +@@ -1957,7 +1972,8 @@ extern struct type *create_array_type_with_stride extern struct type *create_range_type (struct type *, struct type *, -+ const struct dynamic_prop *, const struct dynamic_prop *, - const struct dynamic_prop *); + const struct dynamic_prop *, +- LONGEST); ++ LONGEST, ++ const struct dynamic_prop *); + extern struct type *create_array_type (struct type *, struct type *, + struct type *); diff --git a/gdb/parse.c b/gdb/parse.c --- a/gdb/parse.c +++ b/gdb/parse.c @@ -1931,7 +1935,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c diff --git a/gdb/value.h b/gdb/value.h --- a/gdb/value.h +++ b/gdb/value.h -@@ -1143,6 +1143,8 @@ extern struct value *varying_to_slice (struct value *); +@@ -1145,6 +1145,8 @@ extern struct value *varying_to_slice (struct value *); 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 c666c59..b24229c 100644 --- a/gdb-vla-intel-fortran-vla-strings.patch +++ b/gdb-vla-intel-fortran-vla-strings.patch @@ -33,7 +33,7 @@ git diff --stat -p gdb/master...gdb/users/bheckel/fortran-vla-strings diff --git a/gdb/NEWS b/gdb/NEWS --- a/gdb/NEWS +++ b/gdb/NEWS -@@ -660,6 +660,8 @@ SH-5/SH64 running OpenBSD SH-5/SH64 support in sh*-*-openbsd* +@@ -689,6 +689,8 @@ SH-5/SH64 running OpenBSD SH-5/SH64 support in sh*-*-openbsd* *** Changes in GDB 8.1 @@ -77,7 +77,7 @@ diff --git a/gdb/c-valprint.c b/gdb/c-valprint.c diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c -@@ -1810,7 +1810,10 @@ static void read_signatured_type (struct signatured_type *); +@@ -1818,7 +1818,10 @@ static void read_signatured_type (struct signatured_type *); static int attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, struct dwarf2_cu *cu, @@ -89,7 +89,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c /* memory allocation interface */ -@@ -13661,7 +13664,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu) +@@ -13735,7 +13738,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu) newobj->static_link = XOBNEW (&objfile->objfile_obstack, struct dynamic_prop); attr_to_dynamic_prop (attr, die, cu, newobj->static_link, @@ -98,7 +98,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c } cu->list_in_scope = cu->get_builder ()->get_local_symbols (); -@@ -16423,7 +16426,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -16497,7 +16500,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu) byte_stride_prop = (struct dynamic_prop *) alloca (sizeof (struct dynamic_prop)); stride_ok = attr_to_dynamic_prop (attr, die, cu, byte_stride_prop, @@ -107,7 +107,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c if (!stride_ok) { complaint (_("unable to read array DW_AT_byte_stride " -@@ -17181,29 +17184,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -17255,29 +17258,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu) struct gdbarch *gdbarch = get_objfile_arch (objfile); struct type *type, *range_type, *index_type, *char_type; struct attribute *attr; @@ -209,7 +209,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c char_type = language_string_char_type (cu->language_defn, gdbarch); type = create_string_type (NULL, char_type, range_type); -@@ -17636,7 +17700,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -17710,7 +17774,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu) static int attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, struct dwarf2_cu *cu, struct dynamic_prop *prop, @@ -219,7 +219,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c { struct dwarf2_property_baton *baton; struct obstack *obstack -@@ -17655,9 +17720,30 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, +@@ -17729,9 +17794,30 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, baton->locexpr.size = DW_BLOCK (attr)->size; baton->locexpr.data = DW_BLOCK (attr)->data; baton->locexpr.is_reference = false; @@ -251,7 +251,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c } else if (attr_form_is_ref (attr)) { -@@ -17690,9 +17776,29 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, +@@ -17764,9 +17850,29 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, baton = XOBNEW (obstack, struct dwarf2_property_baton); baton->property_type = die_type (target_die, target_cu); baton->locexpr.per_cu = cu->per_cu; @@ -283,7 +283,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c prop->data.baton = baton; prop->kind = PROP_LOCEXPR; gdb_assert (prop->data.baton != NULL); -@@ -17862,7 +17968,8 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -17936,7 +18042,8 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) attr = dwarf2_attr (die, DW_AT_byte_stride, cu); if (attr) @@ -293,7 +293,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c complaint (_("Missing DW_AT_byte_stride " "- DIE at 0x%s [in module %s]"), sect_offset_str (die->sect_off), -@@ -17870,7 +17977,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -17944,7 +18051,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) attr = dwarf2_attr (die, DW_AT_lower_bound, cu); if (attr) @@ -302,7 +302,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c else if (!low_default_is_valid) complaint (_("Missing DW_AT_lower_bound " "- DIE at %s [in module %s]"), -@@ -17879,10 +17986,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) +@@ -17953,10 +18060,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) struct attribute *attr_ub, *attr_count; attr = attr_ub = dwarf2_attr (die, DW_AT_upper_bound, cu); @@ -315,7 +315,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c { /* If bounds are constant do the final calculation here. */ if (low.kind == PROP_CONST && high.kind == PROP_CONST) -@@ -25528,7 +25635,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) +@@ -25646,7 +25753,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) { struct type *prop_type = dwarf2_per_cu_addr_sized_int_type (cu->per_cu, false); @@ -324,7 +324,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c add_dyn_prop (DYN_PROP_ALLOCATED, prop, type); } else if (attr != NULL) -@@ -25544,7 +25651,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) +@@ -25662,7 +25769,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) { struct type *prop_type = dwarf2_per_cu_addr_sized_int_type (cu->per_cu, false); @@ -333,7 +333,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type); } else if (attr != NULL) -@@ -25557,7 +25664,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) +@@ -25675,7 +25782,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) /* Read DW_AT_data_location and set in type. */ attr = dwarf2_attr (die, DW_AT_data_location, cu); if (attr_to_dynamic_prop (attr, die, cu, &prop, @@ -345,7 +345,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c --- a/gdb/f-typeprint.c +++ b/gdb/f-typeprint.c -@@ -186,15 +186,14 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, +@@ -197,15 +197,14 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, print_rank_only = true; else if ((TYPE_ASSOCIATED_PROP (type) && PROP_CONST != TYPE_DYN_PROP_KIND (TYPE_ASSOCIATED_PROP (type))) @@ -369,7 +369,7 @@ diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_ARRAY) f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0, -@@ -206,8 +205,9 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, +@@ -217,8 +216,9 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, else { LONGEST lower_bound = f77_get_lowerbound (type); @@ -380,7 +380,7 @@ diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c /* Make sure that, if we have an assumed size array, we print out a warning and print the upperbound as '*'. */ -@@ -218,7 +218,7 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, +@@ -229,7 +229,7 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, { LONGEST upper_bound = f77_get_upperbound (type); @@ -389,7 +389,7 @@ diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c } } -@@ -238,7 +238,7 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, +@@ -249,7 +249,7 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream, case TYPE_CODE_REF: f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0, 1, 0, arrayprint_recurse_level, false); @@ -401,7 +401,7 @@ diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c -@@ -1903,7 +1903,8 @@ is_dynamic_type_internal (struct type *type, int top_level) +@@ -1906,7 +1906,8 @@ is_dynamic_type_internal (struct type *type, int top_level) type = check_typedef (type); /* We only want to recognize references at the outermost level. */ @@ -411,7 +411,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c type = check_typedef (TYPE_TARGET_TYPE (type)); /* Types that have a dynamic TYPE_DATA_LOCATION are considered -@@ -1937,6 +1938,7 @@ is_dynamic_type_internal (struct type *type, int top_level) +@@ -1940,6 +1941,7 @@ is_dynamic_type_internal (struct type *type, int top_level) } case TYPE_CODE_ARRAY: @@ -419,7 +419,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c { gdb_assert (TYPE_NFIELDS (type) == 1); -@@ -2055,7 +2057,8 @@ resolve_dynamic_array (struct type *type, +@@ -2059,7 +2061,8 @@ resolve_dynamic_array (struct type *type, struct dynamic_prop *prop; unsigned int bit_stride = 0; @@ -429,7 +429,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c type = copy_type (type); -@@ -2080,11 +2083,15 @@ resolve_dynamic_array (struct type *type, +@@ -2084,11 +2087,15 @@ resolve_dynamic_array (struct type *type, ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type)); @@ -446,7 +446,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c prop = get_dyn_prop (DYN_PROP_BYTE_STRIDE, type); if (prop != NULL) { -@@ -2236,6 +2243,28 @@ resolve_dynamic_struct (struct type *type, +@@ -2240,6 +2247,28 @@ resolve_dynamic_struct (struct type *type, return resolved_type; } @@ -475,7 +475,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c /* Worker for resolved_dynamic_type. */ static struct type * -@@ -2284,7 +2313,12 @@ resolve_dynamic_type_internal (struct type *type, +@@ -2288,7 +2317,12 @@ resolve_dynamic_type_internal (struct type *type, break; } diff --git a/gdb-vla-intel-stringbt-fix.patch b/gdb-vla-intel-stringbt-fix.patch index 9112347..084b747 100644 --- a/gdb-vla-intel-stringbt-fix.patch +++ b/gdb-vla-intel-stringbt-fix.patch @@ -30,7 +30,7 @@ Jan diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c -@@ -2157,6 +2157,20 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, +@@ -2155,6 +2155,20 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame, ctx.per_cu = per_cu; ctx.obj_address = 0; diff --git a/gdb.spec b/gdb.spec index 3ce9d57..26d2467 100644 --- a/gdb.spec +++ b/gdb.spec @@ -27,7 +27,7 @@ Name: %{?scl_prefix}gdb # Freeze it when GDB gets branched -%global snapsrc 20190824 +%global snapsrc 20190924 # See timestamp of source gnulib installed into gdb/gnulib/ . %global snapgnulib 20161115 %global tarname gdb-%{version} @@ -35,7 +35,7 @@ Version: 8.3.50.%{snapsrc} # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 26%{?dist} +Release: 27%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL # Do not provide URL for snapshots as the file lasts there only for 2 days. @@ -1142,6 +1142,10 @@ fi %endif %changelog +* Wed Sep 25 2019 Sergio Durigan Junior - 8.3.50.20190924-27 +- Rebase to FSF GDB 8.3.50.20190924 (8.4pre). +- Update 'gdb-6.6-buildid-locate.patch'. + * Sat Aug 24 2019 Sergio Durigan Junior - 8.3.50.20190824-26 - Rebase to FSF GDB 8.3.50.20190824 (8.4pre). - Update 'v1.5-libipt-static.patch'. diff --git a/sources b/sources index 23b567a..0337a63 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8 SHA512 (v2.0.1.tar.gz) = e38e93908c3fbf1f2384cfca381eaf4bf667033de678041bd440adac8bbce4757b77304868896256ed72c202ee22ba1646aada90125029f14f5bffaf828a7df4 -SHA512 (gdb-8.3.50.20190824.tar.xz) = 2a61acd207f3dcb3d047ad88ddd5662a596ca73b3e76efe42a0132032ba97b2258153831c2ca2523d10369591d5c72bef445b26e22554c46e38ee69903e09cf4 +SHA512 (gdb-8.3.50.20190924.tar.xz) = 0db49142d9ce93b3205596f97344e1b488ef74d0640c311fea929aa702074a221fd2c2558d8e2df917fb0398af5d670b1d200c30246b0535a6ae64a2c8ae0eb6