]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
4 years agoISA 3.1 String Operations
Carl Love [Sat, 16 May 2020 01:57:24 +0000 (20:57 -0500)] 
ISA 3.1 String Operations

Add support for:

vclrlb Vector Clear Leftmost Bytes
vclrrb Vector Clear Rightmost Bytes
vstribl[.] Vector String Isolate Byte Left -Justified
vstribr[.] Vector String Isolate Byte Right -Justified
vstrihl[.] Vector String Isolate Halfword Left -Justified
vstrihr[.] Vector String Isolate Halfword Right -Justified

4 years agoBit Manipulation Operation tests
Carl Love [Tue, 6 Oct 2020 17:01:35 +0000 (12:01 -0500)] 
Bit Manipulation Operation tests

4 years ago128-bit Binary Integer Operation tests
Carl Love [Tue, 6 Oct 2020 17:00:07 +0000 (12:00 -0500)] 
128-bit Binary Integer Operation tests

4 years agoVSX Scalar Min/Max/Compare Quad-Precision operation tests
Carl Love [Tue, 6 Oct 2020 16:58:44 +0000 (11:58 -0500)] 
VSX Scalar Min/Max/Compare Quad-Precision operation tests

4 years agoISA 3.1 Bit-Manipulation Operations
Carl Love [Thu, 7 May 2020 01:09:38 +0000 (20:09 -0500)] 
ISA 3.1 Bit-Manipulation Operations

Add support for:

cfuged Centrifuge Doubleword
cntlzdm Count Leading Zeros Doubleword under bit Mask
cnttzdm Count Trailing Zeros Doubleword under bit Mask
pdepd Parallel Bits Deposit Doubleword
pextd Parallel Bits Extract Doubleword
vcfuged Vector Centrifuge Doubleword
vclzdm Vector Count Leading Zeros Doubleword under bit Mask
vctzdm Vector Count Trailing Zeros Doubleword under bit Mask
vgnb Vector Gather every Nth Bit
vpdepd Vector Parallel Bits Deposit Doubleword
vpextd Vector Parallel Bits Extract Doubleword
xxeval VSX Vector Evaluate

dependent on RFC2609 patch being applied first.

4 years agoISA 3.1 128-bit Binary Integer Operations
Carl Love [Thu, 24 Sep 2020 15:29:56 +0000 (10:29 -0500)] 
ISA 3.1 128-bit Binary Integer Operations

Add support for:

vmuleud, vmuloud, vmulesd, vmulosd
vextsd2q, vcmpuq, vcmpsq
vcmpequq, vcmpequq., vcmpgtuq, vcmpgtuq., vcmpgtsq, vcmpgtsq.
vrlq, vrlqnm, vlqmi, vslq, vsrq, vsraq

4 years agoISA 3.1 VSX Scalar Minimum/Maximum/Compare Quad-Precision Operations
Carl Love [Thu, 30 Apr 2020 15:37:07 +0000 (10:37 -0500)] 
ISA 3.1 VSX Scalar Minimum/Maximum/Compare Quad-Precision Operations

Add support for:

xscmpeqqp VSX Scalar Compare Equal Quad-Precision
xscmpgeqp VSX Scalar Compare Greater Than or Equal Quad-Precision
xscmpgtqp VSX Scalar Compare Greater Than Quad-Precision
xsmaxcqp VSX Scalar Maximum Type-C Quad-Precision
xsmincqp VSX Scalar Minimum Type-C Quad-Precision

4 years agoBug 384729 - __libc_freeres inhibits cross-platform valgrind
Paul Floyd [Mon, 9 Nov 2020 15:31:40 +0000 (16:31 +0100)] 
Bug 384729 - __libc_freeres inhibits cross-platform valgrind

4 years agoPushed binary by mistake
Paul Floyd [Mon, 9 Nov 2020 15:10:52 +0000 (16:10 +0100)] 
Pushed binary by mistake

4 years agoAdd testcase for C++14 sized delete
Paul Floyd [Mon, 9 Nov 2020 08:37:17 +0000 (09:37 +0100)] 
Add testcase for C++14 sized delete

4 years agoBug 424012 - fix crash if readv/writev have invalid but not NULL arg2 iovec pointer
Paul Floyd [Mon, 9 Nov 2020 08:30:31 +0000 (09:30 +0100)] 
Bug 424012 - fix crash if readv/writev have invalid but not NULL arg2 iovec pointer

4 years agoBug 478716 - cppcheck detects potential leak in VEX/useful/smchash.c
Paul Floyd [Sun, 8 Nov 2020 07:00:36 +0000 (08:00 +0100)] 
Bug 478716 - cppcheck detects potential leak in VEX/useful/smchash.c

4 years agoFix build on Solaris 11.3 - ar does not like empty object files.
Paul Floyd [Thu, 5 Nov 2020 14:58:23 +0000 (15:58 +0100)] 
Fix build on Solaris 11.3 - ar does not like empty object files.

