Subject: Re: 'gcc-3.3 -frename-registers' segv on building perl-5.8
To: David Brownlee <abs@netbsd.org>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-toolchain
Date: 06/08/2003 12:16:24
On Sat, 7 Jun 2003, David Brownlee wrote:

> On Tue, 3 Jun 2003, David Brownlee wrote:
>
> > 	The plot (or possibly the smoke) thickens: gcc-3.3 from outside
> > 	pkgsrc builds perl-5.8 outside pkgsrc fine with '-O3 -march=k6-2'.
> > 	Next to try a pkgsrc gcc-3.3 building a non pkgsrc perl-5.8...
>
> 	The problem is completely unrelated to -march=XXX flags.
> 	The following will fail to compile perl-5.8 - the critical
> 	option is -Duseshrplib to build a shared libperl combined
> 	with -frename-registers.
>
> 	Both gcc and perl built outside pkgsrc.
>
> /usr/bin/env CFLAGS="-O1 -frename-registers" ./Configure -sde \
> 	-Doptimize="-O1 -frename-registers" -Dcc="/gcc/bin/cc" -Duseshrplib
> /usr/bin/env CC="/gcc/bin/cc" CFLAGS="-O1 -frename-registers" make

Does it help to upgrade to binutils 2.13.2.1? According to this...

  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10877

the fix is to use binutils newer than 2.12.90. NetBSD 1.6 is shipping
with binutils 2.11.2. They also say that -fno-rename-registers may not
work around the bug in all cases.

I'll look into updating the binutils package, and making the gcc3
package use them. Assuming that's the problem, this isn't an issue for
the base toolchain at all.

Frederick