On Fri, Mar 08, 2002 at 12:42:32PM -0500, Michael G Schwern wrote:
> On Fri, Mar 08, 2002 at 04:24:00PM +0000, Nicholas Clark wrote:

> > Ah. What does -O0 give you?
> 
> Appears to work fine.
> 
> > It's gcc.
> 
> Worse.  It's egcs.

Is it the standard compiler on that version of NetBSD?
And is it the most recent version of NetBSD?
[can we just say "upgrade your compiler to a non broken one, or turn off
the optimiser". Hey, can we just default to turning the optimiser off in
Configure if it's egcs for all operating systems?]

> > What does -O -g give you?
> 
> Same failures as -O.
> 
> 
> >  zero. It should turn the optimiser off, hence avoiding any optimiser
> >  bugs, but not enable debugging. I believe that enabling debugging
> >  causes all automatic variables to be initialised to zero, so leaving
> >  them initialised may smoke out the bug's cause]
> 
> I really can't analyize an optimizer bug down to more than "its
> broken".  If you sign up for a TestDrive account on the machine now

To be blunt I don't care enough about NetBSD to put that much effort into
bodging it. In that I have enough other things on my todo list that are
real bugs that are really my fault that really would like to be fixed.
Without needing to be online and paying for it. [I'm doing most things in
offline batch mode, which is generally bandwidth frugal, but does mean
that it either compiles locally, or it's a fiddly problem. Oh, and presumably
Compaq's kit is on your side of the Atlantic, with the ping times that that
implies. From what I remember from a while ago, interactive stuff over the
Atlantic is not fun. And I've got 150ms already from my dialup before it
even starts to work its way over]

> they'll probably have you activated today.  Perl's sitting in
> /tmp/schwern/perl-current.
> 
> Meanwhile, I'll play the monkey.

Are you able to recompile perl's object files one by one without the optimiser
until the problem goes away? I'd guess (hope) that you only need to run one
failing test (op/pack.t) for each relink of miniperl, and then when you think
you have it run the full test suite.

[Although you might need a slightly more involved strategy than that - 

1: start at av.o, recompiling without -O one by one and testing.
2: If it turns out that bugs go away at op.o,
3: work back recompiling with -O (numeric.o, miniperlmain.o) again testing,
4: until you get back to av.o [hopefully]

At which point you can be sure it was only (say) op.o that was the problem.

Or the shortcut check - one by one until you get to (say) op.o (step 2), then
everything else back to -O. If that passes, fine, got it, else carry on at
step 3 above]

Or as above make Configure default egcs to no optimiser and have done.

Nicholas Clark
-- 
Even better than the real thing:        http://nms-cgi.sourceforge.net/

Reply via email to