delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/03/23/14:18:02

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-0.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RFC_ABUSE_POST,TW_BG,T_RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Message-ID: <COL102-W1396944213A30C6779785EB5B70@phx.gbl>
From: Karl M <karlm30 AT hotmail DOT com>
To: <cygwin AT cygwin DOT com>
Subject: FW: cyggfortran-3.dll broken ?
Date: Wed, 23 Mar 2011 11:17:47 -0700
In-Reply-To: <COL102-W3605F958314136F1E27881B5B70@phx.gbl>
References: <AANLkTi=WaAY1HY2bZ2zKHHuCkpNE4oLCZ8cY1J=CV1Ma AT mail DOT gmail DOT com>,<4D8A1775 DOT 5020601 AT gmail DOT com> <4D8A1BCD DOT 2080506 AT gmail DOT com>,<AANLkTinGfQi2ad4yTbDydrzbURQATtTT4zVJWG01V5LS AT mail DOT gmail DOT com>,<4D8A214D DOT 6090409 AT cwilson DOT fastmail DOT fm> <4D8A2683 DOT 1010009 AT gmail DOT com>,<4D8A2E5F DOT 1040204 AT cwilson DOT fastmail DOT fm>,<4D8A32B6 DOT 9050507 AT gmail DOT com>,<COL102-W3605F958314136F1E27881B5B70 AT phx DOT gbl>
MIME-Version: 1.0
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT 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


> Date: Wed, 23 Mar 2011 17:49:42 +0000
> From: dave.korn
> Subject: Re: cyggfortran-3.dll broken ?
>=20
> On 23/03/2011 17:31, Charles Wilson wrote:
>=20
> > Err...no, I don't think so. Symbol forwarding is actually implemented
> > as part of the PE-I386 spec, so it resides in the forwardING dll itself,
> > not the import library, and is handled at runtime by the windows loader:
>=20
> Yes yes yes, you're jumping too far ahead; what I was pointing out is that
> you still have to have an import stub in order to pull in the import from=
 the
> forwarding DLL.
>=20
> > However, by NOT having a thunk present in the import library, then when
> > linking a new client the symbol will be resolved by libcygwin.a and will
> > show up in the new client's import list as coming directly from cygwin1=
.dll.
>=20
> Well that seems like it would be cleaner in theory, but it would still
> constitute a change to the ABI exported by libgfortran, which is what we =
were
> trying to avoid; if we're keeping the ABI constant, then future fortran a=
pps
> linked against libgfortran should also continue to get their math functio=
ns
> from there rather than cygwin1.
>=20
> We'd want to keep the forwarders in place forever, and here's the good th=
ing
> about how it works: regardless which dll.a the import stub comes from and=
 how
> many DLLs it does or doesn't forward through before it reaches the actual
> implementation, that's all indirected away by the loader and at run-time =
it's
> still just a single indirect jump in both cases.
>=20
> Hmm, I should probably do this. And send it upstream too. But I'll
> prioritise it lower than bringing newer compiler versions onstream unless=
 we
> start to get a lot of problem reports.
>=20
What if you just put the functions back in until the next gfortran dll vers=
ion bump?

...Karl=20=09=09=20=09=20=20=20=09=09=20=20

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


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