From 1cfa5d673c0d3bd4a2c5ab1193c8ff98d0c6ecc6 Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Mon, 5 Aug 2024 19:50:47 -0700 Subject: [PATCH 1/3] Remove tier 3 targets from CI These targets seem to regularly break unrelated PRs, and in general we shouldn't gate PRs on tier 3 targets (per the target tier policy). (backport ) (cherry picked from commit be1c8e590cd2110c38da647b902028c63d85a0d2) --- .github/workflows/full_ci.yml | 41 ----------------------------------- 1 file changed, 41 deletions(-) diff --git a/.github/workflows/full_ci.yml b/.github/workflows/full_ci.yml index 0ab0b2666c1f8..6a4fbc7f4d332 100644 --- a/.github/workflows/full_ci.yml +++ b/.github/workflows/full_ci.yml @@ -140,45 +140,6 @@ jobs: - name: Execute run-docker.sh run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }} - # These targets are tier 3 or otherwise need to have CI build std via -Zbuild-std. - # Because of this, only the nightly compiler can be used on these targets. - docker_linux_build_std: - permissions: - contents: read # to fetch code (actions/checkout) - - if: ${{ false }} # This is currently broken - name: Docker Linux Build-Std Targets - needs: [docker_linux_tier1, style_check] - runs-on: ubuntu-22.04 - strategy: - fail-fast: true - max-parallel: 12 - matrix: - target: [ - armv7-unknown-linux-uclibceabihf - ] - steps: - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: TOOLCHAIN=nightly INSTALL_RUST_SRC=1 sh ./ci/install-rust.sh - - name: Execute run-docker.sh - run: LIBC_CI=1 TOOLCHAIN=nightly LIBC_CI_ZBUILD_STD=1 sh ./ci/run-docker.sh ${{ matrix.target }} - - # devkitpro's pacman needs to be connected from Docker. - docker_switch: - permissions: - contents: read # to fetch code (actions/checkout) - - name: Docker Switch - needs: [docker_linux_tier1, style_check] - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - name: Setup Rust toolchain - run: sh ./ci/install-rust.sh - - name: Execute run-docker.sh - run: LIBC_CI=1 sh ./ci/run-docker.sh switch - build_channels_linux: permissions: contents: read # to fetch code (actions/checkout) @@ -283,11 +244,9 @@ jobs: needs: [ docker_linux_tier1, docker_linux_tier2, - #docker_linux_build_std, macos, windows, style_check, - docker_switch, build_channels_linux, build_channels_macos, build_channels_windows, From a915899631514ec9514c2a47d37be225aed8eeba Mon Sep 17 00:00:00 2001 From: David Carlier Date: Thu, 8 Aug 2024 20:05:04 +0100 Subject: [PATCH 2/3] Fix FreeBSD 15 CI (backport ) (cherry picked from commit 147222de98f246ac328e80399de0847fba2018e7) --- libc-test/build.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libc-test/build.rs b/libc-test/build.rs index 2074d71d10f64..0746d3d607007 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -2311,6 +2311,12 @@ fn test_freebsd(target: &str) { // should've been used anywhere anyway. "TDF_UNUSED23" => true, + // Removed in FreeBSD 15 + "TDF_CANSWAP" | "TDF_SWAPINREQ" => true, + + // Unaccessible in FreeBSD 15 + "TDI_SWAPPED" | "P_SWAPPINGOUT" | "P_SWAPPINGIN" => true, + // Removed in FreeBSD 14 (git a6b55ee6be1) "IFF_KNOWSEPOCH" => true, From c919faf065675988a1baaf22b71639c1796feaa2 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Mon, 12 Aug 2024 03:54:24 -0500 Subject: [PATCH 3/3] Disable hexagon-unknown-linux-musl testing for now `compiler-builtins` seems to be providing duplicate symbols on Hexagon. This may be because some symbols have always been defined in assembly, but are now also provided by the weak math symbols. The fix for this is probably to not provide any math symbols on Hexagon that would duplicate the assembly version. However, to avoid going through another nightly release cycle, disable it temporarially instead. Link: https://github.com/rust-lang/libc/pull/3797#issuecomment-2283389129 (backport ) (cherry picked from commit 77e9d0657386a38ad6fbffac34b354a4a0646c5e) --- Cargo.toml | 3 ++- ci/build.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 062f76472fa9c..0da99d4ba1c32 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,7 +46,8 @@ targets = [ "armv7-wrs-vxworks-eabihf", "armv7r-none-eabi", "armv7r-none-eabihf", - "hexagon-unknown-linux-musl", + # FIXME(hexagon): excluded due to duplicate symbol errors + # "hexagon-unknown-linux-musl", "i586-pc-windows-msvc", "i586-unknown-linux-gnu", "i586-unknown-linux-musl", diff --git a/ci/build.sh b/ci/build.sh index 5cad0792fa4c1..d90872f4e8c84 100644 --- a/ci/build.sh +++ b/ci/build.sh @@ -212,6 +212,8 @@ for TARGET in $TARGETS; do done # Targets which are not available via rustup and must be built with -Zbuild-std +# FIXME(hexagon): hexagon-unknown-linux-musl should be tested but currently has +# duplicate symbol errors from `compiler_builtins`. RUST_LINUX_NO_CORE_TARGETS="\ aarch64-pc-windows-msvc \ aarch64-unknown-freebsd \ @@ -224,7 +226,6 @@ armebv7r-none-eabihf \ armv7-wrs-vxworks-eabihf \ armv7r-none-eabi \ armv7r-none-eabihf \ -hexagon-unknown-linux-musl \ i586-pc-windows-msvc \ i686-pc-windows-msvc \ i686-unknown-haiku \