Commit Graph

9676 Commits

Author SHA1 Message Date
Petar Jovanovic
1e2f0de91c Add exp file for tc20_verifywrap due to different errno values on MIPS.
Different error numbers on MIPS require us to add an extra exp file for this
test. EDEADLK is 45 on MIPS (and not 35), and EOPNOTSUPP is 122 (and not 95).
Furthermore, sem_post will pass due to different implementation on MIPS (in
comparison to x86_64), and thus one error less has to be reported in the log.

This fixes helgrind/tests/tc20_verifywrap.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12998
2012-09-18 21:02:59 +00:00
Florian Krohm
b792917720 s390: Add testcases for srnm and srnmb. Update opcode status list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12997
2012-09-18 20:25:23 +00:00
Petar Jovanovic
c27f3e1b76 Enable wrappers for sys_settimeofday and sys_stime on MIPS.
Enable wrappers for MIPS for the following two system calls:

- sys_settimeofday, and
- sys_stime.

Resolves https://bugs.kde.org/show_bug.cgi?id=306783
Patch contributed bederic M. <dark_footix@yahoo.fr>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12995
2012-09-18 17:19:36 +00:00
Julian Seward
e154c80dc7 Update for 3.8.1.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12993
2012-09-18 07:03:27 +00:00
Florian Krohm
44100fc7db Upon successful run, remove temporary files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12991
2012-09-17 21:20:06 +00:00
Florian Krohm
a46b1219e1 Add missing header files. Building from tarball works again.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12990
2012-09-17 18:54:44 +00:00
Julian Seward
9fe672c880 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12989
2012-09-17 18:20:29 +00:00
Julian Seward
d7db8f6832 Fix inconsistent comment (== BRANCH_3_8 r12987)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12988
2012-09-17 18:20:06 +00:00
Julian Seward
c2326cb8f0 Include autogen.sh in the tarfile. See #306310.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12983
2012-09-17 17:17:00 +00:00
Julian Seward
95866a7d77 Intercept __GI_memmove on Linux. Fixes #306612.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12982
2012-09-17 15:44:15 +00:00
Julian Seward
023cba9950 Add tests for: uqsub16 shadd16 uhsub8 uhsub16. See #304035.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12981
2012-09-17 15:29:53 +00:00
Julian Seward
241f127a89 Handle Iop_QSub16Ux2, needed in fix for #304035.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12980
2012-09-17 15:28:46 +00:00
Julian Seward
d362026f49 Add test cases for PCMPxSTRx variant $0x46. See #306664.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12979
2012-09-17 13:43:57 +00:00
Julian Seward
64e5596836 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12978
2012-09-17 08:37:33 +00:00
Florian Krohm
a81c8362b1 Be more flexible by allowing the compile command to be prefixed,
e.g. ccache gcc whatever... This fixes bugzilla #252955.
Patch from  Stephen McCamant <smcc@CS.Berkeley.EDU>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12977
2012-09-15 19:31:07 +00:00
Petar Jovanovic
11e3b1f45f Adding new exp file for tc18_semabuse in helgrind.
The existing tc18_semabuse.stderr.exp expects that sem_post on a bogus semaphore
will fail, yet it does not on platforms such as MIPS or ARM. This is specific to
implementation of sem_post for i386/x86_64 that has some assumptions such as that
'private' field is not clobbered. This will eventually result in different
parameter passed to syscall and thus different output is encountered.
This change fixes helgrind/tests/tc18_semabuse for MIPS.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12976
2012-09-15 02:36:21 +00:00
Florian Krohm
bf570874fc s390: Add a testcase for 32/64-bit bfp comparison insns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12975
2012-09-15 02:22:46 +00:00
Petar Jovanovic
fada2c7657 Setup correct minimum malloc'd block size for MIPS.
Correct minimum malloc's block size for MIPS is 8.
This fixes massif/tests/big-alloc.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12974
2012-09-15 01:04:06 +00:00
Philippe Waroquiers
de40d2d22b Mark revision 12964 to be merged in 3.8.1
(this revision fixes some missing files in the release tarball)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12973
2012-09-14 21:18:00 +00:00
Philippe Waroquiers
0a51e37219 Add a test which checks the leak search recovery mechanism
The leak search must recover if unreadable pages are scanned.
This test creates such unreadable pages by doing non SIMD mprotect
syscall (not seen by the aspacemgr).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12972
2012-09-14 21:10:15 +00:00
Florian Krohm
ba6a657559 Update for s390.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12971
2012-09-14 16:07:37 +00:00
Petar Jovanovic
ca7f132547 Enable pre-wrapper for sys_shutdown for MIPS.
Small change to enable wrapper for sys_shutdown for MIPS.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12970
2012-09-14 13:12:37 +00:00
Florian Krohm
f9979eceb1 Adjust the vbit tester to deal with shift operations that require
an immediate constant as the shift amount. This is needed for
powerpc Iop_ShlD64 etc. What it basically means that we do not
iterate over the bits in the 2nd operand because there are no
V-bits to set. An immediate constant is always completely defined.
Fixes bugzilla #305948.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12969
2012-09-13 19:41:12 +00:00
Florian Krohm
01f00317de s390: Add testcase for bfp multiply-and-add/sub
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12968
2012-09-13 15:09:53 +00:00
Florian Krohm
479b63d853 s390: Add testcase for square root and load positive/negative/complement.
Tests are for 32/64-bit values only.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12967
2012-09-13 03:04:23 +00:00
Florian Krohm
ef5f5e1119 s390x: Testcases for floating point 32/64-bit. Related to VEX r2525.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12966
2012-09-12 19:40:14 +00:00
Florian Krohm
26d4de4575 s390: Fix FOC width. It's 4 bytes not 8.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12965
2012-09-11 23:06:02 +00:00
Philippe Waroquiers
8d4c0e4bd6 Fix 306310 3.8.0 release tarball missing some files
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12964
2012-09-11 19:53:01 +00:00
Bart Van Assche
7672eb4cb5 valgrind: Support Xen toolstack process ioctls
From: Ian Campbell <Ian.Campbell@citrix.com>

