Выпуск strace 4.21

Доступен выпуск strace 4.21, утилиты для диагностики и отладки программ для ОС, использующих ядро Linux. Она позволяет отслеживать и (начиная с версии 4.15) вмешиваться в процесс взаимодействия программы и ядра, включая происходящие системные вызовы, возникающие сигналы и изменения состояния процесса. Для своей работы strace использует механизм ptrace. Начиная с версии 4.13, формирование выпусков программы синхронизировано с выходом новых версий Linux.

Основные изменения:

  • Добавлена поддержка «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), s390_pci_mmio_write (2), s390_runtime_instr (2), s390_sthyi (2).
  • Реализовано декодирование некоторых ioctl (2) команд KVM_*, обновлён декодер команды DM_LIST_DEVICES.
  • Улучшено декодирование системных вызовов get_thread_area (2), memfd_create (2), modify_ldt (2), perf_event_open (2), reboot (2), set_thread_area (2), shmget (2).
  • Реализовано декодирование команд 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.

© OpenNet