@@ -14,8 +14,6 @@ permissions:
14
14
env :
15
15
# Enable backtraces for easier debugging
16
16
RUST_BACKTRACE : 1
17
- # TODO: remove when confish.sh is removed.
18
- OVERWRITE_TARGET_TRIPLE : m68k-unknown-linux-gnu
19
17
20
18
jobs :
21
19
build :
@@ -59,14 +57,12 @@ jobs:
59
57
60
58
- name : Setup path to libgccjit
61
59
run : |
62
- sudo dpkg -i gcc-m68k-15.deb
60
+ sudo dpkg --force-overwrite - i gcc-m68k-15.deb
63
61
echo 'gcc-path = "/usr/lib/"' > config.toml
64
62
65
63
- name : Set env
66
64
run : |
67
65
echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV
68
-
69
-
70
66
71
67
# - name: Cache rust repository
72
68
# # We only clone the rust repository for rustc tests
@@ -86,16 +82,20 @@ jobs:
86
82
- name : Build sample project with target defined as JSON spec
87
83
run : |
88
84
./y.sh prepare --only-libcore --cross
89
- ./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
90
- ./y.sh cargo build --manifest-path=./tests/hello-world/Cargo.toml --target ${{ github.workspace }}/target_specs/m68k-unknown-linux-gnu.json
85
+ ./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
86
+ CG_RUSTFLAGS="-Clinker=m68k-unknown-linux-gnu-gcc" ./y.sh cargo build --manifest-path=./tests/hello-world/Cargo.toml --target ${{ github.workspace }}/target_specs/m68k-unknown-linux-gnu.json
91
87
./y.sh clean all
92
88
93
89
- name : Build
94
90
run : |
95
91
./y.sh prepare --only-libcore --cross
96
- ./y.sh build --sysroot --features compiler_builtins/no-f16-f128 --target-triple m68k-unknown-linux-gnu
97
- ./y.sh test --mini-tests
98
- CG_GCC_TEST_TARGET=m68k-unknown-linux-gnu ./y.sh test --cargo-tests
92
+ ./y.sh build --sysroot --features compiler-builtins-no-f16-f128 --target-triple m68k-unknown-linux-gnu
93
+ ./y.sh test --mini-tests --target-triple m68k-unknown-linux-gnu
94
+ # FIXME: since https://github.com/rust-lang/rust/pull/140809, we cannot run programs for architectures not
95
+ # supported by the object crate, since this adds a dependency on symbols.o for the panic runtime.
96
+ # And as such, a wrong order of the object files in the linker command now fails with an undefined reference
97
+ # to some symbols like __rustc::rust_panic.
98
+ #CG_GCC_TEST_TARGET=m68k-unknown-linux-gnu ./y.sh test --cargo-tests --target-triple m68k-unknown-linux-gnu
99
99
./y.sh clean all
100
100
101
101
- name : Prepare dependencies
@@ -104,9 +104,23 @@ jobs:
104
104
git config --global user.name "User"
105
105
./y.sh prepare --cross
106
106
107
- - name : Run tests
108
- run : |
109
- ./y.sh test --release --clean --build-sysroot --sysroot-features compiler_builtins/no-f16-f128 ${{ matrix.commands }}
107
+ # FIXME: We cannot run programs for architectures not supported by the object crate. See comment above.
108
+ # - name: Run tests
109
+ # run: |
110
+ # ./y.sh test --target-triple m68k-unknown-linux-gnu --release --clean --build-sysroot --sysroot-features compiler-builtins-no-f16-f128 ${{ matrix.commands }}
111
+
112
+ # FIXME: We cannot run programs for architectures not supported by the object crate. See comment above.
113
+ # - name: Run Hello World!
114
+ # run: |
115
+ # ./y.sh build --target-triple m68k-unknown-linux-gnu
116
+
117
+ # vm_dir=$(pwd)/vm
118
+ # cd tests/hello-world
119
+ # CG_RUSTFLAGS="-Clinker=m68k-unknown-linux-gnu-gcc" ../../y.sh cargo build --target m68k-unknown-linux-gnu
120
+ # sudo cp target/m68k-unknown-linux-gnu/debug/hello_world $vm_dir/home/
121
+ # sudo chroot $vm_dir qemu-m68k-static /home/hello_world > hello_world_stdout
122
+ # expected_output="40"
123
+ # test $(cat hello_world_stdout) == $expected_output || (echo "Output differs. Actual output: $(cat hello_world_stdout)"; exit 1)
110
124
111
125
# Summary job for the merge queue.
112
126
# ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB!
0 commit comments