Subject: Re: build problems
To: None <port-pmax@NetBSD.ORG>
From: Simon Burge <simonb@telstra.com.au>
List: port-pmax
Date: 06/29/1997 01:55:37
More replying to myself :-)

> Previously I wrote:
> 
> > I'm getting the following:
> > 
> > ===> ksh
> > sh /usr/src/bin/ksh/emacs-gen.sh /usr/src/bin/ksh/emacs.c > tmpemacs.out
> > awk: cmd. line:17: (FILENAME=- FNR=1) fatal: internal error line 170, file: /usr/src/gnu/usr.bin/gawk/eval.c
> > *** Error code 1
> > 
> > Stop.
> > *** Error code 1
> > 
> > I've built and installed gawk, but with no effect.  At this stage, sleep
> > is more important than line 170 of eval.c (which looked like it will
> > give me nightmares after a _quick_ glance), but I'll look further in the
> > morning if noone else suggests anything...
> 
> I didn't mention that this was on a pmax.  Since then, I've installed
> a virgin copy of gawk from the GNU gawk-2.15.6 distribution, and that
> fails too.  However, gawk-3.0.3 works fine.  A gawk-2.15.6 binary
> compiled under Ultrix (with gcc 2.7.2.2) works fine...
> 
> I'm now starting to suspect a compiler bug (for lack of anything else to
> suspect).  I've tried compiling with no optimisation, -O and -O2 with
> the same results.  I've not yet delved into the internals of gawk.  Any
> suggestions?

Well, I've tracked the problem.  Seems to be the following patch for
setjmp and friends:

> Date: 18 Jun 1997 22:30:04 -0000
> From: source@NetBSD.ORG
> To: source-changes@NetBSD.ORG
> Subject: NetBSD master CVS tree commits
> 
> jonathan
> Wed Jun 18 15:23:16 PDT 1997
> Update of /a/cvsroot/src/lib/libc/arch/mips/gen
> In directory netbsd1:/var/slash-tmp/cvs-serv21377
> 
> Modified Files:
> 	_setjmp.S 
> Log Message:
> Add .set noreorder/.set reorder around .cpload

If I remove the .set noreorder/.set reorder around .cpload, everything
works fine.  I'm not sure what else may have broken with this - I'm in
the process of doing another make build now...

Jonathan, what's the reasoning behind the change?  Was it to fix another
problem?  I'm still at a loss as to why gawk 3.0.3 works ok though.
The code around the setjmp in eval.c didn't change between 2.16.5 and
3.0.3...  Another PR?

Simon.

ps: Thanks to both Jonathan and Sean Davidson for pointing me in the
direction of libc...