Possible fix for Perl failing with ../lib/auto/POSIX/POSIX.so:
Undefined symbol "__flt_rounds" on ARM
Konstantin Belousov
kostikbel at gmail.com
Thu Jun 14 12:34:50 UTC 2012
On Wed, Jun 13, 2012 at 08:32:19PM -0700, Tim Kientzle wrote:
> On Jun 12, 2012, at 1:49 AM, Konstantin Belousov wrote:
> >>>
> >>> On Jun 5, 2012, at 8:09 AM, Jan Sieka wrote:
> >>>>
> >>>>
> >>>> After investigating the issue it appeared that __flt_rounds symbol is
> >>>> not exported by libc. Applying the following patch, recompilling world
> >>>> and Perl fixed the problem and allowed to use Perl on SheevaPlug:
> >>>>
> >>>> diff --git a/lib/libc/arm/Symbol.map b/lib/libc/arm/Symbol.map
> >>>> index e8c7f1d..8cdcdaf 100644
> >>>> --- a/lib/libc/arm/Symbol.map
> >>>> +++ b/lib/libc/arm/Symbol.map
> >>>> @@ -70,6 +70,7 @@ FBSDprivate_1.0 {
> >>>> __divdf3;
> >>>> __floatsisf;
> >>>> __floatsidf;
> >>>> + __flt_rounds;
> >>>> __fixsfsi;
> >>>> __fixdfsi;
> >>>> __fixunssfsi;
>
>
> > If the symbols are used by normal programs, that I think
> > we should indeed guarantee ABI stability for them, and FBSD_1.3
> > namespace is the right namespace to use.
>
> Why 1.3?
>
> This is a common function across every architecture except MIPS right
> now (and that's probably easily remedied), so why would it be in
> a different section for different architectures?
The libc.so built as a result is architecture-specific, so it shall
follow the ABI and ABI history of that architecture. By the project
policy, a symbol added during the lifetime of CURRENT-10, goes into
FBSD_1.3 version namespace. What other arches do there is irrelevant.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20120614/a7153323/attachment.pgp
More information about the freebsd-arm
mailing list