From owner-freebsd-arm@FreeBSD.ORG Thu Jun 14 03:32:20 2012 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (unknown [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E0BF11065677; Thu, 14 Jun 2012 03:32:20 +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 B60518FC14; Thu, 14 Jun 2012 03:32:20 +0000 (UTC) Received: (from root@localhost) by monday.kientzle.com (8.14.4/8.14.4) id q5E3WKvl066426; Thu, 14 Jun 2012 03:32:20 GMT (envelope-from tim@kientzle.com) Received: from [192.168.2.143] (CiscoE3000 [192.168.1.65]) by kientzle.com with SMTP id 67br62wum4iznr6hhwbgpm5dc2; Thu, 14 Jun 2012 03:32:20 +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: <20120612084917.GL2337@deviant.kiev.zoral.com.ua> Date: Wed, 13 Jun 2012 20:32:19 -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> 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: Thu, 14 Jun 2012 03:32:21 -0000 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