mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 23:04:33 +00:00
Auto merge of #110519 - loongarch-rs:ci, r=Mark-Simulacrum
ci: Add support for dist-loongarch64-linux We are preparing to promote loongarch64-unknown-linux-gnu to Tier 2, and one of the tasks is to add CI support. We are currently in the process of upgrading the dependencies for the build tools, and before this is completed, we would like to request comments. Thanks #### Progress - [x] Update linux-raw-sys to 0.3.2 (rust-lang/cargo#11998) - [x] Update openssl-src to 111.25.3+1.1.1t (rust-lang/cargo#12005) - [x] bootstrap: Update linux-raw-sys to 0.3.2 (rust-lang/rust#110516) - [x] Update linux-raw-sys to 0.3.4 (rust-lang/rust#110518) - [x] Update cargo (rust-lang/rust#110834) - [x] linux_like: Add missing constants for loongarch64 (rust-lang/libc#3237) - [x] Release 0.2.143 (rust-lang/libc#3236) - [x] Update libc to 0.2.144 (rust-lang/cargo#12098) - [x] Update cargo (rust-lang/rust#111456) Tier 2 with host tools MCP: https://github.com/rust-lang/compiler-team/issues/518
This commit is contained in:
commit
cda5becc27
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
@ -201,6 +201,9 @@ jobs:
|
||||
- name: dist-i686-linux
|
||||
os: ubuntu-20.04-8core-32gb
|
||||
env: {}
|
||||
- name: dist-loongarch64-linux
|
||||
os: ubuntu-20.04-8core-32gb
|
||||
env: {}
|
||||
- name: dist-mips-linux
|
||||
os: ubuntu-20.04-8core-32gb
|
||||
env: {}
|
||||
|
@ -257,6 +257,22 @@ For targets: `i586-unknown-linux-gnu`
|
||||
(\*) Compressed debug is enabled by default for gas (assembly) on Linux/x86 targets,
|
||||
but that makes our `compiler_builtins` incompatible with binutils < 2.32.
|
||||
|
||||
### `loongarch64-linux-gnu.defconfig`
|
||||
|
||||
For targets: `loongarch64-unknown-linux-gnu`
|
||||
|
||||
- Path and misc options > Prefix directory = /x-tools/${CT\_TARGET}
|
||||
- Path and misc options > Use a mirror = ENABLE
|
||||
- Path and misc options > Base URL = https://ci-mirrors.rust-lang.org/rustc
|
||||
- Target options > Target Architecture = loongarch
|
||||
- Target options > Bitness = 64-bit
|
||||
- Operating System > Target OS = linux
|
||||
- Operating System > Linux kernel version = 5.19.16
|
||||
- Binary utilities > Version of binutils = 2.40
|
||||
- C-library > glibc version = 2.36
|
||||
- C compiler > gcc version = 12.2.0
|
||||
- C compiler > C++ = ENABLE -- to cross compile LLVM
|
||||
|
||||
### `mips-linux-gnu.defconfig`
|
||||
|
||||
For targets: `mips-unknown-linux-gnu`
|
||||
|
30
src/ci/docker/host-x86_64/dist-loongarch64-linux/Dockerfile
Normal file
30
src/ci/docker/host-x86_64/dist-loongarch64-linux/Dockerfile
Normal file
@ -0,0 +1,30 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
COPY scripts/cross-apt-packages.sh /scripts/
|
||||
RUN sh /scripts/cross-apt-packages.sh
|
||||
|
||||
# The latest released version does not support LoongArch.
|
||||
COPY scripts/crosstool-ng-git.sh /scripts/
|
||||
RUN sh /scripts/crosstool-ng-git.sh
|
||||
|
||||
COPY scripts/rustbuild-setup.sh /scripts/
|
||||
RUN sh /scripts/rustbuild-setup.sh
|
||||
WORKDIR /tmp
|
||||
|
||||
COPY scripts/crosstool-ng-build.sh /scripts/
|
||||
COPY host-x86_64/dist-loongarch64-linux/loongarch64-unknown-linux-gnu.defconfig /tmp/crosstool.defconfig
|
||||
RUN /scripts/crosstool-ng-build.sh
|
||||
|
||||
COPY scripts/sccache.sh /scripts/
|
||||
RUN sh /scripts/sccache.sh
|
||||
|
||||
ENV PATH=$PATH:/x-tools/loongarch64-unknown-linux-gnu/bin
|
||||
|
||||
ENV CC_loongarch64_unknown_linux_gnu=loongarch64-unknown-linux-gnu-gcc \
|
||||
AR_loongarch64_unknown_linux_gnu=loongarch64-unknown-linux-gnu-ar \
|
||||
CXX_loongarch64_unknown_linux_gnu=loongarch64-unknown-linux-gnu-g++
|
||||
|
||||
ENV HOSTS=loongarch64-unknown-linux-gnu
|
||||
|
||||
ENV RUST_CONFIGURE_ARGS --enable-extended --disable-docs
|
||||
ENV SCRIPT python3 ../x.py dist --host $HOSTS --target $HOSTS
|
@ -0,0 +1,14 @@
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_EXPERIMENTAL=y
|
||||
CT_PREFIX_DIR="/x-tools/${CT_TARGET}"
|
||||
CT_USE_MIRROR=y
|
||||
CT_MIRROR_BASE_URL="https://ci-mirrors.rust-lang.org/rustc"
|
||||
CT_ARCH_LOONGARCH=y
|
||||
# CT_DEMULTILIB is not set
|
||||
CT_ARCH_USE_MMU=y
|
||||
CT_ARCH_ARCH="loongarch64"
|
||||
CT_KERNEL_LINUX=y
|
||||
CT_LINUX_V_5_19=y
|
||||
CT_GLIBC_V_2_36=y
|
||||
CT_CC_GCC_ENABLE_DEFAULT_PIE=y
|
||||
CT_CC_LANG_CXX=y
|
@ -22,6 +22,7 @@ apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install
|
||||
patch \
|
||||
pkg-config \
|
||||
python3 \
|
||||
rsync \
|
||||
sudo \
|
||||
texinfo \
|
||||
unzip \
|
||||
|
17
src/ci/docker/scripts/crosstool-ng-git.sh
Normal file
17
src/ci/docker/scripts/crosstool-ng-git.sh
Normal file
@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
set -ex
|
||||
|
||||
URL=https://github.com/crosstool-ng/crosstool-ng
|
||||
REV=943364711a650d9b9e84c1b42c91cc0265b6ab5c
|
||||
|
||||
mkdir crosstool-ng
|
||||
cd crosstool-ng
|
||||
git init
|
||||
git fetch --depth=1 ${URL} ${REV}
|
||||
git reset --hard FETCH_HEAD
|
||||
./bootstrap
|
||||
./configure --prefix=/usr/local
|
||||
make -j$(nproc)
|
||||
make install
|
||||
cd ..
|
||||
rm -rf crosstool-ng
|
@ -359,6 +359,9 @@ jobs:
|
||||
- name: dist-i686-linux
|
||||
<<: *job-linux-8c
|
||||
|
||||
- name: dist-loongarch64-linux
|
||||
<<: *job-linux-8c
|
||||
|
||||
- name: dist-mips-linux
|
||||
<<: *job-linux-8c
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user