Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Aug 2010 20:06:49 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Rui Paulo <rpaulo@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r211561 - head/cddl/lib/drti
Message-ID:  <20100821170649.GV2396@deviant.kiev.zoral.com.ua>
In-Reply-To: <F9B84E88-A3A7-4B37-A473-0860475FAE22@freebsd.org>
References:  <201008211348.o7LDm55c070981@svn.freebsd.org> <20100821135908.GT2396@deviant.kiev.zoral.com.ua> <64B55A11-14C3-4297-93F6-40BA74854F98@FreeBSD.org> <20100821142340.GU2396@deviant.kiev.zoral.com.ua> <F9B84E88-A3A7-4B37-A473-0860475FAE22@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--J+UeKfBGib79GnN+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Aug 21, 2010 at 03:33:35PM +0100, Rui Paulo wrote:
>=20
> On 21 Aug 2010, at 15:23, Kostik Belousov wrote:
>=20
> > On Sat, Aug 21, 2010 at 03:16:49PM +0100, Rui Paulo wrote:
> >>=20
> >> On 21 Aug 2010, at 14:59, Kostik Belousov wrote:
> >>=20
> >>> On Sat, Aug 21, 2010 at 01:48:05PM +0000, Rui Paulo wrote:
> >>>> Author: rpaulo
> >>>> Date: Sat Aug 21 13:48:04 2010
> >>>> New Revision: 211561
> >>>> URL: http://svn.freebsd.org/changeset/base/211561
> >>>>=20
> >>>> Log:
> >>>> Link drti.o with a PIC version of libelf. This is needed because
> >>>> drti.o depends on libelf and this avoids linking every other drti.o
> >>>> program (namely programs with USDT probes) with libelf.
> >>> What is wrong with having libelf as dependency of the resulting
> >>> binary ?
> >>=20
> >> The resulting binary can be a library. If I add drti.o to the libthr
> >> library, every other program will break because it can't find libelf
> >> symbols. The only way to fix it would be to rebuild every program that
> >> depends on libthr and I don't want that to happen.
> >=20
> > I do not understand this. If drti.o is added to a library, library shou=
ld
> > also record a dependency on libelf, i.e. be linked with it. Since you
> > already modifying link command to add drti.o, what is the problem to
> > add -lelf ?
>=20
> I wanted the same steps to be done in FreeBSD as in Solaris. I.e., in
> I Solaris you don't need to link with -lelf your program after you
> I added DTrace probes to it believe this is a good tradeoff          .

The drawbacks of linking library statically are, at least:
- Wasted space.
- Harder upgrade when libelf changes. Much harder for ports and hand-
  compiled programs.
- The mess that happen when the binary also linked with -lelf, and
  either your drti.o is linked, or a library that linked with its
  dcrti.o.
Pro argument seems to be that one less diff with Solaris code is needed.

This is becoming rather long.

--J+UeKfBGib79GnN+
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkxwB6kACgkQC3+MBN1Mb4jkAACfcmWuKmjGmYv4Gg12wsdlZZst
pnsAnivKSN0fVYo2FYfcxasBZyqMh+mN
=LDUh
-----END PGP SIGNATURE-----

--J+UeKfBGib79GnN+--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100821170649.GV2396>