|
|
Subscribe / Log in / New account

Valgrind-3.8.0 is available

From:  Julian Seward <jseward-AT-acm.org>
To:  valgrind-announce-AT-lists.sourceforge.net
Subject:  [Valgrind-announce] Valgrind-3.8.0 is available
Date:  Thu, 9 Aug 2012 21:48:21 +0200
Message-ID:  <201208092148.21501.jseward@acm.org>


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

3.8.0 is a feature release with many improvements and the usual
collection of bug fixes.  This release adds support for MIPS32/Linux
and X86/Android and limited support for Mac OS X 10.8 (Mountain Lion).
Intel AVX and AES instructions are now supported, as are POWER DFP
instructions.  There are performance improvements and memory use
reductions in many areas.  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.8.0 (10 August 2012)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.8.0 is a feature release with many improvements and the usual
collection of bug fixes.

This release supports X86/Linux, AMD64/Linux, ARM/Linux, PPC32/Linux,
PPC64/Linux, S390X/Linux, MIPS32/Linux, ARM/Android, X86/Android,
X86/MacOSX 10.6/10.7 and AMD64/MacOSX 10.6/10.7.  Support for recent
distros and toolchain components (glibc 2.16, gcc 4.7) has been added.
There is initial support for MacOSX 10.8, but it is not usable for
serious work at present.

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

* Support for MIPS32 platforms running Linux.  Valgrind has been
  tested on MIPS32 and MIPS32r2 platforms running different Debian
  Squeeze and MeeGo distributions.  Both little-endian and big-endian
  cores are supported.  The tools Memcheck, Massif and Lackey have
  been tested and are known to work. See README.mips for more details.

* Preliminary support for Android running on x86.

* Preliminary (as-yet largely unusable) support for MacOSX 10.8.

* Support for Intel AVX instructions and for AES instructions.  This
  support is available only for 64 bit code.

* Support for POWER Decimal Floating Point instructions.

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

* Non-libc malloc implementations are now supported.  This is useful
  for tools that replace malloc (Memcheck, Massif, DRD, Helgrind).
  Using the new option --soname-synonyms, such tools can be informed
  that the malloc implementation is either linked statically into the
  executable, or is present in some other shared library different
  from libc.so.  This makes it possible to process statically linked
  programs, and programs using other malloc libraries, for example
  TCMalloc or JEMalloc.

* For tools that provide their own replacement for malloc et al, the
  option --redzone-size=<number> allows users to specify the size of
  the padding blocks (redzones) added before and after each client
  allocated block.  Smaller redzones decrease the memory needed by
  Valgrind.  Bigger redzones increase the chance of detecting block
  overruns or underruns.  Prior to this change, the redzone size was
  hardwired to 16 bytes in Memcheck.

* Memcheck:

  - The leak_check GDB server monitor command now can
    control the maximum nr of loss records to output.

  - Reduction of memory use for applications allocating
    many blocks and/or having many partially defined bytes.

  - Addition of GDB server monitor command 'block_list' that lists
    the addresses/sizes of the blocks of a leak search loss record.

  - Addition of GDB server monitor command 'who_points_at' that lists
    the locations pointing at a block.

  - If a redzone size > 0 is given, VALGRIND_MALLOCLIKE_BLOCK now will
    detect an invalid access of these redzones, by marking them
    noaccess.  Similarly, if a redzone size is given for a memory
    pool, VALGRIND_MEMPOOL_ALLOC will mark the redzones no access.
    This still allows to find some bugs if the user has forgotten to
    mark the pool superblock noaccess.

  - Performance of memory leak check has been improved, especially in
    cases where there are many leaked blocks and/or many suppression
    rules used to suppress leak reports.

  - Reduced noise (false positive) level on MacOSX 10.6/10.7, due to
    more precise analysis, which is important for LLVM/Clang
    generated code.  This is at the cost of somewhat reduced
    performance.  Note there is no change to analysis precision or
    costs on Linux targets.

