arm/154189: lang/perl5.12 doesn't build on arm
Naoyuki Tai
ntai at smartfruit.com
Fri Sep 23 05:10:05 UTC 2011
The following reply was made to PR arm/154189; it has been noted by GNATS.
From: Naoyuki Tai <ntai at smartfruit.com>
To: bug-followup at FreeBSD.org, kvedulv at kvedulv.de
Cc:
Subject: Re: arm/154189: lang/perl5.12 doesn't build on arm
Date: Fri, 23 Sep 2011 00:42:41 -0400
--20cf30781540855aea04ad94704f
Content-Type: text/plain; charset=UTF-8
I have built miniperl that runs by removing "-DPIC -fPIC" from the c flags
everywhere.
After "make build" fails at miniperl core dump, I removed the *.o, and
removed "-DPIC -fPIC" from make files, cflags, etc.
Then, I restarted the build in the work/perl-5-12.4 directory with gmake.
This builds miniperl that runs.
miniperl crashes regardless of debug or optimized build.
So, this is not a compiler optimization problem.
From those two, the reason of miniperl core dump may be because the objects
compiled with -fPIC is not compatible with static-linked miniperl, or
miniperl thinking it's statically linked.
I suspect that the register for PIC is not either properly set, or the it's
using wrong register for PIC access.
On Intel machine, the objects compiled with -fPIC links fine with miniperl.
Someone with the knowledge of ARM linkage model should be able to at least
diag the issue more precisely, or suggest appropriate compile/link options.
Another possible work around is to build the perl as statically linked
binary and not create libperl.so.
-- Tai
--20cf30781540855aea04ad94704f
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
I have built miniperl that runs by removing=C2=A0 "-DPIC -fPIC" f=
rom the c flags everywhere.<br>After "make build" fails at minipe=
rl core dump, I removed the *.o, and removed "-DPIC -fPIC" from m=
ake files, cflags, etc.<br>
Then, I restarted the build in the work/perl-5-12.4 directory with gmake.<b=
r>This builds miniperl that runs.<br><br>miniperl crashes regardless of deb=
ug or optimized build. <br>So, this is not a compiler optimization problem.=
<br>
<br>From those two, the reason of miniperl core dump may be because the obj=
ects compiled with -fPIC is not compatible with static-linked miniperl, or =
miniperl thinking it's statically linked.<br>I suspect that the registe=
r for PIC is not either properly set, or the it's using wrong register =
for PIC access.<br>
<br>On Intel machine, the objects compiled with -fPIC links fine with minip=
erl.<br><br>Someone with the knowledge of ARM linkage model should be able =
to at least diag the issue more precisely, or suggest appropriate compile/l=
ink options.<br>
<br>Another possible work around is to build the perl as statically linked =
binary and not create libperl.so.<br>
<br>-- Tai<br><br>
--20cf30781540855aea04ad94704f--
More information about the freebsd-arm
mailing list