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

Reply via email to