Rebase to FSF GDB 8.3.50.20190424 (8.4pre).
This commit is contained in:
parent
a5d0cd87e1
commit
e507809c35
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,3 +1,3 @@
|
||||
/gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz
|
||||
/v2.0.tar.gz
|
||||
/gdb-8.3.50.20190412.tar.xz
|
||||
/gdb-8.3.50.20190424.tar.xz
|
||||
|
@ -1 +1 @@
|
||||
3822612df0694cc07597e534fa73b34aa2540812
|
||||
05b1991f1a942f9d13b5363fb4c05e34ea44ef57
|
||||
|
@ -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
|
||||
@@ -2011,7 +2011,7 @@ init_gdb_version_vars (void)
|
||||
@@ -2020,7 +2020,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;
|
||||
|
@ -127,7 +127,7 @@ diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
|
||||
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
|
||||
--- a/gdb/amd64-tdep.c
|
||||
+++ b/gdb/amd64-tdep.c
|
||||
@@ -2600,6 +2600,7 @@ amd64_frame_unwind_stop_reason (struct frame_info *this_frame,
|
||||
@@ -2622,6 +2622,7 @@ amd64_frame_unwind_stop_reason (struct frame_info *this_frame,
|
||||
{
|
||||
struct amd64_frame_cache *cache =
|
||||
amd64_frame_cache (this_frame, this_cache);
|
||||
@ -135,7 +135,7 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
|
||||
|
||||
if (!cache->base_p)
|
||||
return UNWIND_UNAVAILABLE;
|
||||
@@ -2608,6 +2609,10 @@ amd64_frame_unwind_stop_reason (struct frame_info *this_frame,
|
||||
@@ -2630,6 +2631,10 @@ amd64_frame_unwind_stop_reason (struct frame_info *this_frame,
|
||||
if (cache->base == 0)
|
||||
return UNWIND_OUTERMOST;
|
||||
|
||||
@ -146,7 +146,7 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
|
||||
return UNWIND_NO_REASON;
|
||||
}
|
||||
|
||||
@@ -2741,6 +2746,7 @@ amd64_sigtramp_frame_this_id (struct frame_info *this_frame,
|
||||
@@ -2763,6 +2768,7 @@ amd64_sigtramp_frame_this_id (struct frame_info *this_frame,
|
||||
{
|
||||
struct amd64_frame_cache *cache =
|
||||
amd64_sigtramp_frame_cache (this_frame, this_cache);
|
||||
@ -154,7 +154,7 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
|
||||
|
||||
if (!cache->base_p)
|
||||
(*this_id) = frame_id_build_unavailable_stack (get_frame_pc (this_frame));
|
||||
@@ -2749,6 +2755,11 @@ amd64_sigtramp_frame_this_id (struct frame_info *this_frame,
|
||||
@@ -2771,6 +2777,11 @@ amd64_sigtramp_frame_this_id (struct frame_info *this_frame,
|
||||
/* This marks the outermost frame. */
|
||||
return;
|
||||
}
|
||||
|
@ -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
|
||||
@@ -3500,6 +3500,16 @@ read_gdb_index_from_buffer (struct objfile *objfile,
|
||||
@@ -3493,6 +3493,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)
|
||||
{
|
||||
@@ -3511,6 +3521,10 @@ to use the section anyway."),
|
||||
@@ -3504,6 +3514,10 @@ to use the section anyway."),
|
||||
warning_printed = 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -715,7 +715,7 @@ diff --git a/gdb/configure b/gdb/configure
|
||||
enable_targets
|
||||
enable_64_bit_bfd
|
||||
enable_gdbmi
|
||||
@@ -914,6 +920,11 @@ CCC
|
||||
@@ -915,6 +921,11 @@ CCC
|
||||
CPP
|
||||
MAKEINFO
|
||||
MAKEINFOFLAGS
|
||||
@ -727,7 +727,7 @@ diff --git a/gdb/configure b/gdb/configure
|
||||
YACC
|
||||
YFLAGS
|
||||
XMKMF'
|
||||
@@ -1585,6 +1596,8 @@ Optional Packages:
|
||||
@@ -1588,6 +1599,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
|
||||
@@ -1642,6 +1655,13 @@ Some influential environment variables:
|
||||
@@ -1645,6 +1658,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'.
|
||||
@@ -6623,6 +6643,494 @@ _ACEOF
|
||||
@@ -6626,6 +6646,494 @@ _ACEOF
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5
|
||||
$as_echo "$with_auto_load_safe_path" >&6; }
|
||||
|
||||
|
@ -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
|
||||
@@ -1346,14 +1346,27 @@ svr4_read_so_list (CORE_ADDR lm, CORE_ADDR prev_lm,
|
||||
@@ -1352,14 +1352,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;
|
||||
@@ -1368,23 +1381,7 @@ svr4_read_so_list (CORE_ADDR lm, CORE_ADDR prev_lm,
|
||||
@@ -1374,23 +1387,7 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm,
|
||||
xfree (name);
|
||||
}
|
||||
else
|
||||
|
@ -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
|
||||
@@ -19967,6 +19967,27 @@ information files.
|
||||
@@ -19979,6 +19979,27 @@ information files.
|
||||
|
||||
@end table
|
||||
|
||||
@ -1079,7 +1079,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
|
||||
@@ -2726,7 +2726,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
|
||||
@@ -2719,7 +2719,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
|
||||
}
|
||||
|
||||
if (dwz_bfd == NULL)
|
||||
@ -1088,7 +1088,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
||||
|
||||
if (dwz_bfd == NULL)
|
||||
error (_("could not find '.gnu_debugaltlink' file for %s"),
|
||||
@@ -6236,7 +6236,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
|
||||
@@ -6229,7 +6229,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 +1097,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
||||
if (build_id == nullptr)
|
||||
return {};
|
||||
|
||||
@@ -6249,7 +6249,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
|
||||
@@ -6242,7 +6242,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)
|
||||
{
|
||||
@ -1135,7 +1135,7 @@ diff --git a/gdb/objfiles.h b/gdb/objfiles.h
|
||||
--- a/gdb/objfiles.h
|
||||
+++ b/gdb/objfiles.h
|
||||
@@ -618,6 +618,10 @@ struct objfile
|
||||
htab_t static_links {};
|
||||
htab_up static_links;
|
||||
};
|
||||
|
||||
+/* This file was loaded according to the BUILD_ID_CORE_LOADS rules. */
|
||||
@ -1177,7 +1177,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);
|
||||
@@ -1344,9 +1345,51 @@ svr4_read_so_list (CORE_ADDR lm, CORE_ADDR prev_lm,
|
||||
@@ -1350,9 +1351,51 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm,
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
@@ -2068,7 +2068,7 @@ static const char *const scheduler_enums[] = {
|
||||
@@ -2065,7 +2065,7 @@ static const char *const scheduler_enums[] = {
|
||||
schedlock_replay,
|
||||
NULL
|
||||
};
|
||||
|
@ -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
|
||||
@@ -1618,7 +1618,13 @@ quit_force (int *exit_arg, int from_tty)
|
||||
@@ -1627,7 +1627,13 @@ quit_force (int *exit_arg, int from_tty)
|
||||
|
||||
qt.from_tty = from_tty;
|
||||
|
||||
|
@ -75,7 +75,7 @@ diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
|
||||
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
|
||||
--- a/gdb/objfiles.c
|
||||
+++ b/gdb/objfiles.c
|
||||
@@ -849,6 +849,11 @@ objfile_relocate1 (struct objfile *objfile,
|
||||
@@ -843,6 +843,11 @@ objfile_relocate1 (struct objfile *objfile,
|
||||
obj_section_addr (s));
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
|
||||
CORE_ADDR physaddr;
|
||||
const char *physname;
|
||||
|
||||
@@ -1436,6 +1438,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *);
|
||||
@@ -1446,6 +1448,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) \
|
||||
@@ -1447,6 +1450,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *);
|
||||
@@ -1457,6 +1460,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))
|
||||
@@ -1463,6 +1467,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *);
|
||||
@@ -1473,6 +1477,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))
|
||||
|
@ -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
|
||||
@@ -15790,6 +15790,64 @@ cat >>confdefs.h <<_ACEOF
|
||||
@@ -15814,6 +15814,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
|
||||
@@ -2020,6 +2020,10 @@ case $host_os in
|
||||
@@ -2039,6 +2039,10 @@ case $host_os in
|
||||
esac
|
||||
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
|
||||
|
||||
|
@ -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
|
||||
@@ -6448,6 +6448,16 @@ process_event_stop_test (struct execution_control_state *ecs)
|
||||
@@ -6445,6 +6445,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
|
||||
@@ -6481,6 +6491,7 @@ process_event_stop_test (struct execution_control_state *ecs)
|
||||
@@ -6478,6 +6488,7 @@ process_event_stop_test (struct execution_control_state *ecs)
|
||||
|
||||
keep_going (ecs);
|
||||
return;
|
||||
|
@ -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
|
||||
@@ -9415,6 +9415,7 @@ if test x"$prefer_curses" = xyes; then
|
||||
@@ -9418,6 +9418,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 :
|
||||
@@ -9439,7 +9440,7 @@ return waddstr ();
|
||||
@@ -9442,7 +9443,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
|
||||
@@ -9513,6 +9514,7 @@ case $host_os in
|
||||
@@ -9516,6 +9517,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 :
|
||||
@@ -9537,7 +9539,7 @@ return tgetent ();
|
||||
@@ -9540,7 +9542,7 @@ return tgetent ();
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
|
@ -42,7 +42,7 @@ gdb/
|
||||
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
||||
--- a/gdb/dwarf2read.c
|
||||
+++ b/gdb/dwarf2read.c
|
||||
@@ -10586,6 +10586,13 @@ private:
|
||||
@@ -10581,6 +10581,13 @@ private:
|
||||
static void
|
||||
process_die (struct die_info *die, struct dwarf2_cu *cu)
|
||||
{
|
||||
|
@ -9,7 +9,7 @@ Subject: gdb-jit-reader-multilib.patch
|
||||
diff --git a/gdb/configure b/gdb/configure
|
||||
--- a/gdb/configure
|
||||
+++ b/gdb/configure
|
||||
@@ -9702,10 +9702,12 @@ _ACEOF
|
||||
@@ -9705,10 +9705,12 @@ _ACEOF
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@ Subject: gdb-linux_perf-bundle.patch
|
||||
diff --git a/gdb/configure b/gdb/configure
|
||||
--- a/gdb/configure
|
||||
+++ b/gdb/configure
|
||||
@@ -12029,7 +12029,7 @@ else
|
||||
@@ -12053,7 +12053,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
|
||||
@@ -1469,7 +1469,7 @@ else
|
||||
@@ -1488,7 +1488,7 @@ else
|
||||
AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
|
||||
#include <linux/perf_event.h>
|
||||
#ifndef PERF_ATTR_SIZE_VER5
|
||||
|
@ -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
|
||||
@@ -17784,7 +17784,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -17789,7 +17789,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;
|
||||
@@ -17804,7 +17804,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -17809,7 +17809,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. */
|
||||
@@ -17837,6 +17839,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -17842,6 +17844,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);
|
||||
@@ -17929,7 +17939,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -17934,7 +17944,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;
|
||||
|
||||
@ -866,7 +866,7 @@ 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
|
||||
@@ -911,7 +911,8 @@ operator== (const range_bounds &l, const range_bounds &r)
|
||||
@@ -912,7 +912,8 @@ operator== (const range_bounds &l, const range_bounds &r)
|
||||
struct type *
|
||||
create_range_type (struct type *result_type, struct type *index_type,
|
||||
const struct dynamic_prop *low_bound,
|
||||
@ -876,7 +876,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
{
|
||||
if (result_type == NULL)
|
||||
result_type = alloc_type_copy (index_type);
|
||||
@@ -926,6 +927,7 @@ create_range_type (struct type *result_type, struct type *index_type,
|
||||
@@ -927,6 +928,7 @@ create_range_type (struct type *result_type, struct type *index_type,
|
||||
TYPE_ZALLOC (result_type, sizeof (struct range_bounds));
|
||||
TYPE_RANGE_DATA (result_type)->low = *low_bound;
|
||||
TYPE_RANGE_DATA (result_type)->high = *high_bound;
|
||||
@ -884,7 +884,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
|
||||
if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0)
|
||||
TYPE_UNSIGNED (result_type) = 1;
|
||||
@@ -954,7 +956,7 @@ struct type *
|
||||
@@ -955,7 +957,7 @@ struct type *
|
||||
create_static_range_type (struct type *result_type, struct type *index_type,
|
||||
LONGEST low_bound, LONGEST high_bound)
|
||||
{
|
||||
@ -893,7 +893,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
|
||||
low.kind = PROP_CONST;
|
||||
low.data.const_val = low_bound;
|
||||
@@ -962,7 +964,11 @@ create_static_range_type (struct type *result_type, struct type *index_type,
|
||||
@@ -963,7 +965,11 @@ create_static_range_type (struct type *result_type, struct type *index_type,
|
||||
high.kind = PROP_CONST;
|
||||
high.data.const_val = high_bound;
|
||||
|
||||
@ -906,7 +906,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
|
||||
return result_type;
|
||||
}
|
||||
@@ -1180,16 +1186,20 @@ create_array_type_with_stride (struct type *result_type,
|
||||
@@ -1181,16 +1187,20 @@ create_array_type_with_stride (struct type *result_type,
|
||||
&& (!type_not_associated (result_type)
|
||||
&& !type_not_allocated (result_type)))
|
||||
{
|
||||
@ -928,7 +928,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;
|
||||
@@ -1974,12 +1984,12 @@ resolve_dynamic_range (struct type *dyn_range_type,
|
||||
@@ -1975,12 +1985,12 @@ resolve_dynamic_range (struct type *dyn_range_type,
|
||||
CORE_ADDR value;
|
||||
struct type *static_range_type, *static_target_type;
|
||||
const struct dynamic_prop *prop;
|
||||
@ -943,7 +943,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
{
|
||||
low_bound.kind = PROP_CONST;
|
||||
low_bound.data.const_val = value;
|
||||
@@ -1991,7 +2001,7 @@ resolve_dynamic_range (struct type *dyn_range_type,
|
||||
@@ -1992,7 +2002,7 @@ resolve_dynamic_range (struct type *dyn_range_type,
|
||||
}
|
||||
|
||||
prop = &TYPE_RANGE_DATA (dyn_range_type)->high;
|
||||
@ -952,7 +952,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
{
|
||||
high_bound.kind = PROP_CONST;
|
||||
high_bound.data.const_val = value;
|
||||
@@ -2006,12 +2016,20 @@ resolve_dynamic_range (struct type *dyn_range_type,
|
||||
@@ -2007,12 +2017,20 @@ resolve_dynamic_range (struct type *dyn_range_type,
|
||||
high_bound.data.const_val = 0;
|
||||
}
|
||||
|
||||
@ -996,7 +996,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
|
||||
} flds_bnds;
|
||||
|
||||
/* * Slot to point to additional language-specific fields of this
|
||||
@@ -1327,6 +1330,15 @@ extern bool set_type_align (struct type *, ULONGEST);
|
||||
@@ -1337,6 +1340,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
|
||||
@ -1012,7 +1012,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
|
||||
|
||||
/* Property accessors for the type data location. */
|
||||
#define TYPE_DATA_LOCATION(thistype) \
|
||||
@@ -1361,6 +1373,9 @@ extern bool set_type_align (struct type *, ULONGEST);
|
||||
@@ -1371,6 +1383,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))
|
||||
@ -1022,7 +1022,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
|
||||
|
||||
#define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \
|
||||
(TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype))))
|
||||
@@ -1934,6 +1949,7 @@ extern struct type *create_array_type_with_stride
|
||||
@@ -1944,6 +1959,7 @@ extern struct type *create_array_type_with_stride
|
||||
struct dynamic_prop *, unsigned int);
|
||||
|
||||
extern struct type *create_range_type (struct type *, struct type *,
|
||||
@ -1033,7 +1033,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
|
||||
diff --git a/gdb/parse.c b/gdb/parse.c
|
||||
--- a/gdb/parse.c
|
||||
+++ b/gdb/parse.c
|
||||
@@ -939,24 +939,20 @@ operator_length_standard (const struct expression *expr, int endpos,
|
||||
@@ -920,24 +920,20 @@ operator_length_standard (const struct expression *expr, int endpos,
|
||||
|
||||
case OP_RANGE:
|
||||
oplen = 3;
|
||||
|
@ -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
|
||||
@@ -1832,7 +1832,8 @@ static void read_signatured_type (struct signatured_type *);
|
||||
@@ -1824,7 +1824,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 */
|
||||
|
||||
@@ -13755,7 +13756,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -13750,7 +13751,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 ();
|
||||
@@ -16493,7 +16494,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -16488,7 +16489,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 "
|
||||
@@ -17254,29 +17256,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -17249,29 +17251,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);
|
||||
|
||||
@@ -17678,7 +17741,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -17683,7 +17746,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
|
||||
@@ -17689,14 +17753,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
|
||||
@@ -17694,14 +17758,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))
|
||||
{
|
||||
@@ -17729,8 +17812,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
|
||||
@@ -17734,8 +17817,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);
|
||||
@@ -17841,7 +17944,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -17846,7 +17949,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),
|
||||
@@ -17849,7 +17952,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -17854,7 +17957,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]"),
|
||||
@@ -17858,10 +17961,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
||||
@@ -17863,10 +17966,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)
|
||||
@@ -25446,7 +25549,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||
@@ -25458,7 +25561,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)
|
||||
@@ -25460,7 +25563,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||
@@ -25472,7 +25575,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)
|
||||
@@ -25472,7 +25575,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
|
||||
@@ -25484,7 +25587,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);
|
||||
@ -498,7 +498,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
|
||||
@@ -1897,7 +1897,8 @@ is_dynamic_type_internal (struct type *type, int top_level)
|
||||
@@ -1898,7 +1898,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. */
|
||||
@ -508,7 +508,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
|
||||
@@ -1931,6 +1932,7 @@ is_dynamic_type_internal (struct type *type, int top_level)
|
||||
@@ -1932,6 +1933,7 @@ is_dynamic_type_internal (struct type *type, int top_level)
|
||||
}
|
||||
|
||||
case TYPE_CODE_ARRAY:
|
||||
@ -516,7 +516,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
{
|
||||
gdb_assert (TYPE_NFIELDS (type) == 1);
|
||||
|
||||
@@ -2049,7 +2051,8 @@ resolve_dynamic_array (struct type *type,
|
||||
@@ -2050,7 +2052,8 @@ resolve_dynamic_array (struct type *type,
|
||||
struct dynamic_prop *prop;
|
||||
unsigned int bit_stride = 0;
|
||||
|
||||
@ -526,7 +526,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
|
||||
type = copy_type (type);
|
||||
|
||||
@@ -2074,11 +2077,15 @@ resolve_dynamic_array (struct type *type,
|
||||
@@ -2075,11 +2078,15 @@ resolve_dynamic_array (struct type *type,
|
||||
|
||||
ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
|
||||
|
||||
@ -543,7 +543,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
prop = get_dyn_prop (DYN_PROP_BYTE_STRIDE, type);
|
||||
if (prop != NULL)
|
||||
{
|
||||
@@ -2233,6 +2240,28 @@ resolve_dynamic_struct (struct type *type,
|
||||
@@ -2234,6 +2241,28 @@ resolve_dynamic_struct (struct type *type,
|
||||
return resolved_type;
|
||||
}
|
||||
|
||||
@ -572,7 +572,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
/* Worker for resolved_dynamic_type. */
|
||||
|
||||
static struct type *
|
||||
@@ -2281,7 +2310,12 @@ resolve_dynamic_type_internal (struct type *type,
|
||||
@@ -2282,7 +2311,12 @@ resolve_dynamic_type_internal (struct type *type,
|
||||
break;
|
||||
}
|
||||
|
||||
|
7
gdb.spec
7
gdb.spec
@ -22,7 +22,7 @@
|
||||
Name: %{?scl_prefix}gdb
|
||||
|
||||
# Freeze it when GDB gets branched
|
||||
%global snapsrc 20190412
|
||||
%global snapsrc 20190424
|
||||
# See timestamp of source gnulib installed into gdb/gnulib/ .
|
||||
%global snapgnulib 20161115
|
||||
%global tarname gdb-%{version}
|
||||
@ -30,7 +30,7 @@ Version: 8.3.50.%{snapsrc}
|
||||
|
||||
# The release always contains a leading reserved number, start it at 1.
|
||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||
Release: 6%{?dist}
|
||||
Release: 7%{?dist}
|
||||
|
||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
|
||||
# Do not provide URL for snapshots as the file lasts there only for 2 days.
|
||||
@ -1025,6 +1025,9 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Apr 24 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190424-7
|
||||
- Rebase to FSF GDB 8.3.50.20190424 (8.4pre).
|
||||
|
||||
* Fri Apr 12 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190412-6
|
||||
- Remove 'gdb-x86_64-i386-syscall-restart.patch'.
|
||||
|
||||
|
2
sources
2
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.20190412.tar.xz) = fbdc83b6e88d2d9489a25c1fbdf08764708e1558eb187f9a3a72bcc8fd058e98e9810f8f889044cf55b4165b9a3ac5d996d0a13a4e4d54823e485b354c1a2b0e
|
||||
SHA512 (gdb-8.3.50.20190424.tar.xz) = 9dbe456b8698654f0cfcd07e310fa658132d7742e027b3030eb648f99ea51922978dc415b2cb430fc781ef4d01153a311aa3405a727ad8bda8b4ed992433bbb7
|
||||
|
Loading…
Reference in New Issue
Block a user