master
Bug 515731 - Distinguish between realloc functions in realloc size 0 error messages
Linux regtest: add clang expecteds for access_below_sp
vg_regtest: Miscellaneous tweaks
Regtest warnings: fixes for GCC 16.1 C++20 volatile deprecation
FreeBSD regtest: fix filter_arg_check on arm64 and x86
mount syscall param filesystemtype may be NULL
Darwin syscall: clean up posix_spawn and add to scalar
FreeBSD regtest: update clock_nanosleep1 test
Linux regtest: fix warning when building with clang
testsuite: Tidy. Remove empty .stdout.exp files
Modify .exp files following the new error message.
riscv64: Add initial support: new port-specific test files
s390: Fix compilation of testcases with clang 20.1.8
Bug 519613 - Valgrind incorrectly unpacks the result of sys_port (port_getn) on error, leading to a ~60s wallclock time delay on every call
Regtest: fix use of -no-pie
Regtest: fix for building free_sized and free_aligned_sized on Linux with clang.
Fix accounting for MC_(realloc). It was inconsistent as compared to other wrappers in that it took place before the silly-args check. Testcase and patch by Yann Droneaud (yann@droneaud.fr). Fixes #281482
FreeBSD support, patch 10
Add new files resulting from merging in the 2.4.0 line. Many of these seem to be simply duplication of the x86 instruction set tests into the addrcheck and helgrind trees. I'm not sure what this duplication achieves.
Merged r9653..r9655 (fixed terminal signal handling in Darwin) from DARWIN branch.
riscv64: Add initial support: test modifications
Bug 444399 - disInstr(arm64): unhandled instruction 0xC87F2D89 (LD{,A}XP and ST{,L}XP).
Add tests to verify behaviour of atomic instruction handling.
Files updated, added and removed in order to turn the ERASER branch into HEAD
Implement Option --error-markers=<begin>,<end>
Add VALGRIND_RESIZEINPLACE_BLOCK() and hence close #267819.
Darwin regtest: numerous bits of Darwin 18 cleanup
Suppressed compiler warnings reported by gcc 4.4.x on the source code of regression tests about intentionally uninitialized variables and about intentionally freed non-heap memory.
Improve address description for address in the stack. --read-var-info=yes is very memory and cpu intensive. This patch ensures that even witout --read-var-info=yes that the frame where the address point is reported in the address description.
Make these work on Red Hat 7.3 (by giving -q)
Change tests using --fullpath-after so as to work with ccache caching compiler
This commit is for Bugzilla 334836. The Bugzilla contains patch 3 of 3 to add PPC64 LE support. The other two patches can be found in Bugzillas 334384 and 334834. Note, there are no VEX changes in this patch.
Fix incorrect cleanup lines in 2 tests (spotted by Matthias Schwarzott)
Dnother iteration for getting the right expected line numbers.
Rewrite badjump and badjump2 such that the error occurs now on the same line for all architectures. Promote the s390x exp file to be the golden one because it has the correct result. Add exp-kfail files for those platforms where the testcases fail (x86).
Fix for bug 91162: cope with jumps to bogus addresses when there is a SEGV signal handler present -- previously, Valgrind would abort unnecessarily on this case.
Update .exp files for r10783.
musl regtest : fix warnings and badly initialized struct msghdr
Fix typo in poll wrapper
Make the checking of poll() more accurate.
Make badrw.c conform to C89; split things onto separate lines so it's clear what the messages are talking about.
Add more .exp files for s390 due to GCC's use of the MVC insn.
Made Addrcheck distinguish between invalid reads and invalid writes (previously was just saying "invalid memory access").
Factorises the address code description and printing of memcheck and helgrind in a common module: pub_tool_addrinfo.h pub_core_addrinfo.h m_addrinfo.c
Improvements in freelist handling for Memcheck. See #250065.
Add a test for bug 359133 Assertion 'eltSzB <= ddpa->poolSzB' failed Test case provided by David Hallas
Fix problem with brk(). Thanks to Paull Mackerras for the patch. Added a regression test for it.
Bug 481874 - Add arm64 support for FreeBSD
Final patch for Char/HChar mixups. Remove -Wno-pointer-sign from configure.in. Fixes 273227.
Improve filtering of backtrace noise in the memcheck bucket and update exp files accordingly. This works well for x86 and all testcases pass on my machine. New file filter_memcheck to do the work. There is a bit of a ripple here as filter_memcheck requires command line arguments to be passed in. So all users of filter_memcheck (direct or indirect) were updated as well. filter_stderr was simplified as was filter_libc.
Announce fix of BZ #155125. As of r14685 I think. Add testcase.
Darwin regtest: use -q in 2 tests with heap summary diffs
Add testcase for bugzilla #287260. Testcase by M.Welinder (mwelinder@gmail.com). Announce bug fix.
New memcheck command line option: --expensive-definedness-check Pertains to BZ #340392
bug340392 doesn't work on power because of bug352364
regtest: bug401284.c should never cast the return of malloc in C
Bug 401284 - False positive "Source and destination overlap in strncat"
Bug 445235 - Java/Ada/D demangling is probably broken
Darwin regtest: turn off ada mangling test
bug464969_d_demangle.cpp: Always print "Xa"
Bug 464969 - D language demangling
Bug 473604 - Fix bug472219.c compile failure with Clang 16
Bug 472219 - Syscall param ppoll(ufds.events) points to uninitialised byte(s)
regtest warnings: use %z for printf size_t
Bug 484002 - Add suppression for invalid read in glibc's __wcpncpy_avx2() via wcsxfrm()
Regtest: add a test for C23 free_sized and free_aligned_sized
free_aligned_sized: improve error message for alignment mismatch
Fixed bug 149878 (calloc overflow). This disables some of the calloc silly arg checking, but that's no great loss.
Valgrind is able to read compressed debuginfo sections in two formats: - zlib ELF gABI format with SHF_COMPRESSED flag (gcc option -gz=zlib) - zlib GNU format with .zdebug sections (gcc option -gz=zlib-gnu)
Bug 469782 - Valgrind does not support zstd-compressed debug sections
Bug 390310 - Output summaries in XML files
Darwin regtest: changes to filters and sed commands
When XML mode is selected messages from VALGRIND_PRINTF and friends should go to the XML stream not stderr. Fixes BZ 322807.
Make memcheck/tests/clientperm clang-friendly
Merge in changes from the 2.4.0 line. This basically brings in the overhaul of the thread support. Many things are now probably broken, but at least with --tool=none, simple and not-so-simple threaded and non-thread programs work.
fix 299756 (for symmetry, --free-fill must be ignored for MEMPOOL_FREE and FREELIKE client requests).
Bug 345248 - add support for Solaris OS in valgrind
Implement --redzone-size and --core-redzone-size
Fix asserts in testcases close_range, bug514094 and readlinkat_self.
FreeBSD close_range syscall
Bug 503641 - close_range syscalls started failing with 3.25.0
Regtest: add a prereq to check that close_range built
update cond_ld_st test and expected outputs
Change default value for --keep-stacktraces has been changed to alloc-and-free Default value changed following discussion on valdev.
Silence clang warnings about uninitialised and unused values in memcheck testcases.
Allow custom blocks to overlap with malloc blocks. Fixes bug 100628.
Ensure VALGRIND_MALLOCLIKE_BLOCK protects the red zones.
Bug 473677 - make check compile failure with Clang 16 based on GCC 13.x
Bug 512037 - malloc trace does not print free size or alignment
Bug 388787 - Support for C++17 new/delete
Bug 513844 - Support macOS 13.0 (Ventura)
Increase allowed size of a back-trace to 500 frames. This limit is large enough for all practical purposes. It exists only to sanity check the value specified with --num-callers. Be frugal in record_ExeContext_wrk and only allocate on the stack as many frames as needed. Testcase included.
For those testcases that crash one way or another remove any core files after running the test. Patch by Matthias Schwarzott <zzam@gentoo.org>
Make memcheck tests demangle and demangle-rust clang-friendly.
Fix Rust v0 demangling.
Run memcheck/tests/demangle with -q.
Darwin regtest: small change for memcheck descr_belowsp
Fix test memcheck/tests/descr_belowsp a bit on Solaris.
FreeBSD regtest: add checks for required kernel modules and sysctl
Filtered out malloc/free statistics.
Make some more tests more robust against glibc differences.
Bug 509139 - Update BadSize error messages
Add missing expected
Darwin: add macOS 10.15 support
regtest: use filter for operator new/delete on 32bit systems
Darwin regtest: add an expected for memcheck dw4
Filter out differences in structure size
Add a new client request and pair of macros, VALGRIND_{DISABLE,ENABLE}_ERROR_REPORTING, which allow a thread to temporarily disable reporting of errors it makes. This is useful for making Memcheck behave sanely in the presence of some MPI implementations. Also mark up libmpiwrap.c accordingly.
Add client requests VALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGE and VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE and supporting machinery for managing whole-address-space sparse mappings. n-i-bz. In support of https://bugzilla.mozilla.org/show_bug.cgi?id=970643
Fix 348949 Bogus "ERROR: --ignore-ranges: suspiciously large range" Patch from Mark Harris
Move the last remaining tests out of corecheck.
Fix a .exp file. Avoid an assertion failure with -v.
Renamed the following options:
Run -q
Warn for execve syscall with argv or argv[0] being NULL.
The testcases execve1 and fwrite actually fail on x86 in the sense that they produce an incomplete backtrace. Added exp-kfail files to capture the results with the incomplete backtraces. Updated the generic exp files.
Rename testcase from execve to execve1. The reason is that the point of failure is in glibc in a file named execve.c The backtrace filtering (which is filename based) cannot distinguish the two execve.c file names. Renaming the testcsae does the trick.
Fix execve2 testcase. First, due to a typo in Makefile.am it was compiled with the wrong flags. Secondly, the testcase gives an incorrect backtrace on x86 (missing the line where the error occurs). Updated the generic exp to contain the correct result and added exp-kfail for platforms where this test fails.
Remove some more global variables from vg_include.h, replacing them with (fewer) functions.
Optionally exit on the first error with --exit-on-first-error=<yes|no>.
Try and make different gcc versions agree on source locations. Sigh.
Reworked test such that file locking is now triggered from two different processes.
Dawrin regtest: mostly more filtering
Fix file permissions.
Follow up to 345307 - Warning about "still reachable" memory when using libstdc++ from gcc 5
Darwin regtest: update a filter following the previous commit
Darwin regtest: add filtering for zone functions and realloc
Darwin regtest: filter malloc_zone_memalign
Merge mc_replace_strmem.c, hg_intercepts.c and drd_strmem_intercepts.c Move memcheck/mc_replace_strmem.c to shared/vg_replace_strmem.c and add several intercepts for SSE-variants. Include that source file from drd/drd_strmem_intercepts.c, helgrind/hg_intercepts.c and memcheck/mc_replace_strmem.c.
FreeBSD regtest: updates for FreeBSD 15.0-CURRENT
Add memcheck errors for aligned and sized allocations and deallocations
regtest: update filter_stanza so that sized_aligned_new_delete_args works on 32bit platforms
More makefile tweaks for dist_noinst_SCRIPTS.
Darwin regtest: update strchr filter
Darwin regtest: simplify memcheck filter_supp
regtest: filter line numbers from memcheck tests that count suppressions
FreeBSD regtest: improve memcheck filtering for varinfo5
mips32: When we are accessing elements via double pointer MIPS compiler can generate two consecutive 32bit loads instead of one 64bit load. Because of that in error log we have two conflict loads of size 4 instead of one conflict load of size 8.
Fixed test to not assume that malloc(10) will return 10 nul bytes!
Darwin regtest: add an expected for memcheck gone_abrt_xml
FreeBSD regtest: filter leak from memcheck/tests/gone_abrt_xml
Change the behaviour of VALGRIND_CHECK_MEM_IS_DEFINED slightly, so that if the range is partially non-addressable and it contains undefined data, both errors are reported.
Merge r6109:
Replace wrong <../memcheck.h> by "../memcheck.h"
This patch implements the support needed for stacktraces showing inlined function calls. See 278972 valgrind stacktraces and suppression do not handle inlined function call debuginfo
Adapt testcase so it can be compiled with GCC 3.4.6.
Find the name of the inlined function through a DW_AT_specification The name is not necessarily found in the abstract origin, it can be in a referred to specification.
Merge r9299..r9303 (various leak-check test fixes) from the DARWIN branch.
Added meta mempool support into memcheck for describing a custom allocator which: - Auto-frees all chunks assuming that destroying a pool destroys all objects in the pool - Uses itself to allocate other memory blocks Unit tests included. Fixes BZ#367995 Patch by: Ruurd Beerstra <ruurd.beerstra@infor.com>
fix 369468 Remove quadratic metapool alg. using VG_(HT_remove_at_Iter)(VgHashTable *table)
Bug 233298 - Reflect MEMPOOL_FREE in heap summary
Bug 474160 - If errors-for-leak-kinds is specified, exit-on-first-error should only exit on one of the listed errors.
Filter out lines that differ between x86 and ppc.
This commit completely overhauls the leak checker. In particular:
Make the leak tests a whole lot less flaky on ppc32/64-linux by zeroing out caller saves registers before the leak check. We should really do this on all platforms, not just these. (Maynard Johnson, maynardj@us.ibm.com)
Allows to only output "new" loss records when doing a leak search.
Memcheck: * add delta leak checking functionality * some editing of related manual sections (Philippe Waroquiers, philippe.waroquiers@skynet.be). Bug 214909 comment 105.
regression tests: Remove superfluous backticks
Add CLEAR_CALLER_SAVED_REGS in leak-tree test
- Removed leakotron. It was not a very useful test, and hard to make portable. - Rewrote leak-tree to be deterministic and clearer.
FreeBSD regtest: clobber R11 for memcheck/tests/leak_cpp_interior
regtest: broaden a suppression used in memcheck/tests/leak_cpp_interior
Fix 284540 and 307465 284540 Memcheck shouldn't count suppressions matching still-reachable allocations 307465 --show-possibly-lost=no should bring down the error count / exit code
A fix for bug 186796: suppression symbol names were being truncated if they were longer than 200 chars. Now dynamic memory is used and so they can be arbitrarily long in theory, although in practice it bombs out at 100,000 for sanity purposes. This required adjusting the core/tool interface for read_extra_suppression_info().
Add a test that very long function names are safely truncated in memcheck's XML output.
Merge memcheck/ changes from branches/MESSAGING_TIDYUP r10464. See trunk r10465 commit message for details.
illumos warnings: malinfo struct fields are 64bit on illumos
Filtered out malloc/free statistics from mallinfo test.
memcheck/tests/mallinfo2.c use %zu to print mallinfo2 fields
Implement and override mallinfo2
Patch adding (or showing the proper/not confusing) helgrind thread nr for block and stack address description.
Implement --keep-stacktraces=alloc|free|alloc-and-free|alloc-then-free|none
Provide a back trace when a function argument of a known allocation function is presumably negative. Fixes BZ 79311.
Stack traces for Memcheck's syscall param errors are terribly unreliable, so I changed it to just filter the entire stack trace out for these errors (both normal and XML cases). The syscall name is still present in the error string. This allows a one or more alternative expected output files to be removed for several tests, which is A Very Good Thing.
Remove unnecessary Memcheck test filters.
malloc_usable_size() was totally broken, crashing immediately. I guess it's not very widely used :)
regtest: use in 'if' in memcheck/tests/manuel1
Tweak manuel2 so that the Memcheck-detected error is more reliable, and that we never accidentally also get an undefined-condition-error.
Fix this test to work properly with accurate CmpEQ/NE definedness tracking
fix 284540 (optimise suppression matching) Before this patch, matching an error stack trace with many suppression patterns was implying to repeating the translation of the IPs of the stack trace to the function name or object name for each suppr pattern.
Merge r9285 (match-overrun fixes) from the DARWIN branch.
solaris: aligned allocation issues
Darwin regtest: fix building on older OS versions
Darwin regtest: update for one of the several memalign_args expecteds
Bug 513533 - Support macOS 11.0 (Big Sur)
Solaris regtest: aligned / sized expecteds and an improved filter
Regtest: add a filter for aligned alloc uninit args tests
Fix memcheck/tests/memalign_test expected output.
Make memalign behave more like the underlying platform memalign
Make more tests glibc-2.X robust.
FreeBSD: add suppressions for still reachable memory when using getaddrinfo
Add a redir for memccpy
Darwin redirs: add several str* amd mem* redirs to vg_replace_strmem.c
Bug 486293 - memccpy false positives
Darwin: fix redir for memccpy
A cleanup of the redirection stuff.
Illumos regtest: memmem testacase update
Add memmem memcheck tests
Add a new mempool test resulting from work on #254420, and update expected output for an existing test.
Memory pool support.
Regression test for memcheck's SET/GET_VBITS client requests.
Oops, missed out of r5724.
Add processing of sized delete operators into filter_libc
The name-mangled versions of __builtin_new() and __builtin_vec_new() now don't just call the unmangled versions, but do the appropriate stuff themselves directly (this was necessary for Massif). This means that stack traces for them have one fewer function. And I was able to gather up several very similar functions into a macro, reducing the amount of code, which was nice. Had to update one regtest's expected output accordingly.
Testcase tweak: clenup after yourself
Have one test testing the ? suppr matching wildcard character.
Add a comment.
Use --gen-suppressions=all rather than =yes, since the latter causes the entire regtest system to hang if in fact a suppression does need to be generated (since V stops to ask). Not sure why this flag is really in here, tho.
Allow the user to change a set of command line options during execution.
Remove nanoleak.vgtest, it's a trivial test. nanoleak.c is used by nanoleak_supp.vgtest, however, so rename it nanoleak_supp.c to make the connection more obvious.
memcheck: add checking that new aligned is not deallocated by plain delete
Add 32bit variant of new_aligned_delete_default.stderr.exp
regtest: copy and paste error in new_delete_mismatch_size vgtest files
32 bit new_delete_mismatch_size and sized_aligned_new_delete_misaligned .exp
Added interceptions for:
Fix new override test.
Fix some spelling mistakes. Fixes BZ#374719 Patch by: klemens <ka7@la-evento.com>
Add regtest for the --child-silent-after-fork added in r7177.
Bug 514613 again (closing </still_reachable> xml tag)
regtest: Fix prereq test for existence of xmllint.
Added regression tests for recent bug fix involving accept(), recvfrom() and getsockopt() being allowed to received a NULL buffer.
Fix a whole lot more regression tests on Red Hat 7.3.
Bug 515183 - Error occurred while executing the command `valgrind --num-callers=1 ./hello_world`
Merge branches/OTRACK_BY_INSTRUMENTATION into the trunk. This adds support to Memcheck for tracking the origin of uninitialised values, if you use the --track-origins=yes flag.
Try to make this test more consistent across different machines.
Merge r14202 from the BUF_REMOVAL branch to trunk. This patch changes the interface and behaviour of VG_(demangle) and VG_(maybe_Z_demangle). Instead of copying the demangled name into a fixed sized buffer that is passed in from the caller (HChar *buf, Int n_buf), the demangling functions will now return a pointer to the full-length demangled name (HChar **result). It is the caller's responsiblilty to make a copy if needed.
Give function copy_input_until_stop the noinline atribute. At least one of the compilers for s390x nightly builds was inlining it. Update exp files accoordingly. This should fix any residual back-trace noise for this testcase.
mips32: Additional .exp file for mips32.
Additional .exp file for s390x.
linux arm regtest: add an expected for origin5-bz2
memcheck/tests/origin5-bz2: Add a regression test output file variant
Add x86 variant of origin5-bz2.stderr.exp-glibc25-amd64-b
Disable some memcheck tests on FreeBSD
Add a test for origin tracking through large floating point arrays.
----------------------------------------------------------------------------- overview ----------------------------------------------------------------------------- Previously Valgrind had its own versions of malloc() et al that replaced glibc's. This is necessary for various reasons for Memcheck, but isn't needed, and was actually detrimental, to some other skins. I never managed to treat this satisfactorily w.r.t the core/skin split.
memcheck: Allow unaligned loads of words on ppc64[le].
linux arm regtest: update memcheck partiallydefinedeq
Add a regression test for memcheck's ability do deal with partially defined operands in equality comparisons.
According to Julian initialising the previously uninitialised variable won't affect the test adversely -- so let's do this and get rid of the special compilation again. Also guard against future compiler smartness tricking the compiler into believing the variable is actually used. So the loop won't get optimised away.
Merge in the COMPVBITS branch to the trunk. This is a big change to Memcheck, replacing the 9-bits-per-byte shadow memory representation to a 2-bits-per-byte representation (with possibly a little more on the side) by taking advantage of the fact that extremely few memory bytes are partially defined.
Add another test of permissions range copying (copy_address_range_perms).
fix for #113230
Darwin regtest and version: remove last trace of DARWIN_10_6
Darwin regtest: another leaky xml test and a suppression test
Fix typos in source code. Patch by Dmitriy (olshevskiy87@bk.ru). Fixes BZ #349874
Merged r9741 (make post-syscall more portable) from the DARWIN branch.
Merge r13704 from 3_9_BRANCH (Fix compile problem in memcheck/tests/reach_thread_register.c)
Fix 324227 memcheck false positive leak when a thread calls exit+block only reachable via other thread live register
mips32/64: Add extra suppression for mips32/64.
reach_thread_register cannot be compiled on Mac OS as Mac OS had no pthread barrier. (the Makefile.am protects this with a if HAVE_PTHREAD_BARRIER) But the test should then be protected with a prereq that the executable exists. (analysis and fix suggestion by rhyskidd, part of fixing 341613)
Fix compilation on FreeBSD. extracted from patch by Doug Rabson <dfr@nlsystems.com>
Linux: remove a couple of cpmpiler warnings
Bug 436413 - Warn about realloc of size zero
Correct typos and spelling mistakes
memcheck: Handle Err_ReallocSizeZero in MC_(eq_Error)
FreeBSD: fixes for version 14.1
regtest: build failure on Linux ppc64le, missing header
regtest: update one expected after fixing realloc_size_zero_mismatch.cpp
Regtest: add an xml version of memcheck realloc_size_zero
Linux regtest: add an expected for memcheck realloc_size_zero_xml
illumos regtest: mask a leak in memcheck/tests/realloc_size_zero_xml
Implement --merge-recursive-frames + provide VALGRIND_MONITOR_COMMAND client req.
Bug 514343 - Add a valgrind.h macro VALGRIND_REPLACES_MALLOC
Extensible main thread stack is tricky :(.
Avoid excessive fragmentation in m_mallocfree facility by munmapping unused superblocks in some circumstances. Bug 250101 (==269884, ==275852) (Philippe Waroquiers, philippe.waroquiers@skynet.be)
regtest: make memcheck sem test quiet
memcheck/tests/sh-mem-random.c: Set huge_addr to 240GB
Don't print an address on stdout as it doesn't get automagically changed into 0x.........
Add 64-bit test output.
Another shadow memory test. This one does a huge number of loads and stores of char/short/int/int64/double at random offsets and hence alignments in an array. It does it in a way in which the computation just computes the expected V bits, and hence can check whether these seem correct.
This jumbo-checkin is the Full Virtualization checkin. This eliminates Valgrind's dependency on the dynamic linker for getting started, and instead takes things into its own hands.
The sigkill regression test no longer attempts to set signal handlers for the signal numbers 32 and 33.
Merge r9533..9536 (add tests/{asm.h,sys_mman.h,malloc.h} from the DARWIN branch.
Delete the AIX5 port. The last release this worked for is 3.4.1, and then only on AIX 5.2 and 5.3.
Forgot to add the expected stderr output.
The memcheck/tests/sigprocmask test is designed to test that we handle the old style sigprocmask system call correctly without corrupting memory when we copy out the new (larger) signal mask into the user provided old (smaller) signal mask.
Converted sigprocmask and rt_sigprocmask.
Add checks to all new / delete overload arguments
Regtest: remove duplicate filters
regtest: correct a typo
Add testcase for C++14 sized delete
Regtest: rationalize filters for new/delete
fix 219156 support static malloc or alternate malloc lib (e.g. tcmalloc) with new option --soname-synonyms
Make memcheck/tests/stpncpy be dependent on the presence/absence of stpncpy in libc, as determined by a configure test. n-i-bz. (Mark Wielaard, mjw@redhat.com)
Add an intercept for stpncpy. Fixes #309427. (Mark Wielaard, mjw@redhat.com)
Darwin regtest: small tweak for memcheck str_tester
Add very thorough string functions test from glibc.
memcheck/tests/strchr: Add a regression test output variant
strchr.vgtest mc_replace_strmem.c [r]index and [__GI_]str[r]chr are the same.
Abort if a dir is given to --suppressions. Fixes bug 197456.
Suppressions-tests fixes.
Update exp files for memcheck's supp_unknown testcase. Promote the s390x exp file to be the golden one because it has the correct result. Add an exp-kfail file for those platforms where the testcase fails (x86).
regtest: broaden one expected and one test suppression file
Patch 4 in a revised series of cleanup patches from Will Schmidt
Add a new test that shows a surprising side effect of the medium resolution (4 callers) used to compare errors.
Add non matching suppressions for suppfree test (more testing for suppr matching)
Fix a regression in supp matching with obj: entries
Ability to add suppressions based on source file name and line number.
Apply text_debug_bias to inline IP extracted from dwarf3 Without this biasing, inline info is not correct for shared objects. Updated test varinfo5 to use --read-inline-info=yes and added an inline test case. Note: the varinfo reader does not understand the inlining info, and so variables in inlined functions are not properly described.
prepare for changing the default of --read-inline-info suppvarinfo5 is using suppression entries that explicitely checks for a stack trace without inline info. So, indicate to not read the inline info. This also means we will have (and keep) at least one test testing the behaviour of --read-inline-info=no
Add expected results for 32-bit little endian platform.
FreeBSD regtest: rationalise memcheck test-plo-no expecteds
Change the behaviour of --partial-loads-ok=yes to avoid false negatives, by marking the V bits that come from out of range parts of the access as undefined; and hence any use of them leads to an value error. Prior to this they were marked as defined and could be used without error.
Add expected output for s390x with compilers using mvc.
mips64: update tests for N32 ABI
fix 321960 pthread_create() then alloca() causing invalid stack write errors
In VALGRIND_PRINTF write out the thread name to xml. Patch by Matthias Schwarzott <zzam@gentoo.org>.
Illumos regtest: fix threadname vgtest files
regtest: filter leaks from memcheck threadname_xml and update expected
Repair --px-file-backed broken due to dynamic option change.
Fix memcheck/tests/undef_malloc_args failure.
temporarily disable memalign part of the undef_malloc_args.c test as this is breaking Darwin.
Solve false negative for various malloc replaced functions arguments
mips: update tests to compile for nanoMIPS
- Add 'unit_libcbase', the beginnings of a unit test module for m_libcbase. - Rename 'oset_test' as 'unit_oset' to make its meaning more clear. - Remove VG_(atoll36), VG_(strtoll8)() and VG_(strtoll36)(); they're not used and so untested, but easy to crib from similar functions if they need to be added again later.
Remove more warnings from tests
pub_tool_oset.h and m_oset.c cleanup
Finished renaming of 'oset_test' into 'unit_oset'.
PowerPC: added expected output files for memcheck/tests/varinfo[1-6], based on a patch supplied by Maynard Johnson. See also #247526.
FreeBSD regtest: make memcheck varinfo3 filtering consistent
fix 310424 --read-var-info does not properly describe static variables
Use -q on varinfo tests to avoid platform-specific differences in number of allocations. This allowed two .stderr.exp files to be merged for varinfo6.
Merge in the DATASYMS branch.
Update the ppc64 specific results to what they are. The difference of the expected results as compared to other platforms is
Fix pointer qualifier discard warnings in memcheck/tests/varinforestrict.c.
Bug 336619 valgrind --read-var-info=yes doesn't handle DW_TAG_restrict_type.
Use the bz2 test in perf/ as a regression-test, just as a moderately complex integer program which exercises Vex a bit.
trunk/memcheck/tests/Makefile.am trunk/memcheck/tests/vcpu_bz2.c trunk/memcheck/tests/vcpu_bz2.vgtest vcpu_bz2.c was (I think) an "svn copy" of perf/bz2.c. Because it's a copy, the two can get out of sync, which was a problem with Greg Parker's Darwin patch. So we remove vcpu_bz2.c, and make vcpu_bz2.vgtest invoke perf/bz2 directly.
regtest: fix compiler warnings with clang 16
Use perf/fbench as a simple FP test too. This is a modified copy, not a symlink.
Test program to check the behaviour of a bunch of FP functions.
Add an alternative output for Darwin.
Add a second expected output. It appears that a recent glibcs print one (or a value near it) as "+1.0000e+00" instead of "+1.0000e-00". Or it could be a rounding issue .. I dunno.
Illumos regtest: add an expected for memcheck/tests/vcpu_fnfns
regtest: rename memcheck wcpncpy
Bug 401627 - Add wcsncmp override and testcase.
Add intercepts for wcscpy, wcscmp, wcsrchr and wcschr on Linux. Fixes #307828. (Mark Wielaard, mjw@redhat.com)
Bug 501893 - Missing suppression for __wcscat_avx2 (strcat-strlen-avx2.h.S:68)?
Bug 475652 - Missing suppression for __wcsncpy_avx2 (strncpy-avx2.S:308)?
Bug 397083 - Likely false positive "uninitialised value(s)" for __wmemchr_avx2 and __wmemcmp_avx2_movbe
Wibble
Merge in function wrapping support from the FNWRAP branch. That branch hereby becomes inactive. This currently breaks everything except x86; fixes for amd64/ppc32 to follow.
Anticipate testcase problems with GCC 12
Changes to make function wrapping work better on ppc64-linux:
Merge some minor regtest updates from the DARWIN branch: - avoid using <malloc.h> where it's not necessary, because on DARWIN it's called <malloc/malloc.h> - filter the output of brk2 more, which allows the .stderr.exp2 file to be removed.
Add attribute noinline to memcheck/tests/wrap6.c
Mess with this even more so that fn_1 doesn't return zero.
More function wrapping tests.
Organise the expected output files for the wrap8 testcase. There is special behaviout on ppc64 only. Let the filenames reflect that. At the same time update the ppc specific output to what it is. The important thing here is that the stack overflow is detected. Everything else is effectively a don't care. Should line numbers and such differ in the future that should be filtered out.
BZ#355188 valgrind should intercept all malloc related global functions.
Expected stderr of test cases wrapmalloc and wrapmallocstatic are overconstrained. Fixes BZ#355455.
Bug 424012 - fix crash if readv/writev have invalid but not NULL arg2 iovec pointer
Bug 131186 - writev reports error in (vector[...])
Turns out there is at least one version of glibc tat contains a file name writev.c. This screws our filename based backtrace filtering. Rename writev to writev1 to avoid that problem.
Test XML output.