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: List-Archive: List-Post: List-Help: , 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 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 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> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit 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