delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-apps/2001/11/07/10:55:41

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: <3BE95990.2000308@ece.gatech.edu>
Date: Wed, 07 Nov 2001 10:56:00 -0500
From: Charles Wilson <cwilson AT ece DOT gatech DOT edu>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2
X-Accept-Language: en-us
MIME-Version: 1.0
To: Corinna Vinschen <cygwin-apps AT cygwin DOT com>
Subject: Re: Did I find an error in the current binutils or what???
References: <20011107131736 DOT U2965 AT cygbert DOT vinschen DOT de> <3BE94852 DOT 8080303 AT ece DOT gatech DOT edu> <20011107163919 DOT Y2965 AT cygbert DOT vinschen DOT de>

Corinna Vinschen wrote:


>>Except that the cygwin1.dll/libcygwin.a that you are linking against does 
>>not have the requisite auto-import support thunks (_nm__*).  Perhaps this 
>>cygwin was compiled using a (very) old binutils?  pre-20010802 ?
>>
> 
> Yes.  It has been cross-compiled on a Linux box.  The binutils are...
> uhm... compiled on 2001-07-12 so they are definitely pre-20010802.
> Somehow I don't understand how that stuff is supposed to work.  I'm
> not a binutils expert...


Okay, then I'm gonna assume that you are linking against a kernel that you 
built yourself, and not the "official" cygwin kernel that cgf built 
(otherwise, the following applies to him):

You ought rebuild your cross-binutils from the binutils-20011002-1-src as 
distributed from the cygwin mirrors.

Recent binutils (post-20010802) add special autoimport-support thunks to 
the dll's that they create.  These are used to create a lookup table for 
the variable exports, by fooling the windows runtime loader.  (I don't 
understand the whole thing, but it's a neat concept.)

Anyway, the *DLL* as well as your client app need to be built using a 
recent binutils, in order for the auto-import thing to work properly.

Of course, with the cygwin1.dll, auto-import shouldn't be necessary. 
__progname *ought* to be declared (with appropriate __declspec() markings) 
in some header file somewhere, so that's a cygwin bug.

--Chuck


- Raw text -


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