This is the mail archive of the libc-hacker@cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Version 2.1.pre1 of the crypt extension


> Date: 26 Feb 1999 16:31:58 -0000
> From: Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
> CC: libc-hacker@cygnus.com
> 
> Hello,
> 
> > The change is a workaround for an egcs bug/omission that is only
> > visible on 32-bit machines when egcs was not built under glibc 2.1.
> > 
> > You can check for the egcs problem by trying the following short
> > program:
> > 
> > int main(void)
> > {
> > #if 4294967295U != 18446744073709551615ULL
> >         return 0;
> > #else
> >         abort();
> > #endif
> > }
> > 
> > If it aborts, you know your egcs has the problem.
> 
> All the egcs that I have compiled so far (none with glibc2.1 though),
> including one for mips-irix6, show this `problem', while SGI cc
> passes.  So, is this really an egcs bug and has nothing to do with
> glibc ?  If so, I'd like to report it as a bug to egcs-bugs, because
> egcs-1.1.2pre2 still shows the problem.

It is an egcs bug (or omission), but it appears on all machines that
do not have <stdint.h>.  Wait a few years until all these machines are
C9X-compliant, and it will go away...

Really, it _should_ be fixed in the special case where one egcs is
compiling another egcs (as in, during `make bootstrap').

It can't be fixed in general for cross-compilers, because if the
underlying compiler doesn't have a 64-bit type, it's very hard to get
this right.

-- 
Geoffrey Keating <geoffk@ozemail.com.au>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]