Выпуск GNU Binutils 2.43

Опубликован релиз набора системных утилит GNU Binutils 2.43, в состав которого входят такие программы, как GNU linker, GNU assembler, nm, objdump, strings, strip.

В новой версии:

  • В GNU assembler добавлена поддержка директивы “.base64” для представления бинарных данных в виде строк в кодировке base64. Реализована возможность использования синтаксиса “+” в макросах и внутри директив .irp, .irpc и .rept для определения числа запусков макроса.
  • Добавлена поддержка инструкций CFCMOV, NF, CCMP и CTEST, определённых в наборе команд Intel APX.
  • Добавлена поддержка архитектуры ‘armv9.5-a’, а также расширений LUT и LUTv2 (AArch64 Lookup Table Extension).
  • Добавлена поддержка расширений RISC-V: XSfCease, Zacas, Zcmp, Zfbfmin, Zvfbfmin, Zvfbfwma, Smcsrind, Sscsrind, XCvMem, XCvBi и XCvElw.
  • В компоновщике добавлены опции: “–rosegment” (при использовании опции “-z separate-code” создаёт один сегмент в режиме только для чтения вместо двух), “–section-ordering-file ” (сопоставление входных и результирующих секций) и “–plugin-save-temps” (сохранение временных файлов от плагинов). Для архитектур AArch64 и LoongArch реализована поддержка формата упаковки перемещений адресов DT_RELR (relocation), позволяющего сократить размер информации об относительных перемещениях в разделяемых объектах и исполняемых файлах.
  • В утилите readelf обеспечен показ деталей о перемещении адресов (DT_RELR). Добавлена опция “-j” (“–display-section”) для отображения содержимого секции, заданной по имени или индексу. При выводе содержимого секции “.eh_frame” обеспечен показ секции “.eh_frame_hdr” при её наличии.
  • В утилите gprofng добавлена начальная поддержка архитектуры RISC-V. Переработан код для работы со счётчиками аппаратных событий. Реализованы события, специфичные для процессоров AMD ZEN3, AMD ZEN4 и Intel Ice Lake, а также типовые события для процессоров ARM.
Release. Ссылка here.