Go to file
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
aout Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
argp (__argp_fmtstream_update): Avoid crash in handling of overly long words. 2002-06-25 18:16:11 +00:00
assert Update. 2002-08-03 18:43:13 +00:00
bare Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
bits Update. 2002-08-27 06:41:29 +00:00
catgets Update. 2002-08-25 04:51:08 +00:00
conf (NEED_INETADDR, NEED_INETATON): Define to 1, not empty. 1995-09-08 20:24:57 +00:00
conform Add strerror_r prototype. 2002-04-23 21:16:22 +00:00
crypt 2002-08-26 Brian Youmans <3diff@gnu.org> 2002-08-26 22:40:48 +00:00
csu Update. 2002-08-15 13:04:07 +00:00
ctype Prepare headers for use in ISO C++ compliant implementations. 2002-08-28 08:01:11 +00:00
debug Update. 2002-05-15 03:36:41 +00:00
dirent Update. 2002-06-22 05:58:14 +00:00
dlfcn (foo): Add prototype to avoid warning. 2002-08-23 08:52:49 +00:00
elf 2002-08-28 Roland McGrath <roland@redhat.com> 2002-08-28 10:23:59 +00:00
gmon Update. 2002-08-08 09:04:02 +00:00
gnulib Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
grp Update. 2002-03-13 19:21:13 +00:00
hesiod Update. 2002-08-26 07:06:57 +00:00
hurd 2002-08-26 Roland McGrath <roland@frob.com> 2002-08-27 02:08:41 +00:00
iconv 2002-08-26 Brian Youmans <3diff@gnu.org> 2002-08-26 22:40:48 +00:00
iconvdata Add i386/dl-brk.S, mips/dl-brk.S, and sparc/dl-brk.S. 2002-08-28 08:41:52 +00:00
include 2002-08-27 Roland McGrath <roland@redhat.com> 2002-08-28 06:59:14 +00:00
inet * locale/programs/ld-ctype.c (ctype_read): When given a repertoire 2002-08-26 11:39:12 +00:00
intl Update. 2002-08-27 12:10:11 +00:00
io * io/Makefile (routines): Add sendfile and sendfile64. 2002-06-05 08:56:41 +00:00
libio Add i386/dl-brk.S, mips/dl-brk.S, and sparc/dl-brk.S. 2002-08-28 08:41:52 +00:00
linuxthreads Update. 2002-08-28 06:47:35 +00:00
linuxthreads_db Update. 2002-08-24 03:35:35 +00:00
locale Make uselocale support static linking. 2002-08-28 10:39:23 +00:00
localedata * locale/tst-C-locale.c (run_test): Remove __ from function names. 2002-08-28 08:44:40 +00:00
login * locale/programs/ld-ctype.c (ctype_read): When given a repertoire 2002-08-26 11:39:12 +00:00
mach 2002-05-13 Marcus Brinkmann <marcus@gnu.org> 2002-05-13 01:48:25 +00:00
malloc 2002-08-26 Brian Youmans <3diff@gnu.org> 2002-08-26 22:40:48 +00:00
manual * manual/sysinfo.texi (Mount Information): Correct file name to macro 2002-08-27 09:40:16 +00:00
math Prepare headers for use in ISO C++ compliant implementations. 2002-08-28 08:01:11 +00:00
misc Add i386/dl-brk.S, mips/dl-brk.S, and sparc/dl-brk.S. 2002-08-28 08:41:52 +00:00
nis Update. 2002-08-26 07:06:57 +00:00
nscd Update. 2002-08-26 08:40:21 +00:00
nss Update. 2002-08-27 08:32:50 +00:00
po Update from translation team. 2002-08-05 16:56:10 +00:00
posix Update. 2002-08-26 23:00:40 +00:00
pwd Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
resolv Update. 2002-08-26 07:06:57 +00:00
resource Update. 2002-07-20 04:01:22 +00:00
rpm Update. 1998-05-18 11:43:16 +00:00
rt * locale/programs/ld-ctype.c (ctype_read): When given a repertoire 2002-08-26 11:39:12 +00:00
scripts * scripts/firstversions.awk: When encountering a version newer than 2002-08-22 07:22:03 +00:00
setjmp Prepare headers for use in ISO C++ compliant implementations. 2002-08-28 08:01:11 +00:00
shadow * include/stdlib.h: Use libc_hidden_proto for qsort. 2002-08-03 22:26:33 +00:00
signal Prepare headers for use in ISO C++ compliant implementations. 2002-08-28 08:01:11 +00:00
socket Update. 2002-02-01 23:24:05 +00:00
soft-fp Update. 2002-07-11 05:55:13 +00:00
stdio-common Fix typo in stdio_lim.h installation rule. 2002-08-27 16:23:40 +00:00
stdlib (strtol): Add some more casts to avoid warnings. 2002-08-28 10:16:21 +00:00
streams Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
string Prepare headers for use in ISO C++ compliant implementations. 2002-08-28 08:01:11 +00:00
sunrpc Update. 2002-08-27 12:10:11 +00:00
sysdeps * sysdeps/generic/libc-tls.c (__libc_setup_tls): Don't check for 2002-08-28 10:28:11 +00:00
sysvipc Update. 2002-08-23 22:33:32 +00:00
termios Update. 2002-02-01 23:24:05 +00:00
time Prepare headers for use in ISO C++ compliant implementations. 2002-08-28 08:01:11 +00:00
timezone Update. 2002-08-04 20:54:20 +00:00
wcsmbs Prepare headers for use in ISO C++ compliant implementations. 2002-08-28 08:01:11 +00:00
wctype Prepare headers for use in ISO C++ compliant implementations. 2002-08-28 08:01:11 +00:00
.cvsignore Update. 2000-04-28 05:12:30 +00:00
abi-tags Update. 1998-09-21 14:34:13 +00:00
aclocal.m4 Update. 2001-06-11 12:32:56 +00:00
BUGS Update. 2001-06-16 04:34:51 +00:00
ChangeLog Make uselocale support static linking. 2002-08-28 10:39:23 +00:00
ChangeLog.1 * Makefile (distribute): Add ChangeLog.[0-9]. 1995-04-14 03:52:54 +00:00
ChangeLog.2 * Makefile (distribute): Add ChangeLog.[0-9]. 1995-04-14 03:52:54 +00:00
ChangeLog.3 * Makefile (distribute): Add ChangeLog.[0-9]. 1995-04-14 03:52:54 +00:00
ChangeLog.4 * Makefile (distribute): Add ChangeLog.[0-9]. 1995-04-14 03:52:54 +00:00
ChangeLog.5 Thu Jul 18 12:33:57 1996 Roland McGrath <roland@baalperazim.frob.com> 1996-07-20 12:06:21 +00:00
ChangeLog.6 Update. 1997-07-22 00:10:33 +00:00
ChangeLog.7 Update. 1997-11-18 02:50:07 +00:00
ChangeLog.8 Update. Old logs are in ChangeLog.7. 1998-08-11 18:44:11 +00:00
ChangeLog.9 Update. 2000-04-28 06:14:43 +00:00
ChangeLog.10 Update. 2000-02-29 01:13:44 +00:00
ChangeLog.11 Update. 2000-11-10 04:15:55 +00:00
ChangeLog.12 Update. 2001-08-16 05:39:18 +00:00
config-name.in initial import 1995-02-18 01:27:10 +00:00
config.h.in * manual/errno.texi (Error Codes): Added ECANCELED (118 for Hurd). 2002-08-27 09:23:13 +00:00
config.make.in 2002-04-30 Roland McGrath <roland@frob.com> 2002-04-30 22:00:59 +00:00
configure * manual/errno.texi (Error Codes): Added ECANCELED (118 for Hurd). 2002-08-27 09:23:13 +00:00
configure.in * manual/errno.texi (Error Codes): Added ECANCELED (118 for Hurd). 2002-08-27 09:23:13 +00:00
CONFORMANCE Update. 2001-01-11 17:50:24 +00:00
COPYING Update. 2001-07-06 06:58:28 +00:00
COPYING.LIB 2002-08-26 Brian Youmans <3diff@gnu.org> 2002-08-26 22:40:48 +00:00
cppflags-iterator.mk Update. 2002-04-08 18:50:41 +00:00
extra-lib.mk Update. 2002-04-09 08:03:15 +00:00
FAQ Update. 2002-08-27 12:10:11 +00:00
FAQ.in Warn against installing into /usr/local 2002-05-19 18:37:21 +00:00
glibcbug.in Update. 2002-07-16 18:15:34 +00:00
INSTALL * configure.in: Make GCC version check require 3.[2-9]* and no others. 2002-08-22 00:13:04 +00:00
INTERFACE Update. 1999-10-31 17:37:43 +00:00
LICENSES 2002-08-20 Brian Youmans <3diff@gnu.org> 2002-08-20 21:51:55 +00:00
Make-dist Update. 2002-08-27 12:10:11 +00:00
Makeconfig Update. 2002-08-27 12:10:11 +00:00
Makefile Fix typo in stdio_lim.h installation rule. 2002-08-27 16:23:40 +00:00
Makefile.in Update. 2000-11-15 23:56:34 +00:00
Makerules * Makerules (cpp-srcs-left): When setting this to run 2002-08-05 01:21:25 +00:00
MakeTAGS Update. 2002-05-20 20:11:09 +00:00
NAMESPACE Add and update many more entries. 2000-03-20 00:42:58 +00:00
NEWS Update. 2002-08-21 23:28:24 +00:00
NOTES Regenerated. 2000-03-10 09:36:06 +00:00
o-iterator.mk Fri Mar 17 12:58:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-03-17 18:42:51 +00:00
PROJECTS Update. 2001-11-14 08:49:20 +00:00
README 2002-08-20 Brian Youmans <3diff@gnu.org> 2002-08-20 21:51:55 +00:00
README-alpha Update. 1999-05-13 10:22:54 +00:00
README.libm update from main archive 961105 1996-11-06 04:24:40 +00:00
README.template 2002-08-20 Brian Youmans <3diff@gnu.org> 2002-08-20 21:51:55 +00:00
Rules Update. 2002-04-20 20:36:26 +00:00
shlib-versions * sysdeps/mach/hurd/xstat64.c: Conditionalize entire contents of the 2002-06-11 23:04:51 +00:00
test-skeleton.c (create_temp_file): New function. 2002-07-22 22:18:27 +00:00
version.h Update. 2001-11-27 04:07:09 +00:00
Versions.def Update. 2002-07-11 16:34:20 +00:00

