]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
12 hours agoAdd SSE4.1 PHMINPOSUW for x86 32-bit master
Alexandra Hájková [Wed, 27 May 2026 15:24:34 +0000 (11:24 -0400)] 
Add SSE4.1 PHMINPOSUW for x86 32-bit

Moved sel16x4_0/1/2/3 to VEX/priv/guest_generic_helpers.h.
Moved amd64g_calculate_sse_phminposuw from guest_amd64_helpers.c
to guest_generic_helpers.h and renamed to
g_calculate_sse_phminposuw so both x86 and amd64 can use it.
Add test function to sse4-common.h and update
none/tests/x86/sse4-x86.c to test the instruction.

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

22 hours agoFix dist builds: add NEWS.older to EXTRA_DIST
Paul Floyd [Fri, 5 Jun 2026 11:00:08 +0000 (13:00 +0200)] 
Fix dist builds: add NEWS.older to EXTRA_DIST

28 hours agoDoc: add NEWS.older to html generation
Paul Floyd [Fri, 5 Jun 2026 05:17:24 +0000 (07:17 +0200)] 
Doc: add NEWS.older to html generation

A while back I split up NEWS NEWS.old and NEWS.older. I didn't notice
that I should have also updated the html generation to use the new
file.

38 hours agoBug 338365 - New client request to fetch valgrind version
Julien Floyd [Fri, 29 May 2026 18:38:10 +0000 (20:38 +0200)] 
Bug 338365 - New client request to fetch valgrind version

added documentation and tests, changed the value from hex to decimal.

Original patch provided by Étienne Dupuis.

2 days agoAdvertise LZCNT via CPUID for x86 (32-bit) clients
Martin Cermak [Thu, 4 Jun 2026 07:02:17 +0000 (09:02 +0200)] 
Advertise LZCNT via CPUID for x86 (32-bit) clients

The LZCNT instruction is only recognized by a
x86 guest if the host CPU supports it.

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

2 days agoDoc: update README_MISSING_SYSCALL_OR_IOCTL
Paul Floyd [Wed, 3 Jun 2026 20:18:43 +0000 (22:18 +0200)] 
Doc: update README_MISSING_SYSCALL_OR_IOCTL

Add a few things for regword formatting, checking that pointer
deref is safe, syscall failures and checking and tracking fds.

A few more sentences about Solaris, Darwin and FreeBSD.

2 days agoWarning cleanup: one more -Wmisleading-indentation for minilzo-inl.c
Paul Floyd [Wed, 3 Jun 2026 19:39:00 +0000 (21:39 +0200)] 
Warning cleanup: one more -Wmisleading-indentation for minilzo-inl.c

I think that I will give up here. The ones in minilzo-inl.c were
easy to fix. The others are all deep in macros and caused by
macros putting everything on one line. I don't think that it's worth
the effort to use pragmas or per-file compiler options or to convert
the macros to static inline functions. I'm only seeing them with
GCC 8.5 on ppc64le.

3 days agoRegtest warnings: fixes for GCC 16.1 C++20 volatile deprecation
Paul Floyd [Wed, 3 Jun 2026 06:06:49 +0000 (08:06 +0200)] 
Regtest warnings: fixes for GCC 16.1 C++20 volatile deprecation

We now get warnings for things like using operator++ on a volatile.
Simply removing the volatile keyword seems to solve the problem.
In two of the cases the value is now returned in order to prevent the
compiler from optimising away the variable (which was probably the
original intent).

4 days agoWarning cleanup: -Wmisleading-indentation warnings
Paul Floyd [Tue, 2 Jun 2026 06:16:51 +0000 (08:16 +0200)] 
Warning cleanup: -Wmisleading-indentation warnings

On cfarm135 I get a lot of thse warnings. This first bunch
are due to mutliple macros being used on the same line.

4 days agoRegtest: fix none round.c test for ppc32 and 64
Paul Floyd [Mon, 1 Jun 2026 18:41:51 +0000 (20:41 +0200)] 
Regtest: fix none round.c test for ppc32 and 64

Was failing to build on buildbot due to the use of an old
K&R function definition.

4 days agoRegtest: fox for new none x86 bug520856-x86 test users/paulf/try-fix_x86_ind_jmp_cs_prefix
Paul Floyd [Mon, 1 Jun 2026 10:48:14 +0000 (12:48 +0200)] 
Regtest: fox for new none x86 bug520856-x86 test

A problem with the jumped to skip address with some versions of GCC.
Fix it by junping in the inline assembler.

5 days agoBug 520861 - Update FAQ for C++ standard library
Paul Floyd [Mon, 1 Jun 2026 05:42:01 +0000 (07:42 +0200)] 
Bug 520861 - Update FAQ for C++ standard library

5 days agoDoc: change STL to standard library
Paul Floyd [Sun, 31 May 2026 18:01:10 +0000 (20:01 +0200)] 
Doc: change STL to standard library

