ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ , ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΠΊΠ°ΡΠΎ GNU linker, GNU Π°ΡΠ΅ΠΌΠ±Π»Π΅Ρ, nm, objdump, strings, strip.
:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΡΠΌ Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π·Π° ARM ΡΠΈΡΡΠ΅ΠΌΠΈ
SVE2 (Scalable Vector Extension 2), TME (Transactional Memory Extension) ΠΈ MVE (Vector Extension). ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ.
Arm Cortex-A76AE, Cortex-A77, Cortex-M35P, Cortex-A34, Cortex-A65, Cortex-A65AE, Cortex-A76AE ΠΈ Cortex-A77. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° ".float16" Π·Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Π»ΠΈΡΠ΅ΡΠ°Π»ΠΈ Π·Π° 16-Π±ΠΈΡΠΎΠ²ΠΈ ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΠ° Π·Π°ΠΏΠ΅ΡΠ°Ρ; - ΠΠΏΡΠΈΡΡΠ° "-m[no-]fix-loongson3-llsc" Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ° Π½Π° MIPS, Π·Π° Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π³ΡΠ΅ΡΠΊΠ° Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Loongson3, ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π° Π±Π΅Π·ΠΈΠ·Ρ ΠΎΠ΄ΠΈΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ LL ΠΈ SC ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π½Π°ΡΠΈΠ½ΠΈ;
- ΠΠΏΡΠΈΡΡΠ° "-z pac-plt" Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ Π»ΠΈΠ½ΠΊΠ΅ΡΠ° Π½Π° AArch64, Π·Π° Π΄Π° ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° Π·Π°ΡΠΈΡΠ°ΡΠ° Π½Π° Π·Π°ΠΏΠΈΡΠΈ Π² PLT (Procedure Linkage Table) ΡΠ°Π±Π»ΠΈΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ PAC (Pointer Authentication), ΠΈ ΡΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
GNU_PROPERTY_AARCH64_FEATURE_1_BTI ΠΈ GNU_PROPERTY_AARCH64_FEATURE_1_PAC. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΡΠ° ββfix-cortex-a53-843419[=full|adr|adrpβ, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ Π΅Π΄Π½ΠΎ ΠΎΡ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ 843419 Π² ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Cortex-A53. - ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΡΠ° "--source-comment[={txt}]" ΠΊΡΠΌ objdump, Π·Π° Π΄Π° ΡΠ΅ ΡΠΊΠ°ΠΆΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΡΡ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ Ρ ΠΈΠ·Ρ ΠΎΠ΄Π΅Π½ ΡΠ΅ΠΊΡΡ, ΠΏΠΎΠΊΠ°Π·Π²Π°Π½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π΄ΠΈΠ·Π°ΡΠ΅ΠΌΠ±Π»ΠΈΡΠ°Π½Π΅;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΎΠΏΡΠΈΠΈΡΠ΅ "--set-section-alignment section-name=power-of-2-align" ΠΈ "--verilog-data-width" ΠΊΡΠΌ objcopy Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΏΠΎΠ΄ΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΠΊΡΠΈΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΠ΅Π΄Π° ΠΏΡΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° verilog Π΄Π°Π½Π½ΠΈ;
- ΠΡΠΌ readelf ΠΈ objdump ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΈ "--debug-dump=links/follow" ΠΈ "--dwarf=links/follow-links" Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ ΠΈ ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π² Π΄Π°Π΄Π΅Π½ ΡΠ°ΠΉΠ» ΠΈΠΌΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄ΡΠΌΠΏΠΎΠ²Π΅ Π² CTF (Compact Type Format) ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ objdump ΠΈ readelf.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
