Go to file
Ulrich Drepper 32e6df3621 Update.
2001-12-11  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (dl-routines): Add conflict.
	(rtld-ldscript-in, rtld-ldscript, rtld-parms): Remove.
	(ld.so): Add _begin local symbol.
	* elf/elf.h (DT_VALTAGIDX, DT_VALNUM, DT_ADDRTAGIDX, DT_ADDRNUM):
	Define.
	* elf/dl-deps.c (_dl_build_local_scope): New.
	(_dl_map_object_deps): If LD_TRACE_PRELINKING, compute local scopes
	of all libraries.
	* elf/do-rel.h (VALIDX): Define.
	(elf_dynamic_do_rel): If ELF_MACHINE_PLT_REL is defined, don't do
	lazy binding for RELA.  If DT_GNU_PRELINKED, DT_RELACOUNT relocations
	can be skipped.
	* elf/dl-conflict.c: New file.
	* elf/dl-lookup.c (_dl_debug_bindings): New.
	(_dl_lookup_symbol): Use _dl_debug_bindings.  Reference_name is always
	non-NULL.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-runtime.c (PLTREL): If ELF_MACHINE_PLT_REL is defined,
	define to ElfW(Rel).
	* elf/dynamic-link.h (elf_get_dynamic_info): Record selected dynamic
	tags in the DT_VALRNGLO..DT_VALRNGHI and DT_ADDRRNGLO..DT_ADDRRNGHI
	ranges.
	Don't adjust address dynamic tags if l_addr is 0.
	* elf/rtld.c (_dl_trace_prelink, _dl_trace_prelink_map): New variables.
	(_dl_start): Skip ELF_DYNAMIC_RELOCATE if ld.so is prelinked.
	(VALIDX, ADDRIDX): Define.
	(_dl_start_final): Initialize _dl_rtld_map's l_map_start and l_map_end.
	(dl_main): Print library list for LD_TRACE_PRELINKING.
	If prelinking information can be used, skip relocating libraries and
	call _dl_resolve_conflicts instead.
	(process_envvars): Handle LD_TRACE_PRELINKING envvar.
	* elf/dl-load.c (_dl_map_object): Don't create fake libs
	if LD_TRACE_PRELINKING.
	* include/link.h (struct link_map) [l_info]: Add DT_VALNUM
	+ DT_ADDRNUM.
	* sysdeps/generic/ldsodefs.h (_dl_trace_prelink_map): New declaration.
	(DL_DEBUG_PRELINK): Define.
	(_dl_resolve_conflicts): Add prototype.

	* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Reinitialize
	.plt for prelinked libraries where prelinking info cannot be used.
	(elf_machine_rela): If relocating R_ALPHA_JMP_SLOT in .gnu.conflict
	section, use RESOLVE_CONFLICT_FIND_MAP to find out reloc's link_map.
	* sysdeps/arm/bits/link.h: New file.
	* sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_rela, elf_machine_rela_relative): New.
	(elf_machine_lazy_rel): Reinitialize R_ARM_JUMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/i386/bits/link.h: New file.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_rela, elf_machine_rela_relative): New.
	(elf_machine_lazy_rel): Reinitialize R_386_JUMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): If relocating
	conflicts, skip finaladdr computation.  Use RESOLVE_CONFLICT_FIND_MAP
	to find out map for R_PPC_JMP_SLOT relocs.
	* sysdeps/sparc/sparc32/dl-machine.h (VALIDX): Define.
	(OPCODE_BA): Define.
	(elf_machine_runtime_setup): Reinitialize .plt for prelinked
	libraries where prelinking info cannot be used.
	(sparc_fixup_plt): Renamed from elf_machine_fixup_plt.
	(elf_machine_fixup_plt): Call sparc_fixup_plt.
	(elf_machine_rela): Set value to 0 if relocating conflicts.
	Call sparc_fixup_plt for R_SPARC_JMP_SLOT.
	* sysdeps/sparc/sparc64/dl-machine.h (VALIDX): Define.
	(sparc64_fixup_plt): Fix a typo.
	(elf_machine_rela): Set value to 0 if relocating conflicts.
	Handle R_SPARC_JMP_SLOT relocs when relocating conflicts.
	(elf_machine_runtime_setup): Reinitialize .plt for prelinked
	libraries where prelinking info cannot be used.
	* sysdeps/sh/bits/link.h: New file.
	* sysdeps/sh/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_SH_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/s390/s390-32/bits/link.h: New file.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/s390/s390-64/bits/link.h: New file.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/x86_64/bits/link.h: New file.
	* sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_X86_64_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