This directory contains the version 2.2.90 release of the GNU C Library.
Many bugs have been fixed since the last release.
Some bugs surely remain.

As of this release, the GNU C library is known to run on the following
configurations:

		*-*-gnu			GNU Hurd
		i[3456]86-*-linux-gnu	Linux-2.x on Intel
		m68k-*-linux-gnu	Linux-2.x on Motorola 680x0
		alpha*-*-linux-gnu	Linux-2.x on DEC Alpha
		powerpc-*-linux-gnu     Linux and MkLinux on PowerPC systems
		sparc-*-linux-gnu	Linux-2.x on SPARC
		sparc64-*-linux-gnu	Linux-2.x on UltraSPARC 64-bit
		arm-*-none		ARM standalone systems
		arm-*-linux		Linux-2.x on ARM
		arm-*-linuxaout		Linux-2.x on ARM using a.out binaries
		mips*-*-linux-gnu	Linux-2.x on MIPS
		ia64-*-linux-gnu	Linux-2.x on ia64
		s390-*-linux-gnu	Linux-2.x on IBM S/390
		s390x-*-linux-gnu	Linux-2.x on IBM S/390 64-bit
		sh-*-linux-gnu		Linux-2.x on Super Hitachi
		cris-*-linux-gnu	Linux-2.4+ on CRIS

