* The MPX commands "show/set mpx bound" have been deprecated, as
Intel listed MPX as removed in 2019.
* GDB index now contains information about the main function.
* This speeds up startup when it is being used for some large
binaries.
* On hosts where threading is available, DWARF reading is now
done in the background, resulting in faster startup. This can
be controlled using "maint set dwarf synchronous".
* Changed commands:
* disassemble:
Attempting to use both the 'r' and 'b' flags with the
disassemble command will now give an error. Previously the
'b' flag would always override the 'r' flag.
* gcore, generate-core-file:
GDB now generates sparse core files, on systems that support
it.
* maintenance info line-table:
Add an EPILOGUE-BEGIN column to the output of the command.
It indicates if the line is considered the start of the
epilogue, and thus a point at which the frame can be
considered destroyed.
* set unwindonsignal on|off, show unwindonsignal:
These commands are now aliases for the new
set/show unwind-on-signal.
* target record-full:
This command now gives an error if any unexpected arguments
are found after the command.
* list .:
When using the command "list ." in a location that has no
debug information or no file loaded, GDB now says that there
is no debug information to print lines. This makes it more
obvious that there is no information, as opposed to implying
there is no inferior loaded.
* New commands:
* info missing-debug-handler:
List all the registered missing debug handlers.
* enable missing-debug-handler LOCUS HANDLER,
disable missing-debug-handler LOCUS HANDLER:
Enable or disable a missing debug handler with a name
matching the regular expression HANDLER, in LOCUS.
LOCUS can be 'global' to operate on global missing debug
handler, 'progspace' to operate on handlers within the
current program space, or can be a regular expression which
is matched against the filename of the primary executable in
each program space.
* maintenance info linux-lwps:
List all LWPs under control of the linux-nat target.
* set remote thread-options-packet,
show remote thread-options-packet:
Set/show the use of the thread options packet.
* set direct-call-timeout SECONDS, show direct-call-timeout,
set indirect-call-timeout SECONDS,
show indirect-call-timeout:
These new settings can be used to limit how long GDB will
wait for an inferior function call to complete. The direct
timeout is used for inferior function calls from e.g. 'call'
and 'print' commands, while the indirect timeout is used for
inferior function calls from within a conditional breakpoint
expression.
The default for the direct timeout is unlimited, while the
default for the indirect timeout is 30 seconds.
These timeouts will only have an effect for targets that are
operating in async mode. For non-async targets the timeouts
are ignored, GDB will wait indefinitely for an inferior
function to complete, unless interrupted by the user using
Ctrl-C.
* set unwind-on-timeout on|off, show unwind-on-timeout:
These commands control whether GDB should unwind the stack
when a timeout occurs during an inferior function call. The
default is off, in which case the inferior will remain in
the frame where the timeout occurred. When on, GDB will
unwind the stack removing the dummy frame that was added for
the inferior call, and restoring the inferior state to how
it was before the inferior call started.
* set unwind-on-signal on|off, show unwind-on-signal:
These new commands replaces the existing set/show
unwindonsignal. The old command is maintained as an alias.
* New features in the GDB remote stub, GDBserver:
* The --remote-debug and --event-loop-debug command line
options have been removed.
* The --debug command line option now takes an optional comma
separated list of components to emit debug for. The
currently supported components are: all, threads,
event-loop, and remote. If no components are given then
threads is assumed.
* The 'monitor set remote-debug' and 'monitor set
event-loop-debug' command have been removed.
* The 'monitor set debug 0|1' command has been extended to
take a component name, e.g.: 'monitor set debug COMPONENT
off|on'. Possible component names are: all, threads,
event-loop, and remote.
* Python API:
* New function gdb.notify_mi(NAME, DATA), that emits custom
GDB/MI async notification.
* New read/write attribute gdb.Value.bytes that contains a
bytes object holding the contents of this value.
* New module gdb.missing_debug that facilitates dealing with
objfiles that are missing any debug information.
* New function gdb.missing_debug.register_handler that can
register an instance of a sub-class of
gdb.missing_debug.MissingDebugInfo as a handler for objfiles
that are missing debug information.
* New class gdb.missing_debug.MissingDebugInfo which can be
sub-classed to create handlers for objfiles with missing
debug information.
* Stop events now have a "details" attribute that holds a
dictionary that carries the same information as an MI
"*stopped" event.
* New function gdb.interrupt(), that interrupts GDB as if the
user typed control-c.
* New gdb.InferiorThread.ptid_string attribute. This
read-only attribute contains the string that appears in the
'Target Id' column of the 'info threads' command output.
* It is no longer possible to create new gdb.Progspace object
using 'gdb.Progspace()', this will result in a TypeError.
Progspace objects can still be obtained through calling
other API functions, for example 'gdb.current_progspace()'.
* User defined attributes can be added to a gdb.Inferior
object, these will be stored in the object's new
Inferior.__dict__ attribute.
* User defined attributes can be added to a gdb.InferiorThread
object, these will be stored in the object's new
InferiorThread.__dict__ attribute.
* New constants gdb.SYMBOL_TYPE_DOMAIN,
gdb.SYMBOL_FUNCTION_DOMAIN, and gdb.SEARCH_*_DOMAIN
corresponding to all the existing symbol domains. Symbol
lookup can now search in multiple domains at once, and can
also narrowly search for just a type or function.
* Debugger Adapter Protocol changes:
* GDB now emits the "process" event.
* GDB now supports the "cancel" request.
* The "attach" request now supports specifying the program.
* New command "set debug dap-log-level" controls DAP logging.
* The "set debug dap-log-file" command is now documented.
This command was available in GDB 14 but not documented.
* Guile API:
* New constants SYMBOL_TYPE_DOMAIN, SYMBOL_FUNCTION_DOMAIN,
and SEARCH_*_DOMAIN corresponding to all the existing symbol
domains. Symbol lookup can now search in multiple domains
at once, and can also narrowly search for just a type or
function.
* Remote packets:
* New stop reason clone:
Indicates that a clone system call was executed.
* New remote packets:
* QThreadOptions:
Enable/disable optional event reporting, on a per-thread
basis. Currently supported options are
GDB_THREAD_OPTION_CLONE, to enable clone event reporting,
and GDB_THREAD_OPTION_EXIT to enable thread exit event
reporting.
* QThreadOptions in qSupported:
* The qSupported packet allows GDB to inform the stub it
supports the QThreadOptions packet, and the qSupported
response can contain the set of thread options the remote
stub supports.
* qIsAddressTagged:
This new packet allows GDB to query the stub about a given
address to check if it is tagged or not. Many memory
tagging-related GDB commands need to perform this check
before they read/write the allocation tag related to an
address. Currently, however, this is done through a 'vFile'
request to read the file /proc/<PID>/smaps and check if the
address is in a region reported as memory tagged. Since not
all targets have a notion of what the smaps file is about,
this new packet provides a more generic way to perform such
a check.
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=438