Go to file
Roland McGrath ce460d04a5 * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional
changed from [USE_TLS && HAVE___THREAD].

	* sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
	Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
	* sysdeps/x86_64/dl-machine.h
	(elf_machine_type_class, elf_machine_rela): Likewise.
	* sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
	Likewise.

	* include/link.h (struct link_map): Remove member l_tls_tp_initialized.
	* elf/rtld.c (_dl_start_final, dl_main): Don't use it.
	(_dl_start): Conditionalize PT_TLS check on [USE___THREAD].

	* sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
	instead of ___tls_get_addr.
	(___tls_get_addr_internal): Add attribute_hidden to decl.

	* sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
	_dl_error_catch_tsd.
	* elf/rtld.c (startup_error_tsd): New function.
	(dl_main): Point _dl_error_catch_tsd at that.
	* elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
	use new function pointer instead.
	* elf/dl-tsd.c: New file.
	* elf/Makefile (routines): Add it.

2002-10-07  Roland McGrath  <roland@redhat.com>

	* elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
	writev if it's available.  Otherwise if [RTLD_PRIVATE_ERRNO] then
	take _dl_load_lock around calling __writev.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
	(INLINE_SYSCALL): Use that.

	* sysdeps/generic/dl-sysdep.h: New file.
	* sysdeps/mach/hurd/dl-sysdep.h: New file.
	* sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
	* include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
	[RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
	access it directly.
	* elf/dl-minimal.c (__errno_location): Removed.
	* sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
	Use GOTOFF access for errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.h
	[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.

	* sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
	Use PC-relative access for errno.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h
	[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.

	* include/tls.h: New file.
	(USE___THREAD): New macro.
	Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
	libc or libpthread.
	* sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
	changed from [USE_TLS && HAVE___THREAD].
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
	* sysdeps/unix/i386/sysdep.S: Likewise.
	* sysdeps/unix/x86_64/sysdep.S: Likewise.
	* include/errno.h: Likewise.
	* include/netdb.h: Likewise.
	* include/resolv.h: Likewise.

	* sysdeps/generic/errno.c: New file.
	* csu/Makefile (aux): New variable, list errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
	* sysdeps/unix/alpha/sysdep.S: Likewise.
	* sysdeps/generic/start.c: Likewise.
	* sysdeps/unix/start.c: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.

	* manual/search.texi (Tree Search Function, Hash Search Function):
	Mention search.h clearly.

2002-10-05  Roland McGrath  <roland@redhat.com>

	* elf/dl-fxstat64.c: File removed.
	* elf/dl-xstat64.c: File removed.
	* elf/Makefile (rtld-routines): Remove them.
	* sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
	Instead, use strong_alias instead of versioned_symbol in the
	!SHLIB_COMPAT case.
	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
	* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.

	* include/shlib-compat.h
	(SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
	[! NOT_IN_libc] (IS_IN_libc): Define it.
	* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
	* elf/Makefile (CPPFLAGS-.os): Likewise.

	* sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
	Return the status instead of calling exit.

	* Makeconfig (CFLAGS): Prepend -std=gnu99.
	* Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
	Remove superfluous rm command, whose @ plus make bugs hid
	all these commands from the make output.

	* include/stubs-prologue.h: New file.  Give #error under #ifdef _LIBC.
	* Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
	Use that file's contents instead of literal echo's for the prologue.
	* include/features.h: Include <gnu/stubs.h> unconditionally.
	* include/gnu/stubs.h: New file.

2002-09-30  Roland McGrath  <roland@redhat.com>

	* elf/rtld-Rules: New file.
	* elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
	$(objpfx)rtld-libc.a): New targets.
	(generated): Add them.
	(reloc-link): Remove -o $@ from the variable.
	($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
	(distribute): Add rtld-Rules.
	(CPPFLAGS-.os): Define this instead of CFLAGS-.os.
	* Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
	(common-mostlyclean, common-clean): Clean up rtld-* files.
	* sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
2002-10-11 10:52:20 +00:00
aout Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
argp * catgets/open_catalog.c (__open_catalog): Don't use a value type 2002-09-24 04:24:25 +00:00
assert * sysdeps/mach/_strerror.c (__strerror_r): Add libc_hidden_def. 2002-08-30 01:31:18 +00:00
bare Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
bits * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
catgets Fix format strings. 2002-09-30 07:47:16 +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 * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
ctype 2002-09-23 Roland McGrath <roland@redhat.com> 2002-09-24 04:20:50 +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 * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
gmon Use correct types for frompcindex and toindex variables. 2002-08-29 09:27:50 +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 * ctype/ctype.h (__ctype_b, __ctype_toupper, __ctype_tolower): 2002-09-02 07:09:08 +00:00
iconv Update. 2002-09-24 04:19:03 +00:00
iconvdata Update. 2002-10-02 07:30:48 +00:00
include * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
inet * catgets/open_catalog.c (__open_catalog): Don't use a value type 2002-09-24 04:24:25 +00:00
intl * intl/dcigettext.c (DCIGETTEXT): Restore errno only right before 2002-09-20 23:25:36 +00:00
io Fix format strings. 2002-09-30 07:47:16 +00:00
libio Update. 2002-10-03 08:38:41 +00:00
linuxthreads Update. 2002-10-11 07:58:32 +00:00
linuxthreads_db Update. 2002-09-29 07:03:57 +00:00
locale * locale/newlocale.c (__newlocale): If setting all categories to "C", 2002-10-11 07:22:18 +00:00
localedata Update. 2002-09-28 05:28:44 +00:00
login Update. 2002-10-02 21:03:48 +00:00
mach * sysdeps/mach/_strerror.c (__strerror_r): Add libc_hidden_def. 2002-08-30 01:31:18 +00:00
malloc * malloc/malloc.c [! MALLOC_DEBUG] (assert): #undef before defining. 2002-09-29 22:53:29 +00:00
manual * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
math Update. 2002-09-10 01:40:26 +00:00
misc Update. 2002-10-09 09:42:48 +00:00
nis Update. 2002-08-26 07:06:57 +00:00
nscd * csu/Versions: Use %include <tls.h> to get USE_TLS defined. 2002-09-25 01:58:37 +00:00
nss Update. 2002-09-29 18:25:48 +00:00
po Update. 2002-10-05 18:18:49 +00:00
posix Update. 2002-10-10 07:27:56 +00:00
pwd Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
resolv Update. 2002-10-09 09:42:48 +00:00
resource Update. 2002-07-20 04:01:22 +00:00
rpm Update. 1998-05-18 11:43:16 +00:00
rt 2002-09-30 Roland McGrath <roland@redhat.com> 2002-09-30 07:19:21 +00:00
scripts * locale/xlocale.h (struct __locale_struct): New member `__names'. 2002-08-30 10:36:44 +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 Update. 2002-10-09 09:42:48 +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 Update. 2002-10-09 09:42:48 +00:00
stdlib Update. 2002-10-10 00:42:24 +00:00
streams Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
string Update. 2002-10-09 09:42:48 +00:00
sunrpc * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
sysdeps * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
sysvipc Update. 2002-10-09 09:42:48 +00:00
termios Update. 2002-02-01 23:24:05 +00:00
time * catgets/open_catalog.c (__open_catalog): Don't use a value type 2002-09-24 04:24:25 +00:00
timezone Update. 2002-08-04 20:54:20 +00:00
wcsmbs * catgets/open_catalog.c (__open_catalog): Don't use a value type 2002-09-24 04:24:25 +00:00
wctype * sysdeps/generic/libc-tls.c (__pthread_initialize_minimal): Pass 2002-09-01 12:39:40 +00:00
.cvsignore Update. 2002-09-15 04:25:03 +00:00
BUGS Update. 2002-09-30 20:56:47 +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
ChangeLog * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +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
ChangeLog.13 Update. 2002-10-03 16:37:04 +00:00
FAQ Update. 2002-10-03 01:03:45 +00:00
FAQ.in Update. 2002-10-03 00:24:35 +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-10-10 00:42:24 +00:00
MakeTAGS Update. 2002-05-20 20:11:09 +00:00
Makeconfig * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
Makefile 2002-10-08 Roland McGrath <roland@redhat.com> 2002-10-08 08:44:09 +00:00
Makefile.in Update. 2000-11-15 23:56:34 +00:00
Makerules 2002-10-05 Roland McGrath <roland@redhat.com> 2002-10-11 10:50:51 +00:00
NAMESPACE Add and update many more entries. 2000-03-20 00:42:58 +00:00
NEWS Update. 2002-10-03 00:24:35 +00:00
NOTES Regenerated. 2000-03-10 09:36:06 +00:00
PROJECTS Update. 2002-09-04 23:40:45 +00:00
README Update. 2002-10-10 00:42:24 +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 Update. 2002-10-03 00:24:35 +00:00
Rules Update. 2002-04-20 20:36:26 +00:00
Versions.def (libc): Add GLIBC_2.3.1. (libpthread): Add GLIBC_2.3.1. 2002-10-09 09:04:34 +00:00
abi-tags * sysdeps/generic/utmp-equal.h: New file, extracted from utmp_file.c. 2002-09-20 22:07:20 +00:00
aclocal.m4 2002-09-28 Roland McGrath <roland@redhat.com> 2002-09-29 09:35:35 +00:00
config-name.in initial import 1995-02-18 01:27:10 +00:00
config.h.in * locale/newlocale.c (__newlocale): If setting all categories to "C", 2002-10-11 07:22:18 +00:00
config.make.in 2002-10-08 Roland McGrath <roland@redhat.com> 2002-10-08 08:44:09 +00:00
configure * configure.in (aux_missing warning): Change "too old" to 2002-10-08 08:51:28 +00:00
configure.in * configure.in (aux_missing warning): Change "too old" to 2002-10-08 08:51:28 +00:00
cppflags-iterator.mk * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
extra-lib.mk Update. 2002-04-09 08:03:15 +00:00
glibcbug.in Update. 2002-07-16 18:15:34 +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
shlib-versions Update. 2002-09-05 10:28:51 +00:00
test-skeleton.c 2002-09-29 Roland McGrath <roland@redhat.com> 2002-09-30 00:22:13 +00:00
version.h Update. 2002-10-09 23:39:33 +00:00

README

This directory contains the version 2.3.1 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
		powerpc64-*-linux-gnu	Linux-2.4.19+ on 64-bit 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.4+ on IBM S/390 64-bit
		sh-*-linux-gnu		Linux-2.x on Super Hitachi
		cris-*-linux-gnu	Linux-2.4+ on CRIS
		x86-64-*-linux-gnu	Linux-2.4+ on x86-64

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.