Skip site navigation (1)Skip section navigation (2)
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>