]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
11 years agoUn-break the build on OS X 10.8 following r14057
Julian Seward [Fri, 20 Jun 2014 13:08:51 +0000 (13:08 +0000)] 
Un-break the build on OS X 10.8 following r14057
(0001-adding-support-for-loads-of-new-syscall-in-darwin-10.patch)

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

11 years agoMac OS X 10.9 improvements. Bug 326724 comment 27 patch name
Julian Seward [Fri, 20 Jun 2014 12:35:00 +0000 (12:35 +0000)] 
Mac OS X 10.9 improvements.  Bug 326724 comment 27 patch name
"0001-adding-support-for-loads-of-new-syscall-in-darwin-10.patch"
(Frederic Germain, frederic.germain@gmail.com)

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

11 years agoUn-break the build on OS X 10.8 following
Julian Seward [Fri, 20 Jun 2014 12:09:10 +0000 (12:09 +0000)] 
Un-break the build on OS X 10.8 following
14055 ("initial build support for Mac OS X 10.9")

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

11 years agoAdd initial build support for Mac OS X 10.9 (Mavericks). Bug 326724
Julian Seward [Fri, 20 Jun 2014 11:48:38 +0000 (11:48 +0000)] 
Add initial build support for Mac OS X 10.9 (Mavericks).  Bug 326724
comment 12.  (Diego Giagio, diego@giagio.com)

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

11 years agoEnable/enhance test cases for: dup_{d_d[], s_s[], h_h[], b_b[]}, ext
Julian Seward [Thu, 19 Jun 2014 22:21:28 +0000 (22:21 +0000)] 
Enable/enhance test cases for: dup_{d_d[], s_s[], h_h[], b_b[]}, ext

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

11 years agoImprove/fix hash table collision statistics + remove useless space in gdbsrv hostvisi...
Philippe Waroquiers [Thu, 19 Jun 2014 20:33:27 +0000 (20:33 +0000)] 
Improve/fix hash table collision statistics + remove useless space in gdbsrv hostvisibility keywork

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

11 years agoEnable test cases for: orr_{8h,4h}_imm8_shifted,
Julian Seward [Thu, 19 Jun 2014 14:22:20 +0000 (14:22 +0000)] 
Enable test cases for: orr_{8h,4h}_imm8_shifted,
orr_{4s,2s}_imm8_shifted, bic_{8h,4h}_imm8_shifted,
bic_{4s,2s}_imm8_shifted, cls_std6_std6, cm{eq,ge,gt,hi,hs,tst}_d_d_d,
cm{ge,gt,le,lt}_d_d_zero, cnt_{16,8}b_{16,8}b

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

11 years agoWhen printing "REDIR:" lines at -v, print not only the name of the
Julian Seward [Tue, 17 Jun 2014 20:37:08 +0000 (20:37 +0000)] 
When printing "REDIR:" lines at -v, print not only the name of the
function being redirected but also the soname of the object that it is
in.  This makes it a bit easier to diagnose redirection problems.

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

11 years agorestructure dwarf3 DIE tracing
Philippe Waroquiers [Tue, 17 Jun 2014 20:21:26 +0000 (20:21 +0000)] 
restructure dwarf3 DIE tracing
* add a trace_DIE function
* use it to trace a bad DIE
  and to trace all DIEs that are (maybe) read

(due to the "avoid read twice" optimisation, the tracing was not
so easy to read anymore => add an explicit trace_DIE call at the beginning
of read_DIE)

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

11 years agooptimisation : avoid double reading of a DIE when the DIE will be parsed
Philippe Waroquiers [Mon, 16 Jun 2014 21:49:42 +0000 (21:49 +0000)] 
optimisation : avoid double reading of a DIE when the DIE will be parsed
by a DIE parser

Instead of pre-reading the DIE, first let the parser(s) possibly
parse the DIE. Read (to skip) the DIE data if no parser has parsed it.
OTherwise, just jump to the end of the DIE as established by the parser
that has read the DIE.

This slightly improves the reading of inlined info.

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

11 years agoRefine NEWS entry for helgrind Ada tasks intercepts
Philippe Waroquiers [Mon, 16 Jun 2014 21:26:24 +0000 (21:26 +0000)] 
Refine NEWS entry for helgrind Ada tasks intercepts

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

11 years agoUse a string literal format to avoid a gcc warning (-Wformat-security)
Philippe Waroquiers [Mon, 16 Jun 2014 21:25:31 +0000 (21:25 +0000)] 
Use a string literal format to avoid a gcc warning (-Wformat-security)

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

11 years agoAdd helgrind intercepts to have helgrind understanding Ada tasks terination rules
Philippe Waroquiers [Mon, 16 Jun 2014 20:00:14 +0000 (20:00 +0000)] 
Add helgrind intercepts to have helgrind understanding Ada tasks terination rules
A recent gnatpro version is needed for this to work.

Thanks to these intercepts, some false positive errors are avoided,
and helgrind properly recuperates some internal memory associated
to the terminated task.

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

11 years agoAnnounce in NEWS 199144 == 278972
Philippe Waroquiers [Mon, 16 Jun 2014 18:28:51 +0000 (18:28 +0000)] 
Announce in NEWS 199144  == 278972

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

11 years agoFix random crash due to non-init inlparser when --read-var-info given but not --read...
Philippe Waroquiers [Mon, 16 Jun 2014 18:08:02 +0000 (18:08 +0000)] 
Fix random crash due to non-init inlparser when --read-var-info given but not --read-inline-info

Wrong place for the assertion for the inlparser
+ move the "zero the parsers" out of the "if VG_(clo*)" conditions

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

11 years agoHandle new IROp Iop_Abs64x2.
Julian Seward [Sun, 15 Jun 2014 21:56:54 +0000 (21:56 +0000)] 
Handle new IROp Iop_Abs64x2.

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

