#12554: gdb-8.3.1 -------------------------+----------------------- Reporter: renodr | Owner: bdubbs Type: enhancement | Status: assigned Priority: normal | Milestone: 9.1 Component: BOOK | Version: SVN Severity: normal | Resolution: Keywords: | -------------------------+-----------------------
Comment (by bdubbs): Changes in GDB 8.3 * GDB and GDBserver now support access to additional registers on PowerPC GNU/Linux targets: PPR, DSCR, TAR, EBB/PMU registers, and HTM registers. * GDB now has experimental support for the compilation and injection of C++ source code into the inferior. This beta release does not include support for several language features, such as templates, constructors, and operators. This feature requires GCC 7.1 or higher built with libcp1.so (the C++ plug-in). * GDB and GDBserver now support IPv6 connections. IPv6 addresses can be passed using the '[ADDRESS]:PORT' notation, or the regular 'ADDRESS:PORT' method. * DWARF index cache: GDB can now automatically save indices of DWARF symbols on disk to speed up further loading of the same binaries. * Ada task switching is now supported on aarch64-elf targets when debugging a program using the Ravenscar Profile. For more information, see the "Tasking Support when using the Ravenscar Profile" section in the GDB user manual. * GDB in batch mode now exits with status 1 if the last command to be executed failed. * The RISC-V target now supports target descriptions. * System call catchpoints now support system call aliases on FreeBSD. When the ABI of a system call changes in FreeBSD, this is implemented by leaving a compatibility system call using the old ABI at the existing number and allocating a new system call number for the new ABI. For example, FreeBSD 12 altered the layout of 'struct kevent' used by the 'kevent' system call. As a result, FreeBSD 12 kernels ship with both 'kevent' and 'freebsd11_kevent' system calls. The 'freebsd11_kevent' system call is assigned an alias of 'kevent' so that a system call catchpoint for the 'kevent' system call will catch invocations of both the 'kevent' and 'freebsd11_kevent' binaries. This ensures that 'kevent' system calls are caught for binaries using either the old or new ABIs. * Terminal styling is now available for the CLI and the TUI. GNU Source Highlight can additionally be used to provide styling of source code snippets. See the "set style" commands, below, for more information. Removed support for old demangling styles arm, edg, gnu, hp and lucid. * New commands {{{ set debug compile-cplus-types show debug compile-cplus-types Control the display of debug output about type conversion in the C++ compile feature. Commands have no effect while compiliong for other languages. set debug skip show debug skip Control whether debug output about files/functions skipping is displayed. frame apply [all | COUNT | -COUNT | level LEVEL...] [FLAG]... COMMAND Apply a command to some frames. FLAG arguments allow to control what output to produce and how to handle errors raised when applying COMMAND to a frame. taas COMMAND Apply a command to all threads (ignoring errors and empty output). Shortcut for 'thread apply all -s COMMAND'. faas COMMAND Apply a command to all frames (ignoring errors and empty output). Shortcut for 'frame apply all -s COMMAND'. tfaas COMMAND Apply a command to all frames of all threads (ignoring errors and empty output). Shortcut for 'thread apply all -s frame apply all -s COMMAND'. maint set dwarf unwinders (on|off) maint show dwarf unwinders Control whether DWARF unwinders can be used. info proc files Display a list of open files for a process. }}} * Changed commands {{{ Changes to the "frame", "select-frame", and "info frame" CLI commands. These commands all now take a frame specification which is either a frame level, or one of the keywords 'level', 'address', 'function', or 'view' followed by a parameter. Selecting a frame by address, or viewing a frame outside the current backtrace now requires the use of a keyword. Selecting a frame by level is unchanged. The MI comment "-stack-select-frame" is unchanged. target remote FILENAME target extended-remote FILENAME If FILENAME is a Unix domain socket, GDB will attempt to connect to this socket instead of opening FILENAME as a character device. info args [-q] [-t TYPEREGEXP] [NAMEREGEXP] info functions [-q] [-t TYPEREGEXP] [NAMEREGEXP] info locals [-q] [-t TYPEREGEXP] [NAMEREGEXP] info variables [-q] [-t TYPEREGEXP] [NAMEREGEXP] These commands can now print only the searched entities matching the provided regexp(s), giving a condition on the entity names or entity types. The flag -q disables printing headers or informations messages. info functions info types info variables rbreak These commands now determine the syntax for the shown entities according to the language chosen by `set language'. In particular, `set language auto' means to automatically choose the language of the shown entities. thread apply [all | COUNT | -COUNT] [FLAG]... COMMAND The 'thread apply' command accepts new FLAG arguments. FLAG arguments allow to control what output to produce and how to handle errors raised when applying COMMAND to a thread. set tui tab-width NCHARS show tui tab-width NCHARS "set tui tab-width" replaces the "tabset" command, which has been deprecated. set style enabled [on|off] show style enabled Enable or disable terminal styling. Styling is enabled by default on most hosts, but disabled by default when in batch mode. set style sources [on|off] show style sources Enable or disable source code styling. Source code styling is enabled by default, but only takes effect if styling in general is enabled, and if GDB was linked with GNU Source Highlight. set style filename foreground COLOR set style filename background COLOR set style filename intensity VALUE Control the styling of file names. set style function foreground COLOR set style function background COLOR set style function intensity VALUE Control the styling of function names. set style variable foreground COLOR set style variable background COLOR set style variable intensity VALUE Control the styling of variable names. set style address foreground COLOR set style address background COLOR set style address intensity VALUE Control the styling of addresses. }}} * MI changes {{{ ** The '-data-disassemble' MI command now accepts an '-a' option to disassemble the whole function surrounding the given program counter value or function name. Support for this feature can be verified by using the "-list-features" command, which should contain "data-disassemble-a-option". ** Command responses and notifications that include a frame now include the frame's architecture in a new "arch" attribute. }}} * Python API {{{ ** GDB no longer supports Python versions less than 2.6. ** The gdb.Inferior type has a new 'progspace' property, which is the program space associated to that inferior. ** The gdb.Progspace type has a new 'objfiles' method, which returns the list of objfiles associated to that program space. ** gdb.SYMBOL_LOC_COMMON_BLOCK, gdb.SYMBOL_MODULE_DOMAIN, and gdb.SYMBOL_COMMON_BLOCK_DOMAIN were added to reflect changes to the gdb core. ** gdb.SYMBOL_VARIABLES_DOMAIN, gdb.SYMBOL_FUNCTIONS_DOMAIN, and gdb.SYMBOL_TYPES_DOMAIN are now deprecated. These were never correct and did not work properly. ** The gdb.Value type has a new constructor, which is used to construct a gdb.Value from a Python buffer object and a gdb.Type. }}} * Configure changes {{{ --enable-ubsan Enable or disable the undefined behavior sanitizer. This is disabled by default, but passing --enable-ubsan=yes or --enable-ubsan=auto to configure will enable it. Enabling this can cause a performance penalty. The undefined behavior sanitizer was first introduced in GCC 4.9. }}} -- Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/12554#comment:2> BLFS Trac <http://wiki.linuxfromscratch.org/blfs> Beyond Linux From Scratch -- http://lists.linuxfromscratch.org/listinfo/blfs-book FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page