Доступен (https://github.com/strace/strace/releases/tag/v4.21) выпуск strace 4.21 ([[https://strace.io/), утилиты для диагностики и отладки программ для ОС, использующих ядро Linux. Она позволяет отслеживать и (начиная с версии 4.15) вмешиваться в процесс взаимодействия программы и ядра, включая происходящие системные вызовы, возникающие сигналы и изменения состояния процесса. Для своей работы strace использует механизм ptrace (http://man7.org/linux/man-pages/man2/ptrace.2.html). Начиная с версии 4.13, формирование выпусков программы синхронизировано с выходом новых версий Linux.Основные изменения (https://raw.githubusercontent.com/strace/strace/master/NEWS):
- Добавлена поддержка "compat personality" для s390x (IBM z/Architecture).
- Добавлена поддержка (при сборке с --with-libiberty) декодирования имён функций при выводе стека вызовов (опция -k).
- Добавлена справочная страница для команды strace-log-merge(1).
- Реализовано декодирование системных вызовов riscv_flush_icache(2), s390_guarded_storage(2), s390_pcio_mmio_read(2) (http://man7.org/linux/man-pages/man2/s390_pci_mmio_write.2.html), s390_pci_mmio_write(2) (http://man7.org/linux/man-pages/man2/s390_pci_mmio_write.2.html), s390_runtime_instr(2) (http://man7.org/linux/man-pages/man2/s390_runtime_instr.2.html), s390_sthyi(2) (http://man7.org/linux/man-pages/man2/s390_sthyi.2.html).
- Реализовано декодирование некоторых ioctl(2) (http://man7.org/linux/man-pages/man2/ioctl.2.html) команд KVM_* (https://www.kernel.org/doc/Documentation/virtual/kvm/api.txt), обновлён декодер команды DM_LIST_DEVICES.
- Улучшено декодирование системных вызовов get_thread_area(2) (http://man7.org/linux/man-pages/man2/get_thread_area.2.html), memfd_create(2) (http://man7.org/linux/man-pages/man2/memfd_create.2.html), modify_ldt(2) (http://man7.org/linux/man-pages/man2/modify_ldt.2.html), perf_event_open(2) (http://man7.org/linux/man-pages/man2/perf_event_open.2.html), reboot(2) (http://man7.org/linux/man-pages/man2/reboot.2.html), set_thread_area(2) (http://man7.org/linux/man-pages/man2/set_thread_area.2.html), shmget(2) (http://man7.org/linux/man-pages/man2/shmget.2.html).
- Реализовано декодирование команд BPF_PROG_TEST_RUN, BPF_PROG_GET_NEXT_ID, BPF_MAP_GET_NEXT_ID, BPF_PROG_GET_FD_BY_ID, BPF_MAP_GET_FD_BY_ID, BPF_OBJ_GET_INFO_BY_FD системного вызова bpf(2), улучшено декодирование команды BPF_MAP_CREATE.
- Улучшения в поддержке нескольких personality (syscall ABI):
- Теперь стало сложнее случайно собрать strace без поддержки декодирования дополнительных personality: в случае невозможности её сконфигурировать процесс конфигурации сборки теперь по умолчанию завершится ошибкой; поведение управляется посредством параметра configure --enable-mpers=yes|no|check|m32|mx32.
- Требуемая версия gawk для сборки поддержки нескольких personality снижена с 4 до 3.
- При невозможности корректного декодирования системных вызовов процесса в неподдерживаемой personality теперь выводится предупреждение.
- Информация о наличии поддержки корректного декодирования дополнительных personality теперь доступна в strace -V.
- Исправлена поддержка нескольких personality при кросс-компиляции.
- Номера неизвестных системных вызовов теперь печатаются в шестнадцатеричном формате.
- Удалён нерабочий код поддержки архитектуры CRIS и режима IA-32 на архитектуре IA-64.
URL: https://github.com/strace/strace/releases/tag/v4.21
Новость: http://www.opennet.dev/opennews/art.shtml?num=48072