Subject: Re: port-sparc64/11919: awk produces incorrect results
To: Simon Gerraty <sjg@juniper.net>
From: Greg A. Woods <woods@weird.com>
List: netbsd-bugs
Date: 01/11/2001 02:28:11
[ On Monday, January 8, 2001 at 15:50:21 (-0800), Simon Gerraty wrote: ]
> Subject: port-sparc64/11919: awk produces incorrect results
>
> Building pkgsrc/misc/screen involves a couple of awk scripts to generate
> term.h, comm.h and osdef.h
> On NetBSD-1.5/sparc64 the results are bogus (eg):
> comm.h:122:#define RC_LASTMSG 9223372358977323007
> comm.h:204:#define RC_LAST 9223372702574706687

Does the real AWK produce the right results?  What about mawk (which
will be used in preference if it happens to be installed)?

BWK mentions some 64-bit bug fixes in his April 5, 1999 entry in the
FIXES file.  Perhaps similar bugs exist in the (now rather dated) GAWK
3.0.3 still used by NetBSD?

I've been using the real AWK as the only version on on several platforms
now for some time, though I've not yet tried this on any 64-bit arch.

In fact I build it static in /bin so that I can use it in /etc/rc.d stuff:

text    data    bss     dec     hex     filename
122585  44032   3880    170497  29a01   obj.i386/awk
148128  44032   3624    195784  2fcc8   obj.sparc/awk


I had to re-do the way it builds using yacc (including renaming the
header file created by by yacc) to get it to work in the *BSD build
system, and write a new Makefile of course, but other than that it just
builds and works, and actuall it works very well and reasonably fast
too.  I think it's long past the time when NetBSD should have switched
over to using the real AWK.

In case anyone needs a URL for the real AWK source (apparently last
updated Nov. 27, 2000, but the version number is given as 20001115):

	ftp://plan9.bell-labs.com/who/bwk/awk.tar.gz

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>      <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>