On 8 Jul 2001, Dag-Erling Smorgrav wrote:
> "David O'Brien" <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message