<div>
<div><h1 class="title">
<a name="FAQ"></a>Valgrind FAQ</h1></div>
-<div><p class="releaseinfo">Release 3.24.0 31 Oct 2024</p></div>
-<div><p class="copyright">Copyright © 2000-2024 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.25.0 25 Apr 2025</p></div>
+<div><p class="copyright">Copyright © 2000-2025 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
<div><div class="legalnotice">
<a name="faq-legal"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
</div></div>
<div>
<div><h1 class="title">
<a name="QuickStart"></a>The Valgrind Quick Start Guide</h1></div>
-<div><p class="releaseinfo">Release 3.24.0 31 Oct 2024</p></div>
-<div><p class="copyright">Copyright © 2000-2024 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.25.0 25 Apr 2025</p></div>
+<div><p class="copyright">Copyright © 2000-2025 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
<div><div class="legalnotice">
<a name="quickstart-legal"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
</div></div>
<div>
<div><h1 class="title">
<a name="dist"></a>Valgrind Distribution Documents</h1></div>
-<div><p class="releaseinfo">Release 3.24.0 31 Oct 2024</p></div>
-<div><p class="copyright">Copyright © 2000-2024 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.25.0 25 Apr 2025</p></div>
+<div><p class="copyright">Copyright © 2000-2025 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
<div><div class="legalnotice">
<a name="dist-legal"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
</div></div>
<dt><span class="chapter"><a href="dist.readme-android.html">9. README.android</a></span></dt>
<dt><span class="chapter"><a href="dist.readme-android_emulator.html">10. README.android_emulator</a></span></dt>
<dt><span class="chapter"><a href="dist.readme-mips.html">11. README.mips</a></span></dt>
-<dt><span class="chapter"><a href="dist.readme-solaris.html">12. README.solaris</a></span></dt>
-<dt><span class="chapter"><a href="dist.readme-freebsd.html">13. README.freebsd</a></span></dt>
+<dt><span class="chapter"><a href="dist.readme-riscv64.html">12. README.riscv64</a></span></dt>
+<dt><span class="chapter"><a href="dist.readme-solaris.html">13. README.solaris</a></span></dt>
+<dt><span class="chapter"><a href="dist.readme-freebsd.html">14. README.freebsd</a></span></dt>
</dl>
</div>
</div>
<div class="titlepage"><div><div><h1 class="title">
<a name="dist.news"></a>2. NEWS</h1></div></div></div>
<div class="literallayout"><p><br>
- Release 3.24.0 (31 Oct 2024)<br>
+ Release 3.25.0 (25 Apr 2025)<br>
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
+<br>
+This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,<br>
+PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,<br>
+MIPS64/Linux, RISCV64/Linux, ARM/Android, ARM64/Android, MIPS32/Android,<br>
+X86/Android, X86/Solaris, AMD64/Solaris, AMD64/MacOSX 10.12, X86/FreeBSD,<br>
+AMD64/FreeBSD and ARM64/FreeBSD There is also preliminary support for<br>
+X86/macOS 10.13, AMD64/macOS 10.13 and nanoMIPS/Linux.<br>
+<br>
+* ==================== CORE CHANGES ===================<br>
+<br>
+* The valgrind gdbserver now supports the GDB remote protocol packet<br>
+ 'x addr,len' (available in GDB release >= 16).<br>
+ The x packet can reduce the time taken by GDB to read memory from valgrind.<br>
+<br>
+* Valgrind now supports zstd compressed debug sections.<br>
+<br>
+* The Linux Test Project (ltp) is integrated in the testsuite try<br>
+ 'make ltpchecks' (this will take a while and will point out various<br>
+ missing syscalls and valgrind crashes!)<br>
+<br>
+* ================== PLATFORM CHANGES =================<br>
+<br>
+* Added RISCV64 support for Linux. Specifically for the RV64GC<br>
+ instruction set.<br>
+<br>
+* Numerous bug fixes for Illumos, in particular fixed a Valgrind crash<br>
+ whenever a signal handler was called.<br>
+<br>
+* On FreeBSD, a change to the libc code that runs atexit handlers was<br>
+ causing Helgrind to produce an extra error about exiting threads<br>
+ still holding locks for. This applied to every multithreaded application.<br>
+ The extra error is now filtered out. A syscall wrapper had been added<br>
+ for getrlimitusage.<br>
+<br>
+* On Linux various new syscalls are supported (landlock*, io_pgetevents,<br>
+ open_tree, move_mount, fsopen, fsconfig, fsmount, fspick, userfaultfd).<br>
+<br>
+* s390x has support for various new instructions (BPP, BPRP, PPA and NIAI).<br>
+<br>
+* ==================== TOOL CHANGES ===================<br>
+<br>
+* The --track-fds=yes and --track-fds=all options now treat all<br>
+ inherited file descriptors the same as 0, 1, 2 (stdin/out/err).<br>
+ And when the stdin/out/err descriptors are reassigned they are<br>
+ now treated as normal (non-inherited) file descriptors.<br>
+<br>
+* A new option --modify-fds=high can be used together with<br>
+ --track-fds=yes to create new file descriptors with the highest<br>
+ possible number (and then decreasing) instead of always using the<br>
+ lowest possible number (which is required by POSIX). This will help<br>
+ catch issues where a file descriptor number might normally be reused<br>
+ between a close and another open call.<br>
+<br>
+* Helgrind:<br>
+ There is a change to warnings about calls to pthread_cond_signal and<br>
+ pthread_cond_broadcast when the associated mutex is unlocked. Previously<br>
+ Helgrind would always warn about this. Now this error is controlled by<br>
+ a command line option, --check-cond-signal-mutex=yes|no. The default is<br>
+ no. This change has been made because some C and C++ standard libraries<br>
+ use pthread_cond_signal/pthread_cond_broadcast in this way. Users are<br>
+ obliged to use suppressions if they wish to avoid this noise.<br>
+<br>
+* ==================== FIXED BUGS ====================<br>
+<br>
+The following bugs have been fixed or resolved. Note that "n-i-bz"<br>
+stands for "not in bugzilla" -- that is, a bug that was reported to us<br>
+but never got a bugzilla entry. We encourage you to file bugs in<br>
+bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather<br>
+than mailing the developers (or mailing lists) directly -- bugs that<br>
+are not entered into bugzilla tend to get forgotten about or ignored.<br>
+<br>
+290061 pie elf always loaded at 0x108000<br>
+396415 Valgrind is not looking up $ORIGIN rpath of shebang programs<br>
+420682 io_pgetevents is not supported<br>
+468575 Add support for RISC-V<br>
+469782 Valgrind does not support zstd-compressed debug sections<br>
+487296 --track-fds=yes and --track-fds=all report erroneous information<br>
+ when fds 0, 1, or 2 are used as non-std<br>
+489913 WARNING: unhandled amd64-linux syscall: 444 (landlock_create_ruleset)<br>
+493433 Add --modify-fds=[no|high] option<br>
+494246 syscall fsopen not wrapped<br>
+494327 Crash when running Helgrind built with #define TRACE_PTH_FNS 1<br>
+494337 All threaded applications cause still holding lock errors<br>
+495488 Add FreeBSD getrlimitusage syscall wrapper<br>
+495816 s390x: Fix disassembler segfault for C[G]RT and CL[G]RT<br>
+495817 s390x: Disassembly to match objdump -d output<br>
+496370 Illumos: signal handling is broken<br>
+496571 False positive for null key passed to bpf_map_get_next_key syscall.<br>
+496950 s390x: Fix hardware capabilities and EmFail codes<br>
+497130 Recognize new DWARF5 DW_LANG constants<br>
+497455 Update drd/scripts/download-and-build-gcc<br>
+497723 Enabling Ada demangling breaks callgrind differentiation between<br>
+ overloaded functions and procedures<br>
+498037 s390x: Add disassembly checker<br>
+498143 False positive on EVIOCGRAB ioctl<br>
+498317 FdBadUse is not a valid CoreError type in a suppression<br>
+ even though it's generated by --gen-suppressions=yes<br>
+498421 s390x: support BPP, BPRP and NIAI insns<br>
+498422 s390x: Fix VLRL and VSTRL insns<br>
+498492 none/tests/amd64/lzcnt64 crashes on FreeBSD compiled with clang<br>
+498629 s390x: Fix S[L]HHHR and S[L]HHLR insns<br>
+498632 s390x: Fix LNGFR insn<br>
+498942 s390x: Rework s390_disasm interface<br>
+499183 FreeBSD: differences in avx-vmovq output<br>
+499212 mmap() with MAP_ALIGNED() returns unaligned pointer<br>
+501119 memcheck/tests/pointer-trace fails when run on NFS filesystem<br>
+501194 Fix ML_(check_macho_and_get_rw_loads) so that it is correct for<br>
+ any number of segment commands<br>
+501348 glibc built with -march=x86-64-v3 does not work due to ld.so memcmp<br>
+501479 Illumos DRD pthread_mutex_init wrapper errors<br>
+501365 syscall userfaultfd not wrapped<br>
+501846 Add x86 Linux shm wrappers<br>
+501850 FreeBSD syscall arguments 7 and 8 incorrect.<br>
+501893 Missing suppression for __wcscat_avx2 (strcat-strlen-avx2.h.S:68)?<br>
+502126 glibc 2.41 extra syscall_cancel frames<br>
+502288 s390x: Memcheck false positives with NNPA last tensor dimension<br>
+502324 s390x: Memcheck false positives with TMxx and TM/TMY<br>
+502679 Use LTP for testing valgrind<br>
+502871 Make Helgrind "pthread_cond_{signal,broadcast}: dubious: associated<br>
+ lock is not held by any thread" optional<br>
+<br>
+To see details of a given bug, visit<br>
+ https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br>
+where XXXXXX is the bug number as listed above.<br>
+<br>
+(3.25.0.RC1: 18 Apr 2025)<br>
+(3.25.0.RC2: 23 Apr 2025)<br>
+<br>
+Release 3.24.0 (31 Oct 2024)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
<br>
This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,<br>
FUSE_COMPATIBLE_MAY_BLOCK<br>
493959 s390x: Fix regtest failure for none/tests/s390x/op00<br>
493970 s390x: Store/restore FPC upon helper call causes slowdown<br>
+494218 Remove FREEBSD_VERS from configure and build<br>
494252 s390x: incorrect disassembly for LOCHI and friends<br>
494960 Fixes and tweaks for gsl19test<br>
495278 PowerPC instruction dcbf should allow the L field values of 4, 6 on<br>
Rust v0 name demangling. [Update: alas, due to a bug, this support<br>
isn't working in 3.18.0.]<br>
<br>
-* __libc_freeres isn't called anymore after the program recieves a<br>
+* __libc_freeres isn't called anymore after the program receives a<br>
fatal signal. Causing some internal glibc resources to hang around,<br>
but preventing any crashes after the program has ended.<br>
<br>
describes integration with various editors and IDEs:<br>
https://clang.llvm.org/docs/ClangFormat.html.<br>
<br>
+Updating zstd<br>
+~~~~~~~~~~~~~<br>
+Similar to libiberty, we have to import a copy of zstd rather than linking<br>
+with a library. There isn't (yet) a script to automate this, so it has to be<br>
+done manually.<br>
+<br>
+The version currently in use can be seen in coregrind/m_debuginfo/zstd.h.<br>
+Look for ZSTD_VERSION_MAJOR ZSTD_VERSION_MINOR and ZSTD_VERSION_RELEASE.<br>
+<br>
+ - Get the source of zstd from<br>
+<br>
+ https://github.com/facebook/zstd<br>
+<br>
+ - Checkout the latest release tag (should be vMAJ.MIN.REL)<br>
+<br>
+ - Copy {zstd git repo}/lib/zstd.h to coregrind/m_debuginfo/zstd.h<br>
+ <br>
+ - cd to {zstd git repo}/build/single_file_libs and run ./create_single_file_decoder.sh<br>
+ <br>
+ - You cannot simply copy and use the generated zstddeclib.c!<br>
+ All calls to libc functions in this file need replacing with VG_ versions.<br>
+ Merge the newly generated zstddeclib.c with coregrind/m_debuginfo/zstddeclib.c.<br>
+ Make sure to keep the copy of the BSD license in the C file.<br>
+ <br>
+<br>
</p></div>
</div>
<div>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>13. README.freebsd</title>
+<title>14. README.freebsd</title>
<link rel="stylesheet" type="text/css" href="vg_basic.css">
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Valgrind Documentation">
<link rel="up" href="dist.html" title="Valgrind Distribution Documents">
-<link rel="prev" href="dist.readme-solaris.html" title="12. README.solaris">
+<link rel="prev" href="dist.readme-solaris.html" title="13. README.solaris">
<link rel="next" href="licenses.html" title="GNU Licenses">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
</tr></table></div>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
-<a name="dist.readme-freebsd"></a>13. README.freebsd</h1></div></div></div>
+<a name="dist.readme-freebsd"></a>14. README.freebsd</h1></div></div></div>
<div class="literallayout"><p><br>
Installing from ports or via pkg<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
-<a accesskey="p" href="dist.readme-solaris.html"><< 12. README.solaris</a> </td>
+<a accesskey="p" href="dist.readme-solaris.html"><< 13. README.solaris</a> </td>
<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
<td rowspan="2" width="40%" align="right"> <a accesskey="n" href="licenses.html">GNU Licenses >></a>
</td>
<link rel="home" href="index.html" title="Valgrind Documentation">
<link rel="up" href="dist.html" title="Valgrind Distribution Documents">
<link rel="prev" href="dist.readme-android_emulator.html" title="10. README.android_emulator">
-<link rel="next" href="dist.readme-solaris.html" title="12. README.solaris">
+<link rel="next" href="dist.readme-riscv64.html" title="12. README.riscv64">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
<td width="25px" align="center" valign="middle"><a accesskey="u" href="dist.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td>
<td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td>
<th align="center" valign="middle">Valgrind Distribution Documents</th>
-<td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.readme-solaris.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
+<td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.readme-riscv64.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
</tr></table></div>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
<td rowspan="2" width="40%" align="left">
<a accesskey="p" href="dist.readme-android_emulator.html"><< 10. README.android_emulator</a> </td>
<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
-<td rowspan="2" width="40%" align="right"> <a accesskey="n" href="dist.readme-solaris.html">12. README.solaris >></a>
+<td rowspan="2" width="40%" align="right"> <a accesskey="n" href="dist.readme-riscv64.html">12. README.riscv64 >></a>
</td>
</tr>
<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
--- /dev/null
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>12. README.riscv64</title>
+<link rel="stylesheet" type="text/css" href="vg_basic.css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="Valgrind Documentation">
+<link rel="up" href="dist.html" title="Valgrind Distribution Documents">
+<link rel="prev" href="dist.readme-mips.html" title="11. README.mips">
+<link rel="next" href="dist.readme-solaris.html" title="13. README.solaris">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
+<td width="22px" align="center" valign="middle"><a accesskey="p" href="dist.readme-mips.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td>
+<td width="25px" align="center" valign="middle"><a accesskey="u" href="dist.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td>
+<td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td>
+<th align="center" valign="middle">Valgrind Distribution Documents</th>
+<td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.readme-solaris.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
+</tr></table></div>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="dist.readme-riscv64"></a>12. README.riscv64</h1></div></div></div>
+<div class="literallayout"><p><br>
+ <br>
+Status<br>
+~~~~~~<br>
+<br>
+The RISC-V port targets the 64-bit RISC-V architecture and the Linux operating<br>
+system. The port has been tested to work on real hardware and under QEMU.<br>
+<br>
+The following ISA base and extensions are currently supported:<br>
+<br>
+| Name | Description | #Instrs | Notes |<br>
+| ------------ | --------------------------------- | ------- | -------- |<br>
+| RV64I | Base instruction set | 52/52 | |<br>
+| RV64M | Integer multiplication & division | 12/13 | (1) |<br>
+| RV64A | Atomic | 22/22 | (2) |<br>
+| RV64F | Single-precision floating-point | 30/30 | (3) |<br>
+| RV64D | Double-precision floating-point | 32/32 | |<br>
+| RV64Zicsr | Control & status register | 3/6 | (4), (5) |<br>
+| RV64Zifencei | Instruction-fetch fence | 0/1 | (6) |<br>
+| RV64C | Compressed | 37/37 | |<br>
+<br>
+Notes:<br>
+(1) MULHSU is not recognized.<br>
+(2) LR and SC use the VEX "fallback" method which suffers from the ABA problem.<br>
+(3) Operations do not check if the input operands are correctly NaN-boxed.<br>
+(4) CSRRWI, CSRRSI and CSRRCI are not recognized.<br>
+(5) Only registers fflags, frm and fcsr are accepted.<br>
+(6) FENCE.I is not recognized.<br>
+<br>
+<br>
+Implementation tidying-up/TODO notes<br>
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
+<br>
+* Implement a proper "non-fallback" method for LR and SC instructions.<br>
+* Add a check for correct NaN-boxing of 32-bit floating-point operands.<br>
+* Optimize instruction selection, in particular make more use of <instr>i<br>
+ variants.<br>
+* Optimize handling of floating-point exceptions. Avoid helpers and calculate<br>
+ exception flags using the same instruction which produced an actual result.<br>
+* Review register usage by the codegen.<br>
+* Avoid re-use of Intel-constants CFIC_IA_SPREL and CFIC_IA_BPREL. Generalize<br>
+ them for all architectures or introduce same CFIC_RISCV64_ variants.<br>
+* Get rid of the typedef of vki_modify_ldt_t in include/vki/vki-riscv64-linux.h.<br>
+* Review if setup_client_stack() should expose AT_SYSINFO_EHDR to clients.<br>
+* Make sure that the final exit sequence in run_a_thread_NORETURN() is not racy<br>
+ in regards to accessing the thread state.<br>
+<br>
+ </p></div>
+</div>
+<div>
+<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
+<tr>
+<td rowspan="2" width="40%" align="left">
+<a accesskey="p" href="dist.readme-mips.html"><< 11. README.mips</a> </td>
+<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
+<td rowspan="2" width="40%" align="right"> <a accesskey="n" href="dist.readme-solaris.html">13. README.solaris >></a>
+</td>
+</tr>
+<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
+</table>
+</div>
+</body>
+</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>12. README.solaris</title>
+<title>13. README.solaris</title>
<link rel="stylesheet" type="text/css" href="vg_basic.css">
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Valgrind Documentation">
<link rel="up" href="dist.html" title="Valgrind Distribution Documents">
-<link rel="prev" href="dist.readme-mips.html" title="11. README.mips">
-<link rel="next" href="dist.readme-freebsd.html" title="13. README.freebsd">
+<link rel="prev" href="dist.readme-riscv64.html" title="12. README.riscv64">
+<link rel="next" href="dist.readme-freebsd.html" title="14. README.freebsd">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
-<td width="22px" align="center" valign="middle"><a accesskey="p" href="dist.readme-mips.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td>
+<td width="22px" align="center" valign="middle"><a accesskey="p" href="dist.readme-riscv64.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td>
<td width="25px" align="center" valign="middle"><a accesskey="u" href="dist.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td>
<td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td>
<th align="center" valign="middle">Valgrind Distribution Documents</th>
</tr></table></div>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
-<a name="dist.readme-solaris"></a>12. README.solaris</h1></div></div></div>
+<a name="dist.readme-solaris"></a>13. README.solaris</h1></div></div></div>
<div class="literallayout"><p><br>
Requirements<br>
------------<br>
Running `uname -r` has to print '5.11'.<br>
- Recent GCC tools are required, GCC 3 will probably not work. GCC version<br>
4.5 (or higher) is recommended.<br>
+- On Illumos you can install the 'build-essential' metapackage which<br>
+ includes GCC and many other developer tools.<br>
- Solaris ld has to be the first linker in the PATH. GNU ld cannot be used.<br>
There is currently no linker check in the configure script but the linking<br>
phase fails if GNU ld is used. Recent Solaris/illumos distributions are ok.<br>
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
-<a accesskey="p" href="dist.readme-mips.html"><< 11. README.mips</a> </td>
+<a accesskey="p" href="dist.readme-riscv64.html"><< 12. README.riscv64</a> </td>
<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
-<td rowspan="2" width="40%" align="right"> <a accesskey="n" href="dist.readme-freebsd.html">13. README.freebsd >></a>
+<td rowspan="2" width="40%" align="right"> <a accesskey="n" href="dist.readme-freebsd.html">14. README.freebsd >></a>
</td>
</tr>
<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
<div>
<div align="center"><h1 class="title">
<a name="set-index"></a>Valgrind Documentation</h1></div>
-<div align="center"><p class="releaseinfo">Release 3.24.0 31 Oct 2024</p></div>
-<div align="center"><p class="copyright">Copyright © 2000-2024
+<div align="center"><p class="releaseinfo">Release 3.25.0 25 Apr 2025</p></div>
+<div align="center"><p class="copyright">Copyright © 2000-2025
<a class="link" href="dist.authors.html" title="1. AUTHORS">AUTHORS</a>
</p></div>
<div align="center"><div class="legalnotice">
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Valgrind Documentation">
<link rel="up" href="index.html" title="Valgrind Documentation">
-<link rel="prev" href="dist.readme-freebsd.html" title="13. README.freebsd">
+<link rel="prev" href="dist.readme-freebsd.html" title="14. README.freebsd">
<link rel="next" href="license.gpl.html" title="1. The GNU General Public License">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
-<a accesskey="p" href="dist.readme-freebsd.html"><< 13. README.freebsd</a> </td>
+<a accesskey="p" href="dist.readme-freebsd.html"><< 14. README.freebsd</a> </td>
<td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td>
<td rowspan="2" width="40%" align="right"> <a accesskey="n" href="license.gpl.html">1. The GNU General Public License >></a>
</td>
<code class="computeroutput">stdout</code> and
<code class="computeroutput">stderr</code>.</p></dd>
<dt>
+<a name="opt.modify-fds"></a><span class="term">
+ <code class="option">--modify-fds=<no|high> [default: no] </code>
+ </span>
+</dt>
+<dd><p>When enabled, when the program opens a new file descriptor,
+ the highest available file descriptor is returned instead of the
+ lowest one.</p></dd>
+<dt>
<a name="opt.time-stamp"></a><span class="term">
<code class="option">--time-stamp=<yes|no> [default: no] </code>
</span>
<div>
<div><h1 class="title">
<a name="manual"></a>Valgrind User Manual</h1></div>
-<div><p class="releaseinfo">Release 3.24.0 31 Oct 2024</p></div>
-<div><p class="copyright">Copyright © 2000-2024 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.25.0 25 Apr 2025</p></div>
+<div><p class="copyright">Copyright © 2000-2025 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
<div><div class="legalnotice">
<a name="manual-legal"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
</div></div>
function</a></span></dt>
<dt><span class="sect2"><a href="mc-manual.html#mc-manual.overlap">4.2.6. Overlapping source and destination blocks</a></span></dt>
<dt><span class="sect2"><a href="mc-manual.html#mc-manual.fishyvalue">4.2.7. Fishy argument values</a></span></dt>
-<dt><span class="sect2"><a href="mc-manual.html#mc-manual.realocsizezero">4.2.8. Realloc size zero</a></span></dt>
+<dt><span class="sect2"><a href="mc-manual.html#mc-manual.reallocsizezero">4.2.8. Realloc size zero</a></span></dt>
<dt><span class="sect2"><a href="mc-manual.html#mc-manual.alignment">4.2.9. Alignment Errors</a></span></dt>
<dt><span class="sect2"><a href="mc-manual.html#mc-manual.leaks">4.2.10. Memory leak detection</a></span></dt>
</dl></dd>
function</a></span></dt>
<dt><span class="sect2"><a href="mc-manual.html#mc-manual.overlap">4.2.6. Overlapping source and destination blocks</a></span></dt>
<dt><span class="sect2"><a href="mc-manual.html#mc-manual.fishyvalue">4.2.7. Fishy argument values</a></span></dt>
-<dt><span class="sect2"><a href="mc-manual.html#mc-manual.realocsizezero">4.2.8. Realloc size zero</a></span></dt>
+<dt><span class="sect2"><a href="mc-manual.html#mc-manual.reallocsizezero">4.2.8. Realloc size zero</a></span></dt>
<dt><span class="sect2"><a href="mc-manual.html#mc-manual.alignment">4.2.9. Alignment Errors</a></span></dt>
<dt><span class="sect2"><a href="mc-manual.html#mc-manual.leaks">4.2.10. Memory leak detection</a></span></dt>
</dl></dd>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
-<a name="mc-manual.realocsizezero"></a>4.2.8. Realloc size zero</h3></div></div></div>
+<a name="mc-manual.reallocsizezero"></a>4.2.8. Realloc size zero</h3></div></div></div>
<p>The (ab)use or realloc to also do the job of <code class="function">free</code>
has been poorly understood for a long time. In the C17 standard
ISO/IEC 9899:2017] the behaviour of realloc when the size argument
<div>
<div><h1 class="title">
<a name="tech-docs"></a>Valgrind Technical Documentation</h1></div>
-<div><p class="releaseinfo">Release 3.24.0 31 Oct 2024</p></div>
-<div><p class="copyright">Copyright © 2000-2024 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.25.0 25 Apr 2025</p></div>
+<div><p class="copyright">Copyright © 2000-2025 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
<div><div class="legalnotice">
<a name="tech-legal"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
</div></div>