* DRD:

  - Added even more facilities that can help finding the cause of a data
    race, namely the command-line option --ptrace-addr and the macro
    DRD_STOP_TRACING_VAR(x). More information can be found in the manual.

  - Fixed a subtle bug that could cause false positive data race reports.

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

* The C++ demangler has been updated so as to work well with C++ 
  compiled by up to at least g++ 4.6.

* Tool developers can make replacement/wrapping more flexible thanks
  to the new option --soname-synonyms.  This was reported above, but
  in fact is very general and applies to all function
  replacement/wrapping, not just to malloc-family functions.

* Round-robin scheduling of threads can be selected, using the new
  option --fair-sched= yes.  Prior to this change, the pipe-based
  thread serialisation mechanism (which is still the default) could
  give very unfair scheduling.  --fair-sched=yes improves
  responsiveness of interactive multithreaded applications, and
  improves repeatability of results from the thread checkers Helgrind
  and DRD.

* For tool developers: support to run Valgrind on Valgrind has been
  improved.  We can now routinely run Valgrind on Helgrind or Memcheck.

* gdbserver now shows the float shadow registers as integer
  rather than float values, as the shadow values are mostly
  used as bit patterns.

* Increased limit for the --num-callers command line flag to 500.

* Performance improvements for error matching when there are many
  suppression records in use.

* Improved support for DWARF4 debugging information (bug 284184).

* Initial support for DWZ compressed Dwarf debug info.

* Improved control over the IR optimiser's handling of the tradeoff
  between performance and precision of exceptions.  Specifically,
  --vex-iropt-precise-memory-exns has been removed and replaced by
  --vex-iropt-register-updates, with extended functionality.  This
  allows the Valgrind gdbserver to always show up to date register
  values to GDB.

* Modest performance gains through the use of translation chaining for
  JIT-generated code.

* ==================== 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.

