]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
13 years agoAdditions to PCMPxSTRx tests to check fix for bug 303963.
Josef Weidendorfer [Wed, 25 Jul 2012 09:49:26 +0000 (09:49 +0000)] 
Additions to PCMPxSTRx tests to check fix for bug 303963.

Some tests used movdqa triggering a seg fault. Use movdqu instead.

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

13 years agoFix bug 303963.
Josef Weidendorfer [Wed, 25 Jul 2012 09:36:54 +0000 (09:36 +0000)] 
Fix bug 303963.

Emulation of PCMPxSTRx mode 0x0C was wrong
for searching an empty needle in an empty haystack.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2447

13 years agoChange IR generation for SRST, CLST, and CLCLE to not generate cc=3.
Florian Krohm [Wed, 25 Jul 2012 00:52:21 +0000 (00:52 +0000)] 
Change IR generation for SRST, CLST, and CLCLE to not generate cc=3.
Two reasons:
(1) Consistency in implementation (we don't generate cc=3 for "translate",
   "convert to unicode" and possibly other insns)
(2) There is nothing to be gained. A program that does not handle cc=3
    correctly (by looping back to the insn that generated it) may exhibit
    unpredictable behaviours. And there is no way for us to match that (as
    we cannot know when hardware decides to interrupt the insn). So why
    add complexity for that.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2446

13 years agoUse always_goto_and_chase for consistency with other "translate" insns.
Florian Krohm [Tue, 24 Jul 2012 21:06:34 +0000 (21:06 +0000)] 
Use always_goto_and_chase for consistency with other "translate" insns.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2445

13 years agoFix testcase and update results.
Florian Krohm [Tue, 24 Jul 2012 20:37:50 +0000 (20:37 +0000)] 
Fix testcase and update results.

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

13 years agoBetter document the limitation of gdbsrv for registers and flags values
Philippe Waroquiers [Tue, 24 Jul 2012 20:24:39 +0000 (20:24 +0000)] 
Better document the limitation of gdbsrv for registers and flags values

During investigations of 303963, Josef found that flags are not always
up to date and that --vex-guest-max-insns=1 ensures flags values
are (more?) correct.

=> enhance the paragraph in the gdbserver limitations to reference
this option and give an idea of the performance impact of the other
options helping to increase the precision of registers and flags.

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

13 years agoHave perf/vg_perf handling EXTRA_REGTEST_OPTS
Philippe Waroquiers [Tue, 24 Jul 2012 19:47:46 +0000 (19:47 +0000)] 
Have perf/vg_perf handling EXTRA_REGTEST_OPTS
Similarly to tests/vg_regtest, allow to run all perf tests with extra options.
(note: it was preferred to use the same env var name).

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

13 years agoUpdate expected results.
Florian Krohm [Mon, 23 Jul 2012 18:05:52 +0000 (18:05 +0000)] 
Update expected results.
This is the companion patch to VEX r2444 which backs out the special
handling for the 00 opcode.

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

13 years agoBack out special handling for opcode 00 (VEX r2189).
Florian Krohm [Mon, 23 Jul 2012 18:03:47 +0000 (18:03 +0000)] 
Back out special handling for opcode 00 (VEX r2189).
This was added based on the following analysis at the time:
(1) during decoding a sequence of insns we run into a 00 opcode (as that
    opcode is sometimes used on purpose to force an abort)
(2) #1 only happens when chasing through unconditional gotos
(3) the path that was decoded in #1 would not be executed because an earlier
    side exit in the super block was taken

But chasing through an unconditional branch should not reach an insn that is
not reached at execution time, because
(a) conditional gotos are supposed to terminate a superblock
(b) side exits that appear in the IR of complex insns will transfer control
    to the very same address (for insns that have implicit loops) and/or to
    the address that immediately follows the current insn (fall through)

Therefore, the special handling of opcode 00 was just fighting the
symptom but not the cause.
Most likely a super block was not correctly terminated.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2444

13 years agoPass first_ip_delta to VG_(record_depth_1_ExeContext) as the function
Florian Krohm [Mon, 23 Jul 2012 15:40:41 +0000 (15:40 +0000)] 
Pass first_ip_delta to VG_(record_depth_1_ExeContext) as the function
cannot figure it out by itself.

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

