public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Clang is using the wrong memory model
Date: Mon, 19 Aug 2019 08:58:00 -0000	[thread overview]
Message-ID: <20190819085613.GI11632@calimero.vinschen.de> (raw)
In-Reply-To: <f2852c05-4f0b-9587-2c4c-bf37485b7455@agner.org>

[-- Attachment #1: Type: text/plain, Size: 1329 bytes --]

On Aug 18 18:24, Agner Fog wrote:
> On 18/08/2019 13.57, Corinna Vinschen wrote:
> > Nope, Cygwin uses the Windows loader.
> 
> Then, how do you do the extra linking? What is producing the "Cygwin runtime
> failure" message when loading/linking a DLL fails?
> 
> >   If the medium model is wasteful in clang, that's a clang
> > optimization problem, not a Cygwin problem.
> 
> 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.  

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


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      reply	other threads:[~2019-08-19  8:56 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1436640898.268382790.1565602671940.JavaMail.root@zimbra54-e10.priv.proxad.net>
2019-08-12  9:45 ` Inefficient use of 64-bit addresses in Clang falk.tannhauser
2019-08-14  5:51   ` Agner Fog
2019-08-16  6:06     ` Clang is using the wrong memory model Agner Fog
2019-08-16  8:25       ` Mark Geisert
2019-08-16  8:26       ` Corinna Vinschen
2019-08-16  9:27         ` Agner Fog
2019-08-16  9:52           ` Agner Fog
2019-08-16 10:39           ` Corinna Vinschen
2019-08-16 10:50             ` Agner Fog
2019-08-16 11:25               ` Corinna Vinschen
2019-08-16 13:28                 ` Kai Tietz
2019-08-17  6:59                 ` Agner Fog
2019-08-17  9:48                   ` Corinna Vinschen
2019-08-18 11:37                     ` Agner Fog
2019-08-18 11:58                       ` Corinna Vinschen
2019-08-18 18:14                         ` Agner Fog
2019-08-19  8:58                           ` Corinna Vinschen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190819085613.GI11632@calimero.vinschen.de \
    --to=corinna-cygwin@cygwin.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).