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