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.