5 days agoBug 520856 - unhandled instruction bytes: 0x2E 0xFF 0x14 0x8
Paul Floyd [Sun, 31 May 2026 10:00:43 +0000 (12:00 +0200)] 
Bug 520856 - unhandled instruction bytes: 0x2E 0xFF 0x14 0x8

This was an indirect JMP with a CS segment override prefix.
The fix is to just skip the prefix.

6 days agoMassif doc: mention that Darwin x86 uses unsigned long for size_t.
Paul Floyd [Sun, 31 May 2026 05:53:50 +0000 (07:53 +0200)] 
Massif doc: mention that Darwin x86 uses unsigned long for size_t.

This is somewhat academic, macOS 10.15 dropped x86 in 2019,
Valgrind does not support macOS 10.14 x86 since it uses AVX.
The last version of macOS x86 that we do have support for is
macOS 10.13 which was released in 2017 and ended support in
2020.

7 days agoDarwin: fix use of DARWIN_VERS on x86
Paul Floyd [Sat, 30 May 2026 06:28:38 +0000 (08:28 +0200)] 
Darwin: fix use of DARWIN_VERS on x86

There was a mistake where I left in one too many "== DARWIN_VERS" when
I purged the DARWIN_10_6 checks. Thanks to Mark Harris for spotting it.

7 days agoNEWS: add the new ms_print --peak-only option to TOOL CHANGES
Paul Floyd [Sat, 30 May 2026 05:59:35 +0000 (07:59 +0200)] 
NEWS: add the new ms_print --peak-only option to TOOL CHANGES

7 days agoDarwin regtest and version: remove last trace of DARWIN_10_6
Paul Floyd [Fri, 29 May 2026 19:36:15 +0000 (21:36 +0200)] 
Darwin regtest and version: remove last trace of DARWIN_10_6

7 days agoFix macOS 10.8.5 undeclared identifier F_READBOOTSTRAP/F_WRITEBOOTSTRAP
Mark Harris [Wed, 20 May 2026 19:21:34 +0000 (12:21 -0700)] 
Fix macOS 10.8.5 undeclared identifier F_READBOOTSTRAP/F_WRITEBOOTSTRAP

Apparently these macros were present in OS X 10.8 but were removed
at some point before OS X 10.8.5.

7 days agoDarwin version macros: remove DARWIN_10_6 and DARWIN_10_7
Paul Floyd [Fri, 29 May 2026 19:16:32 +0000 (21:16 +0200)] 
Darwin version macros: remove DARWIN_10_6 and DARWIN_10_7

A while back I bumped up the configure.ac oldest supported OSX to
version 10.8 (that's the oldest with an xcode supporting C11,
I suppose that we could use MacPorts gcc or clang but I don't
want to turn back now).

There were a good number of uses of conditional DARWIN_10_6
and DARWIN_10_7 in the code that this change purges.

8 days agoWarning cleanup: make sure that either macros are defined or use #ifdef rather than #if
Paul Floyd [Fri, 29 May 2026 06:31:39 +0000 (08:31 +0200)] 
Warning cleanup: make sure that either macros are defined or use #ifdef rather than #if

A comment in https://bugs.kde.org/show_bug.cgi?id=519604 about correctly checking
for DARWIN_VERS led me to doing some builds with -Wundef. We still get quite a few
warnings from mips and LZO. I'll repeat the exercise on illumos Darwin and Linux amd64.

8 days agoDarwin vki header: include config.h
Paul Floyd [Fri, 29 May 2026 05:30:58 +0000 (07:30 +0200)] 
Darwin vki header: include config.h

vki-darwin.h uses DARWIN_VERS to check for OS versions that are
missing needed definitions but it wasn't including config.h

9 days agoBug 387080 - Add --peak-only option to ms_print
Julien Floyd [Mon, 25 May 2026 15:34:19 +0000 (17:34 +0200)] 
Bug 387080 - Add --peak-only option to ms_print

Original patch submitted by "Vadim Zeitlin <vz-kde@zeitlins.org>"

This is based on the original patch that added the --only-peak option to ms_print.

Most of my changes targeted the documentation and test.

10 days agoBug 520482: Advertise POPCNT on x86 via CPUID
Martin Cermak [Tue, 26 May 2026 10:26:35 +0000 (12:26 +0200)] 
Bug 520482:  Advertise POPCNT on x86 via CPUID

VEX/priv/guest_x86_helpers.c: Add popcnt to the
current "max" cpuid helper ssse3 just
unconditionally as a followup to bug 271615.

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

11 days agodocs FAQ: update gmane and add a bit on Stack Overflow.
Paul Floyd [Mon, 25 May 2026 14:02:40 +0000 (16:02 +0200)] 
docs FAQ: update gmane and add a bit on Stack Overflow.

The gmane part was simply out of date. For SO I tried really hard not
to be rude about the quality of the reviewing.

2 weeks agoRegtest arm64: remove none filter_nan
Paul Floyd [Sat, 23 May 2026 05:39:30 +0000 (07:39 +0200)] 
Regtest arm64: remove none filter_nan

