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 explicit 
symbol exports, either in the source code using syntax extensions or with a 
file supplied to the linker. I'm not sure whether binutils supports this kind 
of thing but it would allow us to cut down the set of symbols exported from 
libc.so.

-- 
Doug Rabson                             Mail:  [EMAIL PROTECTED]
                                        Phone: +44 20 8348 6160



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to