GNU ๋ง์ปค, GNU ์ด์ ๋ธ๋ฌ, nm, objdump, ๋ฌธ์์ด, ์คํธ๋ฆฝ๊ณผ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ํฌํจํ๋ GNU Binutils 2.38 ์์คํ ์ ํธ๋ฆฌํฐ ์ธํธ๊ฐ ์ถ์๋์์ต๋๋ค.
์ ๋ฒ์ ์์:
- Loongson ํ๋ก์ธ์์ ์ฌ์ฉ๋๋ LoongArch ์ํคํ ์ฒ์ ๋ํ ์ง์์ด ์ด์ ๋ธ๋ฌ ๋ฐ ๋ง์ปค์ ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ฉํฐ๋ฐ์ดํธ ๊ธฐํธ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์ ํํ๊ธฐ ์ํด "โmultibyte-handling=[allow|warn|warn-sym-only]" ์ต์ ์ด ์ด์ ๋ธ๋ฌ์ ์ถ๊ฐ๋์์ต๋๋ค. warning ๊ฐ์ ์ง์ ํ๋ฉด ์์ค ํ ์คํธ์ ๋ฉํฐ๋ฐ์ดํธ ๋ฌธ์๊ฐ ์์ผ๋ฉด ๊ฒฝ๊ณ ๊ฐ ํ์๋๊ณ ,warn-sym-only๋ฅผ ์ง์ ํ๋ฉด ์ธ์ ์ด๋ฆ์ ๋ฉํฐ๋ฐ์ดํธ ๋ฌธ์๊ฐ ์ฌ์ฉ๋๋ฉด ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
- ์ด์ ๋ธ๋ฌ๋ AArch64 ๋ฐ ARM ์ํคํ ์ฒ์ ๋ํ ์ง์ ๊ฐ์ , ์์คํ ๋ ์ง์คํฐ์ ๋ํ ์ง์ ํ์ฅ, SME(Scalable Matrix Extension)์ ๋ํ ์ง์ ์ถ๊ฐ, Cortex-R52+, Cortex-A510, Cortex-A710, Cortex-X2, Cortex-A710์ ๋ํ ์ง์ ์ถ๊ฐ ํ๋ก์ธ์ ๋ฐ ์ํคํ ์ฒ ํ์ฅ 'v8.7-a', 'v8.8-a', 'v9-a', 'v9.1-a', 'armv9.2-a' ๋ฐ 'armv9.3- ใ '.
- x86 ์ํคํ ์ฒ์ ๊ฒฝ์ฐ Intel AVX512_FP16 ์ง์นจ์ ๋ํ ์ง์์ด ์ด์ ๋ธ๋ฌ์ ์ถ๊ฐ๋์์ต๋๋ค.
- DT_RELR ์น์ ์์ ์๋ ์ฌ๋ฐฐ์น ํจํน์ ์ ์ดํ๊ธฐ ์ํด ๋ง์ปค์ ์ต์ ์ถ๊ฐ: "-z pack-relative-relocs/-z nopack-relative-relocs" "-z indirect-extern-access/-z noindirect-extern-access"๋ ์ ์ ํจ์ ํฌ์ธํฐ์ ์ฌ์ฉ๊ณผ ์ฃผ์ ์ฌ๋ฐฐ์น ์ ๋ณด ๋ณต์ฌ๋ฅผ ์ ์ดํฉ๋๋ค. "--max-cache-size=SIZE"๋ฅผ ์ฌ์ฉํ์ฌ ์ต๋ ์บ์ ํฌ๊ธฐ๋ฅผ ์ ์ํฉ๋๋ค.
- ELF ํ์ผ์ ABIVERSION ํ๋๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ ์ํด elfedit ์ ํธ๋ฆฌํฐ์ "--output-abiversion" ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค.
- ๊ธฐํธ ์ด๋ฆ์ด๋ ๋ฌธ์์ด์ ์ถ๋ ฅํ ๋ ์ ๋์ฝ๋ ๋ฌธ์ ์ฒ๋ฆฌ๋ฅผ ์ ์ดํ๊ธฐ ์ํด "--unicode" ์ต์ ์ด readelf, strings, nm ๋ฐ objdump ์ ํธ๋ฆฌํฐ์ ์ถ๊ฐ๋์์ต๋๋ค. "-unicode=locale"์ ์ง์ ํ๋ฉด ์ ๋์ฝ๋ ๋ฌธ์์ด์ด ํ์ฌ ๋ก์ผ์ผ์ ๋ฐ๋ผ ์ฒ๋ฆฌ๋๊ณ , "-unicode=hex"๋ XNUMX์ง์ ์ฝ๋๋ก ํ์๋๊ณ , "-unicode=escape"๋ ์์ค์ปฌ๋ ์ด์ ์ํ์ค๋ก ํ์๋๊ณ , "-unicode=highlight"๋ ํ์๋ฉ๋๋ค. ยป - ๋นจ๊ฐ์์ผ๋ก ๊ฐ์กฐ ํ์๋ ์์ค์ปฌ๋ ์ด์ ์ํ์ค๋ก ํ์๋ฉ๋๋ค.
- readelf์์ "-r" ์ต์ ์ ์ด์ ์ฌ๋ฐฐ์น ๋ฐ์ดํฐ๋ฅผ ๋คํํฉ๋๋ค.
- efi-app-aarch64, efi-rtdrv-aarch64 ๋ฐ efi-bsdrv-aarch64 ํ๋ซํผ์ ๋ํ ์ง์์ด objcopy์ ์ถ๊ฐ๋์ด UEFI์ฉ ๊ตฌ์ฑ ์์๋ฅผ ๊ฐ๋ฐํ ๋ ์ด ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ฌ๋ณผ๊ณผ ๋งํฌ ํ ์ด๋ธ๋ง ํฌํจํ๋ ์ฌ ์์นด์ด๋ธ๋ฅผ ์์ฑํ๊ธฐ ์ํด "--thin" ์ต์ ์ด ar ์ ํธ๋ฆฌํฐ์ ์ถ๊ฐ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru