11445 Commits

Author SHA1 Message Date
Florian Krohm
7f6f4f0a01 Update a few comments.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14935
2015-02-16 22:29:03 +00:00
Florian Krohm
071d18df06 Document the --max-threads command line option.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14934
2015-02-16 21:55:52 +00:00
Florian Krohm
797f339875 Misc tweaks in segAddr_to_index:
(1) It is always invalid for the incoming segment pointer to be
    out of range. Assert that.
(2) Let the compiler do the address arithmetic. They're good at that
    and therefore:
(3) No asserts needed to check the result.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14933
2015-02-14 21:17:46 +00:00
Florian Krohm
d47181fd7d Add command line flag --max-threads=<integer> to increase the number of
threads that valgrind can handle. No recompile is needed. 
Part of fixing BZ #337869.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14932
2015-02-13 19:08:26 +00:00
Florian Krohm
cf6190cb37 More use of LibVEX_GUEST_STATE_ALIGN.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14931
2015-02-13 17:05:57 +00:00
Florian Krohm
493dd569d2 Use LibVEX_GUEST_STATE_ALIGN introduced in VEX r3091.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14930
2015-02-13 16:26:44 +00:00
Julian Seward
b4287f205a arm32-linux: for the magic-call CALL_FN_* macros, add r12 to the asm
trash list.  Not doing so was causing r12 to get corrupted by the
called function, which lead to some very strange failures in Helgrind
on arm32.  Fixes #344033.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14929
2015-02-11 19:46:27 +00:00
Julian Seward
1fe042b6eb arm32-linux: GET_STARTREGS has always been wrong on this target,
confusing SP and LR and resulting in no backtraces during internal
assertion failures etc on this platform.  Fixes #343219.  Noticed by
dimitry@google.com.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14928
2015-02-11 00:49:45 +00:00
Julian Seward
e0297b57d8 arm32: local_sys_write_stderr and local_sys_getpid: don't trash r7
in the inline assembly, because gcc doesn't like that when compiling
for Thumb.  And this file is compiled for Thumb during "make check".


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14927
2015-02-11 00:41:48 +00:00
Mark Wielaard
0279de2d80 Bug #344007 accept4 syscall unhandled on arm64 (242) and ppc64 (344)
ppc64 might fall back to socketcall in some cases, but arm64 always uses
accept4 syscall directly. Some (confusing) background on when/how glibc
(wrongly) decides to use a direct accept4 or the socketcall system call:
https://sourceware.org/ml/libc-alpha/2013-12/msg00014.html

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14926
2015-02-10 13:39:04 +00:00
Florian Krohm
2ba9e36810 Fix a bug introduced in r14913.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14925
2015-02-09 21:59:00 +00:00
Philippe Waroquiers
025b320e10 Ensure vgdb gets the nr of threads from Valgrind via shared memory,
rather than using a compile time constant.
This is in preparation for a future change by Florian, to have
the max nr of threads specifiable at startup via a clo


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14924
2015-02-09 21:30:58 +00:00
Mark Wielaard
c6f6839488 Bug #343978 Recognize DWARF5/GCC5 DW_LANG_Fortran 2003 and 2008 constants.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14923
2015-02-09 20:41:48 +00:00
Mark Wielaard
f5d2ce68f3 Bug #343967 Don't warn about setuid/setgid/setcap exec for dirs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14922
2015-02-09 13:27:07 +00:00
Julian Seward
e89a926e7b Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14921
2015-02-09 09:15:00 +00:00
Julian Seward
e9bceb36f4 Enable test cases for
FMOV (vector, immediate, single precision) 
  {FRINTN,FRINTM,FRINTP,FRINTZ,FRINTA,FRINTX,FRINTI} 2d_2d, 4s_4s, 2s_2s 
  {FRINTN,FRINTM,FRINTP,FRINTZ,FRINTA,FRINTX,FRINTI} d_d, s_s 


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14920
2015-02-09 09:10:27 +00:00
Julian Seward
fdf85be827 Enable test cases for all remaining FP multiply instructions:
FMULX d_d_d, s_s_s 
  FMLA d_d_d[], s_s_s[] 
  FMLS d_d_d[], s_s_s[] 
  FMUL  d_d_d[], s_s_s[] 
  FMULX d_d_d[], s_s_s[] 
  FMULX 2d_2d_2d, 4s_4s_4s, 2s_2s_2s 
  FMULX 2d_2d_d[], 4s_4s_s[], 2s_2s_s[] 
