Sample Header Ad - 728x90

Pi Zero Cross Compilation Floating Point Specification

1 vote
1 answer
70 views
I am trying to cross compile a go project (syzkaller) to target a Pi Zero so it can emulate usb devices. The problem is that I have been unable to find information regarding how to specify the proper floating point flag to ensure compatibility with the Pi Zero. Everything I have tried results in the VMOV assembly instruction being in the binary file and throwing an illegal instruction. My host machine is x86_64 running go1.21.4 and the pi zero is arm6l running go1.21.4. When cross compiling I am using GOOS=linux GOARCH=arm GOARM=5. The makefile I am using can be found here: https://github.com/google/syzkaller/blob/master/Makefile (I am compiling the execprog binary). From my research the GOARM=5 should be forcing software floating point operations, but the information sources are very outdated. I have also tried compiling for armv5 with no success. I also could be using the flag incorrectly since I am not very familiar with GO. Below are the exact compilation arguments for the binary. Any advice is appreciated, thanks. Must remake target 'execprog'. GOOS=linux GOARCH=arm go build "-ldflags=-s -w -X github.com/google/syzkaller/prog.\ GitRevision=121701b62358a454bbfdccfadfcce9bb843602d6+ -X 'github.com/google/syzkaller\ /prog.gitRevisionDate=20240605-134717'" "-tags=syz_target syz_os_linux syz_arch_armv6\ GOARM=5" -o ./bin/linux_arm/syz-execprog github.com/google/syzkaller/tools/syz-execprog
Asked by Darrion Ramos (23 rep)
Jun 28, 2024, 03:30 AM
Last activity: Jun 28, 2024, 04:55 AM