Subject: Re: shared objects installed without execute permission bogus warning?
To: Todd Vierling <>
From: grant beattie <>
List: tech-pkg
Date: 10/27/2004 19:36:49
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Oct 25, 2004 at 09:57:05AM -0400, Todd Vierling 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 shl=
> 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 correc=

Solaris ships with (some) non-executable shared libraries, and
this change breaks x11-links where /usr/openwin is read-only (eg.
chroot) because it tries to chmod symlinks:

=3D=3D=3D> [Automatic none shared object handling]
/usr/pkg/share/x11-links/lib/ installed without execute permissio=
n; fixing (should use [BSD_]INSTALL_LIB)
chmod: WARNING: can't change /usr/pkg/share/x11-links/lib/
*** Error code 1

I don't know if test -h is supported on IRIX5, and it's easier to just
not do it unless needed. it also causes deviation from the default
behaviour on some platforms which I think should be avoided (your
recent libtool sanity fixes are a definite plus here!).

should I add _OPSYS_SHLIB_EXEC to platform/*.mk ?


Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.2.4 (NetBSD)