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...