We are pleased to announce a new release of Valgrind, version 3.11.0,
available from http://www.valgrind.org.

3.11.0 is a feature release with many improvements and the usual
collection of bug fixes.  This release adds full support for
X86/Solaris and AMD64/Solaris, improves support for Mac OS X 10.10
(Yosemite), and adds preliminary support for Mac OS X 10.11 (El
Capitan) and TileGX/Linux.  Intel AVX2 support is more complete (64
bit targets only).  There are many smaller refinements and new
features.

The release notes below give more details.

Our thanks to all those who contribute to Valgrind's development.
This release represents a great deal of time, energy and effort on the
part of many people.

Happy and productive debugging and profiling,

-- The Valgrind Developers



Release 3.11.0 (22 September 2015)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3.11.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, ARM64/Android,
MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris, X86/MacOSX
10.10 and AMD64/MacOSX 10.10.  There is also preliminary support for
X86/MacOSX 10.11, AMD64/MacOSX 10.11 and TILEGX/Linux.

* ================== PLATFORM CHANGES =================

* Support for Solaris/x86 and Solaris/amd64 has been added.

* Preliminary support for Mac OS X 10.11 (El Capitan) has been added.

* Preliminary support for the Tilera TileGX architecture has been added.

* s390x: It is now required for the host to have the "long displacement"
  facility.  The oldest supported machine model is z990.

* x86: on an SSE2 only host, Valgrind in 32 bit mode now claims to be a
  Pentium 4.  3.10.1 wrongly claimed to be a Core 2, which is SSSE3.

* The JIT's register allocator is significantly faster, making the JIT
  as a whole somewhat faster, so JIT-intensive activities, for example
  program startup, are modestly faster, around 5%.

* There have been changes to the default settings of several command
  line flags, as detailed below.

* Intel AVX2 support is more complete (64 bit targets only).  On AVX2
  capable hosts, the simulated CPUID will now indicate AVX2 support.

* ==================== TOOL CHANGES ====================

* Memcheck:

  - The default value for --leak-check-heuristics has been changed from
    "none" to "all". This helps to reduce the number of possibly
    lost blocks, in particular for C++ applications.

  - The default value for --keep-stacktraces has been changed from
    "malloc-then-free" to "malloc-and-free".  This has a small cost in
    memory (one word per malloc-ed block) but allows Memcheck to show the
    3 stacktraces of a dangling reference: where the block was allocated,
    where it was freed, and where it is acccessed after being freed.

  - The default value for --partial-loads-ok has been changed from "no" to
    "yes", so as to avoid false positive errors resulting from some kinds
    of vectorised loops.

  - A new monitor command 'xb <addr> <len>' shows the validity bits of
    <len> bytes at <addr>.  The monitor command 'xb' is easier to use
    than get_vbits when you need to associate byte data value with
    their corresponding validity bits.

  - The 'block_list' monitor command has been enhanced:
      o it can print a range of loss records
      o it now accepts an optional argument 'limited <max_blocks>'
        to control the number of blocks printed.
      o if a block has been found using a heuristic, then
        'block_list' now shows the heuristic after the block size.
      o the loss records/blocks to print can be limited to the blocks
        found via specified heuristics.

  - The C helper functions used to instrument loads on
    x86-{linux,solaris} and arm-linux (both 32-bit only) have been
    replaced by handwritten assembly sequences.  This gives speedups
    in the region of 0% to 7% for those targets only.

  - A new command line option, --expensive-definedness-checks=yes|no,
    has been added.  This is useful for avoiding occasional invalid
    uninitialised-value errors in optimised code.  Watch out for
    runtime degradation, as this can be up to 25%.  As always, though,
    the slowdown is highly application specific.  The default setting
    is "no".

* Massif:

  - A new monitor command 'all_snapshots <filename>' dumps all
    snapshots taken so far.

* Helgrind:

  - Significant memory reduction and moderate speedups for
    --history-level=full for applications accessing a lot of memory
    with many different stacktraces.

  - The default value for --conflict-cache-size=N has been doubled to
    2000000.  Users that were not using the default value should
    preferably also double the value they give.

    The default was changed due to the changes in the "full history"
    implementation.  Doubling the value gives on average a slightly more
    complete history and uses similar memory (or significantly less memory
    in the worst case) than the previous implementation.

  - The Helgrind monitor command 'info locks' now accepts an optional
    argument 'lock_addr', which shows information about the lock at the
    given address only.

  - When using --history-level=full, the new Helgrind monitor command
    'accesshistory <addr> [<len>]' will show the recorded accesses for
    <len> (or 1) bytes at <addr>.

