| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
* elf/rtld.c (process_envvars): Call __strtoul_internal instead of
strtoul.
* elf/dl-minimal.c (strtol, __strtol_internal, strtoul): Removed.
(__sigjmp_save): Set __mask_was_saved to zero since we don't save
anything.
* dlfcn/eval.c (__strtol_internal): Define here.
(eval): Use __strtol_internal instead of strtol.
|
|
|
|
|
| |
* elf/rtld.c (process_envvars): Place output files for profiling
in SUID binaries in /var/profile.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/init-first.c: Include <libc-internals.h>
for prototypes, remove redundant prototypes.
* gmon/gmon.c: Likewise.
* sysdeps/unix/i386/i586/clock_getres.c: Likewise.
* sysdeps/unix/i386/i586/clock_gettime.c: Likewise.
* sysdeps/generic/enbl-secure.c: Include <libc-internals.h> for
prototypes.
* elf/soinit.c: Likewise.
* sysdeps/generic/prof-freq.c: Likewise.
* sysdeps/mach/hurd/profil.c: Likewise.
* debug/noophooks.c: Likewise.
* debug/pcprofile.c: Likewise.
* sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Likewise.
* sysdeps/generic/get_clockfreq.c: Likewise.
* locale/localeinfo.h: Add internal prototypes.
* elf/rtld.c (dl_main): Fix prototype.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-12-05 Andreas Jaeger <aj@suse.de>
* elf/dl-misc.c (_dl_sysdep_read_whole_file): Mark as
internal_function.
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Likewise.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start_cleanup): Likewise.
* sysdeps/generic/dl-cache.c: Remove declaration of
_dl_sysdep_read_whole_file.
* elf/dl-load.c (_dl_map_object): Remove declaration of
_dl_load_cache_lookup.
* sysdeps/generic/ldsodefs.h: Add declarations of
_dl_load_cache_lookup, _dl_unload_cache,
_dl_sysdep_read_whole_file, _dl_sysdep_start and
_dl_sysdep_start_cleanup.
* elf/rtld.c: Remove prototypes that are defined in ldsodefs.h
now.
* elf/dl-misc.c: Include <ldsodefs.h> to get prototypes.
* sysdeps/generic/dl-environ.c: Likewise.
* stdio-common/printf_fp.c: Include <gmp.h> instead of
<stdlib/gmp.h>.
* math/atest-exp.c: Likewise.
* math/atest-exp2.c: Likewise.
* math/atest-sincos.c: Likewise.
* stdio-common/_itoa.c: Likewise.
* stdio-common/_itowa.c: Likewise.
* include/gmp.h: New file with internal prototypes.
* sysdeps/generic/longjmp.c: Move _longjmp_unwind declaration from
here to...
* include/setjmp.h: ...here.
* locale/Makefile (routines): Remove codeset_name since it's not
needed anywhere.
* locale/codeset_name.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-10-24 Ulrich Drepper <drepper@redhat.com>
Complete revamp of the reference counter handling.
* include/link.h (struct link_map): Add l_idx field.
* elf/dl-close.c: Handle decrementing of reference counters more
correctly. If necessary decrement reference counters of dependencies
of dependencies.
* elf/dl-lookup.c (add_dependency): Only increment reference counter
of the object itself and not also its dependencies.
* elf/dl-open.c: Increment reference counters here.
* elf/dl-deps.c: Remove reference counter handling here.
* elf/dl-load.c: Likewise.
* elf/rtld.c: Adjust for _dl_map_deps not handling reference counters.
* elf/loadtest.c: Print loaded objects at the beginning.
|
|
|
|
|
|
|
|
|
| |
* include/link.h (struct link_map): New bit field l_faked.
* elf/dl-deps.c: Use l_faked field in struct link_map instead of
the magic l_opencount==0.
* elf/dl-load.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/rtld.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-09-26 Thorsten Kukuk <kukuk@suse.de>
* nscd/dbg_log.c (dbg_log): Add missing format string.
* catgets/catgets.c (catopen): Use getenv instead of __secure_getenv
since we filter out the variable once.
* iconv/gconv_conf.c (__gconv_get_path): Likewise.
* locale/newlocale.c (__newlocale): Likewise.
* locale/setlocale.c (setlocale): Likewise.
* malloc/malloc.c (ptmalloc_init): Likewise.
* resolv/res_hconf.c (_res_hconf_init): Likewise.
* resolv/res_init.c (__res_vinit): Likewise.
* time/tzfile.c (__tzfile_read): Likewise.
* sysdeps/generic/unsecvars.h: New file.
* elf/dl-support.c (non_dynamic_init): Use it here to remove variables.
* elf/rtld.c (process_envvars): Likewise.
* elf/Makefile (distribute): Add unsecvars.h.
|
|
|
|
| |
* elf/rtld.c (process_envvars): Open debug output file with O_NOFOLLOW.
|
|
|
|
|
|
|
| |
* elf/rtld.c (_dl_dynamic_weak): Set to 1 by default for now.
* elf/dl-support.c: Likewise.
necessary. Move includes of POSIX and Unix limits files to the end.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-08-26 Ulrich Drepper <drepper@redhat.com>
* elf/Makefile (distribute): Add unloadmod.c, reldepmod1.c,
reldepmod2.c, reldepmod3.c, and reldepmod4.c.
(tests): Add unload, reldep, reldep2, and reldep3.
(modules-names): Add unloadmod, reldepmod1, reldepmod2, reldepmod3,
and reldepmod4.
Add rules to build and run unload, reldep, reldep2, and reldep3.
* elf/dl-lookup.c (_dl_lookup_symbol): Add new parameter explicit.
Don't create relocation dependency if it is nonzero.
(_dl_lookup_symbol_skip): Remove relocation dependency stuff. This
can never happen here.
(_dl_lookup_versioned_symbol): Add new parameter explicit.
Don't create relocation dependency if it is nonzero.
(_dl_lookup_versioned_symbol_skip): Remove relocation dependency
stuff. This can never happen here.
* sysdeps/generic/ldsodefs.h: Change prototypes.
* elf/dl-reloc.c (RESOLVE_MAP): Pass 0 in explicit parameter to
_dl_lookup_up and _dl_lookup_versioned_symbol.
(RESOLV): Likewise.
* elf/dl-runtime.c (fixup): Likewise.
(profile_fixup): Likewise.
* elf/dl-libc.c (do_dlsym): Pass 1 in explicit parameter to
_dl_lookup_symbol.
* elf/dl-symbol.c (_dl_symbol_value): Likewise.
* elf/rtld.c (dl_main): Likewise.
* elf/dl-sym.c (_dl_sym): Pass 1 in explicit parameter to
_dl_lookup_symbol if handle is not RTLD_DEFAULT. Always compute
and pass down the caller map.
(_dl_vsym): Likewise.
* elf/reldep.c: New file.
* elf/reldep2.c: New file.
* elf/reldep3.c: New file.
* elf/reldepmod1.c: New file.
* elf/reldepmod2.c: New file.
* elf/reldepmod3.c: New file.
* elf/reldepmod4.c: New file.
* elf/unload.c: New file.
* elf/unloadmod.c: New file.
* elf/do-lookup.h: Remove unused undef_name parameter.
* elf/dl-lookup.c: Adjust callers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-08-19 Ulrich Drepper <drepper@redhat.com>
* elf/Versions [ld] (GLIBC_2.2): Export _dl_check_map_versions.
* elf/dl-deps.c (_dl_map_object_deps): If object was dependency of
a dynamically loaded object remove old l_initfini list.
* elf/dl-libc.c (free_mem): Used as __libc_subfreeres callback to
remove some dynamically allocated memory blocks in the dynamic
loading data structures.
* elf/dl-load.c (add_name_to_object): Initialize dont_free to 0.
* elf/dl-open.c (dl_open_workder): Don't call _dl_check_all_versions.
Instead call _dl_check_map_versions only for the dependencies.
* elf/rtld.c: Avoid unneccessary initializations. Mark l_libname
information of initial objects as not free-able.
* sysdeps/generic/ldsodefs.h (struct libname_list): Add dont_free
element.
* elf/filter.c: Call mtrace.
* elf/restest1.c: Likewise. Close the objects.
* elf/loadtest.c: Call mtrace. Check result of dlclose. Print more
debug information.
* elf/constload1.c: Add comment explaining not freed memory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-08-15 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/ldsodefs.h: Declare _nl_nloaded.
* elf/Versions [ld] (GLIBC_2.2): Add _nl_nloaded.
* elf/dl-support.c: Define _nl_nloaded.
* elf/rtld.c: Likewise. Increment _nl_nloaded for rtld itself.
* elf/dl-object.c (_dl_new_object): Increment _nl_nloaded after adding
object to global list.
* elf/dl-close.c (_dl_close): Decrement _nl_nloaded after removing
from _dl_loaded list.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* elf/dl-fini.c (_dl_fini): Use _nl_nloaded instead of computing the
number here.
* sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Mask, not
unmask, exceptions.
* sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Unmask, not mask,
exceptions.
Reported by Harvey J. Stein <hjstein@bfr.co.il>.
|
|
|
|
|
|
|
|
|
|
| |
* elf/rtld.c: Define _dl_bind_not variable.
(process_envvars): Recognize LD_BIND_NOT and set _dl_bind_not.
* elf/dl-support.c: Likewise.
* sysdeps/generic/ldsodefs.h: Declare _dl_bind_not.
* elf/dl-runtime.c (fixup): Don't remember looked up value if
_dl_bind_not.
(profile_fixup): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf/elf.h: Add various DF_1_*, DTF_1_*, and DF_P1_* entries.
* elf/dl-close.c (_dl_close): Don't close an object if it is marked
with nodelete.
* elf/dl-open.c (dl_open_worker): Pass RTLD_NOLOAD as new parameter
to _dl_map_object. Return immediately if no object loaded.
Set DF_1_NODELETE bit in l_flags_1 if RTLD_NODELETE was passed.
* elf/dynamic-link.h (elf_get_dynamic_info): Copy DT_FLAGS_1 entry
if it exists into l_flags_1 word.
* elf/dl-load.c (_dl_map_object_from_fd): Take no parameter and use
it to determine whether loading is wanted or not.
(_dl_map_object): Likewise.
Call _dl_map_object_from_fd with new parameter.
* sysdeps/generic/ldsodefs.h: Update prototype.
* elf/dl-deps.c: Add new parameter to _dl_map_object calls.
* elf/rtld.c: Likewise.
* elf/Makefile (tests): Add noload. Add rules to generate noload.
* elf/noload.c: New file.
* include/link.h (struct link_map): Add l_feature_1 and l_flags_1.
* sysdeps/generic/bits/dlfcn.h: Define RTLD_NOLOAD and RTLD_NODELETE.
* sysdeps/mips/bits/dlfcn.h: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf/Versions (ld): Export _dl_out_of_memory for GLIBC_2.2.
* dlfcn/dlerror.c (dlerror): Don't free the error string if it is the
report that we are out of memory.
* elf/dl-deps.c (_dl_map_object_deps): Likewise.
* elf/dl-libc.c (dlerror_run): Likewise.
* elf/dl-open.c (_dl_open): Likewise.
* elf/rtld.c (dl_main): Likewise.
* elf/dl-error.c: Define _dl_out_of_memory.
(_dl_signal_error): Return _dl_signal_error if we cannot duplicate
the error string.
* sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory.
* dlfcn/dlerror.c (free_key_mem): Also free error string.
* iconv/loop.c: Fix comment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-07-09 Mark Kettenis <kettenis@gnu.org>
* elf/rtld.c (dl_main): Move call to __libc_check_standard_fds...
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): ... to here.
2000-07-10 Ulrich Drepper <drepper@redhat.com>
* include/features.h: Include ISO C99 features if the compiler used
is an ISO C99 compiler.
Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-07-08 Mark Kettenis <kettenis@gnu.org>
* iconv/gconv_conf.c: Include <bits/libc-lock.h>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-06-09 Ulrich Drepper <drepper@redhat.com>
Rewrite error message handling.
* elf/dl-deps.c (_dl_map_object_deps): Pass new parameter to
_dl_catch_error.
* elf/dl-error (struct catch): Add objname member.
(_dl_signal_error): Take new parameter with object name. When
passing message on simply store object name and duplicate error
message.
(_dl_catch_error): Take new parameter. Store object name in the
place pointed to.
* include/dlfcn.h: Adjust _dl_catch_error prototype.
* sysdeps/generic/ldsodefs.h: Adjust _dl_signal_error prototype.
* elf/dl-libc.c (dlerror_run): Pass new parameter to _dl_catch_error.
* elf/dl-open.c (_dl_open): Likewise.
* elf/rtld.c (dl_main): Likewise.
* elf/dl-close.c: Mark error messages with N_().
* elf/dl-deps.c: Likewise.
* elf/dl-error.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/dl-lookup.c: Add comments about problems with error message
translations.
* elf/dl-reloc.c: Likewise.
* elf/dl-version.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/elf.h: Include also <dl-dtprocnum.h>.
* elf/dl-deps.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/do-rel.h: Likewise.
* elf/dynamic-link.h: Likewise.
* elf/link.h: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/dl-dtprocnum.h: New file.
* sysdeps/ia64/dl-dtprocnum.h: New file.
* sysdeps/mips/dl-dtprocnum.h: New file.
* sysdeps/sparc/dl-dtprocnum.h: New file.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dlfcn/dlfcn.h: Pretty print dladdr declaraction.
* elf/rtld.c (process_envvars): Recognize LD_DYNAMIC_WEAK.
(_dl_dynamic_weak): New variable.
* elf/dl-support.c: Likewise.
* sysdeps/generic/ldsodefs.h: Declare _dl_dynamic_weak.
* elf/do-lookup.h: If we find a weak definition treat it like a
normal symbol unless _dl_dynamic_weak is nonzero. In the latter
case treat it like before.
|
|
|
|
|
|
| |
2000-06-02 Ulrich Drepper <drepper@redhat.com>
* elf/rtld.c (process_envvars): Test for = after variable name.
|
|
|
|
|
|
|
|
|
|
|
| |
* csu/Makefile (routines): Add check_fds.
* elf/rtld.c (dl_main): Call __libc_check_standard_fds for SUID
binaries. Add various __builtin_expect.
* sysdeps/generic/libc-start.c: Move check_fds and helper functions...
* sysdeps/generic/check_fds.c: ...here. New file.
* malloc/malloc.c (ptmalloc_init): Only enable debugging for SUID
binaries if file /etc/suid-debug is available.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-05-05 Ulrich Drepper <drepper@redhat.com>
* elf/dl-load.c (_dl_map_object_from_fd): Little of computation of
parameter to mprotect and for variable assignments.
2000-05-03 Jes Sorensen <jes@linuxcare.com>
* sysdeps/generic/ldsodefs.h (LOOKUP_VALUE_ADDRESS): Check the
validity of map before dereferencing it.
* elf/dl-reloc.c (RESOLVE_MAP): Define.
2000-05-02 Jes Sorensen <jes@linuxcare.com>
* elf/dl-runtime.c (fixup): Add the value returned in the symbol
lookup to the arguments to elf_machine_fixup_plt().
* sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add Link_map
of the symbol being resolved to input argument list and make the
function return the pointer to the reloc.
* sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): Change
return valuie to lookup_t and return the value.
* sysdeps/arm/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/generic/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/powerpc/dl-machine.h (elf_machine_fixup_plt): Likewise.
Make it an inline function returning value after calling
__elf_machine_fixup_plt().
* elf/dl-sym.c (_dl_vsym): Use DL_SYMBOL_ADDRESS() to obtain the
symbol address.
* elf/dl-symbol.c (_dl_symbol_value): Use LOOKUP_VALUE_ADDRESS to
obtain the symbol address.
* sysdeps/generic/ldsodefs.h: Add generic DL_SYMBOL_ADDRESS() macro
depending on the definition of ELF_FUNCTION_PTR_IS_SPECIAL.
* sysdeps/ia64/dl-machine.h: Add DL_SYMBOL_ADDRESS() macro calling
_dl_symbol_address() - this way DL_SYMBOL_ADDRESS() turns into an
inline on non ia64.
2000-04-28 Jes Sorensen <jes@linuxcare.com>
* elf/dl-runtime.c (fixup): Use the portable macros to get the
symbol address of an object.
* elf/dl-runtime.c (fixup-profile): Use the portable macros to get
the symbol address of an object.
* elf/dl-libc.c (struct do_dlsym_args): Change loadbase to a lookup_t.
* elf/dl-lookup.c (_dl_lookup_symbol): Likewise.
(_dl_lookup_symbol_skip): Likewise.
(_dl_lookup_versioned_symbol): Likewise.
(_dl_lookup_versioned_symbol_skip): Likewise.
2000-04-27 Jes Sorensen <jes@linuxcare.com>
* elf/rtld.c (_dl_start): Get the function pointer return address
via _dl_start_address for architectures that need a function
pointer descriptor rather than just a pointer (ia64).
* sysdeps/generic/dl-lookupcfg.h: New file.
* sysdeps/ia64/dl-lookupcfg.h: New file.
* sysdeps/ia64/dl-machine.h: New file.
* sysdeps/ia64/dl-symaddr.c: New file.
* sysdeps/ia64/dl-fptr.c: New file.
* elf/elf.h: Add IA-64 specific definitions.
|
|
|
|
|
|
|
|
|
|
|
| |
* elf/rtld.c (print_statistics): Move ifndef further up.
(_dl_start_final): Added HP_TIMINIG_NONAVAIL to avoid warnings.
(dl_main): Likewise.
2000-04-20 Andreas Jaeger <aj@suse.de>
* elf/rtld.c (print_statistics): Move ifndef further up.
(_dl_start_final): Added HP_TIMINIG_NONAVAIL to avoid warnings.
(dl_main): Likewise.
|
|
|
|
|
| |
* elf/rtld.c (process_dl_debug): Remove obsolete comment.
* elf/rtld.c (process_dl_debug): Remove obsolete comment.
|
|
|
|
|
| |
* elf/rtld.c: Display statitics option also if hp timing is not
available.
|
|
|
|
|
|
|
|
|
| |
* elf/rtld.c (print_statistics): Added HP_TIMINIG_NONAVAIL where
needed.
2000-04-18 Andreas Jaeger <aj@suse.de>
* elf/rtld.c (print_statistics): Added HP_TIMINIG_NONAVAIL where
needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/generic/hp-timing.h (HP_TIMING_NONAVAIL): Define to
signal timing is not really implemented.
2000-04-17 Andreas Jaeger <aj@suse.de>
* elf/rtld.c (process_dl_debug): Mention statistics in help message.
2000-04-17 Jakub Jelinek <jakub@redhat.com>
* Makefile (install): Use slibdir and libdir instead of inst_slibdir
and inst_libdir.
2000-04-17 Ulrich Drepper <drepper@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
* elf/dl-reloc.c (_dl_relocat_object): Add more __builtin_expect.
* elf/dl-lookup.c: Add more __builtin_expect.
* elf/dl-init.c (_dl_init): Add more __builtin_expect.
* elf/dl-fini.c (_dl_fini): Add more __builtin_expect.
* elf/dl-deps.c (_dl_map_object_deps): Add more __builtin_expect.
* elf/dl-close.c (_dl_close): Add more __builtin_expect.
* elf/rtld.c (_dl_start_final): Add more __builtin_expect.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf/dl-version.c (_dl_check_map_versions): New argument trace_mode.
Before testing versions check that we actually loaded the object
and whether we are in trace mode. If not loaded during tracing don't
test versions in this object.
(_dl_check_all_versions): Take new parameter and pass to
_dl_check_map_versions.
* sysdeps/generic/ldsodefs.h: Update prototypes for
_dl_check_all_versions and _dl_check_map_versions.
* elf/rtld.c (struct version_check_args): Add dotrace.
(version_check_doit): Pass args->dotrace to _dl_check_all_versions.
(dl_main): Pass info about trace mode to version_check_doit.
* elf/dl-open.c (dl_open_worker): Pass zero as new argument to
_dl_check_all_versions.
* manual/users.texi (XPG Functions): Document utmpxname, getutmp,
and getutmpx.
Patch by Bryan Henderson <bryanh@giraffe-data.com>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-04-02 Ulrich Drepper <drepper@redhat.com>
* elf/dl-fini.c (_dl_fini): Increment j counter after swapping in
element at this position.
* elf/Versions [ld.so] (GLIBC_2.2): Export _dl_load_lock.
* elf/link.h (struct link_map): Add l_reldepsmax, l_reldepsact, and
l_reldeps elements.
* elf/dl-lookup.c (add_dependency): New function.
(_dl_lookup_symbol): Use it whenever symbol was found in a global,
dynamically loaded object.
(_dl_lookup_symbol_skip): Likewise.
(_dl_lookup_versioned_symbol): Likewise.
(_dl_lookup_versioned_symbol_skip): Likewise.
* elf/dl-open.c: Don't define _dl_load_lock here...
* elf/rtld.c: ...but here...
* elf/dl-support.c: ...and here.
* elf/dl-close.c (_dl_close): Close also dependent objects introduce
through relocation.
* elf/dl-fini.c (_dl_fini): Also take dependencies introduced through
relocations.
* dlfcn/Makefile (glrefmain.out): Test is not expected to fail
anymore.
* dlfcn/glrefmain.c: Add one more debug message.
* Makeconfig (preprocess-versions): Don't add $(CPPFLAGS) to compiler
command line.
* Makerules (sysd-versions): Use ( ) instead of { }.
* elf/dl-load.c: Use __builtin_expect to signal that compiler should
optimize for the non-debugging case.
* elf/dl-lookup.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-03-23 Andreas Jaeger <aj@suse.de>
* elf/dl-addr.c: Adjust include paths for ldsodefs location
change.
* elf/dl-debug.c: Likewise.
* elf/dl-deps.c: Likewise.
* elf/dl-error.c: Likewise.
* elf/dl-fini.c: Likewise.
* elf/dl-init.c: Likewise.
* elf/dl-load.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-minimal.c: Likewise.
* elf/dl-object.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-preinit.c: Likewise.
* elf/dl-profile.c: Likewise.
* elf/dl-profstub.c: Likewise.
* elf/dl-reloc.c: Likewise.
* elf/dl-runtime.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/dl-symbol.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/rtld.c: Likewise.
* elf/sprof.c: Likewise.
* sysdeps/generic/dl-cache.c: Likewise.
* sysdeps/generic/dl-origin.c: Likewise.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/generic/elf/backtracesyms.c: Likewise.
* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
* sysdeps/powerpc/dl-machine.c: Likewise.
* sysdeps/powerpc/elf/libc-start.c: Likewise.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
* elf/ldsodefs.h: Move file to ...
* sysdeps/generic/ldsodefs.h: ... here.
* sysdeps/generic/ldsodefs.h: Add definition for D_PTR.
* sysdeps/mips/elf/ldsodefs.h: New file.
* elf/dl-version.c (match_symbol): Use D_PTR to access relocated
entries in l_info.
(_dl_check_map_versions): Likewise.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* elf/dl-load.c (_dl_init_paths): Likewise.
(_dl_map_object): Likewise.
* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Likewise.
(elf_get_dynamic_info): Likewise.
* elf/do-lookup.h (FCT): Likewise.
* elf/do-rel.h (elf_dynamic_do_rel): Likewise.
* elf/dl-deps.c (_dl_map_object_deps): Likewise.
* elf/dl-addr.c (_dl_addr): Likewise.
* elf/dl-runtime.c (profile_fixup): Likewise.
(fixup): Likewise.
* elf/dl-init.c (_dl_init_next): Likewise.
* sysdeps/generic/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h
(DISTINGUISH_LIB_VERSIONS): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Likewise.
(elf_machine_rel): Likewise.
* elf/dynamic-link.h (elf_get_dynamic_info): Only change l_info
for writable dynamic section.
|
|
|
|
|
|
|
|
| |
* elf/dl-deps.c (_dl_map_object_deps): Change return type and remove
last parameter. Move code to add map to global scope from here...
* elf/dl-open.c (dl_open_worker): ...here.
* elf/ldsodefs.h: Adjust declaration of _dl_map_object_deps.
* elf/rtld.c: Adjust call to _dl_map_object_deps.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/alpha/syscall.S:
* manual/message.texi (Using gettextized software):
* manual/message.texi (Message Translation): Doc Fixes.
* manual/filesys.texi (File Size):
* manual/charset.texi (glibc iconv Implementation):
* locale/programs/ld-collate.c (collate_output):
* iconv/gconv_db.c (find_derivation):
* manual/install.texi:
* manual/search.texi (Hash Search Function):
* manual/stdio.texi (Output Conversion Syntax):
* FAQ.in:
* config.h.in:
* sysdeps/generic/dl-sysdep.c:
Doc Fixes. `allows to' is not correct English.
* elf/rtld.c: Doc fixes.
* manual/creature.texi (Feature Test Macros): Doc fixes.
* manual/memory.texi (Hooks for Malloc): Doc Fixes.
* manual/filesys.texi (Working Directory): Check for ERANGE to
avoid infloop.
|
|
|
|
|
|
|
|
| |
2000-02-22 Ulrich Drepper <drepper@redhat.com>
* locales/mk_MK: New file.
Contributed by Damjan Georgievski <gdamjan@freemail.org.mk>
* SUPPORTED: Add mk_MK ISO-8859-1.
|
|
|
|
|
|
| |
2000-02-14 Andreas Jaeger <aj@suse.de>
* elf/rtld.c (dl_main): Fix check for references to dynamic linker.
|
|
|
|
|
| |
* Versions: Export __pthread_kill_other_threads_np from libpthread
for GLIBC_2.1.2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* string/bits/string2.h: Fix aliasing problems.
* sysdeps/i386/i486/bits/string.h: Likewise.
* sysdeps/i386/bits/string.h: Likewise.
1998-12-28 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/dl-machine.c: Handle shared library profiling.
* elf/rtld.c (dl_main): Don't call malloc() between
re-relocating the dynamic linker and running the application's crt0.
1999-07-21 Paul D. Smith <psmith@gnu.org>
* sysdeps/generic/glob.c: Move getlogin{,_r} prototypes below
glob.h to get __P() macro.
* posix/fnmatch.c (internal_fnmatch): Use K&R definition syntax,
not ANSI.
(__strchrnul): This won't exist outside GLIBC, so create one.
1999-07-25 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Always define __qaddr_t.
__ino64_t should be 32bit unsigned type on sparc32.
Define __off64_t to __quad_t instead of __int64_t.
Make __pic_pid_t unsigned on sparc32.
1999-07-25 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* localedata/tst-rpmatch.sh: Use "&" instead of "§" to avoid a bug
in bash 2.03.
1999-07-25 Ulrich Drepper <drepper@cygnus.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1999-07-24 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-fini.c: Handle DT_FINI_ARRAY.
* elf/link.h (struct link_map): Remove l_init_running. Add l_runcount
and l_initcount.
* elf/dl-init.c: Handle DT_INIT_ARRAY.
* elf/dynamic-link.h: Change parameters. Now only get link_map
pointer. Calculate l_initcount.
* elf/link.h (struct link_map): Add l_runpath_dirs.
* elf/dynamic-link.h: If RUNPATH is given, set RPATH to NULL.
* elf/dl-load.c: Pretty print.
(decompose_rpath): Take new parameter with info from where the path
comes. Pass it the fillin_rpath.
(_dl_init_paths): Initialize l_runpath_dirs.
(_dl_map_object): Don't search using RPATHs if object has RUNPATH.
Search using RUNPATH after LD_LIBRARY_PATH.
* elf/dl-support.c: Adjust comment.
* elf/rtld.c: Adjust help message.
|
| |
|
|
|
|
|
|
|
|
| |
1999-07-12 Andreas Schwab <schwab@suse.de>
* elf/rtld.c (dl_main): When putting back the interpreter object
handle the case where a missing object might occur in the list of
objects but not in the search list when in trace mode.
|
|
|
|
|
|
| |
* elf/rtld.c: Split _dl_start in two pieces to prevent GOT usage
before the relocation happened.
Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1999-05-11 Ulrich Drepper <drepper@cygnus.com>
* elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_lazy.
* elf/dl-open.c (_dl_open_worker): Only relocate newly loaded objects
lazily if LD_BIND_NOW is not set.
* elf/dl-support.c (_dl_lazy): New variable.
(non_dynamic_init): Set _dl_lazy according to LD_BIND_NOW envvar.
* elf/rtld.c (_dl_lazy): new global variable.
( dl_main): Remove lazy, replace it by _dl_lazy.
1999-05-06 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* locale/setlocale.c (new_composite_name): Check also whether the
first category name differs.
1999-05-11 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/ftime.c: Use the bsd implementation, not
the generic one.
1999-05-11 Philip Blundell <pb@nexus.co.uk>
* sysdeps/generic/bits/socket.h (struct sockaddr_storage): New
structure; storage suitable for any socket address.
* sysdeps/unix/sysv/linux/bits/socket.h (struct sockaddr_storage):
Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h (struct
sockaddr_storage): Likewise.
* inet/netinet/in.h: Use ULONG_MAX not ~0 to test for a 64-bit
platform.
|
|
|
|
|
|
|
|
|
| |
1999-03-29 Ulrich Drepper <drepper@cygnus.com>
* elf/rtld.c (process_envvars): Do not automatically prevent lazy
relocation for SUID binaries.
* misc/regexp.h (compile): Cast some pointers to (char *) to avoid
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1999-02-23 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* malloc/malloc.c (mALLOC_SET_STATe): Handle the case where a
non-checked heap is restored when malloc checking was requested by
the user.
(struct malloc_state): Add using_malloc_checking.
(MALLOC_STATE_VERSION): Increment minor.
(using_malloc_checking, disallow_malloc_check): New variables.
(__malloc_check_init): Use them.
(mALLOC_GET_STATe): Use mALLOc to allocate the malloc_state, so
that it can the chunk is properly instrumented when malloc
checking is enabled. Set the new using_malloc_checking field.
(malloc_hook_ini): Correct signature when _LIBC is not defined.
1999-02-23 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/i386/dl-librecon.h
(DISTINGUISH_LIB_VERSIONS): Don't relocate DT_STRTAB a second
time.
* elf/rtld.c (dl_main): Rename paths_initialized to rtld_is_main.
Don't call elf_get_dynamic_info and _dl_setup_hash a second time
if ld.so is the main program.
* stdio-common/vfprintf.c (vfprintf): If precision or width is too
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf/dynamic-link.h (elf_get_dynamic_info): Take new argument with
load address. Relocate d_ptr in DT_DTRTAB, DT_SYMTAB, DT_RELA, DT_REL,
DT_JMPREL, DT_PLTGOT, and DT_VERSYM l_info entry.
(_ELF_DYNAMIC_DO_RELOC): Take extra argument which specifies whether
rel and rela relocations can both happen and skip one test if this
is not possible.
(ELF_DYNAMIC_DO_RELA, ELF_DYNAMIC_DO_REL): Call _ELF_DYNAMIC_DO_RELOC
appropriately.
* elf/dl-addr.c (_dl_addr): DT_SYMTAB and DT_STRTAB entries are
already relocated.
* elf/dl-deps.c (_dl_map_object_deps): DT_STRTAB entry is already
relocated.
* elf/dl-load.c (_dl_init_paths): DT_STRTAB entry is already relocated.
(_dl_map_object_from_fd): Call elf_get_dynamic_info with new argument.
(_dl_map_object): DT_STRTAB entry is already relocated.
* elf/dl-lookup.c (do_lookup): DT_STRTAB and DT_SYMTAB entries are
already relocated.
* elf/dl-reloc.c (_dl_relocate_object): DT_STRTAB entry is already
relocated.
* elf/dl-runtime.c (fixup): DT_SYMTAB, DT_STRTAB, DT_JMPREL, and
DT_VERSYM entries are already relocated.
(profile_fixup): Likewise.
* elf/dl-version.c: Rename VERSTAG macro into VERSYMIDX. Replace
all users.
(match_symbol): DT_STRTAB entry is already relocated.
(_dl_check_map_versions): Likewise. Also fo DT_VERSYM.
* elf/do-rel.h (elf_dynamic_do_rel): reladdr is now assumed to be
relocated already. DT_SYMTAB and DT_VERSYM entries are also relocated.
* elf/rtld.c (_dl_start): Pass extra argument to elf_get_dynamic_info.
(find_needed): DT_STRTAB entry is already relocated.
(dl_main): Pass extra argument to elf_get_dynamic_info.
DT_STRTAB entry is already relocated.
* sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): DT_JMPREL and
DT_PLTGOT entries are already relocated.
(elf_machine_rela): Likewise for DT_SYMTAB.
* sysdeps/arm/dl-machine.h (elf_machine_rel): DT_STRTAB is already
relocated.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/powerpc/dl-machine.c (__process_machine_rela): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_got_rel): Likewise.
(elf_machine_got_rel): Likewise for DT_SYMTAB and DT_STRTAB.
* grp/initgroups.c (initgroups): If function in current module was
successful don't stop but continue to process to get all the groups.
|
|
|
|
|
|
|
|
|
|
|
| |
* elf/link.h (link_map): Add l_dev and l_ino.
* elf/dl-load.c (_dl_map_object_from_fd): Test dev/ino of newly
loaded shared object with all laoded objects. Initialize l_ino
and l_dev in case it's new.
* elf/rtld.c (dl_main): Explain situation is l_dev/l_ino with main
object.
* elf/Makefile: Compile and run new test.
* elf/multiload.c: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1998-12-27 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-lookup.c (_dl_num_relocations): New variable.
(do_lookup): Increment _dl_num_relocations for every call.
* elf/rtld.c (print_statistics): New function.
(_dl_debug_statistics): New variable. Set when statistics are asked
for.
(rtld_total_time, relocate_time, load_time): New variables. Used
in print_statistics.
(_dl_start): Record start and end time of startup. Call
print_statistics if needed.
(dk_main): Record times for relocations and loading.
(process_dl_debug): Recognize statistics.
Low-level, low-overhead, high-precision timing funcationality.
* sysdeps/generic/hp-timing.h: New file.
* sysdeps/i386/i686/Makefile: New file.
* sysdeps/i386/i686/hp-timing.h: New file.
* sysdeps/i386/i686/hp-timing.c: New file.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Reverse order of OR
clauses to avoid accessing global variables during rtld relocation.
* sunrpc/rpc_main.c: Unify messages.
* sysdeps/unix/sysv/linux/arm/Dist: Add ioperm.c and sys/io.h.
|
|
|
|
|
|
|
| |
1998-11-19 Geoff Keating <geoffk@ozemail.com.au>
* elf/rtld.c (_dl_start): Handle weak undefined symbols in ld.so
correctly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf/rtld.c: Add a few __builtin_expects where they will improve
a lot.
1998-11-05 Ulrich Drepper <drepper@cygnus.com>
1998-11-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* libio/genops.c (_IO_least_marker): Add additional parameter
end_p replacing fp->_IO_read_end.
(save_for_backup): Likewise. All callers changed. Use _IO_size_t
and _IO_ssize_t instead of int.
(_IO_switch_to_main_get_area): Remove use of _IO_save_ptr.
(_IO_switch_to_backup_area): Likewise. Fix comments.
(_IO_seekmark): Undo last change.
(_IO_default_pbackfail): Correct use of backup area.
* libio/libio.h (_IO_FILE_complete): Remove _IO_save_ptr.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* elf/Versions [libc, GLIBC_2.01]: Add _dl_global_scope_alloc.
* elf/dl-open.c (_dl_global_scope_alloc): Move definition to
* elf/dl-deps.c: ...here.
* elf/dl-open.c (dl_open_worker): Call _dl_map_object_deps with
new parameter and expect result. Remove code handling RTLD_GLOBAL.
Add return value of _dl_map_object_deps to
_dl_main_searchlist->r_nlist.
* elf/dl-deps.c (_dl_map_object_deps): Change to return value.
If we parameter GLOBAL is nonzero add object and dependencies to
the global scope.
* elf/ldsodefs.h: Adapt prototype for _dl_map_object_deps.
* elf/rtld.c (dl_main): Call _dl_map_object_deps with new parameter.
Mark all objects as in global scope.
* elf/dl-object.c (_dl_new_object): Initialize l_global to zero.
* sysdeps/unix/sysv/linux/bits/sockunion.h: Add Econet support.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Add .L prefix to symbols
used in macro magic.
1998-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/netatalk/at.h: Include <linux/atalk.h>
before <sys/socket.h> to make sockaddr_at available to
<sys/socket.h>.
* posix/glob.h: Remove __P from parameter lists of declarations.
1998-11-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* time/tzset.c (tz_compute): Remove unused parameter timer.
Change caller.
1998-11-02 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/generic/bits/types.h (__ipc_pid_t): New typedef.
1998-11-02 Ulrich Drepper <drepper@cygnus.com>
|