gdb: Update to version 17.1

Message ID 20260107175037.3765287-4-adolf.belka@ipfire.org
State Staged
Commit 30d90aa0f568671cfd8aaa96f31ef6d822dd514a
Headers
Series gdb: Update to version 17.1 |

Commit Message

Adolf Belka 7 Jan 2026, 5:50 p.m. UTC
- Update from version 16.1 to 17.1
- Update of rootfile
- Changelog
    17.1
	* Debugging Linux programs that use x86-64 or x86-64 with 32-bit pointer
	  size (X32) Shadow Stacks are now supported.
	* Support for the shadow stack pointer register on x86-64 or x86-64 with
	  32-bit pointer size (X32) GNU/Linux.
	* Debugger Adapter Protocol changes
	  ** GDB now supports the "completions" request.
	* "set style" commands now supports numeric format for basic colors
	  from 0 to 255 and #RRGGBB format for TrueColor.
	* New built-in convenience variable $_colorsupport provides comma-separated
	  list of color space names supported by terminal.  Each color space name is one
	  of monochrome, ansi_8color, aixterm_16color, xterm_256color or rgb_24bit.
	  It is handy for conditionally using styling colors based on terminal features.
	  For example:

	  (gdb) if $_regex ($_colorsupport, ".*(^|,)rgb_24bit($|,).*")
	   >set style filename background #FACADE
	   >else
	   >if $_regex ($_colorsupport, ".*(^|,)xterm_256color($|,).*")
	    >set style filename background 224
	    >else
	    >set style filename background red
	    >end
	   >end
	* UST (static tracepoint) support from gdbserver has been removed.
	* Linux checkpoint code has been updated to work with multiple inferiors.
	* The gcore and gdb-add-index scripts now have a -v or --version
	  option, which prints the version number, and then exits.  As well as
	  a -h or --help option, which prints each options and a brief
	  description.
	* On systems that support linker namespaces, the output of the command
	  "info sharedlibraries" may add one more column, NS, which identifies the
	  namespace into which the library was loaded, if more than one namespace
	  is active.
	* New built-in convenience variables $linker_namespace_count and
	  $_linker_namespace.  These show the number of active linker
	  namespaces, and the namespace to which the current location belongs to.
	  In systems that don't support linker namespaces, or if the inferior hasn't
	  started yet, these always return the integer 0.
	* Add record full support for rv64gc architectures
	* Debugging Linux programs that use AArch64 Guarded Control Stacks is now
	  supported.
	* New "--binary-output" command line option instructs GDB to set the
	  translation mode of its stdout/stderr to binary mode.  This disables
	  Line Feed translation.  MS-Windows only.
	* New commands
		maintenance check psymtabs
		  Renamed from maintenance check-psymtabs
		maintenance check symtabs
		  Renamed from maintenance check-symtabs
		maintenance canonicalize
		  Show the canonical form of a C++ name.
		set riscv numeric-register-names on|off
		show riscv numeric-register-names
		  Controls whether GDB refers to risc-v registers by their numeric names
		  (e.g 'x1') or their abi names (e.g. 'ra').
		  Defaults to 'off', matching the old behaviour (abi names).
		set style emoji on|off|auto
		show style emoji
		  Controls whether GDB can display emoji.  The default is "auto",
		  which means emoji will be displayed in some situations when
		  the host charset is UTF-8.
		set style warning-prefix STRING
		set style error-prefix STRING
		  These commands control the prefix that is printed before warnings
		  and errors, respectively.  This functionality is intended for use
		  with emoji display, and so the prefixes are only displayed if emoji
		  styling is enabled.
		info linker-namespaces
		info linker-namespaces [[N]]
		  Print information about the given linker namespace (identified as N),
		  or about all the namespaces if no argument is given.
	* Changed commands
		info sharedlibrary
		  On Linux and FreeBSD, the addresses shown in the output of this
		  command are now for the full memory range allocated to the shared
		  library.
		info threads [-gid] [-stopped] [-running] [ID]...
		  If no threads match the given ID(s) or filter options, GDB now prints
		    No threads matched.
		  without printing the provided arguments.  The newly added '-stopped'
		  option makes GDB list the stopped threads only.  Similarly,
		  '-running' makes GDB list the running threads only.  If both options
		  are given together, both stopped and running threads are listed.
		  These new flags can be useful to get a reduced list when there is a
		  large number of threads.
	* GDB-internal Thread Local Storage (TLS) support
	  ** Linux targets for the x86_64, aarch64, ppc64, s390x, and riscv
	     architectures now have GDB-internal support for TLS address
	     lookup in addition to that traditionally provided by the
	     libthread_db library.  This internal support works for programs
	     linked against either the GLIBC or MUSL C libraries.  For
	     programs linked against MUSL, this new internal support provides
	     new debug functionality, allowing access to TLS variables, due to
	     the fact that MUSL does not implement the libthread_db library.
	     Internal TLS support is also useful in cross-debugging
	     situations, debugging statically linked binaries, and debugging
	     programs linked against GLIBC 2.33 and earlier, but which are not
	     linked against libpthread.
	  ** The command 'maint set force-internal-tls-address-lookup on' may
	     be used to force the internal TLS lookup mechanisms to be used.
	     Otherwise, TLS lookup via libthread_db will still be preferred,
	     when available.
	* Python API
	  ** GDB no longer supports Python versions less than 3.4.
	  ** New class gdb.Color for dealing with colors.
	  ** New constant gdb.PARAM_COLOR represents color type of a
	     gdb.Parameter.value.  Parameter's value is gdb.Color instance.
	  ** The memory_source argument (the second argument) has been removed
	     from gdb.disassembler.builtin_disassemble.  This argument was
	     never used by GDB, and was added by mistake.  The unused argument
	     was never documented in the GDB manual, so users should not have
	     been using it.
	  ** gdb.execute has an additional 'styling' argument.  When True, then
	     output will be styled.  The default for this argument is True
	     when output is going to standard output, and False when output is
	     going to a string.
	  ** Setting the documentation string (__doc__) of a gdb.Parameter
	     sub-class to the empty string, means GDB will only display the
	     set_doc or show_doc strings in the set/show help output.
	  ** New gdb.ParameterPrefix class.  This can be used to create 'set'
	     and 'show' gdb.Command prefixes, suitable for use with new
	     gdb.Parameters.
	  ** Prefix commands (gdb.Command sub-classes) that don't have an
	     invoke method will now behave like builtin prefix commands when
	     invoked without a sub-command name.  This means printing the help
	     text for all sub-commands, unless the prefix command is a 'show'
	     command, in which case the value of all sub-commands is printed.
	  ** New gdb.warning() function that takes a string and prints it as a
	     warning, with GDB's standard 'warning' prefix.
	  ** New attribute gdb.Value.is_unavailable, this checks for
	     unavailability like gdb.Value.is_optimized_out checks for
	     optimized out values.
	* Guile API
	  ** New type <gdb:color> for dealing with colors.
	  ** New constant PARAM_COLOR represents color type of a value
	     of a <gdb:parameter> object.  Parameter's value is <gdb::color> instance.
	  ** Eliding the #:doc string from make-parameter now means that GDB
	     will use a default documentation string.  Setting #:doc to the
	     empty string for make-parameter means GDB will only display the
	     #:set_doc or #:show_doc strings in the set/show help output.
	  ** Prefix commands (using make-command) that don't have a #:invoke
	     property will now behave like builtin prefix commands when
	     invoked without a sub-command name.  This means printing the help
	     text for all sub-commands, unless the prefix command is a 'show'
	     command, in which case the value of all sub-commands is printed.
	* New remote packets
		binary-upload in qSupported reply
		  If the stub sends back 'binary-upload+' in it's qSupported reply,
		  then GDB will, where possible, make use of the 'x' packet.  If the
		  stub doesn't report this feature supported, then GDB will not use
		  the 'x' packet.
		vFile:lstat
		  Return information about files on the remote system.  Like
		  vFile:stat but if the filename is a symbolic link, return
		  information about the link itself, the file the link refers to.
	* Changed remote packets
		qXfer:threads:read
		  The XML that is sent as a response can now include an "id_str"
		  attribute for a thread element.  The attribute indicates what GDB
		  should print as the target ID of the thread, for example in the
		  "info threads" command or when switching to the thread.
		vFile:stat
		  Previously, gdbserver incorrectly implemented this packet using
		  lstat rather than stat.  This has now been corrected.  The
		  documentation has also been clarified.
	* MI changes
		** The =library-unloaded event now includes the 'ranges' field, which
		   has the same meaning as for the =library-loaded event.
		** The =library-unloaded event now includes the 'still-in-use' field.
		   This field is 'true' when a library is unloaded (removed from the
		   inferior's list of loaded libraries), but the mapping within the
		   inferior's address space is retained, as the library was mapped
		   multiple times, and the same mapping was being reused.  In all
		   other cases, this field will have the value 'false'.
	* Support for stabs debugging format and the a.out/dbx object format is
	  deprecated, and will be removed in GDB 18.
	* Configure changes
	  --enable-binary-file-formats=[FORMAT,...]
	  --enable-binary-file-formats=all
	  A user can now decide to only compile support for certain file formats.
	  The available formats at this point are: dbx, coff, xcoff, elf, mach-o
	  and mips.  Some targets require specific file formats to be available,
	  and in such cases, the configure script will warn the user and add
	  support anyway.  By default, all formats will be compiled in, to
	  continue the behavior from before adding the switch.
	* A new configure option was added, allowing support for the compile
	  subsystem to be disabled at configure time, in the form of
	  --disable-gdb-compile.
	* A new configure option was added, allowing support for DWARF debug
	  information to be disabled at configure time.  The flag is
	  --disable-gdb-dwarf-support.
	* A new configure option was added, allowing support for mdebug/ecoff
	  debug information to be disabled at configure time.  The flag to do
	  that is --disable-gdb-mdebug-support.
	* The Alpha target now supports target descriptions.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/gdb | 1 +
 lfs/gdb                     | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
  

Patch

diff --git a/config/rootfiles/common/gdb b/config/rootfiles/common/gdb
index dc189b90e..0cced1090 100644
--- a/config/rootfiles/common/gdb
+++ b/config/rootfiles/common/gdb
@@ -26,6 +26,7 @@ 
 #usr/share/gdb/python/gdb/dap/__init__.py
 #usr/share/gdb/python/gdb/dap/breakpoint.py
 #usr/share/gdb/python/gdb/dap/bt.py
+#usr/share/gdb/python/gdb/dap/completions.py
 #usr/share/gdb/python/gdb/dap/disassemble.py
 #usr/share/gdb/python/gdb/dap/evaluate.py
 #usr/share/gdb/python/gdb/dap/events.py
diff --git a/lfs/gdb b/lfs/gdb
index 8518ae6af..538134b6c 100644
--- a/lfs/gdb
+++ b/lfs/gdb
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 16.1
+VER        = 17.1
 
 THISAPP    = gdb-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = d1907a4abffda663e3d383959ee18e1ef91fe913c378cf9681bdf5810bf7e7f065236f722564fd77eebf15700751fed1cef58c25cd0c0c44d1d9a416809f6a66
+$(DL_FILE)_BLAKE2 = 35de074a50c747e6ed42faee8a87b3898b57d33e9667c9001eaf8b54c8cce555f7b16642d1583c1b4aabb45fc5e5db8c33d9f5786351e736f2db2f90d28a07ed
 
 install : $(TARGET)