Go to file
Roland McGrath ba79d61b44 * Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so.
* elf/dl-close.c: New file.
	* elf/link.h: Declare _dl_close.
	* elf/Makefile (routines): Add dl-close.
	* elf/dlclose.c (dlclose): Use _dl_close.

	* elf/Makefile ($(objpfx)librtld.so): Remove libelf from deps.

	* elf/dl-runtime.c (_dl_global_scope): New variable.
	(_dl_object_relocation_scope): New function.
	(fixup): Use it.
	* elf/rtld.c (dl_main): Use it.
	* elf/dl-open.c (_dl_open): Use it.  If (MODE & RTLD_GLOBAL), set the
	l_global bit and append the new map to _dl_global_scope.
	* elf/link.h: Declare _dl_global_scope, _dl_global_scope_alloc,
	and _dl_object_relocation_scope.

	* elf/link.h (struct link_map): Add l_loader member.
	Remove _dl_map_object_from_fd decl.
	* elf/dl-load.c (_dl_map_object): Pass LOADER to ...
	(_dl_map_object_from_fd): Take new arg LOADER and set l_loader member.
	(_dl_map_object): Try DT_RPATH from all loaders up the chain.

	* elf/dl-object.c (_dl_loaded): Variable removed.
	(_dl_default_scope): New variable replaces it.
	* elf/link.h (_dl_loaded): Remove variable decl; instead define as
	macro for _dl_default_scope[2].
	(_dl_default_scope): Declare it.
	* sysdeps/i386/dl-machine.h (RTLD_START): Use _dl_default_scope[2]
	instead of _dl_loaded.
	* sysdeps/m68k/dl-machine.h (RTLD_START): Likewise.
	* elf/rtld.c (dl_main): Use _dl_default_scope for symbol lookups.

	* elf/dl-reloc.c (_dl_relocate_object): Remove check for _dl_rtld_map.
	* elf/rtld.c (dl_main): Pass 0 for LAZY flag when re-relocating self.

	* elf/link.h (struct link_map.l_type): Remove lt_interpreter.
 	(struct link_map): Add new flag member l_global.

	* elf/dl-reloc.c (_dl_relocate_object): Check for _dl_rtld_map
	directly instead of looking for lt_interpreter.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
	* elf/rtld.c (_dl_start): Don't bother setting BOOTSTRAP_MAP.l_type.
	(dl_main): Set _dl_rtld_map.l_type to lt_library.

	* elf/dl-deps.c (_dl_map_object_deps): Propagate MAP->l_type to
	dependencies loaded, downgrading lt_executable -> lt_library.

	* elf/dl-load.c (_dl_map_object_from_fd): Take new arg TYPE and set
	l_type from that, translating lt_library->lt_executable based on the
	file's ELF type.
	(_dl_map_object): Likewise.
	* elf/link.h: Update prototypes.
	* elf/dl-open.c: Pass type lt_loaded.
	* elf/rtld.c: Pass type lt_library.

	* elf/dl-load.c (_dl_map_object_from_fd): Handle null return from
	_dl_new_object.
	(_dl_map_object_from_fd: lose): Unchain and free L if it's not null.
	Free REALNAME, and just use NAME in error message.
	* elf/dl-object.c (_dl_new_object): If malloc fails, return null
	instead of calling _dl_signal_error.

	* elf/dl-load.c (_dl_map_object_from_fd): Close FD before signalling
	error for _dl_zerofd setup failure.

	* elf/dl-object.c (_dl_startup_loaded): Variable removed.
	* elf/link.h: Remove its decl.

	* elf/dl-reloc.c (_dl_relocate_object): Take new SCOPE arg and pass it
	through to _dl_lookup_symbol.
	* elf/link.h (_dl_relocate_object): Update comment and prototype.
	* elf/rtld.c (dl_main): Pass scope vector to _dl_relocate_object.

	* elf/dl-lookup.c (_dl_lookup_symbol): Arg SYMBOL_SCOPE is now a
	null-terminated vector of pointers, no longer a vector of exactly two.
	* elf/link.h (_dl_lookup_symbol): Update comment and prototype.

	* elf/dl-runtime.c (fixup): Set up scope for symbol lookup properly as
	done in _dl_relocate_object.

	* elf/dlopen.c: Pass "" to _dl_open when FILE is null.
