ИздаванС на GNU Binutils 2.37

Π‘Π΅ΡˆΠ΅ прСдставСна вСрсията Π½Π° Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ систСмни ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ GNU Binutils 2.37, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ GNU linker, GNU асСмблСр, nm, objdump, strings, strip.

Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия:

  • Π˜Π·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡ‚Π° Π·Π° срСдата Π·Π° асСмблиранС бяха ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈ; Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Binutils Π²Π΅Ρ‡Π΅ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ стандарта C99.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° arm-symbianelf Π΅ прСустановСна.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° RME (Realm Management Extension), Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π·Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° ARMv9-A, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° рСсурси ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚ към ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΎ адрСсно пространство, Π΄ΠΎ ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ‚Π΅ прилоТСния ΠΈ Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€ΡŠΡ‚ TrustZone нямат Π΄ΠΎΡΡ‚ΡŠΠΏ. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π°Ρ‚Π° функция Π΅ част ΠΎΡ‚ инфраструктурата Π·Π° създаванС Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ срСди Arm CCA (Confidential Compute Architecture). RME позволява Π½Π° ΠΎΠ±Ρ‰ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ своитС ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² Ρ‚Π°ΠΊΠΈΠ²Π° срСди, Π·Π° Π΄Π° Π³ΠΈ прСдпазят ΠΎΡ‚ Π½Π΅ΠΎΡ‚ΠΎΡ€ΠΈΠ·ΠΈΡ€Π°Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π² случай Π½Π° ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈ Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€ΠΈΡ‚Π΅.
  • Π’ Π»ΠΈΠ½ΠΊΠ΅Ρ€Π° са Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΎΠΏΡ†ΠΈΠΈ:
    • '-Bno-symbolic' - отмСня Ρ€Π΅ΠΆΠΈΠΌΠΈΡ‚Π΅ '-Bsymbolic' ΠΈ '-Bsymbolic-functions';
    • '-z report-relative-reloc' - ΠΏΠΎΠΊΠ°Π·Π²Π° информация Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° адрСси (прСмСстванС);
    • '-z start-stop-gc' - Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ __start_*/__stop_*, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ±ΠΈΡ€Π°Ρ‡ΡŠΡ‚ Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ почиства Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ сСкции.
  • ΠžΠΏΡ†ΠΈΡΡ‚Π° β€ž--sym-base=0|8|10|16β€œ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° readelf Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈ символи.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΎΠΏΡ†ΠΈΠΈ към ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° nm: 'β€”format=just-symbols' ('-j') Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ само Π½Π° ΠΈΠΌΠ΅Π½Π° Π½Π° символи ΠΈ 'β€”quiet' Π·Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° диагностичнитС ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ "Π±Π΅Π· символи".
  • ΠžΠΏΡ†ΠΈΡΡ‚Π° β€žβ€”keep-section-symbolsβ€œ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ objcopy ΠΈ strip, Π·Π° Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ сСкции ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΎΠΏΡ†ΠΈΠΈ β€ž--weakenβ€œ, β€ž--weaken-symbolβ€œ ΠΈ β€ž--weaken-symbolsβ€œ към objcopy Π·Π° класифициранС Π½Π° Π½Π΅Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ символи ΠΊΠ°Ρ‚ΠΎ слаби символи.
  • Readelf ΠΈ objdump Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚ способността Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° сСкциитС β€ž.debug_supβ€œ ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ позволяват Π²Ρ€ΡŠΠ·ΠΊΠΈ към ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ с информация Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€