Why /usr/bin/*.dll must be executable?
Fri Apr 20 22:10:00 GMT 2012
On 4/21/2012 5:21 AM, De-Jian Zhao wrote:
> Then, what limitations does the Windows loader have?
> As far as I know, there is no x bits for windows, right? How does the
> "chmod a-x" affect the file behavior under Windows if this is a
> Windows thing? I am completely confused. When I ran "chmod a-x *.dll",
> I assumed that these dll files were not executed directly under Cygwin
> or Windows; they were just some files storing the required functions
> or something; removing the x bits should not affect the behavior of
> Cygwin and Windows. If have run "chmod a-x" on the Windows system dll
> files, that will lead to the corruption of Windows, right? Thank God.
> I didn't do that.
> 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
The term "Executable" is not limited to the files that are run directly.
It rather shows that this file contains executable code, and in case of
DLLs, this is almost always true (unless they are resource-only DLLs;
note that sometimes unaware programmers create DLLs wich contain only
resources, but fail to create proper resource-only DLLs, ant they still
contain loading and unloading code).
Any code that may be executed (directly or indirectly) must have "x"
under *nix. Windows had tried to make somewhat similar (with the same
security concerns in mind) in its NT family, but it had to deal with
file systems that have no notion of "executability" (FAT), so the notion
was introduced in NTFS, but is not honored (thus, "execute" ACL
permission is useless in Windows).
As Cygwin tries to emulate *nix, I suppose, it explicitly checks
executable bit on loading files. So it's not correct to state that "this
is completely Windows loader thing", but this thing is conceptually
correct, so live with it.
Best regards, Mike.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin