r15815 "Allow 8k and 32k page sizes" added an extra line in memalign_test.c.
This changed the line numbers in the output compared to the .exp file.
Just put everything on one (long) line to match expectations again.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15818
Set exact value of VKI_PAGE_SIZE by calling sysconf(_SC_PAGESIZE).
This should set a correct value to this variable on MIPS systems with
different page sizes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15817
The test none/tests/ppc64/test_isa_2_07.c steps beyond the data array in a
number of places. The issue is the array is declared to be of size N. The for
loop is: for (i=0; i<N; i=i+2). In the body of the loop the array elements
A[i] and A[i+1] are accessed. On the last iteration i=N-1 and the second array
access becomes A[N-1+1] which accesses one element past the declared array
size.
This commit fixes the array bounds by making the for loop read:
for (i=0; i<N-1; i=i+2)
The expected output files
none/tests/ppc64/jm_int_isa_2_07.stdout.exp
none/tests/ppc64/jm_vec_isa_2_07.stdout.exp
are updated with the new expected results.
Valgrind Bugzilla 359829
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15816
Allow 8k and 32k page sizes in memalign and other memory related tests.
This fixes crashes in the tests on systems with 8k or 32k pagesize.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15815
Instead of passing an option to the configure script, use runtime detection
of the page size. Remove the "--with-pagesize" parameter from the configure
script.
Also accept 8k and 32k as valid page sizes.
Patch by Maran Pakkirisamy
It fixes BZ#342356.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15813
The suppression and redirection for ld.so strchr/index isn't needed for
x86. When testing a newer glibc or calling the ld.so through an alternative
path neither the suppression (doesn't match path/name) nor the redirection
(triggers too late) works. Since there is already an hardwire override for
strlen in amd64 ld.so anyway it makes sense to also hardware index (it is
always called when ld.so loads the preload images).
This was also explained in the easy hacks Fosdem session.
See https://bugs.kde.org/show_bug.cgi?id=359733 for a pointer.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15812
after SVN r15810.
Now that we have AT_ENTRY in the client auxv, mdb does not
print binary name before function designation.
n-i-bz
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15811
on Solaris. With gcc 5.3, PIEs can be produced on Solaris 12.
gdb on Solaris requires AT_ENTRY to correctly work with those.
See very long comment before function svr4_exec_displacement().
n-i-bz
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15810
While no issues have been reported with this test example, it was
misusing early-clobber constraints and missing some real constraints
on the other side. Fixing it now.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15805
MoveIns.stdout.exp-mips32r2-BE and MoveIns.stdout.exp-mips32r2-LE have not
been included in EXTRA_DIST. Adding it now.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15803
The linux 4.3 s390 kernel has separate system calls that were originally
hidden behind the socketcall multiplexer system call. Newer glibc versions
will use these direct system calls instead of socketcall when available.
Causing several regtest failures.
This fix simply wires up the split out system calls directly to the
existing syswrap handlers for s390.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15802
Add tests for mfhc1 and mthc1 instructions and (two) new exp files.
Also, minor formatting changes throughout the test file.
This is related to VEX change r3211.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15801
from non-static inline functions reported by gcc 5.3:
warning: "locf" is static but declared in inline function "fun_f" which is not static
While at it, silence also compiler warning about uninitialized
variable "result" when calling fun_a().
n-i-bz
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15797
VEX commit 3209 fixed: an issue with caculating the carry to the next 32-bit
chunk for the Power PPC 128-bit add and subract instructions: vaddcuq, vadduqm,
vsubcuq, vsubuqm, vaddecuq, vaddeuqm, vsubecuq, vsubeuqm
The corresponding test case didn't catch the issue. The valgrind commit
15790 adds data values to the test that verify the issue is fixed.
This commit is to update the NEWS file.
Valgrind Bugzilla 359472
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15796
The original fix in svn r15793 read argument 6 separately by using PRA6
unconditionally. This is wrong. We need to first check whether a
track_pre_reg_read callback is registered (only memcheck does).
The PRE_REG_READX macro already had this check. Just add the same
before calling PRA6. Thanks to Tom Hughes for noticing. Without this
helgrind/tests/cond_timedwait_test and drd/tests/pth_inconsistent_cond_wait
regtests would fail.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15795
Same kind of problems as explained and fixed in revision 15720:
In some cases, unwinding always retrieves the same pc/sp/bp.
Fix for 64 bits is similar: stop unwinding if the previous sp is >= new sp
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15794
for auditon(2) subcode of the auditsys() syscall
were removed in Solaris 12.
However they stay for Solaris 11 and illumos.
n-i-bz
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15791
VEX commit 3209 fixed: an issue with caculating the carry to the next 32-bit
chunk for the Power PPC 128-bit add and subract instructions: vaddcuq, vadduqm,
vsubcuq, vsubuqm, vaddecuq, vaddeuqm, vsubecuq, vsubeuqm
The corresponding test case didn't catch the issue. This commit adds data
values to the test that verify the issue is fixed.
Valgrind Bugzilla 359472
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15790
When the elt to allocate is bigger than the pool size, allocate
a specific pool only for this element.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15787
largefile support by default. This gets in the way what
Valgrind core expects (vki, various m_libc modules).
Therefore disable largefile support if it is enabled.
Anyway, support for 32-bit applications is going away in Solaris 12.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15785
Solaris 12 transitioned to public libproc and mdb now prints
'raw lwps' instead of 'native threads' for the threading model.
This information is irrelevant for coredump generation and analysis;
therefore leave it out.
n-i-bz
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15783
We have to explicitly test command -v host worked otherwise on systems
that do not have 'host' installed will return error code 127 and stop
testing. This is because vg_regtest uses '/bin/sh -c' to execute the
prereq command. Found by Petar Jovanovic.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15781
* Complain instead of asserting when negative line nr in inline info
* use a macro to factorise the complain once logic about lineno limits
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15780
The MIPS64 getdents64() system call is only present in 3.10+ kernels.
If the getdents64() system call is not available fall back to using
getdents() and modify the result to be compatible with getdents64().
This matters only when --track-fds=yes is set.
This change fixes none/tests/fdleak* failures on MIPS64 platforms with
kernel versions older than 3.10.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15778
At many places, we have:
VG_(fun(a,b,c))
instead of
VG_(fun)(a,b,c)
So, fix these cases, found using:
grep -n -i -e 'VG_([a-z][a-z0-9_]*[^a-z0-9_)]' *.c */*.c */*/*.c
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15776
C++ allocator from Solaris Studio allocates for std::string
57 bytes instead of former 40 bytes on 64-bit, and 45 bytes instead of 28 on 32-bit.
Confirmed with truss and --trace-alloc=yes.
n-i-bz
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15775
tinycc.c: In function ‘expr_eq’:
tinycc.c:13368:21: warning: statement is indented as if it were guarded by... [-Wmisleading-indentation]
gv(rc);
^~
tinycc.c:13366:17: note: ...this ‘else’ clause, but it is not
else
^~~~
Two statements are indeed misleadingly indented. Fixed by unindenting them.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15772
ccache sometimes causes the source file absolute name to be another
full path (not $PWD).
This means that the badfree3 and varinfo5 tests can fail due to
the full path after not being match on $PWD.
So, rather ask full path after a part of the path that is stable
even when ccache decides to reuse a already compiled object from
another directory.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15771