gdb: Update to version 18.1

Message ID 20261002112330.3568361-5-adolf.belka@ipfire.org
State Staged
Commit 52243c1924c564c4f4dc40fdf671fdf35533f5f2
Headers
Series gdb: Update to version 18.1 |

Commit Message

Adolf Belka 2 Oct 2026, 11:23 a.m. UTC
- Update from version 17.2 to 18.1
- Update of rootfile
- Changelog
18.1
Major improvements to the Windows native target:
    Non-stop mode is now supported (requires Windows 10 or later).
    Scheduler-locking (“set scheduler-locking on”) now works.
    Native Thread Local Storage (TLS) variables are now supported.
    On the Windows Terminal console, GDB now supports true-color 24-bit colors, and,
	when the output codepage is 65001, emoji styling and UTF-8 text in general
	(the host charset is then set to UTF-8 automatically).
    File names are now consistently shown with forward slashes, instead of a mix of
	slash styles, e.g. “C:/proj/src/main.c” instead of “C:/proj/src.c”. This
	affects all interpreters (CLI, TUI, GDB/MI, DAP) and everywhere GDB shows a
	file or directory name.
GDB now adds all type symbols to the .gdb_index section, fixing cases where GDB could
	fail to find a type when relying on the index. Existing indexes should be
	regenerated.
Improved handling of inferior arguments:
    “set args”, “run”, “start” and “starti” now accept arguments containing a newline
	character, within a quoted argument.
    New –no-escape-args command line option for GDB, an alternative to –args that
	does not escape special shell characters within the arguments. gdbserver
	accepts a –no-escape-args flag with the same effect on the inferior arguments.
    When connecting to a remote server that supports the new qExecAndArgs packet,
	GDB copies the argument string from the server into its own ‘args’ setting,
	so that the arguments are visible with “show args” and reused by subsequent runs.
When connected to an extended-remote target, GDB can now set the ‘remote exec-file’
	automatically, using the current executable, if the remote was not started
	with an executable and the user did not set one explicitly.
The add-inferior, clone-inferior and MI -add-inferior commands now warn and create
	the new inferior without a connection when the current connection cannot be
	shared (e.g. core files, or the Windows native target). Sharing these
	previously tended to crash GDB.
“info locals” now shows a “shadowed” annotation and location information for
	variables that shadow, or are shadowed by, others.
Support for the Floating Point Mode Register (FPMR) on AArch64.
GDB now supports libipt v2.2 events originating from Event Tracing (“set record
	btrace pt event-tracing on”) on a FRED-enabled system, and from Trigger Tracing.
GDB now supports arbitrary (non-standard) baud rates for serial connections on
	systems whose libc accepts them through cfsetispeed/cfsetospeed, such as
	glibc 2.42 and later, and GNU Hurd.
“info inferiors” now shows the core file loaded in an inferior, if any.
New “essential” help command class, listing what we believe is close to a minimal set
	of commands for a new GDB user.
New commands:
    “set/show/unset local-environment”, analogs of the “environment” commands,
	affecting the environment of subprocesses started by GDB itself, such as
	those started by “shell” and “pipe”.
    “save history”, “save skip” and “save user”, to save the command history, the
	current skips, and the user-defined commands to a file.
    “info proc environ”, to print the initial environment variables of a process
	(Linux only).
    “set/show progress-bars enabled”, to disable the progress bars GDB shows for long
	operations, such as while debuginfod downloads content.
    “delete skip”, “enable skip” and “disable skip”, new aliases for “skip delete”,
	“skip enable” and “skip disable”.
    “set/show debug gnu-ifunc” and “set/show debug ctf”.
New targets:
    GNU/Linux/MicroBlaze (gdbserver) microblazeel-*linux*
    AArch64 MinGW aarch64-*-mingw*
Python API enhancements:
    New gdb.Corefile class, representing a loaded core file, with the new
	Inferior.corefile attribute, plus the new gdb.CorefileMappedFile and
	gdb.CorefileMappedFileRegion types describing the files mapped when the core
	file was created.
    New gdb.Style class, gdb.StyleParameterSet class, and gdb.INTENSITY_* constants,
	for representing styles and creating custom “set/show style NAME …”
	parameters. gdb.write() takes a new optional ‘style’ argument.
    New gdb.events.selected_context event registry, emitting a SelectedContextEvent
	whenever the user changes the selected inferior, thread or frame.
    New gdb.events.corefile_changed event registry, emitting a CorefileChangedEvent
	whenever the core file of an inferior changes.
    New gdb.Symtab.source_lines method, returning the source lines of the file
	associated with a symtab.
    The Architecture.disassemble method accepts a new ‘styling’ argument, to get ANSI
	escape sequences in the assembly strings.
    New gdb.Block.ranges attribute, listing the ranges of a block.
