public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Sergio Durigan Junior <sergiodj@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 8.3.50.20190625 (8.4pre).
Date: Sat, 27 Jun 2026 23:59:46 GMT [thread overview]
Message-ID: <178260478687.1.9621660658292262002.rpms-gdb-292cb418af02@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : 292cb418af02523039493d072bd5096a8ddae95d
Author : Sergio Durigan Junior <sergiodj@redhat.com>
Date : 2019-06-25T15:49:31-04:00
Stats : +229/-516 in 25 file(s)
URL : https://src.fedoraproject.org/rpms/gdb/c/292cb418af02523039493d072bd5096a8ddae95d?branch=gdb-17.2-rebase-f44
Log:
Rebase to FSF GDB 8.3.50.20190625 (8.4pre).
---
diff --git a/.gitignore b/.gitignore
index af8ca9b..1e8534a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
/gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz
/v2.0.tar.gz
-/gdb-8.3.50.20190610.tar.xz
+/gdb-8.3.50.20190625.tar.xz
diff --git a/_git_upstream_commit b/_git_upstream_commit
index f2add1d..50d506d 100644
--- a/_git_upstream_commit
+++ b/_git_upstream_commit
@@ -1 +1 @@
-a72f8c4ce397a0bbe98281d4151982330ad16f15
+2e7c439dec066ac8a597d0b85193b8d3ec8e09eb
diff --git a/gdb-6.3-gstack-20050411.patch b/gdb-6.3-gstack-20050411.patch
index 6ba993d..c6bb26d 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
-@@ -1751,7 +1751,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force
+@@ -1742,7 +1742,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 \
-@@ -1800,7 +1800,25 @@ install-guile:
+@@ -1791,7 +1791,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 \
-@@ -1823,6 +1841,18 @@ uninstall: force $(CONFIG_UNINSTALL)
+@@ -1814,6 +1832,18 @@ uninstall: force $(CONFIG_UNINSTALL)
fi
@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
diff --git a/gdb-6.3-rh-testversion-20041202.patch b/gdb-6.3-rh-testversion-20041202.patch
index f1c0735..69fe3cd 100644
--- a/gdb-6.3-rh-testversion-20041202.patch
+++ b/gdb-6.3-rh-testversion-20041202.patch
@@ -27,7 +27,7 @@ diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest
diff --git a/gdb/top.c b/gdb/top.c
--- a/gdb/top.c
+++ b/gdb/top.c
-@@ -2079,7 +2079,7 @@ init_gdb_version_vars (void)
+@@ -2070,7 +2070,7 @@ init_gdb_version_vars (void)
struct internalvar *major_version_var = create_internalvar ("_gdb_major");
struct internalvar *minor_version_var = create_internalvar ("_gdb_minor");
int vmajor = 0, vminor = 0, vrevision = 0;
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 3a1fe0c..aca516b 100644
--- a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
+++ b/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
@@ -44,9 +44,9 @@ 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
-@@ -1182,6 +1182,10 @@ print_command_1 (const char *exp, int voidprint)
+@@ -1188,6 +1188,10 @@ print_command_1 (const char *args, int voidprint)
- if (exp && *exp)
+ if (exp != nullptr && *exp)
{
+ /* '*((int *(*) (void)) __errno_location) ()' is incompatible with
+ function descriptors. */
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 d419b89..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
-@@ -3145,6 +3145,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-rpm-scl.patch b/gdb-6.6-buildid-locate-rpm-scl.patch
index 81523e2..daabf53 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
-@@ -3496,6 +3496,16 @@ read_gdb_index_from_buffer (struct objfile *objfile,
+@@ -3456,6 +3456,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)
{
-@@ -3507,6 +3517,10 @@ to use the section anyway."),
+@@ -3467,6 +3477,10 @@ to use the section anyway."),
warning_printed = 1;
}
return 0;
diff --git a/gdb-6.6-buildid-locate-rpm.patch b/gdb-6.6-buildid-locate-rpm.patch
index e3189ba..97cc973 100644
--- a/gdb-6.6-buildid-locate-rpm.patch
+++ b/gdb-6.6-buildid-locate-rpm.patch
@@ -707,7 +707,7 @@ diff --git a/gdb/configure b/gdb/configure
GDB_DATADIR
DEBUGDIR
MAKEINFO_EXTRA_FLAGS
-@@ -855,6 +860,7 @@ with_gdb_datadir
+@@ -854,6 +859,7 @@ with_gdb_datadir
with_relocated_sources
with_auto_load_dir
with_auto_load_safe_path
@@ -715,7 +715,7 @@ diff --git a/gdb/configure b/gdb/configure
enable_targets
enable_64_bit_bfd
enable_gdbmi
-@@ -915,6 +921,11 @@ CCC
+@@ -914,6 +920,11 @@ CCC
CPP
MAKEINFO
MAKEINFOFLAGS
@@ -727,7 +727,7 @@ diff --git a/gdb/configure b/gdb/configure
YACC
YFLAGS
XMKMF'
-@@ -1588,6 +1599,8 @@ Optional Packages:
+@@ -1587,6 +1598,8 @@ Optional Packages:
[--with-auto-load-dir]
--without-auto-load-safe-path
do not restrict auto-loaded files locations
@@ -736,7 +736,7 @@ diff --git a/gdb/configure b/gdb/configure
--with-libunwind-ia64 use libunwind frame unwinding for ia64 targets
--with-curses use the curses library instead of the termcap
library
-@@ -1645,6 +1658,13 @@ Some influential environment variables:
+@@ -1644,6 +1657,13 @@ Some influential environment variables:
MAKEINFO Parent configure detects if it is of sufficient version.
MAKEINFOFLAGS
Parameters for MAKEINFO.
@@ -750,7 +750,7 @@ diff --git a/gdb/configure b/gdb/configure
YACC The `Yet Another Compiler Compiler' implementation to use.
Defaults to the first program found out of: `bison -y', `byacc',
`yacc'.
-@@ -6626,6 +6646,494 @@ _ACEOF
+@@ -6503,6 +6523,494 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5
$as_echo "$with_auto_load_safe_path" >&6; }
@@ -1248,7 +1248,7 @@ diff --git a/gdb/configure b/gdb/configure
diff --git a/gdb/configure.ac b/gdb/configure.ac
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
-@@ -166,6 +166,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir,
+@@ -144,6 +144,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir,
[Directories safe to hold auto-loaded files.])
AC_MSG_RESULT([$with_auto_load_safe_path])
diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch
index b0bc634..878feee 100644
--- a/gdb-6.6-buildid-locate.patch
+++ b/gdb-6.6-buildid-locate.patch
@@ -932,7 +932,7 @@ diff --git a/gdb/build-id.h b/gdb/build-id.h
diff --git a/gdb/coffread.c b/gdb/coffread.c
--- a/gdb/coffread.c
+++ b/gdb/coffread.c
-@@ -717,7 +717,8 @@ coff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
+@@ -710,7 +710,8 @@ coff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
/* Try to add separate debug file if no symbols table found. */
if (!objfile_has_partial_symbols (objfile))
{
@@ -1036,7 +1036,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
-@@ -20183,6 +20183,27 @@ information files.
+@@ -20427,6 +20427,27 @@ information files.
@end table
@@ -1067,19 +1067,29 @@ diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
diff --git a/gdb/dwarf-index-cache.c b/gdb/dwarf-index-cache.c
--- a/gdb/dwarf-index-cache.c
+++ b/gdb/dwarf-index-cache.c
-@@ -93,7 +93,7 @@ index_cache::store (struct dwarf2_per_objfile *dwarf2_per_objfile)
- if (!enabled ())
+@@ -94,7 +94,7 @@ index_cache::store (struct dwarf2_per_objfile *dwarf2_per_objfile)
return;
+ /* Get build id of objfile. */
- const bfd_build_id *build_id = build_id_bfd_get (obj->obfd);
+ const bfd_build_id *build_id = build_id_bfd_shdr_get (obj->obfd);
if (build_id == nullptr)
{
if (debug_index_cache)
+@@ -112,7 +112,8 @@ index_cache::store (struct dwarf2_per_objfile *dwarf2_per_objfile)
+
+ if (dwz != nullptr)
+ {
+- const bfd_build_id *dwz_build_id = build_id_bfd_get (dwz->dwz_bfd.get ());
++ const bfd_build_id *dwz_build_id
++ = build_id_bfd_shdr_get (dwz->dwz_bfd.get ());
+
+ if (dwz_build_id == nullptr)
+ {
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
-@@ -2722,7 +2722,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
+@@ -2677,7 +2677,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
}
if (dwz_bfd == NULL)
@@ -1088,7 +1098,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
if (dwz_bfd == NULL)
error (_("could not find '.gnu_debugaltlink' file for %s"),
-@@ -6232,7 +6232,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
+@@ -6189,7 +6189,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
static gdb::array_view<const gdb_byte>
get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
{
@@ -1097,7 +1107,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
if (build_id == nullptr)
return {};
-@@ -6245,7 +6245,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
+@@ -6202,7 +6202,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
static gdb::array_view<const gdb_byte>
get_gdb_index_contents_from_cache_dwz (objfile *obj, dwz_file *dwz)
{
@@ -1109,7 +1119,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
diff --git a/gdb/elfread.c b/gdb/elfread.c
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
-@@ -1290,7 +1290,9 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
+@@ -1284,7 +1284,9 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
&& objfile->separate_debug_objfile == NULL
&& objfile->separate_debug_objfile_backlink == NULL)
{
@@ -1120,7 +1130,7 @@ diff --git a/gdb/elfread.c b/gdb/elfread.c
if (debugfile.empty ())
debugfile = find_separate_debug_file_by_debuglink (objfile);
-@@ -1302,6 +1304,10 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
+@@ -1296,6 +1298,10 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
symbol_file_add_separate (debug_bfd.get (), debugfile.c_str (),
symfile_flags, objfile);
}
diff --git a/gdb-6.8-quit-never-aborts.patch b/gdb-6.8-quit-never-aborts.patch
index 237c730..baab460 100644
--- a/gdb-6.8-quit-never-aborts.patch
+++ b/gdb-6.8-quit-never-aborts.patch
@@ -45,7 +45,7 @@ diff --git a/gdb/extension.c b/gdb/extension.c
diff --git a/gdb/top.c b/gdb/top.c
--- a/gdb/top.c
+++ b/gdb/top.c
-@@ -1686,7 +1686,13 @@ quit_force (int *exit_arg, int from_tty)
+@@ -1677,7 +1677,13 @@ quit_force (int *exit_arg, int from_tty)
qt.from_tty = from_tty;
diff --git a/gdb-archer-pie-addons-keep-disabled.patch b/gdb-archer-pie-addons-keep-disabled.patch
index 9cd534c..de2a95c 100644
--- a/gdb-archer-pie-addons-keep-disabled.patch
+++ b/gdb-archer-pie-addons-keep-disabled.patch
@@ -8,7 +8,7 @@ Subject: gdb-archer-pie-addons-keep-disabled.patch
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
-@@ -15428,6 +15428,50 @@ static struct cmd_list_element *enablebreaklist = NULL;
+@@ -15416,6 +15416,50 @@ static struct cmd_list_element *enablebreaklist = NULL;
cmd_list_element *commands_cmd_element = nullptr;
@@ -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
-@@ -1664,6 +1664,9 @@ extern const char *ep_parse_optional_if_clause (const char **arg);
+@@ -1674,6 +1674,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.patch b/gdb-archer.patch
index 44d4849..f28902e 100644
--- a/gdb-archer.patch
+++ b/gdb-archer.patch
@@ -14,22 +14,6 @@ commit 718a1618b2f691a7f407213bb50f100ac59f91c3
tromey/python
-diff --git a/gdb/Makefile.in b/gdb/Makefile.in
---- a/gdb/Makefile.in
-+++ b/gdb/Makefile.in
-@@ -2084,6 +2084,12 @@ stamp-h: $(srcdir)/config.in config.status
- CONFIG_LINKS= \
- $(SHELL) config.status
-
-+.gdbinit: $(srcdir)/gdbinit.in config.status
-+ CONFIG_FILES=".gdbinit:gdbinit.in" \
-+ CONFIG_COMMANDS= \
-+ CONFIG_HEADERS= \
-+ $(SHELL) config.status
-+
- config.status: $(srcdir)/configure configure.nat configure.tgt configure.host ../bfd/development.sh
- $(SHELL) config.status --recheck
-
diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
--- a/gdb/data-directory/Makefile.in
+++ b/gdb/data-directory/Makefile.in
@@ -41,11 +25,10 @@ diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
gdb/command/explore.py \
gdb/command/backtrace.py \
gdb/command/frame_filters.py \
-@@ -92,6 +93,8 @@ PYTHON_FILE_LIST = \
+@@ -92,6 +93,7 @@ PYTHON_FILE_LIST = \
gdb/function/as_string.py \
gdb/function/caller_is.py \
gdb/function/strfns.py \
-+ gdb/function/caller_is.py \
+ gdb/function/in_scope.py \
gdb/printer/__init__.py \
gdb/printer/bound_registers.py
@@ -53,7 +36,7 @@ diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
-@@ -1251,6 +1251,16 @@ for remote debugging.
+@@ -1252,6 +1252,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.
@@ -466,7 +449,7 @@ diff --git a/gdb/python/python.c b/gdb/python/python.c
/* Return a sequence holding all the Progspaces. */
static PyObject *
-@@ -1928,6 +2018,8 @@ PyMethodDef python_GdbMethods[] =
+@@ -1927,6 +2017,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." },
@@ -478,11 +461,7 @@ diff --git a/gdb/python/python.c b/gdb/python/python.c
diff --git a/gdb/python/python.h b/gdb/python/python.h
--- a/gdb/python/python.h
+++ b/gdb/python/python.h
-@@ -25,7 +25,10 @@
- /* This is all that python exports to gdb. */
- extern const struct extension_language_defn extension_language_python;
-
-+
+@@ -28,4 +28,6 @@ extern const struct extension_language_defn extension_language_python;
/* Command element for the 'python' command. */
extern cmd_list_element *python_cmd_element;
@@ -528,14 +507,3 @@ diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py
# Test either C or C++ values.
-diff --git a/gdb/varobj.c b/gdb/varobj.c
---- a/gdb/varobj.c
-+++ b/gdb/varobj.c
-@@ -217,7 +217,6 @@ is_root_p (const struct varobj *var)
- }
-
- #ifdef HAVE_PYTHON
--
- /* See python-internal.h. */
- gdbpy_enter_varobj::gdbpy_enter_varobj (const struct varobj *var)
- : gdbpy_enter (var->root->exp->gdbarch, var->root->exp->language_defn)
diff --git a/gdb-attach-fail-reasons-5of5.patch b/gdb-attach-fail-reasons-5of5.patch
index 236aab8..c7f88d6 100644
--- a/gdb-attach-fail-reasons-5of5.patch
+++ b/gdb-attach-fail-reasons-5of5.patch
@@ -68,7 +68,7 @@ diff --git a/gdb/config.in b/gdb/config.in
diff --git a/gdb/configure b/gdb/configure
--- a/gdb/configure
+++ b/gdb/configure
-@@ -15814,6 +15814,64 @@ cat >>confdefs.h <<_ACEOF
+@@ -15691,6 +15691,64 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
@@ -136,7 +136,7 @@ diff --git a/gdb/configure b/gdb/configure
diff --git a/gdb/configure.ac b/gdb/configure.ac
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
-@@ -2039,6 +2039,10 @@ case $host_os in
+@@ -2017,6 +2017,10 @@ case $host_os in
esac
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
@@ -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
-@@ -1098,7 +1098,16 @@ linux_nat_target::create_inferior (const char *exec_file,
+@@ -1095,7 +1095,16 @@ linux_nat_target::create_inferior (const char *exec_file,
/* Make sure we report all signals during startup. */
pass_signals ({});
diff --git a/gdb-btrobust.patch b/gdb-btrobust.patch
index 7fe9eb3..c28ab06 100644
--- a/gdb-btrobust.patch
+++ b/gdb-btrobust.patch
@@ -14,7 +14,7 @@ printed, but a default backtrace will occur in this case.
diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c
--- a/gdb/python/py-framefilter.c
+++ b/gdb/python/py-framefilter.c
-@@ -1138,6 +1138,7 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
+@@ -1139,6 +1139,7 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
htab_eq_pointer,
NULL));
@@ -22,7 +22,7 @@ diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c
while (true)
{
gdbpy_ref<> item (PyIter_Next (iterable.get ()));
-@@ -1146,8 +1147,8 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
+@@ -1147,8 +1148,8 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
{
if (PyErr_Occurred ())
{
@@ -33,7 +33,7 @@ diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c
}
break;
}
-@@ -1179,7 +1180,8 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
+@@ -1180,7 +1181,8 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
/* Do not exit on error printing a single frame. Print the
error and continue with other frames. */
if (success == EXT_LANG_BT_ERROR)
diff --git a/gdb-bz568248-oom-is-error.patch b/gdb-bz568248-oom-is-error.patch
index 48116f0..b1e33c2 100644
--- a/gdb-bz568248-oom-is-error.patch
+++ b/gdb-bz568248-oom-is-error.patch
@@ -53,7 +53,7 @@ gdb/
diff --git a/gdb/utils.c b/gdb/utils.c
--- a/gdb/utils.c
+++ b/gdb/utils.c
-@@ -692,13 +692,11 @@ malloc_failure (long size)
+@@ -689,13 +689,11 @@ malloc_failure (long size)
{
if (size > 0)
{
diff --git a/gdb-fedora-libncursesw.patch b/gdb-fedora-libncursesw.patch
index cc4571d..5536b9a 100644
--- a/gdb-fedora-libncursesw.patch
+++ b/gdb-fedora-libncursesw.patch
@@ -12,7 +12,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1270534
diff --git a/gdb/configure b/gdb/configure
--- a/gdb/configure
+++ b/gdb/configure
-@@ -9418,6 +9418,7 @@ if test x"$prefer_curses" = xyes; then
+@@ -9295,6 +9295,7 @@ if test x"$prefer_curses" = xyes; then
# search /usr/local/include, if ncurses is installed in /usr/local. A
# default installation of ncurses on alpha*-dec-osf* will lead to such
# a situation.
@@ -20,7 +20,7 @@ diff --git a/gdb/configure b/gdb/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing waddstr" >&5
$as_echo_n "checking for library containing waddstr... " >&6; }
if ${ac_cv_search_waddstr+:} false; then :
-@@ -9442,7 +9443,7 @@ return waddstr ();
+@@ -9319,7 +9320,7 @@ return waddstr ();
return 0;
}
_ACEOF
@@ -29,7 +29,7 @@ diff --git a/gdb/configure b/gdb/configure
if test -z "$ac_lib"; then
ac_res="none required"
else
-@@ -9516,6 +9517,7 @@ case $host_os in
+@@ -9393,6 +9394,7 @@ case $host_os in
esac
# These are the libraries checked by Readline.
@@ -37,7 +37,7 @@ diff --git a/gdb/configure b/gdb/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5
$as_echo_n "checking for library containing tgetent... " >&6; }
if ${ac_cv_search_tgetent+:} false; then :
-@@ -9540,7 +9542,7 @@ return tgetent ();
+@@ -9417,7 +9419,7 @@ return tgetent ();
return 0;
}
_ACEOF
@@ -49,7 +49,7 @@ diff --git a/gdb/configure b/gdb/configure
diff --git a/gdb/configure.ac b/gdb/configure.ac
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
-@@ -743,7 +743,8 @@ if test x"$prefer_curses" = xyes; then
+@@ -721,7 +721,8 @@ if test x"$prefer_curses" = xyes; then
# search /usr/local/include, if ncurses is installed in /usr/local. A
# default installation of ncurses on alpha*-dec-osf* will lead to such
# a situation.
@@ -59,7 +59,7 @@ diff --git a/gdb/configure.ac b/gdb/configure.ac
if test "$ac_cv_search_waddstr" != no; then
curses_found=yes
-@@ -785,7 +786,8 @@ case $host_os in
+@@ -763,7 +764,8 @@ case $host_os in
esac
# These are the libraries checked by Readline.
diff --git a/gdb-gnat-dwarf-crash-3of3.patch b/gdb-gnat-dwarf-crash-3of3.patch
index c1caccb..29eaab9 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
-@@ -10590,6 +10590,13 @@ private:
+@@ -10543,6 +10543,13 @@ private:
static void
process_die (struct die_info *die, struct dwarf2_cu *cu)
{
@@ -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,
-@@ -1036,6 +1042,9 @@ linux_nat_post_attach_wait (ptid_t ptid, int *signalled)
+@@ -1033,6 +1039,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 /
-@@ -1367,6 +1376,25 @@ get_detach_signal (struct lwp_info *lp)
+@@ -1364,6 +1373,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;
}
-@@ -1515,6 +1543,10 @@ linux_nat_target::detach (inferior *inf, int from_tty)
+@@ -1512,6 +1540,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
}
}
-@@ -1772,6 +1804,16 @@ linux_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signo)
+@@ -1769,6 +1801,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)
{
-@@ -3773,6 +3815,10 @@ linux_nat_target::mourn_inferior ()
+@@ -3770,6 +3812,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-jit-reader-multilib.patch b/gdb-jit-reader-multilib.patch
index 4a50fa9..89eab10 100644
--- a/gdb-jit-reader-multilib.patch
+++ b/gdb-jit-reader-multilib.patch
@@ -9,7 +9,7 @@ Subject: gdb-jit-reader-multilib.patch
diff --git a/gdb/configure b/gdb/configure
--- a/gdb/configure
+++ b/gdb/configure
-@@ -9705,10 +9705,12 @@ _ACEOF
+@@ -9582,10 +9582,12 @@ _ACEOF
@@ -28,7 +28,7 @@ diff --git a/gdb/configure b/gdb/configure
diff --git a/gdb/configure.ac b/gdb/configure.ac
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
-@@ -820,10 +820,12 @@ AC_CHECK_SIZEOF(unsigned long long)
+@@ -798,10 +798,12 @@ AC_CHECK_SIZEOF(unsigned long long)
AC_CHECK_SIZEOF(unsigned long)
AC_CHECK_SIZEOF(unsigned __int128)
diff --git a/gdb-libexec-add-index.patch b/gdb-libexec-add-index.patch
index c3990ef..19f6b54 100644
--- a/gdb-libexec-add-index.patch
+++ b/gdb-libexec-add-index.patch
@@ -14,9 +14,9 @@ Subject: gdb-libexec-add-index.patch
diff --git a/gdb/contrib/gdb-add-index.sh b/gdb/contrib/gdb-add-index.sh
--- a/gdb/contrib/gdb-add-index.sh
+++ b/gdb/contrib/gdb-add-index.sh
-@@ -21,6 +21,20 @@
- GDB=${GDB:=gdb}
+@@ -22,6 +22,20 @@ GDB=${GDB:=gdb}
OBJCOPY=${OBJCOPY:=objcopy}
+ READELF=${READELF:=readelf}
+GDB2=/usr/libexec/gdb
+if test -x $GDB2 && ! which $GDB &>/dev/null; then
diff --git a/gdb-linux_perf-bundle.patch b/gdb-linux_perf-bundle.patch
index dae4ae3..552b8dc 100644
--- a/gdb-linux_perf-bundle.patch
+++ b/gdb-linux_perf-bundle.patch
@@ -9,7 +9,7 @@ Subject: gdb-linux_perf-bundle.patch
diff --git a/gdb/configure b/gdb/configure
--- a/gdb/configure
+++ b/gdb/configure
-@@ -12053,7 +12053,7 @@ else
+@@ -11930,7 +11930,7 @@ else
#include <linux/perf_event.h>
#ifndef PERF_ATTR_SIZE_VER5
@@ -21,7 +21,7 @@ diff --git a/gdb/configure b/gdb/configure
diff --git a/gdb/configure.ac b/gdb/configure.ac
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
-@@ -1488,7 +1488,7 @@ else
+@@ -1466,7 +1466,7 @@ else
AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
#include <linux/perf_event.h>
#ifndef PERF_ATTR_SIZE_VER5
diff --git a/gdb-moribund-utrace-workaround.patch b/gdb-moribund-utrace-workaround.patch
index c3e5c20..f8d6617 100644
--- a/gdb-moribund-utrace-workaround.patch
+++ b/gdb-moribund-utrace-workaround.patch
@@ -14,7 +14,7 @@ Bug in FSF GDB exploited by the ptrace-on-utrace interaction.
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
-@@ -11922,6 +11922,8 @@ update_global_location_list (enum ugll_insert_mode insert_mode)
+@@ -11911,6 +11911,8 @@ update_global_location_list (enum ugll_insert_mode insert_mode)
traps we can no longer explain. */
old_loc->events_till_retirement = 3 * (thread_count () + 1);
diff --git a/gdb-vla-intel-fortran-strides.patch b/gdb-vla-intel-fortran-strides.patch
index e489e6c..fc9da49 100644
--- a/gdb-vla-intel-fortran-strides.patch
+++ b/gdb-vla-intel-fortran-strides.patch
@@ -143,7 +143,7 @@ diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
-@@ -17839,7 +17839,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17763,7 +17763,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;
@@ -152,7 +152,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;
-@@ -17859,7 +17859,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17783,7 +17783,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
low.kind = PROP_CONST;
high.kind = PROP_CONST;
@@ -162,7 +162,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. */
-@@ -17892,6 +17894,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17816,6 +17818,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
break;
}
@@ -177,7 +177,7 @@ 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);
-@@ -17984,7 +17994,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17908,7 +17918,7 @@ 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;
@@ -1672,7 +1672,7 @@ new file mode 100644
diff --git a/gdb/testsuite/gdb.fortran/vla-ptype.exp b/gdb/testsuite/gdb.fortran/vla-ptype.exp
--- 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 = <not allocated>" "ptype vla2 not allocated"
+@@ -98,3 +98,7 @@ gdb_test "ptype vla2" "type = $real, allocatable \\(:,:,:\\)" "ptype vla2 not al
gdb_test "ptype vla2(5, 45, 20)" \
"no such vector element \\\(vector not allocated\\\)" \
"ptype vla2(5, 45, 20) not allocated"
@@ -1687,7 +1687,7 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp b/gdb/testsuite/gdb.fortra
gdb_test "print sizeof(vla1(3,2,1))" \
"no such vector element \\(vector not allocated\\)" \
"print sizeof non-allocated indexed vla1"
--gdb_test "print sizeof(vla1(3:4,2,1))" "slice out of range" \
+-gdb_test "print sizeof(vla1(3:4,2,1))" "array not allocated" \
+gdb_test "print sizeof(vla1(3:4,2,1))" \
+ "provided bound\\(s\\) outside array bound\\(s\\)" \
"print sizeof non-allocated sliced vla1"
@@ -1706,7 +1706,7 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp b/gdb/testsuite/gdb.fortra
gdb_test "print sizeof(pvla(3,2,1))" \
"no such vector element \\(vector not associated\\)" \
"print sizeof non-associated indexed pvla"
--gdb_test "print sizeof(pvla(3:4,2,1))" "slice out of range" \
+-gdb_test "print sizeof(pvla(3:4,2,1))" "array not associated" \
+gdb_test "print sizeof(pvla(3:4,2,1))" \
+ "provided bound\\(s\\) outside array bound\\(s\\)" \
"print sizeof non-associated sliced pvla"
@@ -1849,7 +1849,7 @@ diff --git a/gdb/valarith.c b/gdb/valarith.c
diff --git a/gdb/valops.c b/gdb/valops.c
--- a/gdb/valops.c
+++ b/gdb/valops.c
-@@ -3790,56 +3790,195 @@ value_of_this_silent (const struct language_defn *lang)
+@@ -3790,13 +3790,42 @@ value_of_this_silent (const struct language_defn *lang)
struct value *
value_slice (struct value *array, int lowbound, int length)
@@ -1896,6 +1896,9 @@ diff --git a/gdb/valops.c b/gdb/valops.c
if (TYPE_CODE (array_type) != TYPE_CODE_ARRAY
&& TYPE_CODE (array_type) != TYPE_CODE_STRING)
error (_("cannot take slice of non-array"));
+@@ -3806,45 +3835,155 @@ value_slice (struct value *array, int lowbound, int length)
+ if (type_not_associated (array_type))
+ error (_("array not associated"));
- range_type = TYPE_INDEX_TYPE (array_type);
- if (get_discrete_bounds (range_type, &lowerbound, &upperbound) < 0)
@@ -1963,7 +1966,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
/* FIXME-type-allocation: need a way to free this type when we are
- done with it. */
-- slice_range_type = create_static_range_type ((struct type *) NULL,
+- slice_range_type = create_static_range_type (NULL,
- TYPE_TARGET_TYPE (range_type),
- lowbound,
- lowbound + length - 1);
@@ -1985,7 +1988,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
+
+ slice_type = create_array_type (NULL, element_type, slice_range_type);
-- slice_type = create_array_type ((struct type *) NULL,
+- slice_type = create_array_type (NULL,
- element_type,
- slice_range_type);
- TYPE_CODE (slice_type) = TYPE_CODE (array_type);
diff --git a/gdb-vla-intel-fortran-vla-strings.patch b/gdb-vla-intel-fortran-vla-strings.patch
index 2d6c1d9..b46c895 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
-@@ -467,6 +467,8 @@ SH-5/SH64 running OpenBSD SH-5/SH64 support in sh*-*-openbsd*
+@@ -573,6 +573,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
-@@ -1833,7 +1833,8 @@ static void read_signatured_type (struct signatured_type *);
+@@ -1810,7 +1810,8 @@ 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,
@@ -87,7 +87,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
/* memory allocation interface */
-@@ -13759,7 +13760,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
+@@ -13686,7 +13687,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
{
newobj->static_link
= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
@@ -96,7 +96,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
}
cu->list_in_scope = cu->get_builder ()->get_local_symbols ();
-@@ -16518,7 +16519,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -16445,7 +16446,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
byte_stride_prop
= (struct dynamic_prop *) alloca (sizeof (struct dynamic_prop));
@@ -106,7 +106,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
if (!stride_ok)
{
complaint (_("unable to read array DW_AT_byte_stride "
-@@ -17279,29 +17281,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17203,29 +17205,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;
@@ -208,7 +208,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);
-@@ -17733,7 +17796,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17657,7 +17720,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,
@@ -218,7 +218,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
{
struct dwarf2_property_baton *baton;
struct obstack *obstack
-@@ -17744,14 +17808,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
+@@ -17668,14 +17732,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
if (attr_form_is_block (attr))
{
@@ -256,7 +256,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
}
else if (attr_form_is_ref (attr))
{
-@@ -17784,8 +17867,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
+@@ -17708,8 +17791,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
baton = XOBNEW (obstack, struct dwarf2_property_baton);
baton->referenced_type = die_type (target_die, target_cu);
baton->locexpr.per_cu = cu->per_cu;
@@ -287,7 +287,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);
-@@ -17896,7 +17999,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17820,7 +17923,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
if (attr)
@@ -296,7 +296,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),
-@@ -17904,7 +18007,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17828,7 +17931,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
if (attr)
@@ -305,7 +305,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]"),
-@@ -17913,10 +18016,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17837,10 +17940,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);
@@ -318,7 +318,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)
-@@ -25574,7 +25677,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
+@@ -25502,7 +25605,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_allocated, cu);
if (attr_form_is_block (attr))
{
@@ -327,7 +327,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
add_dyn_prop (DYN_PROP_ALLOCATED, prop, type);
}
else if (attr != NULL)
-@@ -25588,7 +25691,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
+@@ -25516,7 +25619,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_associated, cu);
if (attr_form_is_block (attr))
{
@@ -336,7 +336,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type);
}
else if (attr != NULL)
-@@ -25600,7 +25703,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
+@@ -25528,7 +25631,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);
@@ -348,63 +348,19 @@ 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
-@@ -37,7 +37,7 @@ static void f_type_print_args (struct type *, struct ui_file *);
- #endif
-
- static void f_type_print_varspec_suffix (struct type *, struct ui_file *, int,
-- int, int, int);
-+ int, int, int, int);
-
- void f_type_print_varspec_prefix (struct type *, struct ui_file *,
- int, int);
-@@ -53,18 +53,6 @@ f_print_type (struct type *type, const char *varstring, struct ui_file *stream,
- {
- enum type_code code;
-
-- if (type_not_associated (type))
-- {
-- val_print_not_associated (stream);
-- return;
-- }
--
-- if (type_not_allocated (type))
-- {
-- val_print_not_allocated (stream);
-- return;
-- }
--
- f_type_print_base (type, stream, show, level);
- code = TYPE_CODE (type);
- if ((varstring != NULL && *varstring != '\0')
-@@ -96,7 +84,7 @@ f_print_type (struct type *type, const char *varstring, struct ui_file *stream,
-
- 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);
- }
- }
-
-@@ -166,7 +154,7 @@ f_type_print_varspec_prefix (struct type *type, struct ui_file *stream,
- static void
- f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
- int show, int passed_a_ptr, int demangled_args,
-- int arrayprint_recurse_level)
-+ int arrayprint_recurse_level, int print_rank_only)
- {
- /* No static variables are permitted as an error call may occur during
- execution of this function. */
-@@ -188,36 +176,52 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
- fprintf_filtered (stream, "(");
-
- if (type_not_associated (type))
-- val_print_not_associated (stream);
-+ print_rank_only = 1;
- else if (type_not_allocated (type))
-- val_print_not_allocated (stream);
-+ print_rank_only = 1;
-+ else if ((TYPE_ASSOCIATED_PROP (type)
-+ && PROP_CONST != TYPE_DYN_PROP_KIND (TYPE_ASSOCIATED_PROP (type)))
+@@ -186,15 +186,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)))
+- || (TYPE_ALLOCATED_PROP (type)
+- && PROP_CONST != TYPE_DYN_PROP_KIND (TYPE_ALLOCATED_PROP (type)))
+- || (TYPE_DATA_LOCATION (type)
+- && PROP_CONST != TYPE_DYN_PROP_KIND (TYPE_DATA_LOCATION (type))))
+- {
+- /* This case exist when we ptype a typename which has the dynamic
+- properties but cannot be resolved as there is no object. */
+- print_rank_only = true;
+- }
+ || (TYPE_ALLOCATED_PROP (type)
+ && PROP_CONST != TYPE_DYN_PROP_KIND (TYPE_ALLOCATED_PROP (type)))
+ || (TYPE_DATA_LOCATION (type)
@@ -412,93 +368,39 @@ diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
+ /* This case exist when we ptype a typename which has the
+ dynamic properties but cannot be resolved as there is
+ no object. */
-+ print_rank_only = 1;
-+
-+ if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_ARRAY)
-+ f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
-+ 0, 0, arrayprint_recurse_level,
-+ print_rank_only);
-+
-+ if (print_rank_only == 1)
-+ fprintf_filtered (stream, ":");
- else
-- {
-- if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_ARRAY)
-- f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
-- 0, 0, arrayprint_recurse_level);
-+ {
-+ LONGEST lower_bound = f77_get_lowerbound (type);
-
-- LONGEST lower_bound = f77_get_lowerbound (type);
-+ if (lower_bound != 1) /* Not the default. */
-+ fprintf_filtered (stream, "%s:", plongest (lower_bound));
++ print_rank_only = true;
-- if (lower_bound != 1) /* Not the default. */
+ 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,
+ else
+ {
+ LONGEST lower_bound = f77_get_lowerbound (type);
++
+ if (lower_bound != 1) /* Not the default. */
- fprintf_filtered (stream, "%s:", plongest (lower_bound));
-+ /* Make sure that, if we have an assumed size array, we
-+ print out a warning and print the upperbound as '*'. */
++ fprintf_filtered (stream, "%s:", plongest (lower_bound));
-- /* Make sure that, if we have an assumed size array, we
-- print out a warning and print the upperbound as '*'. */
-+ if (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type))
-+ fprintf_filtered (stream, "*");
-+ else
-+ {
-+ LONGEST upper_bound = f77_get_upperbound (type);
-
-- if (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type))
-- fprintf_filtered (stream, "*");
-- else
-- {
-- LONGEST upper_bound = f77_get_upperbound (type);
-+ fprintf_filtered (stream, "%s", plongest (upper_bound));
-+ }
-+ }
+ /* 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,
+ {
+ LONGEST upper_bound = f77_get_upperbound (type);
- fputs_filtered (plongest (upper_bound), stream);
-- }
-+ if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_ARRAY)
-+ f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
-+ 0, 0, arrayprint_recurse_level,
-+ print_rank_only);
++ fprintf_filtered (stream, "%s", plongest (upper_bound));
+ }
+ }
-- if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_ARRAY)
-- f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
-- 0, 0, arrayprint_recurse_level);
-- }
- if (arrayprint_recurse_level == 1)
- fprintf_filtered (stream, ")");
- else
-@@ -228,8 +232,8 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
- case TYPE_CODE_PTR:
+@@ -238,7 +238,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);
+ arrayprint_recurse_level, false);
- fprintf_filtered (stream, " )");
-+ arrayprint_recurse_level, 0);
+ fprintf_filtered (stream, ")");
break;
case TYPE_CODE_FUNC:
-@@ -237,7 +241,8 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
- int i, nfields = TYPE_NFIELDS (type);
-
- f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
-- passed_a_ptr, 0, arrayprint_recurse_level);
-+ passed_a_ptr, 0, arrayprint_recurse_level,
-+ 0);
- if (passed_a_ptr)
- fprintf_filtered (stream, ") ");
- fprintf_filtered (stream, "(");
-@@ -416,7 +421,7 @@ f_type_print_base (struct type *type, struct ui_file *stream, int show,
- fputs_filtered (" :: ", stream);
- fputs_filtered (TYPE_FIELD_NAME (type, index), stream);
- f_type_print_varspec_suffix (TYPE_FIELD_TYPE (type, index),
-- stream, show - 1, 0, 0, 0);
-+ stream, show - 1, 0, 0, 0, 0);
- fputs_filtered ("\n", stream);
- }
- fprintfi_filtered (level, stream, "End Type ");
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -792,32 +694,12 @@ new file mode 100644
+gdb_test "print *((integer*) &intvla + 3)" "= 4" "print temporary pointer, allocated vla"
+gdb_test "print \$pc" "= \\(PTR TO -> \\( void \\(\\) \\(\\)\\)\\) $hex <pointers\\+\\d+>" "Print program counter"
diff --git a/gdb/testsuite/gdb.fortran/pointers.f90 b/gdb/testsuite/gdb.fortran/pointers.f90
-new file mode 100644
---- /dev/null
+--- a/gdb/testsuite/gdb.fortran/pointers.f90
+++ b/gdb/testsuite/gdb.fortran/pointers.f90
-@@ -0,0 +1,109 @@
-+! Copyright 2016 Free Software Foundation, Inc.
-+!
-+! This program is free software; you can redistribute it and/or modify
-+! it under the terms of the GNU General Public License as published by
-+! the Free Software Foundation; either version 3 of the License, or
-+! (at your option) any later version.
-+!
-+! This program is distributed in the hope that it will be useful,
-+! but WITHOUT ANY WARRANTY; without even the implied warranty of
-+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+! GNU General Public License for more details.
-+!
-+! You should have received a copy of the GNU General Public License
-+! along with this program. If not, see <http://www.gnu.org/licenses/>.
-+
-+program pointers
-+
-+ type :: two
-+ integer, allocatable :: ivla1 (:)
-+ integer, allocatable :: ivla2 (:, :)
-+ end type two
-+
+@@ -20,21 +20,34 @@ program pointers
+ integer, allocatable :: ivla2 (:, :)
+ end type two
+
+ type :: typeWithPointer
+ integer i
+ type(typeWithPointer), pointer:: p
@@ -827,229 +709,129 @@ new file mode 100644
+ type (two), pointer :: p
+ end type twoPtr
+
-+ logical, target :: logv
-+ complex, target :: comv
-+ character, target :: charv
-+ character (len=3), target :: chara
-+ integer, target :: intv
-+ integer, target, dimension (10,2) :: inta
+ logical, target :: logv
+ complex, target :: comv
+ character, target :: charv
+ character (len=3), target :: chara
+ integer, target :: intv
+ integer, target, dimension (10,2) :: inta
+- real, target :: realv
+- type(two), target :: twov
+ integer, target, allocatable, dimension (:) :: intvla
+ real, target :: realv
+ type(two), target :: twov
+ type(twoPtr) :: arrayOfPtr (3)
+ type(typeWithPointer), target:: cyclicp1,cyclicp2
-+
-+ logical, pointer :: logp
-+ complex, pointer :: comp
+
+ logical, pointer :: logp
+ complex, pointer :: comp
+- character, pointer :: charp
+- character (len=3), pointer :: charap
+ character, pointer:: charp
+ character (len=3), pointer:: charap
-+ integer, pointer :: intp
-+ integer, pointer, dimension (:,:) :: intap
+ integer, pointer :: intp
+ integer, pointer, dimension (:,:) :: intap
+ integer, pointer, dimension (:) :: intvlap
-+ real, pointer :: realp
-+ type(two), pointer :: twop
-+
-+ nullify (logp)
-+ nullify (comp)
-+ nullify (charp)
-+ nullify (charap)
-+ nullify (intp)
-+ nullify (intap)
+ real, pointer :: realp
+ type(two), pointer :: twop
+
+@@ -44,8 +57,14 @@ program pointers
+ nullify (charap)
+ nullify (intp)
+ nullify (intap)
+ nullify (intvlap)
-+ nullify (realp)
-+ nullify (twop)
+ nullify (realp)
+ nullify (twop)
+ nullify (arrayOfPtr(1)%p)
+ nullify (arrayOfPtr(2)%p)
+ nullify (arrayOfPtr(3)%p)
+ nullify (cyclicp1%p)
+ nullify (cyclicp2%p)
-+
-+ logp => logv ! Before pointer assignment
-+ comp => comv
-+ charp => charv
-+ charap => chara
-+ intp => intv
-+ intap => inta
+
+ logp => logv ! Before pointer assignment
+ comp => comv
+@@ -53,8 +72,14 @@ program pointers
+ charap => chara
+ intp => intv
+ intap => inta
+ intvlap => intvla
-+ realp => realv
-+ twop => twov
+ realp => realv
+ twop => twov
+ arrayOfPtr(2)%p => twov
+ cyclicp1%i = 1
+ cyclicp1%p => cyclicp2
+ cyclicp2%i = 2
+ cyclicp2%p => cyclicp1
-+
-+ logv = associated(logp) ! Before value assignment
-+ comv = cmplx(1,2)
-+ charv = "a"
-+ chara = "abc"
-+ intv = 10
-+ inta(:,:) = 1
-+ inta(3,1) = 3
+
+ logv = associated(logp) ! Before value assignment
+ comv = cmplx(1,2)
+@@ -63,6 +88,10 @@ program pointers
+ intv = 10
+ inta(:,:) = 1
+ inta(3,1) = 3
+ allocate (intvla(10))
+ intvla(:) = 2
+ intvla(4) = 4
+ intvlap => intvla
-+ realv = 3.14
-+
-+ allocate (twov%ivla1(3))
-+ allocate (twov%ivla2(2,2))
-+ twov%ivla1(1) = 11
-+ twov%ivla1(2) = 12
-+ twov%ivla1(3) = 13
-+ twov%ivla2(1,1) = 211
-+ twov%ivla2(2,1) = 221
-+ twov%ivla2(1,2) = 212
-+ twov%ivla2(2,2) = 222
-+
-+ intv = intv + 1 ! After value assignment
-+
-+end program pointers
+ realv = 3.14
+
+ allocate (twov%ivla1(3))
diff --git a/gdb/testsuite/gdb.fortran/print_type.exp b/gdb/testsuite/gdb.fortran/print_type.exp
-new file mode 100644
---- /dev/null
+--- a/gdb/testsuite/gdb.fortran/print_type.exp
+++ b/gdb/testsuite/gdb.fortran/print_type.exp
-@@ -0,0 +1,100 @@
-+# Copyright 2016 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program. If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile "pointers.f90"
-+load_lib fortran.exp
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+ {debug f90 quiet}] } {
-+ return -1
-+}
-+
-+
-+if ![runto_main] {
-+ untested "could not run to main"
-+ return -1
-+}
-+
-+# Depending on the compiler being used, the type names can be printed differently.
-+set logical [fortran_logical4]
-+set real [fortran_real4]
-+set int [fortran_int4]
-+set complex [fortran_complex4]
-+
-+gdb_breakpoint [gdb_get_line_number "Before pointer assignment"]
-+gdb_continue_to_breakpoint "Before pointer assignment"
-+gdb_test "ptype logp" "type = PTR TO -> \\( $logical\\)" "ptype logp, not associated"
-+gdb_test "ptype comp" "type = PTR TO -> \\( $complex\\)" "ptype comp, not associated"
-+gdb_test "ptype charp" "type = PTR TO -> \\( character\\*1\\)" "ptype charp, not associated"
-+gdb_test "ptype charap" "type = PTR TO -> \\( character\\*3\\)" "ptype charap, not associated"
-+gdb_test "ptype intp" "type = PTR TO -> \\( $int\\)" "ptype intp, not associated"
-+set test "ptype intap, not associated"
-+gdb_test_multiple "ptype intap" $test {
-+ -re "type = PTR TO -> \\( $int \\(:,:\\)\\)\r\n$gdb_prompt $" {
-+ pass $test
-+ }
-+ -re "type = $int \\(:,:\\)\r\n$gdb_prompt $" {
-+ pass $test
-+ }
-+}
-+gdb_test "ptype realp" "type = PTR TO -> \\( $real\\)" "ptype realp, not associated"
-+gdb_test "ptype twop" \
-+ [multi_line "type = PTR TO -> \\( Type two" \
-+ " $int, allocatable :: ivla1\\(:\\)" \
-+ " $int, allocatable :: ivla2\\(:,:\\)" \
-+ "End Type two\\)"] \
-+ "ptype twop, not associated"
-+gdb_test "ptype two" \
-+ [multi_line "type = Type two" \
-+ " $int, allocatable :: ivla1\\(:\\)" \
-+ " $int, allocatable :: ivla2\\(:,:\\)" \
-+ "End Type two"]
-+
-+
-+gdb_breakpoint [gdb_get_line_number "Before value assignment"]
-+gdb_continue_to_breakpoint "Before value assignment"
-+gdb_test "ptype twop" \
-+ [multi_line "type = PTR TO -> \\( Type two" \
-+ " $int, allocatable :: ivla1\\(:\\)" \
-+ " $int, allocatable :: ivla2\\(:,:\\)" \
+@@ -1,5 +1,6 @@
+ # Copyright 2019 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
+@@ -40,7 +41,7 @@ set complex [fortran_complex4]
+ # matches the string TYPE.
+ proc check_pointer_type { var_name type } {
+ gdb_test "ptype ${var_name}" \
+- "type = PTR TO -> \\( ${type} \\)"
++ "type = PTR TO -> \\( ${type}\\)"
+ }
+
+ gdb_breakpoint [gdb_get_line_number "Before pointer assignment"]
+@@ -85,7 +86,8 @@ gdb_test "ptype twop" \
+ [multi_line "type = PTR TO -> \\( Type two" \
+ " $int, allocatable :: ivla1\\(:\\)" \
+ " $int, allocatable :: ivla2\\(:,:\\)" \
+- "End Type two \\)"]
+ "End Type two\\)"]
+
-+
-+gdb_breakpoint [gdb_get_line_number "After value assignment"]
-+gdb_continue_to_breakpoint "After value assignment"
-+gdb_test "ptype logv" "type = $logical"
-+gdb_test "ptype comv" "type = $complex"
-+gdb_test "ptype charv" "type = character\\*1"
-+gdb_test "ptype chara" "type = character\\*3"
-+gdb_test "ptype intv" "type = $int"
-+gdb_test "ptype inta" "type = $int \\(10,2\\)"
-+gdb_test "ptype realv" "type = $real"
-+
-+
+
+ gdb_breakpoint [gdb_get_line_number "After value assignment"]
+ gdb_continue_to_breakpoint "After value assignment"
+@@ -97,11 +99,11 @@ gdb_test "ptype intv" "type = $int"
+ gdb_test "ptype inta" "type = $int \\(10,2\\)"
+ gdb_test "ptype realv" "type = $real"
+
+-gdb_test "ptype logp" "type = PTR TO -> \\( $logical \\)"
+-gdb_test "ptype comp" "type = PTR TO -> \\( $complex \\)"
+-gdb_test "ptype charp" "type = PTR TO -> \\( character\\*1 \\)"
+-gdb_test "ptype charap" "type = PTR TO -> \\( character\\*3 \\)"
+-gdb_test "ptype intp" "type = PTR TO -> \\( $int \\)"
+gdb_test "ptype logp" "type = PTR TO -> \\( $logical\\)"
+gdb_test "ptype comp" "type = PTR TO -> \\( $complex\\)"
+gdb_test "ptype charp" "type = PTR TO -> \\( character\\*1\\)"
+gdb_test "ptype charap" "type = PTR TO -> \\( character\\*3\\)"
+gdb_test "ptype intp" "type = PTR TO -> \\( $int\\)"
-+set test "ptype intap"
-+gdb_test_multiple $test $test {
-+ -re "type = $int \\(10,2\\)\r\n$gdb_prompt $" {
-+ pass $test
-+ }
-+ -re "type = PTR TO -> \\( $int \\(10,2\\)\\)\r\n$gdb_prompt $" {
-+ pass $test
-+ }
-+}
+ set test "ptype intap"
+ gdb_test_multiple $test $test {
+ -re "type = $int \\(10,2\\)\r\n$gdb_prompt $" {
+@@ -111,4 +113,4 @@ gdb_test_multiple $test $test {
+ pass $test
+ }
+ }
+-gdb_test "ptype realp" "type = PTR TO -> \\( $real \\)"
+gdb_test "ptype realp" "type = PTR TO -> \\( $real\\)"
diff --git a/gdb/testsuite/gdb.fortran/vla-ptype.exp b/gdb/testsuite/gdb.fortran/vla-ptype.exp
--- a/gdb/testsuite/gdb.fortran/vla-ptype.exp
+++ b/gdb/testsuite/gdb.fortran/vla-ptype.exp
-@@ -32,9 +32,9 @@ set real [fortran_real4]
- # Check the ptype of various VLA states and pointer to VLA's.
- gdb_breakpoint [gdb_get_line_number "vla1-init"]
- gdb_continue_to_breakpoint "vla1-init"
--gdb_test "ptype vla1" "type = <not allocated>" "ptype vla1 not initialized"
--gdb_test "ptype vla2" "type = <not allocated>" "ptype vla2 not initialized"
--gdb_test "ptype pvla" "type = <not associated>" "ptype pvla not initialized"
-+gdb_test "ptype vla1" "type = $real, allocatable \\(:,:,:\\)" "ptype vla1 not initialized"
-+gdb_test "ptype vla2" "type = $real, allocatable \\(:,:,:\\)" "ptype vla2 not initialized"
-+gdb_test "ptype pvla" "type = $real \\(:,:,:\\)" "ptype pvla not initialized"
- gdb_test "ptype vla1(3, 6, 9)" "no such vector element \\\(vector not allocated\\\)" \
- "ptype vla1(3, 6, 9) not initialized"
- gdb_test "ptype vla2(5, 45, 20)" \
-@@ -81,24 +81,24 @@ gdb_test "ptype vla2(5, 45, 20)" "type = $real" \
-
- gdb_breakpoint [gdb_get_line_number "pvla-deassociated"]
- gdb_continue_to_breakpoint "pvla-deassociated"
--gdb_test "ptype pvla" "type = <not associated>" "ptype pvla deassociated"
-+gdb_test "ptype pvla" "type = $real \\(:,:,:\\)" "ptype pvla deassociated"
- gdb_test "ptype pvla(5, 45, 20)" \
- "no such vector element \\\(vector not associated\\\)" \
- "ptype pvla(5, 45, 20) not associated"
-
- gdb_breakpoint [gdb_get_line_number "vla1-deallocated"]
- gdb_continue_to_breakpoint "vla1-deallocated"
--gdb_test "ptype vla1" "type = <not allocated>" "ptype vla1 not allocated"
-+gdb_test "ptype vla1" "type = $real, allocatable \\(:,:,:\\)" "ptype vla1 not allocated"
- gdb_test "ptype vla1(3, 6, 9)" "no such vector element \\\(vector not allocated\\\)" \
- "ptype vla1(3, 6, 9) not allocated"
-
- gdb_breakpoint [gdb_get_line_number "vla2-deallocated"]
- gdb_continue_to_breakpoint "vla2-deallocated"
--gdb_test "ptype vla2" "type = <not allocated>" "ptype vla2 not allocated"
-+gdb_test "ptype vla2" "type = $real, allocatable \\(:,:,:\\)" "ptype vla2 not allocated"
- gdb_test "ptype vla2(5, 45, 20)" \
- "no such vector element \\\(vector not allocated\\\)" \
- "ptype vla2(5, 45, 20) not allocated"
+@@ -101,4 +101,4 @@ gdb_test "ptype vla2(5, 45, 20)" \
gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"]
gdb_continue_to_breakpoint "vla1-neg-bounds"
@@ -1207,30 +989,6 @@ new file mode 100644
+ var_char_p => null()
+ l = associated(var_char_p) ! var_char_p-not-associated
+end program vla_strings
-diff --git a/gdb/testsuite/gdb.fortran/vla-type.exp b/gdb/testsuite/gdb.fortran/vla-type.exp
---- a/gdb/testsuite/gdb.fortran/vla-type.exp
-+++ b/gdb/testsuite/gdb.fortran/vla-type.exp
-@@ -132,7 +132,10 @@ gdb_test "ptype fivearr(2)%tone" \
- "End Type one" ]
-
- # Check allocation status of dynamic array and it's dynamic members
--gdb_test "ptype fivedynarr" "type = <not allocated>"
-+gdb_test "ptype fivedynarr" \
-+ [multi_line "type = Type five" \
-+ " Type one :: tone" \
-+ "End Type five, allocatable \\(:\\)" ]
- gdb_test "next" ""
- gdb_test "ptype fivedynarr(2)" \
- [multi_line "type = Type five" \
-@@ -141,7 +144,7 @@ gdb_test "ptype fivedynarr(2)" \
- "ptype fivedynarr(2), tone is not allocated"
- gdb_test "ptype fivedynarr(2)%tone" \
- [multi_line "type = Type one" \
-- " $int, allocatable :: ivla\\(<not allocated>\\)" \
-+ " $int, allocatable :: ivla\\(:,:,:\\)" \
- "End Type one" ] \
- "ptype fivedynarr(2)%tone, not allocated"
-
diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran/vla-value.exp
--- a/gdb/testsuite/gdb.fortran/vla-value.exp
+++ b/gdb/testsuite/gdb.fortran/vla-value.exp
@@ -1238,7 +996,7 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran
gdb_continue_to_breakpoint "vla1-init"
gdb_test "print vla1" " = <not allocated>" "print non-allocated vla1"
gdb_test "print &vla1" \
-- " = \\\(PTR TO -> \\\( $real, allocatable \\\(<not allocated>\\\) \\\)\\\) $hex" \
+- " = \\\(PTR TO -> \\\( $real, allocatable \\\(:,:,:\\\) \\\)\\\) $hex" \
+ " = \\\(PTR TO -> \\\( $real, allocatable \\\(:,:,:\\\)\\\)\\\) $hex" \
"print non-allocated &vla1"
gdb_test "print vla1(1,1,1)" "no such vector element \\\(vector not allocated\\\)" \
@@ -1256,7 +1014,7 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran
# Try to access values in undefined pointer to VLA (dangling)
gdb_test "print pvla" " = <not associated>" "print undefined pvla"
gdb_test "print &pvla" \
-- " = \\\(PTR TO -> \\\( $real \\\(<not associated>\\\) \\\)\\\) $hex" \
+- " = \\\(PTR TO -> \\\( $real \\\(:,:,:\\\) \\\)\\\) $hex" \
+ " = \\\(PTR TO -> \\\( $real \\\(:,:,:\\\)\\\)\\\) $hex" \
"print non-associated &pvla"
gdb_test "print pvla(1, 3, 8)" "no such vector element \\\(vector not associated\\\)" \
@@ -1270,35 +1028,6 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran
"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)"
-diff --git a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
---- a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
-+++ b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
-@@ -51,10 +51,10 @@ mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
- mi_gdb_test "500-data-evaluate-expression vla1" \
- "500\\^done,value=\"<not allocated>\"" "evaluate not allocated vla, before allocation"
-
--mi_create_varobj_checked vla1_not_allocated vla1 "<not allocated>" \
-+mi_create_varobj_checked vla1_not_allocated vla1 "$real, allocatable \\(:\\)" \
- "create local variable vla1_not_allocated"
- mi_gdb_test "501-var-info-type vla1_not_allocated" \
-- "501\\^done,type=\"<not allocated>\"" \
-+ "501\\^done,type=\"$real, allocatable \\(:\\)\"" \
- "info type variable vla1_not_allocated"
- mi_gdb_test "502-var-show-format vla1_not_allocated" \
- "502\\^done,format=\"natural\"" \
-@@ -146,10 +146,10 @@ gdb_expect {
- -re "580\\^done,value=\"<not associated>\".*${mi_gdb_prompt}$" {
- pass $test
-
-- mi_create_varobj_checked pvla2_not_associated pvla2 "<not associated>" \
-+ mi_create_varobj_checked pvla2_not_associated pvla2 "$real \\(:,:\\)" \
- "create local variable pvla2_not_associated"
- mi_gdb_test "581-var-info-type pvla2_not_associated" \
-- "581\\^done,type=\"<not associated>\"" \
-+ "581\\^done,type=\"$real \\(:,:\\)\"" \
- "info type variable pvla2_not_associated"
- mi_gdb_test "582-var-show-format pvla2_not_associated" \
- "582\\^done,format=\"natural\"" \
diff --git a/gdb/typeprint.c b/gdb/typeprint.c
--- a/gdb/typeprint.c
+++ b/gdb/typeprint.c
@@ -1364,7 +1093,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
diff --git a/gdb/valprint.c b/gdb/valprint.c
--- a/gdb/valprint.c
+++ b/gdb/valprint.c
-@@ -1142,12 +1142,6 @@ value_check_printable (struct value *val, struct ui_file *stream,
+@@ -1143,12 +1143,6 @@ value_check_printable (struct value *val, struct ui_file *stream,
return 0;
}
diff --git a/gdb.spec b/gdb.spec
index 07676b7..127a781 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -27,7 +27,7 @@
Name: %{?scl_prefix}gdb
# Freeze it when GDB gets branched
-%global snapsrc 20190610
+%global snapsrc 20190625
# 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: 17%{?dist}
+Release: 18%{?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.
@@ -1141,6 +1141,9 @@ fi
%endif
%changelog
+* Tue Jun 25 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190625-18
+- Rebase to FSF GDB 8.3.50.20190625 (8.4pre).
+
* Fri Jun 21 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190610-17
- Rebuild for librpm9 (RH BZ 1720305).
diff --git a/sources b/sources
index 966e7ed..4dda21c 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8
SHA512 (v2.0.tar.gz) = ec63151e842c81cc73ea11ba560b63e005cefbe19d98de24ae5c8caa4de7c9c1d71d1ec5b6214a347592eac675b75a3d2b26d4691ca86f91020ebfea8e912939
-SHA512 (gdb-8.3.50.20190610.tar.xz) = f9abdd8d6af6cc2d3aebf882f12b9e65cea5dfa772d0b98b55c1b7d6cb9510a347b5ef80cdd743764393f9475333e56c3839b8254205d4cff770664f81eda6ab
+SHA512 (gdb-8.3.50.20190625.tar.xz) = e374fc5ec3c27d40802c7f915bca2a5d98804a45d47e41723805f53610307a10926f1074cda8daaefd9eea1910a523b431b380cbd173e8174d331f1dbd726031
reply other threads:[~2026-06-27 23:59 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178260478687.1.9621660658292262002.rpms-gdb-292cb418af02@fedoraproject.org \
--to=sergiodj@redhat.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox