GNU เจฌเจฟเจจเฉเจŸเจฟเจฒเจธ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ 2.34

เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจธเจฟเจธเจŸเจฎ เจ‰เจชเจฏเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจœเจพเจฐเฉ€ เจ•เจฐเจจเจพ GNU เจฌเจฟเจจเฉเจŸเจฟเจฒเจธ 2.34, เจœเจฟเจธ เจตเจฟเฉฑเจš GNU เจฒเจฟเฉฐเจ•เจฐ, GNU เจ…เจธเฉˆเจ‚เจฌเจฒเจฐ, nm, objdump, เจธเจคเจฐ, เจธเจŸเฉเจฐเจฟเจช เจตเจฐเจ—เฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจธเจผเจพเจฎเจฒ เจนเจจเฅค

ะ’ เจจเจตเจพเจ‚ เจตเจฐเจœเจจ:

  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัะตั€ะฒะธัะฐ debuginfod, ะฟั€ะตะดัั‚ะฐะฒะปััŽั‰ะตะณะพ ัะพะฑะพะน HTTP-ัะตั€ะฒะตั€ ะดะปั ะพั‚ะดะฐั‡ะธ ะพั‚ะปะฐะดะพั‡ะฝะพะน ะธะฝั„ะพั€ะผะฐั†ะธะธ ELF/DWARF ะธ ะธัั…ะพะดะฝั‹ั… ั‚ะตะบัั‚ะพะฒ. ะŸั€ะธ ัะฑะพั€ะบะต Binutils ั ะฟะพะดะดะตั€ะถะบะพะน debuginfod, ัƒั‚ะธะปะธั‚ั‹ readelf ะธ objdump ะผะพะณัƒั‚ ะฟะพะดัะพะตะดะธะฝัั‚ัŒัั ะบ ัะตั€ะฒะตั€ะฐะผ debuginfod ะดะปั ะทะฐะณั€ัƒะทะบะธ ะฝะตะดะพัั‚ะฐัŽั‰ะตะน ะพั‚ะปะฐะดะพั‡ะฝะพะน ะธะฝั„ะพั€ะผะฐั†ะธะธ ะพะฑ ะพะฑั€ะฐะฑะฐั‚ั‹ะฒะฐะตะผั‹ั… ั„ะฐะนะปะฐั…. ะ”ะปั เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€เจ†เจ‚ binutils ั debuginfod ะฒ ัะบั€ะธะฟั‚ะต configure ัะปะตะดัƒะตั‚ ัƒะบะฐะทะฐั‚ัŒ ะพะฟั†ะธัŽ ยซโ€”with-debuginfodยป ะธ ะพะฑะตัะฟะตั‡ะธั‚ัŒ ะดะพัั‚ัƒะฟ ะบ ะฑะธะฑะปะธะพั‚ะตะบะต libdebuginfod, ะฟะพัั‚ะฐะฒะปัะตะผะพะน ะฒ ะฝะฐะฑะพั€ะต elfutils;
  • ะ’ ะดะธะทะฐััะตะผะฑะปะตั€ (objdump โ€”disassemble) ะดะพะฑะฐะฒะปะตะฝะฐ ะพะฟั†ะธั ยซโ€”visualize-jumpsยป ะดะปั ะณะตะฝะตั€ะฐั†ะธะธ ascii-ะณั€ะฐั„ะธะบะธ ั ะฒะธะทัƒะฐะปะธะทะฐั†ะธะตะน ะฟะตั€ะตั…ะพะดะพะฒ, ะฝะฐะณะปัะดะฝะพ ะพะฟั€ะตะดะตะปััŽั‰ะตะน ัะฒัะทะธ ะผะตะถะดัƒ ั†ะตะปะตะฒะพะน ั‚ะพั‡ะบะพะน ะธ ะธัั‚ะพั‡ะฝะธะบะพะผ ะฟะตั€ะตั…ะพะดะฐ ะฒ ะฟะพั‚ะพะบะต ะบะพะผะฐะฝะด. ะ’ะธะทัƒะฐะปะธะทะฐั†ะธั ั€ะฐะฑะพั‚ะฐะตั‚ ะดะปั ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ x86, x86_64 ะธ ARM;

    c6: | | \โ€”โ€”โ€”-> be 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
    de: | +โ€”โ€”โ€”โ€”|โ€”โ€” e8 00 00 00 00 callq e3
    e3: | \โ€”โ€”โ€”โ€”|โ€”-> 48 89 da mov %rbx,%rdx
    e6: | | be 00 00 00 00 mov $0x0,%esi
    eb: | \โ€”โ€” eb de jmp cb
    ed: \โ€”โ€”โ€”โ€”โ€”โ€”-> 48 8b 16 mov (%rsi),%rdx

  • ะ’ ะฐััะตะผะฑะปะตั€ ะธ ะบะพะผะฟะพะฝะพะฒั‰ะธะบ ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะณะตะฝะตั€ะฐั†ะธะธ ELF-ั„ะฐะนะปะพะฒ ะดะปั ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ Z80 (ะฟะพะดะดะตั€ะถะธะฒะฐัŽั‚ัั ะฟั€ะพั†ะตััะพั€ั‹ Zilog Z180 ะธ Zilog eZ80 ะฒ ั€ะตะถะธะผะฐั… ADL ะธ Z80);
  • ะ’ ัƒั‚ะธะปะธั‚ัƒ ยซarยป ะดะพะฑะฐะฒะปะตะฝะฐ ะพะฟั†ะธั ยซโ€”outputยป ะดะปั ะพะฟั€ะตะดะตะปะตะฝะธั ะบะฐั‚ะฐะปะพะณะฐ ะดะปั ะธะทะฒะปะตั‡ะตะฝะธั ะธะท ะฐั€ั…ะธะฒะฐ;
  • ะ’ ัƒั‚ะธะปะธั‚ั‹ ยซobjcopyยป ะธ ยซstripยป ะดะพะฑะฐะฒะปะตะฝะฐ ะพะฟั†ะธั ยซโ€”keep-sectionยป ะดะปั ะฟั€ะตะดะพั‚ะฒั€ะฐั‰ะตะฝะธั ัƒะดะฐะปะตะฝะธั ัƒะบะฐะทะฐะฝะฝะพะน ัะตะบั†ะธะธ.

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