2009-07-20 Pedro Alves <pedro@codesourcery.com>
[deliverable/binutils-gdb.git] / gdb / NEWS
index d549f003e2133279571d1aff08f9a2b55259499f..7dcc8fc7d3fffdd9e63cf8093c175b3b0ddd7c7b 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -1,7 +1,537 @@
                What has changed in GDB?
             (Organized release by release)
 
                What has changed in GDB?
             (Organized release by release)
 
-*** Changes since GDB 6.6
+*** Changes since GDB 6.8
+
+* 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
+  replay'', ``process record and replay'' target can record a log of
+  the process execution, and replay it with both forward and reverse
+  execute commands.
+
+* Reverse debugging: GDB now has new commands reverse-continue, reverse-
+step, reverse-next, reverse-finish, reverse-stepi, reverse-nexti, and
+set execution-direction {forward|reverse}, for targets that support
+reverse execution.
+
+* GDB now supports hardware watchpoints on MIPS/Linux systems.  This
+feature is available with a native GDB running on kernel version
+2.6.28 or later.
+
+* GDB now has support for multi-byte and wide character sets on the
+target.  Strings whose character type is wchar_t, char16_t, or
+char32_t are now correctly printed.  GDB supports wide- and unicode-
+literals in C, that is, L'x', L"string", u'x', u"string", U'x', and
+U"string" syntax.  And, GDB allows the "%ls" and "%lc" formats in
+`printf'.  This feature requires iconv to work properly; if your
+system does not have a working iconv, GDB can use GNU libiconv.  See
+the installation instructions for more information.
+
+* GDB now supports automatic retrieval of shared library files from
+remote targets.  To use this feature, specify a system root that begins
+with the `remote:' prefix, either via the `set sysroot' command or via
+the `--with-sysroot' configure-time option.
+
+* Commands `set debug-file-directory', `set solib-search-path' and `set args'
+now complete on file names.
+
+* When completing in expressions, gdb will attempt to limit
+completions to allowable structure or union fields, where appropriate.
+For instance, consider:
+
+    # struct example { int f1; double f2; };
+    # struct example variable;
+    (gdb) p variable.
+
+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.
+
+* New remote packets
+
+qSearch:memory:
+  Search memory for a sequence of bytes.
+
+QStartNoAckMode
+  Turn off `+'/`-' protocol acknowledgments to permit more efficient
+  operation over reliable transport links.  Use of this packet is
+  controlled by the `set remote noack-packet' command.
+
+vKill
+  Kill the process with the specified process ID.  Use this in preference
+  to `k' when multiprocess protocol extensions are supported.
+
+qXfer:osdata:read
+  Obtains additional operating system information
+
+qXfer:siginfo:read
+qXfer:siginfo:write
+  Read or write additional signal information.
+
+* Removed remote protocol undocumented extension
+
+  An undocumented extension to the remote protocol's `S' stop reply
+  packet that permited the stub to pass a process id was removed.
+  Remote servers should use the `T' stop reply packet instead.
+
+* The "disassemble" command now supports an optional /m modifier to print mixed
+source+assembly.
+
+* GDB now supports multiple function calling conventions according to the
+DWARF-2 DW_AT_calling_convention function attribute.
+  
+* The SH target utilizes the aforementioned change to distinguish between gcc
+and Renesas calling convention.  It also adds the new CLI commands
+`set/show sh calling-convention'.
+
+* GDB can now read compressed debug sections, as produced by GNU gold
+with the --compress-debug-sections=zlib flag.
+
+* 64-bit core files are now supported on AIX.
+
+* Thread switching is now supported on Tru64.
+
+* Watchpoints can now be set on unreadable memory locations, e.g. addresses
+which will be allocated using malloc later in program execution.
+
+* The qXfer:libraries:read remote procotol packet now allows passing a
+list of section offsets.
+
+* On GNU/Linux, GDB can now attach to stopped processes.  Several race
+conditions handling signals delivered during attach or thread creation
+have also been fixed.
+
+* GDB now supports the use of DWARF boolean types for Ada's type Boolean.
+From the user's standpoint, all unqualified instances of True and False
+are treated as the standard definitions, regardless of context.
+
+* GDB now parses C++ symbol and type names more flexibly.  For
+example, given:
+
+   template<typename T> class C { };
+   C<char const *> c;
+
+GDB will now correctly handle all of:
+
+   ptype C<char const *>
+   ptype C<char const*>
+   ptype C<const char *>
+   ptype C<const char*>
+
+* New features in the GDB remote stub, gdbserver
+
+  - The "--wrapper" command-line argument tells gdbserver to use a
+  wrapper program to launch programs for debugging.
+
+  - On PowerPC and S/390 targets, it is now possible to use a single
+  gdbserver executable to debug both 32-bit and 64-bit programs.
+  (This requires gdbserver itself to be built as a 64-bit executable.)
+
+  - gdbserver uses the new noack protocol mode for TCP connections to
+  reduce communications latency, if also supported and enabled in GDB.
+
+  - 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
+  available is determined at configure time.
+
+  New GDB commands can now be written in Python.
+
+* Ada tasking support
+
+  Ada tasks can now be inspected in GDB. The following commands have
+  been introduced:
+
+    info tasks
+      Print the list of Ada tasks.
+    info task N
+      Print detailed information about task number N.
+    task
+      Print the task number of the current task.
+    task N
+      Switch the context of debugging to task number N.
+
+* 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.
+
+* New commands (for set/show, see "New options" below)
+
+find [/size-char] [/max-count] start-address, end-address|+search-space-size,
+    val1 [, val2, ...]
+  Search memory for a sequence of bytes.
+
+maint set python print-stack
+maint show python print-stack
+  Show a stack trace when an error is encountered in a Python script.
+
+python [CODE]
+  Invoke CODE by passing it to the Python interpreter.
+
+macro define
+macro list
+macro undef
+  These allow macros to be defined, undefined, and listed
+  interactively.
+
+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 sh calling-convention
+show sh calling-convention
+  Control the calling convention used when calling SH target functions.
+
+set print symbol-loading
+show print symbol-loading
+  Control printing of symbol loading messages.
+
+set debug timestamp
+show debug timestamp
+  Control display of timestamps with GDB debugging output.
+
+set disassemble-next-line
+show disassemble-next-line
+  Control display of disassembled source lines or instructions when
+  the debuggee stops.
+
+set remote noack-packet
+show remote noack-packet
+  Set/show the use of remote protocol QStartNoAckMode packet.  See above
+  under "New remote packets."
+
+set remote query-attached-packet
+show remote query-attached-packet
+  Control use of remote protocol `qAttached' (query-attached) packet.
+
+set remote read-siginfo-object
+show remote read-siginfo-object
+  Control use of remote protocol `qXfer:siginfo:read' (read-siginfo-object)
+  packet.
+
+set remote write-siginfo-object
+show remote write-siginfo-object
+  Control use of remote protocol `qXfer:siginfo:write' (write-siginfo-object)
+  packet.
+
+set displaced-stepping
+show displaced-stepping
+  Control displaced stepping mode.  Displaced stepping is a way to
+  single-step over breakpoints without removing them from the debuggee.
+  Also known as "out-of-line single-stepping".
+
+set debug displaced
+show debug displaced
+  Control display of debugging info for displaced stepping.
+
+maint set internal-error
+maint show internal-error
+  Control what GDB does when an internal error is detected.
+
+maint set internal-warning
+maint show internal-warning
+  Control what GDB does when an internal warning is detected.
+
+set exec-wrapper
+show exec-wrapper
+unset exec-wrapper
+  Use a wrapper program to launch programs for debugging.
+
+set multiple-symbols (all|ask|cancel)
+show multiple-symbols
+  The value of this variable can be changed to adjust the debugger behavior
+  when an expression or a breakpoint location contains an ambiguous symbol
+  name (an overloaded function name, for instance).
+  
+set breakpoint always-inserted
+show breakpoint always-inserted
+  Keep breakpoints always inserted in the target, as opposed to inserting
+  them when resuming the target, and removing them when the target stops.
+  This option can improve debugger performance on slow remote targets.
+
+set arm fallback-mode (arm|thumb|auto)
+show arm fallback-mode
+set arm force-mode (arm|thumb|auto)
+show arm force-mode
+  These commands control how ARM GDB determines whether instructions
+  are ARM or Thumb.  The default for both settings is auto, which uses
+  the current CPSR value for instructions without symbols; previous
+  versions of GDB behaved as if "set arm fallback-mode arm".
+
+set disable-randomization
+show disable-randomization
+  Standalone programs run with the virtual address space randomization enabled
+  by default on some platforms.  This option keeps the addresses stable across
+  multiple debugging sessions.
+
+set non-stop
+show non-stop
+  Control whether other threads are stopped or not when some thread hits
+  a breakpoint.
+
+set target-async
+show target-async
+  Requests that asynchronous execution is enabled in the target, if available.
+  In this case, it's possible to resume target in the background, and interact
+  with GDB while the target is running.  "show target-async" displays the
+  current state of asynchronous execution of the target.
+
+set target-wide-charset
+show target-wide-charset
+  The target-wide-charset is the name of the character set that GDB
+  uses when printing characters whose type is wchar_t.
+
+set tcp auto-retry (on|off)
+show tcp auto-retry
+set tcp connect-timeout
+show tcp connect-timeout
+  These commands allow GDB to retry failed TCP connections to a remote stub
+  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*
+
+x86_64 MinGW                   x86_64-*-mingw*
+
+* New targets
+
+Lattice Mico32                  lm32-*
+x86 DICOS                      i[34567]86-*-dicos*
+x86_64 DICOS                   x86_64-*-dicos*
+
+* The GDB remote stub, gdbserver, now supports x86 Windows CE
+  (mingw32ce) debugging.
+
+* Removed commands
+
+catch load
+catch unload
+  These commands were actually not implemented on any target.
+
+*** Changes in GDB 6.8
+
+* New native configurations
+
+NetBSD/hppa                    hppa*-*netbsd*
+Xtensa GNU/Linux               xtensa*-*-linux*
+
+* New targets
+
+NetBSD/hppa                    hppa*-*-netbsd*
+Xtensa GNU/Lunux               xtensa*-*-linux*
+
+* Change in command line behavior -- corefiles vs. process ids.
+
+  When the '-p NUMBER' or '--pid NUMBER' options are used, and
+  attaching to process NUMBER fails, GDB no longer attempts to open a
+  core file named NUMBER.  Attaching to a program using the -c option
+  is no longer supported.  Instead, use the '-p' or '--pid' options.
+
+* GDB can now be built as a native debugger for debugging Windows x86
+(mingw32) Portable Executable (PE) programs.
+
+* Pending breakpoints no longer change their number when their address
+is resolved.
+
+* GDB now supports breakpoints with multiple locations,
+including breakpoints on C++ constructors, inside C++ templates,
+and in inlined functions.
+
+* GDB's ability to debug optimized code has been improved.  GDB more
+accurately identifies function bodies and lexical blocks that occupy
+more than one contiguous range of addresses.
+
+* Target descriptions can now describe registers for PowerPC.
+
+* The GDB remote stub, gdbserver, now supports the AltiVec and SPE
+registers on PowerPC targets.
+
+* The GDB remote stub, gdbserver, now supports thread debugging on GNU/Linux
+targets even when the libthread_db library is not available.
+
+* The GDB remote stub, gdbserver, now supports the new file transfer
+commands (remote put, remote get, and remote delete).
+
+* The GDB remote stub, gdbserver, now supports run and attach in
+extended-remote mode.
+
+* hppa*64*-*-hpux11* target broken
+The debugger is unable to start a program and fails with the following
+error: "Error trying to get information about dynamic linker".
+The gdb-6.7 release is also affected.
+
+* GDB now supports the --enable-targets= configure option to allow
+building a single GDB executable that supports multiple remote
+target architectures.
+
+* GDB now supports debugging C and C++ programs which use the
+Decimal Floating Point extension.  In addition, the PowerPC target
+now has a set of pseudo-registers to inspect decimal float values
+stored in two consecutive float registers.
+
+* The -break-insert MI command can optionally create pending
+breakpoints now.
+
+* Improved support for debugging Ada
+Many improvements to the Ada language support have been made.  These
+include:
+    - Better support for Ada2005 interface types
+    - Improved handling of arrays and slices in general
+    - Better support for Taft-amendment types
+    - The '{type} ADDRESS' expression is now allowed on the left hand-side
+      of an assignment
+    - Improved command completion in Ada
+    - Several bug fixes
+
+* GDB on GNU/Linux and HP/UX can now debug through "exec" of a new
+process.
+
+* New commands
+
+set print frame-arguments (all|scalars|none)
+show print frame-arguments
+  The value of this variable can be changed to control which argument
+  values should be printed by the debugger when displaying a frame.
+
+remote put
+remote get
+remote delete
+  Transfer files to and from a remote target, and delete remote files.
+
+* New MI commands
+
+-target-file-put
+-target-file-get
+-target-file-delete
+  Transfer files to and from a remote target, and delete remote files.
+
+* New remote packets
+
+vFile:open:
+vFile:close:
+vFile:pread:
+vFile:pwrite:
+vFile:unlink:
+  Open, close, read, write, and delete files on the remote system.
+
+vAttach
+  Attach to an existing process on the remote system, in extended-remote
+  mode.
+
+vRun
+  Run a new process on the remote system, in extended-remote mode.
+
+*** Changes in GDB 6.7
+
+* Resolved 101 resource leaks, null pointer dereferences, etc. in gdb, 
+bfd, libiberty and opcodes, as revealed by static analysis donated by
+Coverity, Inc. (http://scan.coverity.com).
+
+* When looking up multiply-defined global symbols, GDB will now prefer the
+symbol definition in the current shared library if it was built using the
+-Bsymbolic linker option.
+
+* When the Text User Interface (TUI) is not configured, GDB will now
+recognize the -tui command-line option and print a message that the TUI
+is not supported.
 
 * The GDB remote stub, gdbserver, now has lower overhead for high 
 frequency signals (e.g. SIGALRM) via the QPassSignals packet.
 
 * The GDB remote stub, gdbserver, now has lower overhead for high 
 frequency signals (e.g. SIGALRM) via the QPassSignals packet.
@@ -15,12 +545,16 @@ frequency signals (e.g. SIGALRM) via the QPassSignals packet.
 target's overall architecture.  GDB can read a description from
 a local file or over the remote serial protocol.
 
 target's overall architecture.  GDB can read a description from
 a local file or over the remote serial protocol.
 
-* Arrays of explicitly SIGNED or UNSIGNED CHARs are now printed as arrays
-  of numbers.
+* Vectors of single-byte data use a new integer type which is not
+automatically displayed as character or string data.
+
+* The /s format now works with the print command.  It displays
+arrays of single-byte integers and pointers to single-byte integers
+as strings.
 
 * Target descriptions can now describe target-specific registers,
 for architectures which have implemented the support (currently
 
 * Target descriptions can now describe target-specific registers,
 for architectures which have implemented the support (currently
-only ARM).
+only ARM, M68K, and MIPS).
 
 * GDB and the GDB remote stub, gdbserver, now support the XScale
 iWMMXt coprocessor.
 
 * GDB and the GDB remote stub, gdbserver, now support the XScale
 iWMMXt coprocessor.
@@ -29,8 +563,36 @@ iWMMXt coprocessor.
 ARM Windows CE (mingw32ce) debugging, and GDB Windows CE support
 has been rewritten to use the standard GDB remote protocol.
 
 ARM Windows CE (mingw32ce) debugging, and GDB Windows CE support
 has been rewritten to use the standard GDB remote protocol.
 
+* GDB can now step into C++ functions which are called through thunks.
+
+* GDB for the Cell/B.E. SPU now supports overlay debugging.
+
+* The GDB remote protocol "qOffsets" packet can now honor ELF segment
+layout.  It also supports a TextSeg= and DataSeg= response when only
+segment base addresses (rather than offsets) are available.
+
+* The /i format now outputs any trailing branch delay slot instructions 
+immediately following the last instruction within the count specified.
+
+* The GDB remote protocol "T" stop reply packet now supports a
+"library" response.  Combined with the new "qXfer:libraries:read"
+packet, this response allows GDB to debug shared libraries on targets
+where the operating system manages the list of loaded libraries (e.g.
+Windows and SymbianOS).
+
+* The GDB remote stub, gdbserver, now supports dynamic link libraries
+(DLLs) on Windows and Windows CE targets.
+
+* GDB now supports a faster verification that a .debug file matches its binary
+according to its build-id signature, if the signature is present.
+
 * New commands
 
 * New commands
 
+set remoteflow
+show remoteflow
+  Enable or disable hardware flow control (RTS/CTS) on the serial port
+  when debugging using remote targets.
+
 set mem inaccessible-by-default
 show mem inaccessible-by-default
   If the target supplies a memory map, for instance via the remote
 set mem inaccessible-by-default
 show mem inaccessible-by-default
   If the target supplies a memory map, for instance via the remote
@@ -61,6 +623,11 @@ show sysroot
   general version of "set solib-absolute-prefix", which is now
   an alias to "set sysroot".
 
   general version of "set solib-absolute-prefix", which is now
   an alias to "set sysroot".
 
+info spu
+  Provide extended SPU facility status information.  This set of
+  commands is available only when debugging the Cell/B.E. SPU
+  architecture.
+
 * New native configurations
 
 OpenBSD/sh                     sh*-*openbsd*
 * New native configurations
 
 OpenBSD/sh                     sh*-*openbsd*
@@ -87,10 +654,23 @@ qXfer:features:read:
   Read an XML target description from the target, which describes its
   features.
 
   Read an XML target description from the target, which describes its
   features.
 
+qXfer:spu:read:
+qXfer:spu:write:
+  Read or write contents of an spufs file on the target system.  These
+  packets are available only on the Cell/B.E. SPU architecture.
+
+qXfer:libraries:read:
+  Report the loaded shared libraries.  Combined with new "T" packet
+  response, this packet allows GDB to debug shared libraries on
+  targets where the operating system manages the list of loaded
+  libraries (e.g. Windows and SymbianOS).
+
 * Removed targets
 
 Support for these obsolete configurations has been removed.
 
 * Removed targets
 
 Support for these obsolete configurations has been removed.
 
+alpha*-*-osf1*
+alpha*-*-osf2*
 d10v-*-*
 hppa*-*-hiux*
 i[34567]86-ncr-*
 d10v-*-*
 hppa*-*-hiux*
 i[34567]86-ncr-*
@@ -158,6 +738,11 @@ Scheme support
        GDB could work with an older version of Guile to debug
        the interpreter and Scheme programs running in it.
 
        GDB could work with an older version of Guile to debug
        the interpreter and Scheme programs running in it.
 
+set mips stack-arg-size
+set mips saved-gpreg-size
+
+       Use "set mips abi" to control parameter passing for MIPS.
+
 *** Changes in GDB 6.6
 
 * New targets
 *** Changes in GDB 6.6
 
 * New targets
This page took 0.029959 seconds and 4 git commands to generate.