Re: Cross-compilation to i386

From: Ruslan Ermilov <ru_at_FreeBSD.org>
Date: Mon, 8 Mar 2004 11:11:37 +0200
On Sun, Mar 07, 2004 at 06:58:53PM +0100, Francois Tigeot wrote:
> [copy to -current since it may be of help to other freebsd ports]
> 
> On Thu, Mar 04, 2004 at 06:51:03PM +0100, Francois Tigeot wrote:
> > 
> > I'm currently running a 5.2.1-RELEASE/amd64 system and I'm trying to
> > cross-build an i386 world with the following command :
> > 
> > time nice make buildworld TARGET_ARCH=i386 DESTDIR=/itx
> > 
> > This fails miserably with these error messages :
> > 
> > cc -Os -march=c3 -fno-strict-aliasing -pipe -I/usr/src/sbin/gbde/../../sys -DRESCUE -Wsystem -headers -Werror -Wall -Wno-format-y2k -W -Wstrict-prototypes -Wmissing-prototypes -Wpointer -arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align  -c /usr/src/sys/crypto/sha2/sha2.c
> > {standard input}: Assembler messages:
> > {standard input}:92: Error: bignum invalid
> > {standard input}:93: Error: bignum invalid
> > [more bignum invalid lines]
> 
> I've managed to make it work.
> 
> The 'bignum invalid' error is caused by this type of gcc-generated
> assembly code :
> 
> 		.quad	8158064640168781261
> 		.quad	-5349999486874862801
> 
> For some reason, as doesn't like big negative numbers.
> 
I use the attached patch to cross-compile world for 64-bit machines.

> This is what I did :
> 
> 	- I installed a stock copy of binutils compiled with
> 	--target=i386-freebsd and --enable-64-bit-bfd
> 
> 	- I initiated a buildworld to populate /usr/obj
> 
> 	- After the first build failure, I replaced /usr/obj/i386/usr/src/amd64/usr/bin/as
> 	with the new assembler, protecting it by a chflags command
> 
> The world and kernel builds then completed succesfully. The new i386 kernel
> boots on a diskless machine.
> 
> Now, I understand a new binutils import was scheduled before 5.3-RELEASE.
> Is there any reason not to compile it with the '--enable-64-bit-bfd'
> option on 64-bit architectures ?
> 
Nice to hear there are other options that do not require patching.
David, any chance you can investigate the effect of enabling the
--enable-64-bit-bfd knob?


Cheers,
-- 
Ruslan Ermilov
FreeBSD committer
ru_at_FreeBSD.org

Received on Mon Mar 08 2004 - 00:11:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:46 UTC