Don Lewis
2018-06-04 22:36:02 UTC
I'm trying to build a custom 11-STABLE release for a machine that is too
wimpy to self-host using the /usr/src/release/release.sh script. The
build host is an amd64 machine and the target machine is is in the i386
family. I've set:
TARGET=i386
TARGET_ARCH=i386
in the release.conf file.
If I don't try to specify a CPUTYPE, I have no problems. But if I add
CPUTYPE?=pentium3
to the make.conf file, the release build fails like this:
--------------------------------------------------------------
===> gnu/lib/libssp/libssp_nonshared (obj,all,install)
===> lib/libcompiler_rt (obj,all,install)
===> gnu/lib/libgcc (obj,all,install)
error: unknown target CPU 'pentium3'
--- ssp-local.o ---
*** [ssp-local.o] Error code 1
This is the same message that I get if I try to compile something on
amd64 if I specify -march:
%cc -c blah.c -march=pentium3
error: unknown target CPU 'pentium3'
but I don't see this when I do the same on an actual i386 machine. I'm
assuming it is because pentium3 is not valid amd64 family member. It
seems like I should be able to avoid this by telling clang that I want
to cross-compile, but clang doesn't seem to like the -arch
command line flag:
%cc -c blah.c -arch x86 -march=pentium3
cc: warning: argument unused during compilation: '-arch x86' [-Wunused-command-line-argument]
error: unknown target CPU 'pentium3'
%cc -c blah.c -arch i386 -march=pentium3
cc: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
error: unknown target CPU 'pentium3'
wimpy to self-host using the /usr/src/release/release.sh script. The
build host is an amd64 machine and the target machine is is in the i386
family. I've set:
TARGET=i386
TARGET_ARCH=i386
in the release.conf file.
If I don't try to specify a CPUTYPE, I have no problems. But if I add
CPUTYPE?=pentium3
to the make.conf file, the release build fails like this:
--------------------------------------------------------------
stage 4.2: building libraries
--------------------------------------------------------------===> gnu/lib/libssp/libssp_nonshared (obj,all,install)
===> lib/libcompiler_rt (obj,all,install)
===> gnu/lib/libgcc (obj,all,install)
error: unknown target CPU 'pentium3'
--- ssp-local.o ---
*** [ssp-local.o] Error code 1
This is the same message that I get if I try to compile something on
amd64 if I specify -march:
%cc -c blah.c -march=pentium3
error: unknown target CPU 'pentium3'
but I don't see this when I do the same on an actual i386 machine. I'm
assuming it is because pentium3 is not valid amd64 family member. It
seems like I should be able to avoid this by telling clang that I want
to cross-compile, but clang doesn't seem to like the -arch
command line flag:
%cc -c blah.c -arch x86 -march=pentium3
cc: warning: argument unused during compilation: '-arch x86' [-Wunused-command-line-argument]
error: unknown target CPU 'pentium3'
%cc -c blah.c -arch i386 -march=pentium3
cc: warning: argument unused during compilation: '-arch i386' [-Wunused-command-line-argument]
error: unknown target CPU 'pentium3'