master
Add Emacs configuration files
Ship drd/Testing.txt and verify-xml-output
Yet another thread test scheduler sensitivity fix
drd/tests: Extract start_thread which can come from libpthread or libc
Added two additional regression tests.
Bug 390310 - Output summaries in XML files
Add a custom filter for the drd/tests/annotate_barrier_xml regression test
Remove emacs modeline and/or local variables from DRD source files
Reverted r11536 because it didn't have the desired effect - changing the behavior of DRD on Darwin.
Added a test program that triggers several happens-before usage errors.
Removed --read-var-info=yes in order to obtain the same output (hopefully) on Linux and on Mac OS/X systems.
Made ANNOTATE_HAPPENS_BEFORE()/_AFTER() binary compatible with Helgrind.
Add command-line option --fair-sched=[no|yes|try]. Use --fair-sched=try when running the annotate_hbefore regression test. Closes #270006.
- Added support for most of the ANNOTATE_...() macro's supported by ThreadSanitizer. - Modified DRD's error reporting code such that it does no longer let the Valgrind core print the Valgrind thread ID but that it now prints the DRD thread ID and name. Updated expected output files where necessary. - Modified drd/test/Makefile.am such that the tests using gcc's built-in functions for atomic memory access such that these are only compiled when the gcc version in use supports these built-in functions.
Reverted r10513: removed --auto-run-dsymutil=yes again.
drd, s390: Make the annotate_ignore_* and the pth_barrier* tests produce the same output on s390 as on other systems (not tested yet).
fix 310424 --read-var-info does not properly describe static variables
Added regression test for ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() and ANNOTATE_IGNORE_READS_AND_WRITES_END().
Bug 345248 - add support for Solaris OS in valgrind
Added test program for the ANNOTATE_IGNORE_WRITES_*() annotation macro's.
Reverted r10802.
- Made the ANNOTATE_RWLOCK_*() macros binary compatible with Helgrind. - Added two additional regression tests.
Updated expected output after r10874.
Replaced most platform-test macros by HAVE_... macros.
drd: Add semaphore annotations (#333072)
Darwin: updates to macho loading and turn off hanging regtests
FreeBSD support, patch 5
Added the necessary files to run the smart pointer test program as a regression test.
Follow-up for r12281: update regtest expected output
Darwin regtest: update a few expecteds
drd/tests/annotate_smart_pointer2: Filter out offset
Regtest warnings: fixes for GCC 16.1 C++20 volatile deprecation
drd/tests/annotate_trace_memory: Make this test more ARM/PPC friendly (#318643)
add and update exp files for drd/tests/annotate_trace_memory
Add new expecteds for drd/tests/annotate_trace_memory[_xml]
drd/tests/annotate_trace_memory*: add 32-bit output variants
DRD regtest: add ARM expecteds for annotate_trace_memory
Revert "Disable drd/tests/annotate_trace_memory[_xml].vgtest on arm and ppc."
drd/tests/atomic_var: Revert r13876.
Workaround bar_bad testcase hanging with newer glibc in helgrind/drd tests.
Add another drd/tests/bar_bad exp variant.
Fix expected error output of drd/tests/bar_bad* on Solaris. On Solaris, we still do get error reports about destroying a barrier which was never initialized even after SVN r15962. We also get an error report about destroying barrier bar3 which is still waited upon by a thread. n-i-bz
make bar_bad tests more deterministic
regtest PPC: update a few XML expecteds after bug390310
Removed -q from the Valgrind options for the bar_bad and bar_trivial tests.
Added bar_bad and bar_trivial to the regression tests.
Added a comment that explains the purpose of the test program.
Renamed boost_threads* into boost_thread*.
Made test results independent of thread scheduling.
Add the drd/tests/bug322621 regression test
Fixes for systems without built-in functions for atomic memory access.
drd/tests/concurrent_close: Add
Bug 445504 Using C++ condition_variable results in bogus "mutex is locked simultaneously by two threads" warning(edit)
Bug 491394i - (vgModuleLocal_addDiCfSI): Assertion 'di->fsm.have_rx_map && di->fsm.rw_map_count' failed.
Added support for the VG_USERREQ__MALLOCLIKE_BLOCK and VG_USERREQ__FREELIKE_BLOCK client requests.
Added yet another regression test.
drd/tests: Add the "dlopen" test program
regtest: fix compiler warnings with clang 16
Fix file permissions.
DRD regtest: delete second line in callstack of std_thread2 test
FreeBSD regtest: filters for source installs of FreeBSD
drd: Enable XML output. See also #282949. To do: document the output format.
Add drd/tests/fork-serial and drd/tests/fork-parallel
make outputs of drd/tests/fork* deterministic
Removed trailing whitespace in C source and header files.
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.
Renamed exp-drd directory into drd. Moved drd from the experimental tool class to the class of regular tools.
drd/tests/fp_race_xml: Filter out thread number and vector clock information
drd/tests/free_is_write: Reduce stack usage
Added --free-is-write stress test.
Added more regression tests.
Solaris: add a configure test for getaddrinfo
Various build system clean-ups and simplifications: - Created Makefile.tool-tests.am, put standard AM_CFLAGS et al for tests in it. - A number of tests are shared between Helgrind and DRD. They used to be built in both directories. Now they are only built in helgrind/tests/, and the DRD .vgtest files just point to the executable in helgrind/tests/. Most of these (about 30) had the source files in helgrind/tests/; I moved the three that were in drd/tests/ into helgrind/tests/ for consistency. - Fixed rwlock_test, which was failing to run due to a wrong name in the .vgtest file. - Removed remnants of unused 'hello' test for Memcheck. - Avoided redundant flag specification in various places, esp. memcheck/tests/Makefile.am. - Removed unnecessary _AIX guards in some Linux-only tests.
Update modified hg04 reference for DRD.
drd: Reenable reporting races on stack variables that are shared over threads for --check-stack-var=yes.
Reverted last commit (r9326) -- its commit message did not make sense.
Fix a compiler warning about an incompatible format. Shows up on 32-bit builds only.
drd/tests/local_static: Disable because g++ does not yet allow proper interception of initialization of local static variables
drd/test: Fix most gcc 8 compiler warnings
Bug 436413 - Warn about realloc of size zero
Upgrade to GNU General Public License version 3
Added a regression test called monitor_example.
Made the error reporting behavior of DRD similar to that of other Valgrind tools: if the same kind of error has been detected a second time with an identical call stack, count it as an error but do not print it a second time. The total number of detected errors remains unchanged but the number of error contexts is now reported correctly.
svn merge -r9818:10278 svn://svn.valgrind.org/valgrind/branches/DRDDEV
Updated drd/tests/omp_printf: - Added command-line options -i and -t to the omp_printf test program. - Modified the OpenMP directive such that this test program no longer triggers a data race on the loop variable 'i'. - Increased number of iterations and number of threads used during the test. - Changed error filtering from filter_error_summary to filter_stderr.
Moved drd/tests/pth_barrier.c, drd/tests/rwlock_race.c and drd/tests/rwlock_test.c back to their original location.
drd/tests/pth_barrier[23]: Filter output such that only the error count is kept
Compiles now on older Linux distributions too.
More regression test output tuning.
Elaborated prereq clauses.
drd: Add a stress test for the barrier implementation
drd/tests: Follow-up for r14478 - make regression test output independent of --read-inline-info
drd/tests/pth_barrier_thr_cr: Suppress pthread_barrier_wait() race reports since these are triggered intentionally.
drd/tests: Add a test that verifies whether the pthread_cancel() intercept works
Make the dwarf3 reader more robust and less chatty when things go wrong
Added regression test for pthread cleanup handling.
drd/tests/pth_cond_destroy_busy: Add
drd/tests/pth_cond_destroy_busy: Correct expected output
Illumos resgtest: revert previous change to filter_libc and update expected instead
Patch 3 in a series of cleanup patches from Will Schmidt
Added more comments.
Added regression test pth_create_glibc_2_0.
Verify drd/tests/pth_detached stderr output instead of the stdout output.
Remove exec bits on a few files and delete a Solaris regtest binary
DRD: Added a regression test.
drd/tests/pth_detached_sem: Send regression test output to stderr instead of stdout
Run the pth_inconsistent_cond_wait in quiet mode.
Added pth_mutex_reinit regression test.
DRD regtest: try to make drd/tests/pth_mutex_signal less flaky
drd: Add a test program that interrupts pthread_mutex_lock()
Added regression test for pth_once().
drd/tests/pth_once: Restrict the number of callers to three.
Added pth_process_shared_mutex regression test.
Added regression test for POSIX spinlocks.
Minor style improvement over r13190.
Added a regression test.
read_and_free_race test: Reduced number of stack frames to three.
Modified recursive_mutex regression test: improved portability by removing usage of alarm() / all output is now sent to stderr / full output is now compared instead of only a summary.
Illumos regtest: one filter and one pre script fix
Fix #284384 (clang 3.1 -Wunused-value warnings in valgrind.h, memcheck.h) by changing a bunch of VALGRIND_DO_CLIENT_REQUEST_EXPR into VALGRIND_DO_CLIENT_REQUEST_STMT for cases where the return value of the former would be unused. (Bart Van Assche, bart.vanassche@gmail.com)
Update .exp files for r10783.
rwlock_test: added more internal error checking.
- Added more rwlock type checking. - The rwlock_type_checking test should now no longer trigger a sporadic deadlock.
Implemented type checking for reader-writer synchronization objects: complain upon attempts to use a POSIX rwlock where a user-defined rwlock is expected and vice versa.
Only run the test programs that call sem_init() on operating systems that have implemented this function.
FreeBSD DRD and Helgrind: add sem_clockwait_np wrappers
Added support for sem_open() and sem_close().
drd/tests/sem_open: Change the semaphore name (#331839)
Added regression test for %o (octal) format specifier.
drd/tests: Add test program that makes sem_trywait() return a non-zero value (provided by Graham Whitted <7wz69ejteg@snkmail.com> - see also #305690).
drd/tests/sem_wait: Skip on Darwin since sem_init() fails with ENOSYS on Darwin
Bug 453055 shared_timed_mutex drd test fails with "Lock shared failed" message
Bug 446139 DRD/Helgrind with std::shared_timed_mutex::try_lock_until and try_lock_shared_until false positives
Added sigaltstack() regression test.
drd/tests/std_atomic: Add
drd/tests: Add std_list and std_string test programs
drd/tests/std_mutex: Add a unit test for std::mutex
Remove execute bit from drd tests std_string.cpp
Initial change for Bug 429952 didn't work well with older GCC. Use the __clang__ macro instead.
DRD: Add test program for std::thread.
drd/tests/std_thread: Enable this test program
Linux DRD suppression: add an entry for __is_decorate_maps_enabled
DRD regtest: one more test case with --num-callers=1
drd: Add a test for the strmem intercepts
musl: updates to suppressions and drd pthread detection script
drd/tests/swapcontext.c: Rename typedef struct thread_local to threadlocal
drd/tests/swapcontext: Add SIGALRM handler to avoid stacktrace
Made test output operating system independent by suppressing information about conflicting segments.
DRD: add two ppc output variants
drd/tests: Make the expected output match the actual output
drd/tests/tc04_free_lock: Use drd/tests/filter_stderr
Updating a few expecteds based on valgrind-testresults
Dnother iteration for getting the right expected line numbers.
Fix the ramaining easily fixable warnings with clang
Attempt to work around issues with xend being executed unconditionally when a pthread_rwlock is used in an invalid way.
Re-enabled the regression tests tc17_sembar and tc23_bogus_condwait for DRD on Darwin.
More expected output updates because of r10783.
mips32: add BE-exp files for several tests
linux arm DRD: add an expected for tc19_shadowmem
Revert r11916, r11917, r11918 and r11923.
drd: Follow-up for r13749
drd/tests/tc21_pthonce: Eliminate output variation
DRD regtest: delete tc22_exit_w_lock 32bit variant, rename 64bit one
Darwin regtest: add an expected for drd tc22_exit_w_lock
Solaris regtest: update for drd/tests/tc22_exit_w_lock
DRD regtest: don't use -q with tc22_exit_w_lock
update drd/tests/tc23_bogus_condwait.stderr.exp files
Made sure that the tc19_shadowmem and tc24_nonzero_sem tests do something meaningful. Thanks to Nicholas for reporting this.
drd/tests/thrd_create: Convert from C++ to C
drd: Add support for C11 thrd_create()
Cleanup warnings
FreeBSD regtest: cleanup test warnings when building with GCC
drd/tests/threaded-fork-vcs: Add
DRD: added a test program that forks a process containing a detached thread.
Move --child-silent-after-fork=yes from drd/tests/threaded-fork.vgtest to drd/tests/verify-xml-output
regtest warnings: fix unused returns and missing noexcept specifiers
drd/tests/tls_threads: Add
Darwin DRD and Helgrind: clean up suppressions
drd/tests/trylock, FreeBSD: Fix a hang
Locally define vgPlain_scrcmp in 2 unit tests Humph, this should have been part of : 16122 Add VG_(strIsMemberXA) in pub_tool_xarray.h which means that between 16122 and this revision, these 2 unit tests will (very probably) not compile. That will make bissect not easy :(
Fix more Char/HChar mixups. Closing in...