gdb: bump to 8.3.1
authorKoen Vandeputte <koen.vandeputte@ncentric.com>
Mon, 14 Oct 2019 15:37:28 +0000 (17:37 +0200)
committerKoen Vandeputte <koen.vandeputte@ncentric.com>
Tue, 15 Oct 2019 14:11:28 +0000 (16:11 +0200)
GDB 8.3.1 brings the following fixes and enhancements over GDB 8.3:

PR c++/20020 (GDB segfault on printing objects)
PR gdb/24454 (nat/x86-linux-dregs.c failed assertion)
PR breakpoints/24541 (Incorrect evaluation of systemtap probes due to register being signed and probe expression assuming unsigned)
PR symtab/24545 (Symbol loading performance regression with cc1)
PR gdb/24592 (amd64->i386 linux syscall restart problem)
PR gdb/25009 (terminate called after throwing an instance of 'srchilite::ParserException')
PR gdb/25010 (Calls to error () can cause SIGTTOU to send gdb to the background)
PR breakpoints/25011 (Breakpoints on file reloads broken for PIE binaries)

This corrective release also brings the following testsuite fixes and
enhancements:

PR testsuite/25005 (gdb-caching-proc.exp takes a lot of time on skip_opencl_tests)
PR testsuite/25016 (Test-case failures for -pie)

GDB 8.3 includes the following changes and enhancements:

* Support for new native configurations (also available as a target configuration):
     - RISC-V GNU/Linux (riscv*-*-linux*)
     - RISC-V FreeBSD (riscv*-*-freebsd*)

* Support for new target configurations:
     - CSKY ELF (csky*-*-elf)
     - CSKY GNU/Linux (csky*-*-linux)
     - NXP S12Z ELF (s12z-*-elf)
     - OpenRISC GNU/Linux (or1k*-*-linux*)

* Native Windows debugging is only supported on Windows XP or later.

* The Python API in GDB now requires Python 2.6 or later.

* GDB now supports terminal styling for the CLI and TUI.
  Source highlighting is also supported by building GDB with GNU
  Highlight.

* Experimental support for compilation and injection of C++ source
  code into the inferior (requires GCC 7.1 or higher, built with
  libcp1.so).

* GDB and GDBserver now support IPv6 connections.

* Target description support on RISC-V targets.

* Various enhancements to several commands:
     - "frame", "select-frame" and "info frame" commands
     - "info functions", "info types", "info variables"
     - "info thread"
     - "info proc"
     - System call alias catchpoint support on FreeBSD
     - "target remote" support for Unix Domain sockets.

* Support for displaying all files opened by a process

* DWARF index cache: GDB can now automatically save indices of DWARF
  symbols on disk to speed up further loading of the same binaries.

* Various GDB/MI enhancements.

* GDBserver on PowerPC GNU/Linux now supports access to the PPR,
  DSCR, TAR, EBB/PMU, and HTM registers.

* Ada task switching support when debugging programs built with
  the Ravenscar profile added to aarch64-elf.

* GDB in batch mode now exits with status 1 if the last executed
  command failed.

* Support for building GDB with GCC's Undefined Behavior Sanitizer.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
package/devel/gdb/Makefile
package/devel/gdb/patches/001-gdb-pr14523-mips-signal-number.patch
package/devel/gdb/patches/010-aarch64-headers.patch
package/devel/gdb/patches/100-musl_fix.patch
package/devel/gdb/patches/110-shared_libgcc.patch
package/devel/gdb/patches/130-uclibc-fix.patch

index a5b7523..fd5ac7e 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gdb
-PKG_VERSION:=8.2.1
-PKG_RELEASE:=2
+PKG_VERSION:=8.3.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/gdb
-PKG_HASH:=0a6a432907a03c5c8eaad3c3cffd50c00a40c3a5e3c4039440624bae703f2202
+PKG_HASH:=1e55b4d7cdca7b34be12f4ceae651623aa73b2fd640152313f9f66a7149757c4
 
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
@@ -57,7 +57,8 @@ CONFIGURE_ARGS+= \
        --without-expat \
        --without-lzma \
        --disable-sim \
-       --disable-werror
+       --disable-werror \
+       --disable-source-highlight
 
 CONFIGURE_VARS+= \
        ac_cv_search_tgetent="$(TARGET_LDFLAGS) -lncurses -lreadline"
index 25ac86f..f78c7ed 100644 (file)
@@ -1,5 +1,5 @@
 See http://sourceware.org/bugzilla/show_bug.cgi?id=14523
----
+
 --- a/gdb/common/signals.c
 +++ b/gdb/common/signals.c
 @@ -348,6 +348,11 @@ gdb_signal_from_host (int hostsig)
index a718a8c..8f05738 100644 (file)
@@ -9,13 +9,7 @@ provide the same headers as the kernel or musl.
 
 --- a/gdb/nat/aarch64-sve-linux-ptrace.h
 +++ b/gdb/nat/aarch64-sve-linux-ptrace.h
-@@ -20,12 +20,12 @@
- #ifndef AARCH64_SVE_LINUX_PTRACE_H
- #define AARCH64_SVE_LINUX_PTRACE_H
--#include <asm/sigcontext.h>
-+#include <signal.h>
- #include <sys/utsname.h>
+@@ -25,7 +25,7 @@
  #include <sys/ptrace.h>
  #include <asm/ptrace.h>
  