Handle printing "-nan" in simd.c rather than using a filter. Also use builtins
to generate inf and nan values as it is more reliable.

2 weeks agoUse helper functions to print double +/- inf/nan for amd64 fxtract and bug132918...
Paul Floyd [Sat, 23 May 2026 05:11:34 +0000 (07:11 +0200)] 
Use helper functions to print double +/- inf/nan for amd64 fxtract and bug132918 testcases

These are the last two x86/amd64 testcases with printf inf/nan issues.

2 weeks agoRemove VEX/test
Florian Krohm [Fri, 22 May 2026 20:08:50 +0000 (22:08 +0200)] 
Remove VEX/test

The snippets there are not suitable for testsuite integration.
Some compile with warnings or not at all (x87fxam.c, x87tst.c),
fpucw.c has no meaningful output. The remaining ones test x87
FPU state save / restore by dumping the state as hex bytes. That
would result in several .exp files because FPU state contains
instruction and data addresses.

2 weeks agoUse helper functions to print double +/- inf/nan for x86 fxtract testcase
Paul Floyd [Fri, 22 May 2026 19:06:53 +0000 (21:06 +0200)] 
Use helper functions to print double +/- inf/nan for x86 fxtract testcase

Similar to recent commit for sse4 testcases

2 weeks agoBug 513165 - Update zstd to 1.5.7
Julien Floyd [Sun, 3 May 2026 11:03:08 +0000 (13:03 +0200)] 
Bug 513165 - Update zstd to 1.5.7

This was done following the README_DEVELOPERS zstd upgrade guide, I copied the
new version of zstd and did a 3 way merge to avoid conflicts.

2 weeks agoUse helper functions to print double +/- inf/nan for sse4 testcase
Mark Wielaard [Fri, 22 May 2026 05:39:56 +0000 (07:39 +0200)] 
Use helper functions to print double +/- inf/nan for sse4 testcase

Different libc printf implementations can have different ways to print
plus/minus nan/inf values. Add a print_double wrapper that checks
whether the double value is a nan, inf and whether it has a positive
or negative signbit. Similarly add a print_float wrapper. This way
we don't need any alternative .exps or filters.

2 weeks agonone/tests/{x86,amd64}/Makefile.am: Move fb_test headers in noinst_HEADERS
Mark Wielaard [Thu, 21 May 2026 12:36:26 +0000 (14:36 +0200)] 
none/tests/{x86,amd64}/Makefile.am: Move fb_test headers in noinst_HEADERS

2 weeks agoBug 271615: Unhandled instruction "popcnt" (x86)
Martin Cermak [Thu, 21 May 2026 11:20:59 +0000 (13:20 +0200)] 
Bug 271615: Unhandled instruction "popcnt" (x86)

VEX/priv/guest_x86_toIR.c: POPCNT decoder authored by
                           Thomas.Eschenbacher@gmx.de
none/tests/x86/sse4-x86.c: Test coverage
none/tests/x86/sse4-x86.stdout.exp: ditto
none/tests/sse4-common.h: ditto

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

2 weeks agoFreeFSD regtest: update none x86/sse4-x86 expected
Paul Floyd [Thu, 21 May 2026 06:34:07 +0000 (08:34 +0200)] 
FreeFSD regtest: update none x86/sse4-x86 expected

2 weeks agoAdd PACKUSDW SSE4.1 support for x86
Mark Wielaard [Thu, 5 Mar 2026 17:49:32 +0000 (18:49 +0100)] 
Add PACKUSDW SSE4.1 support for x86

Add handling of PACKUSDW to VEX/priv/guest_x86_toIR.c based on the
guest_amd64_toIR.c implementation. Handle Iop_QNarrowBin32Sto16Ux8
using h_generic_calc_QNarrowBin32Sto16Ux8 in VEX/priv/host_x86_isel.c.

Move test_PACKUSDW from none/tests/amd64/sse4-64.c to
none/tests/sse4-common.h and add the same test to
none/tests/x86/sse4-x86.c with new PACKUSDW output in stdout.exp.

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

2 weeks agoVEX/test: Remove various files.
Florian Krohm [Wed, 20 May 2026 21:39:40 +0000 (23:39 +0200)] 
VEX/test: Remove various files.

Either boring, or not suitable for integration into the testsuite
or redundant.

2 weeks agoAdd SSE4.1 PEXTRD instruction for x86 32 bit
Alexandra Hájková [Thu, 30 Apr 2026 14:44:27 +0000 (10:44 -0400)] 
Add SSE4.1 PEXTRD instruction for x86 32 bit

Support pextrd instruction in guest_x86_toIR.c and
host_x86_isel.c. Add test function to sse4-common.h
and update none/tests/x86/sse4-x86.c to test the
instruction.

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

2 weeks agoAdd fb_test header files to none/tests/x86/Makefile.am EXTRA_DIST
Mark Wielaard [Tue, 19 May 2026 17:10:21 +0000 (19:10 +0200)] 
Add fb_test header files to none/tests/x86/Makefile.am EXTRA_DIST

