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>