์™€์ผ๋“œ ๋ง์ปค 0.9

์ถœ์‹œ๊ฐ€ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค ์™€์ผ๋“œ ๋ง์ปค 0.9.0 โ€” Rust๋กœ ์ž‘์„ฑ๋œ ์ƒˆ๋กœ์šด ๊ณ ์„ฑ๋Šฅ ๋ง์ปค์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฆด๋ฆฌ์Šค๋Š” GitHub์— ๊ฒŒ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 23 ์›” 2026 ๋…„์ด ํ”„๋กœ์ ํŠธ๋Š” ๋ฐ˜๋ณต์ ์ธ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋†’์ด๋Š” ๋ง์ปค๋กœ ๊ธฐํš๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ €์ž๋“ค์€ ๊ถ๊ทน์ ์œผ๋กœ ์ฆ๋ถ„ ๋งํ‚น์„ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•˜์ง€๋งŒ, ํ˜„์žฌ ๋ฒ„์ „์—๋Š” ์•„์ง ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” ์ด์ค‘ ๋ผ์ด์„ ์Šค ํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์•„ํŒŒ์น˜ 2.0 / MIT.

Wild 0.9์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ง€์› ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๋ง์ปค ํ”Œ๋Ÿฌ๊ทธ์ธ APIGold ๋ง์ปค์—์„œ ๋„์ž…๋˜์—ˆ๊ณ  GNU ld ๋ฐ Mold์—์„œ๋„ ์ง€์›๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. Wild์˜ ๊ฒฝ์šฐ, ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธธ์„ ์—ด์–ด์ค๋‹ˆ๋‹ค. ๋ง์ปค ํ”Œ๋Ÿฌ๊ทธ์ธ LTO โ€” ๋ง์ปค ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•œ ๋งํฌ ์‹œ๊ฐ„ ์ตœ์ ํ™”. ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด ๊ธฐ๋Šฅ์ด ์ฃผ๋กœ C, C++, ๊ทธ๋ฆฌ๊ณ  ํ˜ผํ•ฉ ์ฝ”๋“œ ํ”„๋กœ์ ํŠธ์— ์œ ์šฉํ•˜๋ฉฐ, ์ˆœ์ˆ˜ Rust ํ”„๋กœ์ ํŠธ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‚ด๋ถ€์ ์œผ๋กœ LTO(๋งํฌ ์‹œ๊ฐ„ ์ตœ์ ํ™”)๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ๋ช…์‹œ์ ์œผ๋กœ ๋ฐํ˜”์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์—๋Š” ์•„์ง ์•Œ๋ ค์ง„ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉฐ, ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•œ ๋งํฌ๋Š” ์†๋„๊ฐ€ ๋А๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