1996-06-10 20:19:39 +00:00
arpa initial import 1995-02-18 01:27:10 +00:00
assert Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
bare Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
catgets Fri Apr 19 00:49:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-04-20 00:05:25 +00:00
conf (NEED_INETADDR, NEED_INETATON): Define to 1, not empty. 1995-09-08 20:24:57 +00:00
csu Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-07 20:37:41 +00:00
ctype Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
db Wed May 22 22:10:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-23 03:15:42 +00:00
dirent Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
elf * Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so. 1996-06-10 20:19:39 +00:00
gmon Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-07 20:37:41 +00:00
gnulib Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
grp Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
hurd Sun Jun 9 01:11:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-09 05:25:25 +00:00
inet Fri May 24 02:31:36 1996 Ulrich Drepper <drepper@cygnus.com> 1996-05-24 20:16:39 +00:00
intl Thu Jun 6 02:00:42 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-06 06:05:11 +00:00
io Tue Jun 4 21:01:20 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-05 01:07:21 +00:00
libio * sysdeps/libm-i387/s_finite.S: Use %eax instead of %al in setnel insn. 1996-06-04 06:48:18 +00:00
locale Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-07 20:37:41 +00:00
login (tty_name): New function. (login): Use it. (PATH_MAX): MACRO removed. <stdlib.h>: New include. 1996-06-07 20:32:20 +00:00
mach Sun Jun 9 01:11:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-09 05:25:25 +00:00
manual Fri Jun 7 16:48:13 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-07 21:18:34 +00:00
math Sun Jun 9 01:11:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-09 05:25:25 +00:00
misc Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-07 20:37:41 +00:00
po Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-07 20:37:41 +00:00
posix Fri Jun 7 16:48:13 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-07 21:18:34 +00:00
protocols initial import 1995-02-18 01:27:10 +00:00
pwd Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
resolv *** empty log message *** 1996-06-06 15:29:59 +00:00
resource Sun May 26 15:15:08 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-26 19:19:51 +00:00
rpc initial import 1995-02-18 01:27:10 +00:00
setjmp Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
signal Tue Jun 4 00:16:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-04 01:41:11 +00:00
socket Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
stdio Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
stdio-common * stdio-common/vfprintf.c [USE_IN_LIBIO] (size_t): Don't define as 1996-06-04 09:29:39 +00:00
stdlib *** empty log message *** 1996-06-06 15:29:59 +00:00
string Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-07 20:37:41 +00:00
sunrpc Wed May 22 00:40:50 1996 David Mosberger-Tang <davidm@azstarnet.com> 1996-05-23 05:33:49 +00:00
sys Regenerated: autoconf configure.in 1996-05-07 19:19:14 +00:00
sysdeps * Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so. 1996-06-10 20:19:39 +00:00
sysvipc Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
termios Regenerated: autoconf configure.in 1996-05-22 18:02:38 +00:00
time Sat Jun 8 15:15:07 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-08 15:21:40 +00:00
wcsmbs * time/Makefile (tzcompile): Add missing backslash. 1996-05-26 22:09:13 +00:00
wctype * time/Makefile (tzcompile): Add missing backslash. 1996-05-26 22:09:13 +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
=__ify initial import 1995-02-18 01:27:10 +00:00
a.out.h initial import 1995-02-18 01:27:10 +00:00
aclocal.m4 Thu May 9 09:17:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-10 22:06:47 +00:00
alloca.h initial import 1995-02-18 01:27:10 +00:00
ansidecl.h initial import 1995-02-18 01:27:10 +00:00
argz.h Mon Apr 29 00:11:59 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-04-29 05:21:53 +00:00
assert.h initial import 1995-02-18 01:27:10 +00:00
ChangeLog * Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so. 1996-06-10 20:19:39 +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
config-name.in initial import 1995-02-18 01:27:10 +00:00
config.guess * config.guess (i?86-ncr-sysv*): Emit minor release numbers. Recognize the NCR 4850 machine and NCR Pentium-based platforms. 1996-06-08 01:25:20 +00:00
config.h.in Tue Apr 23 15:56:56 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-04-24 00:58:47 +00:00
config.make.in Regenerated: autoconf configure.in 1996-05-22 18:02:38 +00:00
config.sub Wed May 22 01:48:54 1996 Ulrich Drepper <drepper@cygnus.com> 1996-05-22 02:11:55 +00:00
configure Sun Jun 2 14:56:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-02 19:47:36 +00:00
configure.in Wed May 29 00:57:37 1996 David Mosberger-Tang <davidm@azstarnet.com> 1996-06-02 18:50:07 +00:00
crypt-README initial import 1995-02-18 01:27:10 +00:00
ctype.h initial import 1995-02-18 01:27:10 +00:00
dirent.h initial import 1995-02-18 01:27:10 +00:00
elf.h (os=gnu*): Always set elf=yes, not just for os=gnu*elf*. 1995-05-13 06:16:24 +00:00
endian.h initial import 1995-02-18 01:27:10 +00:00
envz.h Mon Apr 29 00:11:59 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-04-29 05:21:53 +00:00
errno.h * elf/Makefile (subdir_lib): Change this target to lib-noranlib. 1996-06-04 20:14:46 +00:00
error.h Sun Dec 10 09:56:06 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-12-11 10:00:21 +00:00
extra-lib.mk Wed May 29 00:57:37 1996 David Mosberger-Tang <davidm@azstarnet.com> 1996-06-02 18:50:07 +00:00
FAQ Sun Jun 2 14:56:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-02 19:47:36 +00:00
fcntl.h initial import 1995-02-18 01:27:10 +00:00
features.h * features.h [_GNU_SOURCE] (_BSD_SOURCE, _SVID_SOURCE, 1996-05-27 02:18:37 +00:00
fnmatch.h initial import 1995-02-18 01:27:10 +00:00
ftw.h initial import 1995-02-18 01:27:10 +00:00
getopt.h initial import 1995-02-18 01:27:10 +00:00
glob.h initial import 1995-02-18 01:27:10 +00:00
gnu-stabs.h initial import 1995-02-18 01:27:10 +00:00
gnu-versions.h (_GNU_GLOB_INTERFACE_VERSION): New macro. 1995-12-06 14:10:23 +00:00
grp.h initial import 1995-02-18 01:27:10 +00:00
INSTALL initial import 1995-02-18 01:27:10 +00:00
install-sh (transformbasename): Fix misspelling in initialization. 1995-12-06 09:44:53 +00:00
langinfo.h Sun Mar 5 19:40:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-03-06 03:00:08 +00:00
libc-symbols.h Tue May 14 14:07:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-14 20:30:25 +00:00
libintl.h Fri Nov 10 14:15:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-11-10 20:38:31 +00:00
limits.h Tue May 28 04:38:10 1996 Ulrich Drepper <drepper@cygnus.com> 1996-05-29 04:48:04 +00:00
locale.h initial import 1995-02-18 01:27:10 +00:00
Make-dist * Make-dist ($(tardir).tar): Use sed to check for file names longer 1996-06-09 07:55:33 +00:00
Makeconfig Sun May 26 15:15:08 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-26 19:19:51 +00:00
Makefile Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-07 20:37:41 +00:00
Makefile.in initial import 1995-02-18 01:27:10 +00:00
Makerules * Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so. 1996-06-10 20:19:39 +00:00
MakeTAGS * sysdeps/libm-i387/s_finite.S: Use %eax instead of %al in setnel insn. 1996-06-04 06:48:18 +00:00
malloc.h initial import 1995-02-18 01:27:10 +00:00
math.h initial import 1995-02-18 01:27:10 +00:00
mathcalls.h Mon Mar 4 20:54:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 1996-03-05 21:41:30 +00:00
memory.h initial import 1995-02-18 01:27:10 +00:00
mkinstalldirs Don't report an error if mkdir fails because a directory was created by another process. 1996-05-03 07:37:52 +00:00
move-if-change * Makefile (subdirs): Add elf first. 1995-02-21 06:15:34 +00:00
munch-tmpl.c * csu/Makefile [$(elf)=yes] (have-initfini): Set to yes. 1995-07-27 09:00:07 +00:00
munch.awk initial import 1995-02-18 01:27:10 +00:00
netdb.h Tue Aug 22 16:49:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-08-22 22:47:57 +00:00
NEWS wctype.h mention 1996-03-29 01:04:20 +00:00
nlist.h initial import 1995-02-18 01:27:10 +00:00
NOTES initial import 1995-02-18 01:27:10 +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
obstack.h initial import 1995-02-18 01:27:10 +00:00
paths.h initial import 1995-02-18 01:27:10 +00:00
poll.h initial import 1995-02-18 01:27:10 +00:00
posix1_lim.h initial import 1995-02-18 01:27:10 +00:00
posix2_lim.h initial import 1995-02-18 01:27:10 +00:00
printf.h initial import 1995-02-18 01:27:10 +00:00
printsources initial import 1995-02-18 01:27:10 +00:00
PROJECTS Tue May 28 04:38:10 1996 Ulrich Drepper <drepper@cygnus.com> 1996-05-29 04:48:04 +00:00
pwd.h initial import 1995-02-18 01:27:10 +00:00
README * Make-dist (README): Commit it to CVS if there is a CVS directory. 1995-03-29 16:58:35 +00:00
README.template Mon May 13 12:03:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-13 17:30:42 +00:00
regex.h Wed May 17 16:50:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-05-18 09:00:09 +00:00
resolv.h initial import 1995-02-18 01:27:10 +00:00
Rules * Rules (static-only-routines): Restore the rule to make these .so's 1996-05-24 21:51:25 +00:00
search.h Sat Sep 16 17:47:19 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de> 1995-09-17 20:23:15 +00:00
set-hooks.h initial import 1995-02-18 01:27:10 +00:00
set-init.c Fri May 19 17:16:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-05-20 00:13:43 +00:00
setjmp.h initial import 1995-02-18 01:27:10 +00:00
sgtty.h initial import 1995-02-18 01:27:10 +00:00
shlib-versions Tue Jun 4 18:57:57 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-06-04 23:06:02 +00:00
signal.h initial import 1995-02-18 01:27:10 +00:00
stdio.h * Makefile (subdirs): Replace stdio with stdio-common and $(stdio). 1995-10-17 00:41:39 +00:00
stdlib.h initial import 1995-02-18 01:27:10 +00:00
string.h initial import 1995-02-18 01:27:10 +00:00
strings.h initial import 1995-02-18 01:27:10 +00:00
syslog.h initial import 1995-02-18 01:27:10 +00:00
tar.h initial import 1995-02-18 01:27:10 +00:00
termios.h initial import 1995-02-18 01:27:10 +00:00
time.h initial import 1995-02-18 01:27:10 +00:00
ttyent.h initial import 1995-02-18 01:27:10 +00:00
unistd.h initial import 1995-02-18 01:27:10 +00:00
utime.h Fri Aug 25 12:12:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-08-25 19:23:32 +00:00
utmp.h Tue May 28 04:38:10 1996 Ulrich Drepper <drepper@cygnus.com> 1996-05-29 04:48:04 +00:00
values.h Fri May 19 17:16:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-05-20 00:13:43 +00:00
version.c Wed Mar 20 11:28:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 1996-03-21 15:20:37 +00:00
version.h Wed May 29 12:53:10 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-29 17:50:37 +00:00
wchar.h Mon Apr 1 13:34:55 1996 Roland McGrath <roland@whiz-bang.gnu.ai.mit.edu> 1996-04-02 13:27:17 +00:00
wctype.h Wed May 1 09:10:04 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-01 13:55:18 +00:00
wordexp.h initial import 1995-02-18 01:27:10 +00:00

This directory contains the version 1.09.6 test 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 has been ported to the following
configurations:

		alpha-dec-osf1
		i386-bsd4.3
		i386-force_cpu386-none
		i386-gnu (for Hurd development only)
		i386-isc2.2
		i386-isc3
		i386-sco3.2
		i386-sco3.2v4
		i386-sequent-bsd
		i386-sysv
		i386-sysv4
		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

Porting the library is not hard.  If you are interested in doing a port,
please get on the mailing list by sending electronic mail to
bug-glibc-request@prep.ai.mit.edu.

The GNU C library now includes Michael Glad's Ultra Fast Crypt, which
provides the Unix `crypt' function, plus some other entry points.
Because of the United States export restriction on DES implementations,
we are distributing this code separately from the rest of the C
library.  There is an extra distribution tar file just for crypt; it is
called `glibc-1.09.6-crypt.tar.gz'.  You can just unpack the crypt
distribution along with the rest of the C library and build; you can
also build the library without getting crypt.  Users outside the USA
can get the crypt distribution via anonymous FTP from ftp.uni-c.dk
[129.142.6.74], or another archive site outside the USA.  Archive
maintainers are encouraged to copy this distribution to their archives
outside the USA.  Please get it from ftp.uni-c.dk; transferring this
distribution from prep.ai.mit.edu (or any other site in the USA) to a
site outside the USA is in violation of US export laws.

See the file INSTALL to find out how to configure, build, install, and port
the GNU C library.

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@prep.ai.mit.edu, 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.

Send bug reports to bug-glibc@prep.ai.mit.edu.

The GNU C Library is free software.  See the file COPYING.LIB for copying
conditions.