Date: Sun, 8 Jul 2001 17:42:28 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Dag-Erling Smorgrav <des@ofug.org> Cc: obrien@FreeBSD.ORG, Kris Kennaway <kris@obsecurity.org>, John Baldwin <jhb@FreeBSD.ORG>, freebsd-current@FreeBSD.ORG, Jim.Pirzyk@disney.com, mjacob@feral.com, Jordan Hubbard <jkh@osd.bsdi.com> Subject: Re: chgrp broken on alpha systems Message-ID: <Pine.BSF.4.21.0107081729520.78285-100000@besplex.bde.org> In-Reply-To: <xzpy9q0wbxr.fsf@flood.ping.uio.no>
next in thread | previous in thread | raw e-mail | index | archive | help
On 8 Jul 2001, Dag-Erling Smorgrav wrote:
> "David O'Brien" <obrien@FreeBSD.org> writes:
> > OR build a 64-bit long (LP64) x86 gcc and test compile with that also.
> > BDE found *lots* of 64-bit dirty code using this technique.
>
> Mind revealing how that's done?
Compiling [g]cc with -DLONG_TYPE_SIZE=64 gives an I32L64P32 compiler
(you can also try setting CHAR_TYPE_SIZE through LONG_DOUBLE_TYPE_SIZE
to unusual values to get a more exotic compiler). Then fix some build
issues (mainly with quad functions in libc; I just hack around these
by copying the 3 relevant 32-bit quad objects to the libc obj directory),
and fix all the unportable code (I fixed enough to bootstrap but haven't
committed everything. I build the world on a normal 32-bit i386 using
something like:
CC='cc -D_LARGE_LONG' \
DESTDIR=/c/z/root \
LONG_TYPE_SIZE=64 \
MAKEOBJDIRPREFIX=/c/z/obj \
time -l make -s world > /tmp/world.out 2>&1
(-D_LARGE_LONG is a wrong hack. It affects <limits.h>, but <limits.h>
should only be affected for the target.).
Bruce
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0107081729520.78285-100000>