Debugger Adapter Protocol changes:
    Unhandled Ada exceptions can now be caught using the “unhandled” exception filter.
    The launch and attach requests accept a new adaSourceCharset parameter, and the
	attach request accepts a new coreFile parameter.
    Constants are now returned in scopes.
Remote protocol changes:
    New qExecAndArgs packet, returning the executable file name and argument string
	the server was started with.
    New single-inf-arg qSupported feature, letting GDB send the inferior arguments as
	a single string in the vRun packet.
Incompatible changes:
    Support for the stabs and mdebug debug information formats, and for the dbx
	binary file format, has been removed.
    Support for the Common Trace Format (CTF) has been removed: trace information is
	now saved exclusively in GDB’s own “tfile” format, the “target ctf” command
	is gone, and “tsave” and MI “-trace-save” no longer accept the “-ctf” flag.
	The –with-babeltrace configure option has been removed as well.
    Support for .gdb_index sections older than version 7 has been removed.
    Support for DWP (DWARF Package File) version 1 has been removed.
    The format of execution records saved by “record save” has changed; previous
	formats are no longer supported.
    Guile 2.2 is now the minimum supported Guile version, and the deprecated memory
	port buffer size procedures have been removed; use ‘setvbuf’ instead.
    The “maint check psymtabs”, “maint info psymtabs” and “maint print psymbols”
	commands have been removed, as GDB no longer uses partial symbol tables
	internally.
    “maintenance info program-spaces” no longer displays the core file name; use
	“info inferiors” instead.
    GDB no longer supports AIX 7.1; the minimum supported version is now AIX 7.2 TL5,
	and only DWARF debug information is supported on AIX going forward.
    The s390 32-bit target (s390-*) is deprecated and planned for removal in a future
	release, along with the elf32-s390 target format. configure now errors out
	for this target, which can be overridden with –enable-obsolete. The s390
	64-bit target (s390x-*) remains supported.

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

Patch

diff --git a/config/rootfiles/common/gdb b/config/rootfiles/common/gdb
index 0cced1090..11dc18355 100644
--- a/config/rootfiles/common/gdb
+++ b/config/rootfiles/common/gdb
@@ -80,6 +80,7 @@ 
 #usr/share/gdb/syscalls/netbsd.xml
 #usr/share/gdb/syscalls/ppc-linux.xml
 #usr/share/gdb/syscalls/ppc64-linux.xml
+#usr/share/gdb/syscalls/riscv-linux.xml
 #usr/share/gdb/syscalls/s390-linux.xml
 #usr/share/gdb/syscalls/s390x-linux.xml
 #usr/share/gdb/syscalls/sparc-linux.xml
@@ -98,7 +99,6 @@ 
 #usr/share/info/gdb.info-7
 #usr/share/info/gdb.info-8
 #usr/share/info/gdb.info-9
-#usr/share/info/stabs.info
 #usr/share/man/man1/gcore.1
 #usr/share/man/man1/gdb-add-index.1
 #usr/share/man/man1/gdb.1
diff --git a/lfs/gdb b/lfs/gdb
index 426a99226..bba92a46e 100644
--- a/lfs/gdb
+++ b/lfs/gdb
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 17.2
+VER        = 18.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 = 3c6c893e1d26d534918fb07b64f2e5b368825a64f888171f07443c5ebed456e7c26ed223d78bf304ee5f145c6f3c08c790c993c7b955d168e2fd8e656c6e1e9a
+$(DL_FILE)_BLAKE2 = 9cf68cd96ecd1b2f51235f80f30d4024eadea7e11fe8af1cde0103176c622b770d79fde2205739fad8fe314ffecddd450626976e1897b04899027d0d88f30e1d
 
 install : $(TARGET)
 
@@ -71,14 +71,13 @@  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 	cd $(DIR_APP) && mkdir -pv build
-	cd $(DIR_APP)/build && \
-		../configure \
-			--prefix=/usr \
-			--sysconfdir=/etc \
-			--disable-nls \
-			--enable-tui \
-			--with-system-readline \
-			--with-python=/usr/bin/python3
+	cd $(DIR_APP)/build && ../configure \
+					--prefix=/usr \
+					--sysconfdir=/etc \
+					--disable-nls \
+					--enable-tui \
+					--with-system-readline \
+					--with-python=/usr/bin/python3
 	cd $(DIR_APP)/build && make $(MAKETUNING)
 	cd $(DIR_APP)/build && make install
 	@rm -rf $(DIR_APP)