Rebase to FSF GDB 8.1.50.20180613 (8.2pre).

This commit is contained in:
Sergio Durigan Junior 2018-06-13 15:37:00 -04:00
parent ea73a43ec5
commit 399e22022a
28 changed files with 83 additions and 234 deletions

2
.gitignore vendored
View File

@ -1,3 +1,3 @@
/gdb-libstdc++-v3-python-7.1.1-20170526.tar.xz
/v1.6.1.tar.gz
/gdb-8.1.50.20180605.tar.xz
/gdb-8.1.50.20180613.tar.xz

View File

@ -508,11 +508,3 @@ Patch121: gdb-vla-intel-fix-print-char-array.patch
# =fedoratest
Patch122: gdb-rhbz1553104-s390x-arch12-test.patch
# Guard declarations of 'sve_{vq,vl}_from_{vl,vq}' macros on Aarch64
# This patch should be removed on the next rebase.
Patch123: gdb-aarch64-guard-sve-macros.patch
# Fix build breakage with Python 3.7
# RHBZ #1577396
Patch124: gdb-fix-python37-breakage.patch

View File

@ -120,5 +120,3 @@
%patch120 -p1
%patch121 -p1
%patch122 -p1
%patch123 -p1
%patch124 -p1

View File

@ -1 +1 @@
54d343a24019367e85bb2e90966f2da483868637
1840d81a201932a2d5ad5b089aad85943a5a0a82

View File

@ -120,5 +120,3 @@ gdb-testsuite-readline63-sigint.patch
gdb-archer.patch
gdb-vla-intel-fix-print-char-array.patch
gdb-rhbz1553104-s390x-arch12-test.patch
gdb-aarch64-guard-sve-macros.patch
gdb-fix-python37-breakage.patch

View File

@ -17,7 +17,7 @@ FileName: gdb-6.3-ppc64displaysymbol-20041124.patch
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -600,6 +600,14 @@ build_address_symbolic (struct gdbarch *gdbarch,
@@ -587,6 +587,14 @@ build_address_symbolic (struct gdbarch *gdbarch,
addr = overlay_mapped_address (addr, section);
}
}

View File

