Została wydana wersja zestawu narzędzi systemowych GNU Binutils 2.38, który obejmuje takie programy, jak linker GNU, assembler GNU, nm, objdump, strings, strip.
W nowej wersji:
- Do assemblera i linkera dodano wsparcie dla architektury LoongArch, stosowanej w procesorach Loongson.
- Do assemblera dodano opcję „—multibyte-handling=[allow|warn|warn-sym-only]” do wyboru metody obsługi wielobajtowych symboli. Przy ustawieniu wartości warn wyświetlane jest ostrzeżenie przy obecności wielobajtowych symboli w kodzie źródłowym, a przy ustawieniu warn-sym-only — podczas używania wielobajtowych symboli w nazwach argumentów.
- W assemblerze poprawiono wsparcie dla architektur AArch64 i ARM, rozszerzono wsparcie rejestrów systemowych, dodano obsługę rozszerzenia SME (Scalable Matrix Extension), wsparcie dla procesorów Cortex-R52+, Cortex-A510, Cortex-A710, Cortex-X2, Cortex-A710 oraz rozszerzeń architektury 'v8.7-a', 'v8.8-a', 'v9-a', 'v9.1-a', 'armv9.2-a' i 'armv9.3-a'.
- Dla architektury x86 w assemblerze dodano wsparcie dla instrukcji Intel AVX512_FP16.
- Do linkera dodano opcje: „-z pack-relative-relocs/-z nopack-relative-relocs” do zarządzania pakowaniem względnych przemieszczeń adresów (relocation) w sekcji DT_RELR; „-z indirect-extern-access/-z noindirect-extern-access” do zarządzania używaniem kanonicznych wskaźników na funkcje oraz kopiowaniem informacji o przemieszczeniach adresów; „—max-cache-size=SIZE” do określenia maksymalnego rozmiaru pamięci podręcznej.
- Do narzędzia elfedit dodano opcję „—output-abiversion” do aktualizacji pola ABIVERSION w plikach ELF.
- Do narzędzi readelf, strings, nm i objdump dodano opcję „—unicode” do zarządzania przetwarzaniem symboli unicode przy wyświetlaniu nazw symboli lub ciągów. Przy ustawieniu „—unicode=locale” ciągi unicode są przetwarzane zgodnie z bieżącą lokalizacją, „—unicode=hex” — wyświetlane są w postaci kodów szesnastkowych, „—unicode=escape” — pokazywane są w postaci sekwencji escape, „—unicode=highlight” — pokazywane są w postaci wyróżnionych na czerwono sekwencji escape.
- W narzędziu readelf opcja „-r” teraz prowadzi do dumpowania danych o względnych przemieszczeniach (relocation).
- W objcopy dodano wsparcie dla platform efi-app-aarch64, efi-rtdrv-aarch64 oraz efi-bsdrv-aarch64, które umożliwiają korzystanie z tego narzędzia podczas rozwijania komponentów dla UEFI.
- Do narzędzia ar dodano opcję „—thin” do tworzenia uproszczonych (thin) archiwów, zawierających tylko tabele symboli i odniesień.
Źródło: opennet.ru
