delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2019/07/06/02:45:54

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:reply-to:subject:to:references:from:message-id
:date:mime-version:in-reply-to:content-type
:content-transfer-encoding; q=dns; s=default; b=SAjl31I0T0ySEOeu
T4+Fc1XY0QxxsOHhpFZRQyDQRYUn4BrpD1h9Q5d52Oi6zLerFPADtJJeitKoVg04
ZYyCZ7GNWeM4r91dfcDaaIH72CBIArJ5L7iiiS92wfPg3/IkgllU6VaGZ/A3IzzK
aS5+V/1alZMZb86iIDDoq9lYZ+I=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:reply-to:subject:to:references:from:message-id
:date:mime-version:in-reply-to:content-type
:content-transfer-encoding; s=default; bh=FeJId+f9cmImPMYpnJPpIC
xUvhI=; b=tYVSIRc+H2D584hyD/aS0rQ9MA6chXObg3PD4s6gdQ0433JpRlnwmC
sHKsq8/2EPo3F8qHovrREwbmA6AoTxYIgI78WKhzFraJ1r6DuwYUedVtTtf9dV7B
JZQA08PFxvaw3UyReg2R9o5AG+2YtlWicyfu1eZLVFlnZqyC7YW/8=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.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
Authentication-Results: sourceware.org; auth=none
X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 spammy=nlm, ncbi, Lavrentiev, lavrentiev
X-HELO: smtp-out-so.shaw.ca
Reply-To: Brian DOT Inglis AT SystematicSw DOT ab DOT ca
Subject: Re: Question about the ldd output
To: cygwin AT cygwin DOT com
References: <BN6PR09MB2227A063E43D4CD21E3445AAA5F50 AT BN6PR09MB2227 DOT namprd09 DOT prod DOT outlook DOT com>
From: Brian Inglis <Brian DOT Inglis AT SystematicSw DOT ab DOT ca>
Openpgp: preference=signencrypt
Message-ID: <3ad9d7fe-a537-16c8-a571-a64b08ff3cc7@SystematicSw.ab.ca>
Date: Sat, 6 Jul 2019 00:44:55 -0600
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2
MIME-Version: 1.0
In-Reply-To: <BN6PR09MB2227A063E43D4CD21E3445AAA5F50@BN6PR09MB2227.namprd09.prod.outlook.com>
X-IsSubscribed: yes

On 2019-07-05 12:28, Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin wrote:
> Here's the output from ldd, of an executable built just recently on Cygwin:
>         ntdll.dll => /cygdrive/c/WINDOWS/SYSTEM32/ntdll.dll (0x7ffc339d0000)
>         KERNEL32.DLL => /cygdrive/c/WINDOWS/System32/KERNEL32.DLL (0x7ffc31a00000)
>         KERNELBASE.dll => /cygdrive/c/WINDOWS/System32/KERNELBASE.dll (0x7ffc30090000)
>         cygwin1.dll => /cygdrive/u/2.4.0/release/Cygwin-64/bin/cygwin1.dll (0x180040000)
>         cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x3ec980000)
>         cygcom_err-2.dll => /usr/bin/cygcom_err-2.dll (0x3ef750000)
>         cygbz2-1.dll => /usr/bin/cygbz2-1.dll (0x3f6a40000)
>         cyggcc_s-seh-1.dll => /usr/bin/cyggcc_s-seh-1.dll (0x3ee3a0000)
>         cyggssapi_krb5-2.dll => /usr/bin/cyggssapi_krb5-2.dll (0x3eceb0000)
>         cygz.dll => /cygdrive/u/2.4.0/release/Cygwin-64/bin/cygz.dll (0x3aba30000)
>         cygpcre-1.dll => /usr/bin/cygpcre-1.dll (0x3eb1a0000)
>         cygk5crypto-3.dll => /usr/bin/cygk5crypto-3.dll (0x3ec300000)
>         cygintl-8.dll => /usr/bin/cygintl-8.dll (0x3ec8d0000)
>         cygkrb5support-0.dll => /usr/bin/cygkrb5support-0.dll (0x3ec150000)
>         ??? => ??? (0x90000)
> My question would be, how to read the last line? It'd be quite suspicious if 
> ldd is unable to figure out what library (name) is required (the left side
> of the =>), but I understand that the library itself might be missing (so
> it's logical to put "???" on the right side in that case).
> Any insight is appreciated.

I found many Cygwin exes that display zero to multiple lines like that,
depending on the run, but it was flakey and inconsistent, and could not find any
common factors across builds.
Across 1684 /bin/exes, about 400 exes displayed about 600 lines with '???'.

That looks like it might be a limitation of how ldd works under Cygwin.
If you compare ldd output to cygcheck output from the same exe, ldd always omits
and cygcheck always includes the following on my W10 Home:

        C:\WINDOWS\system32\api-ms-win-core-processthreads-l1-1-1.dll
        C:\WINDOWS\system32\api-ms-win-core-synch-l1-2-0.dll
        C:\WINDOWS\system32\api-ms-win-core-file-l1-2-0.dll
        C:\WINDOWS\system32\api-ms-win-core-timezone-l1-1-0.dll
        C:\WINDOWS\system32\api-ms-win-core-localization-l1-2-0.dll
        C:\WINDOWS\system32\api-ms-win-core-file-l2-1-0.dll
        C:\WINDOWS\system32\api-ms-win-core-xstate-l2-1-0.dll

so what we are seeing may be an artifact of Windows dll load table entries, as
Windows programs can not be built with unresolved dll links, but Cygwin
dynamically autoloads dlls when functions are called.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.

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