From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30704 invoked by alias); 28 May 2004 09:21:15 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 30689 invoked from network); 28 May 2004 09:21:14 -0000 Received: from unknown (HELO gw-eur4.philips.com) (161.85.125.10) by sourceware.org with SMTP; 28 May 2004 09:21:14 -0000 Received: from smtpscan-eur4.philips.com (smtpscan-eur4.mail.philips.com [130.144.57.167]) by gw-eur4.philips.com (Postfix) with ESMTP id 9A52349C45 for ; Fri, 28 May 2004 09:21:13 +0000 (UTC) Received: from smtpscan-eur4.philips.com (localhost [127.0.0.1]) by localhost.philips.com (Postfix) with ESMTP id 69D0799 for ; Fri, 28 May 2004 09:21:13 +0000 (GMT) Received: from smtprelay-eur2.philips.com (smtprelay-eur2.philips.com [130.144.57.171]) by smtpscan-eur4.philips.com (Postfix) with ESMTP id 3C23F5A for ; Fri, 28 May 2004 09:21:13 +0000 (GMT) Received: from ehvrmh02.diamond.philips.com (ehvrmh02-srv.diamond.philips.com [130.139.27.125]) by smtprelay-eur2.philips.com (8.9.3p3/8.9.3-1.2.2m-20040401) with ESMTP id JAA16990 for ; Fri, 28 May 2004 09:21:13 GMT From: mathias.wagner@philips.com To: cygwin@cygwin.com Subject: Re: GCC 3.3.1 problem with printf %Lg %Lg and -m128bit-long-double compile option MIME-Version: 1.0 Message-ID: Date: Fri, 28 May 2004 11:19:00 -0000 Content-Type: text/plain; charset="us-ascii" X-SW-Source: 2004-05/txt/msg00960.txt.bz2 To: "Gerrit @ cygwin" cc: Mathias Wagner/HBG/SC/PHILIPS@PHILIPS Subject: Re: GCC 3.3.1 problem with printf %Lg %Lg and -m128bit-long-double compile option Classification: > On Thu, 27 May 2004, Gerrit P. Haase wrote: > > > Hallo mathias, > > > > > GCC 3.3.1 has a problem when printing multiple long double variables using > > > printf and the -m128bit-long-double compile option on a Pentium-based > > > machine. > > > > Seems to be a bug in gcc, for bug reporting instructions, please see: > > http://gcc.gnu.org/bugs.html. > > No disrespect intended Mr. GCC maintainer, but I'm pretty sure that is > expected behavior. See "info gcc" in the -m128bit-long-double section: > > *Warning:* if you override the default value for your target ABI, > the structures and arrays containing `long double' will change > their size as well as function calling convention for function > taking `long double' will be modified. Hence they will not be > binary compatible with arrays or structures in code compiled > without that switch. > > Cygwin/newlib would need to be recompiled with this switch for proper > printf operation. Why are you trying to use this switch, Mathias? Thanks for these infos to both of you! Meanwhile I have had some help from another colleague here at Philips and he found out that the -m96bit-long-double compile option works fine. Note that 96 bit is what a long double takes. This makes sense in conjunction with what Brian said: The alignment of the parameters handed over to a function is changed when using -m128bit-long-double, and hence all functions affected must be recompiled - so presumably cygwin itself. There was no particular reason for using -m128bit-long-double other than that I have always used it, and I will switch to -m96bit-long-double. But perhaps one could insert somewhere in gcc a warning when using such a combination of compile options. I know it is in the documentation somewhere, but compiler warnings are much more visible... :-) Cheers Mathias -- 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/