Add fb_test_i386.h, fb_test_i386_shift.h and fb_test_i386_muldiv.h.
Fixes make distcheck.

2 weeks agoTestcase none/tests/x86/fb_test_i386.c: disable test_fenv
Florian Krohm [Mon, 18 May 2026 21:16:45 +0000 (23:16 +0200)] 
Testcase none/tests/x86/fb_test_i386.c: disable test_fenv

Results differ depending on compiler version.

2 weeks agofree_aligned_sized: improve error message for alignment mismatch
Paul Floyd [Sun, 17 May 2026 10:42:26 +0000 (12:42 +0200)] 
free_aligned_sized: improve error message for alignment mismatch

Previously if the allocation used default alignment then
the error message used 0 for the allocation alignment.
Now it says "default-aligned".

2 weeks agoRegtest: add a test for C23 free_sized and free_aligned_sized
Paul Floyd [Sun, 17 May 2026 09:40:02 +0000 (11:40 +0200)] 
Regtest: add a test for C23 free_sized and free_aligned_sized

With Fedora 44 these are now generally available.

2 weeks agoNew test none/tests/x86/fb_test_i386.c
Florian Krohm [Sat, 16 May 2026 20:31:17 +0000 (20:31 +0000)] 
New test none/tests/x86/fb_test_i386.c

This is essentially VEX/test/test-i386* with various fixes.
The md5sum code in fb_test_i386.c was copied verbatim from
none/tests/amd64/fb_test_amd64.c.

2 weeks agoVEX/test: Remove test-amd.[ch] and included header files.
Florian Krohm [Thu, 14 May 2026 21:07:22 +0000 (21:07 +0000)] 
VEX/test: Remove test-amd.[ch] and included header files.

This test has already been integrated as "none/tests/amd64/fb_test_amd64.c"

2 weeks agoBug 487418 - [arm64] Cleanup M{SR,RS} instructions (part 2)
Paul Floyd [Sat, 16 May 2026 09:16:36 +0000 (11:16 +0200)] 
Bug 487418 - [arm64] Cleanup M{SR,RS} instructions (part 2)

Extracts system register shift and mask macros to a new VEX public
header libvex_guest_arm64_sysregs.h

These macros are used in both VEX dirty helpers and coregrind
VG_(machine_get_hwcaps).

Mostly this is just refactoring the code. It should be more robust
in the face of changes concerning future ARM CPU features. The
id_aa64pfr0_el1 dirty helper has changed a bit - the code was wrong
but the output was right (for what we currently support).

3 weeks agoRemove VEX/switchback
Florian Krohm [Thu, 14 May 2026 16:22:54 +0000 (16:22 +0000)] 
Remove VEX/switchback

The code does not compile since 56e04256a7a and hasn't been used in a
long time.

3 weeks agoRemove VEX/unused
Florian Krohm [Thu, 14 May 2026 15:57:56 +0000 (15:57 +0000)] 
Remove VEX/unused

20 years of being unused are enough.

3 weeks ago.gitignore: VEX related changes
Florian Krohm [Mon, 11 May 2026 22:09:17 +0000 (22:09 +0000)] 
.gitignore: VEX related changes

3 weeks agoReformat README.freebsd for an 80 wide terminal
Paul Floyd [Mon, 11 May 2026 18:51:43 +0000 (20:51 +0200)] 
Reformat README.freebsd for an 80 wide terminal

3 weeks agotestcases: Cleanup garbage.filtered.out
Florian Krohm [Sun, 10 May 2026 17:59:59 +0000 (17:59 +0000)] 
testcases: Cleanup garbage.filtered.out

3 weeks agoTweak .gitignore
Florian Krohm [Thu, 7 May 2026 08:27:44 +0000 (08:27 +0000)] 
Tweak .gitignore

Forgotten in 8221f8f3842a75632060f1ba83339ee28a091882

3 weeks agoarm64: change configure dotprod test to a run test
Paul Floyd [Sun, 10 May 2026 13:10:58 +0000 (15:10 +0200)] 
arm64: change configure dotprod test to a run test

We were testing for dotprod with AC_COMPILE_IFELSE. That's wrong, it just
checks that the compiler accepts -march=armv8.2-a+dotprod and that the
assembler handles dotprod opcodes. Changed it to AC_RUN_IFELSE which
additionally checks that the binary runs. Valgrind should be checking
for this in VG_(machine_get_hwcaps), storing it in VexArchInfo and
checking it in guest_arm64_toIR.c (it looks like we check it but don't
store 'dp' in vai.hwcaps and in general VEX doesnt check whether it
should try to decode these extensions).

3 weeks agoBug 391311 - [Patch] Fix arm64 valgrind tests compilation with clang
Paul Floyd [Sun, 10 May 2026 10:47:18 +0000 (12:47 +0200)] 
Bug 391311 - [Patch] Fix arm64 valgrind tests compilation with clang

