*** Changes since GDB 7.10
+* Per-inferior thread numbers
+
+ Thread numbers are now per inferior instead of global. If you're
+ debugging multiple inferiors, GDB displays thread IDs using a
+ qualified INF_NUM.THR_NUM form. For example:
+
+ (gdb) info threads
+ Id Target Id Frame
+ 1.1 Thread 0x7ffff7fc2740 (LWP 8155) (running)
+ 1.2 Thread 0x7ffff7fc1700 (LWP 8168) (running)
+ * 2.1 Thread 0x7ffff7fc2740 (LWP 8157) (running)
+ 2.2 Thread 0x7ffff7fc1700 (LWP 8190) (running)
+
+ As consequence, thread numbers as visible in the $_thread
+ convenience variable and in Python's InferiorThread.num attribute
+ are no longer unique between inferiors.
+
+ GDB now maintains a second thread ID per thread, referred to as the
+ global thread ID, which is the new equivalent of thread numbers in
+ previous releases. See also $_gthread below.
+
+ For backwards compatibility, MI's thread IDs always refer to global
+ IDs.
+
+* Commands that accept thread IDs now accept the qualified
+ INF_NUM.THR_NUM form as well. For example:
+
+ (gdb) thread 2.1
+ [Switching to thread 2.1 (Thread 0x7ffff7fc2740 (LWP 8157))] (running)
+ (gdb)
+
+* In commands that accept a list of thread IDs, you can now refer to
+ all threads of an inferior using a star wildcard. GDB accepts
+ "INF_NUM.*", to refer to all threads of inferior INF_NUM, and "*" to
+ refer to all threads of the current inferior. For example, "info
+ threads 2.*".
+
+* You can use "info threads -gid" to display the global thread ID of
+ all threads.
+
+* The new convenience variable $_gthread holds the global number of
+ the current thread.
+
+* The new convenience variable $_inferior holds the number of the
+ current inferior.
+
* Record btrace now supports non-stop mode.
* Support for tracepoints on aarch64-linux was added in GDBserver.
* The 'record instruction-history' command now indicates speculative execution
- when using the Intel(R) Processor Trace recording format.
+ when using the Intel Processor Trace recording format.
* GDB now allows users to specify explicit locations, bypassing
the linespec parser. This feature is also available to GDB/MI
* GDB now supports displaced stepping on AArch64 GNU/Linux.
+* "info threads", "info inferiors", "info display", "info checkpoints"
+ and "maint info program-spaces" now list the corresponding items in
+ ascending ID order, for consistency with all other "info" commands.
+
+* In Ada, the overloads selection menu has been enhanced to display the
+ parameter types and the return types for the matching overloaded subprograms.
+
* New commands
maint set target-non-stop (on|off|auto)
show remote multiprocess-extensions-packet
Set/show the use of the remote protocol multiprocess extensions.
+set remote thread-events
+show remote thread-events
+ Set/show the use of thread create/exit events.
+
+set ada print-signatures on|off
+show ada print-signatures"
+ Control whether parameter types and return types are displayed in overloads
+ selection menus. It is activaled (@code{on}) by default.
+
* The "disassemble" command accepts a new modifier: /s.
It prints mixed source+disassembly like /m with two differences:
- disassembled instructions are now printed in program order, and
response can contain the corresponding 'stubfeature'. Set and
show commands can be used to display whether these features are enabled.
+vCtrlC
+ Equivalent to interrupting with the ^C character, but works in
+ non-stop mode.
+
+thread created stop reason (T05 create:...)
+ Indicates that the thread was just created and is stopped at entry.
+
+thread exit stop reply (w exitcode;tid)
+ Indicates that the thread has terminated.
+
+QThreadEvents
+ Enables/disables thread create and exit event reporting. For
+ example, this is used in non-stop mode when GDB stops a set of
+ threads and synchronously waits for the their corresponding stop
+ replies. Without exit events, if one of the threads exits, GDB
+ would hang forever not knowing that it should no longer expect a
+ stop for that same thread.
+
+N stop reply
+
+ Indicates that there are no resumed threads left in the target (all
+ threads are stopped). The remote stub reports support for this stop
+ reply to GDB's qSupported query.
+
+QCatchSyscalls:1 [;SYSNO]...
+QCatchSyscalls:0
+ Enable ("QCatchSyscalls:1") or disable ("QCatchSyscalls:0")
+ catching syscalls from the inferior process.
+
+syscall_entry stop reason
+ Indicates that a syscall was just called.
+
+syscall_return stop reason
+ Indicates that a syscall just returned.
+
+QCatchSyscalls:1 in qSupported
+ The qSupported packet may now include QCatchSyscalls:1 in the reply
+ to indicate support for catching syscalls.
+
* Extended-remote exec events
** GDB now has support for exec events on extended-remote Linux targets.
show remote exec-event-feature-packet
Set/show the use of the remote exec event feature.
+ * Thread names in remote protocol
+
+ The reply to qXfer:threads:read may now include a name attribute for each
+ thread.
+
+* Target remote mode fork and exec events
+
+ ** GDB now has support for fork and exec events on target remote mode
+ Linux targets. For such targets with Linux kernels 2.5.46 and later,
+ this enables follow-fork-mode, detach-on-fork, follow-exec-mode, and
+ fork and exec catchpoints.
+
+* Remote syscall events
+
+ ** GDB now has support for catch syscall on remote Linux targets,
+ currently enabled on x86/x86_64 architectures.
+
+set remote catch-syscall-packet
+show remote catch-syscall-packet
+ Set/show the use of the remote catch syscall feature.
+
+* MI changes
+
+ ** The -var-set-format command now accepts the zero-hexadecimal
+ format. It outputs data in hexadecimal format with zero-padding on the
+ left.
+
+* Python Scripting
+
+ ** gdb.InferiorThread objects have a new attribute "global_num",
+ which refers to the thread's global thread ID. The existing
+ "num" attribute now refers to the thread's per-inferior number.
+ See "Per-inferior thread numbers" above.
+ ** gdb.InferiorThread objects have a new attribute "inferior", which
+ is the Inferior object the thread belongs to.
+
*** Changes in GDB 7.10
* Support for process record-replay and reverse debugging on aarch64*-linux*
show mpx bound
set mpx bound on i386 and amd64
- Support for bound table investigation on Intel(R) MPX enabled applications.
+ Support for bound table investigation on Intel MPX enabled applications.
record btrace pt
record pt
- Start branch trace recording using Intel(R) Processor Trace format.
+ Start branch trace recording using Intel Processor Trace format.
maint info btrace
Print information about branch tracing internals.
set|show record btrace pt buffer-size
Set and show the size of the ring buffer used for branch tracing in
- Intel(R) Processor Trace format.
+ Intel Processor Trace format.
The obtained size may differ from the requested size. Use "info
record" to see the obtained buffer size.
Set the requested ring buffer size for branch tracing in BTS format.
Qbtrace:pt
- Enable Intel(R) Procesor Trace-based branch tracing for the current
+ Enable Intel Procesor Trace-based branch tracing for the current
process. The remote stub reports support for this packet to GDB's
qSupported query.
Qbtrace-conf:pt:size
- Set the requested ring buffer size for branch tracing in Intel(R) Processor
+ Set the requested ring buffer size for branch tracing in Intel Processor
Trace format.
swbreak stop reason
--with-intel-pt
This configure option allows the user to build GDB with support for
- Intel(R) Processor Trace (default: auto). This requires libipt.
+ Intel Processor Trace (default: auto). This requires libipt.
--with-libipt-prefix=PATH
Specify the path to the version of libipt that GDB should use.
can be used to launch native programs even when "set
auto-connect-native-target" is set to off.
-* GDB now supports access to Intel(R) MPX registers on GNU/Linux.
+* GDB now supports access to Intel MPX registers on GNU/Linux.
-* Support for Intel(R) AVX-512 registers on GNU/Linux.
- Support displaying and modifying Intel(R) AVX-512 registers
+* Support for Intel AVX-512 registers on GNU/Linux.
+ Support displaying and modifying Intel AVX-512 registers
$zmm0 - $zmm31 and $k0 - $k7 on GNU/Linux.
* New remote packets