13 years agoEliminate magic constant. Use VG_(clo_backtrace_size) instead.
Florian Krohm [Mon, 23 Jul 2012 15:05:22 +0000 (15:05 +0000)] 
Eliminate magic constant. Use VG_(clo_backtrace_size) instead.

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

13 years agoAvoid checking for bitset initialization if futex_wait_bitset is meant to fail.
Petar Jovanovic [Mon, 23 Jul 2012 00:11:10 +0000 (00:11 +0000)] 
Avoid checking for bitset initialization if futex_wait_bitset is meant to fail.

Glibc deliberately passes random value for the sixth parameter when calling
FUTEX_WAIT_BITSET | FUTEX_CLOCK_REALTIME. This is a regular case of using the
Futex API, so V should not complain that "Syscall param futex(val3) contains
uninitialised byte(s)", if the futex does not have a specified value initially.
For more info, see function pthread_initialize_minimal_internal at:
glibc/nptl/nptl-init.c.

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

13 years agoAdd 'aesdec' to the set of insns checked for assembler level SSE4.2
Julian Seward [Sun, 22 Jul 2012 11:10:08 +0000 (11:10 +0000)] 
Add 'aesdec' to the set of insns checked for assembler level SSE4.2
support (Rich Coe) and tidy up a couple of other bits of assembly by
giving them trashed-register lists.

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

13 years agoChange logic in computed gotos to use if_condition_goto_computed
Florian Krohm [Sat, 21 Jul 2012 20:32:57 +0000 (20:32 +0000)] 
Change logic in computed gotos to use if_condition_goto_computed
instead of if_not_condition_goto_computed. Hide the implementation
detail of inverting the condition in if_condition_goto_computed and
fix the call sites. This is clearer as it better matches the semantic
description in the POP.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2443

13 years agoAdd testcases for CU24. Part of fixing #289839.
Florian Krohm [Sat, 21 Jul 2012 17:42:54 +0000 (17:42 +0000)] 
Add testcases for CU24. Part of fixing #289839.

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

13 years agoAdd support for the CU24 insn (s390x). Part of fixing #289839.
Florian Krohm [Sat, 21 Jul 2012 17:41:36 +0000 (17:41 +0000)] 
Add support for the CU24 insn (s390x). Part of fixing #289839.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2442

13 years agoNo need to list m_gdbserver.c twice in the Makefile.am.
Julian Seward [Sat, 21 Jul 2012 10:11:51 +0000 (10:11 +0000)] 
No need to list m_gdbserver.c twice in the Makefile.am.

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

13 years agoLocalise "struct reg regs[]".
Julian Seward [Sat, 21 Jul 2012 10:10:44 +0000 (10:10 +0000)] 
Localise "struct reg regs[]".

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

13 years agoppc64-linux _start: don't assume ._start_in_C_linux -- the function
Julian Seward [Sat, 21 Jul 2012 10:08:29 +0000 (10:08 +0000)] 
ppc64-linux _start: don't assume ._start_in_C_linux -- the function
descriptor for _start_in_C_linux -- actually exists.  Instead call the
entry point directly.

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

13 years agoDocument Helgrind limitation that old access stack traces have maximum 8 entries
Philippe Waroquiers [Fri, 20 Jul 2012 23:40:35 +0000 (23:40 +0000)] 
Document Helgrind limitation that old access stack traces have maximum 8 entries

#define N_FRAMES 8
(defined in libhb_core.c:3888)

implies that 'other thread' stack traces are limited to 8,
even with a bigger --num-callers.

=> document this in the manual to avoid that a user believes this is a
bug in the stack trace logic of Valgrind.

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

13 years agoIf the compiler being used to build is clang, remember to add
Julian Seward [Fri, 20 Jul 2012 16:46:54 +0000 (16:46 +0000)] 
If the compiler being used to build is clang, remember to add
-new_linker to the stuff given to the linker, else link failures
result on x86.  Based on a suggestion by Christoph Erhardt.  Fixes
#295427.

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

13 years agoAdd testcases for CU21. Update opcode table.
Florian Krohm [Fri, 20 Jul 2012 00:17:16 +0000 (00:17 +0000)] 
Add testcases for CU21. Update opcode table.
WRT the memcheck test: the good news is we get all the complaints
we want. The bad news is:
- the line numbers from within do_cu21 are off
- there are 2 complaints when attempting to convert from
  an uninitialised input buffer instead of one. One of them has a
  completely bogus line number.

