Commit Graph

8977 Commits

Author SHA1 Message Date
Josef Weidendorfer
2fd31d27a2 Callgrind: use jmpkind from VEX for side exits.
To detect calls and returns, Callgrind's heuristic
starts with using the jumpkind got from VEX for
a control flow change instruction. However, for
side exits, it always assumed a (conditional) jump,
which holds true for x86, but e.g. not for ARM.

This fixes Callgrind to use the jumpkind found
by VEX for all exits, which should help making
Callgrind work for ARM. It also moves the check
whether a boring jump is actually a fall-through
to instrumentation time. This changes (fixes) the
result for indirect jumps to the next instruction,
which should not be classified as fall-through
(anyway, this case is probably very rare).

This patch introduces an own enum for jump kinds
in Callgrind. This is less confusing than misusing
the VEX jump kind type, as Callgrinds wants
to distinguish BB fall-throughs from real jumps
(which both are Ijk_Boring in VEX).
Also, setup_bbcc now stores separately whether the
jump kind is conditional or not.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12269
2011-11-14 21:16:25 +00:00
Josef Weidendorfer
ff5bf18eb8 callgrind: remove command file polling
This is the last part of moving from command file polling
to the vgdb ptrace method for interactive control of Callgrind.
VG 3.7.x ported callgrind_control to vgdb (in r11867), but
still did command file polling to support existing KCachegrind
releases. KCachegrind from upcoming KDE SC 4.8 will use
callgrind_control instead of manually writing command files.

The main benefit from this is, apart from getting rid of
continous file polling activity in Callgrind, that blocked
processes can now respond to callgrind_control.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12268
2011-11-14 19:01:21 +00:00
Florian Krohm
271c9ad7e9 Document test results.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12267
2011-11-11 04:04:12 +00:00
Julian Seward
c49ec4259c Merge latest changes to this file from 3_7_BRANCH.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12266
2011-11-09 23:42:41 +00:00
Bart Van Assche
2796d1b9be RHEL 4 build fix
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12263
2011-11-09 17:31:54 +00:00
Florian Krohm
bc733a9e4a Remove TEST_TOOLS and TEXT_EXP_TOOLS as they are no longer needed.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12262
2011-11-08 20:16:09 +00:00
Florian Krohm
8853ef8bd7 Fix prerequisite to also require linux. So testcases get skipped
and do not fail on Darwin.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12261
2011-11-08 20:14:35 +00:00
Julian Seward
95f980821a When doing instrumentation, pay attention to the Ist.IMark.delta
fields.  This makes the --ct-verbose=1 output make a lot more sense
for Thumb code.  Should have no effect on any other platform.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12260
2011-11-08 19:32:57 +00:00
Florian Krohm
aae83277bc Update platform_test. Add s390x-linux. Remove AIX.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12259
2011-11-06 22:43:33 +00:00
Florian Krohm
fe2fc37c76 Also display information about the assembler (binutils).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12257
2011-11-03 02:10:02 +00:00
Julian Seward
d2daafda62 Use normal setjmp/longjmp, not the __builtin_ ones, as LLVM pretty
much treats the latter kind as no-ops.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12254
2011-10-31 10:59:31 +00:00
Florian Krohm
2a7aef3ada Remove unneeded prerequisites in testcases.
Followup to r11693.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12253
2011-10-29 04:02:34 +00:00
Florian Krohm
974b65ba65 Include insn_pclmulqdq.def in tarball.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12252
2011-10-29 03:39:56 +00:00
Florian Krohm
b798dacb8c Fix the configure test for ssse3 support. GCC needs -msse or it
will reject the xmm7 clobber in the code snippet.
Fix the prereqs for the ssse3 tests. It is possible that hardware
supports ssse3 but the tool chain does not. So we need to have the
testcase executable as a prerequisite.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12251
2011-10-28 21:37:19 +00:00
Florian Krohm
e4f08d8b32 Updated ignored file lists.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12250
2011-10-28 19:57:52 +00:00
Bart Van Assche
94dfb3ba44 Use snprintf() instead of sprintf()
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12249
2011-10-28 15:05:50 +00:00
Julian Seward
527fcfda19 Handle longer un-sized symbols on arm-linux-android.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12248
2011-10-28 02:53:49 +00:00
Florian Krohm
7938607bae Don't get the date of the build from the mail header. It is
often off-by one. Instead extract it from the message body,
namely, when the build was kicked off.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12247
2011-10-28 02:45:15 +00:00
Florian Krohm
b84e215343 Rewrite test to not use function clock_gettime. The purpose
of this is to not have to link against -lrt because that causes
a different back-trace on certain x86 and s390x environments.
See the thread with subject 
"helgrind/tests/cond_timedwait_invalid failing on x86"
on valgrind-developers for more details.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12246
2011-10-28 00:11:44 +00:00
Julian Seward
9d39d5ad6d Some small doc updating for 3.7.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12239
2011-10-27 10:01:17 +00:00
Julian Seward
b2ee1fba60 Fix missing m4 quoting that autoconf-2.68 warns about.
(Dave Goodell, goodell@mcs.anl.gov)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12238
2011-10-27 06:22:23 +00:00
Josef Weidendorfer
ba9b09511b Get rid of over-cautious check to make BEAM happy
To play save, make an assertion out of it.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12237
2011-10-26 17:44:43 +00:00
Florian Krohm
37361a3f22 Update list of ignored files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12236
2011-10-26 15:29:52 +00:00
Florian Krohm
b0ee68529f 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.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12235
2011-10-26 15:27:41 +00:00
Julian Seward
68cf6ae28d Some fixes for Android:
* initial support for Pandaboard/Linaro
* on Android/ARM, ask for non-executable stacks in the executables
* disable Memcheck's strcasestr intercept; its use of tolower()
  causes the dynamic linker to fail.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12234