and possibly more.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14919
2015-02-08 18:26:05 +00:00
Julian Seward
2d03ad061a Enable test cases:
{FMADD,FNMADD,FMSUB,FNMSUB} d_d_d_d, s_s_s_s 
  {FMAXMNV,FMINMNV,FMAXV,FMINV} s_4s 
  {FMAXNMP,FMINNMP,FMAXP,FMINP} d_2d, s_2s 
  {FMAXNM,FMINNM,FMAX,FMIN} 2d_2d_2d, 4s_4s_4s, 2s_2s_2s 
  {FMAXNMP,FMINNMP,FMAXP,FMINP} 2d_2d_2d, 4s_4s_4s, 2s_2s_2s 


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14918
2015-02-08 12:11:52 +00:00
Mark Wielaard
1c42cad510 Bug 343733 Unhandled syscall 187 (msgctl and related) on aarch64
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14917
2015-02-07 22:58:51 +00:00
Mark Wielaard
997880f80c Bug 343732 - Unhandled syscall 144 (setgid) on aarch64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14916
2015-02-07 22:36:48 +00:00
Julian Seward
3bba0638f9 Enable test cases for all FP compare instructions:
{FCMEQ,FCMGE,FCMGT,FACGE,FACGT} d_d_d, s_s_s 
{FCMEQ,FCMGE,FCMGT,FACGE,FACGT} d_d_#0.0, s_s_#0.0 
{FCMEQ,FCMGE,FCMGT,FACGE,FACGT} 2d_2d_#0.0, 4s_4s_#0.0, 2s_2s_#0.0 
{FCCMP,FCCMPE} s_s, d_d 
{FCMP,FCMPE} d_d, s_s 
{FCMP,FCMPE} d_#0.0, s_#0.0 



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14915
2015-02-07 21:12:04 +00:00
Florian Krohm
75e739efc0 Revert accidental checkin for Makefile.am
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14914
2015-02-06 20:33:51 +00:00
Florian Krohm
c29515885b Fix undefined behaviours when shifting.
Found by libubsan.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14913
2015-02-06 20:32:15 +00:00
Florian Krohm
7a3d388632 There must be at least one element in a VLA.
Found by libubsan.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14912
2015-02-06 20:25:57 +00:00
Philippe Waroquiers
e352ffcafe Fix debug output of aspacemgr
The list of segnames was shown with a seq nr,
while each segment was referencing its segname with an offset.
The patch ensures that at all places, both the seq nr and the
offset is output



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14911
2015-02-05 22:30:57 +00:00
Julian Seward
7ea5dcc245 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14910
2015-02-05 16:22:43 +00:00
Julian Seward
43d073531e Update to track v4l2 API for kernel version 3.19 changes. Patch from
Hans Verkuil (hverkuil@xs4all.nl).  Fixes #343069.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14909
2015-02-05 15:59:01 +00:00
Julian Seward
fc8c7cbd98 Add wrapper support for I2C_SMBUS ioctls. Patch from
super.firetwister@gmail.com.  Fixes #342603.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14908
2015-02-05 15:52:46 +00:00
Julian Seward
8f2dab4d99 Enable sys_mbind, sys_get_mempolicy, sys_set_mempolicy on arm64-linux.
Patch from Hideaki Kimura (hideaki.kimura@gmail.com).  Fixes #342038.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14907
2015-02-05 15:28:28 +00:00
Julian Seward
45a0fb5e69 Allow the user to specify precise-exception behaviour for translations
made from file-backed mappings (AOT code, basically) that is different
from the default behaviour as specified by --vex-iropt-register-updates.

New flag is --px-file-backed=, with the same possible args as
--vex-iropt-register-updates has.

Add a new flag --px-default, which is a short alias for
--vex-iropt-register-updates.

Add one line of stats output when --stats=yes, showing counts of how
many translations have been made under each of the 4 different PX
optimisation settings.

No user-visible change if you don't use the new flags.

Relies on VEX API change in r3084.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14906
2015-02-05 12:59:46 +00:00
Christian Borntraeger
c95c10bea0 valgrind part to VEX:3083 Fix bugzilla 343802, also extend testcase
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14905
2015-02-05 11:05:53 +00:00
Julian Seward
cd601e28a4 Fix some inconsistent uses of the VG_XACT_CLO macro, by putting an
empty then-body after the condition rather than merely ";", which is
confusing and is inconsistent with the rest of the arg handling code.
No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14904
2015-02-05 10:05:43 +00:00
Julian Seward
55a7b396f1 Followup to r14901 (vectorising memcmp): use SizeT instead of Addr
where appropriate.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14903
2015-02-04 18:46:11 +00:00
Florian Krohm
1e8f017072 Remove unneeded code.
VG_(extend_stack) checks whether the given address is covered by the
stack.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14902
2015-02-04 18:01:19 +00:00
Julian Seward
bc14b1eb52 Vectorise the memcmp template implementation. For scenarios requiring
a lot of memcmp-ing (firefox reftests) this is measurably faster.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14901
2015-02-04 17:52:42 +00:00
Julian Seward
6ae81160f1 Update list of open bugs, and classify them by area.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14900
2015-02-03 12:27:30 +00:00
Philippe Waroquiers
4875942bb1 PTRACE_GETREGS might not be detected on some distro, due to a missing #include
in the configure test.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14899
2015-02-02 22:40:54 +00:00
Florian Krohm
aa74d46212 Replace the SegName array with a simple string table.
The validity of this change follows from the following observations:

(1) There is a single source for allocating and storing segment names,
    namely allocate_segname.
(2) For all invocations of allocate_segname the returned value (which
    represents the segmant name) is assigned to NSegment::fnIdx.
(3) All but one assignments to NSegment::fnIdx assign allocate_segname.
    The single exception assigns -1 in init_nsegment. That function is
    called whenever a new segment (named or unnamed) is allocated.

For a segment name to become unused there must be an assignment to
NSegment::fnIdx which was previously assigned a return value from 
allocate_segname. There is no such assignment.
It follows that all segment names are in use at all times, hence
SegName::inUse == True for all SegNames. So we can constant fold it
and don't need to represent it.
Pass 3 in preen_nsegments is obsolete as there are no segment names to
garbage collect.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14898
2015-01-31 00:29:50 +00:00
Florian Krohm
e882a1a485 Remove confusing function attribute. The function is always used (on all platforms).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14897
2015-01-30 22:21:16 +00:00
Florian Krohm
2a38d9d56a Fix an incorrect comment. Add asserts.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14896
2015-01-29 23:01:14 +00:00
Julian Seward
95f548a5cc Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14895
2015-01-28 12:04:21 +00:00
Julian Seward
f7069b81da Add test cases for AVX-1 conditional vector stores:
VMASKMOVP{D,S} xmm/ymm to memory.  Pertains to #335785.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14894
2015-01-28 11:49:46 +00:00
Julian Seward
179d4db6dd Add test cases for VPMASKMOV{D,Q} xmm/ymm to memory.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14893
2015-01-28 11:11:02 +00:00
Julian Seward
7c988b57cb Handle new value ILGop_Ident64 in enum type IRLoadGOp. This tracks
vex r3074.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14892
2015-01-27 23:10:19 +00:00
Florian Krohm
cb3b3b58b1 Remove unused field from NSegment structure.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14891
2015-01-27 20:46:19 +00:00
Rhys Kidd
18014c27f0 OS X 10.10: Fix incorrect check for presence of unsupported MACH_SEND_TRAILER in mach_msg. Partial fix for BZ #343306.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14890
2015-01-26 09:00:51 +00:00
Rhys Kidd
b8f97caf7d Darwin14.supp should include suppression for known deliberate memory leak in setenv(). Per BZ #343303.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14889
2015-01-26 03:44:07 +00:00
Rhys Kidd
479f864dd7 Partial fix for bz339745. Mac OS: Further progress worker queue thread support. Additional magic constants have been checked against OS X 10.9 and 10.10
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14888
2015-01-26 03:27:01 +00:00
Florian Krohm
250c96dd89 Followup to r14886. So it turned out that in m_addrinfo we were already
strduping the filename which I failed to spot. Thanks to Philippe for
pointing that out.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14887
2015-01-24 18:26:05 +00:00
Florian Krohm
e70cb7b851 VG_(am_get_filename) returns a pointer to memory that belongs to the
address space manager. Callers should neither modify the string nor
free it (as the string resides is statically allocated memory). That
calls for a   const HChar *
The type change exposed two bugs. One in m_addrinfo.c and one in 
m_debuginfo.c. In both cases the returned string could possibly be freed later
on. So we need to strdup it first. Now fixed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14886
2015-01-24 00:02:19 +00:00