Subject: Re: perl on arm problem?
To: Ignatios Souvatzis <is@netbsd.org>
From: Richard Earnshaw <Richard.Earnshaw@buzzard.freeserve.co.uk>
List: port-arm
Date: 05/08/2005 17:02:54
On Sun, 08 May 2005 17:37:09 +0200, Ignatios Souvatzis wrote:

> > Here's a work-around:
> (-fno-cse-skip-blocks for MACHINE_ARCH == arm)
> 
> This works for me. Three questions:
> 
> - the bug you cite above also shows on ia64 and m68k, wouldn't this apply
>   to us also?
> 

Probably, but I've not tried either of those, so I'm unable to confirm the 
report.  More significantly, I can't prove that -fno-cse-skip-blocks would 
work around the problem on those platforms, since although I know it makes 
the problem go away on ARM, that is not proof that that pass is the cause 
of the problem (it might just be the one where the symptom happens to 
manifest itself).

> - shouldn't this be applies to the global mk.conf (or another appropriate
>   place) for arm, until the compiler can be fixed? If this is a compiler
>   error, it should eventually show up elsewhere?

I don't think we need to be that paranoid.  Compilers are generally 
riddled with bugs that are only exposed on very rare occasions.  If we 
started turning off passes everywhere because on rare occasions they might 
do the wrong thing we'd soon have no optimizations on at all.

If there was evidence of wide-spread miscompilation without this flag then 
I might change my opinion, but I'm not aware of any other instances of 
this anywhere.

> 
> - If this is expected to only show up with perl, should I (or somebody else)
>   commit the workaround to pkgsrc?
> 

That would be great.  It would be even better if it could be made to 
detect that it was gcc-3.3.x and only apply the flag in that case.  If 
not, then a comment ought to be added to that effect, so that we can 
remove it once we stop using that compiler.

R.