Date: Sun, 4 Mar 2018 18:29:29 +0100 From: Christian Ullrich <chris@chrullrich.net> To: freebsd-stable@freebsd.org Subject: "Cross" building for same architecture, different CPUTYPE Message-ID: <2126f358-c827-ecf0-109b-0488c5b155b6@chrullrich.net>
next in thread | raw e-mail | index | archive | help
Hello, I'm trying to buildworld/buildkernel of stable/11 r330373 for an Intel Atom CPU (CPUTYPE=slm) on a (slightly faster, CPUTYPE=core-avx2) build machine. That works fine, but make installkernel on the Atom box fails with a SIGILL (signal 4) in the "install" command (sorry, no log or screenshot). As far as I can tell, this is because installkernel uses the install from ...obj.../tmp/legacy/usr/bin, which is built for the host. Disassembling the binary shows that it uses AVX opcodes. The "main" part of the build output correctly respects the CPUTYPE override. I suppose I'm doing something wrong here, but what? It must be possible to build for a different CPU of the same family, right? I even tried running a cross build (TARGET=amd64 TARGET_ARCH=amd64), but since the build host _is_ amd64, the Makefiles laughed at me and only did the normal build. The command that did not work was: MAKEOBJDIRPREFIX=/usr/obj/slm make CPUTYPE=slm buildworld buildkernel I have CPUTYPE?=core-avx2 in make.conf, but that should be irrelevant here. Thanks for any hints. -- Christian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2126f358-c827-ecf0-109b-0488c5b155b6>