11 years agoEnable test cases for instructions implemented today.
Julian Seward [Sun, 15 Jun 2014 21:56:28 +0000 (21:56 +0000)] 
Enable test cases for instructions implemented today.

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

11 years agoAdd a comment to document a possible optimisation (avoid double reading
Philippe Waroquiers [Sun, 15 Jun 2014 21:49:13 +0000 (21:49 +0000)] 
Add a comment to document a possible optimisation (avoid double reading
of DIEs when one or more parsers will read them also)
+ add the name of the parser in the barf output.

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

11 years agoWhen only reading inline info, no need to parse debug_types sections
Philippe Waroquiers [Sun, 15 Jun 2014 19:16:46 +0000 (19:16 +0000)] 
When only reading inline info, no need to parse debug_types sections

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

11 years agoFix some obsolete comments, now that we have an ht of parsed abbvs
Philippe Waroquiers [Sun, 15 Jun 2014 18:28:31 +0000 (18:28 +0000)] 
Fix some obsolete comments, now that we have an ht of parsed abbvs

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

11 years agoseparate the tracing code in other function, call the tracing code only
Philippe Waroquiers [Sun, 15 Jun 2014 18:06:20 +0000 (18:06 +0000)] 
separate the tracing code in other function, call the tracing code only
if trace active.

This makes the code somewhat easier to read and somewhat more efficient

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

11 years agoAnnounce in NEWS the support for inlined function calls in stacktraces/suppressions
Philippe Waroquiers [Sun, 15 Jun 2014 15:54:58 +0000 (15:54 +0000)] 
Announce in NEWS the support for inlined function calls in stacktraces/suppressions

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

11 years agoThis patch implements the support needed for stacktraces
Philippe Waroquiers [Sun, 15 Jun 2014 15:42:20 +0000 (15:42 +0000)] 
This patch implements the support needed for stacktraces
showing inlined function calls.
See 278972 valgrind stacktraces and suppression do not handle inlined function call debuginfo

Reading the inlined dwarf call info is activated using the new clo
  --read-inline-info=yes
Default is currently no but an objective is to optimise the performance
and memory in order to possibly set it on by default.
(see below discussion about performances).

Basically, the patch provides the following pieces:
1. Implement a new dwarf3 reader that reads the inlined call info
2. Some performance improvements done for this new parser, and
   on some common code between the new parser and the var info parser.
3. Use the parsed inlined info to produce stacktrace showing inlined calls
4. Use the parsed inlined info in the suppression matching and suppression generation
5. and of course, some reg tests

1. new dwarf3 reader:
---------------------
Two options were possible: add the reading of the inlined info
in the current var info dwarf reader, or add a 2nd reader.
The 2nd approach was preferred, for the following reasons:
The var info reader is slow, memory hungry and quite complex.
Having a separate parsing phase for the inlined information
is simpler/faster when just reading the inlined info.
Possibly, a single parser would be faster when using both
--read-var-info=yes and --read-inline-info=yes.
However, var-info being extremely memory/cpu hungry, it is unlikely
to be used often, and having a separate parsing for inlined info
does in any case make not much difference.
(--read-var-info=yes is also now less interesting thanks to commit
r13991, which provides a fast and low memory "reasonable" location
for an address).

The inlined info parser reads the dwarf info to make calls
to priv_storage.h ML_(addInlInfo).

2. performance optimisations
----------------------------
* the abbrev cache has been improved in revision r14035.
* The new parser skips the non interesting DIEs
  (the var-info parser has no logic to skip uninteresting DIEs).
* Some other minor perf optimisation here and there.
In total now, on a big executable, 15 seconds CPU are needed to
create the inlined info (on my slow x86 pentium).

With regards to memory, the dinfo arena:
with inlined info: 172281856/121085952  max/curr mmap'd
without          : 157892608/106721280  max/curr mmap'd,
So, basically, inlined information costs about 15Mb of memory for
my big executable (compared to first version of the patch, this is
already using less memory, thanks to the strpool deduppoolalloc.
The needed memory can probably be decreased somewhat more.

3. produce better stack traces
------------------------------
VG_(describe_IP) has a new argument InlIPCursor *iipc which allows
to describe inlined function calls by doing repetitive calls
to describe_IP. See pub_tool_debuginfo.h for a description.

4. suppression generation and matching
--------------------------------------
* suppression generation now also uses an InlIPCursor *iipc
  to generate a line for each inlined fn call.

* suppression matching: to allow suppression matching to
match one IP to several function calls in a suppression entry,
the 'inputCompleter' object (that allows to lazily generate
function or object names for a stacktrace when matching
an error with a suppression) has been generalised a little bit
more to also lazily generate the input sequence.
VG_(generic_match) has been updated so as to be more generic
with respect to the input completer : when providing an
input completer, VG_(generic_match) does not need anymore
to produce/compute any input itself : this is all delegated
to the input completer.

5. various regtests
-------------------
to test stack traces with inlined calls, and suppressions
of (some of) these errors using inlined fn calls matching.

Work still to do:
-----------------
* improve parsing performance
* improve the memory overhead.
* handling the directory name for files of the inlined function calls is not yet done.
  (probably implies to refactor some code)
* see if m_errormgr.c *offsets arrays cannot be managed via xarray

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

11 years agoImprove performance of dwarf3 reader using a hashtable of parsed abbreviations
Philippe Waroquiers [Sun, 15 Jun 2014 10:51:14 +0000 (10:51 +0000)] 
Improve performance of dwarf3 reader using a hashtable of parsed abbreviations

For each DIE, the dwarf3 reader must know which data elements to read.
These elements are described by an abbreviation.
Re-reading these abbreviations for each DIE is costly as
the location of the needed abbreviation is found by scanning the full
abbv section, which is very costly.
(A small cache of 32 abbv offsets in the abbv section somewhat decreases
the cost, but reading the abbvs is still a hot spot, in particular for
big debug informations).

This patch:
  * adds an hash table of parsed abbreviations
  * all abbreviations for a CU are read in one single scan of the abbv
    section, when the CU header is read
So, with the patch, the di image is not accessed anymore for reading the abbvs
after the CU header parsing.

On a big executable, --read-var-info=yes user cpu changes from
  trunk:      320 seconds
to
  abbv cache: 270 seconds

This further improves on a previous (not committed) abbv cache that
was just caching up to 513 entries in the abbv pos cache and populating
the cache with an initial scan. The user cpu for this version was 285 seconds.

NB: this is some work in anticipation of a following patch that
will add reading dwarf3 inlined information, with the hope to make
this reading fast enough to activate it by default.

Note: on the examples I looked at, all abbreviations were numbered starting
from 1, with no holes. If that would always be the case, then one could use
an xarray of parsed abbreviations rather than an hash table. However,
I found nothing in the dwarf standard that guarantees that abbreviations
are numbered from 1. So, the hash table.

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

11 years agosmall improvement in x86 unwind debug tracing
Philippe Waroquiers [Sat, 14 Jun 2014 22:12:37 +0000 (22:12 +0000)] 
small improvement in x86 unwind debug tracing

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

11 years agoDo not destroy the strpool if NULL
Philippe Waroquiers [Sat, 14 Jun 2014 19:09:22 +0000 (19:09 +0000)] 
Do not destroy the strpool if NULL
It is possible that a debug info contains no string (and so strpool
is never allocated).
A protection to avoid accessing strpool was already necessary
in ML_(canonicaliseTables) :
   if (di->strpool)
      VG_(freezeDedupPA) (di->strpool);

So, if a similar debug info is released, we need the same protection
to avoid accessing a NULL strpool.

Detect by Julian on arm64, but not (at least easily) reproduced on amd64.

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

11 years agoAdd test cases for LD1R (single structure, replicate).
Julian Seward [Sat, 14 Jun 2014 18:06:14 +0000 (18:06 +0000)] 
Add test cases for LD1R (single structure, replicate).

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

11 years agodrd: Revert r14023
Bart Van Assche [Sat, 14 Jun 2014 16:39:46 +0000 (16:39 +0000)] 
drd: Revert r14023

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

11 years agodrd/tests/std_thread2: Disable this test temporarily such that the suppression patter...
Bart Van Assche [Sat, 14 Jun 2014 16:39:28 +0000 (16:39 +0000)] 
drd/tests/std_thread2: Disable this test temporarily such that the suppression patterns can be restored

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

11 years agoThis patch adds a 'de-duplicating memory pool allocator':
Philippe Waroquiers [Sat, 14 Jun 2014 16:30:09 +0000 (16:30 +0000)] 
This patch adds a 'de-duplicating memory pool allocator':
  include/pub_tool_deduppoolalloc.h
  coregrind/pub_core_deduppoolalloc.h
  coregrind/m_deduppoolalloc.c
and uses it (currently only) for the strings in m_debuginfo/storage.c
The idea is that such ddup pool allocator will also be used for other
highly duplicated information (e.g. the DiCFSI information), where
significant gains can also be achieved.
The dedup pool for strings also decreases significantly the memory
needed by the read inline information (patch still to be committed,
see bug 278972).

When testing with a big executable (tacot_process),
this reduces the size of the dinfo arena from
  trunk:  158941184/109760512  max/curr mmap'd, 156775944/107882728 max/curr,
to
  ddup:   157892608/106614784  max/curr mmap'd, 156362160/101414712 max/curr

(so 3Mb less mmap-ed once debug info is read, 1Mb less mmap-ed in peak,
6Mb less allocated once debug info is read).

This is all gained due to the string which changes from:
  trunk:   17,434,704 in       266: di.storage.addStr.1
to
  ddup:    10,966,608 in       750: di.storage.addStr.1
(6.5Mb less memory used by strings)
The gain in mmap-ed memory is smaller due to fragmentation.
Probably one could decrease the fragmentation by using bigger
size for the dedup pool, but then we would lose memory on the last
allocated pool (and for small libraries, we often do not use much
of a big pool block).
Solution might be to increase the pool size but have a "shrink_block"
operation. To be looked at in the future.

In terms of performance, startup of a big executable (on an old pentium)
is not influenced significantly (something like 0.1 seconds on 15 seconds
startup for a big executable, on a slow pentium).

The dedup pool uses a hash table. The hash function used currently
is the VG_(adler32) check sum. It is reported (and visible also here)
that this checksum is not a very good hash function (many collisions).

To have statistics about collisions, use  --stats -v -v -v

As an example of the collisions, on the strings in debug info of memcheck tool on x86,
one obtain:
   --4789-- dedupPA:di.storage.addStr.1 9983 allocs (8174 uniq) 11 pools (4820 bytes free in last pool)
   --4789-- nr occurences of chains of len N, N-plicated keys, N-plicated elts
   --4789-- N: 0 : nr chain   6975, nr keys      0, nr elts      0
   --4789-- N: 1 : nr chain   3670, nr keys   6410, nr elts   8174
   --4789-- N: 2 : nr chain   1070, nr keys    226, nr elts      0
   --4789-- N: 3 : nr chain    304, nr keys    100, nr elts      0
   --4789-- N: 4 : nr chain    104, nr keys     84, nr elts      0
   --4789-- N: 5 : nr chain     72, nr keys     42, nr elts      0
   --4789-- N: 6 : nr chain     44, nr keys     34, nr elts      0
   --4789-- N: 7 : nr chain     18, nr keys     13, nr elts      0
   --4789-- N: 8 : nr chain     17, nr keys      8, nr elts      0
   --4789-- N: 9 : nr chain      4, nr keys      6, nr elts      0
   --4789-- N:10 : nr chain      9, nr keys      4, nr elts      0
   --4789-- N:11 : nr chain      1, nr keys      0, nr elts      0
   --4789-- N:13 : nr chain      1, nr keys      1, nr elts      0
   --4789-- total nr of unique   chains:  12289, keys   6928, elts   8174
which shows that on 8174 different strings, we have only 6410 strings which have
a unique hash value. As other examples, N:13 line shows we have 13 strings
mapping to the same key. N:14 line shows we have 4 groups of 10 strings mapping to the
same key, etc.
So, adler32 is definitely a bad hash function.
Trials have been done with another hash function, giving a much lower
collision rate. So, a better (but still fast) hash function would probably
be beneficial. To be looked at ...

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

11 years agoEnhance slightly the x86 debug trace unwind code
Philippe Waroquiers [Sat, 14 Jun 2014 10:04:51 +0000 (10:04 +0000)] 
Enhance slightly the x86 debug trace unwind code

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

11 years agoFix the cleanup: line to avoid an error message in case the
Florian Krohm [Thu, 12 Jun 2014 15:37:15 +0000 (15:37 +0000)] 
Fix the cleanup: line to avoid an error message in case the
file does not exist.

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

11 years agoAdd test cases for FMUL 2d_2d_d[], 4s_4s_s[], 2s_2s_s[].
Julian Seward [Thu, 12 Jun 2014 13:16:43 +0000 (13:16 +0000)] 
Add test cases for FMUL 2d_2d_d[], 4s_4s_s[], 2s_2s_s[].

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

11 years agoAdd tests for movi_4s_#imm8,lsl8 and ushr_d_d_#imm.
Julian Seward [Thu, 12 Jun 2014 10:13:44 +0000 (10:13 +0000)] 
Add tests for movi_4s_#imm8,lsl8 and ushr_d_d_#imm.

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

11 years agoconfigure.ac: Fix Boost detection test
Bart Van Assche [Thu, 12 Jun 2014 07:45:23 +0000 (07:45 +0000)] 
configure.ac: Fix Boost detection test

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

11 years agoglibc-2.X-drd.supp: Add support for --num-callers=1
Bart Van Assche [Wed, 11 Jun 2014 06:57:02 +0000 (06:57 +0000)] 
glibc-2.X-drd.supp: Add support for --num-callers=1

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

11 years agodrd/tests/std_thread2: Make this test independent of the libstdc++ version
Bart Van Assche [Wed, 11 Jun 2014 06:39:03 +0000 (06:39 +0000)] 
drd/tests/std_thread2: Make this test independent of the libstdc++ version

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

11 years agoEnable test for movi_{16b,8b}_#imm8.
Julian Seward [Tue, 10 Jun 2014 22:53:01 +0000 (22:53 +0000)] 
Enable test for movi_{16b,8b}_#imm8.

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

11 years agoUpdate.
Julian Seward [Tue, 10 Jun 2014 12:05:33 +0000 (12:05 +0000)] 
Update.

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

11 years agodrd/tests/std_thread2: Filter out libstdc++ header file line numbers
Bart Van Assche [Tue, 10 Jun 2014 07:46:50 +0000 (07:46 +0000)] 
drd/tests/std_thread2: Filter out libstdc++ header file line numbers

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

11 years agoAvoid warnings due to implicit conversion between void*, Addr, and fn pointers
Philippe Waroquiers [Mon, 9 Jun 2014 22:08:45 +0000 (22:08 +0000)] 
Avoid warnings due to implicit conversion between void*, Addr, and fn pointers

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

11 years agoWhen enabling hostvisibility in gdbsrv, give a more user friendly
Philippe Waroquiers [Mon, 9 Jun 2014 15:47:46 +0000 (15:47 +0000)] 
When enabling hostvisibility in gdbsrv, give a more user friendly
message for the required GDB add-symbol-file command

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

11 years agodrd/tests: Update Subversion ignore list
Bart Van Assche [Mon, 9 Jun 2014 09:20:20 +0000 (09:20 +0000)] 
drd/tests: Update Subversion ignore list

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

11 years agodrd: Ignore ordering introduced by a mutex used in the thread creation wrapper
Bart Van Assche [Mon, 9 Jun 2014 09:19:26 +0000 (09:19 +0000)] 
drd: Ignore ordering introduced by a mutex used in the thread creation wrapper

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

11 years agodrd/tests/std_thread2: Add
Bart Van Assche [Mon, 9 Jun 2014 09:01:46 +0000 (09:01 +0000)] 
drd/tests/std_thread2: Add

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

11 years agodrd/tests/local_static: Disable because g++ does not yet allow proper interception...
Bart Van Assche [Mon, 9 Jun 2014 09:00:42 +0000 (09:00 +0000)] 
drd/tests/local_static: Disable because g++ does not yet allow proper interception of initialization of local static variables

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

11 years agodrd: Add __cxa_guard_*() intercepts
Bart Van Assche [Mon, 9 Jun 2014 07:55:14 +0000 (07:55 +0000)] 
drd: Add __cxa_guard_*() intercepts

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

11 years agodrd/tests/local_static: Fix a typo
Bart Van Assche [Mon, 9 Jun 2014 07:38:32 +0000 (07:38 +0000)] 
drd/tests/local_static: Fix a typo

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

11 years agodrd/tests: Update Subversion ignore list
Bart Van Assche [Mon, 9 Jun 2014 06:56:06 +0000 (06:56 +0000)] 
drd/tests: Update Subversion ignore list

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

11 years agodrd/tests/local_static: Add
Bart Van Assche [Mon, 9 Jun 2014 06:54:30 +0000 (06:54 +0000)] 
drd/tests/local_static: Add

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

11 years agogdbserver_tests: Update Subversion ignore list
Bart Van Assche [Mon, 9 Jun 2014 06:53:13 +0000 (06:53 +0000)] 
gdbserver_tests: Update Subversion ignore list

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

11 years agomemcheck/tests: Update Subversion ignore list
Bart Van Assche [Mon, 9 Jun 2014 06:52:46 +0000 (06:52 +0000)] 
memcheck/tests: Update Subversion ignore list

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

11 years agonone/tests/amd64: Update Subversion ignore list
Bart Van Assche [Mon, 9 Jun 2014 06:52:24 +0000 (06:52 +0000)] 
none/tests/amd64: Update Subversion ignore list

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

11 years agoshared: Update ignore list
Bart Van Assche [Mon, 9 Jun 2014 06:51:03 +0000 (06:51 +0000)] 
shared: Update ignore list

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

11 years agodrd manual: Fix C++11 instructions
Bart Van Assche [Sat, 7 Jun 2014 13:16:24 +0000 (13:16 +0000)] 
drd manual: Fix C++11 instructions

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

11 years agodrd/tests/std_thread: Remove two superfluous macro definitions
Bart Van Assche [Sat, 7 Jun 2014 13:13:45 +0000 (13:13 +0000)] 
drd/tests/std_thread: Remove two superfluous macro definitions

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

11 years agodrd/tests/std_thread: Minimize diffs with original
Bart Van Assche [Sat, 7 Jun 2014 07:48:04 +0000 (07:48 +0000)] 
drd/tests/std_thread: Minimize diffs with original

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

11 years agodrd/tests/std_thread: Enable this test program
Bart Van Assche [Sat, 7 Jun 2014 07:31:56 +0000 (07:31 +0000)] 
drd/tests/std_thread: Enable this test program

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

11 years agohave helgrind filter_stderr transforming tid n into tid #x
Philippe Waroquiers [Fri, 6 Jun 2014 23:45:46 +0000 (23:45 +0000)] 
have helgrind filter_stderr transforming tid n into tid #x
to avoid gdbserver_tests/hginfo random failures
caused by thread scheduling differences

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

11 years agodrd manual: Document how to avoid false positive reports on the C++11 std::thread...
Bart Van Assche [Fri, 6 Jun 2014 07:23:06 +0000 (07:23 +0000)] 
drd manual: Document how to avoid false positive reports on the C++11 std::thread class

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

11 years agoEnable sys_fchmodat.
Julian Seward [Wed, 4 Jun 2014 23:22:29 +0000 (23:22 +0000)] 
Enable sys_fchmodat.

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

11 years agoFix out-of-range constants for some 32 bit insns, presumably tolerated
Julian Seward [Wed, 4 Jun 2014 21:55:16 +0000 (21:55 +0000)] 
Fix out-of-range constants for some 32 bit insns, presumably tolerated
by older assembler versions but not newer ones.

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

11 years agoAdd test cases for ADC/ADCS/SBC/SBCS. Pertains to #335496.
Julian Seward [Wed, 4 Jun 2014 13:13:05 +0000 (13:13 +0000)] 
Add test cases for ADC/ADCS/SBC/SBCS.  Pertains to #335496.

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

11 years agomips64: Tests for Cavium MIPS Octeon Atomic and Count Instructions.
Dejan Jevtic [Wed, 4 Jun 2014 11:36:21 +0000 (11:36 +0000)] 
mips64: Tests for Cavium MIPS Octeon Atomic and Count Instructions.

Tests for instructions:
baddu, pop, dpop, saa, saad, laa, laad, lai, laid, lad, ladd, law, lawd,
las, lasd, lac, lacd

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

11 years agoMake each test disable-able, and enable tests of instructions that are
Julian Seward [Wed, 4 Jun 2014 11:20:18 +0000 (11:20 +0000)] 
Make each test disable-able, and enable tests of instructions that are
currently supported.

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

11 years agoUpdate.
Julian Seward [Sun, 1 Jun 2014 17:46:18 +0000 (17:46 +0000)] 
Update.

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

11 years agoImprove address description for address in the stack.
Philippe Waroquiers [Thu, 22 May 2014 23:48:24 +0000 (23:48 +0000)] 
Improve address description for address in the stack.
--read-var-info=yes is very memory and cpu intensive.
This patch ensures that even witout --read-var-info=yes that
the frame where the address point is reported in the address
description.

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

11 years agoCheck for setcap executables, as we already do for setuid and
Tom Hughes [Thu, 22 May 2014 08:57:06 +0000 (08:57 +0000)] 
Check for setcap executables, as we already do for setuid and
setgid ones, and refuse to run them in the same way. BZ#335143.

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

11 years agoUpdate.
Julian Seward [Wed, 21 May 2014 20:23:43 +0000 (20:23 +0000)] 
Update.

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

11 years agoForgot to update NEWS file with bugzilla 335155 fix.
Carl Love [Wed, 21 May 2014 19:33:57 +0000 (19:33 +0000)] 
Forgot to update NEWS file with bugzilla 335155 fix.

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

11 years agovgdb, fix error print statement.
Carl Love [Wed, 21 May 2014 19:06:59 +0000 (19:06 +0000)] 
vgdb, fix error print statement.

This patch fixes printing the first not delivered signal.

Signed-off-by: Carl Love <carll@us.ibm.com>
This bug was reported in bugzilla 335155.

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

11 years agoAdd test cases for PCMPxSTRx cases 0x0E, 0x34, 0x14, and reformat some
Julian Seward [Wed, 21 May 2014 14:43:11 +0000 (14:43 +0000)] 
Add test cases for PCMPxSTRx cases 0x0E, 0x34, 0x14, and reformat some
of the associated switch statements.  Pertains to #326469, #327639,
#328878 respectively.

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

11 years agoNEWS: Add #333072
Bart Van Assche [Sun, 18 May 2014 19:33:39 +0000 (19:33 +0000)] 
NEWS: Add #333072

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

11 years agodrd: Add semaphore annotations (#333072)
Bart Van Assche [Sun, 18 May 2014 19:32:26 +0000 (19:32 +0000)] 
drd: Add semaphore annotations (#333072)

This is a slightly modified version of a patch from Ivo Raisr <ivosh@ivosh.net>

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

11 years agoon ppc64, pthread_create_WRK is not (always) produced in the stacktrace
Philippe Waroquiers [Sun, 18 May 2014 17:09:44 +0000 (17:09 +0000)] 
on ppc64, pthread_create_WRK is not (always) produced in the stacktrace
showing where a thread was created.
This makes many tests fail => use sed to delete pthread_create_WRK
from the stacktrace to let tests succeed on ppc64.
With this change, on ppc64 gcc110 (fedora 18), helgrind failures
goes from 28 tests failing to 4, with following reasons:
helgrind/tests/pth_cond_destroy_busy     (stderr)
    (6 errors instead of 3 in the summary line ???)
helgrind/tests/tc06_two_races_xml        (stderr)
    similar change needed in filter_xml to del pthread_create_WRK
helgrind/tests/tc18_semabuse             (stderr)
   -   with error code 22 (EINVAL: Invalid argument)
   +   with error code 38 (ENOSYS: Function not implemented)
helgrind/tests/tc20_verifywrap           (stderr)
   -   with error code 22 (EINVAL: Invalid argument)
   +   with error code 38 (ENOSYS: Function not implemented)

More details about the stacktrace not containing pthread_create_WRK:
--------------------------------------------------------------------
Here is the stacktrace obtained by GDB+vgdb:
(gdb) bt
#0  0x0000008074f7ac5c in .__clone () from /lib64/libc.so.6
#1  0x000000807517b1ec in do_clone (pd=0x4c6f200, attr=0x8075189c90 <default_attr>, stackaddr=<optimized out>, stopped=<optimized out>,
    fct=@0x80751a01e0: 0x807517c500 <start_thread>, clone_flags=4001536) at ../nptl/sysdeps/pthread/createthread.c:74
#2  0x000000000403ed0c in pthread_create_WRK (thread=<error reading variable: value has been optimized out>,
    attr=<error reading variable: value has been optimized out>, start=<error reading variable: value has been optimized out>,
    arg=0xfff00ee18) at hg_intercepts.c:269
#3  0x000000000403ef1c in _vgw00000ZZ_libpthreadZdsoZd0_pthreadZucreateZAZa (thread=<optimized out>, attr=<optimized out>,
    start=<optimized out>, arg=<optimized out>) at hg_intercepts.c:300
#4  0x000000003806f1d8 in ?? ()
#5  0x0000008074e9fb94 in generic_start_main (main=@0x100200d8: 0x100013a0 <main>, argc=<optimized out>, ubp_av=0xfff00f2d8,
    auxvec=0xfff00f408, init=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>, fini=<optimized out>)
    at ../csu/libc-start.c:225
