*** Changes since GDB 6.8
+* GDB now has an interface for JIT compilation. Applications that
+dynamically generate code can create symbol files in memory and register
+them with GDB. For users, the feature should work transparently, and
+for JIT developers, the interface is documented in the GDB manual in the
+"JIT Compilation Interface" chapter.
+
+* Tracepoints may now be conditional. The syntax is as for
+breakpoints; either an "if" clause appended to the "trace" command,
+or the "condition" command is available. GDB sends the condition to
+the target for evaluation using the same bytecode format as is used
+for tracepoint actions.
+
+* "disassemble" command with a /r modifier, print the raw instructions
+in hex as well as in symbolic form."
+
* Process record and replay
In a architecture environment that supports ``process record and
If the user types TAB at the end of this command line, the available
completions will be "f1" and "f2".
+* Inlined functions are now supported. They show up in backtraces, and
+the "step", "next", and "finish" commands handle them automatically.
+
* GDB now supports the token-splicing (##) and stringification (#)
operators when expanding macros. It also supports variable-arity
macros.
* GDB now supports inspecting extra signal information, exported by
- the new $_siginfo convenience variable. The feature is currently
- implemented on linux ARM, i386 and amd64.
+the new $_siginfo convenience variable. The feature is currently
+implemented on linux ARM, i386 and amd64.
+
+* GDB can now display the VFP floating point registers and NEON vector
+registers on ARM targets. Both ARM GNU/Linux native GDB and gdbserver
+can provide these registers (requires Linux 2.6.30 or later). Remote
+and simulator targets may also provide them.
* New remote packets
- Support for the sparc64-linux-gnu target is now included in
gdbserver.
+ - The amd64-linux build of gdbserver now supports debugging both
+ 32-bit and 64-bit programs.
+
+ - The i386-linux, amd64-linux, and i386-win32 builds of gdbserver
+ now support hardware watchpoints, and will use them automatically
+ as appropriate.
+
* Python scripting
GDB now has support for scripting using Python. Whether this is
* Support for user-defined prefixed commands. The "define" command can
add new commands to existing prefixes, e.g. "target".
+* Multi-inferior, multi-process debugging.
+
+ GDB now has generalized support for multi-inferior debugging. See
+ "Debugging Multiple Inferiors" in the manual for more information.
+ Although availability still depends on target support, the command
+ set is more uniform now. The GNU/Linux specific multi-forks support
+ has been migrated to this new framework. This implied some user
+ visible changes; see "New commands" and also "Removed commands"
+ below.
+
+* Target descriptions can now describe the target OS ABI. See the
+"Target Description Format" section in the user manual for more
+information.
+
+* Target descriptions can now describe "compatible" architectures
+to indicate that the target can execute applications for a different
+architecture in addition to those for the main target architecture.
+See the "Target Description Format" section in the user manual for
+more information.
+
+* Multi-architecture debugging.
+
+ GDB now includes general supports for debugging applications on
+ hybrid systems that use more than one single processor architecture
+ at the same time. Each such hybrid architecture still requires
+ specific support to be added. The only hybrid architecture supported
+ in this version of GDB is the Cell Broadband Engine.
+
+* GDB now supports integrated debugging of Cell/B.E. applications that
+use both the PPU and SPU architectures. To enable support for hybrid
+Cell/B.E. debugging, you need to configure GDB to support both the
+powerpc-linux or powerpc64-linux and the spu-elf targets, using the
+--enable-targets configure option.
+
* New commands (for set/show, see "New options" below)
find [/size-char] [/max-count] start-address, end-address|+search-space-size,
info os processes
Show operating system information about processes.
+info inferiors
+ List the inferiors currently under GDB's control.
+
+inferior NUM
+ Switch focus to inferior number NUM.
+
+detach inferior NUM
+ Detach from inferior number NUM.
+
+kill inferior NUM
+ Kill inferior number NUM.
+
* New options
+set spu stop-on-load
+show spu stop-on-load
+ Control whether to stop for new SPE threads during Cell/B.E. debugging.
+
+set spu auto-flush-cache
+show spu auto-flush-cache
+ Control whether to automatically flush the software-managed cache
+ during Cell/B.E. debugging.
+
set sh calling-convention
show sh calling-convention
Control the calling convention used when calling SH target functions.
with a specified timeout period; this is useful if the stub is launched
in parallel with GDB but may not be ready to accept connections immediately.
+set libthread-db-search-path
+show libthread-db-search-path
+ Control list of directories which GDB will search for appropriate
+ libthread_db.
+
+set schedule-multiple (on|off)
+show schedule-multiple
+ Allow GDB to resume all threads of all processes or only threads of
+ the current process.
+
+* Removed commands
+
+info forks
+ For program forks, this is replaced by the new more generic `info
+ inferiors' command. To list checkpoints, you can still use the
+ `info checkpoints' command, which was an alias for the `info forks'
+ command.
+
+fork NUM
+ Replaced by the new `inferior' command. To switch between
+ checkpoints, you can still use the `restart' command, which was an
+ alias for the `fork' command.
+
+process PID
+ This is removed, since some targets don't have a notion of
+ processes. To switch between processes, you can still use the
+ `inferior' command using GDB's own inferior number.
+
+delete fork NUM
+ For program forks, this is replaced by the new more generic `kill
+ inferior' command. To delete a checkpoint, you can still use the
+ `delete checkpoint' command, which was an alias for the `delete
+ fork' command.
+
+detach fork NUM
+ For program forks, this is replaced by the new more generic `detach
+ inferior' command. To detach a checkpoint, you can still use the
+ `detach checkpoint' command, which was an alias for the `detach
+ fork' command.
+
* New native configurations
x86/x86_64 Darwin i[34567]86-*-darwin*
* New targets
+Lattice Mico32 lm32-*
x86 DICOS i[34567]86-*-dicos*
x86_64 DICOS x86_64-*-dicos*
+S+core 3 score-*-*
* The GDB remote stub, gdbserver, now supports x86 Windows CE
(mingw32ce) debugging.