www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2001/08/04/16:42:24

Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com
List-Subscribe: <mailto:cygwin-apps-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-apps/>
List-Post: <mailto:cygwin-apps AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-apps-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/lists.html#faqs>
Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com
Message-ID: <20010804204221.42595.qmail@web14501.mail.yahoo.com>
Date: Sun, 5 Aug 2001 06:42:21 +1000 (EST)
From: =?iso-8859-1?q?Danny=20Smith?= <danny_r_smith_2001 AT yahoo DOT co DOT nz>
Subject: Re: auto-import STATUS
To: Charles Wilson <cwilson AT ece DOT gatech DOT edu>
Cc: Paul Sokolovsky <paul DOT sokolovsky AT technologist DOT com>,
Robert Collins <robert DOT collins AT itdomain DOT com DOT au>,
cygwin-apps AT cygwin DOT com
In-Reply-To: <3B6C4156.7060404@ece.gatech.edu>
MIME-Version: 1.0

--0-903623964-996957741=:38204
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Content-Disposition: inline

 --- Charles Wilson <cwilson AT ece DOT gatech DOT edu> wrote: > Danny Smith
wrote:
> 
> Okay, I only VAUGELY remember this, but....
> 
> Forget for a moment the recent auto-import improvements.  Think plain
> 
> old-fashioned DLL support, requiring declspec(dll[ex|im]port)
> markings 
> on data.
> 
> Wasn't there some discussion many months ago about ld and C++ DLL's, 
> something about needing to explicitly mark data fields within classes
> as 
> declspec(), EVEN when the class ITSELF is marked declspec() ?
> 
> Now, perhaps that got fixed.  Perhaps it didn't.  But, since an inner
> 
> class is probably implemented as a field OF the enclosing class,
> maybe 
> Danny's problem is related?  (a) the old problem never got fixed, and
> is 
> rearing its head here, or (b) the old problem got fixed -- but only 
> partially and the fix needs to be extended to cover the "inner class"
> 
> case.  Or I'm just blowing smoke.
> 
> Does anybody remember this?
> 
> Now, returning to the new auto-import case:
> 
> So, perhaps the logic that adds thunking symbols for DATA exports in 
> DLLs needs to be re-examined, to make sure it covers these special 
> cases, esp. "static" fields of classes, and inner classes, (and
> "static" 
> fields OF inner classes...)
> 


I don't think that's it, ether, but I'll work up some test cases to
see.

Here is a problem that doesn't work with old method and has been
reported to mingw list recently.


> class DLLIMPORT DllClass{
> public:
>   DllClass (){}
>   ~DllClass (){}
>   static DllClass static_class;
> };

DllClass::static_class gets exported. Howvere, when building client
code, GCC complains about inconsistent dll linkage and as per usual
rule dllexport wins over dllimport for DllClass::static_class.  All
that when using DLLIMPORT.  I am currently testing a one line-change in
gcc/config/i386/winnt.c that fixes (but may break other things).  

But, when using --enable-auto-import without DLLIMPORT, the recursion
works, just at it does with static libs.

Attached example.

Danny

_____________________________________________________________________________
http://messenger.yahoo.com.au - Yahoo! Messenger
- Voice chat, mail alerts, stock quotes and favourite news and lots more!
--0-903623964-996957741=:38204
Content-Type: application/x-gzip-compressed; name="static_class++.tar.gz"
Content-Transfer-Encoding: base64
Content-Description: static_class++.tar.gz
Content-Disposition: attachment; filename="static_class++.tar.gz"

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
6Z16n0DH3nP1TbYx9RnWaEBB80qlgg2qgGxLP/LGYHvKNwzyDUypU/sBxBCp
hBUxN2OVjcgWUgTf0silgcpGKxCYLaS4xTtHNzGHwn9szh1hRYiQL3zv6N5M
pTrgC8nYlP+12/i8v7d/0GpZ7Sbhv2VZexr/X4PW5H95BpMFy1TdVYfpMLyT
tuq9ZwzEa2UbB6pkaXkMNg6Ll94XTnY0PaKs3v+CMjbEf/ug1czyvza1tzp7
1oGO/9egLP4PhY+L4/bcnP3E8tYgHLtiVGpbQoospjMoWEaK3jMGtYuDCCtW
IEQvvnLNbeHFF0OqEVIVT5WBDg9he309bZv6V6EONuMp7mYsNhTdtksT4ikr
6lhFcZkdzMe50SpmK4tfqxmuzssSbrCSe7F+tpppPmKtbVaXCr/BNu0/2zbt
1bZhlcrhoeJaSVk+yveWVVknYONEXEPl0V4sy/1/RD5f2tfsfDvf+UrGoceK
VwX1fwrZBKh11A2BYvCxj6SF3q/xijL/b/aJJXbPjJav2aElCX/u/qyoLeXb
klWkmqoW9b3PEU2aNGnSpEmTJk2aNGnSpEmTJk2aNGnSpEmTJk2aNGnSpEmT
Jk2aNGnSpEnT69EfXjbg/ABQAAA=

--0-903623964-996957741=:38204--

- Raw text -


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