gdb/NEWS: Clarify C++ requirement
[binutils-gdb.git] / gdb / NEWS
index f4ba65dfa9d6de04ef5fae98c34341587585f619..a6b1282aecaf053ef934e3020495e7a89f577f95 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -1,7 +1,180 @@
                What has changed in GDB?
             (Organized release by release)
 
                What has changed in GDB?
             (Organized release by release)
 
-*** Changes since GDB 7.10
+*** Changes since GDB 7.12
+
+* Building GDB and GDBserver now requires a C++11 compiler.
+
+  For example, GCC 4.8 or later.
+
+  It is no longer possible to build GDB or GDBserver with a C
+  compiler.  The --disable-build-with-cxx configure option has been
+  removed.
+
+* Native debugging on MS-Windows supports command-line redirection
+
+  Command-line arguments used for starting programs on MS-Windows can
+  now include redirection symbols supported by native Windows shells,
+  such as '<', '>', '>>', '2>&1', etc.  This affects GDB commands such
+  as "run", "start", and "set args", as well as the corresponding MI
+  features.
+
+* Support for thread names on MS-Windows.
+
+  GDB now catches and handles the special exception that programs
+  running on MS-Windows use to assign names to threads in the
+  debugger.
+
+* Support for Java programs compiled with gcj has been removed.
+
+* New targets
+
+Synopsys ARC                   arc*-*-elf32
+
+*** Changes in GDB 7.12
+
+* GDB and GDBserver now build with a C++ compiler by default.
+
+  The --enable-build-with-cxx configure option is now enabled by
+  default.  One must now explicitly configure with
+  --disable-build-with-cxx in order to build with a C compiler.  This
+  option will be removed in a future release.
+
+* GDBserver now supports recording btrace without maintaining an active
+  GDB connection.
+
+* GDB now supports a negative repeat count in the 'x' command to examine
+  memory backward from the given address.  For example:
+
+    (gdb) bt
+    #0  Func1 (n=42, p=0x40061c "hogehoge") at main.cpp:4
+    #1  0x400580 in main (argc=1, argv=0x7fffffffe5c8) at main.cpp:8
+    (gdb) x/-5i 0x0000000000400580
+       0x40056a <main(int, char**)+8>:      mov    %edi,-0x4(%rbp)
+       0x40056d <main(int, char**)+11>:     mov    %rsi,-0x10(%rbp)
+       0x400571 <main(int, char**)+15>:     mov    $0x40061c,%esi
+       0x400576 <main(int, char**)+20>:     mov    $0x2a,%edi
+       0x40057b <main(int, char**)+25>:
+        callq  0x400536 <Func1(int, char const*)>
+
+* Fortran: Support structures with fields of dynamic types and 
+  arrays of dynamic types.
+
+* GDB now supports multibit bitfields and enums in target register
+  descriptions.
+
+* New Python-based convenience function $_as_string(val), which returns
+  the textual representation of a value.  This function is especially
+  useful to obtain the text label of an enum value.
+
+* Intel MPX bound violation handling.
+
+   Segmentation faults caused by a Intel MPX boundary violation
+   now display the kind of violation (upper or lower), the memory
+   address accessed and the memory bounds, along with the usual
+   signal received and code location.
+
+   For example:
+
+   Program received signal SIGSEGV, Segmentation fault
+   Upper bound violation while accessing address 0x7fffffffc3b3
+   Bounds: [lower = 0x7fffffffc390, upper = 0x7fffffffc3a3]
+   0x0000000000400d7c in upper () at i386-mpx-sigsegv.c:68
+
+* Rust language support.
+  GDB now supports debugging programs written in the Rust programming
+  language.  See https://www.rust-lang.org/ for more information about
+  Rust.
+
+* Support for running interpreters on specified input/output devices
+
+  GDB now supports a new mechanism that allows frontends to provide
+  fully featured GDB console views, as a better alternative to
+  building such views on top of the "-interpreter-exec console"
+  command.  See the new "new-ui" command below.  With that command,
+  frontends can now start GDB in the traditional command-line mode
+  running in an embedded terminal emulator widget, and create a
+  separate MI interpreter running on a specified i/o device.  In this
+  way, GDB handles line editing, history, tab completion, etc. in the
+  console all by itself, and the GUI uses the separate MI interpreter
+  for its own control and synchronization, invisible to the command
+  line.
+
+* The "catch syscall" command catches groups of related syscalls.
+
+  The "catch syscall" command now supports catching a group of related
+  syscalls using the 'group:' or 'g:' prefix.
+
+* New commands
+
+skip -file file
+skip -gfile file-glob-pattern
+skip -function function
+skip -rfunction regular-expression
+  A generalized form of the skip command, with new support for
+  glob-style file names and regular expressions for function names.
+  Additionally, a file spec and a function spec may now be combined.
+
+maint info line-table REGEXP
+  Display the contents of GDB's internal line table data struture.
+
+maint selftest
+  Run any GDB unit tests that were compiled in.
+
+new-ui INTERP TTY
+  Start a new user interface instance running INTERP as interpreter,
+  using the TTY file for input/output.
+
+* Python Scripting
+
+  ** gdb.Breakpoint objects have a new attribute "pending", which
+     indicates whether the breakpoint is pending.
+  ** Three new breakpoint-related events have been added:
+     gdb.breakpoint_created, gdb.breakpoint_modified, and
+     gdb.breakpoint_deleted.
+
+signal-event EVENTID
+  Signal ("set") the given MS-Windows event object.  This is used in
+  conjunction with the Windows JIT debugging (AeDebug) support, where
+  the OS suspends a crashing process until a debugger can attach to
+  it.  Resuming the crashing process, in order to debug it, is done by
+  signalling an event.
+
+* Support for tracepoints and fast tracepoints on s390-linux and s390x-linux
+  was added in GDBserver, including JIT compiling fast tracepoint's
+  conditional expression bytecode into native code.
+
+* Support for various remote target protocols and ROM monitors has
+  been removed:
+
+  target m32rsdi       Remote M32R debugging over SDI
+  target mips          MIPS remote debugging protocol
+  target pmon          PMON ROM monitor
+  target ddb           NEC's DDB variant of PMON for Vr4300
+  target rockhopper    NEC RockHopper variant of PMON
+  target lsi           LSI variant of PMO
+
+* Support for tracepoints and fast tracepoints on powerpc-linux,
+  powerpc64-linux, and powerpc64le-linux was added in GDBserver,
+  including JIT compiling fast tracepoint's conditional expression
+  bytecode into native code.
+
+* MI async record =record-started now includes the method and format used for
+  recording.  For example:
+
+    =record-started,thread-group="i1",method="btrace",format="bts"
+
+* MI async record =thread-selected now includes the frame field.  For example:
+
+     =thread-selected,id="3",frame={level="0",addr="0x00000000004007c0"}
+
+* New targets
+
+Andes NDS32                    nds32*-*-elf
+
+*** Changes in GDB 7.11
+
+* GDB now supports debugging kernel-based threads on FreeBSD.
 
 * Per-inferior thread numbers
 
 
 * Per-inferior thread numbers
 
