Linux 커널 Clang/LLVM 빌드 호환성 타임라인
Linux 커널은 오랫동안 GCC 중심으로 개발되어 왔다.하지만 최근 몇 년 사이 Clang / LLVM 기반 빌드가 빠르게 안정화되었다. 이 글은 커널에서 Clang 빌드가 어떻게 발전해왔는지를 실제 메인라인 흐름 기준으로 정리한…
Linux 커널은 오랫동안 GCC 중심으로 개발되어 왔다.하지만 최근 몇 년 사이 Clang / LLVM 기반 빌드가 빠르게 안정화되었다. 이 글은 커널에서 Clang 빌드가 어떻게 발전해왔는지를 실제 메인라인 흐름 기준으로 정리한…
ARM64(AArch64)에서 inline asm은 “문법이 어렵다”보다 컴파일러가 더 엄격하고 최적화가 더 공격적이라서 사고가 난다.특히 벤더 커널을 Clang으로 옮길 때는 constraint 선택 + clobber + barrier 3개가 대부분의 원인이다. 이 글에서는 ARM64에서…
이 글에서는 Linux 커널 기준으로 자주 사용하는 inline asm constraint를 정리한다. GCC + Clang 공통 기준으로, 특히 Clang에서 주의해야 할 포인트를 포함한다. 1. 기본 구조 asm volatile ( "asm template"…
Linux 커널은 전통적으로 GCC로 빌드되어 왔다. 하지만 최근 몇 년간 Clang / LLVM 기반 빌드가 빠르게 확산되었다. 현재는 둘 다 “정식 지원” 상태이며, 차이는 “지원 여부”가 아니라 특성의 차이에 가깝다.…
이 글은 Ubuntu 환경에서 Clang / LLVM 툴체인을 이용해 Linux 커널을 실제로 빌드하는 방법을 단계별로 정리한다. Clang/LLVM 툴체인 설치는 아래 글을 먼저 확인한다. https://amazing-borg.64-176-231-28.plesk.page/linux-%ec%bb%a4%eb%84%90-clang-llvm-%ed%88%b4%ec%b2%b4%ec%9d%b8-%ec%a4%80%eb%b9%84%ed%95%98%ea%b8%b0/ Ubuntu 커널 빌드에 대한건 아래 글을…
이 글은 리눅스 커널을 Clang/LLVM 툴체인으로 빌드하기 위한 실전 가이드다.LLVM=1 기반의 표준 빌드 플로우, 크로스 컴파일(arm64 포함), LLD/IAS, BTF(pahole), LTO까지 한 번에 정리한다. 커널에서 말하는 “LLVM 빌드”의 의미 커널 문서에서…
Clang/LLVM은 컴파일러 도구 체인을 구성하는 기술 묶음이다. LLVM: 컴파일러를 만들기 위한 공통 기반 인프라 Clang: LLVM 위에서 동작하는 C / C++ / Objective-C 컴파일러 프론트엔드 LLVM ? LLVM은 원래 Low…
Ubuntu에서 해상도 변경하려고 할 때 2560x1440 해상도가 없는 경우가 있다. 이 글에서는 Ubuntu에서 2560x1440 해상도를 수동으로 추가하는 방법을 간단하게 정리한다. (예: HDMI-1 출력 기준) 1. 현재 연결된 디스플레이 확인 xrandr…
현재 Ubuntu 26.04 LTS는 2026년 4월 Snapshot1은 개발 단계 이미지다. 실사용 PC, 운영 환경 설치는 권장하지 않는다. 4월에 정식 버전이 릴리즈되면 설치하도록 하고, 이 글에서는 가상머신에서 테스트용 설치를 전체로 설치하는…
Ubuntu 26.04 LTS 는 캐노니컬(Canonical)이 제공하는 차기 장기 지원(Long Term Support) 버전이다. Ubuntu 26.04 LTS의 정식 코드네임은 “Resolute Raccoon”이다. Resolute: 단호한, 흔들리지 않는 Raccoon: 환경 적응력이 뛰어난 동물 LTS 릴리스답게…