delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/07/01/07:07:26

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Wed, 1 Jul 2009 13:06:58 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: w32api funny
Message-ID: <20090701110658.GA28524@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <4A4B3B8A DOT 9020800 AT gmail DOT com>
MIME-Version: 1.0
In-Reply-To: <4A4B3B8A.9020800@gmail.com>
User-Agent: Mutt/1.5.19 (2009-02-20)
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

On Jul  1 11:33, Dave Korn wrote:
> 
>   I noticed this when we added StrStrI to setup.exe, and I forgot to bootstrap
> the generated files; I got a bad exe that didn't work for me because it
> imported StrStrIA from comctl32.dll (which was the next -l option in the
> LDFLAGS), which - at least on w2k - doesn't actually export that function:
> 
> $ for x in /usr/lib/w32api/lib{comctl32,shell32,shlwapi}.a ; do echo $x; nm $x
> | grep StrStrI  ;  done
> /usr/lib/w32api/libcomctl32.a
> 00000000 T _StrStrIW AT 8
> 00000000 I __imp__StrStrIW AT 8
> 00000000 T _StrStrIA AT 8
> 00000000 I __imp__StrStrIA AT 8
> /usr/lib/w32api/libshell32.a
> 00000000 T _StrStrIW AT 8
> 00000000 I __imp__StrStrIW AT 8
> 00000000 T _StrStrIA AT 8
> 00000000 I __imp__StrStrIA AT 8
> /usr/lib/w32api/libshlwapi.a
> 00000000 T _StrStrIW AT 8
> 00000000 I __imp__StrStrIW AT 8
> 00000000 T _StrStrIA AT 8
> 00000000 I __imp__StrStrIA AT 8
> 
> $ cd $WINDIR/system32
> 
> $ for x in comctl32.dll shell32.dll shlwapi.dll ; do echo $x ; dumpbin
> /exports $x | grep StrStrI ; done
> comctl32.dll
> shell32.dll
>         403   AB 00117E97 StrStrIA
>         404   AC 00117E9D StrStrIW
> shlwapi.dll
>         710   F4 0000F2B4 StrStrIA
>         711   F5 00007E9E StrStrIW
> 
>   I checked on an XP system as well, and it's not exported from comctl32.dll
> there either.  The definitions come from here:
> 
> /usr/src/w32api-3.13-1/lib/comctl32.def:125:StrStrIA AT 8
> /usr/src/w32api-3.13-1/lib/comctl32.def:126:StrStrIW AT 8
> 
> and are present in CVS HEAD.

I removed all the erroneously defined StrFOO entry points from comctl32.a.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
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