Why does ldd not show cyg*.dll in its output?

Marco Atzeri marco.atzeri@gmail.com
Mon May 16 17:53:00 GMT 2016



On 16/05/2016 17:42, Warren Young wrote:
> STC:
>
>     $ ldd `which ls`
>
> Actual output:
>
> $ ldd `which ls`
>         ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7ffd16fb0000)
>         KERNEL32.DLL => /c/WINDOWS/system32/KERNEL32.DLL (0x7ffd16b80000)
>         KERNELBASE.dll => /c/WINDOWS/system32/KERNELBASE.dll (0x7ffd13f50000)
>
> Expected output:
>
> According to Microsoft’s Dependency Walker tool, the output should also list cygwin1.dll and cygintl-8.dll, at minimum.  Since it seems happy to chase dependencies from kernel32.dll to the other two, which are not explicit dependencies of ls.exe, it should also list cygiconv-2.dll, via cygintl.
>
> Bonus points if the output changes to a tree view, so the indirect dependencies are clear.

it works as expected for me:

$ ldd /usr/bin/ls.exe
  ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x77410000)
  kernel32.dll => /cygdrive/c/Windows/system32/kernel32.dll (0x771f0000)
  KERNELBASE.dll => /cygdrive/c/Windows/system32/KERNELBASE.dll 
(0x7fefd460000)
  SYSFER.DLL => /cygdrive/c/Windows/System32/SYSFER.DLL (0x74e90000)
  cygwin1.dll => /usr/bin/cygwin1.dll (0x180040000)
  cygintl-8.dll => /usr/bin/cygintl-8.dll (0x3e1840000)
  cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x3e6e90000)


$ objdump -x /usr/bin/ls.exe |grep "DLL Name:"
         DLL Name: cygwin1.dll
         DLL Name: cygintl-8.dll
         DLL Name: KERNEL32.dll



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



More information about the Cygwin mailing list