Hi,

On Wed, 2026-05-20 at 10:36 +0200, John Paul Adrian Glaubitz wrote:
> I was eventually able to build cargo for m68k-unknown-linux-gnu:
> 
> (unstable-amd64-sbuild)glaubitz@esk:~/rust/build$ file 
> ./x86_64-unknown-linux-gnu/stage2-tools/m68k-unknown-linux-gnu/release/cargo
> ./x86_64-unknown-linux-gnu/stage2-tools/m68k-unknown-linux-gnu/release/cargo: 
> ELF 32-bit MSB pie executable, Motorola m68k, 68020, version 1 (SYSV), 
> dynamically linked, interpreter /lib/ld.so.1,
> BuildID[sha1]=7e5bf08930f87b9eaee173cf163b067f620cb841, for GNU/Linux 3.2.0, 
> not stripped
> (unstable-amd64-sbuild)glaubitz@esk:~/rust/build$
> 
> The binary runs on m68k but there is no output, unfortunately. Needs more 
> debugging.

Some more progress. I managed to cross-compile "Hello World" in Rust for m68k 
and it
actually runs. The issues which prevented this are two bugs in the LLVM 
backend, one
is already known upstream [1]. I will file a bug report for the second one.

(unstable-amd64-sbuild)glaubitz@esk:~/rust$ uname -a
Linux esk 6.18.12+deb14-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.18.12-1 
(2026-02-17) x86_64 GNU/Linux
(unstable-amd64-sbuild)glaubitz@esk:~/rust$ cat ~/main.rs
fn main() {
    println!("Hello, m68k Linux world!");
}
(unstable-amd64-sbuild)glaubitz@esk:~/rust$ 
./build/x86_64-unknown-linux-gnu/stage2/bin/rustc --target 
m68k-unknown-linux-gnu -C linker=m68k-linux-gnu-gcc ~/main.rs -o ~/hello_world
(unstable-amd64-sbuild)glaubitz@esk:~/rust$ file ~/hello_world 
/home/glaubitz/hello_world: ELF 32-bit MSB pie executable, Motorola m68k, 
68020, version 1 (SYSV), dynamically linked, interpreter /lib/ld.so.1, 
BuildID[sha1]=819625f88d263c358cbf7ff37d660bc453eca931,
for GNU/Linux 3.2.0, not stripped
(unstable-amd64-sbuild)glaubitz@esk:~/rust$ md5sum ~/hello_world 
c12f86b37b301331e14499b573e45955  /home/glaubitz/hello_world
(unstable-amd64-sbuild)glaubitz@esk:~/rust$

glaubitz@mitchy:~$ uname -a
Linux mitchy 6.15.0-rc2-virt #1 Thu May  1 10:27:28 UTC 2025 m68k GNU/Linux
glaubitz@mitchy:~$ file ./hello_world 
./hello_world: ELF 32-bit MSB pie executable, Motorola m68k, 68020, version 1 
(SYSV), dynamically linked, interpreter /lib/ld.so.1, 
BuildID[sha1]=819625f88d263c358cbf7ff37d660bc453eca931, for
GNU/Linux 3.2.0, not stripped
glaubitz@mitchy:~$ md5sum ./hello_world 
c12f86b37b301331e14499b573e45955  ./hello_world
glaubitz@mitchy:~$ ./hello_world 
Hello, m68k Linux world!
glaubitz@mitchy:~$

Adrian

> [1] https://github.com/llvm/llvm-project/issues/152816

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

Reply via email to