]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
10 years agoMemcheck: add support for recently added IROps:
Julian Seward [Mon, 6 Apr 2015 14:52:28 +0000 (14:52 +0000)] 
Memcheck: add support for recently added IROps:
Iop_F64toF16
Iop_F32toF16
Iop_F16toF64
Iop_F16toF32

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15070

10 years agoarm64: enable test cases for
Julian Seward [Mon, 6 Apr 2015 14:49:42 +0000 (14:49 +0000)] 
arm64: enable test cases for

SCVTF d_d_imm, s_s_imm
UCVTF d_d_imm, s_s_imm
FCVTZS d_d_imm, s_s_imm
FCVTZU d_d_imm, s_s_imm
FCVTXN s_d
SCVTF d_d, s_s
UCVTF d_d, s_s
SCVTF {2d_2d,4s_4s,2s_2s}_imm
UCVTF {2d_2d,4s_4s,2s_2s}_imm
FCVTZS {2d_2d,4s_4s,2s_2s}_imm
FCVTZU {2d_2d,4s_4s,2s_2s}_imm
FCVTXN 2s/4s_2d
FCVTZ{S,U} {w,x}_{s,x}_#fbits

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15069

10 years agoThe linux launcher showed some odd behaviour. When given a shell script
Florian Krohm [Mon, 6 Apr 2015 14:29:45 +0000 (14:29 +0000)] 
The linux launcher showed some odd behaviour. When given a shell script
named 'now' with this contents:

#!
/bin/date

the platform selection logic does this:

--11196:1:launcher no tool requested, defaulting to 'memcheck'
--11196:2:launcher   selecting platform for './now'
--11196:2:launcher   selecting platform for './now'
--11196:2:launcher   opened './now'
--11196:2:launcher   read 13 bytes from './now'
--11196:2:launcher   selecting platform for ''
--11196:2:launcher   selecting platform for '/home/florian/bin/'
--11196:2:launcher   opened '/home/florian/bin/'
--11196:2:launcher   selected platform 'unknown'
--11196:1:launcher no platform detected, defaulting platform to 'amd64-linux'

