This is the mail archive of the
glibc-linux@ricardo.ecn.wfu.edu
mailing list for the glibc project.
Re: Why some symbols exported in .a but not .so
- To: glibc-linux at ricardo dot ecn dot wfu dot edu
- Subject: Re: Why some symbols exported in .a but not .so
- From: "Martin v. Loewis" <martin at loewis dot home dot cs dot tu-berlin dot de>
- Date: Sun, 6 Feb 2000 11:02:18 +0100
- CC: glibc-linux at ricardo dot ecn dot wfu dot edu
- References: <Pine.LNX.4.10.10002051628510.5788-100000@ashi.FootPrints.net>
- Reply-To: glibc-linux at ricardo dot ecn dot wfu dot edu
> 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.
No, it doesn't. Looking at 7.1.3 (Reserved Identifiers) of C99, I find
the following list
# - All identifiers that begin with an underscore and either an
# uppercase letter or another underscore are always reserved for any
# use.
# - All identifiers that begin with an underscore are always reserved
# for use as identifiers with file scope in both the ordinary and tag
# name spaces.
# - Each macro name in any of the following subclauses (including the
# future library directions) is reserved for use as specified if any
# of its associated headers is included; unless explicitly stated
# otherwise (see 7.1.4).
# - All identifiers with external linkage in any of the following
# subclauses (including the future library directions) are always
# reserved for use as identifiers with external linkage.143)
# - Each identifier with file scope listed in any of the following
# subclauses (including the future library directions) is reserved for
# use as macro and as an identifier with file scope in the same name
# space if any of its associated headers is included.
#
# No other identifiers are reserved.
So _nl_find_locale is be reserved for file-scope and tag names, but
not as a name of an external function.
Regards,
Martin