glibc/locale
Roland McGrath 1a0d874ed4 Make uselocale support static linking.
* locale/xlocale.c: Revert changes putting _nl_global_locale here.
	This file again just defines _nl_C_locobj.
	(_nl_C_locobj): Use a categories.def iterator in the initializer.
	* locale/global-locale.c: New file.  Define _nl_global_locale here,
	using all weak references in the initializer.
	* locale/Makefile (aux): Add global-locale.
	* locale/localeinfo.h (_nl_global_locale, _NL_CURRENT_LOCALE): Make
	these unconditional, along with the tsd decl.
	[!SHARED && HAVE___THREAD && HAVE_WEAK_SYMBOLS] (NL_CURRENT_INDIRECT):
	Define it under these conditions.
	[NL_CURRENT_INDIRECT]: Test this instead of [! SHARED].
	Don't declare _nl_current.  Declare _nl_current_LC_FOO as
	`extern __thread struct locale_data *const *'.
	[NL_CURRENT_INDIRECT]
	(_NL_CURRENT_DATA, _NL_CURRENT, _NL_CURRENT_WSTR): Add indirection.
	[NL_CURRENT_INDIRECT] (_NL_CURRENT_DEFINE): Rewritten.  Define
	the thread variable _nl_current_LC_FOO and also a special absolute
	symbol _nl_current_LC_FOO_used.
	* locale/uselocale.c (__uselocale) [NL_CURRENT_INDIRECT]:
	Set each _nl_current_LC_FOO symbol to point into the new locale,
	using weak references to test if _nl_current_LC_FOO_used was linked in.
	* locale/setlocale.c [! SHARED]: Replace this conditional ...
	[NL_CURRENT_INDIRECT]: ... with this one.
	(_nl_current, _nl_C): Variables removed.
	[NL_CURRENT_INDIRECT] (_nl_current_used): New variable, table of
	weak references to _nl_current_LC_FOO_used.
	[NL_CURRENT_INDIRECT] (CATEGORY_USED): Define using that table.
	(free_category): New function, broken out of ...
	(free_mem): ... here.  Call that.
	(free_mem) [NL_CURRENT_INDIRECT]: Use a categories.def iterator
	instead of a loop.

	__USING_NAMESPACE_C99 depending on _GLIBCPP_USE_NAMESPACES.
2002-08-28 10:39:23 +00:00
..
bits Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
programs Roland McGrath <roland@redhat.com> 2002-08-28 07:29:53 +00:00
.cvsignore Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
broken_cur_max.c Update. 2002-03-14 20:48:50 +00:00
C-address.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-collate.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-ctype.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-identification.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-measurement.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-messages.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-monetary.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-name.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-numeric.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-paper.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-telephone.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-time.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
C-translit.h Update. 2002-04-20 07:58:48 +00:00
C-translit.h.in Update. 2002-04-20 07:58:48 +00:00
C_name.c Update. 2001-04-06 17:49:18 +00:00
categories.def Update. 2002-02-13 22:50:48 +00:00
coll-lookup.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
duplocale.c * locale/setlocale.c (_nl_current_names): Variable moved ... 2002-08-04 01:41:55 +00:00
elem-hash.h Update. 2001-08-09 05:21:51 +00:00
findlocale.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
freelocale.c * locale/setlocale.c (_nl_current_names): Variable moved ... 2002-08-04 01:41:55 +00:00
gen-translit.pl Update. 2000-11-02 07:51:38 +00:00
global-locale.c Make uselocale support static linking. 2002-08-28 10:39:23 +00:00
hashval.h Roland McGrath <roland@redhat.com> 2002-08-28 07:29:53 +00:00
indigits.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
indigitswc.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
iso-639.def Update. 2002-08-02 20:32:21 +00:00
iso-3166.def Updates from latest official list. 2001-08-07 18:50:46 +00:00
iso-4217.def Update. 2002-02-28 09:13:09 +00:00
langinfo.h * ctype/ctype.h (isascii_l, toascii_l): Define to __*_l counterparts. 2002-08-27 23:36:31 +00:00
lc-address.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lc-collate.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lc-ctype.c 2002-08-02 Roland McGrath <roland@redhat.com> 2002-08-02 21:04:06 +00:00
lc-identification.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lc-measurement.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lc-messages.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lc-monetary.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lc-name.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lc-numeric.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lc-paper.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lc-telephone.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
lc-time.c Update. 2002-03-13 06:33:52 +00:00
loadarchive.c Roland McGrath <roland@redhat.com> 2002-08-28 07:29:53 +00:00
loadlocale.c Update. 2002-08-25 04:51:08 +00:00
locale.h Prepare headers for use in ISO C++ compliant implementations. 2002-08-28 08:01:11 +00:00
localeconv.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
localeinfo.h Make uselocale support static linking. 2002-08-28 10:39:23 +00:00
localename.c * locale/setlocale.c (_nl_current_names): Variable moved ... 2002-08-04 01:41:55 +00:00
locarchive.h * locale/locarchive.h (struct locale_category_data): Give this name to 2002-08-15 07:02:19 +00:00
Makefile Make uselocale support static linking. 2002-08-28 10:39:23 +00:00
mb_cur_max.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
newlocale.c * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale 2002-08-10 06:22:37 +00:00
nl_langinfo.c * locale/Versions (libc: GLIBC_2.3): Add all the *_l functions 2002-08-06 08:40:20 +00:00
nl_langinfo_l.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
outdigits.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
outdigitswc.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
setlocale.c Make uselocale support static linking. 2002-08-28 10:39:23 +00:00
strlen-hash.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
SYS_libc.c Update. 2002-04-08 08:59:00 +00:00
tst-C-locale.c * locale/tst-C-locale.c (run_test): Remove __ from function names. 2002-08-28 08:44:40 +00:00
uselocale.c Make uselocale support static linking. 2002-08-28 10:39:23 +00:00
Versions 2002-08-27 Roland McGrath <roland@redhat.com> 2002-08-27 22:05:50 +00:00
weight.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
weightwc.h Update. 2001-08-07 04:37:18 +00:00
xlocale.c Make uselocale support static linking. 2002-08-28 10:39:23 +00:00
xlocale.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00