ΠΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Π½Π°Π±ΠΎΡΠ° ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ GNU Binutils 2.38, ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΊΠ°ΡΠΎ GNU linker, GNU Π°ΡΠ΅ΠΌΠ±Π»Π΅Ρ, nm, objdump, strings, strip.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° LoongArch, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Loongson, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° ΠΈ Π»ΠΈΠ½ΠΊΠ΅ΡΠ°.
- ΠΠΏΡΠΈΡΡΠ° ββmultibyte-handling=[allow|warn|warn-sym-only]β Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ. ΠΠΊΠΎ ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° warn, ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π°ΠΊΠΎ Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΠΈ Π·Π½Π°ΡΠΈ, Π° Π°ΠΊΠΎ ΠΏΠΎΡΠΎΡΠΈΡΠ΅ warn-sym-only, ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π°ΠΊΠΎ Π² ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡΠΎΠ²ΠΈ Π·Π½Π°ΡΠΈ.
- ΠΡΠ΅ΠΌΠ±Π»Π΅ΡΡΡ ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° AArch64 ΠΈ ARM Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈ, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° SME (Scalable Matrix Extension), Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Cortex-R52+, Cortex-A510, Cortex-A710, Cortex-X2, Cortex-A710 ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ 'v8.7-a', 'v8.8-a', 'v9-a', 'v9.1-a', 'armv9.2-a' ΠΈ 'armv9.3- Π°'.
- ΠΠ° x86 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΊΡΠΌ Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Intel AVX512_FP16.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΎΠΏΡΠΈΠΈ ΠΊΡΠΌ Π»ΠΈΠ½ΠΊΠ΅ΡΠ°: β-z pack-relative-relocs/-z nopack-relative-relocsβ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° DT_RELR; "-z indirect-extern-access/-z noindirect-extern-access" Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π°Π΄ΡΠ΅ΡΠΈ; "--max-cache-size=SIZE", Π·Π° Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΊΠ΅ΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ β--output-abiversionβ ΠΊΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° elfedit Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ ABIVERSION Π² ELF ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- ΠΠΏΡΠΈΡΡΠ° β--unicodeβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ readelf, strings, nm ΠΈ objdump, Π·Π° Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠ½ΠΈΠΊΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΠΏΡΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»Π½ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ Π½ΠΈΠ·ΠΎΠ²Π΅. ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠΊΠ°Π·Π²Π° β-unicode=localeβ, Π½ΠΈΠ·ΠΎΠ²Π΅ΡΠ΅ Π½Π° unicode ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΈΡ Π»ΠΎΠΊΠ°Π», β-unicode=hexβ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ ΡΠ΅ΡΡΠ½Π°Π΄Π΅ΡΠ΅ΡΠΈΡΠ½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅, β-unicode=escapeβ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, β-unicode=highlightβ Β» - ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΠΈ, ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ Π² ΡΠ΅ΡΠ²Π΅Π½ΠΎ.
- Π readelf ΠΎΠΏΡΠΈΡΡΠ° "-r" Π²Π΅ΡΠ΅ ΠΈΠ·Ρ Π²ΡΡΠ»Ρ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ efi-app-aarch64, efi-rtdrv-aarch64 ΠΈ efi-bsdrv-aarch64 Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ objcopy, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ°Π·ΠΈ ΠΏΠΎΠΌΠΎΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° UEFI.
- ΠΠΏΡΠΈΡΡΠ° β--thinβ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ar Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΠΈ Π°ΡΡ ΠΈΠ²ΠΈ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ ΡΠ°ΠΌΠΎ ΡΠ°Π±Π»ΠΈΡΠΈ ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΠΈ Π²ΡΡΠ·ΠΊΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru