GNU Binutils 2.35 ์ถœ์‹œ

๋„์ž… ์‹œ์Šคํ…œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ธํŠธ ์ถœ์‹œ GNU Binutils 2.35, ์—ฌ๊ธฐ์—๋Š” GNU ๋ง์ปค, GNU ์–ด์…ˆ๋ธ”๋Ÿฌ, nm, objdump, ๋ฌธ์ž์—ด, ์ŠคํŠธ๋ฆฝ๊ณผ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

ะ’ ์ƒˆ๋กœ์šด ๋ฒ„์ „:

  • ์–ด์…ˆ๋ธ”๋Ÿฌ๋Š” DWARF-5 ํ˜•์‹์˜ ์ค„ ๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ".debug_line" ๋””๋ฒ„๊ทธ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด "--gdwarf-5" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. Intel SERIALIZE ๋ฐ TSXLDTRK ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ทจ์•ฝ์ ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด "-mlfence-after-load=", '-mlfence-before-indirect-branch=" ๋ฐ "-mlfence-before-ret=" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. LVI (CVE-2020-0551).
  • readelf ์œ ํ‹ธ๋ฆฌํ‹ฐ์— "lint" ๋ชจ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ํฌ๊ธฐ๊ฐ€ 80์ธ ์„น์…˜์„ ํ™•์ธํ•˜๋Š” ๋“ฑ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ถ”๊ฐ€ ํ™•์ธ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. readelf๋Š” ๋˜ํ•œ XNUMX์ž ๋ผ์ธ์— ๋งž์ง€ ์•Š๋Š” ์ด๋ฆ„์„ ์ž๋ฅผ ๋•Œ "[...]" ํ‘œ์‹œ๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋™์ž‘์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด "--silent-truncation" ์˜ต์…˜์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • ์ฒ˜๋ฆฌ๋œ ์ž…๋ ฅ ์ข…์†์„ฑ ๋ชฉ๋ก์ด ํฌํ•จ๋œ Make์™€ ์œ ์‚ฌํ•œ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ง์ปค์— "--dependent-file" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ "-M -MP" ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ง์ปค๋Š” ๋˜ํ•œ "--warn-textrel", "-enable-textrel-check=[no|yes|warning|error", "-export-dynamic-symbol", "-export-dynamic-symbol-list ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. โ€, "--๋น„์—ฐ์† ์˜์—ญ ํ™œ์„ฑํ™”" ๋ฐ
    "--enable-non-contiguous-regions-warnings"๋Š” DT_TEXTREL ์ฒ˜๋ฆฌ, ๋™์  ๊ธฐํ˜ธ ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฐ ๋น„์—ฐ์† ์˜์—ญ ๋ฐฐ์น˜๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

  • X86 NaCl ๋Œ€์ƒ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ง€์›์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€