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 for a
> > > MFC.
> > 
> > That wouldn't actually fix the problem, since it would only help for
> > bootstrapping 5.0 from very recent versions of 4.x.
> 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.
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.
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.
> It would be the same problem without autoconf, the code could have been
> written only the the 5-CURRENT API.
> > 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.
> I personally believe we should build GCC in the normal manner, but this
> is no longer my decision to make.
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.)

Ruslan Ermilov          Sysadmin and DBA,
[EMAIL PROTECTED]           Sunbay Software AG,
[EMAIL PROTECTED]          FreeBSD committer,
+380.652.512.251        Simferopol, Ukraine

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

Attachment: msg38356/pgp00000.pgp
Description: PGP signature

Reply via email to