Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Nov 2002 09:29:17 +0000
From:      Doug Rabson <dfr@nlsystems.com>
To:        kientzle@acm.org, Terry Lambert <tlambert2@mindspring.com>, current@FreeBSD.ORG
Subject:   Re: [PATCH] note the __sF change in src/UPDATING
Message-ID:  <200211080929.17687.dfr@nlsystems.com>
In-Reply-To: <3DCADE51.2090607@acm.org>
References:  <3DCADE51.2090607@acm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 07 November 2002 9:42 pm, Tim Kientzle wrote:
> Terry Lambert asked:
> > Any chance we could get rid of all externally visable symbols that
> > are not defined as being there by some standard, and not just __sF,
> > since we are breaking the FORTRAN compiler and other third party
> > code already?
>
> This cannot be entirely done if you still want to
> manage library bloat.  In short, library routines
> have shared interfaces between them---common variables
> or common functions---that are internal to the library
> and should not be used by applications.
>
> To avoid this, you would have to bundle library functions
> together, which causes bloat.  Worse, you would have to
> avoid or drastically limit your use of macros.  (Any
> macro that uses one of these internal symbols generates
> a dependency in the compiled application.)
>
> It _would_ be a good idea to document any internal library
> symbols used by macros.  Removing such symbols is a
> good way to break existing compiled applications.
>
> Library design involves a lot of tradeoffs.

In the windows world, all this is handled by having a strict list of expl=
icit=20
symbol exports, either in the source code using syntax extensions or with=
 a=20
file supplied to the linker. I'm not sure whether binutils supports this =
kind=20
of thing but it would allow us to cut down the set of symbols exported fr=
om=20
libc.so.

--=20
Doug Rabson=09=09=09=09Mail:  dfr@nlsystems.com
=09=09=09=09=09Phone: +44 20 8348 6160



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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