Under Xen the toolstack is responsible for managing the domains in
the system, e.g. creating, destroying, and otherwise manipulating
them.

To do this it uses a number of ioctls on the /proc/xen/privcmd
device. Most of these (the MMAPBATCH ones) simply set things up such
that a subsequenct mmap call will map the desired guest memory. Since
valgrind has no way of knowing what the memory contains we assume
that it is all initialised (to do otherwise would require valgrind to
be observing the complete state of the system and not just the given
process).

The most interesting ioctl is XEN_IOCTL_PRIVCMD_HYPERCALL which
allows the toolstack to make arbitrary hypercalls. Although the
mechanism here is specific to the OS of the guest running the
toolstack the hypercalls themselves are defined solely by the
hypervisor. Therefore I have split support for this ioctl into a part
in syswrap-linux.c which handles the ioctl itself and passes things
onto a new syswrap-xen.c which handles the specifics of the
hypercalls themselves. Porting this to another OS should just be a
matter of wiring up syswrap-$OS.c to decode the ioctl and call into
syswrap-xen.c. In the future we may want to split this into
syswrap-$ARCH-xen.c but for now this is x86 only.

The hypercall coverage here is pretty small but is enough to get
reasonable(-ish) results out of the xl toolstack when listing,
creating and destroying domains.

One issue is that the hypercalls which are exlusively used by the
toolstacks (as opposed to those used by guest operating systems) are
not considered a stable ABI, since the hypervisor and the lowlevel
tools are considered a matched pair. This covers the sysctl and
domctl hypercalls which are a fairly large chunk of the support
here. I'm not sure how to solve this without invoking a massive
amount of duplication. Right now this targets the Xen unstable
interface (which will shortly be released as Xen 4.2), perhaps I can
get away with deferring this problem until the first change .

On the plus side the vast majority of hypercalls are not of interest
to the toolstack (they are used by guests) so we can get away without
implementing them.

