From owner-svn-src-head@FreeBSD.ORG Mon Mar 1 15:37:32 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96E931065670; Mon, 1 Mar 2010 15:37:32 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 48AD28FC0C; Mon, 1 Mar 2010 15:37:32 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id o21FW0YX047559; Mon, 1 Mar 2010 08:32:00 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Mon, 01 Mar 2010 08:32:16 -0700 (MST) Message-Id: <20100301.083216.1031433154865964320.imp@bsdimp.com> To: peterjeremy@acm.org From: "M. Warner Losh" In-Reply-To: <20100301091756.GA73361@server.vk2pj.dyndns.org> References: <4B8AF55C.6040103@freebsd.org> <20100228.160732.597029496557504767.imp@bsdimp.com> <20100301091756.GA73361@server.vk2pj.dyndns.org> X-Mailer: Mew version 6.3 on Emacs 22.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: src-committers@freebsd.org, delphij@gmail.com, svn-src-all@freebsd.org, attilio@freebsd.org, kostikbel@gmail.com, nwhitehorn@freebsd.org, svn-src-head@freebsd.org, emaste@freebsd.org Subject: Re: svn commit: r204309 - in head/sys: amd64/amd64 amd64/isa conf i386/bios i386/cpufreq i386/i386 i386/isa i386/xen isa modules/bios/smbios modules/bios/vpd modules/cpufreq pc98/pc98 x86 x86/bios x86/... X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Mar 2010 15:37:32 -0000 In message: <20100301091756.GA73361@server.vk2pj.dyndns.org> Peter Jeremy writes: : On 2010-Feb-28 16:07:32 -0700, "M. Warner Losh" wrote: : >In message: <4B8AF55C.6040103@freebsd.org> : > Nathan Whitehorn writes: : >: M. Warner Losh wrote: : >: > In message: <20100228195041.GA68446@server.vk2pj.dyndns.org> : >: > Peter Jeremy writes: : >: > : On 2010-Feb-26 14:57:36 +0100, Attilio Rao : >: > wrote: : >: > : >For the future, however, probabilly we would need to do something : >: > like : >: > : >pc98 already does wrt i386 (i386/include/ pc98/include/ : >: > amd64/include/ : >: > : >just have files wrappers to the generic one under x86/include/ when : >: > : >necessary). : >: > : : Not that something like this is also critical for getting : >: > i386/amd64 : >: > : cross compilation to work - one of the blocking issues is that the : >: > : correct machine/ includes are not available in cross-compilatio : >: > mode. : >: > : >: > Huh? : >: > : >: > I cross build all the time, and the machine/ includes are always : >: > right, with or without this patch. Maybe you could explain what you : >: > mean here... : >: > : >: I'm guessing what was meant is that one benefit of a merged tree (like : >: we will have with powerpc) is that you can do cc -m32 on a 64-bit host : >: to get a 32-bit binary, which is less than trivial now. : : Yep. : : >True enough. But we don't have anywhere close to a merged tree on : >x86, and won't for the foreseeable future. I don't really want to see : >an include32, when all the cross building tools exist in the tree : >already (see XDEV in Makefile.inc1)... : : I agree that we don't want an include32 - all that we need is the : machine-dependent directory (i386, amd64, ...). No. We need a merged tree to make it actually work, otherwise machine/foo.h won't work right. simply having both i386/foo.h and amd64/foo.h is not sufficient. : > If you are cross building, you : >really need a full cross building environment. The -m32 hacks we have : >now are, as you describe, insufficient to the task... : : For building i386 executables in an amd64 world, we already have : almost everything needed - the toolchain is present, the libraries are : present, most of the headers are present. The only parts of the : environment that aren't installed in default are the machine-dependent : headers (and some glue to include the appropriate architecture). : : I'm not saying that installing the i386 headers will magically make : '-m32' work but it's a necessary prerequisite. We need merged support for both out of one tree, and we're nowhere near that. The toolchain also is only mostly present, last time I looked there were small bits and pieces missing here and there. Also, -m32 is a bit of a hack, since it isn't as useful as you'd like once you start to compile ports. Too many of them don't like it when you pass in a cc that has args with it, or they don't religiously use $CC, which means you get some 64-bit and some 32-bit goo. We have the same problem with MIPS... Warner