This is the mail archive of the glibc-linux@ricardo.ecn.wfu.edu mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Why some symbols exported in .a but not .so


On Sat, 5 Feb 2000, Chan Shih-Ping wrote:

> Date: Sat, 5 Feb 2000 21:35:08 +0800 (SGT)
> From: Chan Shih-Ping <cshihpin@dso.org.sg>
> Reply-To: glibc-linux@ricardo.ecn.wfu.edu
> To: glibc-linux@ricardo.ecn.wfu.edu
> Subject: Why some symbols exported in .a but not .so
> 
> 
> New to glibc...
> 
> Why are some symbols global in the static library
> but not in the shared library.
> 
> For example, internal functions
> like _nl_find_locale are visible in the archive
> library.

Because there are tricks you can do in shared libraries to get rid of such
symbols that aren't availble when making archives.

In any case external names like _nl_find_locale are in a reserved namespace.
ANSI C reserves all external names which have the form _[a-z].* regardless of
the inclusion of a standard header, which makes these identifiers available to
a library implementor for internal use.  If your program uses them, its
behavior is undefined.  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]