* ==================== OTHER CHANGES ====================

* The default value for the --smc-check option has been changed from
  "stack" to "all-non-file" on targets that provide automatic D-I
  cache coherence (x86, amd64 and s390x).  The result is to provide,
  by default, transparent support for JIT generated and self-modifying
  code on all targets.

* Mac OS X only: the default value for the --dsymutil option has been
  changed from "no" to "yes", since any serious usage on Mac OS X
  always required it to be "yes".

* The command line options --db-attach and --db-command have been removed.
  They were deprecated in 3.10.0.

* When a process dies due to a signal, Valgrind now shows the signal
  and the stacktrace at default verbosity (i.e. verbosity 1).

* The address description logic used by Memcheck and Helgrind now
  describes addresses in anonymous segments, file mmap-ed segments,
  shared memory segments and the brk data segment.

* The new option --error-markers=<begin>,<end> can be used to mark the
  begin/end of errors in textual output mode, to facilitate
  searching/extracting errors in output files that mix valgrind errors
  with program output.

* The new option --max-threads=<number> can be used to change the number
  of threads valgrind can handle.  The default is 500 threads which
  should be more than enough for most applications.

* The new option --valgrind-stacksize=<number> can be used to change the
  size of the private thread stacks used by Valgrind.  This is useful
  for reducing memory use or increasing the stack size if Valgrind
  segfaults due to stack overflow.

* The new option --avg-transtab-entry-size=<number> can be used to specify
  the expected instrumented block size, either to reduce memory use or
  to avoid excessive retranslation.

* Valgrind can be built with Intel's ICC compiler, version 14.0 or later.

* New and modified GDB server monitor features:

  - When a signal is reported in GDB, you can now use the GDB convenience
    variable $_siginfo to examine detailed signal information.

  - Valgrind's gdbserver now allows the user to change the signal
    to deliver to the process.  So, use 'signal SIGNAL' to continue execution
    with SIGNAL instead of the signal reported to GDB. Use 'signal 0' to
    continue without passing the signal to the process.

  - With GDB >= 7.10, the command 'target remote'
    will automatically load the executable file of the process running
    under Valgrind. This means you do not need to specify the executable
    file yourself, GDB will discover it itself.  See GDB documentation about
    'qXfer:exec-file:read' packet for more info.

* ==================== FIXED BUGS ====================

The following bugs have been fixed or resolved.  Note that "n-i-bz"
stands for "not in bugzilla" -- that is, a bug that was reported to us
but never got a bugzilla entry.  We encourage you to file bugs in
bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
than mailing the developers (or mailing lists) directly -- bugs that
are not entered into bugzilla tend to get forgotten about or ignored.

To see details of a given bug, visit
  https://bugs.kde.org/show_bug.cgi?id=XXXXXX
where XXXXXX is the bug number as listed below.

116002  VG_(printf): Problems with justification of strings and integers
155125  avoid cutting away file:lineno after long function name
197259  Unsupported arch_prtctl PR_SET_GS option
201152  ppc64: Assertion in ppc32g_dirtyhelper_MFSPR_268_269
201216  Fix Valgrind does not support pthread_sigmask() on OS X
201435  Fix Darwin: -v does not show kernel version
208217  "Warning: noted but unhandled ioctl 0x2000747b" on Mac OS X
211256  Fixed an outdated comment regarding the default platform.
211529  Incomplete call stacks for code compiled by newer versions of MSVC
211926  Avoid compilation warnings in valgrind.h with -pedantic
212291  Fix unhandled syscall: unix:132 (mkfifo) on OS X
        == 263119
226609  Crediting upstream authors in man page
231257  Valgrind omits path when executing script from shebang line
254164  OS X task_info: UNKNOWN task message [id 3405, to mach_task_self() [..]
269360  s390x: Fix addressing mode selection for compare-and-swap
302630  Memcheck: Assertion failed: 'sizeof(UWord) == sizeof(UInt)'
        == 326797
312989  ioctl handling needs to do POST handling on generic ioctls and [..]
319274  Fix unhandled syscall: unix:410 (sigsuspend_nocancel) on OS X
324181  mmap does not handle MAP_32BIT (handle it now, rather than fail it)
327745  Fix valgrind 3.9.0 build fails on Mac OS X 10.6.8
330147  libmpiwrap PMPI_Get_count returns undefined value
333051  mmap of huge pages fails due to incorrect alignment
        == 339163
334802  valgrind does not always explain why a given option is bad
335618  mov.w rN, pc/sp (ARM32)
335785  amd64->IR 0xC4 0xE2 0x75 0x2F (vmaskmovpd)
        == 307399
        == 343175
        == 342740
        == 346912
335907  segfault when running wine's ddrawex/tests/surface.c under valgrind
338602  AVX2 bit in CPUID missing
338606  Strange message for scripts with invalid interpreter
338731  ppc: Fix testuite build for toolchains not supporting -maltivec
338995  shmat with hugepages (SHM_HUGETLB) fails with EINVAL
339045  Getting valgrind to compile and run on OS X Yosemite (10.10)
        == 340252
339156  gdbsrv not called for fatal signal
339215  Valgrind 3.10.0 contain 2013 in copyrights notice
339288  support Cavium Octeon MIPS specific BBIT*32 instructions
339636  Use fxsave64 and fxrstor64 mnemonics instead of old-school rex64 prefix
339442  Fix testsuite build failure on OS X 10.9
339542  Enable compilation with Intel's ICC compiler
339563  The DVB demux DMX_STOP ioctl doesn't have a wrapper
339688  Mac-specific ASM does not support .version directive (cpuid,
        tronical and pushfpopf tests)
339745  Valgrind crash when check Marmalade app (partial fix)
339755  Fix known deliberate memory leak in setenv() on Mac OS X 10.9
339778  Linux/TileGx platform support for Valgrind
339780  Fix known uninitialised read in pthread_rwlock_init() on Mac OS X 10.9
339789  Fix none/tests/execve test on Mac OS X 10.9
339808  Fix none/tests/rlimit64_nofile test on Mac OS X 10.9
339820  vex amd64->IR: 0x66 0xF 0x3A 0x63 0xA 0x42 0x74 0x9 (pcmpistri $0x42)
340115  Fix none/tests/cmdline[1|2] tests on systems which define TMPDIR
340392  Allow user to select more accurate definedness checking in memcheck
        to avoid invalid complaints on optimised code
340430  Fix some grammatical weirdness in the manual.
341238  Recognize GCC5/DWARFv5 DW_LANG constants (Go, C11, C++11, C++14)
341419  Signal handler ucontext_t not filled out correctly on OS X
341539  VG_(describe_addr) should not describe address as belonging to client
        segment if it is past the heap end
341613  Enable building of manythreads and thread-exits tests on Mac OS X
341615  Fix none/tests/darwin/access_extended test on Mac OS X
341698  Valgrind's AESKEYGENASSIST gives wrong result in words 0 and 2 [..]
341789  aarch64: shmat fails with valgrind on ARMv8
341997  MIPS64: Cavium OCTEON insns - immediate operand handled incorrectly
342008  valgrind.h needs type cast [..] for clang/llvm in 64-bit mode
342038  Unhandled syscalls on aarch64 (mbind/get/set_mempolicy)
342063  wrong format specifier for test mcblocklistsearch in gdbserver_tests
342117  Hang when loading PDB file for MSVC compiled Firefox under Wine
342221  socket connect false positive uninit memory for unknown af family
342353  Allow dumping full massif output while valgrind is still running
342571  Valgrind chokes on AVX compare intrinsic with _CMP_GE_QS
        == 346476
        == 348387
        == 350593
342603  Add I2C_SMBUS ioctl support
342635  OS X 10.10 (Yosemite) - missing system calls and fcntl code
342683  Mark memory past the initial brk limit as unaddressable
342783  arm: unhandled instruction 0xEEFE1ACA = "vcvt.s32.f32 s3, s3, #12"
342795  Internal glibc __GI_mempcpy call should be intercepted
342841  s390x: Support instructions fiebr(a) and fidbr(a)
343012  Unhandled syscall 319 (memfd_create)
343069  Patch updating v4l2 API support
343173  helgrind crash during stack unwind
343219  fix GET_STARTREGS for arm
343303  Fix known deliberate memory leak in setenv() on Mac OS X 10.10
343306  OS X 10.10: UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option
343332  Unhandled instruction 0x9E310021 (fcvtmu) on aarch64
343335  unhandled instruction 0x1E638400 (fccmp) aarch64
343523  OS X mach_ports_register: UNKNOWN task message [id 3403, to [..]
343525  OS X host_get_special_port: UNKNOWN host message [id 412, to [..]
343597  ppc64le: incorrect use of offseof macro
343649  OS X host_create_mach_voucher: UNKNOWN host message [id 222, to [..]
343663  OS X 10.10  Memchecj always reports a leak regardless of [..]
343732  Unhandled syscall 144 (setgid) on aarch64
343733  Unhandled syscall 187 (msgctl and related) on aarch64
343802  s390x: False positive "conditional jump or move depends on [..]
343902  --vgdb=yes doesn't break when --xml=yes is used
343967  Don't warn about setuid/setgid/setcap executable for directories
343978  Recognize DWARF5/GCC5 DW_LANG_Fortran 2003 and 2008 constants
344007  accept4 syscall unhandled on arm64 (242) and ppc64 (344)
344033  Helgrind on ARM32 loses track of mutex state in pthread_cond_wait
344054  www - update info for Solaris/illumos
344416  'make regtest' does not work cleanly on OS X
344235  Remove duplicate include of pub_core_aspacemgr.h
344279  syscall sendmmsg on arm64 (269) and ppc32/64 (349) unhandled
344295  syscall recvmmsg on arm64 (243) and ppc32/64 (343) unhandled
344307  2 unhandled syscalls on aarch64/arm64: umount2(39), mount (40)
344314  callgrind_annotate ... warnings about commands containing newlines
344318  socketcall should wrap recvmmsg and sendmmsg
344337  Fix unhandled syscall: mach:41 (_kernelrpc_mach_port_guard_trap)
344416  Fix 'make regtest' does not work cleanly on OS X
344499  Fix compilation for Linux kernel >= 4.0.0
344512  OS X: unhandled syscall: unix:348 (__pthread_chdir),
        unix:349 (__pthread_fchdir)
344559  Garbage collection of unused segment names in address space manager
344560  Fix stack traces missing penultimate frame on OS X
344621  Fix memcheck/tests/err_disable4 test on OS X
344686  Fix suppression for pthread_rwlock_init on OS X 10.10
344702  Fix missing libobjc suppressions on OS X 10.10
        == 344543
344936  Fix unhandled syscall: unix:473 (readlinkat) on OS X 10.10
344939  Fix memcheck/tests/xml1 on OS X 10.10
345016  helgrind/tests/locked_vs_unlocked2 is failing sometimes
345079  Fix build problems in VEX/useful/test_main.c
345126  Incorrect handling of VIDIOC_G_AUDIO and G_AUDOUT
345177  arm64: prfm (reg) not implemented
345215  Performance improvements for the register allocator
345248  add support for Solaris OS in valgrind
345338  TIOCGSERIAL and TIOCSSERIAL ioctl support on Linux
345394  Fix memcheck/tests/strchr on OS X
345637  Fix memcheck/tests/sendmsg on OS X
345695  Add POWERPC support for AT_DCACHESIZE and HWCAP2
345824  Fix aspacem segment mismatch: seen with none/tests/bigcode
345887  Fix an assertion in the address space manager
345928  amd64: callstack only contains current function for small stacks
345984  disInstr(arm): unhandled instruction: 0xEE193F1E
345987  MIPS64: Implement cavium LHX instruction
346031  MIPS: Implement support for the CvmCount register (rhwr %0, 31)
346185  Fix typo saving altivec register v24
346267  Compiler warnings for PPC64 code on call to LibVEX_GuestPPC64_get_XER()
        and LibVEX_GuestPPC64_get_CR()
346270  Regression tests none/tests/jm_vec/isa_2_07 and
        none/tests/test_isa_2_07_part2 have failures on PPC64 little endian
346307  fuse filesystem syscall deadlocks
346324  PPC64 missing support for lbarx, lharx, stbcx and sthcx instructions
346411  MIPS: SysRes::_valEx handling is incorrect
346416  Add support for LL_IOC_PATH2FID and LL_IOC_GETPARENT Lustre ioctls
346474  PPC64 Power 8, spr TEXASRU register not supported
346487  Compiler generates "note" about a future ABI change for PPC64
346562  MIPS64: lwl/lwr instructions are performing 64bit loads
        and causing spurious "invalid read of size 8" warnings
346801  Fix link error on OS X: _vgModuleLocal_sf_maybe_extend_stack
347151  Fix suppression for pthread_rwlock_init on OS X 10.8
347233  Fix memcheck/tests/strchr on OS X 10.10 (Haswell)
347322  Power PC regression test cleanup
347379  valgrind --leak-check=full leak errors from system libs on OS X 10.8
        == 217236
347389  unhandled syscall: 373 (Linux ARM syncfs)
347686  Patch set to cleanup PPC64 regtests
347978  Remove bash dependencies where not needed
347982  OS X: undefined symbols for architecture x86_64: "_global" [..]
347988  Memcheck: the 'impossible' happened: unexpected size for Addr (OSX/wine)
        == 345929
348102  Patch updating v4l2 API support
348247  amd64 front end: jno jumps wrongly when overflow is not set
348269  Improve mmap MAP_HUGETLB support.
348334  (ppc) valgrind does not simulate dcbfl - then my program terminates
348345  Assertion fails for negative lineno
348377  Unsupported ARM instruction: yield
348565  Fix detection of command line option availability for clang
348574  vex amd64->IR pcmpistri SSE4.2 unsupported (pcmpistri $0x18)
348728  Fix broken check for VIDIOC_G_ENC_INDEX
348748  Fix redundant condition
348890  Fix clang warning about unsupported --param inline-unit-growth=900
348949  Bogus "ERROR: --ignore-ranges: suspiciously large range"
349034  Add Lustre ioctls LL_IOC_GROUP_LOCK and LL_IOC_GROUP_UNLOCK
349086  Fix UNKNOWN task message [id 3406, to mach_task_self(), [..]
349087  Fix UNKNOWN task message [id 3410, to mach_task_self(), [..]
349626  Implemented additional Xen hypercalls
349769  Clang/osx: ld: warning: -read_only_relocs cannot be used with x86_64
349790  Clean up of the hardware capability checking utilities.
349828  memcpy intercepts memmove causing src/dst overlap error (ppc64 ld.so)
349874  Fix typos in source code
349879  memcheck: add handwritten assembly for helperc_LOADV*
349941  di_notify_mmap might create wrong start/size DebugInfoMapping
350062  vex x86->IR: 0x66 0xF 0x3A 0xB (ROUNDSD) on OS X
350202  Add limited param to 'monitor block_list'
350290  s390x: Support instructions fixbr(a)
350359  memcheck/tests/x86/fxsave hangs indefinetely on OS X
350809  Fix none/tests/async-sigs for Solaris
350811  Remove reference to --db-attach which has been removed.
350813  Memcheck/x86: enable handwritten assembly helpers for x86/Solaris too
350854  hard-to-understand code in VG_(load_ELF)()
351140  arm64 syscalls setuid (146) and setresgid (149) not implemented
351386  Solaris: Cannot run ld.so.1 under Valgrind
351474  Fix VG_(iseqsigset) as obvious
351534  Fix incorrect header guard
351632  Fix UNKNOWN fcntl 97 on OS X 10.11
351756  Intercept platform_memchr$VARIANT$Haswell on OS X
351858  ldsoexec support on Solaris
351873  Newer gcc doesn't allow __builtin_tabortdc[i] in ppc32 mode
352130  helgrind reports false races for printfs using mempcpy on FILE* state
352284  s390: Conditional jump depends on uninitialised value(s) in vfprintf
352320  arm64 crash on none/tests/nestedfs
352765  Vbit test fails on Power 6
352768  The mbar instruction is missing from the Power PC support
352769  Power PC program priority register (PPR) is not supported
n-i-bz  Provide implementations of certain compiler builtins to support
        compilers that may not provide those
n-i-bz  Old STABS code is still being compiled, but never used. Remove it.
n-i-bz  Fix compilation on distros with glibc < 2.5
n-i-bz  (vex 3098) Avoid generation of Neon insns on non-Neon hosts
n-i-bz  Enable rt_sigpending syscall on ppc64 linux.
n-i-bz  mremap did not work properly on shared memory
n-i-bz  Fix incorrect sizeof expression in syswrap-xen.c reported by Coverity
n-i-bz  In VALGRIND_PRINTF write out thread name, if any, to xml

(3.11.0.TEST1:  8 September 2015, vex r3187, valgrind r15646)
(3.11.0.TEST2: 21 September 2015, vex r3193, valgrind r15667)
(3.11.0:       22 September 2015, vex r3195, valgrind r15674)

------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to