#6  0x0000008074e9fd90 in __libc_start_main (argc=<optimized out>, ubp_av=<optimized out>, ubp_ev=<optimized out>,
    auxvec=<optimized out>, rtld_fini=<optimized out>, stinfo=<optimized out>, stack_on_entry=<optimized out>)
    at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:91
#7  0x0000000000000000 in ?? ()
(gdb)

and here is the stacktrace produced by Valgrind unwinder:
Thread 1: status = VgTs_Runnable
==41687==    at 0x8074F7AC5C: clone (in /usr/lib64/libc-2.16.so)
==41687==    by 0x807517B1EB: do_clone.constprop.3 (createthread.c:74)
==41687==    by 0x403EF1B: pthread_create@* (hg_intercepts.c:300)
==41687==    by 0x10001597: main (tc19_shadowmem.c:172)
valgrind stack top usage: 15328 of 1048576

When the 2nd clone break is encountered (in the child thread), here is
the GDB stacktraces:

Thread 2 (Thread 6028):
#0  0x0000008074f75fb0 in .madvise () from /lib64/libc.so.6
#1  0x000000807517c700 in start_thread (arg=0x4c6f200) at pthread_create.c:402
#2  0x0000008074f7acf0 in .__clone () from /lib64/libc.so.6

Thread 1 (Thread 41687):
#0  pthread_create_WRK (thread=0xfff00ee10, attr=0x0, start=@0x100200e8: 0x10001dd0 <steer>, arg=0xfff00ee18) at hg_intercepts.c:248
#1  0x000000000403ef1c in _vgw00000ZZ_libpthreadZdsoZd0_pthreadZucreateZAZa (thread=<optimized out>, attr=<optimized out>,
    start=<optimized out>, arg=<optimized out>) at hg_intercepts.c:300
