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/...

M. Warner Losh imp at bsdimp.com
Mon Mar 1 15:37:26 UTC 2010


In message: <20100301092144.GS2489 at deviant.kiev.zoral.com.ua>
            Kostik Belousov <kostikbel at gmail.com> writes:
: On Sun, Feb 28, 2010 at 04:07:32PM -0700, M. Warner Losh wrote:
: > In message: <4B8AF55C.6040103 at freebsd.org>
: >             Nathan Whitehorn <nwhitehorn at FreeBSD.org> writes:
: > : M. Warner Losh wrote:
: > : > In message: <20100228195041.GA68446 at server.vk2pj.dyndns.org>
: > : >             Peter Jeremy <peterjeremy at acm.org> writes:
: > : > : On 2010-Feb-26 14:57:36 +0100, Attilio Rao <attilio at freebsd.org>
: > : > 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...
: > : >
: > : > The issue is that old code has
: > : >
: > : > #include <i386/isa.h>
: > : >
: > : > or whatever in it, and we need to have an i386/isa.h that's just
: > : > #include <x86/isa.h>
: > : >
: > : > Warner
: > : >   
: > : 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.
: > 
: > 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)...  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...
: 
: -m32 is not a hack, it is a standard feature on Linux and Solaris,
: allowing to build both 32 and 64 bit binaries in the host environment,
: not going to cross-compilation or chroot. It is very much missing on
: the FreeBSD.
: 
: Merged x86 tree is ortoghonal to this feature.

I guess what I'm saying is that -m32, as it is implemented today, is a
hack.  Mostly because it is missing all the pieces it needs to make it
work.

Warner


More information about the svn-src-all mailing list