A fost lansată versiunea 2.37 a setului de unelte de sistem GNU Binutils, care include programe precum linker GNU, assembler GNU, nm, objdump, strings, strip.
În noua versiune:
- Cerințele pentru mediu de construire au fost ridicate; acum sunt necesare biblioteci și un compilator care să suporte standardul C99 pentru a construi Binutils.
- Suportul pentru formatul arm-symbianelf a fost oprit.
- A fost adăugat suportul RME (Realm Management Extension), o extensie pentru arhitectura ARMv9-A, care permite gestionarea dinamică a resurselor și memoriei într-un spațiu de adrese protejat, la care aplicațiile privilegiate și firmware-urile TrustZone nu au acces. Funcționalitatea propusă este parte din infrastructura pentru crearea de medii izolate Arm CCA (Confidential Compute Architecture). RME le permite programelor obișnuite să-și protejeze datele confidențiale în aceste medii pentru a le proteja de accesul neautorizat în caz de compromiterea sistemului de operare și a hipervizorilor.
- Au fost implementate noi opțiuni în linker:
- ‘-Bno-symbolic’ — anulează modul ‘-Bsymbolic’ și ‘-Bsymbolic-functions’;
- ‘-z report-relative-reloc’ — oferă informații despre legarea dinamică a adreselor (relocation);
- ‘-z start-stop-gc’ — dezactivează procesarea referințelor __start_* / __stop_* în timpul curățării secțiunilor neutilizate de către garbage collector.
- În utilitarul readelf a fost adăugată opțiunea „—sym-base=0|8|10|16” pentru a alege forma de afișare a simbolurilor numerice.
- În utilitarul nm au fost adăugate opțiunile: ‘—format=just-symbols’ (‘-j’) pentru a afișa doar numele simbolurilor și ‘—quiet’ pentru a dezactiva mesajele de diagnostic ‘no symbols’.
- În utilitarele objcopy și strip a fost adăugată opțiunea ‘—keep-section-symbols’ pentru a dezactiva eliminarea secțiunilor neutilizate în procesarea fișierelor.
- În objcopy au fost adăugate opțiunile ‘—weaken’, ‘—weaken-symbol’ și ‘—weaken-symbols’ pentru a clasifica simbolurile nedefinite ca weak-symbols.
- În readelf și objdump a fost implementată posibilitatea de a afișa conținutul secțiunilor „.debug_sup” și, implicit, sunt permise referințele la fișiere externe cu informații de depanare (debug info).
Sursa: opennet.ro
