d0bf5219d4
For a a list of bugfixes, see http://valgrind.org/docs/manual/dist.news.html. Other changes are listed below. 3.10.0 is a feature release with many improvements and the usual collection of bug fixes. This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux, PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux, MIPS64/Linux, ARM/Android, MIPS32/Android, X86/Android, X86/MacOSX 10.9 and AMD64/MacOSX 10.9. Support for MacOSX 10.8 and 10.9 is significantly improved relative to the 3.9.0 release. * ================== PLATFORM CHANGES ================= * Support for the 64-bit ARM Architecture (AArch64 ARMv8). This port is mostly complete, and is usable, but some SIMD instructions are as yet unsupported. * Support for little-endian variant of the 64-bit POWER architecture. * Support for Android on MIPS32. * Support for 64bit FPU on MIPS32 platforms. * Both 32- and 64-bit executables are supported on MacOSX 10.8 and 10.9. * Configuration for and running on Android targets has changed. See README.android in the source tree for details. * ================== DEPRECATED FEATURES ================= * --db-attach is now deprecated and will be removed in the next valgrind feature release. The built-in GDB server capabilities are superior and should be used instead. Learn more here: http://valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver * ==================== TOOL CHANGES ==================== * Memcheck: - Client code can now selectively disable and re-enable reporting of invalid address errors in specific ranges using the new client requests VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE and VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE. - Leak checker: there is a new leak check heuristic called "length64". This is used to detect interior pointers pointing 8 bytes inside a block, on the assumption that the first 8 bytes holds the value "block size - 8". This is used by sqlite3MemMalloc, for example. - Checking of system call parameters: if a syscall parameter (e.g. bind struct sockaddr, sendmsg struct msghdr, ...) has several fields not initialised, an error is now reported for each field. Previously, an error was reported only for the first uninitialised field. - Mismatched alloc/free checking: a new flag --show-mismatched-frees=no|yes [yes] makes it possible to turn off such checks if necessary. * Helgrind: - Improvements to error messages: o Race condition error message involving heap allocated blocks also show the thread number that allocated the raced-on block. o All locks referenced by an error message are now announced. Previously, some error messages only showed the lock addresses. o The message indicating where a lock was first observed now also describes the address/location of the lock. - Helgrind now understands the Ada task termination rules and creates a happens-before relationship between a terminated task and its master. This avoids some false positives and avoids a big memory leak when a lot of Ada tasks are created and terminated. The interceptions are only activated with forthcoming releases of gnatpro >= 7.3.0w-20140611 and gcc >= 5.0. - A new GDB server monitor command "info locks" giving the list of locks, their location, and their status. * Callgrind: - callgrind_control now supports the --vgdb-prefix argument, which is needed if valgrind was started with this same argument. * ==================== OTHER CHANGES ==================== * Unwinding through inlined function calls. Stack unwinding can now make use of Dwarf3 inlined-unwind information if it is available. The practical effect is that inlined calls become visible in stack traces. The suppression matching machinery has been adjusted accordingly. This is controlled by the new option --read-inline-info=yes|no. Currently this is enabled by default only on Linux and Android targets and only for the tools Memcheck, Helgrind and DRD. * Valgrind can now read EXIDX unwind information on 32-bit ARM targets. If an object contains both CFI and EXIDX unwind information, Valgrind will prefer the CFI over the EXIDX. This facilitates unwinding through system libraries on arm-android targets. * Address description logic has been improved and is now common between Memcheck and Helgrind, resulting in better address descriptions for some kinds of error messages. * Error messages about dubious arguments (eg, to malloc or calloc) are output like other errors. This means that they can be suppressed and they have a stack trace. * The C++ demangler has been updated for better C++11 support. * New and modified GDB server monitor features: - Thread local variables/storage (__thread) can now be displayed. - The GDB server monitor command "v.info location <address>" displays information about an address. The information produced depends on the tool and on the options given to valgrind. Possibly, the following are described: global variables, local (stack) variables, allocated or freed blocks, ... - The option "--vgdb-stop-at=event1,event2,..." allows the user to ask the GDB server to stop at the start of program execution, at the end of the program execution and on Valgrind internal errors. - A new monitor command "v.info stats" shows various Valgrind core and tool statistics. - A new monitor command "v.set hostvisibility" allows the GDB server to provide access to Valgrind internal host status/memory. * A new option "--aspace-minaddr=<address>" can in some situations allow the use of more memory by decreasing the address above which Valgrind maps memory. It can also be used to solve address conflicts with system libraries by increasing the default value. See user manual for details. * The amount of memory used by Valgrind to store debug info (unwind info, line number information and symbol data) has been significantly reduced, even though Valgrind now reads more information in order to support unwinding of inlined function calls. * Dwarf3 handling with --read-var-info=yes has been improved: - Ada and C struct containing VLAs no longer cause a "bad DIE" error - Code compiled with -ffunction-sections -fdata-sections -Wl,--gc-sections no longer causes assertion failures. * Improved checking for the --sim-hints= and --kernel-variant= options. Unknown strings are now detected and reported to the user as a usage error. * The semantics of stack start/end boundaries in the valgrind.h VALGRIND_STACK_REGISTER client request has been clarified and documented. The convention is that start and end are respectively the lowest and highest addressable bytes of the stack. |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST | ||
PLIST.Darwin |