This fixes the last part of the issues - CPUs with and without
crypto support. Rather than just fix building tests this splits
the crypto part out of fp_and_simd.c into a new file, v8crypro.c

3 weeks agoarm64: add a configure check for crypto support
Paul Floyd [Sun, 10 May 2026 07:34:19 +0000 (09:34 +0200)] 
arm64: add a configure check for crypto support

This is related to https://bugs.kde.org/show_bug.cgi?id=391311
In the patch for that bugzilla item there is a build time fix.
Without the crypto tests the test will fail.

If there are no issues with this configure test I'll split off a new
test v8crypto from fp_and_simd.

3 weeks agoRegtest: remove duplicate break from iropt-test/unary.c
Paul Floyd [Sat, 9 May 2026 19:34:26 +0000 (21:34 +0200)] 
Regtest: remove duplicate break from iropt-test/unary.c

Louis Brunner fixed this and I noticed the diff so merging
it upstream.

3 weeks ago[mips] fix CmpLE32U and Max32U ops
Petar Jovanovic [Sat, 9 May 2026 13:46:27 +0000 (13:46 +0000)] 
[mips] fix CmpLE32U and Max32U ops

CmpLE32U operation was incorrectly implemented as a signed comparaison,
use less-or-same for unsigned.

Max32U operation was incorrectly implemented using the SLT instruction,
use the unsigned variant SLTU.

This partially fixes none/tests/iropt-test.

Patch by:
Dimitrije Dzunic <dimitrije.dzunic@htecgroup.com>
Aleksandar Rikalo <aleksandar.rikalo@htecgroup.com>

4 weeks agoarm64: update comment for DCZID_EL0
Paul Floyd [Fri, 8 May 2026 13:43:21 +0000 (15:43 +0200)] 
arm64: update comment for DCZID_EL0

4 weeks agoBug 487418 - [arm64] Cleanup M{SR,RS} instructions (part 1)
Paul Floyd [Fri, 8 May 2026 11:04:42 +0000 (13:04 +0200)] 
Bug 487418 - [arm64] Cleanup M{SR,RS} instructions (part 1)

This is point 6 on the list.
1. Cache the DZP bit from mrs dczid_el0 in a new field arm64_data_zero_prohibited of VexArchInfo
2. Use the cached values from VexArchInfo for mrs dczid_el0 rather than a dirty helper
3. Add a check to dc zva that the above DZP wasn't set. If it is then print a message
and stop with a Ijk_SigILL.

4 weeks agoRegtest: make x86 and amd64 inf and nan production cross platform, part 2
Paul Floyd [Fri, 8 May 2026 10:47:41 +0000 (12:47 +0200)] 
Regtest: make x86 and amd64 inf and nan production cross platform, part 2

This is for FreeBSD and probably Darwin as well.

Now that we have the same nan generation on all platforms we only need two
expecteds for these tests, one where printf of a negative nan outputs
-nan and the other where it outputs nan.

So, add an expected for FreeSD x86. Rationalise the amd64 expecteds.
There were 2 for FreeBSD only differentiated by the mkPosNan codegen.
Now just the one is needed. While I'm at it make the expected name
more consistent, exp-freebsd rather than exp.freebsd.

4 weeks agoRegtest: make x86 and amd64 inf and nan production cross platform
Paul Floyd [Fri, 8 May 2026 07:05:42 +0000 (09:05 +0200)] 
Regtest: make x86 and amd64 inf and nan production cross platform

We were using 1.0/0.0 to produce a positive inf and 0.0/0.0 to
produce a postive nan. GCC and clang handle the nan case
differently. GCC generates the division which counterintuitively
results in a negative nan. clang does constant folding and
directly generates a positive nan.

This change uses __builtin_inf and __builtin_nan instead. These
were added back with GCC 3.3 so there should be no backwards
compatibility issues.

4 weeks agoexp-bbv clone_test: Cleanup
Florian Krohm [Wed, 6 May 2026 20:50:19 +0000 (20:50 +0000)] 
exp-bbv clone_test: Cleanup

4 weeks agoComplete x86 ROUNDSS, ROUNDSD support and add testcases
Mark Wielaard [Sat, 2 May 2026 17:03:20 +0000 (19:03 +0200)] 
Complete x86 ROUNDSS, ROUNDSD support and add testcases

x86 already supported SSE 4.1 ROUNDSS and ROUNDSD instructions like
amd64. But was missing two small fixes.

commit 20277ab2a575ffb50eb4efd58b6a554ffc2927e1 (vex svn r2074)
Handle non-immediate-rounding-mode versions of ROUND{P,S}{S,D}.

commit 779b619c76900dd8d1aa16bb0c693918006019ee (vex svn r2211)
Ignore the precision flag in the ROUND{SS,SD,PS,PD} rounding mode.

