mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
ba79d61b44
* 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. |
||
---|---|---|
arpa | ||
assert | ||
bare | ||
catgets | ||
conf | ||
csu | ||
ctype | ||
db | ||
dirent | ||
elf | ||
gmon | ||
gnulib | ||
grp | ||
hurd | ||
inet | ||
intl | ||
io | ||
libio | ||
locale | ||
login | ||
mach | ||
manual | ||
math | ||
misc | ||
po | ||
posix | ||
protocols | ||
pwd | ||
resolv | ||
resource | ||
rpc | ||
setjmp | ||
signal | ||
socket | ||
stdio | ||
stdio-common | ||
stdlib | ||
string | ||
sunrpc | ||
sys | ||
sysdeps | ||
sysvipc | ||
termios | ||
time | ||
wcsmbs | ||
wctype | ||
.cvsignore | ||
=__ify | ||
a.out.h | ||
aclocal.m4 | ||
alloca.h | ||
ansidecl.h | ||
argz.h | ||
assert.h | ||
ChangeLog | ||
ChangeLog.1 | ||
ChangeLog.2 | ||
ChangeLog.3 | ||
ChangeLog.4 | ||
config-name.in | ||
config.guess | ||
config.h.in | ||
config.make.in | ||
config.sub | ||
configure | ||
configure.in | ||
crypt-README | ||
ctype.h | ||
dirent.h | ||
elf.h | ||
endian.h | ||
envz.h | ||
errno.h | ||
error.h | ||
extra-lib.mk | ||
FAQ | ||
fcntl.h | ||
features.h | ||
fnmatch.h | ||
ftw.h | ||
getopt.h | ||
glob.h | ||
gnu-stabs.h | ||
gnu-versions.h | ||
grp.h | ||
INSTALL | ||
install-sh | ||
langinfo.h | ||
libc-symbols.h | ||
libintl.h | ||
limits.h | ||
locale.h | ||
Make-dist | ||
Makeconfig | ||
Makefile | ||
Makefile.in | ||
Makerules | ||
MakeTAGS | ||
malloc.h | ||
math.h | ||
mathcalls.h | ||
memory.h | ||
mkinstalldirs | ||
move-if-change | ||
munch-tmpl.c | ||
munch.awk | ||
netdb.h | ||
NEWS | ||
nlist.h | ||
NOTES | ||
o-iterator.mk | ||
obstack.h | ||
paths.h | ||
poll.h | ||
posix1_lim.h | ||
posix2_lim.h | ||
printf.h | ||
printsources | ||
PROJECTS | ||
pwd.h | ||
README | ||
README.template | ||
regex.h | ||
resolv.h | ||
Rules | ||
search.h | ||
set-hooks.h | ||
set-init.c | ||
setjmp.h | ||
sgtty.h | ||
shlib-versions | ||
signal.h | ||
stdio.h | ||
stdlib.h | ||
string.h | ||
strings.h | ||
syslog.h | ||
tar.h | ||
termios.h | ||
time.h | ||
ttyent.h | ||
unistd.h | ||
utime.h | ||
utmp.h | ||
values.h | ||
version.c | ||
version.h | ||
wchar.h | ||
wctype.h | ||
wordexp.h |
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.