11510 Commits

Author SHA1 Message Date
Florian Krohm
1ecaaf9fa0 Update a comment.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15000
2015-03-11 13:46:14 +00:00
Florian Krohm
20a1bb0d5b Update release notes with ICC contact.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14999
2015-03-10 21:31:06 +00:00
Florian Krohm
a4d7580b6d Announce support for Intel's ICC compiler. Fixes BZ #339542.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14998
2015-03-10 20:48:07 +00:00
Florian Krohm
f696bd863b Issue a warning if a function has more than 5 million bytes of
code. Previously functions exceeding that size were observed in the
field. Assert for 100x that amount.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14997
2015-03-10 20:46:58 +00:00
Carl Love
b7cbe0ff1f Updated the NEWS file
bugzilla  343597 - ppc64le: incorrect use of offseof macro  fixed 3/10/2015

Issue found by Florian Krohm who also suggested the fix.  The fix was 
made and tested by Carl Love.

VEX commit number 3100



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14996
2015-03-10 18:53:15 +00:00
Florian Krohm
6dce653240 Add support for building with -fsanitize=undefined.
- add configure option --enable-ubsan 
- add __ubsan helpers (by Julian)

This requires gcc 4.9.2 or later. Not all platforms are supported, though.
With this change and VEX r3099 regression tests pass on amd64
with a valgrind compiled with -fsanitize=undefined.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14995
2015-03-10 16:13:59 +00:00
Julian Seward
37f7ddaea7 PRE(sys_prctl): handle PR_SET_SECCOMP.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14994
2015-03-10 11:05:10 +00:00
Florian Krohm
a016e927bb New function VG_(am_mmap_client_heap) which swallows
VG_(am_set_segment_isCH_if_SkAnonC).
Rename VG_(am_set_segment_hasT_if_client_segment) to
VG_(am_set_segment_hasT) passing in an address (because that function
cannot possible take a pointer to a *const* segment). Also assert that
the segment containing the address is a client segment. Everything else
is a bug.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14993
2015-03-07 23:01:14 +00:00
Philippe Waroquiers
f85702628a 342353 - Allow dumping full massif output while valgrind is still running
Patch from Andre Goddard Rosa



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14992
2015-03-07 19:20:12 +00:00
Philippe Waroquiers
de3c3c2a6c update NEWS to indicate that
335907  segfault when running wine's ddrawex/tests/surface.c under valgrind
is assumed to be fixed either by a previous change in 3.10
and/or by the commit for 343173



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14991
2015-03-07 17:31:04 +00:00
Rhys Kidd
ec0767a2d1 n-i-bz: Replace non-POSIX bzero with proper memset. At least for internal-only, Darwin functionality. Picked up by cppcheck. No regressions within test suite.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14990
2015-03-07 14:57:39 +00:00
Rhys Kidd
33a307d627 Fix memcheck/tests/xml1 on OS X 10.10
bz#344939

Before

== 588 tests, 240 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After

== 588 tests, 239 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14989
2015-03-07 13:34:02 +00:00
Florian Krohm
b77e045e1f Rewritten to use a single line instead of line splicing
to avoid line number differences in the reported error.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14988
2015-03-07 12:49:32 +00:00
Rhys Kidd
a6edce5f4a Fix unhandled syscall: unix:348 (__pthread_chdir) and unhandled syscall: unix:349 (__pthread_fchdir) on OS X
bz#344512
- Support these two undocumented syscalls.
- New regression test case added.

Before:

== 588 tests, 239 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 589 tests, 239 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14987
2015-03-07 08:36:20 +00:00
Rhys Kidd
cfa6844024 Tweak test case for bz#344560 from r14985, now includes line numbers
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14986
2015-03-07 06:11:08 +00:00
Rhys Kidd
2424a2d347 Fix stack traces missing penultimate frame
bz#344560
- Also fixes memcheck/tests/badpoll test on OS X
- Problem occurs because the guest stack seen in a system call pre or post
  function happens to not have a correct topmost stack frame, as Darwin system
  call stubs do not start with the usual function prolog.
- New regression test case added.
- Thanks to Greg Banks for research, patch and test case.

Before:

