pkgsrc/devel/valgrind
alnsn d0bf5219d4 Update devel/valgrind to 3.10.0.
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.
2014-11-07 08:16:45 +00:00
..
DESCR
distinfo Update devel/valgrind to 3.10.0. 2014-11-07 08:16:45 +00:00
Makefile Update devel/valgrind to 3.10.0. 2014-11-07 08:16:45 +00:00
PLIST Update devel/valgrind to 3.10.0. 2014-11-07 08:16:45 +00:00
PLIST.Darwin