Commit Graph

476 Commits

Author SHA1 Message Date
Petar Jovanovic
9de3032383 mips64: disable intercepting the spinlock function
This change disables intercepting pthread_spin_lock() for MIPS64, similar to
r13190 for MIPS32. Used in DRD and Helgrind as a workaround for the issue
#311690.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13417
2013-06-02 18:08:04 +00:00
Petar Jovanovic
e67d6f871e mips: default VKI_SHMLBA to the MIPS Linux kernel value SHMLBA
This change removes option to define shared-memory-alignment for MIPS,
instead default value (0x40000) from MIPS Linux kernel will be used.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13389
2013-05-12 00:52:38 +00:00
Petar Jovanovic
ef5865f643 mips: add allexec tests for mips64
Initial patch for none/tests/mips64/.
allexec tests added.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13385
2013-05-10 13:14:54 +00:00
Mark Wielaard
fc14d93e00 Fix -Ttext-segment configure check.
Explicitly test together with -static -nodefaultlibs -nostartfiles to mimic
what the tools linking script does. At least on s390 the test might fail for
a non-static AC_LINK, while it does work when using those other flags too.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13371
2013-04-17 19:11:05 +00:00
Tom Hughes
b31167235f Cope with old linkers which don't support -Ttext-segment but which do
generate build-id sections. #317091.  (Mark Wielaard, mjw@redhat.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13346
2013-03-28 15:53:21 +00:00
Julian Seward
78b3b945b4 Fix BMI assembler configure check and avx2/bmi/fma vgtest prereqs.
#317461.  (Mark Wielaard, mjw@redhat.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13343
2013-03-27 21:59:21 +00:00
Julian Seward
dc0e01ab4d Build system and hwcaps fixes pertaining to #305728, which added
support for AVX2, BMI1, BMI2 and FMA instructions.
(Jakub Jelinek, jakub@redhat.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13340
2013-03-27 11:43:20 +00:00
Julian Seward
c7f8191472 Use -Wl,-Ttext-segment when static linking if possible to keep build-ids.
Fixes #317091.  (Mark Wielaard, mjw@redhat.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13331
2013-03-22 11:49:46 +00:00
Petar Jovanovic
5dd4c02e39 mips: adding MIPS64LE support to Valgrind
Necessary changes to Valgrind to support MIPS64LE on Linux.
Minor cleanup/style changes embedded in the patch as well.
The change corresponds to r2687 in VEX.
Patch written by Dejan Jevtic and Petar Jovanovic.

More information about this issue:
https://bugs.kde.org/show_bug.cgi?id=313267


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13292
2013-02-27 23:17:33 +00:00
Tom Hughes
fc1fb1f0b8 Accept glibc 2.17 as valid.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13228
2013-01-14 09:48:49 +00:00
Petar Jovanovic
40644676b1 Introduce DISABLE_PTHREAD_SPINLOCK_INTERCEPT flag
The flag DISABLE_PTHREAD_SPINLOCK_INTERCEPT is set only for MIPS32, and it is
used in DRD and Helgrind as a workaround for the issue #311690.
In short, pthread_spin_lock implementation has local branches to the start of
the function which interferes with the redirection system in Valgrind that
assumes it has to redirect each call/branch to a particular address.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13190
2012-12-20 18:56:57 +00:00
Julian Seward
cc3a364d25 Fix the configure check so that fair-sched works on Android too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13186
2012-12-17 14:46:48 +00:00
Julian Seward
87d6d6fd1c 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)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13180
2012-12-14 10:30:57 +00:00
Florian Krohm
1bacf75bb2 Fix cut'n paste error spotted by Mark Wielaard.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13175
2012-12-11 13:21:27 +00:00
Florian Krohm
8c76e43290 Make sys-openat test conditional upon the existence of AT_FDCWD.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13171
2012-12-08 19:26:03 +00:00
Florian Krohm
af66466ce4 Changes to allow compilation with -Wwrite-strings. That compiler option
is not used for testcases, just for valgrind proper.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13137
2012-11-23 16:17:43 +00:00
Florian Krohm
4a60891892 Re-establich configury checking for -Wno-pointer-sign. We need that
flag to compile pref/tinycc.c. Sigh.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13126
2012-11-18 14:39:11 +00:00
Florian Krohm
b87aa67392 Final patch for Char/HChar mixups.
Remove -Wno-pointer-sign from configure.in.
Fixes 273227.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13125
2012-11-18 00:36:15 +00:00
Florian Krohm
78ec60e0e7 Update s390_features.c for DFP.
Add a testcase.
Patch by Maran (maranp@linux.vnet.ibm.com).
Part of fixing BZ 307113.
See also VEX r2560.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13120
2012-11-10 22:35:24 +00:00
Bart Van Assche
3fd464fbf3 Remove build dependency on Xen header files - closes #308495
From: Ian Campbell <ian.campbell@citrix.com>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13081
2012-10-23 18:03:28 +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
Florian Krohm
0d0e6346db Add a tester for V-bit propagation through IROps.
The tester is located in memcheck/tests/vbit-test.
It needs the following support on the valgrind / VEX side:
(1) a new client request VG_USERREQ__VEX_INIT_FOR_IRI
(2) a new "special instruction" on all architectures inserted via
    VALGRIND_VEX_INJECT_IR