That is not quite right. Instead the platform should be determined by
examining the default shell.
Additionally, define VKI_BINPRM_BUF_SIZE because on linux only that many
characters are considered on a #! line. C.f. <linux>/fs/binfmt_script.c
m_ume/* needs to be adapted as well but that is a different patch.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15068

10 years agoIgnore generated files.
Florian Krohm [Mon, 6 Apr 2015 14:24:44 +0000 (14:24 +0000)] 
Ignore generated files.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15067

10 years agoTweak STATIC_ASSERT such that there is no warning about an unused
Florian Krohm [Sat, 4 Apr 2015 18:43:00 +0000 (18:43 +0000)] 
Tweak STATIC_ASSERT such that there is no warning about an unused
variable when used at block scope.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15066

10 years agoNew directory: none/tests/scripts
Florian Krohm [Fri, 3 Apr 2015 15:47:19 +0000 (15:47 +0000)] 
New directory: none/tests/scripts
Move corresponding testcases there.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15065

10 years agoAdd testcase for BZ 231357.
Florian Krohm [Thu, 2 Apr 2015 22:02:24 +0000 (22:02 +0000)] 
Add testcase for BZ 231357.
To do that a small enhancement to vg_regtest was needed:
(1) New declaration to allow specifying an environemnt variable
    that is set prior to invoking valgrind.
    eg:    env:  VAR=VAL
    There can be more than one such declaration
(2) prog-asis:  program_name
    This is like prog: except the program name is not prefixed with
    the testdir.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15064

10 years agoWhen skipping white space after #! to find the interpreter
Florian Krohm [Thu, 2 Apr 2015 16:07:41 +0000 (16:07 +0000)] 
When skipping white space after #! to find the interpreter
only skip ' ' and tabs.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15063

10 years agoAdd a test that triggers sector recycling
Philippe Waroquiers [Wed, 1 Apr 2015 22:51:07 +0000 (22:51 +0000)] 
Add a test that triggers sector recycling
(cfr bug fix in revision 15058: without 15058, the below test
loops for ever).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15062

10 years agoCommit the VEX makefile changes needed to have the libvexmultiarch
Philippe Waroquiers [Wed, 1 Apr 2015 20:06:26 +0000 (20:06 +0000)] 
Commit the VEX makefile changes needed to have the libvexmultiarch
build and installed by default

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15061

10 years agoFix function sr_EQ which compares two SysRes values. On Linux it was
Florian Krohm [Wed, 1 Apr 2015 19:20:16 +0000 (19:20 +0000)] 
Fix function sr_EQ which compares two SysRes values. On Linux it was
forgotten to compare SysRes::_valEx.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15060

10 years agoFix infinite loop in sector recycling introduced by r15054
Philippe Waroquiers [Wed, 1 Apr 2015 18:15:42 +0000 (18:15 +0000)] 
Fix infinite loop in sector recycling introduced by r15054
(a regression test that will exercise sector recycling will follow)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15058

10 years agoAnnounce fix for 231257. A pretty old BZ. We must have fixed this
Florian Krohm [Wed, 1 Apr 2015 15:07:34 +0000 (15:07 +0000)] 
Announce fix for 231257. A pretty old BZ. We must have fixed this
in the meantime...

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15057

10 years agoFix Darwin: -v does not show kernel version
Rhys Kidd [Wed, 1 Apr 2015 12:15:49 +0000 (12:15 +0000)] 
Fix Darwin: -v does not show kernel version
bz#201435

Before:

== 590 tests, 237 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 590 tests, 237 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15056

10 years agoUpdate list of ignored files.
Florian Krohm [Tue, 31 Mar 2015 22:19:23 +0000 (22:19 +0000)] 
Update list of ignored files.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15055

10 years agoFurther reduction of the size of the sector TTE tables
Philippe Waroquiers [Tue, 31 Mar 2015 20:38:52 +0000 (20:38 +0000)] 
Further reduction of the size of the sector TTE tables
For default memcheck configuration, 32 bits) this patch
decreases by 13.6 MB ie. from 89945856 to 76317696.

Note that the type EClassNo is introduced only for readibility
purpose (and avoid some cast). That does not change the size
of the TTEntry.
The TTEntry size is reduced by using unions and/or Bool on 1 bit.

No performance impact detected (outer callgrind/inner memcheck bz2
on x86 shows a small improvement).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15054

10 years agoFix a typo
Philippe Waroquiers [Mon, 30 Mar 2015 21:29:54 +0000 (21:29 +0000)] 
Fix a typo

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15053

10 years agoUn-break the build following vex r3110. Thanks to PetarJ for the fix.
Julian Seward [Mon, 30 Mar 2015 19:14:35 +0000 (19:14 +0000)] 
Un-break the build following vex r3110.  Thanks to PetarJ for the fix.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15052

10 years agoarm64: enable test cases for
Julian Seward [Mon, 30 Mar 2015 18:50:23 +0000 (18:50 +0000)] 
arm64: enable test cases for
FCVT{N,M,A,P,Z}{S,U} 2d_2d, 4s_4s, 2s_2s

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15051

10 years agoarm64: add test cases for
Julian Seward [Mon, 30 Mar 2015 09:11:34 +0000 (09:11 +0000)] 
arm64: add test cases for
FCVT{N,M,A,P,Z}{S,U} d_d, s_s
FCVTN 4h/8h_4s, 2s/4s_2d
FCVTL 4s_4h/8h, 2d_2s/4s
FCVT Sd, Hn
FCVT Dd, Hn
FCVT Hd, Sn
FCVT Hd, Dn

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15050

10 years agomips: update list of ignored files in auxprogs
Petar Jovanovic [Mon, 30 Mar 2015 00:05:54 +0000 (00:05 +0000)] 
mips: update list of ignored files in auxprogs

Update the ignore list with:
- getoff-mips32-linux
- getoff-mips64-linux

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15049

10 years agoFix memcheck/tests/sendmsg on OS X
Rhys Kidd [Sun, 29 Mar 2015 05:21:15 +0000 (05:21 +0000)] 
Fix memcheck/tests/sendmsg on OS X
bz#345637
- Support the lowercase for of libsystem* in filter_libc script

Before:

== 590 tests, 238 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 590 tests, 237 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15048

10 years agoAdd STATIC_ASSERT and use it.
Florian Krohm [Sat, 28 Mar 2015 18:36:01 +0000 (18:36 +0000)] 
Add STATIC_ASSERT and use it.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15047

10 years agoExtensible main thread stack is tricky :(.
Philippe Waroquiers [Sat, 28 Mar 2015 12:52:23 +0000 (12:52 +0000)] 
Extensible main thread stack is tricky :(.

Revision 14976 causes a regression : stacktrace produced when the
stack has not yet been extended to cover SP will only contain one
element, as the stack limits are considered to be the limits of
the resvn segment.

This patch fixes that, by taking Resvn/SmUpper segment into
account to properly compute the limits.
It also contains a new regtest that fails with the trunk
(only one function in the stacktrace)
and succeeds with this patch (the 2 expected functions).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15046

10 years agoThe hint given by Valgrind gdbserver when enabling host visibility
Philippe Waroquiers [Sat, 28 Mar 2015 12:23:07 +0000 (12:23 +0000)] 
The hint given by Valgrind gdbserver when enabling host visibility
in gdbserver was wrongly giving the file load address,
instead of the text segment address start.
This means that GDB was then showing wrong symbols for an address
(typically, symbols slightly before the address being printed).

This patch ensures the hint given is using the text start address.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15045

10 years agoHelgrind optimisation:
Philippe Waroquiers [Sat, 28 Mar 2015 12:01:58 +0000 (12:01 +0000)] 
Helgrind optimisation:
* do VTS pruning only if new threads were declared
  very dead since the last pruning round.
* When doing pruning, use the new list of threads very dead
  to do the pruning : this decreases the cost of the dichotomic search
  in VTS__substract

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15044

10 years agomips64: extend the test with new cases for Cavium SEQI and SNEI
Petar Jovanovic [Sat, 28 Mar 2015 00:59:32 +0000 (00:59 +0000)] 
mips64: extend the test with new cases for Cavium SEQI and SNEI

Extend the test to introduce cases for SEQI and SNEI when immediate is
equal to the content of the GPR rs. Minor code style changes added.

Patch by Maran Pakkirisamy.

Related issue - BZ #341997.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15043

10 years agoChange the minimum allowable value of aspacem_minAddr to
Florian Krohm [Fri, 27 Mar 2015 08:47:22 +0000 (08:47 +0000)] 
Change the minimum allowable value of aspacem_minAddr to
be VKI_PAGE_SIZE. That follows from the requirement that
the address ought to be page aligned and > 0.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15042

10 years agoImprove --stats=yes:
Philippe Waroquiers [Thu, 26 Mar 2015 22:12:40 +0000 (22:12 +0000)] 
Improve --stats=yes:
 * give the avg nr of IPs per execontext
 * use the newly introduced %f in m_transtab.c ratio
   and in the avg nr of execontext per list

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15041

10 years agoAdd function VG_(am_is_valid_for_aspacem_minAddr) so that the parser
Florian Krohm [Thu, 26 Mar 2015 21:55:00 +0000 (21:55 +0000)] 
Add function VG_(am_is_valid_for_aspacem_minAddr) so that the parser
for command line options does not need to know what addresses are valid
for aspacem_minAddr.
That information should be hidden in the address space manager.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15040

10 years agoHave the very detailed gdbsrv debuglog (e.g. exchange of packets
Philippe Waroquiers [Thu, 26 Mar 2015 21:32:03 +0000 (21:32 +0000)] 
Have the very detailed gdbsrv debuglog (e.g. exchange of packets
between GDB and V gdbsrv, fetching/setting registers, ...) done
at debuglog level 3 instead of 1.
This allows to do gdbsrv commands at debuglog level 2
without seeing too much trace.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15039

10 years agoFurther fixes for bz#345394 specifically for OS X 10.10
Rhys Kidd [Thu, 26 Mar 2015 10:14:25 +0000 (10:14 +0000)] 
Further fixes for bz#345394 specifically for OS X 10.10

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15038

10 years ago* Add in helgrind stats the nr of live/exit/joined/exit and joined threads
Philippe Waroquiers [Tue, 24 Mar 2015 14:02:44 +0000 (14:02 +0000)] 
* Add in helgrind stats the nr of live/exit/joined/exit and joined threads
* avoid division by 0 in m_transtab.c stats before anything was done

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15037

10 years agoThis patch further reduces the memory used by TT/TC (by about 15Mb
Philippe Waroquiers [Mon, 23 Mar 2015 21:49:32 +0000 (21:49 +0000)] 
This patch further reduces the memory used by TT/TC (by about 15Mb
on 32 bits memcheck default nr of sectors).

Memory is reduced by using UShort typedef-s for Sector no and TTE no.
Note that for TTE no, we had a mixture of UShort, UInt and Int used
depending on the place (a TTE no was in any case constrained to be an UShort).

The bss memory/startup space is also reduced by allocating the htt on demand
(like tt and tc), using mmap the first time a sector is initialised.

Changes:
* pub_core_transtab.h :
   * 2 typedef to identify a sector and a tt entry (these 2 types are UShort)
   * add 2 #define 'invalid values' for these types
   * change the interface to use these types rather than UInt
* m_transtab.c
   * use wherever relevant these 2 new types rather than UInt or UShort
   * replace the use of -1 by INV_SNO or INV_TTE
   * remove now useless typecast from Int/UInt to UShort for tte
* schedule.c: use the new types

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15036

10 years agoSimplify expression.
Florian Krohm [Mon, 23 Mar 2015 20:04:14 +0000 (20:04 +0000)] 
Simplify expression.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15035

10 years agoAdd VG_(am_is_bogus_client_stack_pointer)(Addr).
Florian Krohm [Mon, 23 Mar 2015 17:13:04 +0000 (17:13 +0000)] 
Add VG_(am_is_bogus_client_stack_pointer)(Addr).
The function is used in VG_(client_syscall) to avoid extending the stack
when it is clear that the current value of the stack pointer does not
point into a segment that looks like a stack segment.
See the comments in the code there.
As a side effect of this we can now revert r15018 which increased
the stack size of the alternate stack in memcheck/tests/sigaltstack.c.
The reason is that the belief at the time: "alternate stack is too small"
was not correct. What instead happened was that VG_(client_syscall) called
VG_(extend_stack) without need (the syscall was tgkill) and the new stack
pointer happened to be in a file segment.
In other words: the current stack pointer was still within the alternate
stack, i.e. the alternate stack was (barely) large enough.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15034

10 years agoInclude the platform name in the unhandled system call message
Tom Hughes [Sun, 22 Mar 2015 11:01:58 +0000 (11:01 +0000)] 
Include the platform name in the unhandled system call message

We often get bug reports for an unhandled system call which don't
make it clear what platform is in use, which makes it impossible
to know which system call it is.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15033

10 years agoFix leak : only strdup in SectKind.objname if a SectKind address is returned
Philippe Waroquiers [Sat, 21 Mar 2015 20:55:36 +0000 (20:55 +0000)] 
Fix leak : only strdup in SectKind.objname if a SectKind address is returned

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15032

10 years ago343902 --vgdb=yes doesn't break when --xml=yes is used
Philippe Waroquiers [Sat, 21 Mar 2015 16:13:08 +0000 (16:13 +0000)] 
343902  --vgdb=yes doesn't break when --xml=yes is used

Changes ensures that gdbserver is called also when xml is yes.
When gdbserver is set to yes, we have to temporarily reset
xml output to no, as gdbserver output (e.g. print the last error)
has to be printed to gdb.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15031

10 years agoFix memcheck/tests/strchr on OS X
Rhys Kidd [Sat, 21 Mar 2015 14:25:02 +0000 (14:25 +0000)] 
Fix memcheck/tests/strchr on OS X
bz#345394
- Support the required index and _platform_strchr alias

Before:

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

After:

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

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15030

10 years agoChange the GCC demangler to not use VLA. The rationale is that these VLAs
Florian Krohm [Sat, 21 Mar 2015 10:58:37 +0000 (10:58 +0000)] 
Change the GCC demangler to not use VLA. The rationale is that these VLAs
are allocated on the stack and they can become quite large - in particular
when the client is a C++ application using the Boost library.
In combination with the demanglers recursive nature this can quickly lead
to exhaustion of valgrind's per-thread stack (which cannot be dynamically
grown). Additionally, due to the large VLAs (I've seen a 32k array) we
could run out of stack space without issuing a prior warning and instead
just segfault.
Therefore this patch allocates these arrays on the heap and frees them
later. Basically this is a respin of Joseph's r10385.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15029

10 years agoAddress darwin compile issue introduced in r15013, due to _IOC_NONE
Rhys Kidd [Sat, 21 Mar 2015 06:35:32 +0000 (06:35 +0000)] 
Address darwin compile issue introduced in r15013, due to _IOC_NONE

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15028

10 years agoFix parsing the %z format specifier. Need to advance to next character.
Florian Krohm [Fri, 20 Mar 2015 16:45:02 +0000 (16:45 +0000)] 
Fix parsing the %z format specifier. Need to advance to next character.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15027

10 years agoAdd ecag.stdout.exp-z13.
Florian Krohm [Fri, 20 Mar 2015 09:40:23 +0000 (09:40 +0000)] 
Add ecag.stdout.exp-z13.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15026

10 years agoDo not reuse Creg_IA_* for s390. Add dedicated entries Creg_S390_...
Florian Krohm [Fri, 20 Mar 2015 09:38:58 +0000 (09:38 +0000)] 
Do not reuse Creg_IA_* for s390. Add dedicated entries Creg_S390_...

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15025

10 years agoRemove config files for no-longer-existing s390 builds.
Florian Krohm [Fri, 20 Mar 2015 08:17:28 +0000 (08:17 +0000)] 
Remove config files for no-longer-existing s390 builds.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15024

10 years agoChange TT/TC hashing data structure (decreases memory by 50MB for memcheck 32bits)
Philippe Waroquiers [Thu, 19 Mar 2015 22:17:08 +0000 (22:17 +0000)] 
Change TT/TC hashing data structure (decreases memory by 50MB for memcheck 32bits)

This patch changes the way the transtab entries hash table is done.
Currently, the hash table is an open hash table considered full at 65%.
This means that in average, 1 entry on 3 is unused.
(all the hash table memory will be 'active' for big applications,
as the active entries are normally reasonably distributed over the hash table).
The size of a transtab entry is significant (about 150 Bytes).

To avoid having 35% of the entries unused, the translation table
is split in 2:
An hash table, that will contain an index pointing at the transtab entries.
With this technique, we are adding a small hash table,
but we spare 35% of the translation table.

Performance measurements have shown no degradation,
and some platforms have better performance. Not too clear why,
probably this helps platforms with small caches ?).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15023

10 years agoAdd nightly script for wildebeest[32] (debian x86), lfedora1 (fedora s390x)
Mark Wielaard [Thu, 19 Mar 2015 11:27:46 +0000 (11:27 +0000)] 
Add nightly script for wildebeest[32] (debian x86), lfedora1 (fedora s390x)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15022

10 years agoadd cache info for z13
Christian Borntraeger [Tue, 17 Mar 2015 15:48:11 +0000 (15:48 +0000)] 
add cache info for z13

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15021

10 years agoMinimal update to recognise z13 (s390).
Florian Krohm [Tue, 17 Mar 2015 13:45:29 +0000 (13:45 +0000)] 
Minimal update to recognise z13 (s390).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15020

10 years agoMerge the contents of docs/internals/howto_build_documentation
Florian Krohm [Mon, 16 Mar 2015 22:42:13 +0000 (22:42 +0000)] 
Merge the contents of docs/internals/howto_build_documentation
into docs/README.
Remove the section about the XML Toolchain as it is outdated.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15019

10 years agoIncrease the size of the alternate stack. It was too small.
Florian Krohm [Mon, 16 Mar 2015 22:03:42 +0000 (22:03 +0000)] 
Increase the size of the alternate stack. It was too small.
This was found by accident and there is no known way to detect
an overflow of an alternate stack in the general case.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15018

10 years agoAdd a howto for building documentation.
Florian Krohm [Mon, 16 Mar 2015 12:22:35 +0000 (12:22 +0000)] 
Add a howto for building documentation.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15017

10 years agoNew Option --avg-transtab-entry-size=<number> can be used to tune
Philippe Waroquiers [Sun, 15 Mar 2015 12:24:19 +0000 (12:24 +0000)] 
New Option --avg-transtab-entry-size=<number> can be used to tune
  the size of the translation table sectors, either to gain memory
  or to avoid too many retranslations.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15016

10 years agoFix the following errors detected by makefile check
Philippe Waroquiers [Sun, 15 Mar 2015 12:22:43 +0000 (12:22 +0000)] 
Fix the following errors detected by makefile check
memcheck/tests/Makefile.am:1: error: wrap8.stderr.exp-ppc64 is missing in EXTRA_DIST
memcheck/tests/Makefile.am:1: error: wrap8.stdout.exp-ppc64 is missing in EXTRA_DIST
memcheck/tests/Makefile.am:1: error: wrap8.stdout.exp2 is in EXTRA_DIST but doesn't exist
memcheck/tests/Makefile.am:1: error: wrap8.stderr.exp2 is in EXTRA_DIST but doesn't exist

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15015

10 years agoAdd option --loop-till-fail to tests/vg_regtests
Philippe Waroquiers [Sat, 14 Mar 2015 18:29:35 +0000 (18:29 +0000)] 
Add option --loop-till-fail to tests/vg_regtests
to make it easier to obtain failing trace or unfiltered output for
tests that fail from time to time

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15014

10 years agoFix the testcase so it works on platforms where _IOC_NONE != 0
Florian Krohm [Sat, 14 Mar 2015 15:54:05 +0000 (15:54 +0000)] 
Fix the testcase so it works on platforms where _IOC_NONE != 0
Filtering script and expected output file adapted.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15013

10 years agoOrganise the expected output files for the wrap8 testcase.
Florian Krohm [Sat, 14 Mar 2015 10:15:23 +0000 (10:15 +0000)] 
Organise the expected output files for the wrap8 testcase.
There is special behaviout on ppc64 only. Let the filenames
reflect that. At the same time update the ppc specific
output to what it is. The important thing here is that the
stack overflow is detected. Everything else is effectively a
don't care. Should line numbers and such differ in the future
that should be filtered out.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15012

10 years agoUpdate the ppc64 specific results to what they are.
Florian Krohm [Sat, 14 Mar 2015 09:44:04 +0000 (09:44 +0000)] 
Update the ppc64 specific results to what they are.
The difference of the expected results as compared to other
platforms is

- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
+ in frame #2, created by BZ2_blockSort (varinfo6.c:3107)

Should the stderr output of this testcase in the future
match the generic output (varinfo6.stderr.exp) then this is
another incarnation of
https://bugs.kde.org/show_bug.cgi?id=345121

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15011

10 years agoDisable testcase because the ptrace system call is not
Florian Krohm [Sat, 14 Mar 2015 09:30:36 +0000 (09:30 +0000)] 
Disable testcase because the ptrace system call is not
supported on ppc64.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15010

10 years agoSort locks by their guestaddr to make the error output independent
Florian Krohm [Fri, 13 Mar 2015 13:50:08 +0000 (13:50 +0000)] 
Sort locks by their guestaddr to make the error output independent
of the dynamically allocated Lock addresses.
This restores helgrind/tests/locked_vs_unlocked2.stderr.exp
from r14931.

While regtesting the patch I've observed intermittent failures
of helgrind/tests/hg05_race2 like so:

--- ../../helgrind/tests/hg05_race2.stderr.exp  (revision 15001)
+++ ../../helgrind/tests/hg05_race2.stderr.exp  (working copy)
@@ -26,8 +26,7 @@
    at 0x........: th (hg05_race2.c:17)
    by 0x........: mythread_wrapper (hg_intercepts.c:...)
    ...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
+ Address 0x........ is on thread #x's stack

 ----------------------------------------------------------------

@@ -42,8 +41,7 @@
    at 0x........: th (hg05_race2.c:17)
    by 0x........: mythread_wrapper (hg_intercepts.c:...)
    ...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
+ Address 0x........ is on thread #x's stack

Surely, that's something else.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15009

10 years agoFix a warnings introduced by rev 15005
Philippe Waroquiers [Thu, 12 Mar 2015 23:09:28 +0000 (23:09 +0000)] 
Fix a warnings introduced by rev 15005

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15008

10 years agoAnnounce in NEWS the new option --valgrind-stacksize
Philippe Waroquiers [Thu, 12 Mar 2015 22:53:18 +0000 (22:53 +0000)] 
Announce in NEWS the new option --valgrind-stacksize

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15007

10 years agoFix non portability spotted by Florian:
Philippe Waroquiers [Thu, 12 Mar 2015 22:46:58 +0000 (22:46 +0000)] 
Fix non portability spotted by Florian:
An array must have at least 1 element.
0 element is accepted by gcc but is not portable.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15006

10 years agom_transtab.c statistic/tracing
Philippe Waroquiers [Thu, 12 Mar 2015 22:36:22 +0000 (22:36 +0000)] 
m_transtab.c statistic/tracing
* common up the identical debug and clo_stat traces
* add in the stats the nr of sectors recycled
* add the avg translation size in each sector recycled
  and in the final statistics
(no functional change)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15005

10 years agoImplement command line option --valgrind-stacksize=<number>
Philippe Waroquiers [Thu, 12 Mar 2015 20:43:46 +0000 (20:43 +0000)] 
Implement command line option --valgrind-stacksize=<number>

This allows to decrease memory usage when using many threads,
if no big stacksize is needed by Valgrind.
If needed (e.g. for demangling big c++ symbols), the V stacksize
can be increased.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15004

10 years agoFix two bugs:
Florian Krohm [Thu, 12 Mar 2015 18:56:21 +0000 (18:56 +0000)] 
Fix two bugs:
(1) In r14664 VG_(get_fnname_if_entry) was changed to always
    return a function name, even if that function was *not* an
    entry. That broke callgrind and was also confusing because
    it contradicts what "get_fnname_if_entry" suggests.
(2) In r14189 a function call was removed because it was considered
    redundant which it was not.

Both bugs were hunted down by Joseph Weidendorfer.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15003

10 years agoAnnounce fix for BZ #345079.
Florian Krohm [Thu, 12 Mar 2015 11:02:11 +0000 (11:02 +0000)] 
Announce fix for BZ #345079.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15002

10 years agoRemove assertion. Unlikely as it may be, len may be huge
Florian Krohm [Wed, 11 Mar 2015 22:16:22 +0000 (22:16 +0000)] 
Remove assertion. Unlikely as it may be, len may be huge
and therefore we cannot assert otherwise.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15001

10 years agoUpdate a comment.
Florian Krohm [Wed, 11 Mar 2015 13:46:14 +0000 (13:46 +0000)] 
Update a comment.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15000

10 years agoUpdate release notes with ICC contact.
Florian Krohm [Tue, 10 Mar 2015 21:31:06 +0000 (21:31 +0000)] 
Update release notes with ICC contact.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14999

10 years agoAnnounce support for Intel's ICC compiler. Fixes BZ #339542.
Florian Krohm [Tue, 10 Mar 2015 20:48:07 +0000 (20:48 +0000)] 
Announce support for Intel's ICC compiler. Fixes BZ #339542.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14998

10 years agoIssue a warning if a function has more than 5 million bytes of
Florian Krohm [Tue, 10 Mar 2015 20:46:58 +0000 (20:46 +0000)] 
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

10 years agoUpdated the NEWS file
Carl Love [Tue, 10 Mar 2015 18:53:15 +0000 (18:53 +0000)] 
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

10 years agoAdd support for building with -fsanitize=undefined.
Florian Krohm [Tue, 10 Mar 2015 16:13:59 +0000 (16:13 +0000)] 
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

10 years agoPRE(sys_prctl): handle PR_SET_SECCOMP.
Julian Seward [Tue, 10 Mar 2015 11:05:10 +0000 (11:05 +0000)] 
PRE(sys_prctl): handle PR_SET_SECCOMP.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14994

10 years agoNew function VG_(am_mmap_client_heap) which swallows
Florian Krohm [Sat, 7 Mar 2015 23:01:14 +0000 (23:01 +0000)] 
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

10 years ago342353 - Allow dumping full massif output while valgrind is still running
Philippe Waroquiers [Sat, 7 Mar 2015 19:20:12 +0000 (19:20 +0000)] 
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

10 years agoupdate NEWS to indicate that
Philippe Waroquiers [Sat, 7 Mar 2015 17:31:04 +0000 (17:31 +0000)] 
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

10 years agon-i-bz: Replace non-POSIX bzero with proper memset. At least for internal-only, Darwi...
Rhys Kidd [Sat, 7 Mar 2015 14:57:39 +0000 (14:57 +0000)] 
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

10 years agoFix memcheck/tests/xml1 on OS X 10.10
Rhys Kidd [Sat, 7 Mar 2015 13:34:02 +0000 (13:34 +0000)] 
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

10 years agoRewritten to use a single line instead of line splicing
Florian Krohm [Sat, 7 Mar 2015 12:49:32 +0000 (12:49 +0000)] 
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

10 years agoFix unhandled syscall: unix:348 (__pthread_chdir) and unhandled syscall: unix:349...
Rhys Kidd [Sat, 7 Mar 2015 08:36:20 +0000 (08:36 +0000)] 
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

10 years agoTweak test case for bz#344560 from r14985, now includes line numbers
Rhys Kidd [Sat, 7 Mar 2015 06:11:08 +0000 (06:11 +0000)] 
Tweak test case for bz#344560 from r14985, now includes line numbers

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14986

10 years agoFix stack traces missing penultimate frame
Rhys Kidd [Sat, 7 Mar 2015 05:22:12 +0000 (05:22 +0000)] 
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

10 years agon-i-bz: Small fixes to r14976 (bz#343173) to add stackteardown to svn:ignore and...
Rhys Kidd [Sat, 7 Mar 2015 01:21:28 +0000 (01:21 +0000)] 
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

10 years agoUpdate.
Julian Seward [Fri, 6 Mar 2015 09:20:51 +0000 (09:20 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14983

10 years agoUpdate comment about range checks with observations from Florian.
Julian Seward [Fri, 6 Mar 2015 09:19:38 +0000 (09:19 +0000)] 
Update comment about range checks with observations from Florian.
No functional change.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14982

10 years agoMake printing of transtab: debug-log messages slightly prettier.
Julian Seward [Thu, 5 Mar 2015 11:28:57 +0000 (11:28 +0000)] 
Make printing of transtab: debug-log messages slightly prettier.
No functional change.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14981

10 years agoUpdate.
Julian Seward [Thu, 5 Mar 2015 11:25:52 +0000 (11:25 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14980

10 years agoMarginally improve debug printing. No functional change.
Julian Seward [Thu, 5 Mar 2015 11:24:05 +0000 (11:24 +0000)] 
Marginally improve debug printing.  No functional change.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14979

10 years agoPOST(sys_ioctl): identify kernel variant "Qualcomm Adreno 3xx" correctly.
Julian Seward [Thu, 5 Mar 2015 11:22:41 +0000 (11:22 +0000)] 
POST(sys_ioctl): identify kernel variant "Qualcomm Adreno 3xx" correctly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14978

10 years agoMinor changes in an attempt to improve performance and reduce
Julian Seward [Thu, 5 Mar 2015 00:52:07 +0000 (00:52 +0000)] 
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

10 years agoFix 343173 - helgrind crash during stack unwind
Philippe Waroquiers [Tue, 3 Mar 2015 22:00:06 +0000 (22:00 +0000)] 
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

10 years agoUpdate list of ignored files.
Florian Krohm [Tue, 3 Mar 2015 14:58:29 +0000 (14:58 +0000)] 
Update list of ignored files.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14975

10 years agoProduce a user message in case of stack overflow.
Florian Krohm [Tue, 3 Mar 2015 14:56:17 +0000 (14:56 +0000)] 
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

10 years agoUpdate a comment. Apparently the code was refactored at some point...
Florian Krohm [Mon, 2 Mar 2015 21:10:46 +0000 (21:10 +0000)] 
Update a comment. Apparently the code was refactored at some point...

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14973

10 years agoFix missing libobjc suppressions on OS X 10.10
Rhys Kidd [Sun, 1 Mar 2015 13:22:21 +0000 (13:22 +0000)] 
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

10 years agoChange the testcase such that the output matches the intended output.
Florian Krohm [Sun, 1 Mar 2015 09:36:54 +0000 (09:36 +0000)] 
Change the testcase such that the output matches the intended output.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14971

10 years agoFix suppression for pthread_rwlock_init on OS X 10.10
Rhys Kidd [Sun, 1 Mar 2015 01:35:59 +0000 (01:35 +0000)] 
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