summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_codegen_gcc/.github/workflows
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
commitef24de24a82fe681581cc130f342363c47c0969a (patch)
tree0d494f7e1a38b95c92426f58fe6eaa877303a86c /compiler/rustc_codegen_gcc/.github/workflows
parentReleasing progress-linux version 1.74.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-ef24de24a82fe681581cc130f342363c47c0969a.tar.xz
rustc-ef24de24a82fe681581cc130f342363c47c0969a.zip
Merging upstream version 1.75.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'compiler/rustc_codegen_gcc/.github/workflows')
-rw-r--r--compiler/rustc_codegen_gcc/.github/workflows/ci.yml48
-rw-r--r--compiler/rustc_codegen_gcc/.github/workflows/failures.yml129
-rw-r--r--compiler/rustc_codegen_gcc/.github/workflows/gcc12.yml115
-rw-r--r--compiler/rustc_codegen_gcc/.github/workflows/m68k.yml139
-rw-r--r--compiler/rustc_codegen_gcc/.github/workflows/release.yml34
-rw-r--r--compiler/rustc_codegen_gcc/.github/workflows/stdarch.yml32
6 files changed, 421 insertions, 76 deletions
diff --git a/compiler/rustc_codegen_gcc/.github/workflows/ci.yml b/compiler/rustc_codegen_gcc/.github/workflows/ci.yml
index d2b7724a2..65e7a697a 100644
--- a/compiler/rustc_codegen_gcc/.github/workflows/ci.yml
+++ b/compiler/rustc_codegen_gcc/.github/workflows/ci.yml
@@ -19,9 +19,8 @@ jobs:
fail-fast: false
matrix:
libgccjit_version:
- - { gcc: "libgccjit.so", extra: "", env_extra: "", artifacts_branch: "master" }
- - { gcc: "libgccjit_without_int128.so", extra: "", env_extra: "", artifacts_branch: "master-without-128bit-integers" }
- - { gcc: "libgccjit12.so", extra: "--no-default-features", env_extra: "TEST_FLAGS='-Cpanic=abort -Zpanic-abort-tests'", artifacts_branch: "gcc12" }
+ - { gcc: "libgccjit.so", artifacts_branch: "master" }
+ - { gcc: "libgccjit_without_int128.so", artifacts_branch: "master-without-128bit-integers" }
commands: [
"--mini-tests",
"--std-tests",
@@ -33,47 +32,30 @@ jobs:
"--extended-regex-tests",
"--test-successful-rustc --nb-parts 2 --current-part 0",
"--test-successful-rustc --nb-parts 2 --current-part 1",
- "--test-failing-rustc",
]
steps:
- uses: actions/checkout@v3
- - uses: actions/checkout@v3
- with:
- repository: llvm/llvm-project
- path: llvm
-
- name: Install packages
# `llvm-14-tools` is needed to install the `FileCheck` binary which is used for asm tests.
run: sudo apt-get install ninja-build ripgrep llvm-14-tools
- - name: Install libgccjit12
- if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
- run: sudo apt-get install libgccjit-12-dev
-
- name: Download artifact
- if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
uses: dawidd6/action-download-artifact@v2
with:
workflow: main.yml
- name: ${{ matrix.libgccjit_version.gcc }}
- path: gcc-build
+ name: gcc-13
+ path: gcc-13
repo: antoyo/gcc
branch: ${{ matrix.libgccjit_version.artifacts_branch }}
event: push
search_artifacts: true # Because, instead, the action only check the last job ran and that won't work since we want multiple artifacts.
- name: Setup path to libgccjit
- if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
- run: echo /usr/lib/gcc/x86_64-linux-gnu/12 > gcc_path
-
- - name: Setup path to libgccjit
- if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
run: |
- echo $(readlink -f gcc-build) > gcc_path
- # NOTE: the filename is still libgccjit.so even when the artifact name is different.
- ln gcc-build/libgccjit.so gcc-build/libgccjit.so.0
+ sudo dpkg --force-overwrite -i gcc-13/gcc-13.deb
+ echo /usr/lib/ > gcc_path
- name: Set env
run: |
@@ -81,9 +63,6 @@ jobs:
echo "LD_LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV
- - name: Set RUST_COMPILER_RT_ROOT
- run: echo "RUST_COMPILER_RT_ROOT="${{ env.workspace }}/llvm/compiler-rt >> $GITHUB_ENV
-
- name: Cache cargo installed crates
uses: actions/cache@v3
with:
@@ -119,16 +98,16 @@ jobs:
- name: Build
run: |
- ./prepare_build.sh
- ${{ matrix.libgccjit_version.env_extra }} ./build.sh ${{ matrix.libgccjit_version.extra }}
- ${{ matrix.libgccjit_version.env_extra }} cargo test ${{ matrix.libgccjit_version.extra }}
+ ./y.sh prepare --only-libcore
+ ./y.sh build
+ cargo test
./clean_all.sh
- name: Prepare dependencies
run: |
git config --global user.email "user@example.com"
git config --global user.name "User"
- ./prepare.sh
+ ./y.sh prepare
# Compile is a separate step, as the actions-rs/cargo action supports error annotations
- name: Compile
@@ -137,13 +116,12 @@ jobs:
command: build
args: --release
- - name: Add more failing tests for GCC 12
- if: ${{ matrix.libgccjit_version.gcc == 'libgccjit12.so' }}
- run: cat failing-ui-tests12.txt >> failing-ui-tests.txt
+ - name: Add more failing tests because the sysroot is not compiled with LTO
+ run: cat failing-non-lto-tests.txt >> failing-ui-tests.txt
- name: Run tests
run: |
- ${{ matrix.libgccjit_version.env_extra }} ./test.sh --release --clean --build-sysroot ${{ matrix.commands }} ${{ matrix.libgccjit_version.extra }}
+ ./test.sh --release --clean --build-sysroot ${{ matrix.commands }}
duplicates:
runs-on: ubuntu-latest
diff --git a/compiler/rustc_codegen_gcc/.github/workflows/failures.yml b/compiler/rustc_codegen_gcc/.github/workflows/failures.yml
new file mode 100644
index 000000000..27864dcad
--- /dev/null
+++ b/compiler/rustc_codegen_gcc/.github/workflows/failures.yml
@@ -0,0 +1,129 @@
+# TODO: refactor to avoid duplication with the ci.yml file.
+name: Failures
+
+on:
+ - pull_request
+
+permissions:
+ contents: read
+
+env:
+ # Enable backtraces for easier debugging
+ RUST_BACKTRACE: 1
+
+jobs:
+ build:
+ runs-on: ubuntu-22.04
+
+ strategy:
+ fail-fast: false
+ matrix:
+ libgccjit_version:
+ - gcc: "libgccjit.so"
+ artifacts_branch: "master"
+ - gcc: "libgccjit_without_int128.so"
+ artifacts_branch: "master-without-128bit-integers"
+ - gcc: "libgccjit12.so"
+ artifacts_branch: "gcc12"
+ extra: "--no-default-features"
+ # FIXME(antoyo): we need to set GCC_EXEC_PREFIX so that the linker can find the linker plugin.
+ # Not sure why it's not found otherwise.
+ env_extra: "TEST_FLAGS='-Cpanic=abort -Zpanic-abort-tests' GCC_EXEC_PREFIX=/usr/lib/gcc/"
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Install packages
+ run: sudo apt-get install ninja-build ripgrep
+
+ - name: Install libgccjit12
+ if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
+ run: sudo apt-get install libgccjit-12-dev
+
+ - name: Setup path to libgccjit
+ if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
+ run: echo /usr/lib/gcc/x86_64-linux-gnu/12 > gcc_path
+
+ - name: Download artifact
+ if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
+ uses: dawidd6/action-download-artifact@v2
+ with:
+ workflow: main.yml
+ name: gcc-13
+ path: gcc-13
+ repo: antoyo/gcc
+ branch: ${{ matrix.libgccjit_version.artifacts_branch }}
+ event: push
+ search_artifacts: true # Because, instead, the action only check the last job ran and that won't work since we want multiple artifacts.
+
+ - name: Setup path to libgccjit
+ if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
+ run: |
+ sudo dpkg --force-overwrite -i gcc-13/gcc-13.deb
+ echo /usr/lib/ > gcc_path
+
+ - name: Set env
+ run: |
+ echo "LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
+ echo "LD_LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
+ echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV
+
+ - name: Cache cargo installed crates
+ uses: actions/cache@v3
+ with:
+ path: ~/.cargo/bin
+ key: cargo-installed-crates2-ubuntu-latest
+
+ - name: Cache cargo registry
+ uses: actions/cache@v3
+ with:
+ path: ~/.cargo/registry
+ key: ${{ runner.os }}-cargo-registry2-${{ hashFiles('**/Cargo.lock') }}
+
+ - name: Cache cargo index
+ uses: actions/cache@v3
+ with:
+ path: ~/.cargo/git
+ key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
+
+ - name: Cache cargo target dir
+ uses: actions/cache@v3
+ with:
+ path: target
+ key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('rust-toolchain') }}
+
+ #- name: Cache rust repository
+ #uses: actions/cache@v3
+ #id: cache-rust-repository
+ #with:
+ #path: rust
+ #key: ${{ runner.os }}-packages-${{ hashFiles('rust/.git/HEAD') }}
+
+ - name: Git config
+ run: |
+ git config --global user.email "user@example.com"
+ git config --global user.name "User"
+
+ - name: Prepare dependencies
+ if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
+ run: ./y.sh prepare --libgccjit12-patches
+
+ - name: Prepare dependencies
+ if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
+ run: ./y.sh prepare
+
+ # Compile is a separate step, as the actions-rs/cargo action supports error annotations
+ - name: Compile
+ uses: actions-rs/cargo@v1.0.3
+ with:
+ command: build
+ args: --release
+
+ - name: Add more failing tests because the sysroot is not compiled with LTO
+ run: cat failing-non-lto-tests.txt >> failing-ui-tests.txt
+
+ - name: Run tests
+ id: tests
+ run: |
+ ${{ matrix.libgccjit_version.env_extra }} ./test.sh --release --clean --build-sysroot --test-failing-rustc ${{ matrix.libgccjit_version.extra }} | tee output_log
+ rg --text "test result" output_log >> $GITHUB_STEP_SUMMARY
diff --git a/compiler/rustc_codegen_gcc/.github/workflows/gcc12.yml b/compiler/rustc_codegen_gcc/.github/workflows/gcc12.yml
new file mode 100644
index 000000000..a0d363cf1
--- /dev/null
+++ b/compiler/rustc_codegen_gcc/.github/workflows/gcc12.yml
@@ -0,0 +1,115 @@
+name: CI libgccjit 12
+
+on:
+ - push
+ - pull_request
+
+permissions:
+ contents: read
+
+env:
+ # Enable backtraces for easier debugging
+ RUST_BACKTRACE: 1
+ TEST_FLAGS: "-Cpanic=abort -Zpanic-abort-tests"
+ # FIXME(antoyo): we need to set GCC_EXEC_PREFIX so that the linker can find the linker plugin.
+ # Not sure why it's not found otherwise.
+ GCC_EXEC_PREFIX: /usr/lib/gcc/
+
+jobs:
+ build:
+ runs-on: ubuntu-22.04
+
+ strategy:
+ fail-fast: false
+ matrix:
+ commands: [
+ "--mini-tests",
+ "--std-tests",
+ # FIXME: re-enable asm tests when GCC can emit in the right syntax.
+ # "--asm-tests",
+ "--test-libcore",
+ "--extended-rand-tests",
+ "--extended-regex-example-tests",
+ "--extended-regex-tests",
+ "--test-successful-rustc --nb-parts 2 --current-part 0",
+ "--test-successful-rustc --nb-parts 2 --current-part 1",
+ ]
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Install packages
+ # `llvm-14-tools` is needed to install the `FileCheck` binary which is used for asm tests.
+ run: sudo apt-get install ninja-build ripgrep llvm-14-tools libgccjit-12-dev
+
+ - name: Setup path to libgccjit
+ run: echo /usr/lib/gcc/x86_64-linux-gnu/12 > gcc_path
+
+ - name: Set env
+ run: |
+ echo "LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
+ echo "LD_LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
+ echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV
+
+ - name: Cache cargo installed crates
+ uses: actions/cache@v3
+ with:
+ path: ~/.cargo/bin
+ key: cargo-installed-crates2-ubuntu-latest
+
+ - name: Cache cargo registry
+ uses: actions/cache@v3
+ with:
+ path: ~/.cargo/registry
+ key: ${{ runner.os }}-cargo-registry2-${{ hashFiles('**/Cargo.lock') }}
+
+ - name: Cache cargo index
+ uses: actions/cache@v3
+ with:
+ path: ~/.cargo/git
+ key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
+
+ - name: Cache cargo target dir
+ uses: actions/cache@v3
+ with:
+ path: target
+ key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('rust-toolchain') }}
+
+ #- name: Cache rust repository
+ ## We only clone the rust repository for rustc tests
+ #if: ${{ contains(matrix.commands, 'rustc') }}
+ #uses: actions/cache@v3
+ #id: cache-rust-repository
+ #with:
+ #path: rust
+ #key: ${{ runner.os }}-packages-${{ hashFiles('rust/.git/HEAD') }}
+
+ - name: Build
+ run: |
+ ./y.sh prepare --only-libcore --libgccjit12-patches
+ ./y.sh build --no-default-features --sysroot-panic-abort
+ cargo test --no-default-features
+ ./clean_all.sh
+
+ - name: Prepare dependencies
+ run: |
+ git config --global user.email "user@example.com"
+ git config --global user.name "User"
+ ./y.sh prepare --libgccjit12-patches
+
+ # Compile is a separate step, as the actions-rs/cargo action supports error annotations
+ - name: Compile
+ uses: actions-rs/cargo@v1.0.3
+ with:
+ command: build
+ args: --release
+
+ - name: Add more failing tests for GCC 12
+ run: cat failing-ui-tests12.txt >> failing-ui-tests.txt
+
+ - name: Add more failing tests because the sysroot is not compiled with LTO
+ run: cat failing-non-lto-tests.txt >> failing-ui-tests.txt
+
+ - name: Run tests
+ run: |
+ ./test.sh --release --clean --build-sysroot ${{ matrix.commands }} --no-default-features
diff --git a/compiler/rustc_codegen_gcc/.github/workflows/m68k.yml b/compiler/rustc_codegen_gcc/.github/workflows/m68k.yml
new file mode 100644
index 000000000..55ee0a212
--- /dev/null
+++ b/compiler/rustc_codegen_gcc/.github/workflows/m68k.yml
@@ -0,0 +1,139 @@
+# TODO: check if qemu-user-static-binfmt is needed (perhaps to run some tests since it probably calls exec).
+
+name: m68k CI
+
+on:
+ - push
+ - pull_request
+
+permissions:
+ contents: read
+
+env:
+ # Enable backtraces for easier debugging
+ RUST_BACKTRACE: 1
+ # TODO: remove when confish.sh is removed.
+ OVERWRITE_TARGET_TRIPLE: m68k-unknown-linux-gnu
+
+jobs:
+ build:
+ runs-on: ubuntu-22.04
+
+ strategy:
+ fail-fast: false
+ matrix:
+ commands: [
+ "--mini-tests",
+ "--std-tests",
+ # TODO(antoyo): fix those on m68k.
+ #"--test-libcore",
+ #"--extended-rand-tests",
+ #"--extended-regex-example-tests",
+ #"--extended-regex-tests",
+ #"--test-successful-rustc --nb-parts 2 --current-part 0",
+ #"--test-successful-rustc --nb-parts 2 --current-part 1",
+ #"--test-failing-rustc",
+ ]
+
+ steps:
+ - name: Install packages
+ run: |
+ sudo apt-get update
+ sudo apt-get install qemu qemu-user-static
+
+ - uses: actions/checkout@v3
+
+ - name: Download GCC artifact
+ uses: dawidd6/action-download-artifact@v2
+ with:
+ workflow: m68k.yml
+ name: gcc-m68k-13
+ repo: cross-cg-gcc-tools/cross-gcc
+ branch: master
+ event: push
+
+ - name: Download VM artifact
+ uses: dawidd6/action-download-artifact@v2
+ with:
+ workflow: m68k.yml
+ name: debian-m68k
+ repo: cross-cg-gcc-tools/vms
+ branch: master
+ event: push
+
+ - name: Setup path to libgccjit
+ run: |
+ sudo dpkg -i gcc-m68k-13.deb
+ echo /usr/lib/ > gcc_path
+
+ - name: Set env
+ run: |
+ echo "LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
+ echo "LD_LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
+ echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV
+
+ - name: Cache cargo installed crates
+ uses: actions/cache@v3
+ with:
+ path: ~/.cargo/bin
+ key: cargo-installed-crates2-ubuntu-latest
+
+ #- name: Cache cargo registry
+ #uses: actions/cache@v3
+ #with:
+ #path: ~/.cargo/registry
+ #key: ${{ runner.os }}-cargo-registry2-${{ hashFiles('**/Cargo.lock') }}
+
+ #- name: Cache cargo index
+ #uses: actions/cache@v3
+ #with:
+ #path: ~/.cargo/git
+ #key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
+
+ - name: Cache cargo target dir
+ uses: actions/cache@v3
+ with:
+ path: target
+ key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('rust-toolchain') }}
+
+ #- name: Cache rust repository
+ ## We only clone the rust repository for rustc tests
+ #if: ${{ contains(matrix.commands, 'rustc') }}
+ #uses: actions/cache@v3
+ #id: cache-rust-repository
+ #with:
+ #path: rust
+ #key: ${{ runner.os }}-packages-${{ hashFiles('rust/.git/HEAD') }}
+
+ - name: Prepare VM
+ run: |
+ mkdir vm
+ sudo mount debian-m68k.img vm
+ sudo cp $(which qemu-m68k-static) vm/usr/bin/
+
+ - name: Build
+ run: |
+ ./y.sh prepare --only-libcore --cross
+ ./y.sh build --target-triple m68k-unknown-linux-gnu
+ CG_GCC_TEST_TARGET=m68k-unknown-linux-gnu cargo test
+ ./clean_all.sh
+
+ - name: Prepare dependencies
+ run: |
+ git config --global user.email "user@example.com"
+ git config --global user.name "User"
+ ./y.sh prepare --cross
+
+ # Compile is a separate step, as the actions-rs/cargo action supports error annotations
+ - name: Compile
+ uses: actions-rs/cargo@v1.0.3
+ with:
+ command: build
+ args: --release
+
+ - name: Add more failing tests because the sysroot is not compiled with LTO
+ run: cat failing-non-lto-tests.txt >> failing-ui-tests.txt
+
+ - name: Run tests
+ run: |
+ ./test.sh --release --clean --build-sysroot ${{ matrix.commands }}
diff --git a/compiler/rustc_codegen_gcc/.github/workflows/release.yml b/compiler/rustc_codegen_gcc/.github/workflows/release.yml
index c4e99469b..ae1134177 100644
--- a/compiler/rustc_codegen_gcc/.github/workflows/release.yml
+++ b/compiler/rustc_codegen_gcc/.github/workflows/release.yml
@@ -18,8 +18,6 @@ jobs:
strategy:
fail-fast: false
matrix:
- libgccjit_version:
- - { gcc: "libgccjit.so", artifacts_branch: "master" }
commands: [
"--test-successful-rustc --nb-parts 2 --current-part 0",
"--test-successful-rustc --nb-parts 2 --current-part 1",
@@ -28,11 +26,6 @@ jobs:
steps:
- uses: actions/checkout@v3
- - uses: actions/checkout@v3
- with:
- repository: llvm/llvm-project
- path: llvm
-
- name: Install packages
run: sudo apt-get install ninja-build ripgrep
@@ -40,18 +33,17 @@ jobs:
uses: dawidd6/action-download-artifact@v2
with:
workflow: main.yml
- name: ${{ matrix.libgccjit_version.gcc }}
- path: gcc-build
+ name: gcc-13
+ path: gcc-13
repo: antoyo/gcc
- branch: ${{ matrix.libgccjit_version.artifacts_branch }}
+ branch: "master"
event: push
search_artifacts: true # Because, instead, the action only check the last job ran and that won't work since we want multiple artifacts.
- name: Setup path to libgccjit
run: |
- echo $(readlink -f gcc-build) > gcc_path
- # NOTE: the filename is still libgccjit.so even when the artifact name is different.
- ln gcc-build/libgccjit.so gcc-build/libgccjit.so.0
+ sudo dpkg --force-overwrite -i gcc-13/gcc-13.deb
+ echo /usr/lib/ > gcc_path
- name: Set env
run: |
@@ -59,9 +51,6 @@ jobs:
echo "LD_LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV
- - name: Set RUST_COMPILER_RT_ROOT
- run: echo "RUST_COMPILER_RT_ROOT="${{ env.workspace }}/llvm/compiler-rt >> $GITHUB_ENV
-
- name: Cache cargo installed crates
uses: actions/cache@v3
with:
@@ -88,8 +77,8 @@ jobs:
- name: Build
run: |
- ./prepare_build.sh
- ./build.sh --release --release-sysroot
+ ./y.sh prepare --only-libcore
+ EMBED_LTO_BITCODE=1 ./y.sh build --release --release-sysroot
cargo test
./clean_all.sh
@@ -97,7 +86,9 @@ jobs:
run: |
git config --global user.email "user@example.com"
git config --global user.name "User"
- ./prepare.sh
+ ./y.sh prepare
+ # FIXME(antoyo): we cannot enable LTO for stdarch tests currently because of some failing LTO tests using proc-macros.
+ echo -n 'lto = "fat"' >> build_sysroot/Cargo.toml
# Compile is a separate step, as the actions-rs/cargo action supports error annotations
- name: Compile
@@ -106,6 +97,9 @@ jobs:
command: build
args: --release
+ - name: Add more failing tests because of undefined symbol errors (FIXME)
+ run: cat failing-lto-tests.txt >> failing-ui-tests.txt
+
- name: Run tests
run: |
- ./test.sh --release --clean --release-sysroot --build-sysroot ${{ matrix.commands }}
+ EMBED_LTO_BITCODE=1 ./test.sh --release --clean --release-sysroot --build-sysroot ${{ matrix.commands }}
diff --git a/compiler/rustc_codegen_gcc/.github/workflows/stdarch.yml b/compiler/rustc_codegen_gcc/.github/workflows/stdarch.yml
index 556c64448..28ac3cb65 100644
--- a/compiler/rustc_codegen_gcc/.github/workflows/stdarch.yml
+++ b/compiler/rustc_codegen_gcc/.github/workflows/stdarch.yml
@@ -18,8 +18,6 @@ jobs:
strategy:
fail-fast: false
matrix:
- libgccjit_version:
- - { gcc: "libgccjit.so", artifacts_branch: "master" }
cargo_runner: [
"sde -future -rtm_mode full --",
"",
@@ -28,11 +26,6 @@ jobs:
steps:
- uses: actions/checkout@v3
- - uses: actions/checkout@v3
- with:
- repository: llvm/llvm-project
- path: llvm
-
- name: Install packages
run: sudo apt-get install ninja-build ripgrep
@@ -54,18 +47,17 @@ jobs:
uses: dawidd6/action-download-artifact@v2
with:
workflow: main.yml
- name: ${{ matrix.libgccjit_version.gcc }}
- path: gcc-build
+ name: gcc-13
+ path: gcc-13
repo: antoyo/gcc
- branch: ${{ matrix.libgccjit_version.artifacts_branch }}
+ branch: "master"
event: push
search_artifacts: true # Because, instead, the action only check the last job ran and that won't work since we want multiple artifacts.
- name: Setup path to libgccjit
run: |
- echo $(readlink -f gcc-build) > gcc_path
- # NOTE: the filename is still libgccjit.so even when the artifact name is different.
- ln gcc-build/libgccjit.so gcc-build/libgccjit.so.0
+ sudo dpkg --force-overwrite -i gcc-13/gcc-13.deb
+ echo /usr/lib/ > gcc_path
- name: Set env
run: |
@@ -73,9 +65,6 @@ jobs:
echo "LD_LIBRARY_PATH=$(cat gcc_path)" >> $GITHUB_ENV
echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV
- - name: Set RUST_COMPILER_RT_ROOT
- run: echo "RUST_COMPILER_RT_ROOT="${{ env.workspace }}/llvm/compiler-rt >> $GITHUB_ENV
-
- name: Cache cargo installed crates
uses: actions/cache@v3
with:
@@ -102,8 +91,8 @@ jobs:
- name: Build
run: |
- ./prepare_build.sh
- ./build.sh --release --release-sysroot
+ ./y.sh prepare --only-libcore
+ ./y.sh build --release --release-sysroot
cargo test
- name: Clean
@@ -115,7 +104,7 @@ jobs:
run: |
git config --global user.email "user@example.com"
git config --global user.name "User"
- ./prepare.sh
+ ./y.sh prepare
# Compile is a separate step, as the actions-rs/cargo action supports error annotations
- name: Compile
@@ -133,10 +122,11 @@ jobs:
if: ${{ !matrix.cargo_runner }}
run: |
cd build_sysroot/sysroot_src/library/stdarch/
- CHANNEL=release TARGET=x86_64-unknown-linux-gnu ../../../../cargo.sh test
+ CHANNEL=release TARGET=x86_64-unknown-linux-gnu CG_RUSTFLAGS="-Ainternal_features" ../../../../cargo.sh test
- name: Run stdarch tests
if: ${{ matrix.cargo_runner }}
run: |
cd build_sysroot/sysroot_src/library/stdarch/
- STDARCH_TEST_EVERYTHING=1 CHANNEL=release CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="${{ matrix.cargo_runner }}" TARGET=x86_64-unknown-linux-gnu ../../../../cargo.sh test -- --skip rtm --skip tbm --skip sse4a
+ # FIXME: these tests fail when the sysroot is compiled with LTO because of a missing symbol in proc-macro.
+ STDARCH_TEST_EVERYTHING=1 CHANNEL=release CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="${{ matrix.cargo_runner }}" TARGET=x86_64-unknown-linux-gnu CG_RUSTFLAGS="-Ainternal_features" ../../../../cargo.sh test -- --skip rtm --skip tbm --skip sse4a