Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jun 2012 20:58:10 -0700
From:      Tim Kientzle <tim@kientzle.com>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        freebsd-arm@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: Possible fix for Perl failing with ../lib/auto/POSIX/POSIX.so: Undefined symbol "__flt_rounds" on ARM
Message-ID:  <B2276F36-02C3-4974-929C-32285C964375@kientzle.com>
In-Reply-To: <20120614123432.GB2337@deviant.kiev.zoral.com.ua>
References:  <4FCE211D.10204@semihalf.com> <0FE5C5BF-FADE-49BA-BF38-00018A752F14@kientzle.com> <4FD6FB72.10900@semihalf.com> <20120612084917.GL2337@deviant.kiev.zoral.com.ua> <E7AE0433-06F3-4024-B05B-87EA494856D2@kientzle.com> <20120614123432.GB2337@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

On Jun 14, 2012, at 5:34 AM, Konstantin Belousov wrote:

> 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.

Changed in r237110.

Tim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B2276F36-02C3-4974-929C-32285C964375>