#2  0x000000003806f1d8 in ?? ()
#3  0x0000008074e9fb94 in generic_start_main (main=@0x100200d8: 0x100013a0 <main>, argc=<optimized out>, ubp_av=0xfff00f2d8,
    auxvec=0xfff00f408, init=<optimized out>, rtld_fini=<optimized out>, stack_end=<optimized out>, fini=<optimized out>)
    at ../csu/libc-start.c:225
#4  0x0000008074e9fd90 in __libc_start_main (argc=<optimized out>, ubp_av=<optimized out>, ubp_ev=<optimized out>,
    auxvec=<optimized out>, rtld_fini=<optimized out>, stinfo=<optimized out>, stack_on_entry=<optimized out>)
    at ../sysdeps/unix/sysv/linux/powerpc/libc-start.c:91
#5  0x0000000000000000 in ?? ()
(gdb)

Here are the valgrind stacktraces:
Thread 1: status = VgTs_Runnable
==41687==    at 0x403EBE0: pthread_create_WRK (hg_intercepts.c:248)
==41687==    by 0x403EF1B: pthread_create@* (hg_intercepts.c:300)
==41687==    by 0x8074E9FB93: generic_start_main.isra.0 (libc-start.c:225)
==41687==    by 0x8074E9FD8F: (below main) (libc-start.c:91)
valgrind stack top usage: 15328 of 1048576

