Die Veröffentlichung des GNU Binutils Toolsets 2.37, das Programme wie den GNU Linker, den GNU Assembler, nm, objdump, strings und strip umfasst, wurde vorgestellt.
In der neuen Version:
- Die Anforderungen an die Build-Umgebung wurden erhöht; zum Erstellen von Binutils sind jetzt Bibliotheken und ein Compiler erforderlich, die den C99-Standard unterstützen.
- Die Unterstützung für das Format arm-symbianelf wurde eingestellt.
- Die Unterstützung für RME (Realm Management Extension) wurde hinzugefügt, eine Erweiterung für die ARMv9-A Architektur, die eine dynamische Übertragung von Ressourcen und Speicher in einen separaten geschützten Adressraum ermöglicht, auf den privilegierte Anwendungen und TrustZone-Firmware keinen Zugriff haben. Diese Möglichkeit ist Teil der Infrastruktur zur Erstellung isolierter Umgebungen der Arm CCA (Confidential Compute Architecture). RME ermöglicht es regulären Programmen, ihre vertraulichen Daten in solchen Umgebungen zu speichern, um sie im Falle einer Kompromittierung des Betriebssystems und von Hypervisoren vor unbefugtem Zugriff zu schützen.
- Im Linker wurden neue Optionen implementiert:
- '-Bno-symbolic' - hebt die Modi '-Bsymbolic' und '-Bsymbolic-functions' auf;
- '-z report-relative-reloc' - gibt Informationen über dynamische Adressverknüpfungen (Relocation) aus;
- '-z start-stop-gc' - deaktiviert die Verarbeitung von Referenzen __start_* / __stop_* während der Bereinigung ungenutzter Abschnitte durch den Garbage Collector.
- Der readelf-Befehl hat die Option «—sym-base=0|8|10|16» hinzugefügt, um die Darstellung numerischer Symbole auszuwählen.
- Der nm-Befehl hat die Optionen '—format=just-symbols' ('-j'), um nur Symbolnamen auszugeben, und '—quiet', um Diagnosemeldungen 'no symbols' zu unterdrücken.
- Den objcopy- und strip-Befehlen wurde die Option '—keep-section-symbols' hinzugefügt, um das Entfernen ungenutzter Abschnitte bei der Verarbeitung von Dateien zu deaktivieren.
- Im objcopy-Befehl wurden die Optionen '—weaken', '—weaken-symbol' und '—weaken-symbols' hinzugefügt, um nicht definierte Symbole als schwache Symbole zu kategorisieren.
- In readelf und objdump wurde die Möglichkeit implementiert, den Inhalt der Abschnitte '.debug_sup' anzuzeigen, und es sind standardmäßig Verknüpfungen zu separaten Dateien mit Debug-Informationen (Debug info) erlaubt.
Quelle: opennet.ru
