Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 May 2002 09:31:11 +0300
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        "David O'Brien" <obrien@FreeBSD.org>, Bruce Evans <bde@zeta.org.au>, current@FreeBSD.org
Subject:   Re: [PATCH] cross-arch bootstrapping is broken by GCC 3.1
Message-ID:  <20020515063110.GA78035@sunbay.com>
In-Reply-To: <20020514210705.A36814@dragon.nuxi.com>
References:  <20020514120758.D31896@dragon.nuxi.com> <20020515130406.S6466-100000@gamplex.bde.org> <20020514210705.A36814@dragon.nuxi.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--3MwIy2ne0vdjdPXF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, May 14, 2002 at 09:07:05PM -0700, David O'Brien wrote:
> On Wed, May 15, 2002 at 01:16:23PM +1000, Bruce Evans wrote:
> > > > 4.x i386 and old 5.0 i386 can no longer produce current 5.0 alpha
> > > > worlds due to the lack of atoll(3) in libc.  This patch fixes it:
> > >
> > > Considering how simple src/lib/libc/stdlib/atoll.c is; lets ask RE fo=
r a
> > > MFC.
> >=20
> > That wouldn't actually fix the problem, since it would only help for
> > bootstrapping 5.0 from very recent versions of 4.x.
>=20
> Personally I do not mind requiring latest 4-STABLE to build -CURRENT
> (either for cross or simple `world').  I think that is all we can
> officially support.  I know RU wants to be able to upgrade from say 4.1 to
> 5-CURRENT.  I think that is a nice thing; but if it is going to be a
> requirement it should become an officially stated one.
>=20
I'm not only "wanting" it, this was implemented and just possible with
2.95 in the tree, and it becomes possible with this patch again.  (There
are some not yet fixed unrelated problems in make(1) that prevent 4.0
to upgrade (non-cross) to anything later, but the fix is simple, and
I'm going to commit it later today.)

I insist we should officially support upgrading from X.any to X+1.0-R,
minimally.  I will try to find some time this week to make sure we can
still upgrade from 4.x to 4.6, before we roll it.  (Didn't check it
for a long time, and this occasionally gets broken.)

> The only fix is to import all of libiberty and create a config.h that
> implies Version 7.
>=20
The only correct fix would be to have an ability to create config.h on
the fly, for the host environment.

> > The problem is the usual one with committing files generated by
> > autoconfig.
>=20
> It would be the same problem without autoconf, the code could have been
> written only the the 5-CURRENT API.
>=20
> > This gives a configuration that might only be valid for the host
> > machine that ran autoconfig.  Cross-compiling of even portable
> > cross-compile-aware sources like gcc is broken by this.
>=20
> I personally believe we should build GCC in the normal manner, but this
> is no longer my decision to make.
>=20
This actually doesn't affect only cross-arch case, the subject is wrong.
It affects any arch with HOST_BITS_PER_WIDE_INT > HOST_BITS_PER_LONG e.g.
alpha.  Forget about 4.x for a moment and imagine you have a pre-atoll(3)
5.0-CURRENT alpha (atoll(3) was committed on 2001/11/28).  A non-cross
upgrading from it is broken too without this patch.  (Please see
contrib/gcc/read-rtl.c for where atoll(3) is actually used.)


Cheers,
--=20
Ruslan Ermilov		Sysadmin and DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

--3MwIy2ne0vdjdPXF
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iD8DBQE84gCuUkv4P6juNwoRAt0BAJ9En0Ax5dQMuepQ7T4lvJB1u6SzmQCeKg29
/6YrxSEksuluhbbAkdZNWcs=
=a+Ii
-----END PGP SIGNATURE-----

--3MwIy2ne0vdjdPXF--

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?20020515063110.GA78035>