Thread 2: status = VgTs_WaitSys
==41687==    at 0x8074F75FB0: madvise (in /usr/lib64/libc-2.16.so)
==41687==    by 0x807517C6FF: start_thread (pthread_create.c:402)
valgrind stack top usage: 10320 of 1048576

And then after a few more next/breaks:
Thread 1: status = VgTs_Runnable
==41687==    at 0x8074F7AC5C: clone (in /usr/lib64/libc-2.16.so)
==41687==    by 0x807517B1EB: do_clone.constprop.3 (createthread.c:74)
==41687==    by 0x403EF1B: pthread_create@* (hg_intercepts.c:300)
==41687==    by 0x100015BB: main (tc19_shadowmem.c:173)
valgrind stack top usage: 15328 of 1048576

Thread 2: status = VgTs_WaitSys
==41687==    at 0x8074F75FB0: madvise (in /usr/lib64/libc-2.16.so)
==41687==    by 0x807517C6FF: start_thread (pthread_create.c:402)
valgrind stack top usage: 10320 of 1048576

So, pthread_create_WRK is not in the stacktrace anymore.

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

11 years agoFix exp-bbv testcases such that they can be built out-of-tree.
Florian Krohm [Sun, 18 May 2014 16:16:13 +0000 (16:16 +0000)] 
Fix exp-bbv testcases such that they can be built out-of-tree.
Part of fixing #333628.

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

