Opublikowano wydanie zestawu narzędzi systemowych GNU Binutils 2.43, w skład którego wchodzą takie programy jak GNU linker, GNU assembler, nm, objdump, strings, strip.
W nowej wersji:
- W GNU assembler dodano obsługę dyrektywy „.base64” do reprezentacji danych binarnych w postaci ciągów w kodowaniu base64. Zrealizowano możliwość użycia składni „\+” w makrach oraz wewnątrz dyrektyw .irp, .irpc i .rept do określenia liczby uruchomień makra.
- Dodano obsługę instrukcji CFCMOV, NF, CCMP i CTEST, zdefiniowanych w zestawie instrukcji Intel APX.
- Dodano obsługę architektury ‘armv9.5-a’, a także rozszerzeń LUT i LUTv2 (Rozszerzenie Tabeli Lookup AArch64).
- Dodano obsługę rozszerzeń RISC-V: XSfCease, Zacas, Zcmp, Zfbfmin, Zvfbfmin, Zvfbfwma, Smcsrind, Sscsrind, XCvMem, XCvBi i XCvElw.
- W linkerze dodano opcje: „—rosegment” (przy użyciu opcji „-z separate-code” tworzy jeden segment w trybie tylko do odczytu zamiast dwóch), „—section-ordering-file ” (mapowanie sekcji wejściowych i wynikowych) oraz „—plugin-save-temps” (zachowanie plików tymczasowych z wtyczek). Dla architektur AArch64 i LoongArch zrealizowano wsparcie dla formatu pakowania przemieszczeń adresów DT_RELR (relokacja), co pozwala na zmniejszenie rozmiaru informacji o relatywnych przemieszczeniach w obiektach współdzielonych i plikach wykonywalnych.
- W narzędziu readelf zapewniono wyświetlanie szczegółów dotyczących przemieszczeń adresów (DT_RELR). Dodano opcję „-j” („—display-section”) do wyświetlania zawartości sekcji określonej nazwą lub indeksem. Podczas wyświetlania zawartości sekcji „.eh_frame” zapewniono wyświetlanie sekcji „.eh_frame_hdr”, jeśli jest dostępna.
- W narzędziu gprofng dodano wstępną obsługę architektury RISC-V. Przeprojektowano kod do obsługi liczników zdarzeń sprzętowych. Zrealizowano zdarzenia specyficzne dla procesorów AMD ZEN3, AMD ZEN4 i Intel Ice Lake, a także typowe zdarzenia dla procesorów ARM.
Źródło: opennet.ru
