Date: Thu, 9 Dec 2010 10:01:32 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: Kostik Belousov <kostikbel@gmail.com>, Etienne Robillard <erob@gthcfoundation.org>, Giorgos Keramidas <keramida@freebsd.org> Subject: Re: shared lib issue in /usr/obj? Message-ID: <201012091001.32727.jhb@freebsd.org> In-Reply-To: <xeiahbenhx4p.fsf@kobe.laptop> References: <4D00CDCE.8040509@gthcfoundation.org> <20101209131502.GM33073@deviant.kiev.zoral.com.ua> <xeiahbenhx4p.fsf@kobe.laptop>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, December 09, 2010 8:52:06 am Giorgos Keramidas wrote:
> On Thu, 9 Dec 2010 15:15:02 +0200, Kostik Belousov <kostikbel@gmail.com>
wrote:
> > On Thu, Dec 09, 2010 at 01:57:16PM +0100, Giorgos Keramidas wrote:
> >> They are installed with "make install" and when you run "make install"
> >> with PRECIOUSLIB defined, bsd.lib.mk adds this to SHINSTALLFLAGS:
> >>
> >> .if defined(PRECIOUSLIB)
> >> .if !defined(NO_FSCHG)
> >> SHLINSTALLFLAGS+= -fschg
> >> .endif
> >> SHLINSTALLFLAGS+= -S
> >> .endif
> >>
> >> The Makefiles that set PRECIOUSLIB today are:
> >>
> >> keramida@bokos:/usr/src$ grep -r 'PRECIOUSLIB.*=' *
> >> lib/libc/Makefile:PRECIOUSLIB=
> >> lib/libcrypt/Makefile:PRECIOUSLIB=
> >> lib/libkse/Makefile:PRECIOUSLIB=
> >> lib/librt/Makefile:PRECIOUSLIB=
> >> lib/libthr/Makefile:PRECIOUSLIB=
> >> keramida@bokos:/usr/src$
> >
> > Would be nice if lib32 installation into the obj/ area somehow
> > eliminated the setting of schg flag. There is no reason to have schg
> > set on files in obj.
>
> Yes, that's a good idea.
>
> I don't have root access to an amd64 system to test this now, but I
> think all we need to change is:
>
> %%%
> $ hg diff .
> diff -r e52d3f3de04d Makefile.inc1
> --- a/Makefile.inc1 Thu Dec 09 12:35:12 2010 +0100
> +++ b/Makefile.inc1 Thu Dec 09 14:50:06 2010 +0100
> @@ -318,7 +318,8 @@ LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTR
> CXX="${CXX} ${LIB32FLAGS}" \
> OBJC="${OBJC} ${LIB32FLAGS}" \
> LIBDIR=/usr/lib32 \
> - SHLIBDIR=/usr/lib32
> + SHLIBDIR=/usr/lib32 \
> + NO_FSCHG=''
>
> LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \
> -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \
> $
> %%%
>
> This should strip the -fschg option from lib32's installation commands.
Does that affect the installed versions of the libraries in /usr/lib32? Those
should probably have schg set.
--
John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201012091001.32727.jhb>
