Syzkaller build fails when cross-compiling for i386

122 views
Skip to first unread message

Joseph Bursey

unread,
Jul 12, 2022, 8:46:19 PM7/12/22
to syzkaller
Hello! This may be a rather silly question, but I'm struggling to cross-compile syzkaller for i386 (trying to mimic the *-386 managers). I've followed as much documentation as I can find and tried to build syzkaller like this:

make TARGETVMARCH=amd64 TARGETARCH=386

But I get the following error when make reaches syz-executor:

mkdir -p ./bin/linux_386
x86_64-linux-gnu-gcc -o ./bin/linux_386/syz-executor executor/executor.cc \
        -m32 -O2 -pthread -Wall -Werror -Wparentheses -Wunused-const-variable -Wframe-larger-than=16384 -static-pie  -DGOOS_linux=1 -DGOARCH_386=1 \
        -DHOSTGOOS_linux=1 -DGIT_REVISION=\"0230ba3e7ee638765ace8e2c3b436e703017b46c\"
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib32/libc.a(memset_chk-nonshared.o): unsupported non-PIC call to IFUNC `memset'
collect2: error: ld returned 1 exit status
make: *** [Makefile:131: executor] Error 1

You may note that my syzkaller version is very old, but I have confirmed that it is broken on all recent versions as well. This also makes me very certain that the error is on my end. Have you seen this error before and do you have any suggestions on how I can fix it?

I'm building on Ubuntu 20.04 x86_64

Thank you!
Joey Bursey

Dmitry Vyukov

unread,
Jul 13, 2022, 2:14:08 AM7/13/22
to Joseph Bursey, syzkaller
Reply all
Reply to author
Forward
0 new messages