* New targets
Xilinx MicroBlaze microblaze-*-*
+Renesas RX rx-*-elf
* New Simulators
Xilinx MicroBlaze microblaze
+Renesas RX rx
* Multi-program debugging.
lists inferiors that are not running yet or that have exited
already. See also "New commands" and "New options" below.
+* New tracing features
+
+ GDB's tracepoint facility now includes several new features:
+
+ ** Trace state variables
+
+ GDB tracepoints now include support for trace state variables, which
+ are variables managed by the target agent during a tracing
+ experiment. They are useful for tracepoints that trigger each
+ other, so for instance one tracepoint can count hits in a variable,
+ and then a second tracepoint has a condition that is true when the
+ count reaches a particular value. Trace state variables share the
+ $-syntax of GDB convenience variables, and can appear in both
+ tracepoint actions and condition expressions. Use the "tvariable"
+ command to create, and "info tvariables" to view; see "Trace State
+ Variables" in the manual for more detail.
+
+ ** Fast tracepoints
+
+ GDB now includes an option for defining fast tracepoints, which
+ targets may implement more efficiently, such as by installing a jump
+ into the target agent rather than a trap instruction. The resulting
+ speedup can be by two orders of magnitude or more, although the
+ tradeoff is that some program locations on some target architectures
+ might not allow fast tracepoint installation, for instance if the
+ instruction to be replaced is shorter than the jump. To request a
+ fast tracepoint, use the "ftrace" command, with syntax identical to
+ the regular trace command.
+
+ ** Disconnected tracing
+
+ It is now possible to detach GDB from the target while it is running
+ a trace experiment, then reconnect later to see how the experiment
+ is going. In addition, a new variable disconnected-tracing lets you
+ tell the target agent whether to continue running a trace if the
+ connection is lost unexpectedly.
+
+ ** Trace files
+
+ GDB now has the ability to save the trace buffer into a file, and
+ then use that file as a target, similarly to you can do with
+ corefiles. You can select trace frames, print data that was
+ collected in them, and use tstatus to display the state of the
+ tracing run at the moment that it was saved. To create a trace
+ file, use "tsave <filename>", and to use it, do "target tfile
+ <name>".
+
* Changed commands
disassemble
The disassemble command, when invoked with two arguments, now requires
the arguments to be comma-separated.
+info variables
+ The info variables command now displays variable definitions. Files
+ which only declare a variable are not shown.
+
+source
+ The source command is now capable of sourcing Python scripts.
+ This feature is dependent on the debugger being build with Python
+ support.
+
+ Related to this enhancement is also the introduction of a new command
+ "set script-extension" (see below).
+
* New commands (for set/show, see "New options" below)
record save [<FILENAME>]
show remotebreak
Deprecated. Use "set/show remote interrupt-sequence" instead.
+tvariable $NAME [ = EXP ]
+ Create or modify a trace state variable.
+
+info tvariables
+ List trace state variables and their values.
+
+delete tvariable $NAME ...
+ Delete one or more trace state variables.
+
+teval EXPR, ...
+ Evaluate the given expressions without collecting anything into the
+ trace buffer. (Valid in tracepoint actions only.)
+
+ftrace FN / FILE:LINE / *ADDR
+ Define a fast tracepoint at the given function, line, or address.
+
+* New expression syntax
+
+ GDB now parses the 0b prefix of binary numbers the same way as GCC does.
+ GDB now parses 0b101010 identically with 42.
+
* New options
set follow-exec-mode new|same
creates a new one. This is useful to be able to restart the old
executable after the inferior having done an exec call.
+set default-collect EXPR, ...
+show default-collect
+ Define a list of expressions to be collected at each tracepoint.
+ This is a useful way to ensure essential items are not overlooked,
+ such as registers or a critical global variable.
+
+set disconnected-tracing
+show disconnected-tracing
+ If set to 1, the target is instructed to continue tracing if it
+ loses its connection to GDB. If 0, the target is to stop tracing
+ upon disconnection.
+
+set script-extension off|soft|strict
+show script-extension
+ If set to "off", the debugger does not perform any script language
+ recognition, and all sourced files are assumed to be GDB scripts.
+ If set to "soft" (the default), files are sourced according to
+ filename extension, falling back to GDB scripts if the first
+ evaluation failed.
+ If set to "strict", files are sourced according to filename extension.
+
+set ada trust-PAD-over-XVS on|off
+show ada trust-PAD-over-XVS
+ If off, activate a workaround against a bug in the debugging information
+ generated by the compiler for PAD types (see gcc/exp_dbug.ads in
+ the GCC sources for more information about the GNAT encoding and
+ PAD types in particular). It is always safe to set this option to
+ off, but this introduces a slight performance penalty. The default
+ is on.
+
+* New remote packets
+
+QTDV
+ Define a trace state variable.
+
+qTV
+ Get the current value of a trace state variable.
+
+QTDisconnected
+ Set desired tracing behavior upon disconnection.
+
+qTfP, qTsP
+ Get data about the tracepoints currently in use.
+
+* Bug fixes
+
+Process record now works correctly with hardware watchpoints.
+
+Multiple bug fixes have been made to the mips-irix port, making it
+much more reliable. In particular:
+ - Debugging threaded applications is now possible again. Previously,
+ GDB would hang while starting the program, or while waiting for
+ the program to stop at a breakpoint.
+ - Attaching to a running process no longer hangs.
+ - An error occurring while loading a core file has been fixed.
+ - Changing the value of the PC register now works again. This fixes
+ problems observed when using the "jump" command, or when calling
+ a function from GDB, or even when assigning a new value to $pc.
+ - With the "finish" and "return" commands, the return value for functions
+ returning a small array is now correctly printed.
+ - It is now possible to break on shared library code which gets executed
+ during a shared library init phase (code executed while executing
+ their .init section). Previously, the breakpoint would have no effect.
+ - GDB is now able to backtrace through the signal handler for
+ non-threaded programs.
+
+PIE (Position Independent Executable) programs debugging is now supported.
+This includes debugging execution of PIC (Position Independent Code) shared
+libraries although for that, it should be possible to run such libraries as an
+executable program.
+
*** Changes in GDB 7.0
* GDB now has an interface for JIT compilation. Applications that