GDB 13 debugger release

GDB 13.1 debugger release introduced (first release of 13.x series, 13.0 branch used for development). GDB supports source-level debugging for a wide range of programming languages ​​(Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, etc.) on various hardware (i386, amd64, ARM, Power, Sparc, RISC-V, etc.) and software platforms (GNU/Linux, *BSD, Unix, Windows, macOS).

Key improvements:

  • Added support for launching the debugger and GDBserver on GNU/Linux/LoongArch and GNU/Linux/CSKY architectures.
  • Implemented support for working on the Windows platform in asynchronous mode (async).
  • On the FreeBSD platform, support for TLS (Thread Local Storage) variables has been added for the ARM and AArch64 architectures, and the ability to use hardware breakpoints (watchpoint) has been provided for the AArch64 architecture.
  • Support for floating point calculations has been added to the GNU/Linux environment on LoongArch systems.
  • Implemented new commands "maintenance set ignore-prologue-end-flag|libopcodes-styling" and "maintenance print frame-id", as well as commands to control the style of disassembled output (set style disassembler *).
  • Added commands "set print nibbles [on|off]" and "show print nibbles" to control the display of binary values ​​in four-byte groups.
  • Improvements have been made to the Python API. Added an API for disassembling instructions, implemented the gdb.BreakpointLocation type, added the functions gdb.format_address, gdb.current_language and gdb.print_options.
  • The GDB/MI management API has deprecated the first version of the MI interface, which will be removed in the GDB 14 branch.
  • Support for debug sections compressed using the zstd algorithm has been added to ELF files.
  • Added new built-in variables: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Output format of 'disassemble /r' and 'record instruction-history /r' commands has been changed to match the output of objdump. To return the old format, the "/b" mode has been added.
  • Styling of source and assembly code, highlighted by the current position indicator, is disabled in the TUI (Text User Interface).
  • Provided the ability to use the "document" command to document user commands.
  • Added the ability to create dumps with memory tag data used when using the ARMv8.5 MTE (MemTag, Memory Tagging Extension) mechanism, which allows you to bind tags to each memory allocation operation and organize a check of the pointer when accessing the memory, which must be associated with the correct tag.
  • Support for DBX compatibility mode has been dropped.
  • Support for building with Python 2 has been dropped.
  • Removed "set debug aix-solib on|off", "show debug aix-solib", "set debug solib-frv on|off" and "show debug solib-frv" commands, instead use "set/show debug" commands solib".

Source: opennet.ru

Add a comment