11 years agoEnable vgdb ptrace invoker for aarch64.
Philippe Waroquiers [Sat, 17 May 2014 13:50:02 +0000 (13:50 +0000)] 
Enable vgdb ptrace invoker for aarch64.

This only works in non-bi arch mode. If ever aarch64+arm
are compiled bi-arch, then some more work is needed to have
a 64 bits vgdb able to ptrace invoke a 32 bits valgrind.

Note also that PTRACE_GETREGSET is defined on other platforms
(e.g. ppc64 fedora 18 defines it), but it is not used on
these platforms, as again, PTRACE_GETREGSET implies some
work for bi-arch to work properly.
So, on all platforms except arm64, we use PTRACE_GETREGS
or PTRACE_PEEKUSER.

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

11 years agodrd/tests/atomic_var: Revert r13876.
Bart Van Assche [Sat, 17 May 2014 10:44:00 +0000 (10:44 +0000)] 
drd/tests/atomic_var: Revert r13876.

r13876 was a workaround for false ordering introduced by platform-specific
(Solaris) code. The conclusion of an off-list discussion was that this has
to be solved in the drd tool itself and not by modifying test programs. Hence
this revert.

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

11 years agoFix 334788 clarify doc about --log-file initial program directory
Philippe Waroquiers [Sat, 17 May 2014 05:50:46 +0000 (05:50 +0000)] 
Fix 334788  clarify doc about --log-file initial program directory
Behaviour is kept unchanged, a paragraph is added in the doc to
clarify.

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

