Commit Graph

12397 Commits

Author SHA1 Message Date
Carl Love
3c751e88ac Powerpc big endian, fix the expected output file for
none/tests/ppc64/jm_int_isa_2_07.stdout.exp

By convention the file jm_int_isa_2_07.stdout.exp is the big endian reuslts.
If the little endian results differ, the file has -LE appended to it.
This patch replaces the little endian results that are currenttly in
none/tests/ppc64/jm_int_isa_2_07.stdout.exp with the correct the big
endian results.

Bugzilla 369169


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15977
2016-09-22 15:37:57 +00:00
Rhys Kidd
ab2edd2901 Preliminary support for macOS Sierra (10.12). Does not fully resolve bz#365327.
No regressions on OS X 10.11.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15976
2016-09-22 02:55:24 +00:00
Philippe Waroquiers
fef93fffb2 Avoid unused variable warning.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15975
2016-09-21 21:06:04 +00:00
Julian Seward
4216a9e19a Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15974
2016-09-21 13:48:20 +00:00
Mark Wielaard
87b9c5b125 Add a feature check for tests that use -march=armv8-a+crc.
Older gcc versions for arm64 don't support the crc arch feature.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15971
2016-09-20 17:57:00 +00:00
Christian Borntraeger
bcef0a5407 fix for bugzilla 361253 [s390x] ex_clone.c:42: undefined reference to `pthread_create'
Fix provides by Dann Frazier



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15970
2016-09-20 12:31:49 +00:00
Mark Wielaard
23615e5bb3 Add none/tests/ppc64/ppc64_helpers.h to noinst_HEADERS.
Makes sure that the header file will be included in the dist tar.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15968
2016-09-19 22:03:34 +00:00
Mark Wielaard
1ea3342d69 Add missing file for bug #358213 workaround.
svn commit r15962 missed adding bar_bad.stderr.exp-destroy-hang.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15966
2016-09-19 19:25:33 +00:00
Mark Wielaard
5f37e4dcde Workaround bar_bad testcase hanging with newer glibc in helgrind/drd tests.
This is a workaround for bug #358213 helgrind/drd pthread_barrier tests
hangs with new glibc pthread barrier implementation. This makes sure that
the tests don't hang anymore. It does this by creating new threads that
sleep and kill the other threads after some time. But this introduces
some non-determinism that might cause the tests to occassionally fail
(both against old and new glibc implementations).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15962
2016-09-19 14:16:35 +00:00
Mark Wielaard
c5556b2094 Testcases for fma4 instructions. Bug #369000.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15961
2016-09-19 12:41:38 +00:00
Mark Wielaard
7e588e2a8a Fix bad gdbserver_tests heap usage tests stderr output.
When doing inferior function calls from gdb (in mcmain_pic) there might
be extra heap usage from gdb that we aren't interested in tracking.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15960
2016-09-19 08:08:51 +00:00
Julian Seward
237fcf7d36 Update bug lists.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15959
2016-09-16 13:38:02 +00:00
Julian Seward
f4e420c096 Update bug list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15958
2016-09-15 10:56:00 +00:00
Carl Love
97783a3760 updated the NEWS file for bugzillas that have been closed:
Bugzilla 368412 commit15952
   Bugzilla 368416 commit15956
   

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15957
2016-09-14 17:16:52 +00:00
Carl Love
4f2ab6749e Add tc06_two_races_xml.exp output for ppc64
Update xml filter to suppress pthread_create_WRK frame.  Update the filter_xml
filter to suppress the frame containing the pthread_create_WRK function.  This
allows the tc06_two_races_xml test to complete reliably on power.

This change also adds the ability to suppress the printf that generates a
"pthread_create_WRK...pthread_create" entry to replace the suppressed frame.

This is conceptually a follow-up from r13983, which suppresses the
pthread_create_WRK entry from non-xml outputs.

Patch submitted by Will Schmidt  <will_schmidt@vnet.ibm.com>

Bugzilla 368416
  

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15956
2016-09-14 16:43:27 +00:00
Carl Love
b6928573e9 Adapt massif mmapunmap test to handle ppc64 backtrace
The reported backtrace on ppc64 platform reports "generic_start_main.isra.0"
in the backtrace, where other platforms typically see "main".  Adjust the
vgtest file to handle this variation.  This is similar to existing changes
as seen in deep-D.post.exp

FORGOT to add the file massif/tests/mmapunmap.post.exp-ppc64 before doing
commit 15950.

Bugzilla 368461
  

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15955
2016-09-14 15:50:48 +00:00
Julian Seward
dbbb036b4a Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15954
2016-09-14 13:15:28 +00:00
Mark Wielaard
219f3152bc Bug #359503 continued. adjtimex syscall missing on arm64.
Enable adjtimex syscall on arm64 and fix bug if argument is a bad pointer.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15953
2016-09-14 11:47:26 +00:00
Mark Wielaard
a57acb9be6 Correct an Altivec configure think-o.
An earlier change introduced a think-o in the altivec capability
check, allowing a false positive if the compiler supported altivec
but the hardware did not.

Resolves bug #368412 - False positive result for altivec capability check
Patch by Will Schmidt <will_schmidt@vnet.ibm.com>

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15952
2016-09-13 19:18:36 +00:00
Mark Wielaard
9d0a8787d5 Update libiberty demangler.
Update the libiberty demangler using the auxprogs/update-demangler
script. There were various extensions and bug fixes since our last
import. Add new D language demangler file d-demangle.c and update
the vg_libciface.h header with some new constructs used (strtol,
xmalloc_failed, xmemdup, XDELETEVEC, XDUPVEC).

Resolves bug #359181 - Buffer Overflow during Demangling.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15951
2016-09-13 19:06:23 +00:00
Carl Love
4a1581f982 Adapt massif mmapunmap test to handle ppc64 backtrace
The reported backtrace on ppc64 platform reports "generic_start_main.isra.0"
in the backtrace, where other platforms typically see "main".  Adjust the
vgtest file to handle this variation.  This is similar to existing changes
as seen in deep-D.post.exp

Bugzilla 368461
  

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15950
2016-09-13 15:54:33 +00:00
Rhys Kidd
002a63dfd7 Support clang compiler shipped with Apple’s Xcode 8. bz#366138.
This applies to both OS X 10.11 and macOS 10.12.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15949
2016-09-11 13:54:04 +00:00
Rhys Kidd
72097ab0f7 Improve configure output error message, when compiler version not supported. n-i-bz.
Based on a patch by Jeremy Hu <jeremyhu@uclink4.berkeley.edu>. Refer bz#366138.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15948
2016-09-11 13:42:50 +00:00
Rhys Kidd
60defe8a5f MAXSYSCALL for OS X 10.11.6 (xnu 3248.60.10) was indeed 500. n-i-bz.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15947
2016-09-11 05:28:59 +00:00
Rhys Kidd
9c0d0908f9 Follow up to r15905, properly guard memcheck/tests/amd64/shr_edx on clang. n-i-bz.
“error in backend: 32-bit absolute addressing is not supported in 64-bit mode”

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15946
2016-09-11 04:33:20 +00:00
Philippe Waroquiers
5de4bad5a7 Fix 199468 - Suppressions: stack size limited to 25 while --num-callers allows more frames
Nr of callers in a suppression entry had a smaller limit than the max
for --num-callers.
This means it was not possible to precisely suppress an error with a big
stack trace.
Also, --gen-suppressions was not providing the full stack trace of
the error in the generated suppressions.

Now, a suppression entry can have the same nr of callers as a backtrace.
Generated suppressions are generated with up to --num-callers callers.

This change has neglectible impact :
* memory: stack array of 500*2 words is declared, instead of 24*2 words
  This array is declared on the interim stack (startup stack), which is
  largely big enough.
* cpu : neglectible more cpu needed to read suppression entries
        (to initialise the bigger stack array when reading a supp entry),
Apart of the above, no impact on performance (unless of course bigger
supp entries are really used).

Note that this does not impact the behaviour for existing suppression files.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15945
2016-09-07 20:12:30 +00:00
Mark Wielaard
a7d9347bdf Use -std=c++0x for big_debuginfo_symbol to appease older compilers.
gcc 4.4 doesn't know -std=c++11, but does recognize -std=c++0x.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15944
2016-09-05 13:13:12 +00:00
Julian Seward
5ec46ea778 Connect up the v8 memory insn tests to the build system, and arrange
for both ARM and Thumb encodings to be tested.

Modify the existing v8 crypto tests so that both ARM and Thumb encodings
are tested.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15943
2016-09-01 15:19:07 +00:00
Julian Seward
6ce2e83f67 Enable test cases for arm32 v8 insns: LDAEX{,B,H,D}, STLEX{,B,H,D}
(load-acquire exclusive, store-release exclusive)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15942
2016-09-01 13:10:55 +00:00
Julian Seward
3e4a4540b1 Add test cases for ARMv8 insns: LDA, LDAB, LDAH, STL, STLB, STLH.
Not connected to the build system yet.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15941
2016-08-28 16:17:12 +00:00
Mark Wielaard
2f1ec093bc Allow building vbit_test when srdir != builddir.
Link against libvex-<arch>-<os>.a in top_builddir.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15940
2016-08-26 13:10:14 +00:00
Ivo Raisr
b0b7bbf30b Follow up to SVN commit r15936.
Fix the sloppy check I introduced.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15939
2016-08-17 18:05:13 +00:00
Carl Love
d2450cd776 Power PC test suite for ISA 3.0, part 5 of 5
The test suite support for the Power PC ISA 3.0 instructions added in
VEX commit 3244 is added in this commit.

bugzilla 364948

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15938
2016-08-15 21:54:04 +00:00
Ivo Raisr
b6224ced96 Follow up to r15936.
Kernel allocates another page after fork and we have to
keep aspacemgr's point of view consistent.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15937
2016-08-15 02:31:27 +00:00
Ivo Raisr
6260274e4e Follow recent Solaris development with respect to
SUNWDTRACE program header. Newer Solaris no longer utilizes
this program header as a scratchspace for DTrace fasttrap
provider, before libc is loaded.
For the time being, it serves as a space for initial thread
pointer.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15936
2016-08-12 22:28:50 +00:00
Julian Seward
5ee5496e04 Connect the v8crypto test to the build system, at least somewhat, so
as to make the post-regtest-tests happy.  Still needs configure.ac
checking for "-mfpu=crypto-neon-fp-armv8" gcc flag support.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15935
2016-08-10 22:22:20 +00:00
Petar Jovanovic
030cea68c8 mips32: add support for FPXX mode
With this patch, MIPS32 Valgrind compiled with -mfpxx can handle all types
(regarding FP_ABI flag) of MIPS32 ELFs.

- Functions arch_elf_pt_proc() and arch_check_elf() are added to elf reader
  according to linux/fs/binfmt_elf.c from Linux 4.1;
- Processing .MIPS.abiflags section and initializing appropriate FPU mode
  for MIPS32 are added;
- Emulation of prctl(GET/SET_FP_MODE) sys-calls are implemented for MIPS32.

Patch by Aleksandar Rikalo <Aleksandar.Rikalo@imgtec.com>

Related VEX change: r3243.

This implements BZ#366079.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15934
2016-08-10 14:38:10 +00:00
Julian Seward
ede1952161 none/tests/arm/v8crypto:
* enable all tests in this file
* add an expected output (stderr.exp) file


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15933
2016-08-07 23:36:10 +00:00
Julian Seward
38d065af6a Fix uses of CPSR in these tests, so that (1) the relevant fields are
initialised properly before the test, and (2) after the test, we don't
print implementation-defined parts of the resulting CPSR.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15932
2016-08-06 12:33:59 +00:00
Julian Seward
bafba31e41 do_vldm_vstm_check: don't use caller saved FP ('s') registers to hold
data that we expect to stay alive over calls to printf.  Fixes erratic
failures of this test.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15931
2016-08-06 12:32:37 +00:00
Julian Seward
c6e56acc75 Fix invalid code caught by Ubsan, in which we compute the address
of "cgs->events[-1]", even though it isn't dereferenced.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15930
2016-08-06 07:15:30 +00:00
Julian Seward
d1b3d1f181 Fix completely bogus array indexing introduced in r15927 -- how did this
ever work?  Spotted by UBSAN.  Yay UBSAN!  Also update comments.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15929
2016-08-05 17:22:21 +00:00
Julian Seward
d8fc8361bc Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15928
2016-08-05 15:15:20 +00:00
Julian Seward
7ce46139ec Reimplement MC_(final_tidy) much more efficiently. This reduces its instruction
count by a factor of about 4.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15927
2016-08-05 14:59:50 +00:00
Julian Seward
1a2f71d6ff Reimplement pszB_to_listNo using a binary search rather than a linear search.
Unlikely as it seems, this saves a considerable number of instructions (2% of total)
on very heap-intensive code (perf/heap.c).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15926
2016-08-05 14:54:27 +00:00
Julian Seward
22f4d5081d Connect up the new CRC32 tests to the build system.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15925
2016-08-04 21:40:59 +00:00
Julian Seward
aac43218ab Add test cases for the CRC32* instruction group. Is not yet connected to the
build system.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15924
2016-08-04 21:14:24 +00:00
Julian Seward
7c3b4bf540 Make "ashmem" and "binder" ioctls be handled properly on 64-bit ARM Android,
rather than falling through to the generic handler and being mishandled.
Fixes #360574.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15923
2016-08-04 21:11:28 +00:00
Julian Seward
b8490fbbb9 Add test cases for v8 crypto instructions in 32-bit mode. Is not yet connected
to the build/test system.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15922
2016-08-03 11:44:02 +00:00
Julian Seward
f8eca86bbf Add infrastructure for detection of 32-bit ARMv8 capable CPUs (Valgrind side).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15921
2016-08-03 11:40:36 +00:00