Re: shared lib issue in /usr/obj?

From: Kostik Belousov <kostikbel_at_gmail.com>
Date: Thu, 9 Dec 2010 17:36:46 +0200
On Thu, Dec 09, 2010 at 10:01:32AM -0500, John Baldwin wrote:
> On Thursday, December 09, 2010 8:52:06 am Giorgos Keramidas wrote:
> > On Thu, 9 Dec 2010 15:15:02 +0200, Kostik Belousov <kostikbel_at_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_at_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_at_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
> > _at__at_ -318,7 +318,8 _at__at_ 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.

Yes, it does affect lib32. I did full buildworld+installworld of the
patched tree on amd64, and the newly installed /usr/lib32/libc.so.7
has no schg flag.

Received on Thu Dec 09 2010 - 14:36:51 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:10 UTC