Hi Thomas, On Sun, Dec 29, 2024 at 1:48 PM Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx> wrote:
While trying to build the multi_defconfig, from Linux 6.12.5, for a 68040 system, the build fails with: {standard input}: Assembler messages: {standard input}:104: Error: operands mismatch -- statement `movec %d2,%caar' ignored make[5]: *** [scripts/Makefile.build:229: arch/m68k/kernel/sys_m68k.o] Error 1
That's not the only error: {standard input}: Assembler messages: {standard input}:17: Error: invalid instruction for this architecture; needs M68K mmu (68020 [68k, 68ec020], 68030 [68ec030], 68040 [68ec040], 68060 [68ec060]) -- statement `pflusha' ignored make[5]: *** [scripts/Makefile.build:229: arch/m68k/mm/kmap.o] Error 1 There are more like the above, but at least these tell you what's the underlying problem: the cross-compiler does not seem to support real m68k CPUs. Interestingly, it was built with --with-cpu=68040... Also: cat > /tmp/a.s <<EOF movec %d2,%caar EOF output/host/bin/m68k-buildroot-linux-gnu-as /tmp/a.s does build. output/host/bin/m68k-buildroot-linux-gnu-gcc -c /tmp/a.s does not. With plain m68k-linux-gnu-{as,gcc} (Ubuntu 13.3.0-6ubuntu2~24.04, which is also 13.3.0, just like the buildroot toolchain), both work. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds