./devel/valgrind, Debugging and profiling tools

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.20.0, Package name: valgrind-3.20.0, Maintainer: pkgsrc-users

Valgrind is an instrumentation framework for building dynamic analysis
tools. There are Valgrind tools that can automatically detect many memory
management and threading bugs, and profile your programs in detail. You
can also use Valgrind to build new tools.

The Valgrind distribution currently includes six production-quality
tools: a memory error detector, two thread error detectors, a cache
and branch-prediction profiler, a call-graph generating cache and
branch-prediction profiler, and a heap profiler. It also includes three
experimental tools: a heap/stack/global array overrun detector, a second
heap profiler that examines how heap blocks are used, and a SimPoint basic
block vector generator.


Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 16083.275 KB

Version history: (Expand)


CVS history: (Expand)


   2023-08-11 10:45:47 by Nia Alarie | Files touched by this commit (1)
Log message:
valgrind: Disable RELRO until someone with access to a supported platform
can investigate
   2023-03-07 19:53:40 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
valgrind: updated to 3.20.0

Release 3.20.0 (24 Oct 2022)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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, AMD64/MacOSX 10.12, X86/FreeBSD and
AMD64/FreeBSD.  There is also preliminary support for X86/macOS 10.13,
AMD64/macOS 10.13 and nanoMIPS/Linux.

* ==================== CORE CHANGES ===================

* The option "--vgdb-stop-at=event1,event2,..." accepts the new value \ 
abexit.
  This indicates to invoke gdbserver when your program exits abnormally
  (i.e. with a non zero exit code).
* Fix Rust v0 name demangling.
* The Linux rseq syscall is now implemented as (silently) returning ENOSYS.
* Add FreeBSD syscall wrappers for __specialfd and __realpathat.
* Remove FreeBSD dependencies on COMPAT10, which fixes compatibility with
  HardenedBSD
* The option --enable-debuginfod=<no|yes> [default: yes] has been added on
  Linux.
* More DWARF5 support as generated by clang14.

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

131186  writev reports error in (vector[...])
434764  iconv_open causes ld.so v2.28+ to use optimised strncmp
446754  Improve error codes from alloc functions under memcheck
452274  memcheck crashes with Assertion 'sci->status.what == SsIdle' failed
452779  Valgrind fails to build on FreeBSD 13.0 with llvm-devel (15.0.0)
453055  shared_timed_mutex drd test fails with "Lock shared failed" message
453602  Missing command line option to enable/disable debuginfod
452802  Handle lld 9+ split RW PT_LOAD segments correctly
454040  s390x: False-positive memcheck:cond in memmem on arch13 systems
456171  [PATCH] FreeBSD: Don't record address errors when accessing the \ 
'kern.ps_strings' sysctl struct
n-i-bz  Implement vgdb invoker on FreeBSD
458845  PowerPC: The L field for the dcbf and sync instruction should be
        3 bits in ISA 3.1.
458915  Remove register cache to fix 458915 gdbserver causes wrong syscall return
459031  Documentation on --error-exitcode incomplete
459477  XERROR messages lacks ending '\n' in vgdb
   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36
   2022-03-22 01:28:20 by David H. Gutteridge | Files touched by this commit (1)
Log message:
valgrind: tweak DESCR

Don't bother listing specific supported platforms, as this changes from
release to release, and gets out of date quickly.
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2021-05-30 03:49:37 by Michael Forney | Files touched by this commit (5) | Package updated
Log message:
valgrind: update to 3.17.0

Release 3.17.0 (19 Mar 2021)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3.17.0 fixes a number of bugs and adds some functional changes: support for
GCC 11, Clang 11, DWARF5 debuginfo, the 'debuginfod' debuginfo server, and
some new instructions for Arm64, S390 and POWER.  There are also some tool
updates.

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 and AMD64/MacOSX 10.12.  There is also preliminary
support for X86/macOS 10.13, AMD64/macOS 10.13 and nanoMIPS/Linux.

* ==================== CORE CHANGES ===================

