← Documents 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 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

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. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 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.
=============  ================  ==============================================