Open helioshk opened 6 years ago
I don't use Pi64 myself unfortunately and thus I haven't bothered to port rpiburn yet... It might work if you explicitly ask the compiler to use 32-bit mode though. Try adding these CFLAGS
-march=armv7-a -mtune=cortex-a5
It's a raspi 3 running pi64 (64 bit OS). I think compiler flags don't help because high-load-arm.S is ARM32-specific.
If you force the compiler into 32-bit I think it will work. Even if rest of your system use 64-bit. Your PC works the same way. It can still run 32-bit program although the OS is 64-bit. However, you might need 32-bit librarys installed as well (but likely you have).
Didn't work for me, unfortunately. An actual cross-compiler might be needed?
$ make
cc -O2 -g -Wall -std=gnu99 -D_DEFAULT_SOURCE -D_GNU_SOURCE -D_BSD_SOURCE -D_REENTRANT -pthread -fno-reorder-blocks -fno-reorder-blocks-and-partition -fno-toplevel-reorder -fno-crossjumping -falign-functions -march=armv7-a -mtune=cortex-a53 -o main.o -c main.c
cc1: error: unknown value ‘armv7-a’ for ‘-march’
cc1: note: valid arguments are: armv8-a armv8.1-a armv8.2-a armv8.3-a armv8.4-a armv8.5-a armv8.6-a armv8.7-a armv8.8-a armv8-r armv9-a native; did you mean ‘armv8-a’?
make: *** [Makefile:35: main.o] Error 1
$ uname -a
Linux pi05 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux
I would appear your Linux distro need a cross-compiler yes. Try this:
gcc-arm-linux-gnueabi
and libc6-dev-armel-cross
packages from your distro.CC=arm-linux-gnueabi-gcc
to the Makefile
.
cc (Debian 6.3.0-18) 6.3.0 20170516