Add these and adapt the ROUNDSS and ROUNDSD testcases so they work on
both amd64 and x86. Move get_mxcsr, set_mxcsr, get_sse_roundingmode
and set_sse_roundingmode from sse4-64.c to sse4-common.h (and add x86
variants). Move ROUNDSD and ROUNDSS test function and make them use
XMMREG_DST instead of xmm11 (which isn't available on x86).

Add testcase output for test_ROUNDSD_w_immediate_rounding(),
test_ROUNDSS_w_immediate_rounding(), test_ROUNDSD_w_mxcsr_rounding()
and test_ROUNDSS_w_mxcsr_rounding() to sse4-x86.stdout.exp.

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

4 weeks agolackey tests: Include missing Makefile.tool-tests.am
Florian Krohm [Wed, 6 May 2026 13:01:54 +0000 (13:01 +0000)] 
lackey tests: Include missing Makefile.tool-tests.am

4 weeks agoMakefile.vex.am --> VEX/Makefile.am
Florian Krohm [Tue, 5 May 2026 20:59:02 +0000 (20:59 +0000)] 
Makefile.vex.am --> VEX/Makefile.am

Makefile.vex.am was a left-over from the days when VEX resided in a
repository of its own.

4 weeks agoRegtest Linux ppc64le: add an expected for memcheck sys-execveat
Paul Floyd [Tue, 5 May 2026 04:37:39 +0000 (06:37 +0200)] 
Regtest Linux ppc64le: add an expected for memcheck sys-execveat

4 weeks agoFix gxx304 testcase.
Florian Krohm [Mon, 4 May 2026 15:21:35 +0000 (15:21 +0000)] 
Fix gxx304 testcase.

Testcases ought to clean up after themselves.

4 weeks agomake clean to remove artifacts from failed regression tests.
Florian Krohm [Mon, 4 May 2026 14:49:16 +0000 (14:49 +0000)] 
make clean to remove artifacts from failed regression tests.

4 weeks agoDarwin syswrap: make kdebug_trace_string helpers conditional
Paul Floyd [Mon, 4 May 2026 06:21:32 +0000 (08:21 +0200)] 
Darwin syswrap: make kdebug_trace_string helpers conditional

Only for OSX 10.11 and later. Part of cleanup for
https://bugs.kde.org/show_bug.cgi?id=519604

4 weeks agoREADME_DEVELOPERS: improve updating zstd instructions
Paul Floyd [Sun, 3 May 2026 17:51:49 +0000 (19:51 +0200)] 
README_DEVELOPERS: improve updating zstd instructions

and a couple of typos.

4 weeks agoMention 519574 - 'valgrind 3.27 --fair-sched=yes does not work' in NEWS
Mark Wielaard [Sun, 3 May 2026 14:07:53 +0000 (16:07 +0200)] 
Mention 519574 - 'valgrind 3.27 --fair-sched=yes does not work' in NEWS

4 weeks agoDarwin: make sure that VKI_AT_FDCWD is defined on old systems
Paul Floyd [Sun, 3 May 2026 13:16:10 +0000 (15:16 +0200)] 
Darwin: make sure that VKI_AT_FDCWD is defined on old systems

We claim support for OSX 10.8 and 10.9 byut they don't have
AT_FDCWD. So define it ourselves.

Part of the fixes for https://bugs.kde.org/show_bug.cgi?id=519604

4 weeks agoDarwin persona syscall: use the SYS_persona macro to detect at build time
Paul Floyd [Sun, 3 May 2026 06:39:07 +0000 (08:39 +0200)] 
Darwin persona syscall: use the SYS_persona macro to detect at build time

It looks like I broke OSX 10.10 build when I added the persona wrapper.
Rather than hard code the version for persona this should work on
all platforms. In the longer term I'd like to do the same as Linux
and FreeBSD and not use a VERS macro for Darwin syscalls.

4 weeks agoChange XMMREG_DST in sse4-common.h back to xmm11 for amd64
Mark Wielaard [Sat, 2 May 2026 20:59:23 +0000 (22:59 +0200)] 
Change XMMREG_DST in sse4-common.h back to xmm11 for amd64

XMMREG_DST for amd64 (x86_64) was accidentially set to xmm7 instead of
using xmm11 in commit a1904db1dd0ee8c046a3fd89c822463cd496d78e.
Add SSE4.1 PBLENDVB, BLENDVPS and BLENDVPD

Change it back to xmm11 to make sure a register that isn't available
in 32bit mode is tested. No changes to any of the test results because
of this.

5 weeks agoDarwin: fix a typo in a macro conditional
Paul Floyd [Sat, 2 May 2026 07:21:55 +0000 (09:21 +0200)] 
Darwin: fix a typo in a macro conditional

5 weeks agoFreeBSD suppression: broaden _malloc_postfork for FreeBSD 16
Paul Floyd [Fri, 1 May 2026 20:17:12 +0000 (20:17 +0000)] 
FreeBSD suppression: broaden _malloc_postfork for FreeBSD 16

5 weeks agoDarwin fixup_macho_loadcmds: make build more flexible
Paul Floyd [Fri, 1 May 2026 09:16:17 +0000 (11:16 +0200)] 
Darwin fixup_macho_loadcmds: make build more flexible

Part of work for https://bugs.kde.org/show_bug.cgi?id=519604

The value of maxprot for the __UNIXSTACK load command changed
from 7 to 3 during the macOS 10.14 lifecycle. Our code used
the SDK value to decide which to check for. MacPorts buildbot
targets all macOS 10.14 versions which does not work with our
assumption that latest 10.14 SDK => maxprot 3. In order to make
this more flexible we now allow maxprot 3 or 7 on macOS 10.14.

This is just for fixup_macho_commands that just gets used
once for each tool during builds.

5 weeks agoDarwin syswrap: move PRE(mach_voucher_extract_attr_recipe_trap)
Paul Floyd [Thu, 30 Apr 2026 19:43:07 +0000 (21:43 +0200)] 
Darwin syswrap: move PRE(mach_voucher_extract_attr_recipe_trap)

Part of https://bugs.kde.org/show_bug.cgi?id=519604

I think that this was in a >= DARWIN_10_12 #if block, causing
build a build failure on 10.11.

5 weeks agoBug 519613 - Valgrind incorrectly unpacks the result of sys_port (port_getn) on error...
Paul Floyd [Thu, 30 Apr 2026 19:00:55 +0000 (21:00 +0200)] 
Bug 519613 - Valgrind incorrectly unpacks the result of sys_port (port_getn) on error, leading to a ~60s wallclock time delay on every call

Patch provided by Arran Cudbard-Bell <a.cudbardb@freeradius.org>

5 weeks agoBug 519574 - valgrind 3.27 "--fair-sched=yes" does not work
Paul Floyd [Wed, 29 Apr 2026 17:55:13 +0000 (19:55 +0200)] 
Bug 519574 - valgrind 3.27 "--fair-sched=yes" does not work

5 weeks agoBug 519539 - Darwin shm_open mode is optional and depends on oflag
Paul Floyd [Tue, 28 Apr 2026 20:03:22 +0000 (22:03 +0200)] 
Bug 519539 - Darwin shm_open mode is optional and depends on oflag

5 weeks agoDarwin doc: describe apple pointer area and Massif woes
Paul Floyd [Mon, 27 Apr 2026 06:45:40 +0000 (08:45 +0200)] 
Darwin doc: describe apple pointer area and Massif woes

5 weeks agoDarwin suppression: add a suppression for fork on macOS 13
Paul Floyd [Mon, 27 Apr 2026 06:26:27 +0000 (08:26 +0200)] 
Darwin suppression: add a suppression for fork on macOS 13

5 weeks agoDarwin regtest: add missing expected
Paul Floyd [Sun, 26 Apr 2026 11:09:26 +0000 (13:09 +0200)] 
Darwin regtest: add missing expected

5 weeks agoDarwin syswrap: fixes for mach_msg2
Paul Floyd [Sun, 26 Apr 2026 10:10:07 +0000 (12:10 +0200)] 
Darwin syswrap: fixes for mach_msg2

Don't exclude macOS 13, fixes for the POST. Also add a suppression
for this trap when it is called during initialisation.

5 weeks agoDarwin regtest: re-enable none/tests/scripts/shell
Paul Floyd [Sun, 26 Apr 2026 05:37:45 +0000 (07:37 +0200)] 
Darwin regtest: re-enable none/tests/scripts/shell

With a Darwin expected. I may need to add another expected
for older versions of Darwin.

5 weeks agoDarwin suppression: add another suppresion for startup allocations
Paul Floyd [Sun, 26 Apr 2026 05:36:02 +0000 (07:36 +0200)] 
Darwin suppression: add another suppresion for startup allocations

6 weeks agoBump version to 3.28.0.GIT
Paul Floyd [Sat, 25 Apr 2026 06:06:16 +0000 (08:06 +0200)] 
Bump version to 3.28.0.GIT

6 weeks agoRecognize ioctl UFFDIO_* operations users/mcermak/try-bug519223
Martin Cermak [Fri, 24 Apr 2026 11:21:05 +0000 (13:21 +0200)] 
Recognize ioctl UFFDIO_* operations

The userfaultfd* LTP testcases demonstrate how valgrind
isn't aware of the ioctl UFFDIO_* operations.  Teach
Valgrind to recognize those per linux/fs/userfaultfd.c.

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

6 weeks agoUse SSizeT for VG_(readlink) result in VG_(realpath)
Mark Wielaard [Wed, 22 Apr 2026 12:15:28 +0000 (14:15 +0200)] 
Use SSizeT for VG_(readlink) result in VG_(realpath)

VG_(readlink) returns a negative value if it fails. Which is checked
for right after the call. But if SizeT is unsigned, so that check
always fails. Use SSizeT instead for the result variable.

6 weeks agoUpdate vg-lifespan (copyright) years
Mark Wielaard [Tue, 21 Apr 2026 00:02:08 +0000 (02:02 +0200)] 
Update vg-lifespan (copyright) years

6 weeks ago-> 3.27.0 final VALGRIND_3_27_0
Mark Wielaard [Mon, 20 Apr 2026 22:40:56 +0000 (00:40 +0200)] 
-> 3.27.0 final

6 weeks agoUpdate NEWS entries
Mark Wielaard [Mon, 20 Apr 2026 15:24:23 +0000 (17:24 +0200)] 
Update NEWS entries

- New VALGRIND_REPLACES_MALLOC and VALGRIND_GET_TOOLNAME client requests.
- Linux lightweight guard pages support (--max-guard-pages=N).
- x86 (32bit) (partial) SSE4.1 instruction support.
- Linux Test Project (LTP) v20260130 was integrated.

6 weeks agoAdd documentation for new client requests in manual-core-adv.xml
Mark Wielaard [Mon, 20 Apr 2026 15:12:10 +0000 (17:12 +0200)] 
Add documentation for new client requests in manual-core-adv.xml

Document VALGRIND_REPLACES_MALLOC and VALGRIND_GET_TOOLNAME.

7 weeks agoSet version to 3.27.0-RC2
Mark Wielaard [Sat, 18 Apr 2026 00:18:20 +0000 (02:18 +0200)] 
Set version to 3.27.0-RC2

7 weeks agoAdd MOVNTDQA SSE4.1 support for x86
Mark Wielaard [Wed, 18 Feb 2026 16:48:15 +0000 (17:48 +0100)] 
Add MOVNTDQA SSE4.1 support for x86

Add handling of MOVNTDQA to VEX/priv/guest_x86_toIR.c based on the
guest_amd64_toIR.c implementation.

Move test_MOVNTDQA from none/tests/amd64/sse4-64.c to
none/tests/sse4-common.h and add the same test to
none/tests/x86/sse4-x86.c with new MOVNTDQA output in stdout.exp.

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

7 weeks agoAdd SSE4.1 MPSADBW for x86 32-bit
Alexandra Hájková [Wed, 15 Apr 2026 15:42:38 +0000 (11:42 -0400)] 
Add SSE4.1 MPSADBW for x86 32-bit

Move the MPSADBW computation helper and IR builder from
guest_amd64_helpers.c and guest_amd64_toIR.c into a new
header guest_generic_helpers.h and guest_generic_sse.h,
so the helpers could be shared between x86 and amd64
implementaions.

Move MPSADBW tests into the shared sse4-common.h so they are
also exercised on x86.

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

7 weeks agoDarwin suppressions and massif ignore function
Paul Floyd [Thu, 16 Apr 2026 19:25:08 +0000 (21:25 +0200)] 
Darwin suppressions and massif ignore function

Suppresss a few more still reachables. Suppress a Helgrind race in
getaddrinfo. Add another massif --ignore-fn.

7 weeks agoAdd PCMPEQQ SSE4.1 support for x86
Mark Wielaard [Thu, 12 Mar 2026 00:22:32 +0000 (01:22 +0100)] 
Add PCMPEQQ SSE4.1 support for x86

Add handling of PCMPEQQ to VEX/priv/guest_x86_toIR.c based on the
guest_amd64_toIR.c implementation. Handle Iop_CmpEQ64x2 using
h_generic_calc_CmpEQ64x2 in VEX/priv/host_x86_isel.c.

Move test_PCMPEQQ from none/tests/amd64/sse4-64.c to
none/tests/sse4-common.h and add the same test to
none/tests/x86/sse4-x86.c with new PCMPEQQ output in stdout.exp.

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

7 weeks agoDarwin massif: another load of functions to ignore for macOS 10.14
Paul Floyd [Thu, 16 Apr 2026 06:56:54 +0000 (08:56 +0200)] 
Darwin massif: another load of functions to ignore for macOS 10.14

overloaded-new is still failing due to a 64byte allocation diff that
is hiding somewhere.

7 weeks agoDarwin distribution: add m_mach/priv_dyld_internals.h to noinst_HEADERS
Paul Floyd [Wed, 15 Apr 2026 19:37:41 +0000 (21:37 +0200)] 
Darwin distribution: add m_mach/priv_dyld_internals.h to noinst_HEADERS

This caused build failure of 3.27 RC1 on macOS 11 to 13.

7 weeks agos390: Bug fix in insn selection
Florian Krohm [Tue, 14 Apr 2026 21:36:18 +0000 (21:36 +0000)] 
s390: Bug fix in insn selection

The bug was introduced in b3830b82f4 and exposed by GCC when compiling
with -g (without -O2). Here's the thing:

      if (expr->Iex.Binop.op == Iop_Add64) {
--->     ULong disp = arg2->Iex.Const.con->Ico.U64;
         if (arg2->tag == Iex_Const && ulong_fits_signed_20bit(disp)) {
            h1 = s390_isel_int_expr(env, arg1);

This possibly segfaults when arg2 is not a constant.
Optimising GCC figures it can first check arg2->tag == Iex_Const
which is cheaper than disp = arg2->Iex.Const.con->Ico.U64;
Nice one.

Regtested with both default compiler flags and -g only.