Age | Commit message (Collapse) | Author |
|
* version.c (banner): New static const variable, complete version
banner text.
(__libc_print_version): Use it, and use __write instead of printf.
* configure.in (sysnames): Don't cache the value, because it
depends only on libc sources. Merge uniquifying third pass into
Implies/parent expansion second pass. Report each unique name as
it is added in partial report string, terminated when finished.
* Makeconfig (sysdep_dir): Move defn before config.status rule that
expands it.
(sysdep-configures): Variable removed.
(config.status): Use its contents directly, tighten up a bit, and
include Implies files.
* elf/dl-open.c (_dl_open) [PIC]: Set PARENT to _dl_loaded if null.
* elf/Makefile ($(objpfx)$(rtld-installed-name)): Make a symlink.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill):
Add comment.
* elf/rtld.c (dl_main): Close _dl_zerofd after mapping deps.
* sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Define mcount as
weak alias for _mcount.
* sysdeps/alpha/_mcount.S (mcount): Define as weak alias.
|
|
* elf/dl-lookup.c (_dl_lookup_symbol): If no value and *REF is
null, consider it a strong reference and give the error.
Wed Jun 12 15:52:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-open.c (_dl_open): Correctly terminate relocating loop
after relocating NEW when it's the only new object.
* elf/dl-init.c (_dl_init_next): When out of initializers, set
_r_debug.r_state to RT_CONSISTENT and call _dl_debug_state just
before return.
* elf/rtld.c (dl_main): Move _dl_debug_initialize call after
relocation. Call it unconditionally and only fill in DT_DEBUG
if it's present. Then call _dl_debug_state with r_state RT_ADD
before running initializers.
* elf/dl-open.c (_dl_open): Call _dl_debug_initialize and then call
_dl_debug_state with r_state RT_ADD before running initializers
* elf/dl-close.c (_dl_close): Call _dl_debug_state with r_state
RT_DELETE before running finalizers and with RT_CONSISTENT just
before return.
* elf/Makefile (dl-routines): Add dl-debug.
* elf/dl-debug.c: New file.
* elf/rtld.c (_dl_r_debug): Rename to _r_debug and move to dl-debug.c.
(_dl_r_debug_state): Rename to _dl_debug_state and likewise move.
(dl_main): Use _dl_debug_initialize.
* elf/link.h: Fix name to _dl_debug_state in decl.
(_dl_debug_initialize): Declare new function from dl-debug.c.
(_r_debug): Declare it.
* Makerules (distinfo-vars): Add install-{lib,data,bin,sbin,others}.
In distinfo set $(subdir)-VAR and then set VAR to $($(subdir)-VAR).
* Makeconfig (rpath-link): New variable; add $(elfobjdir).
(default-rpath): Use it.
(built-program-cmd): Use it in LD_LIBRARY_PATH.
* Makeconfig (sysdep-configures): Prepend $(sysdep_dir) to names tried.
* sysdeps/unix/Dist: Add make-syscalls.sh.
* misc/Makefile (headers): Add sys/swap.h.
* posix/unistd.h: Remove decls for swapon, swapoff.
* sysdeps/generic/sys/swap.h: New file.
* sysdeps/unix/sysv/linux/sys/swap.h: New file.
* sysdeps/unix/sysv/linux/gnu/types.h: Remove temporary hack #define
of __kernel_fsid_t. It is correctly defines in <linux/types.h> now.
|
|
* elf/Makefile (routines): Remove init-first.
* csu/Makefile (routines): New variable; put it here instead.
* config.make.in (CFLAGS): New variable.
* io/sys/stat.h (S_ISLNK, S_ISSOCK): Make conditional on __USE_BSD,
not __USE_GNU.
* string/string.h (strncasecmp): Likewise.
|
|
to after `include ../Rules', so $(rtld-installed-name) is defined.
|
|
link to ld.so if that is not the installed name.
(lib-noranlib): Depend on the installed name in the build directory
instead of on ld.so.
* Makeconfig (link-libc): Include $(elfobjdir)/$(rtld-installed-name)
between libc.so and libc.a, because with libc.so's DT_NEEDED for ld.so
ld searches libc.a before ld.so (is that an ld bug?).
Add $(elfobjdir) to -rpath-link.
* Makerules (elfobjdir): Define as . when $(subdir) is elf.
* sysdeps/i386/dl-machine.h (elf_machine_rel): In R_386_32 case when
relocating _dl_rtld_map, subtract SYM's value from final reloc value,
but don't change *RELOC_ADDR before calling *RESOLVE, because it might
call the function we are relocating!
|
|
* 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.
|
|
(ElfW, ELFW): Use it.
* elf/Makefile (headers): Add elfclass.h.
* sysdeps/wordsize-32/elfclass.h: New file.
* sysdeps/wordsize-64/elfclass.h: New file.
* sysdeps/alpha/Implies: Add wordsize-64.
* sysdeps/i386/Implies: Add wordsize-32.
* sysdeps/m68k/Implies: Add wordsize-32.
* sysdeps/mips/Implies: Add wordsize-32.
* sysdeps/sparc/Implies: Add wordsize-32.
|
|
* 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.
|
|
* mach/mach_syscalls.c: Obsolete file removed.
* mach/mach_syscalls.h: Likewise.
* mach/mach_traps.S: Likewise.
* mach/msg_destroy.c: Likewise.
* mach/vm_page_size.c: Likewise.
|
|
(lib-noranlib): Depend on on $(extra-objs).
* errno.h: Move __END_DECLS out of #ifdef's so it matches
__BEGIN_DECLS.
|
|
macro. _IO_size_t is just an alias for the real size_t anyway.
* elf/Makefile (libdl-routines): Add dladdr.
* elf/dladdr.c: New file.
* elf/dlfcn.h (Dl_info): New typedef.
(dladdr): Declare it.
|
|
* elf/linux-compat.c (_init): Pass reloc_addr arg to _dl_lookup_symbol.
* elf/dl-lookup.c (_dl_lookup_symbol): Use l_searchlist.
* elf/dl-deps.c: New file.
* elf/Makefile (rtld-routines): Add dl-deps.
* elf/link.h: Declare _dl_map_object_deps, _dl_open.
* elf/rtld.c (dl_main): Use _dl_map_object_deps.
* elf/dlopen.c: Use _dl_open.
* elf/rtld.c (dl_main): Remove BEFORE_RTLD variable and list
frobnication based on its value. Detach RTLD_MAP from the chain if
its l_opencount is zero after loading deps.
* elf/dlfcn.h (RTLD_BINDING_MASK): New macro.
* elf/link.h (struct link_map): Replace l_deps_loaded flag member with
`struct link_map **l_searchlist' and `unsigned int l_nsearchlist'.
* elf/dl-lookup.c (_dl_lookup_symbol): Make SYMBOL_SCOPE arg an array
of two link_map ptrs. Search the maps in the l_searchlist of each
elt that is not null.
* elf/dl-reloc.c (_dl_relocate_object): Pass proper SCOPE array.
* elf/dl-runtime.c: Likewise.
* elf/dlsym.c: Likewise.
* elf/rtld.c (dl_main): Likewise.
* elf/dl-minimal.c (realloc): Support realloc of the block most
recently returned by the minimal malloc.
* intl/localealias.c, intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA.
|
|
* sysdeps/generic/strrchr.c: Deansideclized.
* elf/Makefile (ldd): Depend on Makefile.
Find ld.so in $(slibdir) instead of $(libdir).
* sysdeps/i386/strrchr.S: Use `testl $3, %esi' instead of `testb $3,
%esi'; gas misassembles the latter into `testb $3, %dh'.
* mach/Machrules (%.udeps rule): Do $(make-target-directory) first.
Tue May 14 16:38:44 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* sunrpc/getrpcent.c (interpret): Declare args. Rewrite parsing using
strpbrk.
Tue May 14 20:18:38 1996 Ulrich Drepper <drepper@cygnus.com>
* time/Makefile (routines): Add strptime.
* time/time.h: Add prototype for strptime.
* time/strptime.c: New file. Implementation according to XPG4.
|
|
* elf/Makefile (subdir_lib): Depend on ld.so.
|
|
* locale/C_name.c: New file.
(_nl_C_name): Put it here instead.
* locale/Makefile (aux): Add C_name.
* sysdeps/mach/hurd/dl-sysdep.c (open): Don't pass io port in
auth_user_authenticate rpc.
(open): Avoid using strtol in digit conversion for "fd/N" magic.
(_dl_sysdep_start): Likewise for memobj name in magic switches.
* elf/Makefile (reloc-link): New variable.
(dl-allobjs.so): New target, link together $(rtld-routines).
(librtld.so): Depend on that instead of the rtld components.
(generated): Add dl-allobjs.so.
|
|
* 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.
|
|
* elf/Makefile (rtld-link): New canned sequence.
(ld.so, ld-linux.so.1): Use it. Pass -soname option.
* sysdeps/i386/setjmp.S (__setjmp): Define compatibility entry point.
Sun Mar 17 23:15:32 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/tcgetpgrp.c,
sysdeps/unix/sysv/linux/tcsetpgrp.c: New files.
|
|
<schwab@issan.informatik.uni-dortmund.de>
* sysdeps/posix/utimes.c (__utimes): There are 1000000 usecs in a
sec.
Sun Feb 18 13:56:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/Makefile, time/Makefile: Make `all' the default target.
Mon Feb 19 18:09:04 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* misc/sys/ptrace.h: Moved to ...
* sysdeps/generic/sys/ptrace.h: ... here.
* sys/ptrace.h: File removed.
Sun Feb 18 12:13:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (headers): Add fpu_control.h.
* sysdeps/unix/sysv/linux/i386/sysdep.S (errno): Put it into .bss
so that the symbol alias works.
* sysdeps/unix/sysv/linux/m68k/fpu_control.h (_FPU_SETCW): Corrected.
* sysdeps/unix/sysv/linux/resourcebits.h: New file.
* sysdeps/unix/sysv/linux/sys/ptrace.h: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add getegid, geteuid,
getppid and reboot.
* sysdeps/unix/sysv/linux/sysconf.c: Special version that does not
use getdtablesize.
Sat Feb 17 10:30:21 1996 David Mosberger-Tang <davidm@AZStarNet.com>
* stdio-common/printf_fp.c, stdlib/strtod.c, sysdeps/ieee754/dbl2mpn.c,
sysdeps/ieee754/ldbl2mpn.c, sysdeps/ieee754/mpn2dbl.c,
sysdeps/ieee754/mpn2ldbl.c: Cast left operands of shift instructions
to `long' where necessary.
Thu Feb 15 20:04:50 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdlib/fpioconst.h: Introduce new constant _FPIO_CONST_OFFSET.
* stdio-common/printf_fp.c, stdlib/strtod.c: Use _FPIO_CONST_OFFSET
to correctly access MPN array depending on architecture.
|
|
* sysdeps/unix/sysv/linux/i386/sysdep.S (_errno): Define as alias
for errno.
* stdio-common/vfprintf.c [USE_IN_LIBIO] (vfprintf): Define as
alias for _IO_vfprintf.
* sysdeps/unix/sysv/linux/sockaddrcom.h: File removed.
* sysdeps/unix/sysv/linux/i386/init-first.c (init): Use
__fpu_control instead of ___fpu_control.
* sysdeps/unix/sysv/linux/i386/ieee_fpu.c
(___fpu_control): Renamed to __fpu_control.
* sysdeps/unix/sysv/linux/i386/fpu_control.h: Likewise.
* sysdeps/unix/sysv/linux/i386/fpu_control.c: Likewise.
* elf/dl-minimal.c: New file.
* elf/Makefile (rtld-routines): Add dl-minimal.
* elf/rtld.c (__dgettext, __assert_fail, __assert_perror_fail):
Functions moved to dl-minimal.c.
* sysdeps/mach/hurd/dl-sysdep.c (malloc, free, realloc,
sigjmp_save, longjmp): Likewise.
* sysdeps/unix/sysv/linux/i386/brk.S (__curbrk): Always initialize
to &_end, regardless of PIC.
* stdio-common/vfscanf.c (__vfscanf): Fix arg name in defn.
|
|
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start_cleanup): New
function.
(_dl_sysdep_start): Move cleanup code there.
* Makeconfig (default-rpath): New variable.
(link-libc): Use it.
* elf/Makefile (ld.so): Pass -rpath=$(default-rpath).
* elf/rtld.c (_dl_rpath): New variable.
(_dl_start): Set it from rtld_map's DT_RPATH.
Call _dl_setup_hash on rtld_map.
(dl_main): Cache address of _exit in variable before relocating,
and use that in later calls. Call _dl_sysdep_start_cleanup before
relocating. Keep track of dependency order while loading; remove
rtld_map from chain, and reinsert in proper order if there is a
dependency on it.
* sysdeps/generic/Makefile (make_siglist): Pass
-DSIGNUM_H=... with config's signum.h location.
* sysdeps/generic/make_siglist.c: Include SIGNUM_H to define
signal numbers.
(HAVE_STRSIGNAL, HAVE_PSIGNAL): Define these before including signame.c
(main): Deansideclize output.
* elf/dl-load.c (_dl_map_object): Use _dl_rpath variable in place
of DEFAULT_RPATH macro.
* elf/Makefile: Undo last change.
* sysdeps/mach/hurd/dl-sysdep.c (free): Don't abort, just nop.
|
|
error if weak.
* elf/Makefile (default-rpath): New variable.
(CPPFLAGS): Append -DDEFAULT_RPATH=....
* elf/dl-load.c (_dl_map_object): Use DEFAULT_RPATH instead of
hard-coded "/lib:/usr/lib".
|
|
* Makeconfig (config-LDFLAGS): Find dynamic linker in $(slibdir).
* Makeconfig (slibdir): New variable.
* Makerules (install): Install libc.so in $(slibdir).
* elf/Makefile (install-others): Install ld.so and ld-linux.so.1
in $(slibdir).
|
|
* elf/linux-compat.c: New file.
* elf/Makefile (distribute): Add linux-compat.c.
(generated): Add librtld.so.
[$(config-os)=linux*] (extra-objs): Add linux-compat.so.
[$(config-os)=linux*] (extra-objs): Add ld-linux.so.1.
(librtld.so): New target.
(ld.so, ld-linux.so.1): Make from librtld.so.
* elf/rtld.c (dl_main): Instead of weak call to _dl_compat_init,
call our own DT_INIT if we have one (and then clear it).
(__dgettext): New weak function.
* intl/localealias.c (read_alias_file): Avoid sprintf; use memcpy
by hand instead.
* sysdeps/generic/_strerror.c (_strerror_internal): Use _itoa
instead of snprintf.
* sysdeps/mach/_strerror.c (_strerror_internal): Don't write
BUF[BUFLEN].
* elf/rtld.c (rtld_map): New static variable.
(_dl_start): Use a differently named local BOOTSTRAP_MAP for the
bootstrapping. Then copy data into `rtld_map'.
(dl_main): Finish filling in rtld_map and link it into the chain,
instead of allocating a new structure.
(dl_main): Call _dl_compat_init if it is defined (use weak ref).
* elf/dlsym.c: Fix last change: move REF out of `doit'.
control.
using it.
and cwdir ports.
functions.
these.
$(libdir)(rtld-installed-name).
leading zeroes.
in the rhs.
pattern rule.
never know.
(fork): Use symbol_set_* macros for _hurd_fork_locks.
* sysdeps/unix/sysv/sysv4/linux/i386/sysdep.S (__syscall_error):
instead of unix/sysv.
-dynamic-linker.
(__printf_fp): Last arg ARGS is now `const void **const';
locale/C-ctype.c.
* sysdeps/mach/hurd/sigsuspend.c: Likewise.
* sysdeps/mach/hurd/mips/sigreturn.c: Likewise.
alias gethostname.
setitmr
setpgrp
(_S_msg_get_exec_flags, _S_msg_set_exec_flags,
(abort_thread, abort_rpcs): Take same new arg and pass it through.
|
|
* elf/ldd.sh.in: Prepend `./' to relative file names so ld.so
won't search LD_LIBRARY_PATH.
|
|
* Makerules (build-shlib): Pass -rpath and -rpath-link options.
(LDFLAGS-c.so): Don't pass -dynamic-linker here.
* Makeconfig (+link): Pass $(sysdep-LDFLAGS).
(link-libc): Pass -rpath and -rpath-link options.
* MakeTAGS (all-dirs): Omit CVS directories.
Specify vpath directives to find source files in $(all-dirs).
(sources, headers): Append sources and headers from $(all-dist) to
these.
(all-dist): Filter them out of this.
(all-headers, all-sources): Use $(shell find ...) instead of
$(wildcard ...).
* sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): New variable; pass
-rpath-link.
* hurd/hurdexec.c: Pass poly and dealloc args to __file_exec.
* elf/Makefile (install-others): Add missing $.
* mach/Makefile ($(objpfx)errsystems.c): Rule reenabled.
|
|
* Makeconfig (config-LDFLAGS): Define to
-Wl-dynamic-linker=$(libdir)$(rtld-installed-name).
(rtld-installed-name): New variable.
* elf/Makefile (install-lib): Variable removed.
(install-others): Define this instead, to
$(libdir)(rtld-installed-name).
($(libdir)(rtld-installed-name)): New target; install from ld.so.
* elf/ldd.sh.in: New file.
* elf/Makefile (distribute): Add ldd.sh.in.
(install-bin): Add ldd.
($(objpfx)ldd: ldd.sh.in): New rule.
* sysdeps/mach/hurd/dl-sysdep.c: Use __hurd_fail throughout.
* hurd/hurd.h (__hurd_fail): Replace macro with inline function.
Translate some Mach errors to Hurd errors.
* elf/rtld.c (dl_main): Under --list, print msg if executable is
statically linked.
* elf/dl-load.c (_dl_map_object_from_fd): Rewrote program header
table processing.
Sat Oct 7 01:25:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/stub/machine-gmon.h: Add #error.
Fri Oct 6 01:49:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/dynamic-link.h (elf_get_dynamic_info): If DYN is null, don't
examine it.
|
|
* sysdeps/stub/sys/sem_buf.h (union semun): New type.
* sysdeps/mach/hurd/i386/init-first.c (init1) [PIC]: Call
__libc_global_ctors.
* sysdeps/i386/init-first.c: Rewritten.
* sysdeps/unix/sysv/linux/i386/init-first.S: File removed.
* sysdeps/unix/sysv/linux/i386/init-first.c: New file.
* sysdeps/unix/sysv/linux/i386/fpu_control.h: Fix name in decl of
___fpu_control.
* Makerules (build-shlib): New canned sequence, broken out of
lib%.so rule. Link in $^ instead of just $<.
(lib%.so: lib%_pic.a): Use it.
(libc.so): New target; use $(build-shlib) for cmds, but also depend
on soinit.so first and sofini.so last.
* elf/soinit.c: New file.
* elf/sofini.c: New file.
* elf/Makefile (distribute): Add soinit.c and sofini.c.
(extra-objs): Add soinit.so and sofini.so.
* sysvipc/sys/shm.h (shmat): Fix return type to char *.
* sysdeps/stub/sys/ipc_buf.h (key_t): Type removed.
* misc/syslog.c (vsyslog): Rewritten using open_memstream to
dynamically allocate buffers.
* Makerules (install-lib-nosubdir): Make this, rather than
install-no-libc.a, depend on the installed shared libraries.
|
|
|
|
|
|
|
|
* sysdeps/i386/dl-machine.h: New file.
* sysdeps/stub/dl-machine.h: New file.
* sysdeps/i386/dl-runtime.c: New file.
* sysdeps/stub/dl-runtime.c: New file.
* sysdeps/i386/elf/start.S: New file.
* sysdeps/generic/dl-sysdep.c: New file.
* sysdeps/mach/hurd/dl-sysdep.c: New file.
|
|
* elf/Makefile: New file.
* elf/elf.h: New file.
|