ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡ GNU Binutils 2.39, Π² ΡΠΎΡΡΠ°Π² ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠ°ΠΊ GNU linker, GNU assembler, nm, objdump, strings, strip.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- Π ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ELF (ELF linker) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π² ΡΡΠ΅ΠΊΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ°ΠΌΡΡΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΡΠ°Π²Π»Π΅Π½Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠ°Π²Π° Π½Π° ΡΡΠ΅Π½ΠΈΠ΅, Π·Π°ΠΏΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
- Π ELF linker Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ «—package-metadat» Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSON, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Package Metadata.
- Π ΡΠΊΡΠΈΠΏΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠ΅ΠΊΡΠΈΠΈ ΠΌΠ΅ΡΠΊΠΈ TYPE=<type> Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΈΠΏΠ° ΡΠ΅ΠΊΡΠΈΠΈ.
- Π ΡΡΠΈΠ»ΠΈΡΠ΅ objdump ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π² Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π΅ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ AVR, RiscV, s390, x86 ΠΈ x86_64.
- Π ΡΡΠΈΠ»ΠΈΡΡ nm Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ «—no-weak» («-W») Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ weak-ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
- Π ΡΡΠΈΠ»ΠΈΡΡ readelf ΠΈ objdump Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ «-wE» Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ debuginfod ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΡΠ»ΠΎΠΊ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru