Date: Thu, 21 Jun 2012 08:07:07 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-hackers@freebsd.org Cc: Mike Meyer <mwm@mired.org> Subject: Re: EFI development tools Message-ID: <201206210807.07123.jhb@freebsd.org> In-Reply-To: <20120618164632.0c11695b@bhuda.mired.org> References: <4FDBBACF.9040809@shadowsun.net> <4FDF7693.6010506@freebsd.org> <20120618164632.0c11695b@bhuda.mired.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, June 18, 2012 4:46:32 pm Mike Meyer wrote: > On Mon, 18 Jun 2012 13:42:27 -0500 > Nathan Whitehorn <nwhitehorn@freebsd.org> wrote: > > > On 06/17/12 19:43, Mike Meyer wrote: > > > Eric McCorkle<eric@shadowsun.net> wrote: > > >> The -m32 flag seems to be the culprit; removing it fixes the problem. > > >> This is why I was having problems, as the offsets in EFI_SYSTEM_TABLE > > >> were wrong. > > >> In any case, this is a pretty serious error, and someone should try to > > >> reproduce it and take a look at it. > > > This is a known issue, and had been around for a long time. You can't reliably build 32 bit binaries (what the -m32 flag specifies) on a 64 bit system. The header files (and possibly other things) are wrong. > > > Doesn't look like anyone has opened a PR for it. > > This isn't as complicated as you make it seem. buildworld already does > > it to build the things in lib32 and on some platforms (mips and powerpc) > > the headers are the same for both 32- and 64-bit systems and so -m32 > > works perfectly already. All that is needed on x86 is some further > > header unification, which seems to be in progress. > > It isn't as simple as you make it seem, either. buildworld has been > cross-compiling for years now. But buildworld builds against system > headers/libraries/etc other than those installed on the system, so > making it use the appropriate ones for a cross-compile is a > straightforward modification. Changing a build process that expect to > build against the headers/libraries/etc installed on the system is a > lot more work. Note that all the current boot bits on amd64 use -m32 and work fine. I think this is not nearly as complicated as you are making it out to be. > The header unification has been "in progress" for years. Actually, jilles@ has only been working on that for x86 in the last year or so. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206210807.07123.jhb>