0.9 ๋ฒ„์ „ ์ž‘์—…์˜ ์ƒ๋‹น ๋ถ€๋ถ„์€ Wild๋ฅผ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์œผ๋กœ ์ด์ „ํ•˜๊ธฐ ์œ„ํ•œ ์ค€๋น„์™€ ๊ด€๋ จ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Linux/ELF. ELF ๊ด€๋ จ ๋กœ์ง์ด ์ถ”์ƒํ™” ๊ณ„์ธต ๋ฐ–์œผ๋กœ ์ด๋™๋˜์—ˆ์œผ๋ฉฐ, ์ง€์› ์ž‘์—…์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ ํ•˜์˜ค ะธ WebAssembly์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์€ ์•„์ง ์‹ค์šฉ์ ์ธ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ์ค€๋น„๋Š” ๋˜์ง€ ์•Š์•˜์ง€๋งŒ, Mach-O ๊ตฌ๋ฌธ ๋ถ„์„, ์„น์…˜ ๋ฐ ์„ธ๊ทธ๋จผํŠธ ์ฒ˜๋ฆฌ, ์‹ฌ๋ณผ ํ…Œ์ด๋ธ”, ์ฝ”๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜, ํŒป ๋ฐ”์ด๋„ˆ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  wasm ์„น์…˜, ์‹ฌ๋ณผ ๋ฐ ์žฌ๋ฐฐ์น˜์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›๊ณผ ๊ฐ™์€ ์ดˆ๊ธฐ ์š”์†Œ๋“ค์ด ์ด๋ฏธ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Wild Linker 0.9์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • ๋ง์ปค ํ”Œ๋Ÿฌ๊ทธ์ธ ์ง€์›. ๋ง์ปค ํ”Œ๋Ÿฌ๊ทธ์ธ API ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ง์ปค ํ”Œ๋Ÿฌ๊ทธ์ธ LTO ๋ฐ ์ผ๋ถ€ GCC/GNU ld/Mold ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ์™€์˜ ํ˜ธํ™˜์„ฑ์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ „์ฒด ์•„์นด์ด๋ธŒ, ThinLTO, ์—ด๋ฆฐ ํŒŒ์ผ ์ œํ•œ ๋ฐ LTO ์ค‘ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ์ œ๊ฑฐ์™€ ๊ด€๋ จ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ฝœ๋ฐฑ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ ์ง€์›์ด ๋Œ€ํญ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. PROVIDE ๋ฐ PROVIDE_HIDDEN ์ง€์‹œ๋ฌธ, ASSERT ๊ตฌ๋ฌธ ๋ถ„์„ ๋ฐ ์‹คํ–‰, MEMORY, ORIGIN, LENGTH, LOADADDR, ALIGNOF, SEGMENT_START, ์ˆซ์ž ๋ฆฌํ„ฐ๋Ÿด์˜ K ๋ฐ M ์ ‘๋ฏธ์‚ฌ ์ง€์›, ๋…ผ๋ฆฌ, ๋น„ํŠธ ๋ฐ ๋‹จํ•ญ ์—ฐ์‚ฐ์ž, ์ž…๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์ผ์น˜์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Wild๋Š” ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ์ €์ˆ˜์ค€ ํ”„๋กœ์ ํŠธ์—์„œ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ณต์žกํ•œ ๋งํฌ ์Šคํฌ๋ฆฝํŠธ์™€์˜ ํ˜ธํ™˜์„ฑ์— ํ•œ ๊ฑธ์Œ ๋” ๋‹ค๊ฐ€์„ฐ์Šต๋‹ˆ๋‹ค.

  • RISC-V, AArch64, x86-64 ๋ฐ LoongArch64์— ๋Œ€ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ. RISC-V ํ˜ธ์ถœ ์™„ํ™”, HI20 ์™„ํ™”, R_RISCV_ALIGN ์ถ”๊ฐ€, ์ถฉ๋Œํ•˜๋Š” ISA ํ™•์žฅ ๊ฒ€์‚ฌ, ์ถ”๊ฐ€ AArch64 ์žฌ๋ฐฐ์น˜, AArch64์šฉ ๋ฒ”์œ„ ํ™•์žฅ ์ฝํฌ, ์™„ํ™”๋ฅผ ํ†ตํ•œ ์—ฌ๋Ÿฌ x86-64 ์žฌ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ, LoongArch64์— ๋Œ€ํ•œ ๋ฒ”์œ„ ๋ฐ ์ •๋ ฌ ๋ช…ํ™•ํ™” ๋“ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ƒˆ๋กœ์šด ํ˜ธํ™˜์„ฑ ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. --dependency-file, --auxiliary, --exclude-libs, --enable-new-dtags, --disable-new-dtags, --trace, --nmagic, --compress-debug-sections, --pack-dynamic-relocs=relr, --use-android-relr-tags ๋ฐ ๊ณต๋ฐฑ์ด ์—†๋Š” ํ˜•์‹์ธ -o/path์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ •์ง€ ์ƒํƒœ์—์„œ ์›€์ง์ด๋Š” ๊ฐ์ฒด์˜ ์ƒ์„ฑ. ์ •์  ์žฌ๋ฐฐ์น˜ ๊ฐ€๋Šฅ ํŒŒ์ผ(์ถ”๊ฐ€ ๋งํฌ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ์ค‘๊ฐ„ ๊ฐ์ฒด ํŒŒ์ผ) ์ƒ์„ฑ์„ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋น ๋ฅธ ๋ฆด๋ฆฌ์Šค์— ์ดˆ์ ์„ ๋งž์ถ”์ง€ ์•Š๊ณ  ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €์ž๋“ค์€ 0.9 ๋ฒ„์ „์—์„œ ์ฃผ์š” ์„ฑ๋Šฅ ๊ฐœ์„  ์‚ฌํ•ญ์€ ํฌํ•จ๋˜์ง€ ์•Š์•˜์ง€๋งŒ ์„ฑ๋Šฅ ์ €ํ•˜๋„ ์—†์—ˆ๋‹ค๊ณ  ๋ช…์‹œ์ ์œผ๋กœ ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ์ตœ์ ํ™”์—๋Š” ๋ฒ„์ „ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋น„์ „์—ญ ๋งค์ฒ˜์— ๋Œ€ํ•œ ๋น ๋ฅธ ๊ฒฝ๋กœ, ์›์ž ์—ฐ์‚ฐ ํšŸ์ˆ˜ ๊ฐ์†Œ, ์™„ํ™” ์Šค์บ” ์ค‘ ์„น์…˜ ๋ฐ ์‹ฌ๋ณผ ์ฃผ์†Œ์˜ ๋ณ‘๋ ฌ ๊ณ„์‚ฐ, ์ด๋ฏธ ํ•ด๊ฒฐ๋œ ์„น์…˜์˜ ์žฌ์ฒ˜๋ฆฌ ๊ฐ์†Œ ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  • ๋‹ค์–‘ํ•œ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ฝํ•œ ๋ฏธ์ •์˜ ์‹ฌ๋ณผ, .ctors/.dtors, RELRO, ๋ฒ„์ „ ์Šคํฌ๋ฆฝํŠธ, SFrame, IFUNC, --version/-v, ๋ฏธ์ •์˜ ์‹ฌ๋ณผ ์˜ค๋ฅ˜, ๊ฒฝ๊ณ , ๋””๋ฒ„๊ทธ ์žฌ๋ฐฐ์น˜, .eh_frame, SHT_SYMTAB_SHNDX, ๋™์  ๊ฐ์ฒด์˜ ์ •์  ๋งํฌ ๋ฐ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ ๊ด€๋ จ ์—ฌ๋Ÿฌ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฌธ์„œ ๊ด€๋ฆฌ ๋ฐ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ. ํ–‰๋™ ๊ฐ•๋ น, LLM ์‚ฌ์šฉ ์ •์ฑ…, ๊ด€๋ฆฌ ๋ฌธ์„œ, ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ ์ง€์› ๋งคํŠธ๋ฆญ์Šค, GCC 16.1์—์„œ -fuse-ld=wild ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ฐ Brew๋ฅผ ํ†ตํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์นจ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ €์žฅ์†Œ๊ฐ€ wild-linker๋ผ๋Š” ๋ณ„๋„์˜ GitHub ์กฐ์ง์œผ๋กœ ์ด์ „๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ˆœ๊ฐ„์—์„œ, ์•ผ์ƒ ๊ณต์‹์ ์œผ๋กœ ์ฃผ๋กœ ์ดˆ์ ์„ ๋งž์ถ˜ Linux ๊ทธ๋ฆฌ๊ณ  ELF. ํ”„๋กœ์ ํŠธ์˜ README ํŒŒ์ผ์—๋Š” ์ง€์› ๋‚ด์šฉ์ด ๋ช…์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. x86-64, ARM64, RISC-V riscv64gc ๊ทธ๋ฆฌ๊ณ  ์ดˆ๊ธฐ ์ง€์› ๋กฑ์•„์น˜64 ์— Linux์ •์  ๋ฐ”์ด๋„ˆ๋ฆฌ, ์ •์  PIE, ๋™์  ๋งํฌ ์‹คํ–‰ ํŒŒ์ผ ๋ฐ .so ํŒŒ์ผ์„ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋””๋ฒ„๊ทธ ์ •๋ณด, GNU ์ž‘์—… ์„œ๋ฒ„ ๋ฐ ์ผ๋ถ€ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ฆ๋ถ„ ๋งํฌ, ๋” ๋ณต์žกํ•œ ๋ง์ปค ์Šคํฌ๋ฆฝํŠธ, Mach-O ๋“ฑ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Windows ํ˜„์žฌ ๋ฏธ์‹คํ˜„ ๋˜๋Š” ๋ฏธ์™„์„ฑ ๊ธฐํšŒ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.

