delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2019/08/19/04:57:05

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=m4qXpFo1tJA/b+ZatPRUL8jN3DRI4dFWqvDu5TrX+lojOEIZ+HnUW
WRfbcU8qS8DJscu9b5KAea+BJXsfqKaeSfurKU/FEHNmiCG9l+R1jhezLf+eZOye
wXLtDOvRjYinXrOywZD3oVH1FxeqrzjozhTQobHLpc4Jy3I/OLYZkw=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=zIphVXMYHbSDuiLCHjM+HkicMNs=; b=tmvrrxXWey28h4l4pD0tZB1JjuER
YX8oQl0CZcpHjfTgfCnotJ3t8eu3ye6L/9U8hNySPwlG43sJD9PiZKR/xUzRKMzl
YA1+Hw+3CmC9RtmWy3aKfnLYzNmDEhpRbVbiVXqSd1mjBWFfL1th7uSt8W1ScRvZ
/OyeZvk7iwFpMCQ=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Spam-SWARE-Status: No, score=-101.7 required=5.0 tests=AWL,BAYES_00,GOOD_FROM_CORINNA_CYGWIN,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=wasteful, Agner, loader, Fog
X-HELO: mout.kundenserver.de
Date: Mon, 19 Aug 2019 10:56:13 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Clang is using the wrong memory model
Message-ID: <20190819085613.GI11632@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <20190816082603 DOT GR11632 AT calimero DOT vinschen DOT de> <8d594f4d-17e0-447a-8b18-1ed620815e0f AT agner DOT org> <20190816095200 DOT GU11632 AT calimero DOT vinschen DOT de> <2024f551-66e6-47c5-a0b6-2dfa735a690d AT agner DOT org> <20190816111133 DOT GV11632 AT calimero DOT vinschen DOT de> <6008d30a-cd6c-5449-2933-a041e804856c AT agner DOT org> <20190817081605 DOT GX11632 AT calimero DOT vinschen DOT de> <17081147-f46a-51bf-65e9-3df7748b1780 AT agner DOT org> <20190818115739 DOT GD11632 AT calimero DOT vinschen DOT de> <f2852c05-4f0b-9587-2c4c-bf37485b7455 AT agner DOT org>
MIME-Version: 1.0
In-Reply-To: <f2852c05-4f0b-9587-2c4c-bf37485b7455@agner.org>
User-Agent: Mutt/1.11.3 (2019-02-01)

--xEUC5fB8Sf//E0AF
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Aug 18 18:24, Agner Fog wrote:
> On 18/08/2019 13.57, Corinna Vinschen wrote:
> > Nope, Cygwin uses the Windows loader.
>=20
> Then, how do you do the extra linking? What is producing the "Cygwin runt=
ime
> failure" message when loading/linking a DLL fails?
>=20
> >   If the medium model is wasteful in clang, that's a clang
> > optimization problem, not a Cygwin problem.
>=20
> The medium model in Clang is not wasteful.

Your words:

* The memory models work differently in gcc an Clang. Gcc with a medium or
large memory model is using 64-bit address tables to access a variable in a
different C/CPP file. Clang with a medium or large memory model is using
64-bit addresses not only for external variables, but also for local static
data. This includes floating point constants, string constants, array
initializers, jump tables, global variables, and more.

> designed to do. It was never designed with Cygwin in mind.

That's not Cygwin's fault, is it?  You're asking to change the system to
pamper the compiler, rather than asking the compiler to work better for
a given system.  That's not how this usually works.=20=20

Make sure that clang uses the medium memory model by default.  If clang
is doing this inefficiently, clang needs fixing.


Corinna

--=20
Corinna Vinschen
Cygwin Maintainer

--xEUC5fB8Sf//E0AF
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAl1aZC0ACgkQ9TYGna5E
T6AEAxAAhrHr+816UQug0dBUQrCl95fow9/QywdZVZ/Ia8bF6cAkinHYry0KVwuz
FMktQTE9jZQuiU3wLlqDSOowpKYLykJCDBK05L9IRilZi7oA1Q/nnQc1VTiFwPxB
ZtPOcpLD8b/yX41bHzjMGH7n8zRvzDlysETlQf2b3h3KqzZzpxcD5aBZcSHjYJhT
AlLBLPZncdbuQHoSeBUbQW9F8BlGHL2k6LjIornnnTrOMKb4B3npAxL5Vr6uhp20
wFA0ygjLalUlJeVZlqtvrxkK9zTvlYX1IQpatOZIILgvg8bN7Iqqe5baBOVosXdH
4X80Ht4fndJNsDQWnnoY2EyWbSa9BGlEeS9WdPlo5LcK1lYLkMW8iAkteoy4rYro
n49Kx38cI1LuEiDqqcHBy2yOvYiu6g/ooA9nZWoEg0/m68uEpSSeREokAAzLMrTL
nmExe9BTWmyyVX+uX4b5AkTnpW2KUaMCgRCYQVwpDxGzTcjooFJSaF+J6BysSCea
mYirlQN1CHvDcv9feF1LEgLFhOlSogqNUGmcmrnYH0sPSpMK0zvuJ3B/x1ttZZC+
5M6Gsqsj9D6Wwu6ZL4l6HW2hUOPTxCN2sHj8sPT4Xi7cS2Yl7U7FFebjqdS+PBEm
mulF9GS+PETjakpeBREUiqFOVB430hDpoQcDGUOIB0g0ziD9Y6E=
=Wdyi
-----END PGP SIGNATURE-----

--xEUC5fB8Sf//E0AF--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019