Note: a hypercall only reads as many words from the ioctl arg
struct as there are actual arguments to that hypercall and the
toolstack only initialises the arguments which are used. However
there is no space in the DEFN_PRE_TEMPLATE prototype to allow this to
be communicated from syswrap-xen.c back to syswrap-linux.c. Since a
hypercall can have at most 5 arguments I have hackily stolen ARG8 for
this purpose.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12963
2012-09-09 18:30:17 +00:00
Petar Jovanovic
a81ca9f338 Restore unwind regs structure if VG_(use_CF_info) fails on MIPS.
If VG_(use_CF_info) fails to find the next frame using loaded debug symbols, it
will still change the data in uregs. Thus, we need to have uregs_copy before
calling VG_(use_CF_info), and restore uregs if the call returns wrong data.
This fixes drd/tests/tc04_free_lock on MIPS.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12962
2012-09-09 01:56:56 +00:00
Bart Van Assche
ba01711a61 Update Subversion ignore list
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12961
2012-09-06 14:29:24 +00:00
Bart Van Assche
2f907e6480 drd: Suppress race reports on .got sections too
This is a slightly modified version of a patch provided by Petar Jovanovic
<petar.jovanovic@rt-rk.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12960
2012-09-06 14:08:26 +00:00
Florian Krohm
70e9281359 Announce bug fix in NEWS.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12959
2012-09-06 03:26:50 +00:00
Florian Krohm
32930aaa32 s390: Add a testcase for condition code computation for
convert-to-fixed. See VEX r2516. Part of fixing bugzilla #306054.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12958
2012-09-06 03:22:16 +00:00
Julian Seward
f0ef4bf583 Enable testing of primops on ARM platforms. (Florian Krohm)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12957
2012-09-03 21:59:28 +00:00
Julian Seward
512e51bb54 Use "orr r9,r9,r9" as the magic insn for IR injection on ARM and
Thumb, since r13 is disallowed for many instructions in the Thumb
encoding.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12956
2012-09-03 21:51:02 +00:00
Florian Krohm
2d935572f5 Update testcase as a followup to VEX r2509.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12955
2012-09-03 17:45:15 +00:00
Florian Krohm
fd63ba5ee7 s390: Ensure proper size when calling get_otrack_shadow_offset_wrk.
Also handle EMNOTE.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12954
2012-09-03 17:34:22 +00:00
Florian Krohm
9ff2c07432 Add bugzilla number.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12953
2012-09-03 15:39:19 +00:00
Julian Seward
b6ba46da9f Update, tracking merged-to-3_8 fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12952
2012-09-03 07:24:30 +00:00
Julian Seward
1b4716e7ef Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12950
2012-09-02 21:53:17 +00:00
Julian Seward
68b4677093 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12949
2012-09-02 21:20:27 +00:00
Julian Seward
7b418bfd3e "Fix" stack bounds check when compiled by Clang 4.0. Fix from Andrew
Morrow, analysis by Florian Krohm.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12947
2012-09-02 21:17:36 +00:00
Philippe Waroquiers
613012246f Improve callgrind performance by 4 to 8% using UNLIKELY
Performance improvements from 4 to 8% obtained on amd64 on the perf tests by:
1. using UNLIKELY inside tracing macros
2. avoid calling CLG_(switch_thread)(tid) on the hot patch setup_bbcc
   unless tid differs from CLG_(current_tid).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12939
2012-09-02 20:26:23 +00:00
Florian Krohm
4c07b236f4 Add testcase to check the emulation warning for new supported opcodes
on hosts without floating point extension facility.
See companion patch VEX r2501.
Part of fixing bugzilla #306098.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12935
2012-09-02 18:10:34 +00:00
Florian Krohm
02be5e72db Change s390-features to allow testing for absence of a feature.
This is infintely less painful than to find out how to invert
the condition in a test prerequisite.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12928
2012-09-02 03:30:38 +00:00
Florian Krohm
7ccbc2abb5 Fix an uninitialised variable found be BEAM.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12927
2012-09-01 23:48:09 +00:00
Florian Krohm
d1bb8e6017 Fix Makefile.am for fpext_fail testcase.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12926
2012-09-01 23:43:03 +00:00
Julian Seward
2c4e12fe8c Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12925
2012-09-01 20:33:46 +00:00
Florian Krohm
888f755cc5 Mark two fixes for s390x as [390] because they weren't fixed for 3.8.0
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12924
2012-09-01 20:23:59 +00:00