Commit Graph

853 Commits

Author SHA1 Message Date
Bart Van Assche
c907d5f5a1 drd/tests/free_is_write: Reduce stack usage
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14254
2014-08-10 08:14:55 +00:00
Bart Van Assche
4662f1d8cc drd: Move VG_(getenv)("DRD_VERIFY_CONFLICT_SET")
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14249
2014-08-09 12:58:17 +00:00
Bart Van Assche
71c31d1f09 drd/Testing.txt: Document how to run all regression tests with conflict set verification enabled
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14248
2014-08-09 12:47:17 +00:00
Bart Van Assche
8701c89a36 drd: Clear conflict set after fork (#338115)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14244
2014-08-08 16:27:30 +00:00
Bart Van Assche
6a597e577e drd/tests/threaded-fork-vcs: Add
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14243
2014-08-08 16:20:13 +00:00
Bart Van Assche
6822f42ee1 drd: Add command-line option --verify-conflict-set
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14242
2014-08-08 16:17:58 +00:00
Carl Love
914f75de32 This commit is for Bugzilla 334384. The Bugzilla contains patch 1 of 3
to add PPC64 LE support.  The other two patches can be found in Bugzillas
334834 and 334836.  The commit does not have a VEX commit associated with it.

POWER PC, add initial Little Endian support

The IBM POWER processor now supports both Big Endian and Little Endian.
This patch renames the #defines with the name ppc64 to ppc64be for the BE
specific code.  This patch adds the Little Endian #define ppc64le to the

Additionally, a few functions are renamed to remove BE from the name if the
function is used by BE and LE. Functions that are BE specific have BE put
in the name.

The goals of this patch is to make sure #defines, function names and
variables consistently use PPC64/ppc64 if it refers to BE and LE,
PPC64BE/ppc64be if it is specific to BE, PPC64LE/ppc64le if it is LE
specific.  The patch does not break the code for PPC64 Big Endian.

The test files memcheck/tests/atomic_incs.c, tests/power_insn_available.c
and tests/power_insn_available.c are also updated to the new #define
definition for PPC64 BE.

Signed-off-by: Carl Love <carll@us.ibm.com>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14238
2014-08-07 23:17:29 +00:00
Florian Krohm
6b68ff1bdf Remove two unneded include files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14196
2014-07-26 17:26:22 +00:00
Florian Krohm
282aac6b09 Adapt testcase so it can be compiled with GCC 3.4.6 against glibc 2.3.4
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14193
2014-07-26 11:10:30 +00:00
Bart Van Assche
a7401620ad drd/tests/std_thread*: Add a workaround for an Ubuntu 14.04 gcc bug
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14156
2014-07-12 09:30:14 +00:00
Bart Van Assche
9214c37d49 Rename --defaultsupp into --default-suppressions as requested by Julian
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14090
2014-06-24 05:08:21 +00:00
Bart Van Assche
7f0e2c91ae drd/tests/std_thread2: Re-enable
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14081
2014-06-22 10:13:47 +00:00
Bart Van Assche
73c2760051 drd/tests/std_thread2: Disable this test temporarily such that the suppression patterns can be restored
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14030
2014-06-14 16:39:28 +00:00
Bart Van Assche
1f61c5c959 drd/tests/std_thread2: Make this test independent of the libstdc++ version
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14022
2014-06-11 06:39:03 +00:00
Bart Van Assche
af82b029c2 drd/tests/std_thread2: Filter out libstdc++ header file line numbers
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14019
2014-06-10 07:46:50 +00:00
Bart Van Assche
6d68e47b19 drd: Ignore ordering introduced by a mutex used in the thread creation wrapper
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14015
2014-06-09 09:19:26 +00:00
Bart Van Assche
b7a7c3c66c drd/tests/std_thread2: Add
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14014
2014-06-09 09:01:46 +00:00
Bart Van Assche
703310223e drd/tests/local_static: Disable because g++ does not yet allow proper interception of initialization of local static variables
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14013
2014-06-09 09:00:42 +00:00
Bart Van Assche
d665dce62e drd: Add __cxa_guard_*() intercepts
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14012
2014-06-09 07:55:14 +00:00
Bart Van Assche
3dac2e0ca4 drd/tests/local_static: Fix a typo
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14011
2014-06-09 07:38:32 +00:00
Bart Van Assche
77897d6ecb drd/tests/local_static: Add
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14009
2014-06-09 06:54:30 +00:00
Bart Van Assche
f8ba534b9d drd manual: Fix C++11 instructions
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14004
2014-06-07 13:16:24 +00:00
Bart Van Assche
110f1ebd71 drd/tests/std_thread: Remove two superfluous macro definitions
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14003
2014-06-07 13:13:45 +00:00
Bart Van Assche
457786af9b drd/tests/std_thread: Minimize diffs with original
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14002
2014-06-07 07:48:04 +00:00
Bart Van Assche
fc5921fa59 drd/tests/std_thread: Enable this test program
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14001
2014-06-07 07:31:56 +00:00
Bart Van Assche
7be4916bc2 drd manual: Document how to avoid false positive reports on the C++11 std::thread class
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13998
2014-06-06 07:23:06 +00:00
Bart Van Assche
f879a52027 drd: Add semaphore annotations (#333072)
This is a slightly modified version of a patch from Ivo Raisr <ivosh@ivosh.net>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13984
2014-05-18 19:32:26 +00:00
Bart Van Assche
7c67e90c47 drd/tests/atomic_var: Revert r13876.
r13876 was a workaround for false ordering introduced by platform-specific
(Solaris) code. The conclusion of an off-list discussion was that this has
to be solved in the drd tool itself and not by modifying test programs. Hence
this revert.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13980
2014-05-17 10:44:00 +00:00
Philippe Waroquiers
e122b8d637 Fix a small typo in drd EXTRADIST Makefile.am file list for mips32
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13887
2014-03-29 00:37:51 +00:00
Dejan Jevtic
6107689cd8 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.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13883
2014-03-20 10:23:43 +00:00
Bart Van Assche
0c4bf8499e drd: Add post-rwlock_init and pre-rwlock_destroy client requests (#332265)
From: Ivo Raisr <ivosh@ivosh.net>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13882
2014-03-19 18:48:01 +00:00
Bart Van Assche
45ab272d19 drd: Fix pthread_rwlock_timed{rd,wr}lock intercepts (#332263)
From: Ivo Raisr <ivosh@ivosh.net>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13877
2014-03-18 17:53:56 +00:00
Bart Van Assche
4ce8144dee drd/tests/atomic_var: Avoid that platform-specific code can trigger a false negative
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13876
2014-03-18 08:45:51 +00:00
Bart Van Assche
fc9651423d drd: Fix an assertion failure in the internal consistency check code (#332055)
When DRD is built with ENABLE_DRD_CONSISTENCY_CHECKS enabled it fails with an assert on platforms where VG_STACK_REDZONE_SZB is #define'd as 0 (for example on 32-bit x86). drd: drd_thread.h:299 (vgDrd_thread_set_stack_min): Assertion 'DRD_(g_threadinfo)[tid].stack_min < DRD_(g_threadinfo)[tid].stack_max || DRD_(g_threadinfo)[tid].stack_max == 0' failed. ==12392== at 0x380227CD: report_and_quit (m_libcassert.c:279) ==12392== by 0x38022979: vgPlain_assert_fail (m_libcassert.c:359) ==12392== by 0x38015B29: drd_post_thread_create (drd_thread.h:297) ==12392== by 0x380A5DDC: run_a_thread_NORETURN (syswrap-linux.c) This is because on drd_post_thread_create() call is made to: drd_start_using_mem_stack2(drd_created, stack_max, 0); and in drd_start_using_mem_stack2() calls is made to: DRD_(thread_set_stack_min)(tid, a - VG_STACK_REDZONE_SZB); For many platforms VG_STACK_REDZONE_SZB is #define'd as 0 so that stack_min == stack_max in DRD_(thread_set_stack_min)(). I think it is safe to change the assert from (stack_min < stack_max) to (stack_min <= stack_max).

From: Ivo Raisr <ivosh@ivosh.net>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13870
2014-03-12 14:27:49 +00:00
Bart Van Assche
1485694c3f coregrind/m_scheduler + drd: Rework r13862
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13864
2014-03-10 19:40:45 +00:00
Bart Van Assche
19064bf4a0 drd: Build fix for ENABLE_DRD_CONSISTENCY_CHECKS
From: Ivo Raisr <ivosh@ivosh.net>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13863
2014-03-10 18:58:19 +00:00
Bart Van Assche
43aef21f1a drd/tests/thread_namedrd/tests/thread_name: Ensure mutex address uniqueness (see also #331847)
From: Ivo Raisr <ivosh@ivosh.net>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13854
2014-03-07 14:38:14 +00:00
Bart Van Assche
a18953034d drd/tests/sem_open: Change the semaphore name (#331839)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13853
2014-03-07 07:45:43 +00:00
Bart Van Assche
74e8b94ed7 drd: Make the code added in r13792 portable
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13794
2014-02-09 09:10:14 +00:00
Bart Van Assche
41cc572c7f drd/tests/trylock: Make this test pass for glibc >= 2.18
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13793
2014-02-08 11:19:12 +00:00
Bart Van Assche
ea8a9313c2 drd: Avoid that the drd/tests/pth_mutex_reinit test fails with glibc >= 2.18
Apparently with glibc >= 2.18 the value returned by pthread_mutexattr_gettype()
is not the same as the value passed to pthread_mutexattr_settype(). Add a
workaround for this glibc bug.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13792
2014-02-08 10:55:08 +00:00
Julian Seward
a4af4ac048 arm64: rename guest_SP to guest_XSP so as to avoid a name clash with
guest_SP from s390 world. 


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13776
2014-01-15 10:25:55 +00:00
Julian Seward
3f6d211236 Add support for ARMv8 AArch64 (the 64 bit ARM instruction set).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13770
2014-01-12 12:54:00 +00:00
Philippe Waroquiers
af36bdd9af Fix drd assert failure for monitor cmd execution when all threads blocked in syscall
When all threads are blocked in a syscall, DRD_(thread_get_running_tid)()
returns (or can return?) a "valid" DrdThreadId (probably the last one
that was running ?).
However, in such a situation, VG_(get_running_tid)() returns 0 (as effectively
there is no thread running).

This discrepancy (drd_tid "valid" and "vg_tid" invalid) can (probably) only
happen with gdb monitor commands, as a thread can (normally) execute a
client request only when it is running.

However, vgdb can "force" the invocation of the gdb monitor client request,
even if no thread is running.
In such a case, the assert should not verify that drd_tid and vg_tid are
consistent.

To reproduce the problem:
  ./vg-in-place --tool=drd sleep 60
and in another window:
  ./coregrind/vgdb help
which then gives
  ...
  drd: drd_clientreq.c:84 (handle_client_request): Assertion 'DRD_(VgThreadIdToDrdThreadId)(vg_tid) == drd_tid' failed.
  ==4208==    at 0x3801DE1D: report_and_quit (m_libcassert.c:260)
  ==4208==    by 0x3801E034: vgPlain_assert_fail (m_libcassert.c:340)
  ==4208==    by 0x380026CC: handle_client_request (drd_clientreq.c:84)
  ==4208==    by 0x3806EE8F: handle_gdb_monitor_command (server.c:490)
  ==4208==    by 0x3806F07A: handle_query (server.c:580)
  ==4208==    by 0x3806FDB2: server_main (server.c:915)
  ==4208==    by 0x3806B01C: call_gdbserver (m_gdbserver.c:706)
  ==4208==    by 0x3806B8F2: vgPlain_invoke_gdbserver (m_gdbserver.c:892)
  ...




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13765
2013-12-21 16:57:26 +00:00
Philippe Waroquiers
7d40b140ac Following svn r13758 (bug 328711), some further similar fixes,
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13759
2013-12-12 23:19:13 +00:00
Bart Van Assche
0eeaab895d drd/tests/std_atomic: Add
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13756
2013-12-10 17:56:20 +00:00
Bart Van Assche
87ebe0d5a4 drd: Follow-up for r13749
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13752
2013-12-07 09:16:02 +00:00
Bart Van Assche
39c447e4a9 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.

Merge memcheck/tests/filter_memcpy into tests/filter_stderr_basic.
    
Update tests/check_headers_and_includes.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13719
2013-11-24 17:48:13 +00:00
Bart Van Assche
e8ec2e8d5e drd: Add three additional strncpy() and strncmp() intercepts (#326816)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13706
2013-10-29 20:49:16 +00:00
Bart Van Assche
29032f4b6e drd: Add strncpy() and strncmp() intercepts (#326816)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13705
2013-10-29 17:16:47 +00:00