== 587 tests, 240 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 588 tests, 239 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14985
2015-03-07 05:22:12 +00:00
Rhys Kidd
e4c6963f78 n-i-bz: Small fixes to r14976 (bz#343173) to add stackteardown to svn:ignore and fix compilation on OS X
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14984
2015-03-07 01:21:28 +00:00
Julian Seward
defb95cc10 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14983
2015-03-06 09:20:51 +00:00
Julian Seward
6e9e1112dc Update comment about range checks with observations from Florian.
No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14982
2015-03-06 09:19:38 +00:00
Julian Seward
67addf943b Make printing of transtab: debug-log messages slightly prettier.
No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14981
2015-03-05 11:28:57 +00:00
Julian Seward
49113a05af Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14980
2015-03-05 11:25:52 +00:00
Julian Seward
3c3490016e Marginally improve debug printing. No functional change.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14979
2015-03-05 11:24:05 +00:00
Julian Seward
2ef97db660 POST(sys_ioctl): identify kernel variant "Qualcomm Adreno 3xx" correctly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14978
2015-03-05 11:22:41 +00:00
Julian Seward
136a2cda56 Minor changes in an attempt to improve performance and reduce
the amount of file-reading resulting from DiImage-cache misses.

CACHE_N_ENTRIES:
Increase the DiImage cache size from 256KB to 8MB to deal with
drastically worse locality when reading inline info.  The 256KB
setting dates from befre inline-info-reading days.

is_in_CEnt: remove a conditional branch from the hot path (of |get|,
effectively)

set_CEnt: marginally improve debug printing



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14977
2015-03-05 00:52:07 +00:00
Philippe Waroquiers
c6d07e20b3 Fix 343173 - helgrind crash during stack unwind
This fixes a helgrind crash detected on android.
Android bionic pthread lib unmaps the stack for detached threads
before exiting.
Helgrind tries to unwind the stack to record a 'read' after
the stack unmap, just before the exit syscall.
The unwind then causes a SEGV.

The solution consists in tightening the calculation of
the stack limits, so as to stop unwinding when no valid stack
can be found.
Regression test reproduces the same problem by simulating the
bionic behaviour on linux, using asm similar to bionic lib.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14976
2015-03-03 22:00:06 +00:00
Florian Krohm
fee9b3cc76 Update list of ignored files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14975
2015-03-03 14:58:29 +00:00
Florian Krohm
1f8ced27c3 Produce a user message in case of stack overflow.
Change VG_(extend_stack) and VG_(am_extend_into_adjacent_reservation_client)
accordingly. 
Remove some redundant checking.
Add testcase.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14974
2015-03-03 14:56:17 +00:00
Florian Krohm
3f8cb6aae5 Update a comment. Apparently the code was refactored at some point...
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14973
2015-03-02 21:10:46 +00:00
Rhys Kidd
2e241b4011 Fix missing libobjc suppressions on OS X 10.10
bz#344702
- Update darwin14.supp suppressions
- Includes malloc_zone_malloc and malloc related issues in system libraries

Before

== 585 tests, 256 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After

== 585 tests, 240 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14972
2015-03-01 13:22:21 +00:00
Florian Krohm
6bf346491b Change the testcase such that the output matches the intended output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14971
2015-03-01 09:36:54 +00:00
Rhys Kidd
7e19b559a3 Fix suppression for pthread_rwlock_init on OS X 10.10
bz#344686
- Update darwin14.supp to match prior OS X versions

Before

== 585 tests, 257 stderr failures, 23 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After

== 585 tests, 256 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14970
2015-03-01 01:35:59 +00:00
Florian Krohm
d485eed8e0 Fix a few compiler warnings issued by clang 3.6.0
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14969
2015-02-28 09:22:09 +00:00
Rhys Kidd
c31c62f916 Fix memcheck/tests/err_disable4 test on OS X
bz#344621
- Unnamed semaphores are not supported on OS X, must use named semaphores.
- To use named semaphores sem_open() instead of sem_init() utilised.
- Test case updated accordingly across all platforms.

Before:

== 586 tests, 240 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 586 tests, 239 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14968
2015-02-27 11:34:07 +00:00
Florian Krohm
eb4228077a Simplify do_brk
- remove redundant asserts
- let VG_(am_extend_into_adjacent_reservation_client) worry about
  - whether delta is too large
  - whether the segment abutting this one exists and is a reservation
    segment
  The function already checks these things. No need to do it again here.
- do_brk does not need to know that a reservation segment must not
  shrink beyond a single page. That detail ought to be hidden in
  the address space manager.
Also, turn a few conditions into asserts.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14967
2015-02-26 21:48:19 +00:00
Florian Krohm
ec19425185 Include pub_core_aspacemgr.h only where needed.
Also fixes BZ #344235.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14966
2015-02-26 17:48:07 +00:00
Florian Krohm
f8a625781c Change the prototype of VG_(am_extend_into_adjacent_reservation_client)
to match VG_(am_extend_map_client) for consistency.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14965
2015-02-26 16:07:12 +00:00
Mark Wielaard
5fa9a30cea Bug #344318 socketcall should wrap recvmmsg and sendmmsg
Some architectures, e.g. s390, don't have dedicated recvmmsg and sendmmsg
system calls, but use the socketcall multiplexing system call with
SYS_RECVMMSG or SYS_SENDMMSG (just like the accept4 systemcall can also
be called through socketcall). Create separate helpers for recvmmsg and
sendmmsg helpers that can be used by either the direct syscall or the
socket call.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14964
2015-02-25 14:00:14 +00:00
Florian Krohm
d59ebddc38 Change VG_(am_extend_map_client) as follows:
- Tighten up on asserts
- Simplify; as the function grows memory into a free segment, there
  cannot possibly be any translations to be discarded. Free segments
  do not have translations. sane_NSegment will make sure.
- Change the prototype to take in the start address of the mapping and
  return a pointer to the resized segment. Previously, the code 

   ok = VG_(am_extend_map_client)( &d, old_seg, needL );
   if (!ok)
      goto eNOMEM;
   VG_TRACK( new_mem_mmap, needA, needL, 
                           old_seg->hasR, old_seg->hasW, old_seg->hasX,

  was examining old_seg->hasR etc even though VG_(am_extend_map_client)
  stated that *old_seg was invalid after the function returned.
  That wasn't exactly a problem, but clearly looked wrong.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14963
2015-02-25 10:06:06 +00:00
Florian Krohm
12401cdc41 Add a comment explaining why there are only 3 emulation warnings
and not 4 as one would expect. 
Update the .exp file to show correct line numbers.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14962
2015-02-24 18:11:01 +00:00
Florian Krohm
f029054493 Update opcode list following VEX r3092.
Add an assertion to trigger a compile time error in case this
happens again.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14961
2015-02-24 17:17:19 +00:00
Julian Seward
91f48cdcb7 arm64: enable test cases for conversion instructions which are
in fact implemented at this point.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14960
2015-02-24 13:24:52 +00:00
Julian Seward
fbf8cd3a46 Handle new IROps added in vex r3092:
Iop_RecipStep64Fx2, Iop_RSqrtStep64Fx2 
Iop_RSqrtEst64Fx2,  Iop_RecipEst64Fx2 
Iop_RecpExpF64,     Iop_RecpExpF32 
 --This line, and those below, will be ignored--

M    memcheck/mc_translate.c


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14959
2015-02-24 12:24:35 +00:00
Julian Seward
0362e68ec4 arm64: enable test cases for
FRECPS  d_d_d, s_s_s 
FRSQRTS d_d_d, s_s_s 
FRECPE  d_d, s_s 
FRSQRTE d_d, s_s 
FRECPX  d_d, s_s 
FRECPS  2d_2d_2d, 4s_4s_4s, 2s_2s_2s 
FRSQRTS 2d_2d_2d, 4s_4s_4s, 2s_2s_2s 
FRECPE  2d_2d, 4s_4s, 2s_2s 
FRSQRTE 2d_2d, 4s_4s, 2s_2s 
 --This line, and those below, will be ignored--

M    none/tests/arm64/fp_and_simd.c
M    none/tests/arm64/fp_and_simd.stdout.exp


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14958
2015-02-24 12:21:26 +00:00
Florian Krohm
e1b0a8e30d Fix an off-by-one error - this time, do it right.
A segment with start == end is not empty.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14957
2015-02-24 11:23:51 +00:00
Florian Krohm
7bd3d1e798 Revert r14954. If the end of a segment is 0xfffff.....fffff
then end + 1 == 0 and any start address will be >= end.
Think some more.....


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14956
2015-02-23 21:56:16 +00:00
Christian Borntraeger
3f384a5c94 Fix configure for Linux kernel >= 4.0-rc1
In addition raise the minimal Linux version to 2.6 as there is almost
no test coverage for 2.4 and 2.6 was released in 2003.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14955
2015-02-23 20:19:03 +00:00
Florian Krohm
8d088fa71e Fix an off-by-one error. A segment with start == end is not
empty.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14954
2015-02-23 19:57:12 +00:00
Julian Seward
6920a29c98 Stop gcc -Og complaining (incorrectly) about filessize being used
uninitialised.  No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14953
2015-02-23 13:58:55 +00:00
Rhys Kidd
4094895ed6 Fix bz#343523, OS X mach_ports_register: UNKNOWN task message [id 3403, to mach_task_self(), reply 0x30f]
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14952
2015-02-22 00:42:52 +00:00
Rhys Kidd
f3c4b1a67a Fix OS X 10.10 (Yosemite) - missing system calls and fcntl code, courtesy of Bill Zissimopoulos
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14951
2015-02-21 12:24:18 +00:00