mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
1a0d874ed4
* 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. |
||
---|---|---|
aout | ||
argp | ||
assert | ||
bare | ||
bits | ||
catgets | ||
conf | ||
conform | ||
crypt | ||
csu | ||
ctype | ||
debug | ||
dirent | ||
dlfcn | ||
elf | ||
gmon | ||
gnulib | ||
grp | ||
hesiod | ||
hurd | ||
iconv | ||
iconvdata | ||
include | ||
inet | ||
intl | ||
io | ||
libio | ||
linuxthreads | ||
linuxthreads_db | ||
locale | ||
localedata | ||
login | ||
mach | ||
malloc | ||
manual | ||
math | ||
misc | ||
nis | ||
nscd | ||
nss | ||
po | ||
posix | ||
pwd | ||
resolv | ||
resource | ||
rpm | ||
rt | ||
scripts | ||
setjmp | ||
shadow | ||
signal | ||
socket | ||
soft-fp | ||
stdio-common | ||
stdlib | ||
streams | ||
string | ||
sunrpc | ||
sysdeps | ||
sysvipc | ||
termios | ||
time | ||
timezone | ||
wcsmbs | ||
wctype | ||
.cvsignore | ||
abi-tags | ||
aclocal.m4 | ||
BUGS | ||
ChangeLog | ||
ChangeLog.1 | ||
ChangeLog.2 | ||
ChangeLog.3 | ||
ChangeLog.4 | ||
ChangeLog.5 | ||
ChangeLog.6 | ||
ChangeLog.7 | ||
ChangeLog.8 | ||
ChangeLog.9 | ||
ChangeLog.10 | ||
ChangeLog.11 | ||
ChangeLog.12 | ||
config-name.in | ||
config.h.in | ||
config.make.in | ||
configure | ||
configure.in | ||
CONFORMANCE | ||
COPYING | ||
COPYING.LIB | ||
cppflags-iterator.mk | ||
extra-lib.mk | ||
FAQ | ||
FAQ.in | ||
glibcbug.in | ||
INSTALL | ||
INTERFACE | ||
LICENSES | ||
Make-dist | ||
Makeconfig | ||
Makefile | ||
Makefile.in | ||
Makerules | ||
MakeTAGS | ||
NAMESPACE | ||
NEWS | ||
NOTES | ||
o-iterator.mk | ||
PROJECTS | ||
README | ||
README-alpha | ||
README.libm | ||
README.template | ||
Rules | ||
shlib-versions | ||
test-skeleton.c | ||
version.h | ||
Versions.def |
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.