From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20565 invoked by alias); 13 Aug 2007 15:28:18 -0000 Received: (qmail 20528 invoked by uid 22791); 13 Aug 2007 15:28:18 -0000 X-Spam-Check-By: sourceware.org Received: from sunsite.ms.mff.cuni.cz (HELO sunsite.mff.cuni.cz) (195.113.15.26) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 13 Aug 2007 15:28:06 +0000 Received: from sunsite.mff.cuni.cz (localhost.localdomain [127.0.0.1]) by sunsite.mff.cuni.cz (8.13.8/8.13.8) with ESMTP id l7DFXsY6015410; Mon, 13 Aug 2007 17:33:54 +0200 Received: (from jakub@localhost) by sunsite.mff.cuni.cz (8.13.8/8.13.8/Submit) id l7DFXrMw015409; Mon, 13 Aug 2007 17:33:53 +0200 Date: Mon, 13 Aug 2007 15:28:00 -0000 From: Jakub Jelinek To: Kaz Kojima Cc: libc-hacker@sources.redhat.com Subject: Re: About stdlib/strto* change Message-ID: <20070813153353.GP4603@sunsite.mff.cuni.cz> Reply-To: Jakub Jelinek References: <20070813.235606.54189794.kkojima@rr.iij4u.or.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070813.235606.54189794.kkojima@rr.iij4u.or.jp> User-Agent: Mutt/1.4.2.2i Mailing-List: contact libc-hacker-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sourceware.org X-SW-Source: 2007-08/txt/msg00017.txt.bz2 On Mon, Aug 13, 2007 at 11:56:06PM +0900, Kaz Kojima wrote: > There is a build failure for SH during compiling stdlib/strtold_l.c: > > strtold_l.c:61: error: 'strtold_l' aliased to undefined symbol '__strtold_l' > > In Aug 6 Roland's change, libc_hidden_proto (__strtold_l) is added > to include/stdlib.h and weak_alias (__STRTOLD, STRTOLD) is added to > stdlib/strtold_l.c. It seems that libc_hedden_def is needed also > for __strtold_l just before the above weak_alias statement. Is it > right? x86 uses sysdeps/ieee754/ldbl-96/strtold_l.c which includes > stdlib/strtod_l.c instead of stdlib/strtold_l.c and the corresponding > libc_hedden_def was added to stdlib/strtod_l.c at that time. > The attached patch works for me, though I suspect that I've missed > something. I believe you should match what has been added to strtod_l.c, i.e.: { return INTERNAL (__STRTOD) (nptr, endptr, 0, loc); } +#if defined _LIBC +libc_hidden_def (__STRTOLD) +libc_hidden_ver (__STRTOLD, STRTOLD) +#endif weak_alias (__STRTOLD, STRTOLD) otherwise calls to strtold_l from within libc.so will go through PLT. stdlib/strtold_l.c is only used on sizeof (double) == sizeof (long double) arches, which I'm afraid I don't have access to any. Jakub