From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 83848 invoked by alias); 16 Aug 2019 11:11:51 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 83841 invoked by uid 89); 16 Aug 2019 11:11:50 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-104.1 required=5.0 tests=AWL,BAYES_00,GOOD_FROM_CORINNA_CYGWIN,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy= X-HELO: mout.kundenserver.de Received: from mout.kundenserver.de (HELO mout.kundenserver.de) (212.227.126.135) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 16 Aug 2019 11:11:49 +0000 Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MmlfS-1ieou83KpK-00jqj8; Fri, 16 Aug 2019 13:11:34 +0200 Received: by calimero.vinschen.de (Postfix, from userid 500) id C1123A80786; Fri, 16 Aug 2019 13:11:33 +0200 (CEST) Date: Fri, 16 Aug 2019 11:25:00 -0000 From: Corinna Vinschen To: Agner Fog Cc: cygwin@cygwin.com Subject: Re: Clang is using the wrong memory model Message-ID: <20190816111133.GV11632@calimero.vinschen.de> Reply-To: cygwin@cygwin.com Mail-Followup-To: Agner Fog , cygwin@cygwin.com References: <732305300.268416262.1565603129541.JavaMail.root@zimbra54-e10.priv.proxad.net> <024ce5b5-6024-b371-e382-5eef5d1d4a90@agner.org> <075477ca-e031-39ea-3dfe-bc8bc2fc8fa6@agner.org> <20190816082603.GR11632@calimero.vinschen.de> <8d594f4d-17e0-447a-8b18-1ed620815e0f@agner.org> <20190816095200.GU11632@calimero.vinschen.de> <2024f551-66e6-47c5-a0b6-2dfa735a690d@agner.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Z5R++VQVird/TDtY" Content-Disposition: inline In-Reply-To: <2024f551-66e6-47c5-a0b6-2dfa735a690d@agner.org> User-Agent: Mutt/1.11.3 (2019-02-01) X-SW-Source: 2019-08/txt/msg00219.txt.bz2 --Z5R++VQVird/TDtY Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-length: 999 On Aug 16 12:38, Agner Fog wrote: >=20 > On 16/08/2019 11.52, Corinna Vinschen wrote: > > 2 GB. Think errno accessed from another DLL. Your application works only > > by chance. >=20 > Good example. >=20 > errno appears to be a global variable for historical reasons, but errno is > implemented as a macro that translates to a call to the imported function > __errno. >=20 > This function call goes through a 64-bit import table from cygwin1.dll >=20 > Works fine with -mcmodel=3Dsmall >=20 > Static sharing of a global variable between exe and dll, or between > different dll's is not possible. So errno was a bad example but you can try accessing e.g. __ctype_ptr__, __progname, optarg, h_errno, or use FE_DFL_ENV from another DLL, just for kicks. Just because lots of stuff works with the small mode doesn't mean it's the right thing to do. Mcmodels medium and large have been introduced into GCC during the Cygwin 64 bit port for a reason. Corinna --=20 Corinna Vinschen Cygwin Maintainer --Z5R++VQVird/TDtY Content-Type: application/pgp-signature; name="signature.asc" Content-length: 833 -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAl1Wj2UACgkQ9TYGna5E T6BGpQ/9GHMyol5alHLhqyYnZmc5ktr08HBKua9DucBImqEG0xNXTdvCA6j6+17C XNBAVI8CBZMtyXOxYV7c4kFTaRwAgijEVaGRtlAQ7Osc8/SXohm7JJl0e1VmJDI9 Tyva4b/p4PCbqIn6nT+6phJBjLz+AbAuB9tuYmyTPXiVDIAEdhSXAfSM8XCGzKnh kAWYjPbGuDLOUG2qTt7dOxE11Pkvwp3xfWnky/CWBqp1S857xNyQFNTRwIYYFNlG QdSttk2H/G/b7AcSqJUVo64JtNZ6fL/At+znm3Bv35KgOzIwO1zwgGoCeHpe737w iOFHNp7k3su0yZXC7t6AkgIxby50eSmvFe1Q2s7IfnAorMRCW1FjDHlgHwSevpPI 4XnbJ/mjArH7xL3Vbz0ugxTD43c+KTl8/g4Dchk5OOjX1lYFE9uw5Yn/sNcoBPTP c3cCWT14NRYuXGeSzVnBPvSlM36yxUyj7cW9jlo2PFl+giNmnkIfAeiYYQPqmwC0 NZQNDZCBGEKqS1/o0Z+/4pN1E6WBtaAKcMwFmZ4+d8w5LcGWErzCorSqqWkAlaIQ MoVTOqpMpPPtLEgKt0rFbxXWvnJ86fMrBJ91hzqYlLfuOdYMGavnTLi4PPCyjPdY wOFQJVuMyWk41viQO+muYvhIhDUi/31K/zlTo+oQS9jHlBxX7Lo= =GsbY -----END PGP SIGNATURE----- --Z5R++VQVird/TDtY--