Possibly due to bad debug info?  Let's see what happens on machines
with more recent GCCs.

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

13 years agoAdd support for the CU21 instruction (s390x).
Florian Krohm [Fri, 20 Jul 2012 00:06:35 +0000 (00:06 +0000)] 
Add support for the CU21 instruction (s390x).

git-svn-id: svn://svn.valgrind.org/vex/trunk@2441

13 years agoAdd macros for "convert unicode" insns.
Florian Krohm [Thu, 19 Jul 2012 23:29:06 +0000 (23:29 +0000)] 
Add macros for "convert unicode" insns.

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

13 years agoFix syntax error
Florian Krohm [Thu, 19 Jul 2012 18:16:49 +0000 (18:16 +0000)] 
Fix syntax error

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

13 years agoObserve guards on dirty helpers in memcheck.
Florian Krohm [Thu, 19 Jul 2012 17:23:42 +0000 (17:23 +0000)] 
Observe guards on dirty helpers in memcheck.
This means, that any guest state and/or memory accesses of the helper (and
complaints about those) only occur if the guard expression is true at runtime.
Definedness of parameters that the helper might have is *always* checked,
as parameters are evaluated regardless of the guard expression.
New functions: expr2vbits_guarded_Load and gen_guarded_load_b.

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

13 years agoHandle Iop_32to1 in the amd64 insn selector.
Florian Krohm [Thu, 19 Jul 2012 17:22:33 +0000 (17:22 +0000)] 
Handle Iop_32to1 in the amd64 insn selector.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2440

13 years agoInclude news about supporting MIPS32/Linux in NEWS file.
Petar Jovanovic [Thu, 19 Jul 2012 15:54:02 +0000 (15:54 +0000)] 
Include news about supporting MIPS32/Linux in NEWS file.

PLATFORM CHANGES section has been appended with news for MIPS32/Linux support.

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

13 years agoexp-sgcheck is not supported for MIPS architecture.
Petar Jovanovic [Thu, 19 Jul 2012 15:40:48 +0000 (15:40 +0000)] 
exp-sgcheck is not supported for MIPS architecture.

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

13 years agoFix disassembly for insns using the RRF_M0RERE format.
Florian Krohm [Thu, 19 Jul 2012 14:54:03 +0000 (14:54 +0000)] 
Fix disassembly for insns using the RRF_M0RERE format.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2439

13 years agoEnable testing for the ETF3 facility.
Florian Krohm [Thu, 19 Jul 2012 14:35:55 +0000 (14:35 +0000)] 
Enable testing for the ETF3 facility.

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