@ -46,7 +46,7 @@ glibc-debuginfo-2.7-2.x86_64: /usr/lib/debug/lib64/libc.so.6.debug:
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -1203,6 +1203,10 @@ print_command_1 (const char *exp, int voidprint)
@@ -1190,6 +1190,10 @@ print_command_1 (const char *exp, int voidprint)
if (exp && *exp)
{

View File

@ -101,7 +101,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
@@ -3469,6 +3469,16 @@ read_index_from_section (struct objfile *objfile,
@@ -3469,6 +3469,16 @@ read_gdb_index_from_section (struct objfile *objfile,
"set use-deprecated-index-sections on". */
if (version < 6 && !deprecated_ok)
{

View File

@ -914,7 +914,7 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c
+ if (exec_bfd != NULL || symfile_objfile != NULL)
+ return;
+
+ if (target_auxv_search (target_stack, AT_ENTRY, &at_entry) <= 0)
+ if (target_auxv_search (current_top_target (), AT_ENTRY, &at_entry) <= 0)
+ return;
+
+ build_id = build_id_addr_get (at_entry);
@ -1024,7 +1024,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
@@ -1287,7 +1287,9 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
@@ -1288,7 +1288,9 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
&& objfile->separate_debug_objfile == NULL
&& objfile->separate_debug_objfile_backlink == NULL)
{
@ -1035,7 +1035,7 @@ diff --git a/gdb/elfread.c b/gdb/elfread.c
if (debugfile.empty ())
debugfile = find_separate_debug_file_by_debuglink (objfile);
@@ -1299,6 +1301,10 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
@@ -1300,6 +1302,10 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
symbol_file_add_separate (abfd.get (), debugfile.c_str (),
symfile_flags, objfile);
}
@ -1212,7 +1212,7 @@ diff --git a/gdb/testsuite/gdb.base/new-ui-pending-input.exp b/gdb/testsuite/gdb
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -1694,6 +1694,16 @@ proc default_gdb_start { } {
@@ -1695,6 +1695,16 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0."
}
}

View File

@ -47,7 +47,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
@@ -1604,7 +1604,13 @@ quit_force (int *exit_arg, int from_tty)
@@ -1612,7 +1612,13 @@ quit_force (int *exit_arg, int from_tty)
qt.from_tty = from_tty;

View File

@ -1,74 +0,0 @@
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
From: Sergio Durigan Junior <sergiodj@redhat.com>
Date: Tue, 5 Jun 2018 17:55:39 -0400
Subject: gdb-aarch64-guard-sve-macros.patch
FileName: gdb-aarch64-guard-sve-macros.patch
;; Guard declarations of 'sve_{vq,vl}_from_{vl,vq}' macros on Aarch64
;; This patch should be removed on the next rebase.
Guard declarations of 'sve_{vq,vl}_from_{vl,vq}' macros on Aarch64 (and unbreak build)
Commit 122394f1476b1c925a281b15399119500c8231c1 ("Function for reading
the Aarch64 SVE vector length") has added macros to manipulate SVE
vector sizes based on Linux kernel sources, but did not guard them
with #ifndef's, which breaks the build when the system headers already
have these macros:
CXX aarch64-linux-nat.o
In file included from ../../gdb/aarch64-tdep.h:25,
from ../../gdb/aarch64-linux-nat.c:30:
../../gdb/arch/aarch64.h:79: error: "sve_vq_from_vl" redefined [-Werror]
#define sve_vq_from_vl(vl) ((vl) / 0x10)
In file included from /usr/include/bits/sigcontext.h:30,
from /usr/include/signal.h:291,
from build-gnulib/import/signal.h:52,
from ../../gdb/linux-nat.h:23,
from ../../gdb/aarch64-linux-nat.c:26:
/usr/include/asm/sigcontext.h:154: note: this is the location of the previous definition
#define sve_vq_from_vl(vl) ((vl) / SVE_VQ_BYTES)
In file included from ../../gdb/aarch64-tdep.h:25,
from ../../gdb/aarch64-linux-nat.c:30:
../../gdb/arch/aarch64.h:80: error: "sve_vl_from_vq" redefined [-Werror]
#define sve_vl_from_vq(vq) ((vq) * 0x10)
In file included from /usr/include/bits/sigcontext.h:30,
from /usr/include/signal.h:291,
from build-gnulib/import/signal.h:52,
from ../../gdb/linux-nat.h:23,
from ../../gdb/aarch64-linux-nat.c:26:
/usr/include/asm/sigcontext.h:155: note: this is the location of the previous definition
#define sve_vl_from_vq(vq) ((vq) * SVE_VQ_BYTES)
In order to fix this breakage, this commit guards the declaration of
the macros using #ifndef's.
gdb/ChangeLog:
2018-06-06 Sergio Durigan Junior <sergiodj@redhat.com>
* arch/aarch64.h (sve_vg_from_vl): Guard with #ifndef.
(sve_vl_from_vg): Likewise.
(sve_vq_from_vl): Likewise.
(sve_vl_from_vq): Likewise.
(sve_vq_from_vg): Likewise.
(sve_vg_from_vq): Likewise.
diff --git a/gdb/arch/aarch64.h b/gdb/arch/aarch64.h
--- a/gdb/arch/aarch64.h
+++ b/gdb/arch/aarch64.h
@@ -76,8 +76,12 @@ enum aarch64_regnum
#define sve_vg_from_vl(vl) ((vl) / 8)
#define sve_vl_from_vg(vg) ((vg) * 8)
+#ifndef sve_vq_from_vl
#define sve_vq_from_vl(vl) ((vl) / 0x10)
+#endif
+#ifndef sve_vl_from_vq
#define sve_vl_from_vq(vq) ((vq) * 0x10)
+#endif
#define sve_vq_from_vg(vg) (sve_vq_from_vl (sve_vl_from_vg (vg)))
#define sve_vg_from_vq(vq) (sve_vg_from_vl (sve_vl_from_vq (vq)))

View File

@ -10,7 +10,7 @@ FileName: 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
@@ -15514,6 +15514,50 @@ initialize_breakpoint_ops (void)
@@ -15515,6 +15515,50 @@ initialize_breakpoint_ops (void)
static struct cmd_list_element *enablebreaklist = NULL;

View File

@ -3691,7 +3691,7 @@ new file mode 100644
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -169,6 +169,11 @@ proc gdb_unload {} {
@@ -170,6 +170,11 @@ proc gdb_unload {} {
send_gdb "y\n"
exp_continue
}

View File

@ -599,7 +599,7 @@ diff --git a/gdb/python/python.c b/gdb/python/python.c
static PyObject *
gdbpy_get_current_progspace (PyObject *unused1, PyObject *unused2)
@@ -2045,6 +2156,8 @@ PyMethodDef python_GdbMethods[] =
@@ -2057,6 +2168,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." },

View File

@ -32,7 +32,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
@@ -6699,6 +6699,16 @@ process_event_stop_test (struct execution_control_state *ecs)
@@ -6703,6 +6703,16 @@ process_event_stop_test (struct execution_control_state *ecs)
if (ecs->event_thread->control.step_over_calls == STEP_OVER_ALL)
{
@ -49,7 +49,7 @@ diff --git a/gdb/infrun.c b/gdb/infrun.c
/* We're doing a "next".
Normal (forward) execution: set a breakpoint at the
@@ -6732,6 +6742,7 @@ process_event_stop_test (struct execution_control_state *ecs)
@@ -6736,6 +6746,7 @@ process_event_stop_test (struct execution_control_state *ecs)
keep_going (ecs);
return;

View File

@ -12,7 +12,7 @@ FileName: gdb-bz541866-rwatch-before-run.patch
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -8798,7 +8798,7 @@ init_breakpoint_sal (struct breakpoint *b, struct gdbarch *gdbarch,
@@ -8799,7 +8799,7 @@ init_breakpoint_sal (struct breakpoint *b, struct gdbarch *gdbarch,
int enabled, int internal, unsigned flags,
int display_canonical)
{
@ -21,7 +21,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
if (type == bp_hardware_breakpoint)
{
@@ -14348,7 +14348,7 @@ enable_breakpoint_disp (struct breakpoint *bpt, enum bpdisp disposition,
@@ -14349,7 +14349,7 @@ enable_breakpoint_disp (struct breakpoint *bpt, enum bpdisp disposition,
if (bpt->type == bp_hardware_breakpoint)
{
@ -118,13 +118,13 @@ diff --git a/gdb/configure.nat b/gdb/configure.nat
diff --git a/gdb/target.h b/gdb/target.h
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -1908,9 +1908,11 @@ extern struct thread_info *target_thread_handle_to_thread_info
@@ -1953,9 +1953,11 @@ extern struct thread_info *target_thread_handle_to_thread_info
one. OTHERTYPE is the number of watchpoints of other types than
this one used so far. */
+#ifndef target_can_use_hardware_watchpoint
#define target_can_use_hardware_watchpoint(TYPE,CNT,OTHERTYPE) \
(target_stack->can_use_hw_breakpoint) ( \
(current_top_target ()->can_use_hw_breakpoint) ( \
TYPE, CNT, OTHERTYPE)
+#endif

View File

@ -11,7 +11,7 @@ FileName: gdb-container-rh-pkg.patch
diff --git a/gdb/remote.c b/gdb/remote.c
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -14047,7 +14047,17 @@ remote_target::pid_to_exec_file (int pid)
@@ -13903,7 +13903,17 @@ remote_target::pid_to_exec_file (int pid)
char *annex = NULL;
if (packet_support (PACKET_qXfer_exec_file) != PACKET_ENABLE)

View File

@ -1,68 +0,0 @@
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
From: Paul Koning <paul_koning@dell.com>
Date: Fri, 8 Jun 2018 13:26:36 -0400
Subject: gdb-fix-python37-breakage.patch
FileName: gdb-fix-python37-breakage.patch
;; Fix build breakage with Python 3.7
;; RHBZ #1577396
Fix build issue with Python 3.7
Originally reported in
https://bugzilla.redhat.com/show_bug.cgi?id=1577396 -- gdb build fails
with Python 3.7 due to references to a Python internal function whose
declaration changed in 3.7.
gdb/ChangeLog
2018-06-08 Paul Koning <paul_koning@dell.com>
PR gdb/23252
* python/python.c (do_start_initialization):
Avoid call to internal Python API.
(init__gdb_module): New function.
diff --git a/gdb/python/python.c b/gdb/python/python.c
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -1810,6 +1810,17 @@ finalize_python (void *ignore)
restore_active_ext_lang (previous_active);
}
+#ifdef IS_PY3K
+/* This is called via the PyImport_AppendInittab mechanism called
+ during initialization, to make the built-in _gdb module known to
+ Python. */
+PyMODINIT_FUNC
+init__gdb_module (void)
+{
+ return PyModule_Create (&python_GdbModuleDef);
+}
+#endif
+
static bool
do_start_initialization ()
{
@@ -1850,6 +1861,9 @@ do_start_initialization ()
remain alive for the duration of the program's execution, so
it is not freed after this call. */
Py_SetProgramName (progname_copy);
+
+ /* Define _gdb as a built-in module. */
+ PyImport_AppendInittab ("_gdb", init__gdb_module);
#else
Py_SetProgramName (progname.release ());
#endif
@@ -1859,9 +1873,7 @@ do_start_initialization ()
PyEval_InitThreads ();
#ifdef IS_PY3K
- gdb_module = PyModule_Create (&python_GdbModuleDef);
- /* Add _gdb module to the list of known built-in modules. */
- _PyImport_FixupBuiltin (gdb_module, "_gdb");
+ gdb_module = PyImport_ImportModule ("_gdb");
#else
gdb_module = Py_InitModule ("_gdb", python_GdbMethods);
#endif

View File

@ -11,7 +11,7 @@ FileName: gdb-glibc-strstr-workaround.patch
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -21261,6 +21261,26 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
@@ -21255,6 +21255,26 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
/* Cache this symbol's name and the name's demangled form (if any). */
SYMBOL_SET_LANGUAGE (sym, cu->language, &objfile->objfile_obstack);
linkagename = dwarf2_physname (name, die, cu);

View File

@ -44,7 +44,7 @@ gdb/
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -10489,6 +10489,13 @@ private:
@@ -10483,6 +10483,13 @@ private:
static void
process_die (struct die_info *die, struct dwarf2_cu *cu)
{

View File

@ -16,7 +16,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
@@ -12007,6 +12007,8 @@ update_global_location_list (enum ugll_insert_mode insert_mode)
@@ -12008,6 +12008,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);

View File

@ -1313,7 +1313,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
}
return 0;
}
@@ -6809,7 +6809,7 @@ breakpoint_address_match (const address_space *aspace1, CORE_ADDR addr1,
@@ -6810,7 +6810,7 @@ breakpoint_address_match (const address_space *aspace1, CORE_ADDR addr1,
static int
breakpoint_address_match_range (const address_space *aspace1,
CORE_ADDR addr1,
@ -1322,7 +1322,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
CORE_ADDR addr2)
{
return ((gdbarch_has_global_breakpoints (target_gdbarch ())
@@ -10896,7 +10896,7 @@ can_use_hardware_watchpoint (const std::vector<value_ref_ptr> &vals)
@@ -10897,7 +10897,7 @@ can_use_hardware_watchpoint (const std::vector<value_ref_ptr> &vals)
&& TYPE_CODE (vtype) != TYPE_CODE_ARRAY))
{
CORE_ADDR vaddr = value_address (v);
@ -1676,7 +1676,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
}
static void
@@ -14940,8 +14940,8 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die,
@@ -14934,8 +14934,8 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die,
object, and then subtract off the number of bits of
the field itself. The result is the bit offset of
the LSB of the field. */
@ -2660,7 +2660,7 @@ diff --git a/gdb/procfs.c b/gdb/procfs.c
diff --git a/gdb/regcache.c b/gdb/regcache.c
--- a/gdb/regcache.c
+++ b/gdb/regcache.c
@@ -781,7 +781,7 @@ regcache::cooked_write (int regnum, const gdb_byte *buf)
@@ -784,7 +784,7 @@ regcache::cooked_write (int regnum, const gdb_byte *buf)
operation. */
enum register_status
@ -2669,7 +2669,7 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
bool is_raw)
{
struct gdbarch *gdbarch = arch ();
@@ -810,7 +810,7 @@ readable_regcache::read_part (int regnum, int offset, int len, void *in,
@@ -813,7 +813,7 @@ readable_regcache::read_part (int regnum, int offset, int len, void *in,
}
enum register_status
@ -2678,7 +2678,7 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
const void *out, bool is_raw)
{
struct gdbarch *gdbarch = arch ();
@@ -847,7 +847,8 @@ regcache::write_part (int regnum, int offset, int len,
@@ -850,7 +850,8 @@ regcache::write_part (int regnum, int offset, int len,
}
enum register_status
@ -2688,7 +2688,7 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
{
assert_regnum (regnum);
return read_part (regnum, offset, len, buf, true);
@@ -856,7 +857,7 @@ readable_regcache::raw_read_part (int regnum, int offset, int len, gdb_byte *buf
@@ -859,7 +860,7 @@ readable_regcache::raw_read_part (int regnum, int offset, int len, gdb_byte *buf
/* See regcache.h. */
void
@ -2697,7 +2697,7 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
const gdb_byte *buf)
{
assert_regnum (regnum);
@@ -864,7 +865,7 @@ regcache::raw_write_part (int regnum, int offset, int len,
@@ -867,7 +868,7 @@ regcache::raw_write_part (int regnum, int offset, int len,
}
enum register_status
@ -2706,7 +2706,7 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
gdb_byte *buf)
{
gdb_assert (regnum >= 0 && regnum < m_descr->nr_cooked_registers);
@@ -872,7 +873,7 @@ readable_regcache::cooked_read_part (int regnum, int offset, int len,
@@ -875,7 +876,7 @@ readable_regcache::cooked_read_part (int regnum, int offset, int len,
}
void
@ -2718,7 +2718,7 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
diff --git a/gdb/regcache.h b/gdb/regcache.h
--- a/gdb/regcache.h
+++ b/gdb/regcache.h
@@ -200,8 +200,8 @@ public:
@@ -233,8 +233,8 @@ public:
enum register_status raw_read (int regnum, T *val);
/* Partial transfer of raw registers. Return the status of the register. */
@ -2729,7 +2729,7 @@ diff --git a/gdb/regcache.h b/gdb/regcache.h
/* Make certain that the register REGNUM is up-to-date. */
virtual void raw_update (int regnum) = 0;
@@ -213,16 +213,16 @@ public:
@@ -246,16 +246,16 @@ public:
enum register_status cooked_read (int regnum, T *val);
/* Partial transfer of a cooked register. */
@ -2750,7 +2750,7 @@ diff --git a/gdb/regcache.h b/gdb/regcache.h
};
/* Buffer of registers, can be read and written. */
@@ -300,11 +300,12 @@ public:
@@ -312,11 +312,12 @@ public:
/* Partial transfer of raw registers. Perform read, modify, write style
operations. */
@ -2765,7 +2765,7 @@ diff --git a/gdb/regcache.h b/gdb/regcache.h
const gdb_byte *buf);
void supply_regset (const struct regset *regset,
@@ -338,13 +339,12 @@ protected:
@@ -350,13 +351,12 @@ protected:
static std::forward_list<regcache *> current_regcache;
private:
@ -2783,7 +2783,7 @@ diff --git a/gdb/regcache.h b/gdb/regcache.h
diff --git a/gdb/remote.c b/gdb/remote.c
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -455,7 +455,7 @@ public:
@@ -462,7 +462,7 @@ public:
int remove_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
@ -2792,7 +2792,7 @@ diff --git a/gdb/remote.c b/gdb/remote.c
int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
struct expression *) override;
@@ -10551,7 +10551,7 @@ int remote_hw_watchpoint_length_limit = -1;
@@ -10407,7 +10407,7 @@ int remote_hw_watchpoint_length_limit = -1;
int remote_hw_breakpoint_limit = -1;
int
@ -2847,15 +2847,15 @@ diff --git a/gdb/spu-multiarch.c b/gdb/spu-multiarch.c
struct gdbarch *thread_architecture (ptid_t) override;
};
@@ -164,7 +164,7 @@ spu_multiarch_target::thread_architecture (ptid_t ptid)
@@ -163,7 +163,7 @@ spu_multiarch_target::thread_architecture (ptid_t ptid)
/* Override the to_region_ok_for_hw_watchpoint routine. */
int
-spu_multiarch_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, int len)
+spu_multiarch_target::region_ok_for_hw_watchpoint (CORE_ADDR addr, LONGEST len)
{
struct target_ops *ops_beneath = find_target_beneath (this);
/* We cannot watch SPU local store. */
if (SPUADDR_SPU (addr) != -1)
diff --git a/gdb/stack.c b/gdb/stack.c
--- a/gdb/stack.c
+++ b/gdb/stack.c
@ -2943,7 +2943,7 @@ diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
-target_ops::region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1)
+target_ops::region_ok_for_hw_watchpoint (CORE_ADDR arg0, LONGEST arg1)
{
return this->beneath->region_ok_for_hw_watchpoint (arg0, arg1);
return this->beneath ()->region_ok_for_hw_watchpoint (arg0, arg1);
}
int
@ -2958,9 +2958,9 @@ diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
+debug_target::region_ok_for_hw_watchpoint (CORE_ADDR arg0, LONGEST arg1)
{
int result;
fprintf_unfiltered (gdb_stdlog, "-> %s->region_ok_for_hw_watchpoint (...)\n", this->beneath->shortname ());
fprintf_unfiltered (gdb_stdlog, "-> %s->region_ok_for_hw_watchpoint (...)\n", this->beneath ()->shortname ());
@@ -1118,7 +1118,7 @@ debug_target::region_ok_for_hw_watchpoint (CORE_ADDR arg0, int arg1)
fprintf_unfiltered (gdb_stdlog, "<- %s->region_ok_for_hw_watchpoint (", this->beneath->shortname ());
fprintf_unfiltered (gdb_stdlog, "<- %s->region_ok_for_hw_watchpoint (", this->beneath ()->shortname ());
target_debug_print_CORE_ADDR (arg0);
fputs_unfiltered (", ", gdb_stdlog);
- target_debug_print_int (arg1);
@ -2980,7 +2980,7 @@ diff --git a/gdb/target.c b/gdb/target.c
static void default_rcmd (struct target_ops *, const char *, struct ui_file *);
@@ -3197,7 +3197,7 @@ target_fileio_read_stralloc (struct inferior *inf, const char *filename)
@@ -3182,7 +3182,7 @@ target_fileio_read_stralloc (struct inferior *inf, const char *filename)
static int
default_region_ok_for_hw_watchpoint (struct target_ops *self,
@ -2992,7 +2992,7 @@ diff --git a/gdb/target.c b/gdb/target.c
diff --git a/gdb/target.h b/gdb/target.h
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -557,7 +557,7 @@ struct target_ops
@@ -562,7 +562,7 @@ struct target_ops
/* Documentation of this routine is provided with the corresponding
target_* macro. */

View File

@ -92,7 +92,7 @@ diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c
diff --git a/gdb/defs.h b/gdb/defs.h
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -674,4 +674,6 @@ DEF_ENUM_FLAGS_TYPE (enum user_selected_what_flag, user_selected_what);
@@ -665,4 +665,6 @@ DEF_ENUM_FLAGS_TYPE (enum user_selected_what_flag, user_selected_what);
#include "utils.h"
@ -113,7 +113,7 @@ diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
diff --git a/gdb/utils.c b/gdb/utils.c
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -2817,6 +2817,17 @@ string_to_core_addr (const char *my_string)
@@ -2834,6 +2834,17 @@ string_to_core_addr (const char *my_string)
return addr;
}

View File

@ -377,7 +377,7 @@ diff --git a/gdb/procfs.c b/gdb/procfs.c
diff --git a/gdb/remote.c b/gdb/remote.c
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -447,7 +447,7 @@ public:
@@ -454,7 +454,7 @@ public:
bool stopped_data_address (CORE_ADDR *) override;
@ -386,7 +386,7 @@ diff --git a/gdb/remote.c b/gdb/remote.c
int can_use_hw_breakpoint (enum bptype, int, int) override;
@@ -10480,7 +10480,7 @@ remote_target::insert_watchpoint (CORE_ADDR addr, int len,
@@ -10336,7 +10336,7 @@ remote_target::insert_watchpoint (CORE_ADDR addr, int len,
p = strchr (rs->buf, '\0');
addr = remote_address_masked (addr);
p += hexnumstr (p, (ULONGEST) addr);
@ -395,7 +395,7 @@ diff --git a/gdb/remote.c b/gdb/remote.c
putpkt (rs->buf);
getpkt (&rs->buf, &rs->buf_size, 0);
@@ -10500,7 +10500,7 @@ remote_target::insert_watchpoint (CORE_ADDR addr, int len,
@@ -10356,7 +10356,7 @@ remote_target::insert_watchpoint (CORE_ADDR addr, int len,
bool
remote_target::watchpoint_addr_within_range (CORE_ADDR addr,
@ -404,7 +404,7 @@ diff --git a/gdb/remote.c b/gdb/remote.c
{
CORE_ADDR diff = remote_address_masked (addr - start);
@@ -10529,7 +10529,7 @@ remote_target::remove_watchpoint (CORE_ADDR addr, int len,
@@ -10385,7 +10385,7 @@ remote_target::remove_watchpoint (CORE_ADDR addr, int len,
p = strchr (rs->buf, '\0');
addr = remote_address_masked (addr);
p += hexnumstr (p, (ULONGEST) addr);
@ -459,7 +459,7 @@ diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
-target_ops::watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int arg2)
+target_ops::watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, LONGEST arg2)
{
return this->beneath->watchpoint_addr_within_range (arg0, arg1, arg2);
return this->beneath ()->watchpoint_addr_within_range (arg0, arg1, arg2);
}
bool
@ -474,7 +474,7 @@ diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
+debug_target::watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, LONGEST arg2)
{
bool result;
fprintf_unfiltered (gdb_stdlog, "-> %s->watchpoint_addr_within_range (...)\n", this->beneath->shortname ());
fprintf_unfiltered (gdb_stdlog, "-> %s->watchpoint_addr_within_range (...)\n", this->beneath ()->shortname ());
@@ -1090,7 +1090,7 @@ debug_target::watchpoint_addr_within_range (CORE_ADDR arg0, CORE_ADDR arg1, int
fputs_unfiltered (", ", gdb_stdlog);
target_debug_print_CORE_ADDR (arg1);
@ -491,7 +491,7 @@ diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
-target_ops::can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2, struct expression *arg3)
+target_ops::can_accel_watchpoint_condition (CORE_ADDR arg0, LONGEST arg1, int arg2, struct expression *arg3)
{
return this->beneath->can_accel_watchpoint_condition (arg0, arg1, arg2, arg3);
return this->beneath ()->can_accel_watchpoint_condition (arg0, arg1, arg2, arg3);
}
bool
@ -506,9 +506,9 @@ diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
+debug_target::can_accel_watchpoint_condition (CORE_ADDR arg0, LONGEST arg1, int arg2, struct expression *arg3)
{
bool result;
fprintf_unfiltered (gdb_stdlog, "-> %s->can_accel_watchpoint_condition (...)\n", this->beneath->shortname ());
fprintf_unfiltered (gdb_stdlog, "-> %s->can_accel_watchpoint_condition (...)\n", this->beneath ()->shortname ());
@@ -1146,7 +1146,7 @@ debug_target::can_accel_watchpoint_condition (CORE_ADDR arg0, int arg1, int arg2
fprintf_unfiltered (gdb_stdlog, "<- %s->can_accel_watchpoint_condition (", this->beneath->shortname ());
fprintf_unfiltered (gdb_stdlog, "<- %s->can_accel_watchpoint_condition (", this->beneath ()->shortname ());
target_debug_print_CORE_ADDR (arg0);
fputs_unfiltered (", ", gdb_stdlog);
- target_debug_print_int (arg1);
@ -528,7 +528,7 @@ diff --git a/gdb/target.c b/gdb/target.c
static int default_region_ok_for_hw_watchpoint (struct target_ops *,
CORE_ADDR, LONGEST);
@@ -3205,7 +3205,7 @@ default_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -3190,7 +3190,7 @@ default_region_ok_for_hw_watchpoint (struct target_ops *self,
static int
default_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr,
@ -540,7 +540,7 @@ diff --git a/gdb/target.c b/gdb/target.c
diff --git a/gdb/target.h b/gdb/target.h
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -552,7 +552,7 @@ struct target_ops
@@ -557,7 +557,7 @@ struct target_ops
TARGET_DEFAULT_RETURN (false);
virtual bool stopped_data_address (CORE_ADDR *)
TARGET_DEFAULT_RETURN (false);
@ -549,7 +549,7 @@ diff --git a/gdb/target.h b/gdb/target.h
TARGET_DEFAULT_FUNC (default_watchpoint_addr_within_range);
/* Documentation of this routine is provided with the corresponding
@@ -560,7 +560,7 @@ struct target_ops
@@ -565,7 +565,7 @@ struct target_ops
virtual int region_ok_for_hw_watchpoint (CORE_ADDR, LONGEST)
TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);

View File

@ -145,7 +145,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
@@ -17541,7 +17541,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
@@ -17535,7 +17535,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;
@ -154,7 +154,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;
@@ -17561,7 +17561,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
@@ -17555,7 +17555,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
low.kind = PROP_CONST;
high.kind = PROP_CONST;
@ -164,7 +164,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. */
@@ -17594,6 +17596,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
@@ -17588,6 +17590,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
break;
}
@ -179,7 +179,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);
@@ -17671,7 +17681,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
@@ -17665,7 +17675,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;

View File

@ -35,7 +35,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
@@ -73,6 +73,8 @@ SH-5/SH64 running OpenBSD SH-5/SH64 support in sh*-*-openbsd*
@@ -86,6 +86,8 @@ SH-5/SH64 running OpenBSD SH-5/SH64 support in sh*-*-openbsd*
*** Changes in GDB 8.1
@ -89,7 +89,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
/* memory allocation interface */
@@ -13639,7 +13640,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
@@ -13633,7 +13634,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
{
newobj->static_link
= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
@ -98,7 +98,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
}
cu->list_in_scope = &local_symbols;
@@ -16304,7 +16305,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
@@ -16298,7 +16299,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
byte_stride_prop
= (struct dynamic_prop *) alloca (sizeof (struct dynamic_prop));
@ -108,7 +108,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
if (!stride_ok)
{
complaint (_("unable to read array DW_AT_byte_stride "
@@ -17065,29 +17067,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
@@ -17059,29 +17061,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;
@ -210,7 +210,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);
@@ -17435,7 +17498,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
@@ -17429,7 +17492,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,
@ -220,7 +220,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
{
struct dwarf2_property_baton *baton;
struct obstack *obstack
@@ -17446,14 +17510,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
@@ -17440,14 +17504,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
if (attr_form_is_block (attr))
{
@ -258,7 +258,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
}
else if (attr_form_is_ref (attr))
{
@@ -17486,8 +17569,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
@@ -17480,8 +17563,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;
@ -289,7 +289,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);
@@ -17598,7 +17701,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
@@ -17592,7 +17695,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
if (attr)
@ -298,7 +298,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),
@@ -17606,7 +17709,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
@@ -17600,7 +17703,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
if (attr)
@ -307,7 +307,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]"),
@@ -17614,10 +17717,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
@@ -17608,10 +17711,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
attr = dwarf2_attr (die, DW_AT_upper_bound, cu);
@ -320,7 +320,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)
@@ -25118,7 +25221,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
@@ -25112,7 +25215,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))
{
@ -329,7 +329,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
add_dyn_prop (DYN_PROP_ALLOCATED, prop, type);
}
else if (attr != NULL)
@@ -25132,7 +25235,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
@@ -25126,7 +25229,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))
{
@ -338,7 +338,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type);
}
else if (attr != NULL)
@@ -25144,7 +25247,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
@@ -25138,7 +25241,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);

View File

@ -18,7 +18,7 @@
Name: %{?scl_prefix}gdb
# Freeze it when GDB gets branched
%global snapsrc 20180605
%global snapsrc 20180613
# See timestamp of source gnulib installed into gdb/gnulib/ .
%global snapgnulib 20161115
%global tarname gdb-%{version}
@ -26,7 +26,7 @@ Version: 8.1.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: 20%{?dist}
Release: 21%{?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
Group: Development/Debuggers
@ -1026,6 +1026,9 @@ then
fi
%changelog
* Wed Jun 13 2018 Sergio Durigan Junior <sergiodj@redhat.com> - 8.1.50.20180613-21.fc29
- Rebase to FSF GDB 8.1.50.20180613 (8.2pre).
* Wed Jun 13 2018 Miro Hrončok <mhroncok@redhat.com>
- Rebuilt for Python 3.7

View File

@ -1,3 +1,3 @@
SHA512 (gdb-libstdc++-v3-python-7.1.1-20170526.tar.xz) = 3d540b99581ffa4cf2810bec979c9a01a1f8ce782b7c8efb46b40dd2421d60cdb0e52b53c5477c3e86a57957a2a14489f5c29dc53868738a1ef79e79cf76d0a1
SHA512 (v1.6.1.tar.gz) = c7c9c8ba78021fff3fde12a216f5729c6031114e5a727f49b7ff1a31c53b5ddba24d1b3aee252d8278ecd1fafe78a44ed059c12b9eb29eca33093e0720673468
SHA512 (gdb-8.1.50.20180605.tar.xz) = cadfc5d9c28a227c29fe3a30cfe0c5bee4ac4c7daf2c383d2bbc0b121ce7190eafc153358ba98b1d48b16c1ff30393ae90ef449a76dd2c574989e34acb193351
SHA512 (gdb-8.1.50.20180613.tar.xz) = 7c473403922fa3d6dcd7d9efc6ae46e96c9a71a81bca992c081cdfaed011b537d928ee19d49aaa6e6038cb027ed47291f52312c85cfd60d53edfa5c49e514e72