Subject: Re: shared objects installed without execute permission bogus warning?
To: grant beattie <grant@NetBSD.org>
From: Todd Vierling <firstname.lastname@example.org>
Date: 10/25/2004 09:57:05
On Mon, 25 Oct 2004, grant beattie wrote:
> what is the purpose of this? these shared objects will only ever be
> dlopen()'d, and my understanding is that dlopen() doesn't care if the
> .so lacks the execute bit.
Not true on some platforms. Interix is notable and will *break* if a shlib
is installed without +x.
Classically, *all* shared objects, dlopen()ed or not, required execute
permission, because that permission was used to govern whether mmap()ed
pages could be marked executable. This warning is therefore quite correct.
IIRC, there was a movement recently to bring that constraint (optionally)
back to NetBSD for precisely that purpose: text-execute restriction.
-- Todd Vierling <email@example.com> <firstname.lastname@example.org>