Date: Fri, 23 Sep 2011 05:10:05 GMT From: Naoyuki Tai <ntai@smartfruit.com> To: freebsd-arm@FreeBSD.org Subject: Re: arm/154189: lang/perl5.12 doesn't build on arm Message-ID: <201109230510.p8N5A5vQ063238@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR arm/154189; it has been noted by GNATS. From: Naoyuki Tai <ntai@smartfruit.com> To: bug-followup@FreeBSD.org, kvedulv@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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201109230510.p8N5A5vQ063238>