X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-1.8 required=5.0	tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE
X-Spam-Check-By: sourceware.org
X-Mail-Handler: MailHop Outbound by DynDNS
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1+jXPdFaPOzNXzu++VV0OJW
Date: Fri, 24 Feb 2012 15:42:33 -0500
From: Christopher Faylor <cgf-use-the-mailinglist-please@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: ldd fails when dll has no execute permissions
Message-ID: <20120224204233.GC19740@ednor.casa.cgf.cx>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <1330038220.54804.YahooMailNeo@web36708.mail.mud.yahoo.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1330038220.54804.YahooMailNeo@web36708.mail.mud.yahoo.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On Thu, Feb 23, 2012 at 03:03:40PM -0800, cppjavaperl wrote:
>This was discovered in cygwin-1.7.10-1.
>
>If you run 'ldd' against an executable, and the executable has
>dependent DLLs which do *not* have execute permissions, ldd's output
>stops when it reaches the offending dependent DLL, and reports no
>further information.?  ldd does not give an error message, and the exit
>code is zero.
>
>To test, pick an application with a dependent DLL, then chmod 666 on
>that DLL (pick a DLL you can live without temporarily, of course), then
>run 'ldd' against the executable.

Can't reproduce this (with the latest DLL from the snapshot):

bash$ chmod a-w /bin/*.dll
bash$ ldd /bin/pwd
        ntdll.dll => /cygdrive/c/Windows/SysWOW64/ntdll.dll (0x779a0000)
        kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll (0x75310000)
        KERNELBASE.dll => /cygdrive/c/Windows/syswow64/KERNELBASE.dll (0x75ae0000)
        cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
        cygintl-8.dll => /usr/bin/cygintl-8.dll (0x61730000)
        cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x63c10000)

Given how ldd works, it's hard to see why executable permissions should
affect it.  ldd starts the executable for debugging and tracks .dlls as
they are loaded.  The executable bit state should have no effect on
that.

cgf

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

