LLVM ํˆดํ‚ท์„ ์‚ฌ์šฉํ•˜์—ฌ Glibc๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

Collabora์˜ ์—”์ง€๋‹ˆ์–ด๋“ค์€ GCC ๋Œ€์‹  LLVM ํˆดํ‚ท(Clang, LLD, ์ปดํŒŒ์ผ๋Ÿฌ-rt)์„ ์‚ฌ์šฉํ•˜์—ฌ GNU C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(glibc) ์‹œ์Šคํ…œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ๋ณด์žฅํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๊ตฌํ˜„์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ๊นŒ์ง€ Glibc๋Š” GCC๋งŒ์„ ์‚ฌ์šฉํ•œ ๋นŒ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฐฐํฌํŒ์˜ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋กœ ๋‚จ์•„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

LLVM์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ด์…ˆ๋ธ”๋ฆฌ์— Glibc๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์€ ํŠน์ • ๊ตฌ์„ฑ(์˜ˆ: $ ๊ธฐํ˜ธ๊ฐ€ ์žˆ๋Š” ํ‘œํ˜„์‹, ์ค‘์ฒฉ ํ•จ์ˆ˜, asm ๋ธ”๋ก์˜ ๋ ˆ์ด๋ธ”, long double ๋ฐ float128 ์œ ํ˜•)์„ ์ฒ˜๋ฆฌํ•  ๋•Œ GCC์™€ Clang์˜ ๋™์ž‘ ์ฐจ์ด๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ-rt์—์„œ ๋Ÿฐํƒ€์ž„์„ libgcc๋กœ ๊ต์ฒดํ•ด์•ผ ํ•  ํ•„์š”์„ฑ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

LLVM์„ ์‚ฌ์šฉํ•œ Glibc ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด Gentoo ํ™˜๊ฒฝ์—๋Š” ์•ฝ 150๊ฐœ, ChromiumOS ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์—๋Š” ์•ฝ 160๊ฐœ์˜ ํŒจ์น˜๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ํ˜•์‹์—์„œ ChromiumOS์˜ ๋นŒ๋“œ๋Š” ์ด๋ฏธ ํ…Œ์ŠคํŠธ ์ œํ’ˆ๊ตฐ์„ ์„ฑ๊ณต์ ์œผ๋กœ ํ†ต๊ณผํ–ˆ์ง€๋งŒ ์•„์ง ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋Š” ์ค€๋น„๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ Glibc ๋ฐ LLVM์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋กœ ์ „์†กํ•˜๊ณ , ๋‚˜ํƒ€๋‚˜๋Š” ๋น„์ •ํ˜• ๋ฌธ์ œ๋ฅผ ๊ณ„์† ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ผ๋ถ€ ํŒจ์น˜๋Š” ์ด๋ฏธ Glibc 2.37 ๋ธŒ๋žœ์น˜์— ์ ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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