From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [217.72.192.74]) by sourceware.org (Postfix) with ESMTPS id 8EC293851C29 for ; Mon, 31 Aug 2020 07:35:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8EC293851C29 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=corinna-cygwin@cygwin.com Received: from calimero.vinschen.de ([217.91.18.234]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1Mg6i8-1knNLG3X4w-00hiBz for ; Mon, 31 Aug 2020 09:35:00 +0200 Received: by calimero.vinschen.de (Postfix, from userid 500) id 75896A83A7D; Mon, 31 Aug 2020 09:35:00 +0200 (CEST) Date: Mon, 31 Aug 2020 09:35:00 +0200 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: cpp /usr/include/threads.h fails; modfl segfaults Message-ID: <20200831073500.GU3272@calimero.vinschen.de> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <02b16d2e-9d51-de58-807b-3b31b2565b59.ref@aol.com> <02b16d2e-9d51-de58-807b-3b31b2565b59@aol.com> <20200830130005.GR3272@calimero.vinschen.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Provags-ID: V03:K1:J68IJqgX5p6iFfh3CT8De9wJhinTOiZUpwXfOnr73glGgzSnyym IeqnBFwJ7HfPHKsUmx9Sno0pn3BVFnm9z37SpAZulRIBD7G81h7HuAihP+YLrqX1CKW5ztk Zc4rn7aZN1qdojdAVqb+lUHHQKSG6mx1bAQX8MePde6IWXigYzqdlFRqdBo1bGy+tTAWSIE y3FV27SQ3RWtKy6u88Bww== X-UI-Out-Filterresults: notjunk:1;V03:K0:2l9apEdkveE=:+SXamKLpUf9mHd3DRkFBNz Ejy1ATNkUcxjY8/YAX5j2CFdSkiDA+29my+9qnXEy54O21q5A3JM41wUAK9SNDHgz9J7YnlxS FP1/E+tN6qAl70iqiYkAuC2kfrJxKw0hSqA+we4cCEFvnNT6CddA4fRIQ5hFf7a7L5Ie0GU5Q 8ZLwPmKS0xFGR7SN3H0PoIVA6u+cXxnACa7WhshsnsqLpG9tZKl0OYgtE6YLZdUoXEQilONYa ORne283bf561cbOcD2inYdPLSI5/kteGw9kA6EY3pDOJ8+RdeopObuIKuSsA9SCH6nDlItdw+ u8N+pxUAgeFFWakSisEVK5CNCXB4J+MlbnCW87nqz+6o5fSTosTnAG1LnCxupGyxg1PejVkwL 7lX+lfNcUGN9LkXMhyNiZ6+QIJbQ+ogGRu22Gf55x4O5vgq9xZLewRidj0X9usrmsUu4zg+aW ZiWQFPtaqgg1OWyDm3mRMFJKvJpJ6Kj9wYcQpw4RkJDiWbXh96W6U5DKGNDrZKupLOxSB6Qqr f80hVJbNX90oL6ypMy4LSMeIbmxWucZ5sr3+G/nD+b8+T2SeYCFS0xUUyumGAgAAww988wsnq xqUrdSKMEpgxf4FF5f1YbTG+Xhb/VC2vaE80vtrvOO1iw5pUO9H2hQ0qSYhNDC1HtA7g5XjUn peBOwril7o4sytVkhfIBMYmRgFTIiLkclBHAcYUWCFfZnCkAePEtZAJxvV6xnk/SXJDRANY0y PY/2503r3vQa2FAUTC5jjgojJ0QLAWRm8a18Dy169SqW9L+IsChF7Tvc6Drqs3NwyxnvP5MkN vRTdYpoHYufVwGvrimoC2cIa/zz6/iv8VqY2jK0HFZbEvzQdcPndpqhbHeF5rmBlzsuelUVsp oEUoTqYA3DGqSB5zeo9w== X-Spam-Status: No, score=-100.2 required=5.0 tests=BAYES_00, GOOD_FROM_CORINNA_CYGWIN, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Aug 2020 07:35:04 -0000 On Aug 30 14:39, Brian Inglis wrote: > On 2020-08-30 07:00, Corinna Vinschen wrote: > > On Aug 29 08:52, airplanemath via Cygwin wrote: > >> I have two reports.  A brief description of the system: > >> $ uname -a | sed "s/${HOSTNAME}/\${HOSTNAME}/g" > >> CYGWIN_NT-10.0 ${HOSTNAME} 3.1.7(0.340/5/3) 2020-08-22 17:48 x86_64 Cygwin > ... > >> $ cat test.c > >> #include > >> #include > >> #include > >> > >> int main(int argc, char *argv[]) { > >>   long double a, b, c; > >>   char *num_end = NULL; > >>   a = b = c = 0.0L; > >>   if (argc != 2) { > >>     fprintf(stderr, "Usage: %s NUMBER\n", argv[0]); > >>     exit(1); > >>   } > >>   a = strtold(argv[1], &num_end); > >>   b = modfl(a, &c); > >>   printf("%Lf %Lf %Lf\n", a, b, c); > >>   return 0; > >> } > > > > This is a bug in the assembler code taken from Mingw-w64. The bug has > > been fixed upstream, so I just pulled in the upstream fixes. > > The 64 bit fix doesn't pop eax but *now* flags eax as clobbered, whereas the 32 > bit fix both pops and *now* flags eax as clobbered, which it really doesn't need > to do. Is this inconsistent treatment correct? You may be right that this is not necessary on i686, but it doesn't hurt either and I'd like to stick to the upstream code if possible. Corinna -- Corinna Vinschen Cygwin Maintainer