head 1.4; access; symbols pkgsrc-2022Q4:1.3.0.18 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.16 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.14 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.12 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.10 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.8 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.6 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.4 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.2 pkgsrc-2020Q4-base:1.3 pkgsrc-2014Q3:1.1.0.4 pkgsrc-2014Q3-base:1.1 pkgsrc-2014Q2:1.1.0.2 pkgsrc-2014Q2-base:1.1; locks; strict; comment @# @; 1.4 date 2023.03.07.18.53.40; author adam; state dead; branches; next 1.3; commitid NFJhadmuycNIWdgE; 1.3 date 2020.10.08.03.30.58; author mcf; state Exp; branches; next 1.2; commitid lAq7HuHqeihg73rC; 1.2 date 2014.11.07.08.16.45; author alnsn; state dead; branches; next 1.1; commitid sncQi7i6HNtCceXx; 1.1 date 2014.06.05.17.35.12; author minskim; state Exp; branches; next ; commitid 0GX9sexyZFAchmDx; desc @@ 1.4 log @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= [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 @ text @$NetBSD: patch-configure,v 1.3 2020/10/08 03:30:58 mcf Exp $ Use portable test(1) syntax to check for C99 support. --- configure.orig Tue Oct 6 21:36:12 2020 +++ configure @@@@ -5714,7 +5714,7 @@@@ if test "x$ac_cv_prog_cc_c99" != xno; then : fi -if test "$ac_cv_prog_cc_c99" == "no"; then +if test "$ac_cv_prog_cc_c99" = "no"; then as_fn_error $? "Valgrind relies on a C compiler supporting C99" "$LINENO" 5 fi @ 1.3 log @valgrind: update to 3.16.1 Release 3.16.1 (22 June 2020) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.16.1 fixes two critical bugs discovered after 3.16.0 was frozen. It also fixes character encoding problems in the documentation HTML. Release 3.16.0 (27 May 2020) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.16.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 and AMD64/MacOSX 10.12. There is also preliminary support for X86/macOS 10.13, AMD64/macOS 10.13 and nanoMIPS/Linux. * ==================== CORE CHANGES =================== * It is now possible to dynamically change the value of many command line options while your program (or its children) are running under Valgrind. To see the list of dynamically changeable options, run "valgrind --help-dyn-options". You can change the options from the shell by using vgdb to launch the monitor command "v.clo ...". The same monitor command can be used from a gdb connected to the valgrind gdbserver. Your program can also change the dynamically changeable options using the client request VALGRIND_CLO_CHANGE(option). * ================== PLATFORM CHANGES ================= * MIPS: preliminary support for nanoMIPS instruction set has been added. * ==================== TOOL CHANGES ==================== * DHAT: - The implicit memcpy done by each call to realloc now counts towards the read and write counts of resized heap blocks, making those counts higher and more accurate. * Cachegrind: - cg_annotate's --auto and --show-percs options now default to 'yes', because they are usually wanted. * Callgrind: - callgrind_annotate's --auto and --show-percs options now default to 'yes', because they are usually wanted. - The command option --collect-systime has been enhanced to specify the unit used to record the elapsed time spent during system calls. The command option now accepts the values no|yes|msec|usec|nsec, where yes is a synonym of msec. When giving the value nsec, the system cpu time of system calls is also recorded. * Memcheck: - Several memcheck options are now dynamically changeable. Use valgrind --help-dyn-options to list them. - The release 3.15 introduced a backward incompatible change for some suppression entries related to preadv and pwritev syscalls. When reading a suppression entry using the unsupported 3.14 format, valgrind will now produce a warning to say the suppression entry will not work, and suggest the needed change. - Significantly fewer false positive errors on optimised code generated by Clang and GCC. In particular, Memcheck now deals better with the situation where the compiler will transform C-level "A && B" into "B && A" under certain circumstances (in which the transformation is valid). Handling of integer equality/non-equality checks on partially defined values is also improved on some architectures. * exp-sgcheck: - The exprimental Stack and Global Array Checking tool has been removed. It only ever worked on x86 and amd64, and even on those it had a high false positive rate and was slow. An alternative for detecting stack and global array overruns is using the AddressSanitizer (ASAN) facility of the GCC and Clang compilers, which require you to rebuild your code with -fsanitize=address. * ==================== OTHER CHANGES ==================== * New and modified GDB server monitor features: - Option -T tells vgdb to output a timestamp in the vgdb information messages. - The gdbserver monitor commands that require an address and an optional length argument now accepts the alternate 'C like' syntax "address[length]". For example, the memcheck command "monitor who_points_at 0x12345678 120" can now also be given as "monitor who_points_at 0x12345678[120]". Release 3.15.0 (12 April 2019) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.15.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 and AMD64/MacOSX 10.12. There is also preliminary support for X86/macOS 10.13 and AMD64/macOS 10.13. * ==================== CORE CHANGES =================== * The XTree Massif output format now makes use of the information obtained when specifying --read-inline-info=yes. * amd64 (x86_64): the RDRAND and F16C insn set extensions are now supported. * ==================== TOOL CHANGES ==================== * DHAT: - DHAT been thoroughly overhauled, improved, and given a GUI. As a result, it has been promoted from an experimental tool to a regular tool. Run it with --tool=dhat instead of --tool=exp-dhat. - DHAT now prints only minimal data when the program ends, instead writing the bulk of the profiling data to a file. As a result, the --show-top-n and --sort-by options have been removed. - Profile results can be viewed with the new viewer, dh_view.html. When a run ends, a short message is printed, explaining how to view the result. - See the documentation for more details. * Cachegrind: - cg_annotate has a new option, --show-percs, which prints percentages next to all event counts. * Callgrind: - callgrind_annotate has a new option, --show-percs, which prints percentages next to all event counts. - callgrind_annotate now inserts commas in call counts, and sort the caller/callee lists in the call tree. * Massif: - The default value for --read-inline-info is now "yes" on Linux/Android/Solaris. It is still "no" on other OS. * Memcheck: - The option --xtree-leak=yes (to output leak result in xtree format) automatically activates the option --show-leak-kinds=all, as xtree visualisation tools such as kcachegrind can in any case select what kind of leak to visualise. - There has been further work to avoid false positives. In particular, integer equality on partially defined inputs (C == and !=) is now handled better. * ==================== OTHER CHANGES ==================== * The new option --show-error-list=no|yes displays, at the end of the run, the list of detected errors and the used suppressions. Prior to this change, showing this information could only be done by specifying "-v -v", but that also produced a lot of other possibly-non-useful messages. The option -s is equivalent to --show-error-list=yes. Release 3.14.0 (9 October 2018) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.14.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 and AMD64/MacOSX 10.12. There is also preliminary support for X86/macOS 10.13, AMD64/macOS 10.13. * ==================== CORE CHANGES =================== * The new option --keep-debuginfo=no|yes (default no) can be used to retain debug info for unloaded code. This allows saved stack traces (e.g. for memory leaks) to include file/line info for code that has been dlclose'd (or similar). See the user manual for more information and known limitations. * Ability to specify suppressions based on source file name and line number. * Majorly overhauled register allocator. No end-user changes, but the JIT generates code a bit more quickly now. * ================== PLATFORM CHANGES ================= * Preliminary support for macOS 10.13 has been added. * mips: support for MIPS32/MIPS64 Revision 6 has been added. * mips: support for MIPS SIMD architecture (MSA) has been added. * mips: support for MIPS N32 ABI has been added. * s390: partial support for vector instructions (integer and string) has been added. * ==================== TOOL CHANGES ==================== * Helgrind: Addition of a flag --delta-stacktrace=no|yes [yes on linux amd64/x86] which specifies how full history stack traces should be computed. Setting this to =yes can speed up Helgrind by 25% when using --history-level=full. * Memcheck: reduced false positive rate for optimised code created by Clang 6 / LLVM 6 on x86, amd64 and arm64. In particular, Memcheck analyses code blocks more carefully to determine where it can avoid expensive definedness checks without loss of precision. This is controlled by the flag --expensive-definedness-checks=no|auto|yes [auto]. * ==================== OTHER CHANGES ==================== * Valgrind is now buildable with link-time optimisation (LTO). A new configure option --enable-lto=yes allows building Valgrind with LTO. If the toolchain supports it, this produces a smaller/faster Valgrind (up to 10%). Note that if you are doing Valgrind development, --enable-lto=yes massively slows down the build process. @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @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
" 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=
" 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. @ text @d1 1 a1 1 $NetBSD: patch-configure,v 1.1 2014/06/05 17:35:12 minskim Exp $ d3 3 a5 1 --- configure.orig 2014-06-05 02:01:35.000000000 +0000 d7 9 a15 9 @@@@ -8490,7 +8490,7 @@@@ CFLAGS=$safe_CFLAGS # (Pedantically if the linker is gold then -Ttext is fine, but newer # gold versions also support -Ttext-segment. So just assume that unless # we can use -Ttext-segment we need to strip the build-id NOTEs. -if test "x${linker_using_t_text}" == "xyes"; then +if test "x${linker_using_t_text}" = "xyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: ld -Ttext used, need to strip build-id NOTEs." >&5 $as_echo "$as_me: ld -Ttext used, need to strip build-id NOTEs." >&6;} # does the linker support -Wl,--build-id=none ? Note, it's @ 1.1 log @Use '=' instead of '==' in configure for portability @ text @d1 1 a1 1 $NetBSD$ @