=== Valgrind: стабилизация, исправления и дополнения для FreeBSD 16

Ссылки: +
link:https://www.valgrind.org/[Домашняя страница Valgrind] URL: link:https://www.valgrind.org/[] +
link:https://www.valgrind.org/docs/manual/dist.news.html[Новости Valgrind] URL: link:https://www.valgrind.org/docs/manual/dist.news.html[] +

Контакт: Paul Floyd <pjfloyd@wanadoo.fr>

Когда вышла FreeBSD 14.4-RELEASE и всё прошло гладко, я подумал, что для этого ежеквартального отчёта будет мало что сказать.
Затем я начал использовать пару машин с 16.0-CURRENT, которые являются частью фермы серверов GCC.
Там я увидел несколько проблем.
Поначалу было гораздо больше сбоев, чем я обычно ожидал.
Чуть позже серверы были обновлены, и Valgrind довольно сильно сломался, выдавая утверждение (assert) на раннем этапе запуска.
Некоторые из этих проблем были обычным высоким уровнем обслуживания, ожидаемым от Valgrind.
Потребовалось новое подавление Helgrind для внутренних блокировок, используемых `pthread_create`.
Серверы были собраны и установлены из исходных кодов, что иногда влияет на стеки вызовов ошибок.
Регрессионные тесты Valgrind довольно чувствительны к такого рода изменениям, и потребовалась дополнительная фильтрация.
Утверждения были вызваны неверными предположениями в Valgrind, которые используются, когда инструмент читает свой собственный бинарный файл, в основном для того, чтобы иметь возможность напечатать свой собственный стек вызовов в случае сбоя.
Последняя проблема была вызвана изменением способа создания разделяемых отладочных файлов (split debug files) библиотек.

В целом, это скорее стабилизационный релиз. Относительно мало новых функций.

Valgrind 3.27 должен выйти в конце апреля 2026 года, и package:devel/valgrind[] будет обновлён вскоре после этого.

Вот список исправлений ошибок с момента моего последнего отчёта (Q3 2025).

* Внутренняя очистка обработки аргументов системных вызовов.
* Дополнительные проверки при создании клиентского стека.
* Небольшие изменения в наборе правил игнорирования ошибок.
* Добавлены обёртки системных вызовов для `kexec_load`, `pdwait`, `renameat2`
* Системный вызов `pdrfork` добавлен с флагом «не реализован» (системные вызовы типа `rfork` очень сложно реализовать в Valgrind).

//
// The FreeBSD Russian Documentation Project
//
// Original EN revision (18.04.2026): 9d9bb4578c1b5152d99a9477ed0ed4dfc8f7a0e7
//
