From owner-freebsd-hackers@freebsd.org Mon Jun 4 22:36:17 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DEC46FDD3F1 for ; Mon, 4 Jun 2018 22:36:17 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from mx2.catspoiler.org (mx2.catspoiler.org [IPv6:2607:f740:16::d18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "amnesiac", Issuer "amnesiac" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 6866B6AAA5 for ; Mon, 4 Jun 2018 22:36:17 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from gw.catspoiler.org ([76.212.85.177]) by mx2.catspoiler.org (8.15.2/8.15.2) with ESMTPS id w54Mc3BW005460 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 4 Jun 2018 22:38:05 GMT (envelope-from truckman@FreeBSD.org) Received: from mousie.catspoiler.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.15.2/8.15.2) with ESMTPS id w54Ma8Zl098463 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 4 Jun 2018 15:36:09 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Date: Mon, 4 Jun 2018 15:36:02 -0700 (PDT) From: Don Lewis Subject: defining CPUTYPE when building a custom release To: freebsd-hackers@FreeBSD.org Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=us-ascii Content-Disposition: INLINE X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jun 2018 22:36:18 -0000 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: -------------------------------------------------------------- >>> 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'