Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jun 2012 13:42:27 -0500
From:      Nathan Whitehorn <nwhitehorn@freebsd.org>
To:        Mike Meyer <mwm@mired.org>
Cc:        freebsd-hackers@freebsd.org, Eric McCorkle <eric@shadowsun.net>
Subject:   Re: EFI development tools
Message-ID:  <4FDF7693.6010506@freebsd.org>
In-Reply-To: <2d9e0a80-658b-438f-90f0-1f510fb1cdd8@email.android.com>
References:  <4FDBBACF.9040809@shadowsun.net> <4FDE5E19.5050705@shadowsun.net> <2d9e0a80-658b-438f-90f0-1f510fb1cdd8@email.android.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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. Moreover, if you are 
building standalone binaries (which the EFI stuff probably is) it should 
just work now, since standalone code doesn't depend on system headers.
-Nathan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FDF7693.6010506>