Former releases of this library (version 1.09.1 and perhaps earlier
versions) used to run on the following configurations:

		alpha-dec-osf1
		i[3456]86-*-bsd4.3
		i[3456]86-*-isc2.2
		i[3456]86-*-isc3
		i[3456]86-*-sco3.2
		i[3456]86-*-sco3.2v4
		i[3456]86-*-sysv
		i[3456]86-*-sysv4
		i[3456]86-force_cpu386-none
		i[3456]86-sequent-bsd
		i960-nindy960-none
		m68k-hp-bsd4.3
		m68k-mvme135-none
		m68k-mvme136-none
		m68k-sony-newsos3
		m68k-sony-newsos4
		m68k-sun-sunos4
		mips-dec-ultrix4
		mips-sgi-irix4
		sparc-sun-solaris2
		sparc-sun-sunos4

Since no one has volunteered to test and fix the above configurations,
these are not supported at the moment.  It's expected that these don't
work anymore.  Porting the library is not hard.  If you are interested
in doing a port, please contact the glibc maintainers by sending
electronic mail to <bug-glibc@gnu.org>.

There are some add-ons which can be used together with GNU libc.  They
are designed in a way to ease the installation by integrating them in
the libc source tree.  Simply get the add-ons you need and use the
--enable-add-ons option of the `configure' script to tell where the
add-ons are found.  Please read the FAQ file for more details.

See the file INSTALL to find out how to configure, build, install, and port
the GNU C library.  You might also consider reading the WWW pages for the
GNU libc at http://www.gnu.org/software/libc/libc.html.

The GNU C Library is completely documented by the Texinfo manual found
in the `manual/' subdirectory.  The manual is still being updated and
contains some known errors and omissions; we regret that we do not
have the resources to work on the manual as much as we would like.
Please send comments on the manual to <bug-glibc-manual@gnu.org>, and
not to the library bug-reporting address.

The file NOTES contains a description of the feature-test macros used
in the GNU C library, explaining how you can tell the library what
facilities you want it to make available.

We prefer to get bug reports sent using the `glibcbug' shell script which
is installed together with the rest of the GNU libc to <bugs@gnu.org>.
Simply run this shell script and fill in the information.  Nevertheless
you can still send bug reports to <bug-glibc@gnu.org> as normal electronic
mails.

The GNU C Library is free software.  See the file COPYING.LIB for copying
conditions, and LICENSES for notices about a few contributions that require
these additional notices to be distributed.