Possible fix for Perl failing with ../lib/auto/POSIX/POSIX.so: Undefined symbol "__flt_rounds" on ARM

Tim Kientzle tim at kientzle.com
Thu Jun 14 03:32:21 UTC 2012


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?

Tim




More information about the freebsd-arm mailing list