GNU เชฌเชฟเชจเซเชŸเชฟเชฒเซเชธเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ 2.34

เชฆเซเชฐเชพเชฐเชพ เชฐเชœเซ เช•เชฐเซ‡เชฒ เชธเชฟเชธเซเชŸเชฎ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“เชจเชพ เชธเชฎเซ‚เชนเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ GNU เชฌเชฟเชจเซเชŸเชฟเชฒเซเชธ 2.34, เชœเซ‡เชฎเชพเช‚ GNU เชฒเชฟเช‚เช•เชฐ, GNU เชเชธเซ‡เชฎเซเชฌเชฒเชฐ, nm, objdump, เชธเซเชŸเซเชฐเชฟเช‚เช—เซเชธ, เชธเซเชŸเซเชฐเซ€เชช เชœเซ‡เชตเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡.

ะ’ เชจเชตเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ:

  • เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ เชธเซ‡เชตเชพ เช†เชงเชพเชฐ debuginfod, เชœเซ‡ ELF/DWARF เชกเชฟเชฌเช—เซ€เช‚เช— เชฎเชพเชนเชฟเชคเซ€ เช…เชจเซ‡ เชธเซเชคเซเชฐเซ‹เชค เช•เซ‹เชก เชชเชนเซ‹เช‚เชšเชพเชกเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ HTTP เชธเชฐเซเชตเชฐ เช›เซ‡. เชกเซ€เชฌเช—เชฟเชจเชซเซ‹เชก เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ เชฌเชฟเชจเซเชŸเซ€เชฒเซเชธ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เชฐเซ€เชกเซ‡เชฒเซเชซ เช…เชจเซ‡ เช“เชฌเซเชœเชกเชฎเซเชช เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€เช เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซ‡เชฒเซ€ เชซเชพเช‡เชฒเซ‹ เชตเชฟเชถเซ‡ เช–เซ‚เชŸเชคเซ€ เชกเซ€เชฌเช—เซ€เช‚เช— เชฎเชพเชนเชฟเชคเซ€ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชกเซ€เชฌเช—เชฟเชจเชซเซ‹เชก เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เชฎเชพเชŸเซ‡ เชตเชฟเชงเชพเชจเชธเชญเชพเช“ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ debuginfod เชธเชพเชฅเซ‡ binutils, เชคเชฎเชพเชฐเซ‡ โ€œ--with-debuginfodโ€ เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช เช…เชจเซ‡ เช•เชฟเชŸเชฎเชพเช‚ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ libdebuginfod เชฒเชพเชˆเชฌเซเชฐเซ‡เชฐเซ€เชจเซ€ เชเช•เซเชธเซ‡เชธ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเซ€ เชœเซ‹เชˆเช. elfutils;
  • เชธเช‚เช•เซเชฐเชฎเชฃเซ‹เชจเชพ เชตเชฟเชเซเชฏเซเชฒเชพเช‡เชเซ‡เชถเชจ เชธเชพเชฅเซ‡ ascii เช—เซเชฐเชพเชซเชฟเช•เซเชธ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ "--visualize-jumps" เชตเชฟเช•เชฒเซเชชเชจเซ‡ เชกเชฟเชธเชเชธเซ‡เชฎเซเชฌเชฒเชฐ (objdump โ€”เชกเชฟเชธเซ‡เชฎเซเชฌเชฒ) เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เชœเซ‡ เช†เชฆเซ‡เชถ เชชเซเชฐเชตเชพเชนเชฎเชพเช‚ เชฒเช•เซเชทเซเชฏ เชฌเชฟเช‚เชฆเซ เช…เชจเซ‡ เชœเชฎเซเชช เชธเซเชคเซเชฐเซ‹เชค เชตเชšเซเชšเซ‡เชจเชพ เชธเช‚เชฌเช‚เชงเชจเซ‡ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชตเชฟเชเซเชฏเซเชฒเชพเช‡เชเซ‡เชถเชจ x86, x86_64 เช…เชจเซ‡ ARM เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชฎเชพเชŸเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡;

    c6: | | \โ€”โ€”โ€”-> เชฌเชจเซ‹ 00 00 00 00 mov $0x0,%esi
    cb: | | /โ€”-> 48 8b 3d 00 00 00 00 mov 0x0(%rip),%rdi # d2
    d2: | | | 31 c0 xor %eax, %eax
    d4: | | | //โ€” e8 00 00 00 00 callq d9
    d9: | | | \-> bf 02 00 00 00 mov $0x2,%edi
    เชฆ: | +โ€”โ€”โ€”โ€”|โ€”โ€” e8 00 00 00 00 callq e3
    e3: | \โ€”โ€”โ€”โ€”|โ€”-> 48 89 da mov %rbx,%rdx
    e6: | | เชฌเชจเซ‹ 00 00 00 00 mov $0x0,%esi
    eb: | \โ€”โ€” eb de jmp cb
    ed: \โ€”โ€”โ€”โ€”โ€”โ€”-> 48 8b 16 mov (%rsi),%rdx

  • Z80 เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชฎเชพเชŸเซ‡ ELF เชซเชพเช‡เชฒเซ‹ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ‹ เชธเชชเซ‹เชฐเซเชŸ เชเชธเซ‡เชฎเซเชฌเชฒเชฐ เช…เชจเซ‡ เชฒเชฟเช‚เช•เชฐเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ (ADL เช…เชจเซ‡ Z180 เชฎเซ‹เชกเซเชธเชฎเชพเช‚ Zilog Z80 เช…เชจเซ‡ Zilog eZ80 เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซเชธ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡);
  • เช†เชฐเซเช•เชพเช‡เชตเชฎเชพเช‚เชฅเซ€ เชฌเชนเชพเชฐ เช•เชพเชขเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ "--เช†เช‰เชŸเชชเซเชŸ" เชตเชฟเช•เชฒเซเชช "ar" เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡;
  • เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชตเชฟเชญเชพเช—เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เช…เชŸเช•เชพเชตเชตเชพ เชฎเชพเชŸเซ‡ "--keep-section" เชตเชฟเช•เชฒเซเชช "objcopy" เช…เชจเซ‡ "strip" เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