From owner-freebsd-stable@FreeBSD.ORG Mon Jan 6 18:03:26 2014 Return-Path: Delivered-To: freebsd-stable@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 369C5B97 for ; Mon, 6 Jan 2014 18:03:26 +0000 (UTC) Received: from eg.sd.rdtc.ru (eg.sd.rdtc.ru [IPv6:2a03:3100:c:13::5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id A0B891A4A for ; Mon, 6 Jan 2014 18:03:24 +0000 (UTC) X-Envelope-From: eugen@grosbein.net X-Envelope-To: Received: from eg.sd.rdtc.ru (eugen@localhost [127.0.0.1]) by eg.sd.rdtc.ru (8.14.7/8.14.7) with ESMTP id s06I3FNf069890 for ; Tue, 7 Jan 2014 01:03:16 +0700 (NOVT) (envelope-from eugen@grosbein.net) Message-ID: <52CAEFE3.9020106@grosbein.net> Date: Tue, 07 Jan 2014 01:03:15 +0700 From: Eugene Grosbein User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130415 Thunderbird/17.0.5 MIME-Version: 1.0 To: FreeBSD Stable Subject: Re: Cross-compilation (i386 under amd64) is broken References: <52CA6052.6090009@grosbein.net> In-Reply-To: <52CA6052.6090009@grosbein.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-0.3 required=5.0 tests=ALL_TRUSTED,BAYES_00, LOCAL_FROM autolearn=no version=3.3.2 X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * 2.6 LOCAL_FROM From my domains X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eg.sd.rdtc.ru X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Jan 2014 18:03:26 -0000 On 06.01.2014 14:50, Eugene Grosbein wrote: > Hi! > > For long time I was building NanoBSD for i386 using amd64 box with success, > just adding NANO_ARCH=i386, TARGET=i386 and TARGET_ARCH=i386 to CONF_BUILD flags > used to create custom make.conf. > > But for recent 9.2-STABLE that seems to be broken: > > -------------------------------------------------------------- >>>> stage 3.1: making dependencies > -------------------------------------------------------------- > cd /usr/obj/nanobsd.gw//i386.i386/usr/local/src/sys/GW; MAKEOBJDIRPREFIX=/usr/obj/nanobsd.gw//i386.i386 MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE= _SHLIBDIRPREFIX=/usr/obj/nanobsd.gw//i386.i > 386/usr/local/src/tmp _LDSCRIPTROOT= VERSION="FreeBSD 9.2-STABLE amd64 902504" INSTALL="sh /usr/local/src/tools/install.sh" PATH=/usr/obj/nanobsd.gw//i386.i386/usr/local/src/tmp/legacy/us > r/sbin:/usr/obj/nanobsd.gw//i386.i386/usr/local/src/tmp/legacy/usr/bin:/usr/obj/nanobsd.gw//i386.i386/usr/local/src/tmp/legacy/usr/games:/usr/obj/nanobsd.gw//i386.i386/usr/local/src/tmp/legac > y/bin:/usr/obj/nanobsd.gw//i386.i386/usr/local/src/tmp/usr/sbin:/usr/obj/nanobsd.gw//i386.i386/usr/local/src/tmp/usr/bin:/usr/obj/nanobsd.gw//i386.i386/usr/local/src/tmp/usr/games:/sbin:/bin: > /usr/sbin:/usr/bin COMPILER_TYPE=gcc /usr/obj/nanobsd.gw//usr/local/src/make.amd64/make -j 3 __MAKE_CONF=/usr/obj/nanobsd.gw//make.conf.build KERNCONFDIR=/home/nanobsd/gw KERNCONF=GW -m /usr > /local/src/share/mk TARGET=i386 TARGET_ARCH=i386 KERNEL=kernel depend -DNO_MODULES_OBJ > machine -> /usr/local/src/sys/i386/include > x86 -> /usr/local/src/sys/x86/include > awk -f /usr/local/src/sys/tools/vnode_if.awk /usr/local/src/sys/kern/vnode_if.src -p > awk -f /usr/local/src/sys/tools/vnode_if.awk /usr/local/src/sys/kern/vnode_if.src -q > cc -O -pipe -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I/usr/local/src/sys -I/usr/local/src/sys/contrib/altq -I/usr/local/src/sys/contrib/ipfilter -I/usr/local/src/sys/contrib/pf -I/usr/local/src/sys/dev/ath -I/usr/local/src/sys/dev/ath/ath_hal -I/usr/local/src/sys/contrib/ngatm -I/usr/local/src/sys/dev/twa -I/usr/local/src/sys/gnu/fs/xfs/FreeBSD -I/usr/local/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/local/src/sys/gnu/fs/xfs -I/usr/local/src/sys/dev/cxgb -I/usr/local/src/sys/dev/cxgbe -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector -c /usr/local/src/sys/i386/linux/li! nu! > x_genassym > .c > awk -f /usr/local/src/sys/tools/miidevs2h.awk /usr/local/src/sys/dev/mii/miidevs > awk -f /usr/local/src/sys/tools/pccarddevs2h.awk /usr/local/src/sys/dev/pccard/pccarddevs > /usr/local/src/sys/i386/linux/linux_genassym.c:1: error: -mpreferred-stack-boundary=2 is not between 4 and 12 > *** [linux_genassym.o] Error code 1 > 1 error > *** [buildkernel] Error code 2 > 1 error > *** [buildkernel] Error code 2 > 1 error > > It seems, gcc now thinks it builds code for amd64, insisting on long word stack alignment. > > Please help to unbreak this. It seems, make buildkernel fails in this case if obj directory does not contain results of make buildworld. The problem is solved running make buildworld before buildkernel. Sorry for noise. Eugene Grosbein