11 years agoRevert "Tools should explain why an option is bad when using fmsg_bad_option."
Mark Wielaard [Fri, 16 May 2014 22:38:46 +0000 (22:38 +0000)] 
Revert "Tools should explain why an option is bad when using fmsg_bad_option."

This reverts valgrind svn r13975. This was a work in progress, still being
discussed in bug #334802. It should not yet been pushed.

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

11 years agoOn old kernel, poll syscall being ptraced (vgdb+ptrace) is not necessarily
Philippe Waroquiers [Fri, 16 May 2014 22:37:57 +0000 (22:37 +0000)] 
On old kernel, poll syscall being ptraced (vgdb+ptrace) is not necessarily
properly restarted. Instead, it can fail with EINTR, even if no signal was
effectively received.

Handle such case by retrying the poll syscall when the poll syscall
is failing due to EINTR

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

11 years agoRevert configure support for adding -Werror=format-security.
Mark Wielaard [Fri, 16 May 2014 22:28:48 +0000 (22:28 +0000)] 
Revert configure support for adding -Werror=format-security.

This reverts part of valgrind svn r13962. There was a typo in the configure
check that caused failures when -Werror=format-security wasn't supported
and the flag interfered badly with -Wno-format-zero-length. So remove
for now and only add back when properly tested on various (older) setups.

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

11 years agoTools should explain why an option is bad when using fmsg_bad_option.
Mark Wielaard [Fri, 16 May 2014 22:28:42 +0000 (22:28 +0000)] 
Tools should explain why an option is bad when using fmsg_bad_option.

Add an explanation of why an option was bad to fmsg_bad_option calls that
were just using "" as argument. Fixes bug #334802.

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

11 years agoarm64-linux: enable sys_sched_setaffinity, sys_linkat.
Julian Seward [Fri, 16 May 2014 15:02:09 +0000 (15:02 +0000)] 
arm64-linux: enable sys_sched_setaffinity, sys_linkat.

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

11 years agoUpdate.
Julian Seward [Fri, 16 May 2014 12:22:50 +0000 (12:22 +0000)] 
Update.

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

11 years agoEnable: sys_add_key, sys_keyctl, apparently needed by glibc-2.19.90 on
Julian Seward [Thu, 15 May 2014 16:47:56 +0000 (16:47 +0000)] 
Enable: sys_add_key, sys_keyctl, apparently needed by glibc-2.19.90 on
arm64-linux.

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