@@ -100,6 +273,10 @@ set debug bfd-cache
 show debug bfd-cache
   Control display of debugging info regarding bfd caching.
 
 show debug bfd-cache
   Control display of debugging info regarding bfd caching.
 
+set debug fbsd-lwp
+show debug fbsd-lwp
+  Control display of debugging info regarding FreeBSD threads.
+
 set remote multiprocess-extensions-packet
 show remote multiprocess-extensions-packet
   Set/show the use of the remote protocol multiprocess extensions.
 set remote multiprocess-extensions-packet
 show remote multiprocess-extensions-packet
   Set/show the use of the remote protocol multiprocess extensions.
@@ -113,6 +290,12 @@ show ada print-signatures"
   Control whether parameter types and return types are displayed in overloads
   selection menus.  It is activaled (@code{on}) by default.
 
   Control whether parameter types and return types are displayed in overloads
   selection menus.  It is activaled (@code{on}) by default.
 
+set max-value-size
+show max-value-size
+  Controls the maximum size of memory, in bytes, that GDB will
+  allocate for value contents.  Prevents incorrect programs from
+  causing GDB to allocate overly large buffers.  Default is 64k.
+
 * 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
 * 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
@@ -168,15 +351,13 @@ QThreadEvents
   stop for that same thread.
 
 N stop reply
   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.
 
   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.
+QCatchSyscalls
+  Enables/disables catching syscalls from the inferior process.
+  The remote stub reports support for this packet to GDB's qSupported query.
 
 syscall_entry stop reason
   Indicates that a syscall was just called.
 
 syscall_entry stop reason
   Indicates that a syscall was just called.
@@ -184,10 +365,6 @@ syscall_entry stop reason
 syscall_return stop reason
   Indicates that a syscall just returned.
 
 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.
 * Extended-remote exec events
 
   ** GDB now has support for exec events on extended-remote Linux targets.