Skip to content

Commit 3187d32

Browse files
Merge pull request #556 from GuillaumeGomez/sync_2024-08-12
Sync 2024-08-12
2 parents 3018d9d + 12575df commit 3187d32

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1009
-474
lines changed

.github/workflows/m68k.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,14 @@ jobs:
8585
- name: Build sample project with target defined as JSON spec
8686
run: |
8787
./y.sh prepare --only-libcore --cross
88-
./y.sh build --sysroot --target-triple m68k-unknown-linux-gnu --target ${{ github.workspace }}/target_specs/m68k-unknown-linux-gnu.json
88+
./y.sh build --sysroot --features compiler_builtins/no-f16-f128 --target-triple m68k-unknown-linux-gnu --target ${{ github.workspace }}/target_specs/m68k-unknown-linux-gnu.json
8989
./y.sh cargo build --manifest-path=./tests/hello-world/Cargo.toml --target ${{ github.workspace }}/target_specs/m68k-unknown-linux-gnu.json
9090
./y.sh clean all
9191
9292
- name: Build
9393
run: |
9494
./y.sh prepare --only-libcore --cross
95-
./y.sh build --sysroot --target-triple m68k-unknown-linux-gnu
95+
./y.sh build --sysroot --features compiler_builtins/no-f16-f128 --target-triple m68k-unknown-linux-gnu
9696
CG_GCC_TEST_TARGET=m68k-unknown-linux-gnu cargo test
9797
./y.sh clean all
9898
@@ -107,4 +107,4 @@ jobs:
107107

108108
- name: Run tests
109109
run: |
110-
./y.sh test --release --clean --build-sysroot ${{ matrix.commands }}
110+
./y.sh test --release --clean --build-sysroot --sysroot-features compiler_builtins/no-f16-f128 ${{ matrix.commands }}

.github/workflows/stdarch.yml

+10-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ env:
1313

1414
jobs:
1515
build:
16-
runs-on: ubuntu-latest
16+
runs-on: ubuntu-24.04
1717

1818
strategy:
1919
fail-fast: false
@@ -36,6 +36,13 @@ jobs:
3636
- name: Install packages
3737
run: sudo apt-get install ninja-build ripgrep
3838

39+
# TODO: remove when we have binutils version 2.43 in the repo.
40+
- name: Install more recent binutils
41+
run: |
42+
echo "deb http://archive.ubuntu.com/ubuntu oracular main universe" | sudo tee /etc/apt/sources.list.d/oracular-copies.list
43+
sudo apt-get update
44+
sudo apt-get install binutils
45+
3946
- name: Install Intel Software Development Emulator
4047
if: ${{ matrix.cargo_runner }}
4148
run: |
@@ -96,4 +103,5 @@ jobs:
96103
run: |
97104
# FIXME: these tests fail when the sysroot is compiled with LTO because of a missing symbol in proc-macro.
98105
# TODO: remove --skip test_mm512_stream_ps when stdarch is updated in rustc.
99-
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" ./y.sh cargo test --manifest-path build/build_sysroot/sysroot_src/library/stdarch/Cargo.toml -- --skip rtm --skip tbm --skip sse4a --skip test_mm512_stream_ps
106+
# TODO: remove --skip test_tile_ when it's implemented.
107+
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 --cfg stdarch_intel_sde" ./y.sh cargo test --manifest-path build/build_sysroot/sysroot_src/library/stdarch/Cargo.toml -- --skip rtm --skip tbm --skip sse4a --skip test_mm512_stream_ps --skip test_tile_

.rustfmt.toml

+2
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
version = "Two"
12
use_small_heuristics = "Max"
3+
merge_derives = false

Cargo.lock

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ master = ["gccjit/master"]
2222
default = ["master"]
2323

2424
[dependencies]
25-
gccjit = "2.1"
25+
gccjit = "2.2"
26+
#gccjit = { git = "https://github.com/rust-lang/gccjit.rs" }
2627

2728
# Local copy.
2829
#gccjit = { path = "../gccjit.rs" }

build_system/build_sysroot/Cargo.lock

+55-46
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build_system/build_sysroot/Cargo.toml

+17-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ resolver = "2"
66

77
[dependencies]
88
core = { path = "./sysroot_src/library/core" }
9-
# TODO: after the sync, revert to using version 0.1.
10-
# compiler_builtins = "0.1"
11-
compiler_builtins = "=0.1.109"
9+
compiler_builtins = "0.1"
1210
alloc = { path = "./sysroot_src/library/alloc" }
1311
std = { path = "./sysroot_src/library/std", features = ["panic_unwind", "backtrace"] }
1412
test = { path = "./sysroot_src/library/test" }
@@ -19,6 +17,22 @@ rustc-std-workspace-core = { path = "./sysroot_src/library/rustc-std-workspace-c
1917
rustc-std-workspace-alloc = { path = "./sysroot_src/library/rustc-std-workspace-alloc" }
2018
rustc-std-workspace-std = { path = "./sysroot_src/library/rustc-std-workspace-std" }
2119

20+
# For compiler-builtins we always use a high number of codegen units.
21+
# The goal here is to place every single intrinsic into its own object
22+
# file to avoid symbol clashes with the system libgcc if possible. Note
23+
# that this number doesn't actually produce this many object files, we
24+
# just don't create more than this number of object files.
25+
#
26+
# It's a bit of a bummer that we have to pass this here, unfortunately.
27+
# Ideally this would be specified through an env var to Cargo so Cargo
28+
# knows how many CGUs are for this specific crate, but for now
29+
# per-crate configuration isn't specifiable in the environment.
30+
[profile.dev.package.compiler_builtins]
31+
codegen-units = 10000
32+
33+
[profile.release.package.compiler_builtins]
34+
codegen-units = 10000
35+
2236
[profile.release]
2337
debug = "limited"
2438
#lto = "fat" # TODO(antoyo): re-enable when the failing LTO tests regarding proc-macros are fixed.

0 commit comments

Comments
 (0)