11 years agoMake the PLAT_ identification work properly for mingw-win64. Problem was
Julian Seward [Thu, 15 May 2014 13:50:47 +0000 (13:50 +0000)] 
Make the PLAT_ identification work properly for mingw-win64.  Problem was
that mingw64 also defines __MINGW32__, which led to the 32-bit definitions
being used in the 64-bit case.  n-i-bz.  (Bernhard.Loos@ruecker.de)

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

11 years agoAdd more test cases: trn1, trn2, uzp1, uzp2, zip1, zip2, urecpe, ursqrte.
Julian Seward [Thu, 15 May 2014 12:18:17 +0000 (12:18 +0000)] 
Add more test cases: trn1, trn2, uzp1, uzp2, zip1, zip2, urecpe, ursqrte.
This completes the test cases for the SIMD integer instructions.

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

11 years agoAdd more test cases: sqrshrn, uqrshrn, sqshrn, uqshrn, sqrshrun,
Julian Seward [Thu, 15 May 2014 11:55:56 +0000 (11:55 +0000)] 
Add more test cases: sqrshrn, uqrshrn, sqshrn, uqshrn, sqrshrun,
sqshrun, sqshl, uqshl, sqshlu, sqxtn, uqxtn, sqxtun, srhadd, urhadd,
sshl, ushl, shl, sshr, ushr, ssra, usra, srshl, urshl, srshr, urshr,
srsra, ursra, suqadd, usqadd.

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

11 years agoAdd more test cases: sqdmulh, sqrdmulh, sqshl, uqshl, sqrshl, uqrshl,
Julian Seward [Thu, 15 May 2014 08:22:34 +0000 (08:22 +0000)] 
Add more test cases: sqdmulh, sqrdmulh, sqshl, uqshl, sqrshl, uqrshl,
sqrshrn, uqrshrn, sqshrn, uqshrn, sqrshrun, sqshrun.

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

11 years agoAdd tests for VFPv4 VFMA/VMFS. Pertains to #331057.
Julian Seward [Thu, 15 May 2014 00:12:36 +0000 (00:12 +0000)] 
Add tests for VFPv4 VFMA/VMFS.  Pertains to #331057.

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

11 years agominor comment reformatting
Philippe Waroquiers [Wed, 14 May 2014 21:53:48 +0000 (21:53 +0000)] 
minor comment reformatting

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

11 years agoFactorises the address code description and printing
Philippe Waroquiers [Wed, 14 May 2014 20:39:27 +0000 (20:39 +0000)] 
Factorises the address code description and printing
of memcheck and helgrind in a common module:
  pub_tool_addrinfo.h pub_core_addrinfo.h m_addrinfo.c

At the same time, the factorised code is made usable by other
tools also (and is used by the gdbserver command 'v.info location'
which replaces the helgrind 'describe addr' introduced 1 week ago
and which is now callable by all tools).

The new address description code can describe more addresses
(e.g. for memcheck, if the block is not on the free list anymore,
but is in an arena free list, this will also be described).

Similarly, helgrind address description can now describe more addresses
when --read-var-info=no is given (e.g. global symbols are
described, or addresses on the stack are described as
being on the stack, freed blocks in the arena free list are
described, ...).
See e.g. the change in helgrind/tests/annotate_rwlock.stderr.exp
or locked_vs_unlocked2.stderr.exp

The patch touches many files, but is basically a lot of improvements
in helgrind output files.
The code changes are mostly refactorisation of existing code.

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

11 years agoUpdate.
Julian Seward [Wed, 14 May 2014 13:29:04 +0000 (13:29 +0000)] 
Update.

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

11 years agoUse safe_to_deref in coregrind syswrap-generic.c (msghdr_foreachfield).
Mark Wielaard [Wed, 14 May 2014 11:35:54 +0000 (11:35 +0000)] 
Use safe_to_deref in coregrind syswrap-generic.c (msghdr_foreachfield).

Call ML_(safe_to_deref) before using msghdr msg_name, msg_iov or msg_control.
Fixes bug #334705.

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

11 years agoSupport -Wformat -Werror=format-security.
Mark Wielaard [Wed, 14 May 2014 10:50:14 +0000 (10:50 +0000)] 
Support -Wformat -Werror=format-security.

Check if gcc supports -Wformat -Werror=format-security and use it if so.
Fix m_gdbserver/remote-utils.c sr_perror call. Fixes Bug #334727.

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

11 years agoAdd send_signal to gdbserver_tests/Makefile.am (dist_noinst_SCRIPTS).
Mark Wielaard [Tue, 13 May 2014 20:42:04 +0000 (20:42 +0000)] 
Add send_signal to gdbserver_tests/Makefile.am (dist_noinst_SCRIPTS).

If the send_signal script is missing the nlvgdbsigqueue test would hang.

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

11 years agoFollowup to r13958: add reg-trash lists to inline assembly in
Julian Seward [Tue, 13 May 2014 16:15:56 +0000 (16:15 +0000)] 
Followup to r13958: add reg-trash lists to inline assembly in
TESTINSTPCMISALIGNED TESTINSTPCMISALIGNED_DWORDOUT
TESTINSTPCMISALIGNED_2OUT and nice up the the indentation a bit.

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

11 years agoThumb encoding: add test case for assertion failure caused by
Julian Seward [Tue, 13 May 2014 15:55:00 +0000 (15:55 +0000)] 
Thumb encoding: add test case for assertion failure caused by
"ldr.w pc, [reg, #imm]".  See #333428.  (dimitry@google.com)

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

11 years agoThumb encoding: add test cases for misaligned loads of the form
Julian Seward [Tue, 13 May 2014 14:45:54 +0000 (14:45 +0000)] 
Thumb encoding: add test cases for  misaligned loads of the form
   LD Rt, [Rn +/- #imm12]  when Rn == PC
See #333145.  (dimitry@google.com)

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