On Fri, Mar 08, 2002 at 07:55:13PM +0000, Nicholas Clark wrote:
> 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?

It looks like its the standard egcs 1.1.2 for NetBSD.  They also have
a gcc 2.95.3 and pgcc 2.95.2.  I don't know which one of those is
considered the "standard" compiler.

Their copy of perl 5.005_03 was compiled with it:

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
  Platform:
    osname=netbsd, osvers=1.5.2, archname=alpha-netbsd
    uname='netbsd spe159 1.5.2 netbsd 1.5.2 (generic) #37: sat aug 18 10:02:07 mest 
2001 [EMAIL PROTECTED]:usrsrcsysarchalphacompilegeneric alpha '
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
    cc='cc', optimize='-O', gccversion=egcs-2.91.66 19990314 (egcs-1.1.2 release)
    cppflags=''
    ccflags =''


> And is it the most recent version of NetBSD?

Yes.  1.5.2.


> [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?]

It might just be egcs for NetBSD/alpha.  I don't have a NetBSD/x86
machine to try, but I might be able to find an egcs on an alpha that's
not running NetBSD.

I've currently hacked hints/netbsd.sh to do optimize=-O0.  That's
running a full smoke right now.

Might be necessary to throw in a "if its alpha and its egcs,
optimize=-O0".


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

Yep, that's what I've been doing.


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

I'll try the above.  Its a fast machine, shouldn't take long.  If it
doesn't work I'll just punt it off to the NetBSD/alpha folks and we
can put in the hints patch to switch off optimization.


-- 

Michael G. Schwern   <[EMAIL PROTECTED]>    http://www.pobox.com/~schwern/
Perl Quality Assurance      <[EMAIL PROTECTED]>         Kwalitee Is Job One
sun readdened wheat stalks
bowing down in autumn sun
my mind wanders far
        -- stimps

Reply via email to