1995-05-02 06:35:55 +00:00
|
|
|
|
# Makefile for elf subdirectory of GNU C Library.
|
|
|
|
|
|
Fri Apr 19 00:49:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/rpmatch.c (rpmatch: try): Take new arg NOMATCH, return value
for nonmatching nonerror (instead of !MATCH).
(rpmatch): Use it, so we return -1 when NOEXPR doesn't match either.
* resolv/getnetnamadr.c (getnetbyaddr): Use u_int32_t instead of
unsigned long for variable NET2.
* time/etcetera, time/europe, time/solar89: Updated from ADO's 96e.
Tue Apr 9 14:37:31 1996 Ulrich Drepper <drepper@cygnus.com>
* catgets/Makefile, catgets/catgets.c, catgets/catgetsinfo.h,
catgets/config.h, catgets/gencat.c, catgets/nl_types.h,
catgets/open_catalog.c: New files. Implementation of XPG4
compliant catgets() function and needed tools.
* Makefile (subdirs): Add catgets.
Thu Apr 18 23:36:11 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* math/Makefile (CPPFLAGS): Append -D__NO_MATH_INLINES.
Wed Apr 10 20:48:43 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfprintf.c: Correct some typos.
* sysdeps/libm-ieee754/w_gammaf.c, sysdeps/libm-ieee754/w_lgamma.c,
sysdeps/libm-ieee754/w_lgammaf.c: Reference signgam instead of
__signgam.
Thu Apr 18 21:07:27 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* Makerules (no-whole-archive): New variable.
(build-shlib): Use it.
* elf/Makefile (libdl.so): Use it.
* configure.in (libc_cv_ld_no_whole_archive): New check for
--no-whole-archive.
* config.make.in (have-no-whole-archive): New variable.
* stdio-common/printf_fp.c: Increase fudge factor for BIGNUM_SIZE calc
from 3 to 4.
* Make-dist: Include version.mk.
(version, release): Variables removed.
* Makeconfig (version.mk): New target.
Fri Apr 19 01:42:18 1996 Ulrich Drepper <drepper@cygnus.com>
* locale/Makefile (headers): Add langinfo.h.
(CPPFLAGS): Remove -Iliblib.
1996-04-20 00:05:25 +00:00
|
|
|
|
# Copyright (C) 1995, 1996 Free Software Foundation, Inc.
|
1995-02-21 06:15:34 +00:00
|
|
|
|
# This file is part of the GNU C Library.
|
|
|
|
|
|
|
|
|
|
# The GNU C Library is free software; you can redistribute it and/or
|
|
|
|
|
# modify it under the terms of the GNU Library General Public License as
|
|
|
|
|
# published by the Free Software Foundation; either version 2 of the
|
|
|
|
|
# License, or (at your option) any later version.
|
|
|
|
|
|
|
|
|
|
# The GNU C Library is distributed in the hope that it will be useful,
|
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
|
# Library General Public License for more details.
|
|
|
|
|
|
|
|
|
|
# You should have received a copy of the GNU Library General Public
|
|
|
|
|
# License along with the GNU C Library; see the file COPYING.LIB. If
|
|
|
|
|
# not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
|
|
|
# Cambridge, MA 02139, USA.
|
|
|
|
|
|
1995-05-02 06:35:55 +00:00
|
|
|
|
subdir := elf
|
|
|
|
|
|
1996-06-10 13:03:12 +00:00
|
|
|
|
headers = elf.h elfclass.h link.h dlfcn.h
|
1996-07-29 00:18:42 +00:00
|
|
|
|
routines = $(dl-routines) dl-open dl-close dl-symbol dl-support \
|
|
|
|
|
enbl-secure
|
Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open.
(__close, __mmap): Likewise define with __ names now.
Mon Jun 10 05:13:18 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-support.c: New file.
* elf/Makefile (CFLAGS-dl-support.c): New variable.
(routines, elide-routines.so): Add dl-support.
* elf/dl-minimal.c (_dl_pagesize): Remove common defn.
* elf/dl-load.c (_dl_pagesize): Define it here.
(_dl_map_object_from_fd): Initialize it if zero.
* elf/link.h (_dl_pagesize): Remove const.
Sun Jun 9 04:04:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/Makefile (routines): Add dl-symbol.
* elf/dl-lookup.c (_dl_symbol_value): Moved to ...
* elf/dl-symbol.c: New file.
* elf/elf.h (Elf32_Xword, Elf32_Sxword): New types.
(Elf32_Section, Elf64_Section): New types, 16 bits.
(Elf32_Sym, Elf64_Sym): Use it.
* elf/dl-deps.c (_dl_open): Moved to ...
* elf/dl-open.c: New file.
* Makefile (routines): Add dl-open.
* elf/Makefile (dl-routines): New variable.
(routines): Add $(dl-routines).
(elide-routines.so): New variable, set to $(dl-routines).
(libdl-inhibit-o): Variable removed; build all flavors of -ldl.
(rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to
$(dl-routines).
* elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage.
* elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND.
* elf/dl-load.c (open_path): Use __ names for open and close. Avoid
using strdup.
(_dl_map_object): Likewise.
(_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect.
* elf/dl-minimal.c (malloc): Likewise.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* elf/dl-minimal.c (_dl_pagesize): New variable.
(malloc): Use that instead of a static variable.
* elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of
calling getpagesize.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* elf/link.h: Declare _dl_pagesize.
* elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug.
* elf/link.h (struct link_map): Use Half for l_phnum instead of Word.
* elf/rtld.c (dl_main): Use Half for phdr count arg.
(_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg.
* elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to
extract 4-byte magic number, not ElfW(Word). Match EI_CLASS against
native wordsize, either 32 or 64.
* elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed. In C a
char is always a byte, no need for a typedef. Section indices are
16-bit quantities in elf64, which already have a typedef Elf64_Half.
Remove partial -lelf implementation. There is now a
separately-distributed `libelf' package that implements it.
* elf/dl-lookup.c: Don't #include <libelf.h> any more.
(_dl_elf_hash): New function, moved from
libelf.h:elf_hash.
(_dl_lookup_symbol): Use it instead of elf_hash.
* elf/libelf.h: File removed.
* elf/elf_hash.c: File removed.
* elf/Makefile (headers): Remove libelf.h.
(extra-libs): Remove libelf.
(libelf-routines): Variable removed.
* elf/Makefile (libdl.so): Remove commands from this target. The
implicit rule commands are correct, this explicit rule just serves to
add some dependencies.
* elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of
ELF32_ST_TYPE. Likewise ST_BIND.
* elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM.
* elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type
naming.
(ELFW): New macro, likewise for ELFXX_* macro naming.
(_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF.
Sat Jun 8 20:52:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c,
elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c,
elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c,
elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to
`ElfW(XXX)' for wordsize-independence.
Sat Jun 8 20:50:42 1996 Richard Henderson <rth@tamu.edu>
* elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts.
(Elf64_auxv_t): New type.
(EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1996-06-10 10:18:47 +00:00
|
|
|
|
|
|
|
|
|
# The core dynamic linking functions are in libc for the static and
|
|
|
|
|
# profiled libraries.
|
1996-07-17 23:09:43 +00:00
|
|
|
|
dl-routines = $(addprefix dl-,load cache lookup object reloc deps \
|
1996-06-13 04:06:45 +00:00
|
|
|
|
runtime error init fini debug)
|
Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open.
(__close, __mmap): Likewise define with __ names now.
Mon Jun 10 05:13:18 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-support.c: New file.
* elf/Makefile (CFLAGS-dl-support.c): New variable.
(routines, elide-routines.so): Add dl-support.
* elf/dl-minimal.c (_dl_pagesize): Remove common defn.
* elf/dl-load.c (_dl_pagesize): Define it here.
(_dl_map_object_from_fd): Initialize it if zero.
* elf/link.h (_dl_pagesize): Remove const.
Sun Jun 9 04:04:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/Makefile (routines): Add dl-symbol.
* elf/dl-lookup.c (_dl_symbol_value): Moved to ...
* elf/dl-symbol.c: New file.
* elf/elf.h (Elf32_Xword, Elf32_Sxword): New types.
(Elf32_Section, Elf64_Section): New types, 16 bits.
(Elf32_Sym, Elf64_Sym): Use it.
* elf/dl-deps.c (_dl_open): Moved to ...
* elf/dl-open.c: New file.
* Makefile (routines): Add dl-open.
* elf/Makefile (dl-routines): New variable.
(routines): Add $(dl-routines).
(elide-routines.so): New variable, set to $(dl-routines).
(libdl-inhibit-o): Variable removed; build all flavors of -ldl.
(rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to
$(dl-routines).
* elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage.
* elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND.
* elf/dl-load.c (open_path): Use __ names for open and close. Avoid
using strdup.
(_dl_map_object): Likewise.
(_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect.
* elf/dl-minimal.c (malloc): Likewise.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* elf/dl-minimal.c (_dl_pagesize): New variable.
(malloc): Use that instead of a static variable.
* elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of
calling getpagesize.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* elf/link.h: Declare _dl_pagesize.
* elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug.
* elf/link.h (struct link_map): Use Half for l_phnum instead of Word.
* elf/rtld.c (dl_main): Use Half for phdr count arg.
(_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg.
* elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to
extract 4-byte magic number, not ElfW(Word). Match EI_CLASS against
native wordsize, either 32 or 64.
* elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed. In C a
char is always a byte, no need for a typedef. Section indices are
16-bit quantities in elf64, which already have a typedef Elf64_Half.
Remove partial -lelf implementation. There is now a
separately-distributed `libelf' package that implements it.
* elf/dl-lookup.c: Don't #include <libelf.h> any more.
(_dl_elf_hash): New function, moved from
libelf.h:elf_hash.
(_dl_lookup_symbol): Use it instead of elf_hash.
* elf/libelf.h: File removed.
* elf/elf_hash.c: File removed.
* elf/Makefile (headers): Remove libelf.h.
(extra-libs): Remove libelf.
(libelf-routines): Variable removed.
* elf/Makefile (libdl.so): Remove commands from this target. The
implicit rule commands are correct, this explicit rule just serves to
add some dependencies.
* elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of
ELF32_ST_TYPE. Likewise ST_BIND.
* elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM.
* elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type
naming.
(ELFW): New macro, likewise for ELFXX_* macro naming.
(_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF.
Sat Jun 8 20:52:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c,
elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c,
elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c,
elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to
`ElfW(XXX)' for wordsize-independence.
Sat Jun 8 20:50:42 1996 Richard Henderson <rth@tamu.edu>
* elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts.
(Elf64_auxv_t): New type.
(EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1996-06-10 10:18:47 +00:00
|
|
|
|
# But they are absent from the shared libc, because that code is in ld.so.
|
1996-07-29 00:18:42 +00:00
|
|
|
|
elide-routines.so = $(dl-routines) dl-support enbl-secure
|
Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open.
(__close, __mmap): Likewise define with __ names now.
Mon Jun 10 05:13:18 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-support.c: New file.
* elf/Makefile (CFLAGS-dl-support.c): New variable.
(routines, elide-routines.so): Add dl-support.
* elf/dl-minimal.c (_dl_pagesize): Remove common defn.
* elf/dl-load.c (_dl_pagesize): Define it here.
(_dl_map_object_from_fd): Initialize it if zero.
* elf/link.h (_dl_pagesize): Remove const.
Sun Jun 9 04:04:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/Makefile (routines): Add dl-symbol.
* elf/dl-lookup.c (_dl_symbol_value): Moved to ...
* elf/dl-symbol.c: New file.
* elf/elf.h (Elf32_Xword, Elf32_Sxword): New types.
(Elf32_Section, Elf64_Section): New types, 16 bits.
(Elf32_Sym, Elf64_Sym): Use it.
* elf/dl-deps.c (_dl_open): Moved to ...
* elf/dl-open.c: New file.
* Makefile (routines): Add dl-open.
* elf/Makefile (dl-routines): New variable.
(routines): Add $(dl-routines).
(elide-routines.so): New variable, set to $(dl-routines).
(libdl-inhibit-o): Variable removed; build all flavors of -ldl.
(rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to
$(dl-routines).
* elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage.
* elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND.
* elf/dl-load.c (open_path): Use __ names for open and close. Avoid
using strdup.
(_dl_map_object): Likewise.
(_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect.
* elf/dl-minimal.c (malloc): Likewise.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* elf/dl-minimal.c (_dl_pagesize): New variable.
(malloc): Use that instead of a static variable.
* elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of
calling getpagesize.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* elf/link.h: Declare _dl_pagesize.
* elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug.
* elf/link.h (struct link_map): Use Half for l_phnum instead of Word.
* elf/rtld.c (dl_main): Use Half for phdr count arg.
(_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg.
* elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to
extract 4-byte magic number, not ElfW(Word). Match EI_CLASS against
native wordsize, either 32 or 64.
* elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed. In C a
char is always a byte, no need for a typedef. Section indices are
16-bit quantities in elf64, which already have a typedef Elf64_Half.
Remove partial -lelf implementation. There is now a
separately-distributed `libelf' package that implements it.
* elf/dl-lookup.c: Don't #include <libelf.h> any more.
(_dl_elf_hash): New function, moved from
libelf.h:elf_hash.
(_dl_lookup_symbol): Use it instead of elf_hash.
* elf/libelf.h: File removed.
* elf/elf_hash.c: File removed.
* elf/Makefile (headers): Remove libelf.h.
(extra-libs): Remove libelf.
(libelf-routines): Variable removed.
* elf/Makefile (libdl.so): Remove commands from this target. The
implicit rule commands are correct, this explicit rule just serves to
add some dependencies.
* elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of
ELF32_ST_TYPE. Likewise ST_BIND.
* elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM.
* elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type
naming.
(ELFW): New macro, likewise for ELFXX_* macro naming.
(_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF.
Sat Jun 8 20:52:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c,
elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c,
elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c,
elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to
`ElfW(XXX)' for wordsize-independence.
Sat Jun 8 20:50:42 1996 Richard Henderson <rth@tamu.edu>
* elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts.
(Elf64_auxv_t): New type.
(EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1996-06-10 10:18:47 +00:00
|
|
|
|
|
|
|
|
|
# ld.so uses those routines, plus some special stuff for being the program
|
|
|
|
|
# interpreter and operating independent of libc.
|
|
|
|
|
rtld-routines := rtld $(dl-routines) dl-sysdep dl-minimal
|
|
|
|
|
distribute = $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
|
update from main archive 961101
Sat Nov 2 01:48:47 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/errnos.h: Move declaration of errno
and __errno_location to correct position.
Thu Oct 31 22:51:25 1996 Ulrich Drepper <drepper@cygnus.com>
* Makefile (distribute): Add rellns-sh.
* rellns-sh: New file.
* Makerules (make-link): Use rellns-sh.
* time/Makefile ($(installed-localtime-file)): Likewise.
Thu Oct 31 11:33:01 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile ($objpfx)ldd) Substitute $(version) for @VERSION@.
(distribute): Add ldd.bash.in.
* elf/ldd.sh.in: Process --help and --version parameter.
Correct comments.
* elf/ldd.bash.in: New file.
* stdlib/stdlib.h: Add prototype for clearenv.
* sysdeps/generic/setenv.c: Add implementation of clearenv.
(setenv): Handle __environ == NULL correctly.
* sysdeps/stub/setenv.c: Add stub definition for unsetenv and
clearenv.
* sysdeps/generic/putenv.c: Correct layout to fit in libit.
* sysdeps/generic/setenv.c: Likewise.
* stdlib/strtol.h: Likewise.
* time/sys/time.h: Define __need_timeval and include <timebits.h>.
Remove definition of struct timeval.
* sysdeps/stub/timebits.h [__need_timeval]: Define struct timeval
using `time_t' for members.
* sysdeps/unix/sysv/linux/timebits.h [__need_timeval]: Likewise.
* sysdeps/unix/sysv/linux/alpha/timebits.h: New file. Same
as old Linux specific version.
* string/argz.h: Use __const in definitions.
* inet/herrno.c: Don't define __h_errno, only h_errno otherwise the
__syscall_error defined.
TRACE_MODE.
Craig Metz.
arithmetic.
buggy and more competent people work on a usable version which is
distributed separately.
`finitel'.
better message if it is not available.
whether read failed.
PSEUDO_END macro.
Especially on the currently supported ELF systems the nlist
function comes with the libelf.
"$(i18ndir)/charmaps".
net/if_arp.h, and net/route.h.
version.
EXTERN_PARSER is defined.
set errno (to ENOMEM).
nothing is found. This guarantees all subsequent calls behave
the same.
the file even if no `era's are specified.
pointers.
_llseek to _llseek (not llseek).
Initialize `result'.
end_alt_digits.
__libc_force_cancel_wrapper when compiling reentrant version.
a weak alias.
make tcdrain a weak alias.
lseek, open, read, and write to have __libc_ prefix and make old
names a weak alias.
to fpathconf.
__libc_setlocale_lock.
ld.so.preload. Suggested by David Engel <david@elo.ods.com>.
on the same device as the password file.
variable.
to lock when passing it to __libc_lock_init macro.
sysdep.h to the top outside of #ifndef PIC. Don't include errnos.h.
Use the ENTRY macro.
9th field.
and sys/vt.h.
`_dl_start' so that linking fails if this file should ever be used
in ld.so.
RMS' last standard revision.
(sysdep_headers): Remove sys/sysinfo.h.
match files in the sysdeps hierachy (welcome back,
sys/syscall.h!).
categories which succeeded to load after a wrong or missing data
file was observed.
_IO_flockfile and _IO_funlockfile resp.
all three versions of the math function.
non-trivial inline functions.
rpath-link so that running the check finds the new library.
daylight saving, timezone by time zone.
syscall_error handler for reentrant libc.
warning.
_IO_getc_unlocked.
in version information banner.
clearerr_u, feof_u, ferror_u, fputc_u, getc_u, getchar_u,
iofflush_u, putc_u, putchar_u, ioflockfile.
using __errno_location function.
syscall_error handler for reentrant libc.
definition of function itself.
funlockfile.
_malloc_loc.
but _POSIX_THREAD_DESTRUCTOR_ITERATIONS.
Add macro `errno' to get thread specific variable.
__errno_location function.
* malloc/free.c (free): __lib_malloc_lock -> __libc_malloc_lock.
case, so don't prepend uppercase `ISO' for only numeric arg.
call to __libc_lock_lock.
sys/sysmacros.h. Reported by Curtiss <1CMC3466@IBM.MTSAC.EDU>.
stamp file.
generating stamp file.
implementation.
`decimal' char is 0.
noexpr to "^[nN]"; this conforms to POSIX.2.
conform to POSIX.2.
mon_grouping, int_frac_digits, frac_digits, p_cs_precedes,
p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and
n_sign_posn to CHAR_MAX, as required by the POSIX Standard.
variable.
this changes the global state for `localtime' and `gmtime'. Use
`__localtime_r'/`__gmtime_r' instead.
state.
getutid_r() fails with ESRCH. Reported by Miquel van Smoorenburg.
for "Jensen" so _bus_base() returns 0 on that platform. Use
_bus_base_sparse() to determine base address of sparse memory.
are now in $P/stdio-common.pot.
script at run time, not configure time.
warning.
sorted.
inet_net_pton, inet_net.
value of sprintf.
functions instead of BSD `b*' functions.
$(objpfx)/mach-syscalls.mk.
<marcus@sysc.pdx.edu> for the patch.)
before returning. Reported by Miles Bader.
__BEGIN_DECLS/__END_DECLS up so ntohl() et al are bracketed as
well.
This is not a gross hack, after all---for compatibility,
getlogin() really should check fd 0 only and not try to base its
operation on the controlling tty.
change utmp_data from static to auto.
_IO_file_flags. It's the same as _flags.
call is only a stub.
Mikasa.
pointer as __const.
segfault when called with an N that is not a multiple of four and
src[N-1]=='\0'.
try again with SOCK_STREAM (the Linux syslogd uses a socket of the
latter type).
terminator as a record-delimiter. If __send(LogFile) fails,
`getutline_r'.
`setutline_r'.
of `vscanf'.
name a weak alias.
typo.
initialized in init-first.c. Some actions in the libc work
different when libc is static or dynamic.
`__libc_is_static' variable to determine whether call to
`personality' and `setfpucw' is necessary. When done set variable
to +-1 depending on library type.
`__libc_enable_secure' instead of calling `get{,e}{g,u}id()' to
determine whether it's a SET[UG]ID program.
(open_file): New function, contents mostly from __open.
LD_TRACE_LOADED_OBJECTS is set.
n)' equivalent to `strncpy (d, s, n), d += strnlen (d, n)'.
from the USA any software that even makes it easy to drop in an
encryption module of foreign origin.
old code would have failed on a big-endian 64-bit architecture).
Remove gratitous parentheses around return expressions.
not int.
ustatbits.h.
alphabetically correct place. Mention ustat.
record always gets appended at end of file (wtmp is a log file,
after all). Set ut_type to DEAD_PROCESS if name is empty.
ut_line matches and type is either USER_PROCESS or LOGIN_PROCESS.
avoid duplicate declarations.
word extends right up to rmargin.
point_col ssize_t.
to fiddle __put_limit in conjunction with __linebuf_active.
of, not the ones he is _not_ a member of.
instead of a local function. The latter are difficult to debug
and slow to execute on certain platforms.
place of sizeof (dev). The size of a literal string includes the
NUL byte.
entry. Return 1 on error, not -1.
shift amount for Jensen must be 5 not 4.
for send and connect syscalls.
signed<->unsigned warnings.
variable name, so new a libc with new requirements won't fail to
notice an insufficient Linux version.
PENDIN, NOFLSH): Undefine these at start if they are already
defined to avoid collision with termbits.h.
error is 0. The "placeholder" entries recently added to
memcpy for possibly overlapping strings.
instead of weak_symbol (NAME) after the defn.
necessary using current implementation of memcpy, but...).
Move struct timespec defn outside [_TIME_H] so it can be got with
#define __need_timespec.
__connect instead of connect to avoid name-space collisions (e.g.,
with psgetty).
function ctype_is_charmap to ctype_is_charconv.
charconv.
charconv.
lables according to this.
warnings.
actually do something.
sysdeps/unix/sysv/linux/m68k/init-first.h,
sysdeps/unix/sysv/linux/i386/init-first.h: New files.
init-first.h to make abstract machine dependent parts of
typo/extraneous whitespace.
check-for-pending signals code, release _hurd_siglock before
jumping to deliver_pending.
size_t.
soname of a loaded object, use that object.
if libnss_dns.so module for DNS name lookup in NSS service.
guessing to not assume p_vaddr of first load cmd is zero.
only for ?s, not for *s. Fix from Chet Ramey.
about currently used character set.
name `MAX_IOVEC'. Instead use standard name `UIO_MAXIOV'.
(xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure
appropriate sign-extension is performed on machines with
sizeof(long) > 4.
sizeof(int)<sizeof(long), we need to go through a temporary
variable.
in efect.
volatile to avoid "might get clobbered by longjmp" warning.
unless _LOOSE_KERNEL_NAMES is in effect (which, with high
probability is a sure loser).
sysdeps/unix/sysv/linux/alpha/brk.S,
sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
sysdeps/unix/sysv/linux/alpha/llseek.S,
sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to
__syscall_error to avoid intruding application name space.
sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S,
sysdeps/unix/execve.S, sysdeps/unix/fork.S,
sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END.
(PSEUDO_END): Rename END() to PSEUDO_END().
to PSEUDO_END to improve branch-prediction. Include .frame
directive to make syscalls debugabble.
sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since
latter is illegal under DEC Unix.
as well.
EWOULDBLOCK -> EAGAIN mapping was unnecessary since
EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha).
address register in the .frame directive.
avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN.
compilable under c++.
as unsigned long, not as int (to avoid incorrect int->long
promotion).
1996-11-02 01:28:01 +00:00
|
|
|
|
soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c
|
1995-05-02 06:35:55 +00:00
|
|
|
|
|
update from main archive 960911
Thu Sep 12 03:35:27 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/Dist: Remove init-first.h.
* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
* sysdeps/unix/sysv/linux/Dist: Add init-first.h.
1996-09-11 Paul Eggert <eggert@twinsun.com>
* strftime.c (strftime):
Handle E and O modifiers, required for POSIX.2 and XPG4.
Don't use sprintf to format numbers; this way, we can handle time_t
correctly regardless of whether it's signed.
Don't dump core if format ends in %.
In default %c format, use %e instead of %d, for POSIX.2 compatibility.
For %z:
Use tm_gmtoff if available.
Output nothing if tm_isdst is negative.
Output correct value even if arg is 1969-12-31 23:59:59 UTC.
Don't assume that UTC offset is less than 24 hours;
Posix requires support for 24 hours, and there's no point
limiting it at all.
(HAVE_TM_GMTOFF, TYPE_SIGNED, INT_STRLEN_BOUND): New macros.
(CHAR_BIT): Define if <limits.h> doesn't.
(tm_diff): New function.
(fmt, <stdio.h>): Remove; no longer used.
Thu Sep 12 02:21:44 1996 Ulrich Drepper <drepper@cygnus.com>
* db/Makefile: Add extra-libs-others variable so that shared
library is built in `others' pass.
* elf/Makefile: Likewise.
* math/Makefile: Likewise.
* resolv/Makefile: Likewise.
* Makefile (generated): Add version.info.h.
* time/checktab.awk: New file. From ADO 96k.
* time/iso3166.tab: Likewise.
* time/tzselect.ksh: Likewise.
* time/zone.tab: Likewise.
* stdio-common/vfprintf.c: Correct cleanup registration. We
cannot use a macro
1996-09-11 Paul Eggert <eggert@twinsun.com>
* time/time.h (tm_gmtoff, tm_zone): Prefix with `__' unless
__USE_BSD; this is required for ANSI C compatibility.
* manual/time.texi: Replace GMT by UTC, daylight savings by
daylight saving, timezone by time zone.
Rewrite description of %V to match ISO 8601.
Fix TZ Posix string example for US Eastern time.
Explain tzname[1] when DST isn't used.
Explain tzname when multiple abbreviations used (e.g. EST/EWT/EDT).
Explain that timezone's sign is opposite from tm_gmtoff, and that
timezone lacks DST adjustment whereas tm_gmtoff has it.
Deprecate tzname and timezone.
Tue Sep 10 14:46:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Implement Roland McGrath's idea of how to put an .interp into
shared libraries.
* interp.c: New file.
* Makerules (interp-obj): New object, linked into every shared
library.
(common-generated): Add interp.so.
(CFLAGS-interp.c): Pass name of interpreter.
Tue Sep 10 21:09:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* db/Makefile: Fix typo.
Tue Sep 10 19:29:53 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/db-Makefile ($(VAR_DB)/passwd.db): Look for multiple
occurences of the same uid, and only generate a mapping for the
first one.
Tue Sep 10 03:14:59 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/system.c: New file, to override
sysdeps/unix/system.c.
Tue Sep 10 15:05:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (before-compile): Add version-info.h, needed to build
version.d.
Tue Sep 10 14:14:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Remove check for
EWOULDBLOCK, never true on Linux.
(__errno_location): New function.
[_LIBC_REENTRANT]: Set errno using __errno_location function.
* sysdeps/unix/sysv/linux/m68k/sysdep.h [PIC]: Add second
syscall_error handler for reentrant libc.
Tue Sep 10 13:27:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/Makefile (extra-objs): Add eval.so to get dependencies.
Wed Sep 11 04:40:57 1996 Ulrich Drepper <drepper@cygnus.com>
* time/tzset.c (__tzname_cur_max): Use type `size_t' to avoid
warning.
* time/tzfile.c (compute_tzname_max): Likewise.
1996-09-12 02:51:03 +00:00
|
|
|
|
extra-libs = libdl
|
|
|
|
|
extra-libs-others = $(extra-libs)
|
1996-06-04 09:29:39 +00:00
|
|
|
|
libdl-routines := dlopen dlclose dlsym dlerror dladdr
|
1995-05-02 06:35:55 +00:00
|
|
|
|
|
1995-02-21 06:15:34 +00:00
|
|
|
|
|
1996-02-19 23:14:44 +00:00
|
|
|
|
all: # Make this the default target; it will be defined in Rules.
|
|
|
|
|
|
1995-05-02 06:35:55 +00:00
|
|
|
|
include ../Makeconfig
|
|
|
|
|
|
|
|
|
|
ifeq (yes,$(build-shared))
|
update from main archive 960911
Thu Sep 12 03:35:27 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/Dist: Remove init-first.h.
* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
* sysdeps/unix/sysv/linux/Dist: Add init-first.h.
1996-09-11 Paul Eggert <eggert@twinsun.com>
* strftime.c (strftime):
Handle E and O modifiers, required for POSIX.2 and XPG4.
Don't use sprintf to format numbers; this way, we can handle time_t
correctly regardless of whether it's signed.
Don't dump core if format ends in %.
In default %c format, use %e instead of %d, for POSIX.2 compatibility.
For %z:
Use tm_gmtoff if available.
Output nothing if tm_isdst is negative.
Output correct value even if arg is 1969-12-31 23:59:59 UTC.
Don't assume that UTC offset is less than 24 hours;
Posix requires support for 24 hours, and there's no point
limiting it at all.
(HAVE_TM_GMTOFF, TYPE_SIGNED, INT_STRLEN_BOUND): New macros.
(CHAR_BIT): Define if <limits.h> doesn't.
(tm_diff): New function.
(fmt, <stdio.h>): Remove; no longer used.
Thu Sep 12 02:21:44 1996 Ulrich Drepper <drepper@cygnus.com>
* db/Makefile: Add extra-libs-others variable so that shared
library is built in `others' pass.
* elf/Makefile: Likewise.
* math/Makefile: Likewise.
* resolv/Makefile: Likewise.
* Makefile (generated): Add version.info.h.
* time/checktab.awk: New file. From ADO 96k.
* time/iso3166.tab: Likewise.
* time/tzselect.ksh: Likewise.
* time/zone.tab: Likewise.
* stdio-common/vfprintf.c: Correct cleanup registration. We
cannot use a macro
1996-09-11 Paul Eggert <eggert@twinsun.com>
* time/time.h (tm_gmtoff, tm_zone): Prefix with `__' unless
__USE_BSD; this is required for ANSI C compatibility.
* manual/time.texi: Replace GMT by UTC, daylight savings by
daylight saving, timezone by time zone.
Rewrite description of %V to match ISO 8601.
Fix TZ Posix string example for US Eastern time.
Explain tzname[1] when DST isn't used.
Explain tzname when multiple abbreviations used (e.g. EST/EWT/EDT).
Explain that timezone's sign is opposite from tm_gmtoff, and that
timezone lacks DST adjustment whereas tm_gmtoff has it.
Deprecate tzname and timezone.
Tue Sep 10 14:46:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Implement Roland McGrath's idea of how to put an .interp into
shared libraries.
* interp.c: New file.
* Makerules (interp-obj): New object, linked into every shared
library.
(common-generated): Add interp.so.
(CFLAGS-interp.c): Pass name of interpreter.
Tue Sep 10 21:09:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* db/Makefile: Fix typo.
Tue Sep 10 19:29:53 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* nss/db-Makefile ($(VAR_DB)/passwd.db): Look for multiple
occurences of the same uid, and only generate a mapping for the
first one.
Tue Sep 10 03:14:59 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/system.c: New file, to override
sysdeps/unix/system.c.
Tue Sep 10 15:05:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (before-compile): Add version-info.h, needed to build
version.d.
Tue Sep 10 14:14:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Remove check for
EWOULDBLOCK, never true on Linux.
(__errno_location): New function.
[_LIBC_REENTRANT]: Set errno using __errno_location function.
* sysdeps/unix/sysv/linux/m68k/sysdep.h [PIC]: Add second
syscall_error handler for reentrant libc.
Tue Sep 10 13:27:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/Makefile (extra-objs): Add eval.so to get dependencies.
Wed Sep 11 04:40:57 1996 Ulrich Drepper <drepper@cygnus.com>
* time/tzset.c (__tzname_cur_max): Use type `size_t' to avoid
warning.
* time/tzfile.c (compute_tzname_max): Likewise.
1996-09-12 02:51:03 +00:00
|
|
|
|
extra-objs = $(rtld-routines:=.so) soinit.so sofini.so eval.so
|
1996-05-04 13:57:05 +00:00
|
|
|
|
generated = librtld.so dl-allobjs.so
|
1995-11-08 02:28:15 +00:00
|
|
|
|
install-others = $(slibdir)/$(rtld-installed-name)
|
1995-10-09 07:06:29 +00:00
|
|
|
|
install-bin = ldd
|
1996-07-02 21:53:43 +00:00
|
|
|
|
endif
|
1995-11-07 21:46:52 +00:00
|
|
|
|
|
1995-02-21 06:15:34 +00:00
|
|
|
|
include ../Rules
|
1995-05-02 06:35:55 +00:00
|
|
|
|
|
1995-11-07 21:46:52 +00:00
|
|
|
|
|
1996-06-11 21:41:42 +00:00
|
|
|
|
ifeq (yes, $(build-shared))
|
|
|
|
|
# Make sure these things are built in the `make lib' pass so they can be used
|
|
|
|
|
# to run programs during the `make others' pass.
|
|
|
|
|
lib-noranlib: $(objpfx)$(rtld-installed-name) \
|
|
|
|
|
$(addprefix $(objpfx),$(extra-objs))
|
|
|
|
|
endif
|
|
|
|
|
|
1996-05-04 13:57:05 +00:00
|
|
|
|
# Command to link into a larger single relocatable object.
|
|
|
|
|
reloc-link = $(LINK.o) -nostdlib -nostartfiles -r -o $@
|
|
|
|
|
|
|
|
|
|
$(objpfx)dl-allobjs.so: $(rtld-routines:%=$(objpfx)%.so)
|
|
|
|
|
$(reloc-link) $^
|
|
|
|
|
|
1995-11-07 21:46:52 +00:00
|
|
|
|
# Link together the dynamic linker into a single relocatable object.
|
1996-07-23 22:18:45 +00:00
|
|
|
|
$(objpfx)librtld.so: $(objpfx)dl-allobjs.so $(common-objpfx)libc_pic.a
|
1996-05-04 13:57:05 +00:00
|
|
|
|
$(reloc-link) '-Wl,-(' $^ -lgcc '-Wl,-)'
|
1995-05-02 06:35:55 +00:00
|
|
|
|
|
1996-03-18 18:32:47 +00:00
|
|
|
|
$(objpfx)ld.so: $(objpfx)librtld.so
|
|
|
|
|
$(rtld-link) -Wl,-soname=$(rtld-installed-name)
|
|
|
|
|
|
|
|
|
|
define rtld-link
|
|
|
|
|
$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
|
|
|
|
|
-Wl,-rpath=$(default-rpath) $^
|
|
|
|
|
endef
|
1995-11-07 21:46:52 +00:00
|
|
|
|
|
Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open.
(__close, __mmap): Likewise define with __ names now.
Mon Jun 10 05:13:18 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-support.c: New file.
* elf/Makefile (CFLAGS-dl-support.c): New variable.
(routines, elide-routines.so): Add dl-support.
* elf/dl-minimal.c (_dl_pagesize): Remove common defn.
* elf/dl-load.c (_dl_pagesize): Define it here.
(_dl_map_object_from_fd): Initialize it if zero.
* elf/link.h (_dl_pagesize): Remove const.
Sun Jun 9 04:04:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/Makefile (routines): Add dl-symbol.
* elf/dl-lookup.c (_dl_symbol_value): Moved to ...
* elf/dl-symbol.c: New file.
* elf/elf.h (Elf32_Xword, Elf32_Sxword): New types.
(Elf32_Section, Elf64_Section): New types, 16 bits.
(Elf32_Sym, Elf64_Sym): Use it.
* elf/dl-deps.c (_dl_open): Moved to ...
* elf/dl-open.c: New file.
* Makefile (routines): Add dl-open.
* elf/Makefile (dl-routines): New variable.
(routines): Add $(dl-routines).
(elide-routines.so): New variable, set to $(dl-routines).
(libdl-inhibit-o): Variable removed; build all flavors of -ldl.
(rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to
$(dl-routines).
* elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage.
* elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND.
* elf/dl-load.c (open_path): Use __ names for open and close. Avoid
using strdup.
(_dl_map_object): Likewise.
(_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect.
* elf/dl-minimal.c (malloc): Likewise.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* elf/dl-minimal.c (_dl_pagesize): New variable.
(malloc): Use that instead of a static variable.
* elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of
calling getpagesize.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* elf/link.h: Declare _dl_pagesize.
* elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug.
* elf/link.h (struct link_map): Use Half for l_phnum instead of Word.
* elf/rtld.c (dl_main): Use Half for phdr count arg.
(_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg.
* elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to
extract 4-byte magic number, not ElfW(Word). Match EI_CLASS against
native wordsize, either 32 or 64.
* elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed. In C a
char is always a byte, no need for a typedef. Section indices are
16-bit quantities in elf64, which already have a typedef Elf64_Half.
Remove partial -lelf implementation. There is now a
separately-distributed `libelf' package that implements it.
* elf/dl-lookup.c: Don't #include <libelf.h> any more.
(_dl_elf_hash): New function, moved from
libelf.h:elf_hash.
(_dl_lookup_symbol): Use it instead of elf_hash.
* elf/libelf.h: File removed.
* elf/elf_hash.c: File removed.
* elf/Makefile (headers): Remove libelf.h.
(extra-libs): Remove libelf.
(libelf-routines): Variable removed.
* elf/Makefile (libdl.so): Remove commands from this target. The
implicit rule commands are correct, this explicit rule just serves to
add some dependencies.
* elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of
ELF32_ST_TYPE. Likewise ST_BIND.
* elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM.
* elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type
naming.
(ELFW): New macro, likewise for ELFXX_* macro naming.
(_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF.
Sat Jun 8 20:52:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c,
elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c,
elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c,
elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to
`ElfW(XXX)' for wordsize-independence.
Sat Jun 8 20:50:42 1996 Richard Henderson <rth@tamu.edu>
* elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts.
(Elf64_auxv_t): New type.
(EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1996-06-10 10:18:47 +00:00
|
|
|
|
# The dl code in the static libc needs a default library path.
|
|
|
|
|
CFLAGS-dl-support.c = -D'DEFAULT_RPATH="$(default-rpath)"'
|
|
|
|
|
|
1996-06-11 21:07:00 +00:00
|
|
|
|
ifneq (ld.so, $(rtld-installed-name))
|
|
|
|
|
# Make sure ld-gnu.so.1 exists in the build directory so we can link
|
|
|
|
|
# against it.
|
|
|
|
|
$(objpfx)$(rtld-installed-name): $(objpfx)ld.so
|
|
|
|
|
rm -f $@
|
1996-06-14 12:05:04 +00:00
|
|
|
|
ln -s $(<F) $@
|
1996-06-11 21:07:00 +00:00
|
|
|
|
endif
|
|
|
|
|
|
1995-11-07 21:46:52 +00:00
|
|
|
|
|
Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open.
(__close, __mmap): Likewise define with __ names now.
Mon Jun 10 05:13:18 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-support.c: New file.
* elf/Makefile (CFLAGS-dl-support.c): New variable.
(routines, elide-routines.so): Add dl-support.
* elf/dl-minimal.c (_dl_pagesize): Remove common defn.
* elf/dl-load.c (_dl_pagesize): Define it here.
(_dl_map_object_from_fd): Initialize it if zero.
* elf/link.h (_dl_pagesize): Remove const.
Sun Jun 9 04:04:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/Makefile (routines): Add dl-symbol.
* elf/dl-lookup.c (_dl_symbol_value): Moved to ...
* elf/dl-symbol.c: New file.
* elf/elf.h (Elf32_Xword, Elf32_Sxword): New types.
(Elf32_Section, Elf64_Section): New types, 16 bits.
(Elf32_Sym, Elf64_Sym): Use it.
* elf/dl-deps.c (_dl_open): Moved to ...
* elf/dl-open.c: New file.
* Makefile (routines): Add dl-open.
* elf/Makefile (dl-routines): New variable.
(routines): Add $(dl-routines).
(elide-routines.so): New variable, set to $(dl-routines).
(libdl-inhibit-o): Variable removed; build all flavors of -ldl.
(rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to
$(dl-routines).
* elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage.
* elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND.
* elf/dl-load.c (open_path): Use __ names for open and close. Avoid
using strdup.
(_dl_map_object): Likewise.
(_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect.
* elf/dl-minimal.c (malloc): Likewise.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* elf/dl-minimal.c (_dl_pagesize): New variable.
(malloc): Use that instead of a static variable.
* elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of
calling getpagesize.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* elf/link.h: Declare _dl_pagesize.
* elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug.
* elf/link.h (struct link_map): Use Half for l_phnum instead of Word.
* elf/rtld.c (dl_main): Use Half for phdr count arg.
(_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg.
* elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to
extract 4-byte magic number, not ElfW(Word). Match EI_CLASS against
native wordsize, either 32 or 64.
* elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed. In C a
char is always a byte, no need for a typedef. Section indices are
16-bit quantities in elf64, which already have a typedef Elf64_Half.
Remove partial -lelf implementation. There is now a
separately-distributed `libelf' package that implements it.
* elf/dl-lookup.c: Don't #include <libelf.h> any more.
(_dl_elf_hash): New function, moved from
libelf.h:elf_hash.
(_dl_lookup_symbol): Use it instead of elf_hash.
* elf/libelf.h: File removed.
* elf/elf_hash.c: File removed.
* elf/Makefile (headers): Remove libelf.h.
(extra-libs): Remove libelf.
(libelf-routines): Variable removed.
* elf/Makefile (libdl.so): Remove commands from this target. The
implicit rule commands are correct, this explicit rule just serves to
add some dependencies.
* elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of
ELF32_ST_TYPE. Likewise ST_BIND.
* elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM.
* elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type
naming.
(ELFW): New macro, likewise for ELFXX_* macro naming.
(_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF.
Sat Jun 8 20:52:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c,
elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c,
elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c,
elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to
`ElfW(XXX)' for wordsize-independence.
Sat Jun 8 20:50:42 1996 Richard Henderson <rth@tamu.edu>
* elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts.
(Elf64_auxv_t): New type.
(EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1996-06-10 10:18:47 +00:00
|
|
|
|
# Specify the dependencies of libdl.so; its commands come from the generic
|
|
|
|
|
# rule to build a shared library.
|
1995-05-11 02:49:38 +00:00
|
|
|
|
$(objpfx)libdl.so: $(objpfx)libdl_pic.a $(common-objpfx)libc.so $(objpfx)ld.so
|
1995-10-09 07:06:29 +00:00
|
|
|
|
|
1995-11-08 02:28:15 +00:00
|
|
|
|
$(slibdir)/$(rtld-installed-name): $(objpfx)ld.so; $(do-install-program)
|
1995-10-09 07:06:29 +00:00
|
|
|
|
|
1996-05-15 15:49:26 +00:00
|
|
|
|
$(objpfx)ldd: ldd.sh.in Makefile
|
update from main archive 961101
Sat Nov 2 01:48:47 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/errnos.h: Move declaration of errno
and __errno_location to correct position.
Thu Oct 31 22:51:25 1996 Ulrich Drepper <drepper@cygnus.com>
* Makefile (distribute): Add rellns-sh.
* rellns-sh: New file.
* Makerules (make-link): Use rellns-sh.
* time/Makefile ($(installed-localtime-file)): Likewise.
Thu Oct 31 11:33:01 1996 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile ($objpfx)ldd) Substitute $(version) for @VERSION@.
(distribute): Add ldd.bash.in.
* elf/ldd.sh.in: Process --help and --version parameter.
Correct comments.
* elf/ldd.bash.in: New file.
* stdlib/stdlib.h: Add prototype for clearenv.
* sysdeps/generic/setenv.c: Add implementation of clearenv.
(setenv): Handle __environ == NULL correctly.
* sysdeps/stub/setenv.c: Add stub definition for unsetenv and
clearenv.
* sysdeps/generic/putenv.c: Correct layout to fit in libit.
* sysdeps/generic/setenv.c: Likewise.
* stdlib/strtol.h: Likewise.
* time/sys/time.h: Define __need_timeval and include <timebits.h>.
Remove definition of struct timeval.
* sysdeps/stub/timebits.h [__need_timeval]: Define struct timeval
using `time_t' for members.
* sysdeps/unix/sysv/linux/timebits.h [__need_timeval]: Likewise.
* sysdeps/unix/sysv/linux/alpha/timebits.h: New file. Same
as old Linux specific version.
* string/argz.h: Use __const in definitions.
* inet/herrno.c: Don't define __h_errno, only h_errno otherwise the
__syscall_error defined.
TRACE_MODE.
Craig Metz.
arithmetic.
buggy and more competent people work on a usable version which is
distributed separately.
`finitel'.
better message if it is not available.
whether read failed.
PSEUDO_END macro.
Especially on the currently supported ELF systems the nlist
function comes with the libelf.
"$(i18ndir)/charmaps".
net/if_arp.h, and net/route.h.
version.
EXTERN_PARSER is defined.
set errno (to ENOMEM).
nothing is found. This guarantees all subsequent calls behave
the same.
the file even if no `era's are specified.
pointers.
_llseek to _llseek (not llseek).
Initialize `result'.
end_alt_digits.
__libc_force_cancel_wrapper when compiling reentrant version.
a weak alias.
make tcdrain a weak alias.
lseek, open, read, and write to have __libc_ prefix and make old
names a weak alias.
to fpathconf.
__libc_setlocale_lock.
ld.so.preload. Suggested by David Engel <david@elo.ods.com>.
on the same device as the password file.
variable.
to lock when passing it to __libc_lock_init macro.
sysdep.h to the top outside of #ifndef PIC. Don't include errnos.h.
Use the ENTRY macro.
9th field.
and sys/vt.h.
`_dl_start' so that linking fails if this file should ever be used
in ld.so.
RMS' last standard revision.
(sysdep_headers): Remove sys/sysinfo.h.
match files in the sysdeps hierachy (welcome back,
sys/syscall.h!).
categories which succeeded to load after a wrong or missing data
file was observed.
_IO_flockfile and _IO_funlockfile resp.
all three versions of the math function.
non-trivial inline functions.
rpath-link so that running the check finds the new library.
daylight saving, timezone by time zone.
syscall_error handler for reentrant libc.
warning.
_IO_getc_unlocked.
in version information banner.
clearerr_u, feof_u, ferror_u, fputc_u, getc_u, getchar_u,
iofflush_u, putc_u, putchar_u, ioflockfile.
using __errno_location function.
syscall_error handler for reentrant libc.
definition of function itself.
funlockfile.
_malloc_loc.
but _POSIX_THREAD_DESTRUCTOR_ITERATIONS.
Add macro `errno' to get thread specific variable.
__errno_location function.
* malloc/free.c (free): __lib_malloc_lock -> __libc_malloc_lock.
case, so don't prepend uppercase `ISO' for only numeric arg.
call to __libc_lock_lock.
sys/sysmacros.h. Reported by Curtiss <1CMC3466@IBM.MTSAC.EDU>.
stamp file.
generating stamp file.
implementation.
`decimal' char is 0.
noexpr to "^[nN]"; this conforms to POSIX.2.
conform to POSIX.2.
mon_grouping, int_frac_digits, frac_digits, p_cs_precedes,
p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and
n_sign_posn to CHAR_MAX, as required by the POSIX Standard.
variable.
this changes the global state for `localtime' and `gmtime'. Use
`__localtime_r'/`__gmtime_r' instead.
state.
getutid_r() fails with ESRCH. Reported by Miquel van Smoorenburg.
for "Jensen" so _bus_base() returns 0 on that platform. Use
_bus_base_sparse() to determine base address of sparse memory.
are now in $P/stdio-common.pot.
script at run time, not configure time.
warning.
sorted.
inet_net_pton, inet_net.
value of sprintf.
functions instead of BSD `b*' functions.
$(objpfx)/mach-syscalls.mk.
<marcus@sysc.pdx.edu> for the patch.)
before returning. Reported by Miles Bader.
__BEGIN_DECLS/__END_DECLS up so ntohl() et al are bracketed as
well.
This is not a gross hack, after all---for compatibility,
getlogin() really should check fd 0 only and not try to base its
operation on the controlling tty.
change utmp_data from static to auto.
_IO_file_flags. It's the same as _flags.
call is only a stub.
Mikasa.
pointer as __const.
segfault when called with an N that is not a multiple of four and
src[N-1]=='\0'.
try again with SOCK_STREAM (the Linux syslogd uses a socket of the
latter type).
terminator as a record-delimiter. If __send(LogFile) fails,
`getutline_r'.
`setutline_r'.
of `vscanf'.
name a weak alias.
typo.
initialized in init-first.c. Some actions in the libc work
different when libc is static or dynamic.
`__libc_is_static' variable to determine whether call to
`personality' and `setfpucw' is necessary. When done set variable
to +-1 depending on library type.
`__libc_enable_secure' instead of calling `get{,e}{g,u}id()' to
determine whether it's a SET[UG]ID program.
(open_file): New function, contents mostly from __open.
LD_TRACE_LOADED_OBJECTS is set.
n)' equivalent to `strncpy (d, s, n), d += strnlen (d, n)'.
from the USA any software that even makes it easy to drop in an
encryption module of foreign origin.
old code would have failed on a big-endian 64-bit architecture).
Remove gratitous parentheses around return expressions.
not int.
ustatbits.h.
alphabetically correct place. Mention ustat.
record always gets appended at end of file (wtmp is a log file,
after all). Set ut_type to DEAD_PROCESS if name is empty.
ut_line matches and type is either USER_PROCESS or LOGIN_PROCESS.
avoid duplicate declarations.
word extends right up to rmargin.
point_col ssize_t.
to fiddle __put_limit in conjunction with __linebuf_active.
of, not the ones he is _not_ a member of.
instead of a local function. The latter are difficult to debug
and slow to execute on certain platforms.
place of sizeof (dev). The size of a literal string includes the
NUL byte.
entry. Return 1 on error, not -1.
shift amount for Jensen must be 5 not 4.
for send and connect syscalls.
signed<->unsigned warnings.
variable name, so new a libc with new requirements won't fail to
notice an insufficient Linux version.
PENDIN, NOFLSH): Undefine these at start if they are already
defined to avoid collision with termbits.h.
error is 0. The "placeholder" entries recently added to
memcpy for possibly overlapping strings.
instead of weak_symbol (NAME) after the defn.
necessary using current implementation of memcpy, but...).
Move struct timespec defn outside [_TIME_H] so it can be got with
#define __need_timespec.
__connect instead of connect to avoid name-space collisions (e.g.,
with psgetty).
function ctype_is_charmap to ctype_is_charconv.
charconv.
charconv.
lables according to this.
warnings.
actually do something.
sysdeps/unix/sysv/linux/m68k/init-first.h,
sysdeps/unix/sysv/linux/i386/init-first.h: New files.
init-first.h to make abstract machine dependent parts of
typo/extraneous whitespace.
check-for-pending signals code, release _hurd_siglock before
jumping to deliver_pending.
size_t.
soname of a loaded object, use that object.
if libnss_dns.so module for DNS name lookup in NSS service.
guessing to not assume p_vaddr of first load cmd is zero.
only for ?s, not for *s. Fix from Chet Ramey.
about currently used character set.
name `MAX_IOVEC'. Instead use standard name `UIO_MAXIOV'.
(xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure
appropriate sign-extension is performed on machines with
sizeof(long) > 4.
sizeof(int)<sizeof(long), we need to go through a temporary
variable.
in efect.
volatile to avoid "might get clobbered by longjmp" warning.
unless _LOOSE_KERNEL_NAMES is in effect (which, with high
probability is a sure loser).
sysdeps/unix/sysv/linux/alpha/brk.S,
sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
sysdeps/unix/sysv/linux/alpha/llseek.S,
sysdeps/unix/sysv/linux/alpha/sigsuspend.S,
sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to
__syscall_error to avoid intruding application name space.
sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S,
sysdeps/unix/execve.S, sysdeps/unix/fork.S,
sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END.
(PSEUDO_END): Rename END() to PSEUDO_END().
to PSEUDO_END to improve branch-prediction. Include .frame
directive to make syscalls debugabble.
sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since
latter is illegal under DEC Unix.
as well.
EWOULDBLOCK -> EAGAIN mapping was unnecessary since
EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha).
address register in the .frame directive.
avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN.
compilable under c++.
as unsigned long, not as int (to avoid incorrect int->long
promotion).
1996-11-02 01:28:01 +00:00
|
|
|
|
sed -e 's%@RTLD@%$(slibdir)/$(rtld-installed-name)%g' \
|
|
|
|
|
-e 's%@VERSION@%$(version)%g' < $< > $@.new
|
1995-11-08 02:28:15 +00:00
|
|
|
|
chmod 555 $@.new
|
1995-10-09 07:06:29 +00:00
|
|
|
|
mv -f $@.new $@
|
1996-07-02 19:35:40 +00:00
|
|
|
|
|
|
|
|
|
# muwahaha
|
|
|
|
|
|
1996-07-03 19:07:09 +00:00
|
|
|
|
LDFLAGS-dl.so = -Wl,-dynamic-linker,$(slibdir)/$(rtld-installed-name)
|
1996-07-02 19:35:40 +00:00
|
|
|
|
$(objpfx)libdl.so: $(objpfx)eval.so
|