2011-10-26 15:10:49 +00:00
Julian Seward
0509dad284 Disable the GDB server-by-default for the time being on Android, since
the mknod operations fail.  It can still be used if you can get past
that point, but you need an explicit --vgdb=yes for the time being.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12233
2011-10-26 15:07:56 +00:00
Florian Krohm
22af00bcad Fix an out-of-bounds array access found by IBM's BEAM checker.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12232
2011-10-25 21:37:15 +00:00
Florian Krohm
0092c719c3 Add script to summarize the outcome of nightly builds.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12231
2011-10-25 20:01:41 +00:00
Julian Seward
8bb0a1feea Bump the version.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12230
2011-10-25 09:20:05 +00:00
Julian Seward
e87217eb7a Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12227
2011-10-25 09:05:53 +00:00
Julian Seward
084b7cb10b 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)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12226
2011-10-24 13:21:57 +00:00
Julian Seward
805cd5cf65 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12225
2011-10-24 08:54:56 +00:00
Julian Seward
fc489f1101 Don't break fcntl locks when program does mmap. #280965.
(Rusty Russell, rusty@rustcorp.com.au)

tdb uses fcntl locks and mmap, and some of the tests fail under valgrind. 
strace showed valgrind opening the tdb file, reading 1024 bytes, then closing
it.  This is not allowed: POSIX says if you open and close a file, all fcntl
locks on it are dropped (insane, yes).

Finally got around to hacking the source to track this down: di_notify_mmap is
doing the damage.  The simplest fix was to hand in an optional fd for it to
use, then have it do pread.

I had to fix your pread; surely this should seek back even if the platform
doesn't have pread support?



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12224
2011-10-24 08:53:03 +00:00
Julian Seward
d8a36cfde4 gdbsrv: factorize gdb version handling, fix doc and typos
* fix various typos in doc
* following commit in gdb
   http://sourceware.org/ml/gdb-patches/2011-07/msg00742.html
  means unlimited length for valgrind watchpoints is understood by the
  (future) gdb 7.4 => doc updated
* factorize  gdb version detection and reporting in
  gdbserver_tests/make_local_links
* replace zignal by signal in a string used in umsg.
* updated gdbserver_tests/README_DEVELOPPERS (ref to --port vgdb option)

No functional change, tested on f12/x86, debian5/amd64, s390/RHEL4

Fixes #278892.  (Philippe Waroquiers, philippe.waroquiers@skynet.be)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12223
2011-10-24 07:36:57 +00:00
Julian Seward
daa6c4607b 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.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12222
2011-10-24 05:59:54 +00:00
Florian Krohm
42e26d9cc6 Add more missing files for the tarball.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12221
2011-10-24 00:03:52 +00:00
Bart Van Assche
feaf65b757 Remove the Qt4 regression tests because these are too hard to maintain
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12220
2011-10-23 15:21:48 +00:00
Florian Krohm
b70e46e295 Remove pth_specific.c which is unused.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12219
2011-10-23 14:34:52 +00:00
Florian Krohm
c87d506673 Add some more missing files to the tarball.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12218
2011-10-23 14:30:08 +00:00
Florian Krohm
0d689e773b Include README_DEVELOPERS for the GDB server in the tarball.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12217
2011-10-23 13:51:34 +00:00
Bart Van Assche
2c9b048a6d helgrind/tests/tc08_hbl2: Avoid busy-waiting
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12216
2011-10-23 13:28:20 +00:00
Bart Van Assche
e3020211d0 helgrind/tests/cond_timedwait_invalid: Update expected output because of r12213
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12215
2011-10-23 12:34:07 +00:00
Bart Van Assche
b89d16e2ba Check Makefile.am consistency before running regression tests. Closes #283813.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12214
2011-10-23 12:14:51 +00:00
Bart Van Assche
a37ce6c407 helgrind/tests/cond_timedwait_invalid: Port to Darwin 10.8
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12213
2011-10-23 12:11:15 +00:00
Julian Seward
5e7b95ac45 Update for 3.7.0. (What did I forget?)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12212
2011-10-23 10:05:47 +00:00
Julian Seward
20020ced87 More update for 3.7.0 (duh.)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12211
2011-10-23 09:57:26 +00:00
Julian Seward
dbbb3f90cd Update for 3.7.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12210
2011-10-23 09:55:34 +00:00
Julian Seward
b34ef00905 Update the list of fixed bugs and format properly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12209
2011-10-23 09:09:54 +00:00
Julian Seward
f8b558a185 Update expected outputs following update of copyright dates.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12208
2011-10-23 08:24:43 +00:00
Julian Seward
0d7caa744f Get a bunch more copyright dates in the right format, 20xx-2011,
so the auto-update script will handle them correctly in future.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12207
2011-10-23 07:49:30 +00:00