From owner-freebsd-arm@FreeBSD.ORG Fri Jun 15 03:58:19 2012 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8D6411065678; Fri, 15 Jun 2012 03:58:19 +0000 (UTC) (envelope-from tim@kientzle.com) Received: from monday.kientzle.com (99-115-135-74.uvs.sntcca.sbcglobal.net [99.115.135.74]) by mx1.freebsd.org (Postfix) with ESMTP id 6250E8FC15; Fri, 15 Jun 2012 03:58:19 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.4/8.14.4) id q5F3wCVN072705; Fri, 15 Jun 2012 03:58:12 GMT (envelope-from tim@kientzle.com) Received: from [192.168.2.143] (CiscoE3000 [192.168.1.65]) by kientzle.com with SMTP id 389bqi3in9tpbtmamnex7ni4cs; Fri, 15 Jun 2012 03:58:12 +0000 (UTC) (envelope-from tim@kientzle.com) Mime-Version: 1.0 (Apple Message framework v1278) Content-Type: text/plain; charset=us-ascii From: Tim Kientzle In-Reply-To: <20120614123432.GB2337@deviant.kiev.zoral.com.ua> Date: Thu, 14 Jun 2012 20:58:10 -0700 Content-Transfer-Encoding: 7bit Message-Id: References: <4FCE211D.10204@semihalf.com> <0FE5C5BF-FADE-49BA-BF38-00018A752F14@kientzle.com> <4FD6FB72.10900@semihalf.com> <20120612084917.GL2337@deviant.kiev.zoral.com.ua> <20120614123432.GB2337@deviant.kiev.zoral.com.ua> To: Konstantin Belousov X-Mailer: Apple Mail (2.1278) 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 X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jun 2012 03:58:19 -0000 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