@@ -27,8 +21,8 @@ provide the same headers as the kernel or musl.
 --- a/gdb/nat/aarch64-sve-linux-sigcontext.h
 +++ b/gdb/nat/aarch64-sve-linux-sigcontext.h
 @@ -19,6 +19,7 @@
- #ifndef AARCH64_SVE_LINUX_SIGCONTEXT_H
- #define AARCH64_SVE_LINUX_SIGCONTEXT_H
+ #ifndef NAT_AARCH64_SVE_LINUX_SIGCONTEXT_H
+ #define NAT_AARCH64_SVE_LINUX_SIGCONTEXT_H
  
 +#ifndef SVE_MAGIC
  #define SVE_MAGIC     0x53564501
index 356d8c4..8ba6d46 100644 (file)
@@ -8,7 +8,7 @@
  #include "defs.h"
  #include "inferior.h"
  #include "infrun.h"
-@@ -71,6 +72,10 @@
+@@ -72,6 +73,10 @@
  #define SPUFS_MAGIC 0x23c9b64e
  #endif
  
@@ -29,8 +29,8 @@
 --- a/gdb/nat/ppc-linux.h
 +++ b/gdb/nat/ppc-linux.h
 @@ -18,7 +18,10 @@
- #ifndef PPC_LINUX_H
- #define PPC_LINUX_H 1
+ #ifndef NAT_PPC_LINUX_H
+ #define NAT_PPC_LINUX_H
  
 +#define pt_regs __pt_regs
  #include <asm/ptrace.h>
@@ -41,9 +41,9 @@
  /* This sometimes isn't defined.  */
 --- a/gdb/gdbserver/linux-ppc-low.c
 +++ b/gdb/gdbserver/linux-ppc-low.c
-@@ -21,7 +21,9 @@
- #include "linux-low.h"
+@@ -23,7 +23,9 @@
+ #include "elf/common.h"
+ #include <sys/uio.h>
  #include <elf.h>
 +#define pt_regs __pt_regs
  #include <asm/ptrace.h>
index c8ddfde..f07ac8c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1277,13 +1277,13 @@ if test -z "$LD"; then
+@@ -1283,13 +1283,13 @@ if test -z "$LD"; then
    fi
  fi
  
    AC_LANG_PUSH(C++)
    AC_LINK_IFELSE([AC_LANG_SOURCE([
  #if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
-@@ -1609,7 +1609,7 @@ AC_ARG_WITH(stage1-ldflags,
-  # if supported.  But if the user explicitly specified the libraries to use,
+@@ -1629,7 +1629,7 @@ AC_ARG_WITH(stage1-ldflags,
   # trust that they are doing what they want.
-  if test "$stage1_libs" = "" -a "$have_static_libs" = yes; then
+  if test "$with_static_standard_libraries" = yes -a "$stage1_libs" = "" \
+      -a "$have_static_libs" = yes; then
 -   stage1_ldflags="-static-libstdc++ -static-libgcc"
 +   stage1_ldflags="-static-libstdc++"
   fi])
  AC_SUBST(stage1_ldflags)
  
-@@ -1638,7 +1638,7 @@ AC_ARG_WITH(boot-ldflags,
+@@ -1658,7 +1658,7 @@ AC_ARG_WITH(boot-ldflags,
   # statically.  But if the user explicitly specified the libraries to
   # use, trust that they are doing what they want.
   if test "$poststage1_libs" = ""; then
@@ -37,7 +37,7 @@
  
 --- a/configure
 +++ b/configure
-@@ -5043,14 +5043,14 @@ if test -z "$LD"; then
+@@ -5053,14 +5053,14 @@ if test -z "$LD"; then
    fi
  fi
  
    ac_ext=cpp
  ac_cpp='$CXXCPP $CPPFLAGS'
  ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-@@ -5833,7 +5833,7 @@ else
-  # if supported.  But if the user explicitly specified the libraries to use,
+@@ -5861,7 +5861,7 @@ else
   # trust that they are doing what they want.
-  if test "$stage1_libs" = "" -a "$have_static_libs" = yes; then
+  if test "$with_static_standard_libraries" = yes -a "$stage1_libs" = "" \
+      -a "$have_static_libs" = yes; then
 -   stage1_ldflags="-static-libstdc++ -static-libgcc"
 +   stage1_ldflags="-static-libstdc++"
   fi
  fi
  
-@@ -5869,7 +5869,7 @@ else
+@@ -5897,7 +5897,7 @@ else
   # statically.  But if the user explicitly specified the libraries to
   # use, trust that they are doing what they want.
   if test "$poststage1_libs" = ""; then
index ea39aca..4925e66 100644 (file)
@@ -1,6 +1,6 @@
 --- a/gdb/dwarf-index-write.c
 +++ b/gdb/dwarf-index-write.c
-@@ -705,7 +705,7 @@ public:
+@@ -701,7 +701,7 @@ public:
      gdb_assert (m_abbrev_table.empty ());
      const size_t name_count = m_name_to_value_set.size ();
      m_bucket_table.resize