Linux x32 ABI 제거를 시작하는 패치 업데이트
요약
Linux 커널 개발자들이 x32 ABI 폐기를 공식화했습니다. 이 패치 업데이트는 x32를 'BROKEN' Kconfig 옵션으로 차단하며, 이는 2026년 말까지 점진적으로 제거되는 과정을 시작합니다. x32가 실질적인 사용 사례와 성능상의 이점을 입증하지 못했기 때문입니다.
핵심 포인트
- Linux 커널이 x32 ABI 폐기를 공식화했습니다.
- x32는 32비트 포인터를 유지하며 x86_64의 추가 레지스터를 활용하려 했으나 성공하지 못했습니다.
- 패치 업데이트는 x32를 'BROKEN'으로 표시하여 기본 활성화를 막습니다.
- 이 기능은 점진적으로 제거되어 궁극적으로 완전히 사라질 예정입니다.
i386 ABI와 혼동해서는 안 되며, Linux x32 ABI는 Intel/AMD CPU에서 32비트 정수(integer), long, 포인터를 사용하는 작은 채택 모델이지만, 더 큰 세트의 CPU 레지스터 및 x86_64의 다른 이점을 활용합니다. Linux x32가 너무 늦게 등장하여 업계의 많은 관심이나 채택을 보지 못했습니다. Linux x86_64가 순조롭게 진행됨에 따라, Linux 커널 개발자들은 x32 ABI를 폐기하고 있습니다.
Sebastian Andrzej Siewior는 올해부터 x32 ABI 폐기를 제안하는 노력을 주도해 왔습니다. 2026년 말 종료와 이번 연도의 LTS(Long Term Support) 커널 버전인 Linux 7.3 또는 7.4를 앞두고, x32 폐기 주제가 리눅스 커널 메일링 리스트에서 다시 불붙었습니다.
Linutronix 엔지니어는 오늘 x32 ABI 제거를 시작하기 위한 새로운 패치 세트를 배포했습니다. Sebastian은 해당 패치에서 x32를 처음에 "BROKEN" Kconfig 옵션 뒤에 차단해야 한다고 주장했습니다:
"x32 ABI는 v3.4에 도입되었으며, 32비트 포인터를 유지하면서 i386에서는 사용할 수 없었지만 x86_64에서 사용 가능한 추가 레지스터를 활용하기 위함이었습니다.
이는 성공하지 못했습니다. 메모리 사용량은 보통 제한을 모르며, 더 나은 성능이 특정 워크로드가 광범위하게 x32로 이동하여 이를 독점적으로 사용해야 할 지점에 도달하지 않았습니다. 그동안 Debian은 증가된 공격 표면(attack surface)을 우려하여 기본적으로 x32를 비활성화하는 패치를 도입했습니다 (따라서 부팅 시 커맨드 라인에서 활성화해야 합니다). 제가 알기로 Fedora는 X32가 비활성화되어 있습니다 (rawhide의 7.0-rc5 rpm을 보면 확인할 수 있습니다).
x32가 사용하는 syscall 범위 >512는 재사용될 수 없습니다. 왜냐하면 이전 커널(x32 활성화 전 v5.4, 커밋 6365b842aae4 (
x32는 실질적인 사용 사례가 거의 없으므로, 기본적으로 활성화하는 것이 불가능하도록 심볼을 BROKEN으로 표시하면서 제거를 시작할 것입니다. 이 기능은 올해 마지막 LTS 커널 버전까지 남아 있다가 이후에 완전히 제거될 예정입니다.
Linux 2026 LTS 커널 버전 선언에 따라 패치들이 초기에는 x32를 "BROKEN"으로 표시하며 적용되기 시작하고, 궁극적으로는 제거되는 과정을 거칠지 지켜볼 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기