13 years agoFix 303624 segmentation fault on Android 4.1 (e.g. on android emulator or Galaxy...
Philippe Waroquiers [Wed, 18 Jul 2012 23:01:02 +0000 (23:01 +0000)] 
Fix 303624 segmentation fault on Android 4.1 (e.g. on android emulator or Galaxy Nexus OMAP)

Valgrind was crashing systematically on Android 4.1.
This crash is caused by AT_IGNORE-ing AT_BASE.
This AT_IGNORE was needed to have breakpoints in shared libs
be handled properly (not very clear what is the problem
in the interaction between Valgrind GDBSERVER, AT_BASE and GDB).
Waiting to better understand all this, as a temporary bypass,
this patch ensures we do not ignore the AT_BASE on android.

The possible consequence is that breakpoints might be inserted
by the Valgrind gdbserver at wrong addresses in shared lib.
(any feedback on that is welcome).

Valgrind was build and then "proved" to work on Android emulator 4.0
and emulator 4.1, by using memcheck on one executable.

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

13 years agoBe slightly less precise on the leak check perf. improvement in NEWS
Philippe Waroquiers [Wed, 18 Jul 2012 22:36:37 +0000 (22:36 +0000)] 
Be slightly less precise on the leak check perf. improvement in NEWS
(as this 40% is only a measurement of one perf program on amd64).

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

13 years agopatch that improves the speed of the leak search by up to 40% (on amd64)
Philippe Waroquiers [Wed, 18 Jul 2012 22:26:51 +0000 (22:26 +0000)] 
patch that improves the speed of the leak search by up to 40% (on amd64)

Scanning 1GB of random values made of 200_000 malloc-ed block is
(on amd64) changing from (about) 17 seconds to (about) 10 seconds.

On x86, it goes from 153 seconds to 129 seconds.

(this huge difference between x86 and amd64 leak search time
for this random test is because a random value has about one chance
on 4 to be in the addressable memory on x86 and so the dichotomic
search in the list of malloc-ed blocks is called for a lot more
values than on amd64).

Basically, there are 3 optimisations:
1. call MC_(is_within_valid_secondary) only at the beginning of a
   secondary map (and not for each Word).
2. call SETJMP only at the beginning of a page (and not for each Word)
3. Validate an aligned word using get_vabits8 rather than get_vabits2.

Each of the above optimisation more or less improves by 2 seconds.
(to go from 17 seconds to 10 seconds).

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

13 years agoSmall cleanup: use VG_TRACK (when possible) to call tool tracking functions
Philippe Waroquiers [Wed, 18 Jul 2012 20:33:40 +0000 (20:33 +0000)] 
Small cleanup: use VG_TRACK (when possible) to call tool tracking functions
(spotted by Julian)
Note: there is a second occurence of call to track_post_mem_write in the
same file; but this second occurence is better done with an "if".

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

13 years agoeqIRConst: handle Ico_V256.
Julian Seward [Wed, 18 Jul 2012 11:48:23 +0000 (11:48 +0000)] 
eqIRConst: handle Ico_V256.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2438

13 years agoUn-break the build on MacOS, following r12742 (initial support for DWZ
Julian Seward [Wed, 18 Jul 2012 10:47:38 +0000 (10:47 +0000)] 
Un-break the build on MacOS, following r12742 (initial support for DWZ
compressed debuginfo).

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

13 years agoTrack recent bug fixes.
Julian Seward [Mon, 16 Jul 2012 22:39:24 +0000 (22:39 +0000)] 
Track recent bug fixes.

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

13 years agoAdd some missing syscall numbers for MIPS.
Petar Jovanovic [Mon, 16 Jul 2012 14:35:26 +0000 (14:35 +0000)] 
Add some missing syscall numbers for MIPS.

The header file has been extended with the missing syscall numbers for MIPS,
and sys_prlimit64 has been enabled. This will make none/tests/rlimit64_nofile
pass.

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

13 years agoAdd more debug print information for the instructions for MIPS.
Petar Jovanovic [Mon, 16 Jul 2012 14:25:05 +0000 (14:25 +0000)] 
Add more debug print information for the instructions for MIPS.

Extend debug info output for the guest instructions. Useful for debugging.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2437

13 years agoConditionally execute tests depending on revision of MIPS architecture.
Petar Jovanovic [Mon, 16 Jul 2012 14:07:47 +0000 (14:07 +0000)] 
Conditionally execute tests depending on revision of MIPS architecture.

Support has been added to the tests for MIPS32 revision 1. Previously, all the
tests had to be compiled for MIPS32r2 platforms.

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

13 years agoFix incorrect instruction decoding for MOVBE. Followup fix for r2435.
Julian Seward [Mon, 16 Jul 2012 08:35:31 +0000 (08:35 +0000)] 
Fix incorrect instruction decoding for MOVBE.  Followup fix for r2435.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2436

13 years agoAdd tests for MOVBE -- an Intel-Atom-only instruction
Julian Seward [Mon, 16 Jul 2012 08:23:26 +0000 (08:23 +0000)] 
Add tests for MOVBE -- an Intel-Atom-only instruction

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

13 years agoImplement MOVBE. Fixes #302287.
Julian Seward [Sun, 15 Jul 2012 10:11:10 +0000 (10:11 +0000)] 
Implement MOVBE.  Fixes #302287.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2435

13 years agoMove helper functions to guest_s390_helpers.c for consistency with
Florian Krohm [Sun, 15 Jul 2012 02:25:55 +0000 (02:25 +0000)] 
Move helper functions to guest_s390_helpers.c for consistency with
other frontends.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2434

13 years agoBefore printing a back-trace make sure that page containing the
Florian Krohm [Sun, 15 Jul 2012 01:31:45 +0000 (01:31 +0000)] 
Before printing a back-trace make sure that page containing the
address stored in the stack pointer is mapped. Fixes a corner case.

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

13 years agoAdd expected outputs for VCMPNGESS. Should have been included in r12745.
Julian Seward [Sat, 14 Jul 2012 19:47:32 +0000 (19:47 +0000)] 
Add expected outputs for VCMPNGESS.  Should have been included in r12745.

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

13 years agoUpdate list of ignored files.
Florian Krohm [Sat, 14 Jul 2012 14:58:19 +0000 (14:58 +0000)] 
Update list of ignored files.

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

13 years agoUpdate list of ignore files.
Florian Krohm [Sat, 14 Jul 2012 14:51:01 +0000 (14:51 +0000)] 
Update list of ignore files.

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

13 years agoAdd test case for VCMPNGESS.
Julian Seward [Sat, 14 Jul 2012 14:31:44 +0000 (14:31 +0000)] 
Add test case for VCMPNGESS.

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

13 years agoHandle UD2 a bit better. This change causes Vex to decode UD2 like
Julian Seward [Sat, 14 Jul 2012 14:31:17 +0000 (14:31 +0000)] 
Handle UD2 a bit better.  This change causes Vex to decode UD2 like
any other instruction -- so it doesn't complain -- but Valgrind still
complains when synthesising the SIGILL for the guest.  Marginally less
confusing than it was before.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2433

13 years agoGet rid of gcc warnings about uninitialised variables in the arm front end.
Julian Seward [Sat, 14 Jul 2012 14:21:56 +0000 (14:21 +0000)] 
Get rid of gcc warnings about uninitialised variables in the arm front end.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2432

13 years agoImplement VCMPNGESS (and other laneages: SD, PD, PS). Fixes #302578.
Julian Seward [Sat, 14 Jul 2012 14:20:00 +0000 (14:20 +0000)] 
Implement VCMPNGESS (and other laneages: SD, PD, PS).  Fixes #302578.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2431

13 years agoUpdate with recent fixes.
Julian Seward [Sat, 14 Jul 2012 10:08:40 +0000 (10:08 +0000)] 
Update with recent fixes.

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

13 years agoAccept glibc-2.16 as valid (UNTESTED).
Julian Seward [Sat, 14 Jul 2012 10:07:06 +0000 (10:07 +0000)] 
Accept glibc-2.16 as valid (UNTESTED).

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

13 years agoInitial support for DWZ compressed debuginfo -- don't crash, at least,
Julian Seward [Sat, 14 Jul 2012 09:59:01 +0000 (09:59 +0000)] 
Initial support for DWZ compressed debuginfo -- don't crash, at least,
when reading it.  Bug 302901 comment 3.  (Jakub Jelinek, jakub@redhat.com)

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

13 years agoIncrease max allowed pre-allocation (vreg-ised) block size from 10000
Julian Seward [Sat, 14 Jul 2012 09:18:02 +0000 (09:18 +0000)] 
Increase max allowed pre-allocation (vreg-ised) block size from 10000
to 15000.  In very extreme circumstances the JIT pipeline can create
huge blocks.  Fixes #303250, at least for the time being.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2430

13 years agoppc front end: fnmadd, fnmsub, fnmadds, fnmsubs: don't negate the
Julian Seward [Sat, 14 Jul 2012 08:22:13 +0000 (08:22 +0000)] 
ppc front end: fnmadd, fnmsub, fnmadds, fnmsubs: don't negate the
result when it is a NaN.  Fixes #302370.  (Carl Love, carll@us.ibm.com)

git-svn-id: svn://svn.valgrind.org/vex/trunk@2429

13 years agoFix ppCfiReg for s390 so --trace-cfi=yes no longer asserts.
Florian Krohm [Fri, 13 Jul 2012 17:55:36 +0000 (17:55 +0000)] 
Fix ppCfiReg for s390 so --trace-cfi=yes no longer asserts.

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

13 years agoUse vpanic, not vassert, you silly.
Florian Krohm [Fri, 13 Jul 2012 14:13:06 +0000 (14:13 +0000)] 
Use vpanic, not vassert, you silly.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2428

13 years agoUpdate w/ recent bug fixes.
Julian Seward [Fri, 13 Jul 2012 14:04:03 +0000 (14:04 +0000)] 
Update w/ recent bug fixes.

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

13 years agoUse a proper type for sign_mask.
Florian Krohm [Fri, 13 Jul 2012 13:41:41 +0000 (13:41 +0000)] 
Use a proper type for sign_mask.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2427

13 years agoFix loading of large Mach-O thin binaries. Bug #289470.
Julian Seward [Fri, 13 Jul 2012 13:34:31 +0000 (13:34 +0000)] 
Fix loading of large Mach-O thin binaries.  Bug #289470.
(Scott Byer, scottbyer@chromium.org)

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

13 years agoAdd another intercept for strncasecmp_l. Fixes #297701.
Julian Seward [Fri, 13 Jul 2012 13:21:11 +0000 (13:21 +0000)] 
Add another intercept for strncasecmp_l.  Fixes #297701.

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

13 years agoAdd ioctl wrappers for "Linux user input device". Fixes #296229.
Julian Seward [Fri, 13 Jul 2012 13:15:10 +0000 (13:15 +0000)] 
Add ioctl wrappers for "Linux user input device".  Fixes #296229.
(Chase Douglas, chase.douglas@canonical.com)

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

13 years agoClean up the PDB reader somewhat, mostly in the area of biasing.
Julian Seward [Fri, 13 Jul 2012 12:58:55 +0000 (12:58 +0000)] 
Clean up the PDB reader somewhat, mostly in the area of biasing.
#296318 comment 9.  (Jiri Hruska, jirka@fud.cz)

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

13 years agoRemove redundant break statements.
Florian Krohm [Fri, 13 Jul 2012 12:48:39 +0000 (12:48 +0000)] 
Remove redundant break statements.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2426

13 years agoAllow multiple rw and rx mappings in the ELF debuginfo reader.
Julian Seward [Fri, 13 Jul 2012 11:24:05 +0000 (11:24 +0000)] 
Allow multiple rw and rx mappings in the ELF debuginfo reader.
Fixes #296318 (patch on comment 8).  (Jiří Hruška, jirka@fud.cz)

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

13 years agoFix bug in leak search when an ignore range is specified
Philippe Waroquiers [Wed, 11 Jul 2012 23:06:07 +0000 (23:06 +0000)] 
Fix bug in leak search when an ignore range is specified

The leak search verifies if an address scanned is in a fully
unaddressable secondary map (64 Kb).
However, the function checking that wrongly verifies
if the address is in an ignore range.
So, if the scan encounters one or more bytes in an ignore
range, the leak scan will erroneously skip the rest of
the 64Kb chunk.

The solution is to not test for ignore range in the function
MC_(is_within_valid_secondary) :
The fact that the address is in an ignore range is in any case
verified in the call to MC_(is_valid_aligned_word), which
is called for every Word just after.

This bug can cause false positive leaks in case small
ignore ranges are specified.

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

13 years agoAdd tests for SMMUL{R}, both ARM and Thumb encodings.
Julian Seward [Wed, 11 Jul 2012 16:58:59 +0000 (16:58 +0000)] 
Add tests for SMMUL{R}, both ARM and Thumb encodings.

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

13 years agoImplement (T1) SMMUL{R}. Fixes #300140. (Evgeniy Stepanov,
Julian Seward [Wed, 11 Jul 2012 16:46:47 +0000 (16:46 +0000)] 
Implement (T1) SMMUL{R}.  Fixes #300140.  (Evgeniy Stepanov,
eugeni.stepanov@gmail.com) w/ fixes.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2425

13 years agoUpdate bug status.
Tom Hughes [Wed, 11 Jul 2012 15:42:25 +0000 (15:42 +0000)] 
Update bug status.

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

13 years agoWire up four more system calls on arm, based on patch
Tom Hughes [Wed, 11 Jul 2012 15:38:29 +0000 (15:38 +0000)] 
Wire up four more system calls on arm, based on patch
from William Cohen. Fixes BZ#295617.

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

13 years agoAdd support for the SIOCSHWTSTAMP ioctl, based on a patch
Tom Hughes [Wed, 11 Jul 2012 14:33:10 +0000 (14:33 +0000)] 
Add support for the SIOCSHWTSTAMP ioctl, based on a patch
from Arseny Solokha. Fixes BZ#296792.

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

13 years agoNote 286917 fix.
Julian Seward [Wed, 11 Jul 2012 14:28:13 +0000 (14:28 +0000)] 
Note 286917 fix.

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

13 years agoWire up dup3 on arm. Fixes BZ#299629.
Tom Hughes [Wed, 11 Jul 2012 13:54:04 +0000 (13:54 +0000)] 
Wire up dup3 on arm. Fixes BZ#299629.

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

13 years agoRM: Implement QADD and QSUB (valgrind side fixes). Fixes #286917.
Julian Seward [Wed, 11 Jul 2012 13:20:58 +0000 (13:20 +0000)] 
RM: Implement QADD and QSUB (valgrind side fixes).  Fixes #286917.

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

13 years agoARM: Implement QADD and QSUB. Fixes #286917.
Julian Seward [Wed, 11 Jul 2012 13:19:10 +0000 (13:19 +0000)] 
ARM: Implement QADD and QSUB.  Fixes #286917.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2424

13 years agoAdd support for the CDROM_GET_CAPABILITY ioctl based on patch
Tom Hughes [Wed, 11 Jul 2012 12:02:06 +0000 (12:02 +0000)] 
Add support for the CDROM_GET_CAPABILITY ioctl based on patch
from Nick Black. Fixes BZ#302827.

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

13 years agoNote 290006 fixage.
Julian Seward [Wed, 11 Jul 2012 00:06:35 +0000 (00:06 +0000)] 
Note 290006 fixage.

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

13 years agoAdd Iop_CmpEQ16x8 to the set of known dependency-breakers. Fixes #290006.
Julian Seward [Tue, 10 Jul 2012 21:41:01 +0000 (21:41 +0000)] 
Add Iop_CmpEQ16x8 to the set of known dependency-breakers.  Fixes #290006.
(Alexey Samsonov, samsonov@google.com)

git-svn-id: svn://svn.valgrind.org/vex/trunk@2423

13 years agoComment/formatting only change, to clarify semantics w.r.t.
Julian Seward [Tue, 10 Jul 2012 16:41:46 +0000 (16:41 +0000)] 
Comment/formatting only change, to clarify semantics w.r.t.
relationship between guards and return temporaries from dirty helper
calls.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2422

13 years agoremove 302800 (bug invalid and/or covered by --soname-synonyms)
Philippe Waroquiers [Sat, 7 Jul 2012 15:53:26 +0000 (15:53 +0000)] 
remove 302800 (bug invalid and/or covered by --soname-synonyms)

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

13 years agoremove 301204 (already in NEWS fixed section)
Philippe Waroquiers [Sat, 7 Jul 2012 15:44:06 +0000 (15:44 +0000)] 
remove 301204 (already in NEWS fixed section)

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

13 years agonone/tests/ifunc: Only run this test if the "ifunc" executable has been built
Bart Van Assche [Sat, 7 Jul 2012 06:13:55 +0000 (06:13 +0000)] 
none/tests/ifunc: Only run this test if the "ifunc" executable has been built

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

13 years ago295590 Helgrind: Assertion 'cvi->nWaiters > 0' failed when cond var being waited...
Philippe Waroquiers [Fri, 6 Jul 2012 23:38:24 +0000 (23:38 +0000)] 
295590  Helgrind: Assertion 'cvi->nWaiters > 0' failed when cond var being waited upon destroyed
* when cond var is destroyed, in the PRE, report an error if nwaiters > 0.
* when cond_wait succeeds, get the cond var but do not create one in helgrind
  (it must exist if cond_wait was done).
  Report an error if cond not found (assuming this is caused by a destroy
  done while the thread was cond_wait-ing).
* added a test

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

13 years agofix 303127 Power test suite fixes for frsqrte, vrefp, and vrsqrtefp instructions
Philippe Waroquiers [Fri, 6 Jul 2012 22:52:09 +0000 (22:52 +0000)] 
fix 303127  Power test suite fixes for frsqrte, vrefp, and vrsqrtefp instructions

The frsqrte and vrefp instructions produce an approximate result.
According to the ISA document for the POWER processor, the result will
vary in its precision for different processor implementations.  This patch
fixes the masks to be applied to the results to remove the variability
in the results.  The expected output files are also updated to reflect the
change in the result given the new masking of the result.

patch from Carl Love <cel@us.ibm.com>

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

13 years agofix 303116 - Add support for the POWER instruction popcntb (Valgrind side)
Philippe Waroquiers [Fri, 6 Jul 2012 21:59:03 +0000 (21:59 +0000)] 
fix 303116 - Add support for the POWER instruction popcntb (Valgrind side)
patch from carll@us.ibm.com

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

13 years agofix 303116 Add support for the POWER instruction popcntb (VEX part)
Philippe Waroquiers [Fri, 6 Jul 2012 21:56:53 +0000 (21:56 +0000)] 
fix 303116  Add support for the POWER instruction popcntb (VEX part)
patch from carll@us.ibm.com

git-svn-id: svn://svn.valgrind.org/vex/trunk@2421

13 years agofix 302918 Enable testing of the vmaddfp and vnsubfp instructions in the testsuite
Philippe Waroquiers [Fri, 6 Jul 2012 21:42:14 +0000 (21:42 +0000)] 
fix 302918 Enable testing of the vmaddfp and vnsubfp instructions in the testsuite

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

13 years agoEnhance the check for ifunc compatibility testing.
Florian Krohm [Fri, 6 Jul 2012 09:17:29 +0000 (09:17 +0000)] 
Enhance the check for ifunc compatibility testing.
Make sure the executable can be linked.
As observed with gcc 4.4.5 and binutils 2.20.1

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

13 years agoFix use of AC_LANG_SOURCE for ifunc attribute testing.
Florian Krohm [Fri, 6 Jul 2012 08:26:37 +0000 (08:26 +0000)] 
Fix use of AC_LANG_SOURCE for ifunc attribute testing.

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

13 years agoMake the IR sanity checker complain about dirty helpers that return
Florian Krohm [Thu, 5 Jul 2012 22:05:42 +0000 (22:05 +0000)] 
Make the IR sanity checker complain about dirty helpers that return
a value and are executed under a condition. That case is not handled
properly and will cause asserts down the road. As pointed out by Julian.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2420

13 years agoAdd testcase from bugzilla #301204.
Florian Krohm [Thu, 5 Jul 2012 21:21:37 +0000 (21:21 +0000)] 
Add testcase from bugzilla #301204.
Testcase by Chantry Xavier (shiningxc@gmail.com).

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

13 years agoImprove behaviour of mempool redzone checking if user does not follow the manual...
Philippe Waroquiers [Thu, 5 Jul 2012 21:11:12 +0000 (21:11 +0000)] 
Improve behaviour of mempool redzone checking if user does not follow the manual (297911)
User is supposed to mark the superblock(s) of a mempool as noaccess.
As Valgrind objective is to find bugs for users which are doing bugs, let's even
find (some) bugs if the user has a bug in the bug detection code.

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

13 years agodrd/tests/filter_stderr: Remove a space and two backslashes
Bart Van Assche [Thu, 5 Jul 2012 16:21:49 +0000 (16:21 +0000)] 
drd/tests/filter_stderr: Remove a space and two backslashes

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

13 years agoFinish initial triaging pass.
Julian Seward [Thu, 5 Jul 2012 13:26:07 +0000 (13:26 +0000)] 
Finish initial triaging pass.

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

13 years agoAllow an IFunc symbol to be merged with a non-IFunc symbol that
Tom Hughes [Thu, 5 Jul 2012 09:42:31 +0000 (09:42 +0000)] 
Allow an IFunc symbol to be merged with a non-IFunc symbol that
represents the underlying resolver function. Fixes BZ#301204.

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

13 years agofix 302709 valgrind for ARM needs extra tls support for android emulator
Philippe Waroquiers [Wed, 4 Jul 2012 21:59:29 +0000 (21:59 +0000)] 
fix 302709 valgrind for ARM needs extra tls support for android emulator

Allow Valgrind to run on android emulator.
+ added README.android_emulator giving some details about versions used.

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

13 years agoCommit results of triagery so far.
Julian Seward [Wed, 4 Jul 2012 20:30:47 +0000 (20:30 +0000)] 
Commit results of triagery so far.

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