Hello community, here is the log from the commit of package gdb for openSUSE:Factory checked in at 2020-12-09 22:11:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gdb (Old) and /work/SRC/openSUSE:Factory/.gdb.new.2328 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdb" Wed Dec 9 22:11:43 2020 rev:145 rq:854272 version:10.1 Changes: -------- --- /work/SRC/openSUSE:Factory/gdb/gdb.changes 2020-12-03 18:40:26.157950963 +0100 +++ /work/SRC/openSUSE:Factory/.gdb.new.2328/gdb.changes 2020-12-09 22:11:46.559088610 +0100 @@ -1,0 +2,13 @@ +Wed Dec 9 07:56:36 UTC 2020 - Tom de Vries <[email protected]> + +- Backport from master [jsc#13656]: + * gdb-powerpc-remove-512-bytes-region-limit-if-2nd-dawr-is-avaliable.patch +- Require 8GB diskspace for x86_64. + +------------------------------------------------------------------- +Mon Nov 30 15:43:58 UTC 2020 - Tom de Vries <[email protected]> + +- Patches to be upstreamed: + * gdb-fix-use-of-invalid-pointer-in-remote-async-inferior-event-handler.patch + +------------------------------------------------------------------- New: ---- gdb-fix-use-of-invalid-pointer-in-remote-async-inferior-event-handler.patch gdb-powerpc-remove-512-bytes-region-limit-if-2nd-dawr-is-avaliable.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gdb.spec ++++++ --- /var/tmp/diff_new_pack.W0gkAd/_old 2020-12-09 22:11:48.699090779 +0100 +++ /var/tmp/diff_new_pack.W0gkAd/_new 2020-12-09 22:11:48.699090779 +0100 @@ -294,6 +294,7 @@ Patch1511: gdb-testsuite-gdb-tui-new-layout-exp-partly-require-tcl86.patch Patch1512: gdb-tui-enable-work-around-libncurses-segfault.patch Patch1513: gdb-testsuite-fix-control-flow-in-gdb-reverse-insn-reverse-exp.patch +Patch1514: gdb-fix-use-of-invalid-pointer-in-remote-async-inferior-event-handler.patch # Backports from master @@ -306,6 +307,7 @@ Patch2007: gdb-fix-section-matching-in-find_pc_sect_compunit.patch Patch2008: gdb-symtab-fix-language-of-frame-without-debug-info.patch Patch2009: gdb-testsuite-fix-failure-in-gdb-base-step-over-no-symbols-exp.patch +Patch2010: gdb-powerpc-remove-512-bytes-region-limit-if-2nd-dawr-is-avaliable.patch # Testsuite patches @@ -702,6 +704,7 @@ %patch1511 -p1 %patch1512 -p1 %patch1513 -p1 +%patch1514 -p1 %patch2000 -p1 %patch2002 -p1 @@ -712,6 +715,7 @@ %patch2007 -p1 %patch2008 -p1 %patch2009 -p1 +%patch2010 -p1 %patch2500 -p1 %if 0%{?suse_version} > 1500 ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.W0gkAd/_old 2020-12-09 22:11:48.731090811 +0100 +++ /var/tmp/diff_new_pack.W0gkAd/_new 2020-12-09 22:11:48.735090816 +0100 @@ -10,5 +10,15 @@ </disk> </hardware> </overwrite> + <overwrite> + <conditions> + <arch>x86_64</arch> + </conditions> + <hardware> + <disk> + <size unit="G">8</size> + </disk> + </hardware> + </overwrite> </constraints> ++++++ gdb-fix-use-of-invalid-pointer-in-remote-async-inferior-event-handler.patch ++++++ [gdb] Fix use of invalid pointer in remote_async_inferior_event_handler As proposed by palves here ( https://sourceware.org/bugzilla/show_bug.cgi?id=26614#c20 ). --- gdb/remote.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gdb/remote.c b/gdb/remote.c index ba9e6d6e9b..556de6033f 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -14163,9 +14163,13 @@ remote_async_serial_handler (struct serial *scb, void *context) static void remote_async_inferior_event_handler (gdb_client_data data) { + remote_target *remote = (remote_target *) data; + /* Hold a strong reference to the remote target while handling an + event, since that could result in closing the connection. */ + auto remote_ref = target_ops_ref::new_reference (remote); + inferior_event_handler (INF_REG_EVENT); - remote_target *remote = (remote_target *) data; remote_state *rs = remote->get_remote_state (); /* inferior_event_handler may have consumed an event pending on the ++++++ gdb-powerpc-remove-512-bytes-region-limit-if-2nd-dawr-is-avaliable.patch ++++++ PowerPC remove 512 bytes region limit if 2nd DAWR is avaliable. Power 10 introduces the 2nd DAWR (second watchpoint) and also removed a restriction that limit the watch region to 512 bytes. 2020-11-08 Rogerio A. Cardoso <[email protected]> /gdb * ppc-linux-nat.c: (PPC_DEBUG_FEATURE_DATA_BP_ARCH_31): New define. (region_ok_for_hw_watchpoint): Check if 2nd DAWR is avaliable before set region. --- gdb/ppc-linux-nat.c | 26 ++++++++++++++++++-------- 2 files changed, 23 insertions(+), 8 deletions(-) Index: gdb-10.1/gdb/ppc-linux-nat.c =================================================================== --- gdb-10.1.orig/gdb/ppc-linux-nat.c +++ gdb-10.1/gdb/ppc-linux-nat.c @@ -138,6 +138,11 @@ struct ppc_hw_breakpoint #define PPC_DEBUG_FEATURE_DATA_BP_DAWR 0x10 #endif /* PPC_DEBUG_FEATURE_DATA_BP_DAWR */ +/* Feature defined on Linux kernel v5.1: Second watchpoint support. */ +#ifndef PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 +#define PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 0x20 +#endif /* PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 */ + /* The version of the PowerPC HWDEBUG kernel interface that we will use, if available. */ #define PPC_DEBUG_CURRENT_VERSION 1 @@ -2108,9 +2113,10 @@ ppc_linux_nat_target::region_ok_for_hw_w watchpoints. */ if (m_dreg_interface.hwdebug_p ()) { - int region_size; const struct ppc_debug_info &hwdebug_info = (m_dreg_interface .hwdebug_info ()); + int region_size = hwdebug_info.data_bp_alignment; + int region_align = region_size; /* Embedded DAC-based processors, like the PowerPC 440 have ranged watchpoints and can watch any access within an arbitrary memory @@ -2122,15 +2128,19 @@ ppc_linux_nat_target::region_ok_for_hw_w return 2; /* Check if the processor provides DAWR interface. */ if (hwdebug_info.features & PPC_DEBUG_FEATURE_DATA_BP_DAWR) - /* DAWR interface allows to watch up to 512 byte wide ranges which - can't cross a 512 byte boundary. */ - region_size = 512; - else - region_size = hwdebug_info.data_bp_alignment; + { + /* DAWR interface allows to watch up to 512 byte wide ranges. */ + region_size = 512; + /* DAWR interface allows to watch up to 512 byte wide ranges which + can't cross a 512 byte bondary on machines that doesn't have a + second DAWR (P9 or less). */ + if (!(hwdebug_info.features & PPC_DEBUG_FEATURE_DATA_BP_ARCH_31)) + region_align = 512; + } /* Server processors provide one hardware watchpoint and addr+len should fall in the watchable region provided by the ptrace interface. */ - if (region_size - && (addr + len > (addr & ~(region_size - 1)) + region_size)) + if (region_align + && (addr + len > (addr & ~(region_align - 1)) + region_size)) return 0; } /* addr+len must fall in the 8 byte watchable region for DABR-based _______________________________________________ openSUSE Commits mailing list -- [email protected] To unsubscribe, email [email protected] List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/[email protected]
