Documentation/rust/arch-support.rst GitHub 원문 ↗

Linux 6.18.37 · Rust

Rust 아키텍처 지원

Rust 커널 빌드가 지원하는 아키텍처와 LLVM/Clang, endian 및 word-size 제약을 정리합니다.

Source pathDocumentation/rust/arch-support.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약·해설

arch-support.rst:1-25

Rust 커널 빌드가 지원하는 아키텍처와 LLVM/Clang, endian 및 word-size 제약을 정리합니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 Arch Support
4 ============
5
6 Currently, the Rust compiler (``rustc``) uses LLVM for code generation,
7 which limits the supported architectures that can be targeted. In addition,
8 support for building the kernel with LLVM/Clang varies (please see
9 Documentation/kbuild/llvm.rst). This support is needed for ``bindgen``
10 which uses ``libclang``.
11
12 Below is a general summary of architectures that currently work. Level of
13 support corresponds to ``S`` values in the ``MAINTAINERS`` file.
14
15 ============= ================ ==============================================
16 Architecture Level of support Constraints
17 ============= ================ ==============================================
18 ``arm`` Maintained ARMv7 Little Endian only.
19 ``arm64`` Maintained Little Endian only.
20 ``loongarch`` Maintained \-
21 ``riscv`` Maintained ``riscv64`` and LLVM/Clang only.
22 ``um`` Maintained \-
23 ``x86`` Maintained ``x86_64`` only.
24 ============= ================ ==============================================
25
26

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

지원 조건과 아키텍처 표

1-25

현재 Rust 컴파일러 `rustc`는 코드 생성에 LLVM을 사용하므로 대상으로 삼을 수 있는 아키텍처가 LLVM의 지원 범위에 제한된다. 또한 커널 자체의 LLVM/Clang 빌드 지원 수준도 아키텍처마다 다르다. C 선언을 Rust 선언으로 만드는 `bindgen`이 `libclang`을 사용하기 때문에 이 LLVM/Clang 지원은 Rust 커널 빌드에도 필요하다. 자세한 빌드 조건은 `Documentation/kbuild/llvm.rst`를 함께 확인한다.

아래 지원 수준은 `MAINTAINERS` 파일의 `S` 값에 대응하는 일반 요약이다. `arm`은 ARMv7 little-endian만, `arm64`는 little-endian만, `riscv`는 `riscv64`와 LLVM/Clang 조합만, `x86`은 `x86_64`만 지원한다. `loongarch`와 `um`에는 이 표에서 별도의 추가 제약을 두지 않으며, 여섯 항목 모두 Maintained 수준이다.

Rust 지원 아키텍처
아키텍처지원 수준제약
armMaintainedARMv7 little-endian만
arm64Maintainedlittle-endian만
loongarchMaintained추가 제약 없음
riscvMaintainedriscv64 및 LLVM/Clang만
umMaintained추가 제약 없음
x86Maintainedx86_64만

rustc, LLVM/Clang과 bindgen 조건을 만족하는 현재 유지보수 대상입니다.

.. SPDX-License-Identifier: GPL-2.0

Arch Support
============

Currently, the Rust compiler (``rustc``) uses LLVM for code generation,
which limits the supported architectures that can be targeted. In addition,
support for building the kernel with LLVM/Clang varies (please see
Documentation/kbuild/llvm.rst). This support is needed for ``bindgen``
which uses ``libclang``.

Below is a general summary of architectures that currently work. Level of
support corresponds to ``S`` values in the ``MAINTAINERS`` file.

=============  ================  ==============================================
Architecture   Level of support  Constraints
=============  ================  ==============================================
``arm``        Maintained        ARMv7 Little Endian only.
``arm64``      Maintained        Little Endian only.
``loongarch``  Maintained        \-
``riscv``      Maintained        ``riscv64`` and LLVM/Clang only.
``um``         Maintained        \-
``x86``        Maintained        ``x86_64`` only.
=============  ================  ==============================================