2001-12-12 00:21:26 +00:00
aout Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
argp Update. 2001-08-20 19:55:53 +00:00
assert Update. 2001-12-06 08:49:08 +00:00
bare Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
bits Update. 2001-10-27 00:23:28 +00:00
catgets Update. 2001-08-09 22:37:19 +00:00
conf
conform 2001-08-22 Roland McGrath <roland@frob.com> 2001-08-23 04:34:36 +00:00
crypt Update. 2001-08-31 01:46:47 +00:00
csu Update. 2001-07-25 22:15:17 +00:00
ctype Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
debug Update. 2001-08-29 23:31:38 +00:00
dirent Update. 2001-08-08 02:52:43 +00:00
dlfcn Update. 2001-10-27 00:23:28 +00:00
elf Update. 2001-12-12 00:21:26 +00:00
gmon Include <wchar.h>. 2001-08-17 07:57:23 +00:00
gnulib Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
grp Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
hesiod Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
hurd * hurd/hurd.h (__hurd_fail): Add `break;' to silence new gcc-3 warning. 2001-12-02 19:45:22 +00:00
iconv Update. 2001-12-10 01:37:56 +00:00
iconvdata Update. 2001-12-05 19:32:18 +00:00
include Update. 2001-12-12 00:21:26 +00:00
inet Update. 2001-12-06 08:49:08 +00:00
intl Update. 2001-11-28 00:09:26 +00:00
io Update. 2001-12-10 23:59:02 +00:00
libio Update. 2001-12-06 08:49:08 +00:00
linuxthreads Update. 2001-11-30 21:14:09 +00:00
linuxthreads_db Update. 2001-07-06 06:58:28 +00:00
locale Update. 2001-12-10 01:37:56 +00:00
localedata Update. 2001-12-10 12:21:07 +00:00
login Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
mach * mach/Makefile, mach/Machrules: Move comments out of \ continuations. 2001-12-02 22:13:05 +00:00
malloc Update. 2001-10-27 00:23:28 +00:00
manual Update. 2001-11-27 04:07:09 +00:00
math Update. 2001-11-27 02:20:12 +00:00
misc (__attribute_used__): Define. 2001-10-26 23:35:32 +00:00
nis Update. 2001-11-27 03:47:06 +00:00
nscd Update. 2001-11-27 03:47:06 +00:00
nss Update. 2001-11-28 20:22:08 +00:00
po Update. 2001-12-10 12:21:07 +00:00
posix Update. 2001-12-10 12:21:07 +00:00
pwd Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
resolv Update. 2001-10-27 00:23:28 +00:00
resource Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
rpm
rt Update. 2001-09-25 03:10:54 +00:00
scripts Update. 2001-12-06 07:59:42 +00:00
setjmp Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
shadow Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
signal Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
socket Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
soft-fp Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
stdio 2001-07-20 Roland McGrath <roland@frob.com> 2001-07-21 05:09:59 +00:00
stdio-common Update. 2001-11-27 08:33:32 +00:00
stdlib * include/features.h (__GLIBC_HAVE_LONG_LONG): Define for 2001-11-19 10:12:15 +00:00
streams Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
string Update. 2001-12-06 07:59:42 +00:00
sunrpc Update. 2001-11-02 02:16:01 +00:00
sysdeps Update. 2001-12-12 00:21:26 +00:00
sysvipc Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
termios 2001-07-26 Roland McGrath <roland@frob.com> 2001-07-26 21:23:31 +00:00
time Update. 2001-09-01 06:22:57 +00:00
timezone Update. 2001-12-05 19:19:20 +00:00
wcsmbs Update. 2001-10-31 09:32:37 +00:00
wctype Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
.cvsignore
BUGS Update. 2001-06-16 04:34:51 +00:00
CONFORMANCE Update. 2001-01-11 17:50:24 +00:00
COPYING Update. 2001-07-06 06:58:28 +00:00
COPYING.LIB * COPYING: Fix Y2k bug in sample copyright notices. 2001-07-06 05:37:16 +00:00
ChangeLog Update. 2001-12-12 00:21:26 +00:00
ChangeLog.1
ChangeLog.2
ChangeLog.3
ChangeLog.4
ChangeLog.5
ChangeLog.6
ChangeLog.7
ChangeLog.8
ChangeLog.9
ChangeLog.10
ChangeLog.11
ChangeLog.12 Update. 2001-08-16 05:39:18 +00:00
FAQ Update. 2001-05-11 16:48:44 +00:00
FAQ.in Update. 2001-05-11 13:09:19 +00:00
INSTALL Update. 2001-04-19 20:15:22 +00:00
INTERFACE
Make-dist Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
MakeTAGS Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
Makeconfig Update. 2001-09-12 18:50:25 +00:00
Makefile Update. 2001-08-29 23:31:38 +00:00
Makefile.in
Makerules Update. 2001-11-16 01:27:24 +00:00
NAMESPACE
NEWS Update. 2001-12-10 01:37:56 +00:00
NOTES
PROJECTS Update. 2001-11-14 08:49:20 +00:00
README Remade for development-2.2.90 2001-12-06 23:48:26 +00:00
README-alpha
README.libm
README.template Update. 2001-04-19 16:31:12 +00:00
Rules Update. 2001-08-29 23:31:38 +00:00
Versions.def Update. 2001-12-06 07:59:42 +00:00
abi-tags
aclocal.m4 Update. 2001-06-11 12:32:56 +00:00
config-name.in
config.h.in Update. 2001-11-16 01:27:24 +00:00
config.make.in * config.make.in (with-fp): Define from configure. 2001-12-06 09:17:26 +00:00
configure * config.make.in (with-fp): Define from configure. 2001-12-06 09:17:26 +00:00
configure.in * config.make.in (with-fp): Define from configure. 2001-12-06 09:17:26 +00:00
extra-lib.mk
glibcbug.in (BUGGLIBC): Send to new alias. 2001-04-18 20:03:28 +00:00
o-iterator.mk
shlib-versions * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Set default 2001-12-11 04:54:57 +00:00
test-skeleton.c Update. 2001-08-23 04:17:06 +00:00
version.h Update. 2001-11-27 04:07:09 +00:00

README

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.