์‹ค์งˆ์ ์œผ๋กœ Wild 0.9๋Š” ๊ธฐ์กด ๋นŒ๋“œ ์ƒํƒœ๊ณ„์™€์˜ ํ˜ธํ™˜์„ฑ์„ ํ™•์žฅํ•˜๊ณ , ELF ํ˜•์‹์„ ๋„˜์–ด ๋‹ค์–‘ํ•œ ํ˜•์‹์„ ์ง€์›ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ, ๋Œ€๊ทœ๋ชจ C/C++ ๋ฐ ํ˜ผํ•ฉ ํ”„๋กœ์ ํŠธ์—์„œ ๋ง์ปค ์‚ฌ์šฉ์— ์–ด๋ ค์›€์„ ์ฃผ๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. Rust ๊ฐœ๋ฐœ์ž์—๊ฒŒ Wild๋Š” ํ–ฅํ›„ ์ฆ๋ถ„ ๋งํฌ์˜ ์ž ์žฌ์  ๊ธฐ๋ฐ˜์œผ๋กœ์„œ ์—ฌ์ „ํžˆ ํฅ๋ฏธ๋กœ์šด ๋„๊ตฌ์ด๋ฉฐ, ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” GNU ld, LLD, Mold์™€ ๊ฒฝ์Ÿํ•  ์ˆ˜ ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : linux.org.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster