Opened 9 years ago

Closed 9 years ago

#6973 closed enhancement (fixed)

valgrind-3.11.0

Reported by: Fernando de Oliveira Owned by: bdubbs@…
Priority: normal Milestone: 7.9
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

http://valgrind.org/downloads/valgrind-3.11.0.tar.bz2

http://valgrind.org/downloads/

md5: 4ea62074da73ae82e0162d6550d3f129

http://valgrind.org/docs/manual/dist.news.html

or

http://sourceforge.net/p/valgrind/mailman/message/34484105/

[Valgrind-announce] Valgrind-3.11.0 is available
From: Julian Seward <jseward@ac...> - 2015-09-23 12:17:12

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)

Change History (2)

comment:1 by bdubbs@…, 9 years ago

Owner: changed from blfs-book@… to bdubbs@…
Status: newassigned

comment:2 by bdubbs@…, 9 years ago

Resolution: fixed
Status: assignedclosed

Fixed at revision 16531.

Note: See TracTickets for help on using tickets.