Subject: Re: toolchain/36159: Cross build on Cygwin fails (sha1.c)
To: None <gnats-bugs@NetBSD.org>
From: Valeriy E. Ushakov <uwe@stderr.spb.ru>
List: netbsd-bugs
Date: 04/17/2007 17:23:28
On Tue, Apr 17, 2007 at 11:55:01 +0000, Matthias Scheler wrote:

>  On Tue, Apr 17, 2007 at 04:05:00AM +0000, bsh@NetBSD.org wrote:
>  > Index: sha1/sha1.c
>  > ===================================================================
>  > RCS file: /u0/cvsupbase/cvsroot-netbsd/src/common/lib/libc/hash/sha1/sha1.c,v
>  > retrieving revision 1.2
>  > diff -u -r1.2 sha1.c
>  > --- sha1/sha1.c	27 Oct 2006 21:25:21 -0000	1.2
>  > +++ sha1/sha1.c	17 Apr 2007 01:42:46 -0000
>  > @@ -146,10 +146,10 @@
>  >   * Hash a single 512-bit block. This is the core of the algorithm.
>  >   */
>  >  void SHA1Transform(state, buffer)
>  > -    u_int32_t state[5];
>  > +    uint32_t state[5];
>  >      const u_char buffer[64];
>  >  {
>  > -    u_int32_t a, b, c, d, e;
>  > +    uint32_t a, b, c, d, e;
>  >      CHAR64LONG16 *block;
>  >  
>  >  #ifdef SHA1HANDSOFF
>  
>  This is not the correct fix. "src/tools/compat/configure" checks for
>  the existence of "u_int32_t". Can you please check "config.log" to
>  find out what the result of that check was?

My reading of the report is that the problem is not lack of u_int32_t,
the problem is that u_int32_t and uint32_t get defined incompatibly.
Anyway

. it's better to use the same type in the declaration and definition
. uint32_t is standard, so it's the preffered one

So I think the fix is fine.


SY, Uwe
-- 
uwe@stderr.spb.ru                       |       Zu Grunde kommen
http://snark.ptc.spbu.ru/~uwe/          |       Ist zu Grunde gehen