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
2001-07-06 04:58:11 +00:00
2001-07-06 04:58:11 +00:00
2002-09-30 07:47:16 +00:00
2002-04-23 21:16:22 +00:00
2002-05-15 03:36:41 +00:00
2002-06-22 05:58:14 +00:00
2001-07-06 04:58:11 +00:00
2002-03-13 19:21:13 +00:00
2002-08-26 07:06:57 +00:00
2002-09-24 04:19:03 +00:00
2002-10-02 07:30:48 +00:00
2002-09-30 07:47:16 +00:00
2002-10-03 08:38:41 +00:00
2002-10-11 07:58:32 +00:00
2002-09-29 07:03:57 +00:00
2002-09-28 05:28:44 +00:00
2002-10-02 21:03:48 +00:00
2002-09-10 01:40:26 +00:00
2002-10-09 09:42:48 +00:00
2002-08-26 07:06:57 +00:00
2002-09-29 18:25:48 +00:00
2002-10-05 18:18:49 +00:00
2002-10-10 07:27:56 +00:00
2001-07-06 04:58:11 +00:00
2002-10-09 09:42:48 +00:00
2002-07-20 04:01:22 +00:00
1998-05-18 11:43:16 +00:00
2002-10-09 09:42:48 +00:00
2002-02-01 23:24:05 +00:00
2002-07-11 05:55:13 +00:00
2002-10-09 09:42:48 +00:00
2002-10-10 00:42:24 +00:00
2001-07-06 04:58:11 +00:00
2002-10-09 09:42:48 +00:00
2002-10-09 09:42:48 +00:00
2002-02-01 23:24:05 +00:00
2002-08-04 20:54:20 +00:00
2002-09-15 04:25:03 +00:00
2002-09-30 20:56:47 +00:00
1997-07-22 00:10:33 +00:00
1997-11-18 02:50:07 +00:00
2000-04-28 06:14:43 +00:00
2000-02-29 01:13:44 +00:00
2000-11-10 04:15:55 +00:00
2001-08-16 05:39:18 +00:00
2002-10-03 16:37:04 +00:00
1995-02-18 01:27:10 +00:00
2001-01-11 17:50:24 +00:00
2001-07-06 06:58:28 +00:00
2002-04-09 08:03:15 +00:00
FAQ
2002-10-03 01:03:45 +00:00
2002-10-03 00:24:35 +00:00
2002-07-16 18:15:34 +00:00
1999-10-31 17:37:43 +00:00
2002-10-10 00:42:24 +00:00
2000-11-15 23:56:34 +00:00
2002-05-20 20:11:09 +00:00
2000-03-20 00:42:58 +00:00
2002-10-03 00:24:35 +00:00
2000-03-10 09:36:06 +00:00
2002-09-04 23:40:45 +00:00
2002-10-10 00:42:24 +00:00
1999-05-13 10:22:54 +00:00
1996-11-06 04:24:40 +00:00
2002-10-03 00:24:35 +00:00
2002-04-20 20:36:26 +00:00
2002-09-05 10:28:51 +00:00
2002-10-09 23:39:33 +00:00

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.
Description
No description provided
Readme 269 MiB
Languages
C 76.1%
Assembly 13.5%
Pawn 3.3%
Roff 3.2%
Makefile 1.1%
Other 2.5%