Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-ORBL: [68.122.14.128] Message-ID: <4348282F.7000308@myrealbox.com> Date: Sat, 08 Oct 2005 13:12:31 -0700 From: Tim Prince Reply-To: tprince AT computer DOT org User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050921 MIME-Version: 1.0 To: Joost Kraaijeveld CC: tprince AT computer DOT org, Cygwin Subject: Re: configure and asinl function problem References: <1128766196 DOT 20665 DOT 124 DOT camel AT Panoramix> <4347CC39 DOT 6090903 AT myrealbox DOT com> <1128780609 DOT 20665 DOT 158 DOT camel AT Panoramix> <4347DCA7 DOT 8060306 AT myrealbox DOT com> <1128787472 DOT 20665 DOT 168 DOT camel AT Panoramix> In-Reply-To: <1128787472.20665.168.camel@Panoramix> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Joost Kraaijeveld wrote: > On Sat, 2005-10-08 at 07:50 -0700, Tim Prince wrote: > >>such as the one used in the libstdc++ build itself. Maybe we should >>look into how libstdc++ decides it can support asinl() on Cygwin. Did > > Actually asinl is a built-in functions provided by GCC, so I > *think/hope* that it just is a matter of adding those functions to a > header? > > See: > http://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/Other-Builtins.html > I've never seen trig functions "provided" by gcc; a very few math built-ins are implemented for i386 (fabs, sqrt, et al., where it is clear what needs to be done to support the various -march= options). gcc has always followed the tradition of relying on someone else to provide the C math library, and the corresponding headers. To me, at least, the provision of a framework for defining built-in functions is a separate question from actually "providing" them, in a form ready to use. Commonly used linux glibc headers tend to over-ride even the existing limited built-in implementation, so gcc configure has to deal with that. cygwin continues to get math functions from newlib, which supports primarily platforms without long double. I checked libstdc++ config.log, and it does determine that cygwin supports no long double trig functions. As a result, libstdc++ is built with _asinl() calling asin(). It would seem that a configure script which comes to a different conclusion about cygwin math libraries than the ones used by gcc must be broken. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/