X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2FNEWS;h=d1abf0c62949badab2b59c9c905001ea4e07630e;hb=d8906c6f0e46480df2c8ad6aec13e57c9af084f9;hp=3e9bc37a9f3047f2de6fdbebbd1d36b0e6f98e50;hpb=f8b73d13b7ca749dee450b60e4e401b4c096bed6;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/NEWS b/gdb/NEWS index 3e9bc37a9f..d1abf0c629 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -1,7 +1,334 @@ What has changed in GDB? (Organized release by release) -*** Changes since GDB 6.6 +*** Changes since GDB 6.8 + +* 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". + +* GDB now supports the token-splicing (##) and stringification (#) +operators when expanding macros. It also supports variable-arity +macros. + +* 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. + +qXfer:osdata:read + Obtains additional operating system 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. + +* 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. + +* 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". + +* New commands + +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. + +set print symbol-loading +show print symbol-loading + Control printing of symbol loading messages. + +set debug timestamp +show debug timestamp + Display timestamps with GDB debugging output. + +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 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 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. + +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. + +* New native configurations + +x86/x86_64 Darwin i[34567]86-*-darwin* + +x86_64 MinGW x86_64-*-mingw* + +* New targets + +x86 DICOS i[34567]86-*-dicos* + +* 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 @@ -19,12 +346,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. -* 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 -only ARM and MIPS). +only ARM, M68K, and MIPS). * GDB and the GDB remote stub, gdbserver, now support the XScale iWMMXt coprocessor. @@ -37,6 +368,25 @@ has been rewritten to use the standard GDB remote protocol. * 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 set remoteflow @@ -74,6 +424,11 @@ show 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* @@ -100,6 +455,17 @@ qXfer:features:read: 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.