(3) VEX changes to detect the special insn and insert IR (ir_inject.c)

The README file in vbit-test has some more information.
See also VEX r2490.  Fixes bugzilla #300102.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12906
2012-08-28 16:50:39 +00:00
Julian Seward
27257690fa Party on, dudes!
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12871
2012-08-09 15:51:55 +00:00
Julian Seward
01ac70be21 --> 3.8.0 final
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12866
2012-08-09 15:06:36 +00:00
Julian Seward
99606c64bf --> 3.8.0-TEST3
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12865
2012-08-08 23:35:35 +00:00
Julian Seward
e176db3591 Make the assembler-knows-POWER-DFP test a bit stricter, since it appears
some older assemblers know 'dadd' but not 'dcffix', which also appears
in the DFP tests.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12864
2012-08-08 22:22:26 +00:00
Julian Seward
32341bb18b --> 3.8.0-TEST1
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12858
2012-08-07 15:24:51 +00:00
Julian Seward
64060928fd First checkpoint for 3.8.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12846
2012-08-05 16:44:11 +00:00
Philippe Waroquiers
ab7b338320 301265 - add x86 support to Android build
Patch by Dragos Tatulea.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12835
2012-08-05 00:08:25 +00:00
Bart Van Assche
a36fc3e178 none/tests/amd64/avx-1: Make it explicit that this test uses the vpclmulqdq instruction
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12821
2012-08-03 19:37:02 +00:00
Julian Seward
f0c0f9f3ce Add initial support for MacOSX 10.8. Note this is still very borked
and pretty much unusable for real work.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12814
2012-08-02 18:25:04 +00:00
Julian Seward
c7048d5921 Add 'aesdec' to the set of insns checked for assembler level SSE4.2
support (Rich Coe) and tidy up a couple of other bits of assembly by
giving them trashed-register lists.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12772
2012-07-22 11:10:08 +00:00
Julian Seward
57c1e52b2d Add tests for MOVBE -- an Intel-Atom-only instruction
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12750
2012-07-16 08:23:26 +00:00
Julian Seward
0efee1b47a Accept glibc-2.16 as valid (UNTESTED).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12743
2012-07-14 10:07:06 +00:00
Florian Krohm
bc81135c3e Enhance the check for ifunc compatibility testing.
Make sure the executable can be linked.
As observed with gcc 4.4.5 and binutils 2.20.1


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12717
2012-07-06 09:17:29 +00:00
Florian Krohm
e11cf7add1 Fix use of AC_LANG_SOURCE for ifunc attribute testing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12716
2012-07-06 08:26:37 +00:00
Florian Krohm
1a6f7a0371 Add testcase from bugzilla #301204.
Testcase by Chantry Xavier (shiningxc@gmail.com).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12715
2012-07-05 21:21:37 +00:00
Bart Van Assche
3258a8dcbb Recognize clang version correctly. Closes #301984.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12649
2012-06-17 05:53:02 +00:00
Julian Seward
3e344c57f6 Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,
mips-valgrind@rt-rk.com, Bug 270777.

Valgrind: changes to existing files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12616
2012-06-07 09:13:21 +00:00
Julian Seward
aa8aec161e Convert avx-1 into a proper regression test.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12611
2012-06-05 00:31:49 +00:00
Florian Krohm
48b4014349 Add testcases for "compare and swap".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12595
2012-05-30 20:46:58 +00:00
Philippe Waroquiers
e005c869c7 define AM_COND_IF if not yet defined (needed to build with automake 1.10)
Patch from Dave Goodell



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12568
2012-05-18 16:48:20 +00:00
Philippe Waroquiers
a541560dff Fix 274078 improved configure logic for mpicc
Patch from Dave Goodell.
See bug 274078 for detailed patch description.

Tested on deb6/amd64 with a static MPI (now it will be ignored
rather than make the Valgrind build failing), with a shared MPI,
and with no MPI.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12567
2012-05-17 15:32:54 +00:00
Bart Van Assche
f117eaf6f7 ... and set $(BOOST_LIBS) properly again.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12508
2012-04-18 18:42:34 +00:00
Bart Van Assche
ac0c2de871 configure.in: Fix detection of Boost libraries. Reported by <plug.gulp@gmail.com>.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12507
2012-04-18 18:34:22 +00:00
Julian Seward
e13d919613 Add support for reading DWARF4 .debug_types sections. Fixes #284124.
(Tom Tromey, tromey@redhat.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12491
2012-04-05 07:55:47 +00:00
Bart Van Assche
73f7a907d5 configure.in: Avoid that configure complains about "-----: command not found".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12481
2012-04-02 15:45:51 +00:00
Julian Seward
d2ca761361 Initial support for POWER Processor decimal floating point
instruction support -- VEX side changes.  See #295221.

This patch adds test cases.  Also adds some minor Memcheck
instrumentation tweaks necessitated by the IR changes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12476
2012-04-02 10:22:05 +00:00
Tom Hughes
74eb6fb3b4 Add support for process_vm_readv and process_vm_writev system calls.
Patch from Lénaïc Huard to fix BZ#292995.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12374
2012-02-10 09:39:37 +00:00
Florian Krohm
93e3df9e39 Improve configure for SSE 4.2 detection. Fixes #271438
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12340
2012-01-17 13:16:50 +00:00