4 years agoBug 428648 - s390x: Force 12-bit amode for vector loads in isel
Andreas Arnez [Tue, 3 Nov 2020 17:17:30 +0000 (18:17 +0100)] 
Bug 428648 - s390x: Force 12-bit amode for vector loads in isel

Similar to Bug 417452, where the instruction selector sometimes attempted
to generate vector stores with a 20-bit displacement, the same problem has
now been reported with vector loads.

The problem is caused in s390_isel_vec_expr_wrk(), where the addressing
mode is generated with s390_isel_amode() instead of
s390_isel_amode_short().  This is fixed.

4 years agoarm64 front end: mark a couple of vector load/store insns as "verbose".
Julian Seward [Fri, 30 Oct 2020 16:34:14 +0000 (17:34 +0100)] 
arm64 front end: mark a couple of vector load/store insns as "verbose".

Mark
   LD3/ST3 (multiple 3-elem structs to/from 3 regs
   LD4/ST4 (multiple 4-elem structs to/from 4 regs
as "verbose", since they can generate so much IR that a long sequence
of them causes later stages of the JIT to run out of space.

4 years agodrd: Unbreak the musl build
Bart Van Assche [Wed, 21 Oct 2020 02:40:19 +0000 (19:40 -0700)] 
drd: Unbreak the musl build

See also https://bugs.kde.org/show_bug.cgi?id=428035.

Reported-by: Stacy <stacy.gaikovaia@windriver.com>
Fixes: 15330adf7c24 ("drd: Port to Fedora 33")
4 years agoSupport new faccessat2 linux syscall (439)
Mark Wielaard [Fri, 16 Oct 2020 00:55:06 +0000 (02:55 +0200)] 
Support new faccessat2 linux syscall (439)

faccessat2 is a new syscall in linux 5.8 and will be used by glibc 2.33.
faccessat2 is simply faccessat with a new flag argument. It has
a common number across all linux arches.

https://bugs.kde.org/427787

4 years agodrd: Update copyright notices
Bart Van Assche [Sat, 19 Sep 2020 21:59:06 +0000 (14:59 -0700)] 
drd: Update copyright notices

4 years agoSIMD Permute-Class operations powerpc tests
Carl Love [Tue, 6 Oct 2020 16:57:00 +0000 (11:57 -0500)] 
SIMD Permute-Class operations powerpc tests

4 years agoISA 3.1 SIMD Permute-Class Operations
Carl Love [Wed, 13 May 2020 20:29:51 +0000 (15:29 -0500)] 
ISA 3.1 SIMD Permute-Class Operations

Add support for:

vxvkq Load VSX Vector Special Value Quadword
vextddvlx Vector Extract Double Dword to VSR Left-Indexed
vextddvrx Vector Extract Double Dword to VSR Right-Indexed
vextdubvlx Vector Extract Double Unsigned Byte to VR Left-Indexed
vextdubvrx Vector Extract Double Unsigned Byte to VR Right-Indexed
vextduhvlx Vector Extract Double Unsigned Hword to VR Left-Indexed
vextduhvrx Vector Extract Double Unsigned Hword to VR Right-Indexed
vextduwvlx Vector Extract Double Unsigned Word to VR Left-Indexed
vextduwvrx Vector Extract Double Unsigned Word to VR Right-Indexed
vinsblx Vector Insert Byte from GPR Left-Indexed
vinsbrx Vector Insert Byte from GPR Right-Indexed
vinsbvlx Vector Insert Byte from VSR Left-Indexed
vinsbvrx Vector Insert Byte from VSR Right-Indexed
vinsd Vector Insert Dword from GPR
vinsdlx Vector Insert Dword from GPR Left-Indexed
vinsdrx Vector Insert Dword from GPR Right-Indexed
vinshlx Vector Insert Hword from GPR Left-Indexed
vinshrx Vector Insert Hword from GPR Right-Indexed
vinshvlx Vector Insert Hword from VSR Left-Indexed
vinshvrx Vector Insert Hword from VSR Right-Indexed
vinsw Vector Insert Word from GPR
vinswlx Vector Insert Word from GPR Left-Indexed
vinswrx Vector Insert Word from GPR Right-Indexed
vinswvlx Vector Insert Word from VSR Left-Indexed
vinswvrx Vector Insert Word from VSR Right-Indexed
vsldbi Vector Shift Left Double by Bit Immediate
vsrdbi Vector Shift Right Double by Bit Immediate
xxblendvb VSX Vector Blend Variable Byte
xxblendvd VSX Vector Blend Variable Dword
xxblendvh VSX Vector Blend Variable Hword
xxblendvw VSX Vector Blend Variable Word
xxpermx VSX Vector Permute Extended
xxsplti32dx VSX Vector Splat Immediate32 Dword Indexed
xxspltidp VSX Vector Splat Immediate DP
xxspltiw VSX Vector Splat Immediate Word

4 years agoVector Integer Multiply/Divide/Modulo Instruction tests
Carl Love [Tue, 6 Oct 2020 16:52:34 +0000 (11:52 -0500)] 
Vector Integer Multiply/Divide/Modulo Instruction tests

4 years agoVSX 32-byte storage access operations
Carl Love [Tue, 6 Oct 2020 16:51:19 +0000 (11:51 -0500)] 
VSX 32-byte storage access operations

4 years agoSet boolean support tests
Carl Love [Tue, 6 Oct 2020 16:44:50 +0000 (11:44 -0500)] 
Set boolean support tests

4 years agoAdd byte reverse tests ; cleanups to foundation patch.
Carl Love [Tue, 6 Oct 2020 16:41:04 +0000 (11:41 -0500)] 
Add byte reverse tests ; cleanups to foundation patch.

4 years agoAdd ISA 3.1 Vector Integer Multiply/Divide/Modulo Instructions
Carl Love [Wed, 13 May 2020 20:19:07 +0000 (15:19 -0500)] 
Add ISA 3.1 Vector Integer Multiply/Divide/Modulo Instructions

Add support for:

vdivesd Vector Divide Extended Signed Doubleword
vdivesw Vector Divide Extended Signed Word
vdiveud Vector Divide Extended Unsigned Doubleword
vdiveuw Vector Divide Extended Unsigned Word
vdivsd Vector Divide Signed Doubleword
vdivsw Vector Divide Signed Word
vdivud Vector Divide Unsigned Doubleword
vdivuw Vector Divide Unsigned Word
vmodsd Vector Modulo Signed Doubleword
vmodsw Vector Modulo Signed Word
vmodud Vector Modulo Unsigned Doubleword
vmoduw Vector Modulo Unsigned Word
vmulhsd Vector Multiply High Signed Doubleword
vmulhsw Vector Multiply High Signed Word
vmulhud Vector Multiply High Unsigned Doubleword
vmulhuw Vector Multiply High Unsigned Word
vmulld Vector Multiply Low Doubleword

4 years agoAdd ISA 3.1 VSX 32-byte Storage Access Operations
Will Schmidt [Mon, 22 Jun 2020 14:57:21 +0000 (09:57 -0500)] 
Add ISA 3.1 VSX 32-byte Storage Access Operations

Add support for the new ISA 3.1 load and store
instructions:

lxvpx Load VSX Vector Paired Indexed
plxvp Prefixed Load VSX Vector Paired
pstxvp Prefixed Store VSX Vector Paired
stxvpx Store VSX Vector Paired Indexed

Update the parsing of the lxvp and stxvp instructions that
were previously added.

lxvp Load VSX Vector Paired
stxvp Store VSX Vector Paired

A couple of format changes for the arguments to the
calculate_prefix_EA function.

Add comments to the else if and case statement to
clarify which instructions meet this condition.

4 years agoAdd ISA 3.1 Set Boolean Extension instruction support
Carl Love [Tue, 22 Sep 2020 17:30:43 +0000 (12:30 -0500)] 
Add ISA 3.1 Set Boolean Extension instruction support

Add support for the new ISA 3.1 set boolean condition
word instructions:

setbc Set Boolean Condition
setbcr Set Boolean Condition Reverse
setnbc Set Negative Boolean Condition
setnbcr Set Negative Boolean Condition Reverse.

4 years agoAdd ISA 3.1 Byte-Reverse Instruction support
Carl Love [Tue, 22 Sep 2020 17:25:14 +0000 (12:25 -0500)] 
Add ISA 3.1 Byte-Reverse Instruction support

Add support for the new ISA 3.1 word instructions:

brd Byte-Reverse Doubleword
brh Byte-Reverse Halfword
brw Byte-Reverse Word

4 years agoUpdate .gitignore with none/tests/amd64/rdseed
Mark Wielaard [Fri, 25 Sep 2020 19:21:35 +0000 (21:21 +0200)] 
Update .gitignore with none/tests/amd64/rdseed

4 years agoPPC64 tests Makefile.am cleanup
Carl Love [Fri, 25 Sep 2020 16:14:58 +0000 (11:14 -0500)] 
PPC64 tests Makefile.am cleanup

Fix the file consistency check in none/tests/ppc64/Makefile.am.  Subsequent
patches for the PPC ISA 3.1 support will fully add the additional tests.

4 years agoir_defs.c: Iop_MAddF32 and Iop_MSubF32 are no (longer) s390 specific.
Mark Wielaard [Thu, 10 Sep 2020 10:30:11 +0000 (12:30 +0200)] 
ir_defs.c: Iop_MAddF32 and Iop_MSubF32 are no (longer) s390 specific.

4 years agoVEX/priv/guest_arm64_toIR.c: Fix vpanic messages mixup in mkDIVF.
Mark Wielaard [Thu, 10 Sep 2020 10:28:57 +0000 (12:28 +0200)] 
VEX/priv/guest_arm64_toIR.c: Fix vpanic messages mixup in mkDIVF.

4 years agoFix isa 3.1 test code on ppc64.
Mark Wielaard [Wed, 23 Sep 2020 10:49:34 +0000 (12:49 +0200)] 
Fix isa 3.1 test code on ppc64.

On ppc64 [old big endian] altivec.h can not be included directly.
Move the HAS_ISA_3_1 guard around so the include is only done when
the full test (and test_list_t) are build.

4 years agoFix common isa 3.1 test code
Carl Love [Tue, 22 Sep 2020 23:57:14 +0000 (18:57 -0500)] 
Fix common isa 3.1 test code

The code in test_isa_3_1_common.c should only be included
if ISA 3.1 support exists.

4 years agoPrefixed load-store support
Carl Love [Mon, 21 Sep 2020 20:57:26 +0000 (15:57 -0500)] 
Prefixed load-store support

4 years agovalgrind isa 3.1 foundation
Carl Love [Mon, 21 Sep 2020 20:56:22 +0000 (15:56 -0500)] 
valgrind isa 3.1 foundation

header files and other common parts associated with the initial isa v3.1
support

4 years agoAdd prefixed support for the following word instructions.
Carl Love [Tue, 28 Jul 2020 18:17:18 +0000 (13:17 -0500)] 
Add prefixed support for the following word instructions.

addi    Add Immediate
lbz     Load Byte & Zero
ld      Load Doubleword
lfd     Load Floating Double
lfs     Load Floating Single
lha     Load Halfword Algebraic
lhz     Load Halfword & Zero
lq      Load Quadword
lwa     Load Word Algebraic
lwz     Load Word & Zero
lxsd    Load VSX Scalar Doubleword
lxssp   Load VSX Scalar Single-Precision
lxv     Load VSX Vector
stb     Store Byte
std     Store Doubleword
stfd    Store Floating Double
stfs    Store Floating Single
sth     Store Halfword
stq     Store Quadword
stw     Store Word
stxsd   Store VSX Scalar Doubleword
stxssp  Store VSX Scalar Single-Precision
stxv    Store VSX Vector

4 years agoInstruction Prefix Support
Carl Love [Wed, 6 May 2020 20:27:32 +0000 (15:27 -0500)] 
Instruction Prefix Support

4 years agoAdd check for isa 3.1 support
Carl Love [Wed, 6 May 2020 20:13:42 +0000 (15:13 -0500)] 
Add check for isa 3.1 support

4 years agodrd: Port to Fedora 33
Bart Van Assche [Sat, 19 Sep 2020 15:08:59 +0000 (08:08 -0700)] 
drd: Port to Fedora 33

Apparently on Fedora 33 the POSIX thread functions exist in both libc and
libpthread. Hence this patch that intercepts the pthread functions in
libc. See also https://bugs.kde.org/show_bug.cgi?id=426144 .

4 years agoOn amd64, use by default the expensive instrumentation scheme for Iop_Add32.
Julian Seward [Sat, 19 Sep 2020 10:09:54 +0000 (12:09 +0200)] 
On amd64, use by default the expensive instrumentation scheme for Iop_Add32.

This is necessary to avoid some false positives in code compiled by clang 10
at -O2.  Some very crude measurements suggest the increase in generated code
size is around 0.2%, viz, insignificant.

4 years agoBug 425820 - Failure to recognize vpcmpeqq as a dependency breaking idiom.
Julian Seward [Sat, 19 Sep 2020 10:05:26 +0000 (12:05 +0200)] 
Bug 425820 - Failure to recognize vpcmpeqq as a dependency breaking idiom.

In the IR optimiser (ir_opt.c): Recognise the following IROps as
dependency-breaking ops that generate an all-ones output: Iop_CmpEQ16x4
Iop_CmpEQ32x2 Iop_CmpEQ64x2 Iop_CmpEQ8x32 Iop_CmpEQ16x16 Iop_CmpEQ64x4.  I
think this fixes all the known cases for sizes 32 bits to 256 bits.  It also
fixes bug 425820.

4 years agoamd64: Implement RDSEED
Alexandra Hájková [Fri, 31 Jul 2020 11:19:16 +0000 (13:19 +0200)] 
amd64: Implement RDSEED

This commit implements amd64 RDSEED instruction, on hosts that have it
and adds the new test case - none/tests/amd64/rdseed based on the existing
rdrand support.

https://bugs.kde.org/show_bug.cgi?id=424298

4 years agoCorrect vpanic message in guest_arm64_toIR.c for mkABSF/mkSQRTF.
Mark Wielaard [Mon, 31 Aug 2020 10:25:43 +0000 (12:25 +0200)] 
Correct vpanic message in guest_arm64_toIR.c for mkABSF/mkSQRTF.

I didn't actually see these vpanics, so they might never trigger. But
both would vpanic as if for mkNEGF, which is clearly wrong and confusing.

4 years agoIncorrect call-graph tracking due to new _dl_runtime_resolve_xsave*
Mark Wielaard [Mon, 27 Jul 2020 20:43:28 +0000 (22:43 +0200)] 
Incorrect call-graph tracking due to new _dl_runtime_resolve_xsave*

Newer glibc have alternate ld.so _ld_runtime_resolve functions.
Namely _dl_runtime_resolve_xsave and _dl_runtime_resolve_xsavec

This patch recognizes the xsave, xsvec and fxsave variants and
changes callgrind so that any variant counts as _dl_runtime_resolve.

Original patch by paulo.cesar.pereira.de.andrade@gmail.com
https://bugs.kde.org/show_bug.cgi?id=415293

4 years agoFix epoll_ctl setting of array event and data fields.
Mark Wielaard [Tue, 18 Aug 2020 21:58:55 +0000 (23:58 +0200)] 
Fix epoll_ctl setting of array event and data fields.

Fix for https://bugs.kde.org/show_bug.cgi?id=422623 in commit ecf5ba119
epoll_ctl warns for uninitialized padding on non-amd64 64bit arches
contained a bug. A pointer to an array is not a pointer to a pointer to
an array. Found by a Fedora user:
https://bugzilla.redhat.com/show_bug.cgi?id=1844778#c10

4 years agoHandle REX prefixed JMP instruction.
Mark Wielaard [Sun, 26 Jul 2020 19:17:23 +0000 (21:17 +0200)] 
Handle REX prefixed JMP instruction.

The NET Core runtime might generate a JMP with a REX prefix.
For Jv (32bit offset) and Jb (8bit offset) this is valid.
Prefixes that change operand size are ignored for such JMPs.
So remove the check for sz == 4 and force sz = 4 for Jv.

https://bugs.kde.org/show_bug.cgi?id=422174

4 years agoFix warning in syswrap sched_getattr print format.
Philippe Waroquiers [Sat, 15 Aug 2020 14:54:14 +0000 (16:54 +0200)] 
Fix warning in syswrap sched_getattr print format.

m_syswrap/syswrap-linux.c:3716:10: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'RegWord' {aka 'long unsigned int'} [-Wformat=]

4 years agoDocument format of suppression files comment lines and blank lines.
Philippe Waroquiers [Sat, 15 Aug 2020 14:45:54 +0000 (16:45 +0200)] 
Document format of suppression files comment lines and blank lines.

Seems this was not documented.

5 years agoepoll_ctl warns for uninitialized padding on non-amd64 64bit arches
Mark Wielaard [Sun, 26 Jul 2020 20:40:22 +0000 (22:40 +0200)] 
epoll_ctl warns for uninitialized padding on non-amd64 64bit arches

struct vki_epoll_event is packed on x86_64, but not on other 64bit
arches. This means that on 64bit arches there can be padding in the
epoll_event struct. Seperately the data field is only used by user
space (which might not set the data field if it doesn't need to).

Only check the events field on epoll_ctl. But assume both events
and data are both written to by epoll_[p]wait (exclude padding).

https://bugs.kde.org/show_bug.cgi?id=422623

5 years agoHandle linux syscalls sched_getattr and sched_setattr
Mark Wielaard [Mon, 27 Jul 2020 14:36:17 +0000 (16:36 +0200)] 
Handle linux syscalls sched_getattr and sched_setattr

The only "special" thing about these syscalls is that the given
struct sched_attr determines its own size for future expansion.

Original fix by "ISHIKAWA,chiaki" <ishikawa@yk.rim.or.jp>

https://bugs.kde.org/show_bug.cgi?id=369029

5 years agoAdd armhf debian specific suppression to auxprogs/gsl-1.6.supp.
Mark Wielaard [Mon, 20 Jul 2020 09:35:42 +0000 (11:35 +0200)] 
Add armhf debian specific suppression to auxprogs/gsl-1.6.supp.

On debian armhf write goes through the __libc_do_syscall function.

5 years agoSmall fixes for new auxchecks target that runs GNU Scientific Library tests
Rhys Kidd [Fri, 3 Jul 2020 00:29:42 +0000 (10:29 +1000)] 
Small fixes for new auxchecks target that runs GNU Scientific Library tests

Fixes:
- Ensure proper slash is present in default folder path: auxprogs/auxchecks.
- Ensure intermediate build artifacts aren't accidentally committed to git.

Fixes: 5efd866df ("Add new auxchecks target that runs GNU Scientific Library tests.")
5 years agoAdd new auxchecks target that runs GNU Scientific Library tests.
Mark Wielaard [Tue, 30 Jun 2020 15:51:49 +0000 (17:51 +0200)] 
Add new auxchecks target that runs GNU Scientific Library tests.

Replace the gsl16test script under auxprogs that you run by hand
with a new make target auxchecks which fetches the source code,
patches, reconfigures and builds all tests. Then run all tests
under valgrind.

5 years agoupdate .gitignore with new docs/valid-* targets
Rhys Kidd [Thu, 2 Jul 2020 09:13:58 +0000 (19:13 +1000)] 
update .gitignore with new docs/valid-* targets

Fixes: 4facc497b ("doc/Makefile.am: Turn valid-manual and valid-manpages into real targets")
5 years agoBugzilla 423021 - PPC: Add missing ISA 3.0 documentation link and HWCAPS test.
Carl Love [Mon, 15 Jun 2020 16:31:16 +0000 (11:31 -0500)] 
Bugzilla 423021 - PPC: Add missing ISA 3.0 documentation link and HWCAPS test.

Add the check for the PPC_FEATURE2_ARCH_3_00 setting in the HWCAP2 string.

Add the information on where to find the public IBM ISA 3.0B document.

5 years agoUpdate NEWS following the fix of #422715.
Julian Seward [Thu, 11 Jun 2020 07:07:52 +0000 (09:07 +0200)] 
Update NEWS following the fix of #422715.

5 years agoexpr_is_guardable, stmt_is_guardable, add_guarded_stmt_to_end_of: handle GetI/PutI...
Julian Seward [Thu, 11 Jun 2020 07:01:52 +0000 (09:01 +0200)] 
expr_is_guardable, stmt_is_guardable, add_guarded_stmt_to_end_of: handle GetI/PutI cases.

This fixes #422715.

5 years agoPower PC Fix extraction of the L field for sync instruction
Carl Love [Tue, 9 Jun 2020 15:42:03 +0000 (10:42 -0500)] 
Power PC Fix extraction of the L field for sync instruction

The L field is currently a two bit[22:21] field in ISA 3.0. The size of the
L field has changed over time.

Currently the ISA 3.0 Valgrind sync instruction support code sets the
flag_L for the instruction L field to a five bit value that includes bits
that are marked reserved the sync instruction.  This patch fixes the issue for ISA 3.0
to only setting flag_L the specified two bits.

Valgrind bugzilla:   https://bugs.kde.org/show_bug.cgi?id=422677

5 years agodocs: Always generate UTF-8 encoding
Mark Wielaard [Tue, 9 Jun 2020 10:59:40 +0000 (12:59 +0200)] 
docs: Always generate UTF-8 encoding

5 years agodocs: Make sure all elements that need it have an id tag.
Mark Wielaard [Tue, 9 Jun 2020 09:23:46 +0000 (11:23 +0200)] 
docs: Make sure all elements that need it have an id tag.

When generating HTML it is useful if every element that can be referenced
has a stable id. If it doesn't a random one is generated which makes it
harder to link to parts of the manual on the website. It also generates
spurious diffs. Explicitly add an id tag for the sect2 and sect3 elements
in dh-manual, a unique id for each legalnotice element and for each
FAQ question and answer.

5 years agoAdd execveat for arm[64], [nano]mips[32|64], ppc[32|64], s390x and x86.
Mark Wielaard [Tue, 9 Jun 2020 07:02:51 +0000 (09:02 +0200)] 
Add execveat for arm[64], [nano]mips[32|64], ppc[32|64], s390x and x86.

https://bugs.kde.org/show_bug.cgi?id=345077

5 years agoAdvance the head to 3.17.0.GIT.
Mark Wielaard [Mon, 8 Jun 2020 19:12:39 +0000 (21:12 +0200)] 
Advance the head to 3.17.0.GIT.

5 years agoAdd support for execveat syscall
Alexandra Hájková [Thu, 9 Apr 2020 15:28:18 +0000 (17:28 +0200)] 
Add support for execveat syscall

Refactor the code to be reusable between execve and
execveat syscalls.

https://bugs.kde.org/show_bug.cgi?id=345077

5 years agoPrepare NEWS for 3.17.0
Mark Wielaard [Mon, 8 Jun 2020 17:52:02 +0000 (19:52 +0200)] 
Prepare NEWS for 3.17.0

5 years ago-> 3.16.0 final
Julian Seward [Mon, 8 Jun 2020 05:32:19 +0000 (07:32 +0200)] 
-> 3.16.0 final

(cherry picked from commit 108b4a0880bc04f9db6133f79a8e4a98dcfc0cd0)

5 years ago-> 3.16.0.RC2
Julian Seward [Tue, 19 May 2020 12:33:31 +0000 (14:33 +0200)] 
-> 3.16.0.RC2

(cherry picked from commit bf5e647edb9e96cbd5c57cc944984402eeee296d)

5 years agodoc/Makefile.am: Turn valid-manual and valid-manpages into real targets
Mark Wielaard [Mon, 8 Jun 2020 13:14:04 +0000 (15:14 +0200)] 
doc/Makefile.am: Turn valid-manual and valid-manpages into real targets

Make valid-manual and valid-manpages real, separate make targets.
This means they can be run in parallel and they will only be run
once when doing make check, unless one of the manual and manpages
files has been touched.

5 years agodrd/tests/tsan_unittest.cpp: Fix array CHECK
Mark Wielaard [Mon, 8 Jun 2020 11:36:11 +0000 (13:36 +0200)] 
drd/tests/tsan_unittest.cpp: Fix array CHECK

Use == equality, not = assignment, for CHECK.

5 years agoguest_ppc_toIR: Call vpanic not just vex_printf when the impossible happens
Mark Wielaard [Mon, 8 Jun 2020 11:27:28 +0000 (13:27 +0200)] 
guest_ppc_toIR: Call vpanic not just vex_printf when the impossible happens

is_Zero_Vector, is_Denorm_Vector, is_NaN_Vector and negate_Vector
only handle an Ity_I32 element size. And that is also what they are
currently being called with. In case they would ever be called with
a different element_size they would simply vex_printf and continue
(producing bogus/impossible results). To make this a bit more future
proof (and to silence a static analyzer) vpanic instead.

5 years agohelgrind: If hg_cli__realloc fails, return NULL.
Mark Wielaard [Mon, 8 Jun 2020 11:24:47 +0000 (13:24 +0200)] 
helgrind: If hg_cli__realloc fails, return NULL.

helgrind would not handle a failing realloc correctly and assume
cli_malloc would always succeed. If cli_malloc fails in hg_cli__realloc
do like dh and massif and fail the realloc call by returning NULL.

5 years agomips: remove rt-rk email that is no longer in use
Petar Jovanovic [Wed, 20 May 2020 13:18:55 +0000 (13:18 +0000)] 
mips: remove rt-rk email that is no longer in use

Email mips-valgrind@rt-rk.com is no longer in use.

5 years ago-> 3.16.0.RC1
Julian Seward [Mon, 18 May 2020 16:50:27 +0000 (18:50 +0200)] 
-> 3.16.0.RC1

5 years agoEnable v8.1 atomics and fix SWP and LDUMAX instructions.
Assad Hashmi [Fri, 15 May 2020 14:44:14 +0000 (16:44 +0200)] 
Enable v8.1 atomics and fix SWP and LDUMAX instructions.

The atomics test drd/tests/std_mutex hangs on Arm v8.1 when built
with GCC10. Add HWCAP_ATOMICS to ARM64_SUPPORTED_HWCAP and fix the
ldumax and swp instructions to make it work.

https://bugs.kde.org/show_bug.cgi?id=421570

5 years agogcc10 arm64 build needs __getauxval for linking with libgcc
Mark Wielaard [Tue, 12 May 2020 14:58:36 +0000 (16:58 +0200)] 
gcc10 arm64 build needs __getauxval for linking with libgcc

Provide a new library libgcc-sup-<platform>.a that contains symbols
needed by libgcc. This needs to be linked after -lgcc to provide
any symbols missing which would normally be provided by glibc.
At the moment this only provides __getauxval on arm64 linux.

https://bugs.kde.org/show_bug.cgi?id=421321

5 years agoExplicitly set stylesheet to use with xmlto.
Mark Wielaard [Fri, 15 May 2020 10:30:00 +0000 (12:30 +0200)] 
Explicitly set stylesheet to use with xmlto.

5 years agoMove to xmlto with fop for print-docs.
Mark Wielaard [Thu, 14 May 2020 20:45:30 +0000 (22:45 +0200)] 
Move to xmlto with fop for print-docs.

Default to using fop for pdf generation.
pdfxmltex is known to be broken by default.
xmlto can also use pdfxmltex or dblatex if available.

5 years agoRun xmllint on make check.
Mark Wielaard [Thu, 14 May 2020 22:43:33 +0000 (00:43 +0200)] 
Run xmllint on make check.

Now that we have valid docbookx xml lets try to keep it that way.
If the user has xmllint installed then run it on make check.

5 years agoSet refmiscinfo class to version in all manpages.
Mark Wielaard [Thu, 14 May 2020 17:11:22 +0000 (19:11 +0200)] 
Set refmiscinfo class to version in all manpages.

Otherwise xsltproc will complain while producing the manpage that
it doesn't know how to interpret the release string.

5 years agoResolve id conflicts in See Also sections in valgrind and vgdb manpages.
Mark Wielaard [Thu, 14 May 2020 16:47:57 +0000 (18:47 +0200)] 
Resolve id conflicts in See Also sections in valgrind and vgdb manpages.

Because the manpages are processed together they cannot contain the
same ids. Both the valgrind and vgdb manpage reference the vgdb main
manual URL. That conflicts even though the valgrind.1 and vgdb.1 manual
page are separate. Prefixing the vgdb ids (with "vgdb-") works around
the conflict. It still works fine, since in vgdb the references are only
directly used in the "See Also" refsect. The labels and urls still come
out as intended.

With this fix make valid validates both the manual index.xml and
manpages-index.xml without errors.

5 years agoMake Execution Trees references available in both manual and man pages.
Mark Wielaard [Thu, 14 May 2020 15:50:40 +0000 (17:50 +0200)] 
Make Execution Trees references available in both manual and man pages.

Both the manual and the man pages reference xtrees. Create some shared
entities so both can reference the section.

5 years agoTurn manpages-index.xml into a "real" book, so it can be validated.
Mark Wielaard [Thu, 14 May 2020 14:07:04 +0000 (16:07 +0200)] 
Turn manpages-index.xml into a "real" book, so it can be validated.

manpages-index.xml is just to easily get at each individual man page
with xsltproc. It wasn't a complete docbookx xml file. Now that it is
we can validate it with xmllint. It doesn't fully validate, but we
are close.

5 years agoUse DTD DocBook XML V4.5 everywhere.
Mark Wielaard [Thu, 14 May 2020 13:11:56 +0000 (15:11 +0200)] 
Use DTD DocBook XML V4.5 everywhere.

This makes the rule for xmllint easier since it doesn't need to
override the DTD to validate against. It also helps with other tools
tryinf to process the docbookx xml files.

5 years agoUpdate README_DEVELOPERS and references to --vex-guest-chase-thresh.
Mark Wielaard [Thu, 14 May 2020 10:54:23 +0000 (12:54 +0200)] 
Update README_DEVELOPERS and references to --vex-guest-chase-thresh.

Add a hint about using lldb in README_DEVELOPERS and fix any old references
to --vex-guest-chase-thresh=0 to --vex-guest-chase=no (mirroring the change
in commit 56e04256a "Rationalise --vex-guest* flags in the new IRSB
construction framework".

Reported-by: Paul FLOYD <pjfloyd@wanadoo.fr>
5 years agodocbook xml doesn't allow xref inside option, use link instead
Mark Wielaard [Thu, 14 May 2020 10:43:39 +0000 (12:43 +0200)] 
docbook xml doesn't allow xref inside option, use link instead

5 years agocl-manual.xml: xref cannot be used inside computeroutput, use link.
Mark Wielaard [Wed, 13 May 2020 22:53:16 +0000 (00:53 +0200)] 
cl-manual.xml: xref cannot be used inside computeroutput, use link.

5 years agoms_print-manpage.xml: date is not a valid tag inside refmeta.
Mark Wielaard [Wed, 13 May 2020 22:48:34 +0000 (00:48 +0200)] 
ms_print-manpage.xml: date is not a valid tag inside refmeta.

5 years agodrd-manual.xml: C++ isn't a valid id syntax, use CXX instead.
Mark Wielaard [Wed, 13 May 2020 22:38:27 +0000 (00:38 +0200)] 
drd-manual.xml: C++ isn't a valid id syntax, use CXX instead.

5 years agonl-manual.xml: Use unique nl-manual.overview as id, not ms-manual.overview.
Mark Wielaard [Wed, 13 May 2020 21:51:52 +0000 (23:51 +0200)] 
nl-manual.xml: Use unique nl-manual.overview as id, not ms-manual.overview.

5 years agoDon't use similar ids for varlistentry in cg-manual and cl-manual.
Mark Wielaard [Wed, 13 May 2020 21:39:40 +0000 (23:39 +0200)] 
Don't use similar ids for varlistentry in cg-manual and cl-manual.

5 years agocg-manual.xml: Use cg-manual.forkingprograms id, not ms-manual.
Mark Wielaard [Wed, 13 May 2020 14:50:21 +0000 (16:50 +0200)] 
cg-manual.xml: Use cg-manual.forkingprograms id, not ms-manual.

5 years agodh-manual.xml: Don't use computeroutput in title.
Mark Wielaard [Wed, 13 May 2020 14:43:41 +0000 (16:43 +0200)] 
dh-manual.xml: Don't use computeroutput in title.

It seems legal docbook, but it crashes our xsltproc/pdfxmltex toolchain.

5 years agodh-manual.xml: Put stray text before graphic in a para.
Mark Wielaard [Wed, 13 May 2020 13:52:32 +0000 (15:52 +0200)] 
dh-manual.xml: Put stray text before graphic in a para.

5 years agoms-manual.xml: Put stray ':' inside para.
Mark Wielaard [Wed, 13 May 2020 13:49:31 +0000 (15:49 +0200)] 
ms-manual.xml: Put stray ':' inside para.

5 years agomanual-core-adv.xml: listitems contain paras, not plain CDATA.
Mark Wielaard [Wed, 13 May 2020 13:46:16 +0000 (15:46 +0200)] 
manual-core-adv.xml: listitems contain paras, not plain CDATA.

5 years agomanual-core.xml: Fix various xmllint issues.
Mark Wielaard [Wed, 13 May 2020 13:37:13 +0000 (15:37 +0200)] 
manual-core.xml: Fix various xmllint issues.

Wrap bare CDATA text in a para and make sure that all listitems contain
paras.

5 years agovalgrind-manpage.xml: arg cannot contain a program, use replaceable.
Mark Wielaard [Wed, 13 May 2020 13:27:57 +0000 (15:27 +0200)] 
valgrind-manpage.xml: arg cannot contain a program, use replaceable.

5 years agohg-manual.xml: listitems contain paras, not CDATA.
Mark Wielaard [Wed, 13 May 2020 13:26:53 +0000 (15:26 +0200)] 
hg-manual.xml: listitems contain paras, not CDATA.

5 years agomc-manual.xml: varlistentries cannot contain paras, listitems do.
Mark Wielaard [Wed, 13 May 2020 13:24:31 +0000 (15:24 +0200)] 
mc-manual.xml: varlistentries cannot contain paras, listitems do.

5 years agodh-manual.xml: Remove duplicate dh-manual.options id.
Mark Wielaard [Wed, 13 May 2020 13:13:18 +0000 (15:13 +0200)] 
dh-manual.xml: Remove duplicate dh-manual.options id.

Rename one to dh-manual.realloc.