* DWARF version 5 support.  Valgrind can now read DWARF version 5 debuginfo as
  produced by GCC 11.

* Valgrind now supports debuginfod, an HTTP server for distributing ELF/DWARF
  debugging information. When a debuginfo file cannot be found locally,
  Valgrind is able to query debuginfod servers for the file using its
  build-id. See the user manual for more information about debuginfod support.

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

* arm64:

  - Inaccuracies resulting from double-rounding in the simulation of
    floating-point multiply-add/subtract instructions have been fixed.  These
    should now behave exactly as the hardware does.

  - Partial support for the ARM v8.2 instruction set.  v8.2 support work is
    ongoing.  Support for the half-word variants of at least the following
    instructions has been added:
       FABS <Hd>, <Hn>
       FABS <Vd>.<T>, <Vn>.<T>
       FNEG <Hd>, <Hn>
       FNEG <Vd>.<T>, <Vn>.<T>
       FSQRT <Hd>, <Hn>
       FSQRT <Vd>.<T>, <Vn>.<T>
       FADDP

* s390:

  - Implement the new instructions/features that were added to z/Architecture
    with the vector-enhancements facility 1.  Also cover the instructions from
    the vector-packed-decimal facility that are defined outside the chapter
    "Vector Decimal Instructions", but not the ones from that chapter \ 
itself.

    For a detailed list of newly supported instructions see the updates to
    `docs/internals/s390-opcodes.csv'.

    Since the miscellaneous instruction extensions facility 2 was already
    added in Valgrind 3.16.0, this completes the support necessary to run
    general programs built with `--march=z14' under Valgrind.  The
    vector-packed-decimal facility is currently not exploited by the standard
    toolchain and libraries.

* ppc64:

  - Various bug fixes.  Fix for the sync field to limit setting just two of
    the two bits in the L-field. Fix the write size for the stxsibx and
    stxsihx instructions.  Fix the modsw and modsd instructions.

  - Partial support for ISA 3.1 has been added.  Support for the VSX PCV mask
    instructions, bfloat16 GER instructions, and bfloat16 to/from float 32-bit
    conversion instructions are still missing.

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

* General tool changes

  - All the tools and their vgpreload libraries are now installed under
    libexec because they cannot be executed directly and should be run through
    the valgrind executable. This should be an internal, not user visible,
    change, but might impact valgrind packagers.

  - The --track-fds option now respects -q, --quiet and won't output anything
    if no file descriptors are leaked. It also won't report the standard stdin
    (0), stdout (1) or stderr (2) descriptors as being leaked with
    --trace-fds=yes anymore. To track whether the standard file descriptors
    are still open at the end of the program run use --trace-fds=all.

* DHAT:

  - DHAT has been extended, with two new modes of operation. The new
    --mode=copy flag triggers copy profiling, which records calls to memcpy,
    strcpy, and similar functions. The new --mode=ad-hoc flag triggers ad hoc
    profiling, which records calls to the DHAT_AD_HOC_EVENT client request in
    the new dhat/dhat.h file. This is useful for learning more about hot code
    paths. See the user manual for more information about the new modes.

  - Because of these changes, DHAT's file format has changed. DHAT output
    files produced with earlier versions of DHAT will not work with this
    version of DHAT's viewer, and DHAT output files produced with this version
    of DHAT will not work with earlier versions of DHAT's viewer.

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

140178  open("/proc/self/exe", ...); doesn't quite work
140939 --track-fds reports leakage of stdout/in/err and doesn't respect -q
217695  malloc/calloc/realloc/memalign failure doesn't set errno to ENOMEM
338633  gdbserver_tests/nlcontrolc.vgtest hangs on arm64
345077  linux syscall execveat support (linux 3.19)
361770  Missing F_ADD_SEALS
369029  handle linux syscalls sched_getattr and sched_setattr
384729  __libc_freeres inhibits cross-platform valgrind
388787  Support for C++17 new/delete
391853  Makefile.all.am:L247 and @SOLARIS_UNDEF_LARGESOURCE@ being empty
396656  Warnings while reading debug info
397605  ioctl FICLONE mishandled
401416  Compile failure with openmpi 4.0
408663  Suppression file for musl libc
404076  s390x: z14 vector instructions not implemented
410743  shmat() calls for 32-bit programs fail when running in 64-bit valgrind
        (actually affected all x86 and nanomips regardless of host bitness)