197914  Building valgrind from svn now requires automake-1.10
203877  increase to 16Mb maximum allowed alignment for memalign et al
219156  Handle statically linked malloc or other malloc lib (e.g. tcmalloc) 
247386  make perf does not run all performance tests
270006  Valgrind scheduler unfair 
270777  Adding MIPS/Linux port to Valgrind
270796  s390x: Removed broken support for the TS insn
271438  Fix configure for proper SSE4.2 detection
273114  s390x: Support TR, TRE, TROO, TROT, TRTO, and TRTT instructions
273475  Add support for AVX instructions
274078  improved configure logic for mpicc
276993  fix mremap 'no thrash checks' 
278313  Fedora 15/x64: err read debug info with --read-var-info=yes flag
281482  memcheck incorrect byte allocation count in realloc() for silly 
argument
282230  group allocator for small fixed size, use it for MC_Chunk/SEc vbit
283413  Fix wrong sanity check
283671  Robustize alignment computation in LibVEX_Alloc
283961  Adding support for some HCI IOCTLs
284124  parse_type_DIE: confused by: DWARF 4
284864  == 273475 (Add support for AVX instructions)
285219  Too-restrictive constraints for Thumb2 "SP plus/minus register"
285662  (MacOSX): Memcheck needs to replace memcpy/memmove
285725  == 273475 (Add support for AVX instructions)
286261  add wrapper for linux I2C_RDWR ioctl
286270  vgpreload is not friendly to 64->32 bit execs, gives ld.so warnings
286374  Running cachegrind with --branch-sim=yes on 64-bit PowerPC program 
fails
286384  configure fails "checking for a supported version of gcc"
286497  == 273475 (Add support for AVX instructions)
286596  == 273475 (Add support for AVX instructions)
286917  disInstr(arm): unhandled instruction: QADD (also QSUB)
287175  ARM: scalar VFP fixed-point VCVT instructions not handled
287260  Incorrect conditional jump or move depends on uninitialised value(s)
287301  vex amd64->IR: 0x66 0xF 0x38 0x41 0xC0 0xB8 0x0 0x0 (PHMINPOSUW)
287307  == 273475 (Add support for AVX instructions)
287858  VG_(strerror): unknown error 
288298  (MacOSX) unhandled syscall shm_unlink
288995  == 273475 (Add support for AVX instructions)
289470  Loading of large Mach-O thin binaries fails.
289656  == 273475 (Add support for AVX instructions)
289699  vgdb connection in relay mode erroneously closed due to buffer overrun 
289823  ==  293754 (PCMPxSTRx not implemented for 16-bit characters)
289839  s390x: Provide support for unicode conversion instructions
289939  monitor cmd 'leak_check' with details about leaked or reachable blocks
290006  memcheck doesn't mark %xmm as initialized after "pcmpeqw %xmm %xmm"
290655  Add support for AESKEYGENASSIST instruction 
290719  valgrind-3.7.0 fails with automake-1.11.2 due to"pkglibdir" usage
290974  vgdb must align pages to VKI_SHMLBA (16KB) on ARM 
291253  ES register not initialised in valgrind simulation
291568  Fix 3DNOW-related crashes with baseline x86_64 CPU (w patch)
291865  s390x: Support the "Compare Double and Swap" family of instructions
292300  == 273475 (Add support for AVX instructions)
292430  unrecognized instruction in __intel_get_new_mem_ops_cpuid
292493  == 273475 (Add support for AVX instructions)
292626  Missing fcntl F_SETOWN_EX and F_GETOWN_EX support
292627  Missing support for some SCSI ioctls
292628  none/tests/x86/bug125959-x86.c triggers undefined behavior
292841  == 273475 (Add support for AVX instructions)
292993  implement the getcpu syscall on amd64-linux
292995  Implement the “cross memory attach” syscalls introduced in Linux 3.2
293088  Add some VEX sanity checks for ppc64 unhandled instructions
293751  == 290655 (Add support for AESKEYGENASSIST instruction)
293754  PCMPxSTRx not implemented for 16-bit characters
293755  == 293754 (No tests for PCMPxSTRx on 16-bit characters)
293808  CLFLUSH not supported by latest VEX for amd64
294047  valgrind does not correctly emulate prlimit64(..., RLIMIT_NOFILE, ...)
294048  MPSADBW instruction not implemented
294055  regtest none/tests/shell fails when locale is not set to C
294185  INT 0x44 (and others) not supported on x86 guest, but used by Jikes 
RVM
294190  --vgdb-error=xxx can be out of sync with errors shown to the user
294191  amd64: fnsave/frstor and 0x66 size prefixes on FP instructions
294260  disInstr_AMD64: disInstr miscalculated next %rip
294523  --partial-loads-ok=yes causes false negatives
294617  vex amd64->IR: 0x66 0xF 0x3A 0xDF 0xD1 0x1 0xE8 0x6A
294736  vex amd64->IR: 0x48 0xF 0xD7 0xD6 0x48 0x83
294812  patch allowing to run (on x86 at least) helgrind/drd on tool.
295089  can not annotate source for both helgrind and drd
295221  POWER Processor decimal floating point instruction support missing
295427  building for i386 with clang on darwin11 requires "-new_linker linker"
295428  coregrind/m_main.c has incorrect x86 assembly for darwin
295590  Helgrind: Assertion 'cvi->nWaiters > 0' failed
295617  ARM - Add some missing syscalls
295799  Missing \n with get_vbits in gdbserver when line is % 80 [...]
296229  Linux user input device ioctls missing wrappers
296318  ELF Debug info improvements (more than one rx/rw mapping)
296422  Add translation chaining support
296457  vex amd64->IR: 0x66 0xF 0x3A 0xDF 0xD1 0x1 0xE8 0x6A (dup of AES)
296792  valgrind 3.7.0: add SIOCSHWTSTAMP (0x89B0) ioctl wrapper
296983  Fix build issues on x86_64/ppc64 without 32-bit toolchains
297078  gdbserver signal handling problems [..]
297147  drd false positives on newly allocated memory
297329  disallow decoding of IBM Power DFP insns on some machines
297497  POWER Processor decimal floating point instruction support missing
297701  Another alias for strncasecmp_l in libc-2.13.so
297911  'invalid write' not reported when using APIs for custom mem 
allocators.
297976  s390x: revisit EX implementation
297991  Valgrind interferes with mmap()+ftell() 
297992  Support systems missing WIFCONTINUED (e.g. pre-2.6.10 Linux) 
297993  Fix compilation of valgrind with gcc -g3.
298080  POWER Processor DFP support missing, part 3
298227  == 273475 (Add support for AVX instructions)
298335  == 273475 (Add support for AVX instructions)
298354  Unhandled ARM Thumb instruction 0xEB0D 0x0585 (streq)
298394  s390x: Don't bail out on an unknown machine model.  [..]
298421  accept4() syscall (366) support is missing for ARM
298718  vex amd64->IR: 0xF 0xB1 0xCB 0x9C 0x8F 0x45
298732  valgrind installation problem in ubuntu with kernel version 3.x
298862  POWER Processor DFP instruction support missing, part 4
298864  DWARF reader mis-parses DW_FORM_ref_addr
298943  massif asserts with --pages-as-heap=yes when brk is changing [..]
299053  Support DWARF4 DW_AT_high_pc constant form
299104  == 273475 (Add support for AVX instructions)
299316  Helgrind: hg_main.c:628 (map_threads_lookup): Assertion 'thr' failed.
299629  dup3() syscall (358) support is missing for ARM
299694  POWER Processor DFP instruction support missing, part 5
299756  Ignore --free-fill for MEMPOOL_FREE and FREELIKE client requests
299803  == 273475 (Add support for AVX instructions)
299804  == 273475 (Add support for AVX instructions)
299805  == 273475 (Add support for AVX instructions)
300140  ARM - Missing (T1) SMMUL
300195  == 296318 (ELF Debug info improvements (more than one rx/rw mapping))
300389  Assertion `are_valid_hwcaps(VexArchAMD64, [..])' failed.
300414  FCOM and FCOMP unimplemented for amd64 guest
301204  infinite loop in canonicaliseSymtab with ifunc symbol
301229  == 203877 (increase to 16Mb maximum allowed alignment for memalign)
301265  add x86 support to Android build 
301984  configure script doesn't detect certain versions of clang
302205  Fix compiler warnings for POWER VEX code and POWER test cases
302287  Unhandled movbe instruction on Atom processors
302370  PPC: fnmadd, fnmsub, fnmadds, fnmsubs insns always negate the result
302536  Fix for the POWER Valgrind regression test: memcheck-ISA2.0.
302578  Unrecognized isntruction 0xc5 0x32 0xc2 0xca 0x09 vcmpngess
302656  == 273475 (Add support for AVX instructions)
302709  valgrind for ARM needs extra tls support for android emulator [..]
302827  add wrapper for CDROM_GET_CAPABILITY
302901  Valgrind crashes with dwz optimized debuginfo
302918  Enable testing of the vmaddfp and vnsubfp instructions in the 
testsuite
303116  Add support for the POWER instruction popcntb
303127  Power test suite fixes for frsqrte, vrefp, and vrsqrtefp instructions.
303250  Assertion `instrs_in->arr_used <= 10000' failed w/ OpenSSL code
303466  == 273475 (Add support for AVX instructions)
303624  segmentation fault on Android 4.1 (e.g. on Galaxy Nexus OMAP) 
303963  strstr() function produces wrong results under valgrind callgrind
304054  CALL_FN_xx macros need to enforce stack alignment
304561  tee system call not supported
715750  (MacOSX): Incorrect invalid-address errors near 0xFFFFxxxx (mozbug#)
n-i-bz  Add missing gdbserver xml files for shadow registers for ppc32
n-i-bz  Bypass gcc4.4/4.5 code gen bugs causing out of memory or asserts
n-i-bz  Fix assert in gdbserver for watchpoints watching the same address
n-i-bz  Fix false positive in sys_clone on amd64 when optional args [..]
n-i-bz  s390x: Shadow registers can now be examined using vgdb

(3.8.0-TEST3:  9 August 2012, vex r2465, valgrind r12865)
(3.8.0:       10 August 2012, vex r2465, valgrind r12866)

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Valgrind-announce mailing list
Valgrind-announce@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-ann...



to post comments


Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds