From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5987 invoked by alias); 6 Jul 2019 06:45:01 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 5970 invoked by uid 89); 6 Jul 2019 06:45:01 -0000 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 Received: from smtp-out-so.shaw.ca (HELO smtp-out-so.shaw.ca) (64.59.136.139) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 06 Jul 2019 06:44:59 +0000 Received: from [192.168.1.114] ([24.64.172.44]) by shaw.ca with ESMTP id jeRLh8J5jIhW9jeRMhzrel; Sat, 06 Jul 2019 00:44:57 -0600 Reply-To: Brian.Inglis@SystematicSw.ab.ca Subject: Re: Question about the ldd output To: cygwin@cygwin.com References: From: Brian Inglis Openpgp: preference=signencrypt Message-ID: <3ad9d7fe-a537-16c8-a571-a64b08ff3cc7@SystematicSw.ab.ca> Date: Sat, 06 Jul 2019 06:45:00 -0000 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: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2019-07/txt/msg00041.txt.bz2 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