413547  regression test does not check for Arm 64 features.
414268  Enable AArch64 feature detection and decoding for v8.x instructions
415293  Incorrect call-graph tracking due to new _dl_runtime_resolve_xsave*
422174  unhandled instruction bytes: 0x48 0xE9 (REX prefixed JMP instruction)
422261  platform selection fails for unqualified client name
422623  epoll_ctl warns for uninitialized padding on non-amd64 64bit arches
423021  PPC:  Add missing ISA 3.0 documentation link and HWCAPS test.
423195  PPC ISA 3.1 support is missing, part 1
423361  Adds io_uring support on arm64/aarch64 (and all other arches)
424012  crash with readv/writev having invalid but not NULL arg2 iovec
424298  amd64: Implement RDSEED
425232  PPC ISA 3.1 support is missing, part 2
425820  Failure to recognize vpcmpeqq as a dependency breaking idiom.
426014  arm64: implement fmadd and fmsub as Iop_MAdd/Sub
426123  PPC ISA 3.1 support is missing, part 3
426144  Fix "condition variable has not been initialized" on Fedora 33.
427400  PPC ISA 3.1 support is missing, part 4
427401  PPC ISA 3.1 support is missing, part 5
427404  PPC ISA 3.1 support is missing, part 6
427870  lmw, lswi and related PowerPC insns aren't allowed on ppc64le
427787  Support new faccessat2 linux syscall (439)
427969  debuginfo section duplicates a section in the main ELF file
428035  drd: Unbreak the musl build
428648  s390_emit_load_mem panics due to 20-bit offset for vector load
428716  cppcheck detects potential leak in VEX/useful/smchash.c
428909  helgrind: need to intercept duplicate libc definitions for Fedora 33
429352  PPC ISA 3.1 support is missing, part 7
429354  PPC ISA 3.1 support is missing, part 8
429692  unhandled ppc64le-linux syscall: 147 (getsid)
429864  s390x: C++ atomic test_and_set yields false-positive memcheck
        diagnostics
429952  Errors when building regtest with clang
430354  ppc stxsibx and stxsihx instructions write too much data
430429  valgrind.h doesn't compile on s390x with clang
430485  expr_is_guardable doesn't handle Iex_Qop
431556  Complete arm64 FADDP v8.2 instruction support
432102  Add support for DWARF5 as produced by GCC11
432161  Addition of arm64 v8.2 FADDP, FNEG and FSQRT
432381  drd: Process STACK_REGISTER client requests
432552  [AArch64] invalid error emitted for pre-decremented byte/hword addresses
432672  vg_regtest: test-specific environment variables not reset between tests
432809  VEX should support REX.W + POPF
432861  PPC modsw and modsd give incorrect results for 1 mod 12
432870  gdbserver_tests:nlcontrolc hangs with newest glibc2.33 x86-64
432215  Add debuginfod functionality
433323  Use pkglibexecdir as vglibdir
433500  DRD regtest faulures when libstdc++ and libgcc debuginfo are installed
433629  valgrind/README has type "abd" instead of "and"
433641  Rust std::sys::unix::fs::try_statx Syscall param fstatat(file_name)
433898  arm64: Handle sp, lr, fp as DwReg in CfiExpr
434193  GCC 9+ inlined strcmp causes "Conditional jump or move [..] \ 
value" report
n-i-bz  helgrind: If hg_cli__realloc fails, return NULL.
n-i-bz  arm64 front end: avoid Memcheck false positives relating to CPUID
   2021-05-24 21:56:06 by Thomas Klausner | Files touched by this commit (3575)
Log message:
*: recursive bump for perl 5.34