Commit Graph

9634 Commits

Author SHA1 Message Date
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
Julian Seward
4858401fb6 Guard against negative symbol sizes in ELF symbol tables, which
lead to assertion failures in ML_(find_rx_mapping).  Most closely
related to #304980.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12923
2012-09-01 20:08:35 +00:00
Florian Krohm
62e8c66124 s390: Add testcase for emulation failure.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12922
2012-09-01 17:55:10 +00:00
Florian Krohm
1229190124 s390: Valgrind-side changes to fixing bugzilla #274695:
Testcase, vbit tester update, memcheck support for the new IROps,
NEWS announcement and opcode list update.
Patch by Christian Borntraeger (borntraeger@de.ibm.com).
Vbit tester tweaks by myself.
Fixes bugzilla #274695.
See also companion patch VEX r2496.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12921
2012-09-01 00:15:45 +00:00
Florian Krohm
6805920360 s390: Detect floating point extension facility. Update s390-features.c
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12920
2012-08-30 20:30:32 +00:00
Florian Krohm
1bf0791db8 Add FAC_BIT macro to simplify correct testing for facility bits.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12919
2012-08-30 18:47:56 +00:00
Florian Krohm
4f0dd9365a Update filter_stderr due to changed warning message.
Unbreaks callgrind regtests on s390.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12918
2012-08-30 15:29:48 +00:00
Florian Krohm
20c2f83060 Fix build on Darwin. Patch by Rich Coe (rcoe@wi.rr.com).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12917
2012-08-30 15:12:59 +00:00
Florian Krohm
ecfd85ebe2 Enable V-bit testing on x86.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12916
2012-08-29 22:40:50 +00:00
Florian Krohm
250f066e51 Add list of files to svn:ignore here
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12915
2012-08-29 18:41:58 +00:00
Florian Krohm
89b8922886 Enable V-bit testing on ppc32.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12914
2012-08-29 17:45:13 +00:00
Florian Krohm
113df09b13 Fix printf formats for uint64_t values.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12913
2012-08-29 15:21:15 +00:00
Florian Krohm
f91af1cab6 Add VALGRIND_VEX_INJECT_IR for ppc32. Should have been included
in r12906.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12912
2012-08-29 14:59:13 +00:00
Florian Krohm
dc87cc40e8 s390: Fix the default cache configuration. As z10-EC has an L3
cache, use that instead of the L2 -- bringing the code in synch
with documentation. 
Also improve the warning message to be more meaningful.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12911
2012-08-29 02:50:56 +00:00
Florian Krohm
a4d1060ccf vbit tester: Disable Iop_CmpLT64S and Iop_CmpLE64S for ppc because
they cause assertion failures.
Do not test Iop_CmpORDxyz on ppc because the vbit tester does not 
support them. This is just so we don't have to add another .exp file for ppc.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12910
2012-08-28 23:38:49 +00:00
Florian Krohm
a59c1512ac Remove .deps directory.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12909
2012-08-28 18:37:40 +00:00
Bart Van Assche
b7ff000e27 drd/tests: Add a test that verifies whether the pthread_cancel() intercept works
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12908
2012-08-28 18:17:27 +00:00
Bart Van Assche
7f409138b2 drd: Re-enable the pthread_cancel() intercept now that the CALL_FN_*() ABI
violation has been fixed (r12811).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12907
2012-08-28 17:57:09 +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
Florian Krohm
e32ad1d0ae s390: Add zEC12 machine model. Fix spelling for some older models.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12905
2012-08-28 13:33:10 +00:00
Florian Krohm
07b6da4bbb Fix EXTRA_DIST. Add dummy .exp file to satisfy the consistency checker
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12904
2012-08-28 00:38:47 +00:00
Florian Krohm
16690f1ef5 s390: Add testcase for the ecag insn. Based on patch by
Divya Vyas (divyvyas@linux.vnet.ibm.com). Update opcode list.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12903
2012-08-26 19:05:06 +00:00
Florian Krohm
7bea862277 On s390: detect presence of stckf hardware facility.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12902
2012-08-26 04:23:08 +00:00
Florian Krohm
3df84e338f Add sem_wait to list of ignored files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12901
2012-08-26 03:24:01 +00:00
Florian Krohm
cd528bd768 Followup patch to r12899, purely mechanical. Rename:
VexEmWarn -> VexEmNote
EmWarn_NUMBER -> EmNote_NUMBER
guest_EMWARN -> guest_EMNOTE
LibVEX_EmWarn_string -> LibVEX_EmNote_string
offB_EMWARN -> offB_EMNOTE
EmWarn_NONE -> EmNote_NONE
See also VEX r2484


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12900
2012-08-26 03:22:09 +00:00
Florian Krohm
adec49e497 Rename libvex_emwarn.h to libvex_emnote.h. See also VEX r2483.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12899
2012-08-25 21:48:22 +00:00
Bart Van Assche
342cac3d59 drd: Correct semaphore tracing in case sem_*wait() did not wait. See also #305690.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12898
2012-08-25 07:25:00 +00:00
Bart Van Assche
023e92dc22 drd: Handle non-zero sem_*wait() return values correctly. Fixes #305690.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12897
2012-08-24 17:59:03 +00:00
Bart Van Assche
04a00aa879 drd/tests: Add test program that makes sem_trywait() return a non-zero value
(provided by Graham Whitted <7wz69ejteg@snkmail.com> - see also #305690).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12896
2012-08-24 17:57:44 +00:00
Julian Seward
cff91df676 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12895
2012-08-24 16:53:02 +00:00
Julian Seward
e126de2d4d Change exp-sgcheck's memcpy implementation to be memmove-like (sigh)
since it appears that some part of the vast stack of libraries that
supports LibreOffice actually abuses it thusly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12894
2012-08-24 16:42:57 +00:00
Julian Seward
ec3a16088b Implement a wrapper for wcslen on Linux, assuming that
sizeof(wchar_t) == 4, which I believe to be true on both Linux
and MacOSX.  Fixes #298281.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12893
2012-08-24 14:44:27 +00:00
Julian Seward
91c005fe90 Fix skipping of block forms when this code is compiled by gcc 4.8 -- it
has always been incorrect, modifying 'p' twice between sequence points.
Fixes #305513.  (Mark Wielaard, mjw@redhat.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12892
2012-08-24 14:38:56 +00:00
Julian Seward
a75f51bbcb Fix up range checking in ML_(addLineInfo). Avoids assertion failure
reported in #304980.  Based on a patch by Jiri Hruska (jirka@fud.cz).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12891
2012-08-24 14:05:01 +00:00
Julian Seward
c0e616b65f Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12890
2012-08-24 00:06:17 +00:00
Julian Seward
b9d41417b1 Add tests for MOVBE in 32 bit mode. See 304867. (Ambroz Bizjak,
ambrop7@gmail.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12889
2012-08-23 23:42:46 +00:00
Julian Seward
213bf1ccbc Add test cases for QDADD and QDSUB. See #305199. (Mans Rullgard,
mans@mansr.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12888
2012-08-23 20:58:08 +00:00
Julian Seward
4eeee6aae4 Fix false positives in count_from_Status etc al. n-i-bz.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12887
2012-08-23 19:25:12 +00:00
Florian Krohm
978fa74f3d Add verbiage about hardware facilities.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12886
2012-08-23 00:44:22 +00:00
Florian Krohm
ddd6ac7a7d Fix propagation of undefinedness for Iop_DPBtoBCD and Iop_BCDtoDPB.
Any undefined input bit will cause all output bits to be undefined.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12885
2012-08-22 18:09:07 +00:00
Florian Krohm
7f4d41c4b9 Handle the following IRops as they may get generated:
Iop_Mul8, Iop_Sar8, Iop_CmpwNEZ32, and Iop_8HLto16.
With this change mc_translate now handles all IR ops which are architecture
independent, except Iop_LeftXYZ and Iop_Max32U.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12884
2012-08-20 16:51:39 +00:00
Julian Seward
ed29b0b6a8 Fix POST(posix_spawn) on Darwin so it marks the returned pid as defined.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12883
2012-08-20 10:40:02 +00:00
Philippe Waroquiers
3abbddda09 fix 301281 valgrind hangs on OS X when the process calls system()
After looking more in depth, gdbserver must not be terminated
in PRE(posix_spawn) on MacOS: this is running in the parent and
(on MacOS) is a single syscall similar to a fork+exec.
On linux, posix_spawn is implemented using 2 syscalls
(fork followed by exec).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12882
2012-08-20 09:27:15 +00:00