From owner-freebsd-amd64@FreeBSD.ORG Mon Dec 11 19:07:02 2006 Return-Path: X-Original-To: freebsd-amd64@freebsd.org Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4111516A4B3 for ; Mon, 11 Dec 2006 19:07:02 +0000 (UTC) (envelope-from kael.fischer@gmail.com) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.227]) by mx1.FreeBSD.org (Postfix) with ESMTP id 11DA543E1B for ; Mon, 11 Dec 2006 18:57:52 +0000 (GMT) (envelope-from kael.fischer@gmail.com) Received: by wr-out-0506.google.com with SMTP id i28so757527wra for ; Mon, 11 Dec 2006 10:58:43 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=uaBGK4RIMs7+zkujGPN0aLtLbIvUk56BmgJING8fQi5mSuHjHWybEvoJPnAz6OzV2wCOUPb8jbUPuDD8dNoWR5tVsVUtlWBmclNJuWOpd7mcNgXkAVPmaP4AiEm86X2FUtUdMaB84m/evPPDW5BIQ9owBWa48ssDQ4BAYshs3+Q= Received: by 10.78.181.13 with SMTP id d13mr1592332huf.1165863521292; Mon, 11 Dec 2006 10:58:41 -0800 (PST) Received: by 10.78.140.11 with HTTP; Mon, 11 Dec 2006 10:58:36 -0800 (PST) Message-ID: Date: Mon, 11 Dec 2006 10:58:36 -0800 From: "Kael Fischer" To: freebsd-amd64@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Re: ldexpf in 6.x amd64 [summary] X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: kael@sonic.net List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Dec 2006 19:07:02 -0000 Hi Everybody: The problem is ldexpf(3) is not found on some amd64 systems. I believe this problem exists on all 6.0-6.1 RELEASE amd64 systems, and on the 6.2 RELENG tags. -DIAGNOSIS- How to check if you are effected: grep the 'nm -D /usr/lib/libm.so' output for 'ldexp'. You should get a line matching 'ldexpf', e.g.: # nm -D /usr/lib/libm.so | grep ldexp U ldexp 000000000000ff90 T ldexpf 000000000000ff70 T ldexpl If you do not find the ldexpf symbol, you are effected. -FIX- Required sources: The required version of src/lib/msun/src/s_scalbnf.c is 1.8 which has been included in all 6.x RELENGs. The required assembly version (src/lib/msun/amd64/s_scalbnf.S 1.2) _is_not_correct_ in _any_ RELEASE to date. It is correct in HEAD but not in 6.0, 6.1 or 6.2 RELENGs. (http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/msun/amd64/s_scalbnf.S). Build, Test, Install: After updating your s_scalbnf.S, you can 'make clean; make build' in src/lib/msun. Your new library will be /usr/obj/usr/src/lib/msun/libm.so.4. Check for ldexpf, as above. And 'make install' if the build worked. Note that this still needs to be fixed in the future releases, and that this is really a 'bad thing'. Thanks to Steve Kargl for getting me pointed in the right direction. -Kael