From owner-freebsd-stable@FreeBSD.ORG Mon Jan 6 07:50:57 2014 Return-Path: Delivered-To: freebsd-stable@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0396C31B for ; Mon, 6 Jan 2014 07:50:57 +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 6F3F91FF2 for ; Mon, 6 Jan 2014 07:50:56 +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 s067ogQ6066402 for ; Mon, 6 Jan 2014 14:50:42 +0700 (NOVT) (envelope-from eugen@grosbein.net) Message-ID: <52CA6052.6090009@grosbein.net> Date: Mon, 06 Jan 2014 14:50:42 +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: Cross-compilation (i386 under amd64) is broken 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 07:50:57 -0000 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/linu! 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. Eugene Grosbein