Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
* include/link.h: Don't include rtld-lowlevel.h.
(struct link_map): Remove l_scope_lock.
* sysdeps/generic/ldsodefs.h: Don't include rtld-lowlevel.h.
(_dl_scope_free_list): New field (variable) in _rtld_global.
(DL_LOOKUP_SCOPE_LOCK): Remove.
(_dl_scope_free): New prototype.
* elf/dl-runtime.c (_dl_fixup): Don't use __rtld_mrlock_*lock.
Don't pass DL_LOOKUP_SCOPE_LOCK to _dl_lookup_symbol_x.
(_dl_profile_fixup): Likewise.
* elf/dl-sym.c (do_sym): Likewise. Use wrapped _dl_lookup_symbol_x
whenever !RTLD_SINGLE_THREAD_P, use THREAD_GSCOPE_SET_FLAG and
THREAD_GSCOPE_RESET_FLAG around it.
* elf/dl-close.c (_dl_close_worker): Don't use
__rtld_mrlock_{change,done}. Call _dl_scope_free on the old
scope. Make sure THREAD_GSCOPE_WAIT () happens if any old
scopes were queued or if l_scope_mem has been abandoned.
* elf/dl-open.c (_dl_scope_free): New function.
(dl_open_worker): Use it. Don't use __rtld_mrlock_{change,done}.
* elf/dl-support.c (_dl_scope_free_list): New variable.
* elf/dl-lookup.c (add_dependency): Remove flags argument.
Remove DL_LOOKUP_SCOPE_LOCK handling.
(_dl_lookup_symbol_x): Adjust caller. Remove DL_LOOKUP_SCOPE_LOCK
handling.
* elf/dl-object.c (_dl_new_object): Don't use
__rtld_mrlock_initialize.
|
|
* elf/do-lookup.h (do_lookup_x): Read r_nlist before r_list and
make sure gcc doesn't mess around with this.
2007-06-08 Ulrich Drepper <drepper@redhat.com>
* elf/dl-lookup.c (_dl_lookup_symbol_x): Remove use of r_nlist.
2007-06-08 Jakub Jelinek <jakub@redhat.com>
* elf/dl-close.c (_dl_close_worker): Remove all to be removed
libraries from the global scope at once and call THREAD_GSCOPE_WAIT
2007-05-18 Ulrich Drepper <drepper@redhat.com>
* elf/dl-close.c (_dl_close_worker): When removing object from
global scope, wait for all lookups to finish afterwards.
* elf/dl-open.c (add_to_global): When global scope array must
grow, allocate a new one and free old array only after all
lookups finish.
* elf/dl-runtime.c (_dl_fixup): Protect using global scope.
(_dl_lookup_symbol_x): Likewise.
* elf/dl-support.c: Define _dl_wait_lookup_done.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Add
_dl_wait_lookup_done.
nptl/
2007-05-28 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/tls.h (THREAD_GSCOPE_RESET_FLAG): Use explicit
insn suffix.
(THREAD_GSCOPE_GET_FLAG): Remove.
* sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Remove.
* allocatestack.c (__wait_lookup_done): Revert 2007-05-24
changes.
* sysdeps/powerpc/tls.h (tcbhead_t): Remove gscope_flag.
(THREAD_GSCOPE_GET_FLAG): Remove.
(THREAD_GSCOPE_RESET_FLAG): Use THREAD_SELF->header.gscope_flag
instead of THREAD_GSCOPE_GET_FLAG.
(THREAD_GSCOPE_SET_FLAG): Likewise. Add atomic_write_barrier after
it.
* sysdeps/s390/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT,
THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
THREAD_GSCOPE_WAIT): Define.
* sysdeps/sparc/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT,
THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
THREAD_GSCOPE_WAIT): Define.
* sysdeps/sh/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT,
THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
THREAD_GSCOPE_WAIT): Define.
* sysdeps/ia64/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT,
THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
THREAD_GSCOPE_WAIT): Define.
2007-05-24 Richard Henderson <rth@redhat.com>
* descr.h (struct pthread): Add header.gscope_flag.
* sysdeps/alpha/tls.h (THREAD_GSCOPE_FLAG_UNUSED,
THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT,
THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG,
THREAD_GSCOPE_WAIT): Define.
2007-05-26 Ulrich Drepper <drepper@redhat.com>
* allocatestack.c: Revert last change.
* init.c: Likewise.
* sysdeps/i386/tls.h: Likewise.
* sysdeps/x86_64/tls.h: Likewise.
2007-05-24 Jakub Jelinek <jakub@redhat.com>
* sysdeps/powerpc/tls.h (tcbhead_t): Add gscope_flag.
(THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED,
THREAD_GSCOPE_FLAG_WAIT): Define.
(THREAD_GSCOPE_GET_FLAG, THREAD_GSCOPE_SET_FLAG,
THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_WAIT): Define.
* sysdeps/i386/tls.h (THREAD_GSCOPE_WAIT): Don't use
PTR_DEMANGLE.
(THREAD_GSCOPE_GET_FLAG): Define.
* sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Define.
* allocatestack.c (__wait_lookup_done): Use THREAD_GSCOPE_GET_FLAG
instead of ->header.gscope_flag directly.
2007-05-21 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
Remove ptr_wait_lookup_done again.
* init.c (pthread_functions): Don't add .ptr_wait_lookup_done here.
(__pthread_initialize_minimal_internal): Initialize
_dl_wait_lookup_done pointer in _rtld_global directly.
* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
Remove code to code _dl_wait_lookup_done.
* sysdeps/x86_64/tls.h (THREAD_GSCOPE_WAIT): The pointer is not
encrypted for now.
2007-05-19 Ulrich Drepper <drepper@redhat.com>
* allocatestack.c (__wait_lookup_done): New function.
* sysdeps/pthread/pthread-functions.h (struct pthread_functions):
Add ptr_wait_lookup_done.
* init.c (pthread_functions): Initialize .ptr_wait_lookup_done.
* pthreadP.h: Declare __wait_lookup_done.
* sysdeps/i386/tls.h (tcbhead_t): Add gscope_flag.
Define macros to implement reference handling of global scope.
* sysdeps/x86_64/tls.h: Likewise.
* sysdeps/unix/sysv/linux/libc_pthread_init.c (__libc_pthread_init):
Initialize GL(dl_wait_lookup_done).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fedora-branch
|
|
2004-07-05 Ulrich Drepper <drepper@redhat.com>
* elf/dl-init.c: Don't define and use _dl_starting_up if
HAVE_INLINED_SYSCALLS is defined and the variable is not used.
* elf/dl-support.c: Likewise.
* elf/rtld.c: Likewise.
* elf/dl-misc.c (_dl_debug_vdprintf): Use writev syscall directly
if HAVE_INLINED_SYSCALLS is defined.
* sysdeps/powerpc/powerpc64/dl-machine.h: Don't rest _dl_starting_up
here.
* sysdeps/powerpc/powerpc32/dl-start.S: Likewise.
* sysdeps/unix/sysv/linux/configure.in: Define HAVE_INLINED_SYSCALLS.
* config.h.in: Add entry for HAVE_INLINED_SYSCALLS.
* sysdeps/posix/profil.c: If compiled for ld.so, omit code which
is needed to stop profiling.
* elf/dl-open.c (dl_open_worker): If a newly opened object is to be
profile make sure it cannot be unloaded.
* sysdeps/unix/sysv/linux/dl-origin.c: Inline readlink syscall.
* sysdeps/unix/sysv/linux/fcntl.c: If compiled without cancellation
support, make sure the helper function is inlined.
* sysdeps/unix/sysv/linux/pread.c: Likewise.
* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Likewise.
|
|
2004-03-06 Ulrich Drepper <drepper@redhat.com>
* elf/dl-open.c: No need to pass any parameter to _dl_start_profile.
They are the same in both places.
* elf/dl-profile.c: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* elf/dl-support.c: Define _dl_profile_output variable. Initialize it.
|
|
* sysdeps/sparc/sparc64/dl-machine.h: Likewise.
* sysdeps/sparc/sparc32/dl-machine.h: Likewise.
* sysdeps/s390/s390-64/dl-machine.h: Likewise.
* sysdeps/s390/s390-32/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc64/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc32/dl-machine.c: Likewise.
* sysdeps/m68k/dl-machine.h: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/arm/dl-machine.h: Likewise.
* sysdeps/alpha/dl-machine.h: Likewise.
|
|
2004-01-26 David Mosberger <davidm@hpl.hp.com>
* elf/link.h (struct dl_phdr_info): Fix typo in comment.
* elf/rtld.c (dl_main): After incrementing dl_nloaded, also
increment dl_load_adds.
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Replace GL(dl_load_subs)
with equivalent GL(dl_load_adds - GL(dl_nloaded).
(dl_iterate_phdr): Likewise.
* elf/dl-close.c (_dl_close): Delete increment of GL(dl_load_subs).
* elf/dl-support.c: Remove global variable _dl_load_subs.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
_dl_load_subs member.
2004-01-27 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (_dl_start_final): Don't set l_relro_* here.
(_dl_start): And neither here.
(dl_main): Set GL(dl_loaded)->l_relro_* and
GL(dl_rtld_map)->l_relro_*.
|
|
2004-01-23 David Mosberger <davidm@hpl.hp.com>
* sysdeps/generic/ldsodefs.h (struct rtld_global): Add members
_dl_load_adds and _dl_load_subs.
* elf/dl-support.c (_dl_load_adds): New variable.
(_dl_load_subs): Likewise.
* elf/dl-object.c (_dl_new_object): Increment dl_load_adds.
* elf/dl-close.c (_dl_close): Increment dl_load_subs.
* elf/link.h (struct dl_phdr_info): Add members dlpi_adds and
dlpi_subs.
* include/link.h: Likewise.
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Initialize dlpi_adds
and dlpi_subs members.
(dl_iterate_phdr): Likewise.
* elf/tst-dlmodcount.c: New file.
* elf/Makefile (distribute): Mention tst-dlmodcount.c.
(tests): If build-shared, mention tst-dlmodcount.
($(objpfx)tst-dlmodcount): If build-shared, build and
run tst-dlmodcount.
|
|
2004-01-13 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/dl-execstack.c: Change interface. Add
challenge for caller.
* sysdeps/generic/ldsodefs.h: Change declaration and type of hook
member in rtld_global appropriately.
* elf/dl-support.c: Likewise.
* elf/dl-load.c (_dl_map_object_from_fd): Take additional paramter.
Pass it on to the changed function.
(_dl_map_object): Pass new parameter to _dl_map_object_from_fd.
|
|
2003-11-25 Ulrich Drepper <drepper@redhat.com>
* posix/runptests.c (main): Make errors fatal.
* posix/PTESTS: One test in GA135 and GA136 check functionality
which seems not guaranteed.
2003-11-25 Jakub Jelinek <jakub@redhat.com>
* posix/regexec.c (re_search_internal): If prune_impossible_nodes
returned REG_NOMATCH, set match_last to -1. Don't initialize
pmatch[0] needlessly. Fix comment.
(prune_impossible_nodes): Don't segfault on NULL state_log entry.
(set_regs): Fix comment.
* posix/regcomp.c (parse_bracket_exp): Only set has_plural_match
if adding both SIMPLE_BRACKET and COMPLEX_BRACKET.
(build_charclass_op): Set has_plural_match if adding both
SIMPLE_BRACKET and COMPLEX_BRACKET.
* posix/bug-regex11.c (tests): Fix register values for one commented
out test. Add new tests.
* posix/regex_internal.c (re_string_allocate): Make sure init_len
is at least dfa->mb_cur_max.
(re_string_reconstruct): If is_utf8, don't fall back into
re_string_skip_chars just because idx points into a middle of
valid UTF-8 character. Instead, set the wcs bytes which correspond
to the partial character bytes to WEOF.
* posix/regexec.c (re_search_internal): Allocate input.bufs_len + 1
instead of dfa->nodes_len + 1 state_log entries initially.
* posix/bug-regex20.c (main): Uncomment backwards case insensitive
tests.
|
|
* sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_stack_flags
and _dl_make_stack_executable_hook. Declare _dl_make_stack_executable.
* elf/rtld.c (_rtld_global): Add initializer for _dl_stack_flags.
(dl_main): Reset _dl_stack_flags according to PT_GNU_STACK phdr.
Initialize _dl_make_stack_executable_hook.
* elf/dl-support.c: Define those new variables.
(_dl_non_dynamic_init): Scan phdrs for PT_GNU_STACK.
(_dl_phdr): Fix type.
* elf/dl-load.c (_dl_map_object_from_fd): Grok PT_GNU_STACK phdr and
enable execute permission for the stack if necessary.
* sysdeps/generic/dl-execstack.c: New file.
* elf/Makefile (dl-routines): Add it.
* elf/Versions (ld: GLIBC_PRIVATE): Add _dl_make_stack_executable.
* sysdeps/unix/sysv/linux/dl-execstack.c: New file.
|
|
2003-07-30 Jakub Jelinek <jakub@redhat.com>
* elf/dl-reloc.c (_dl_allocate_static_tls): Don't return any value,
call dl_signal_error directly. If already relocated, call
GL(dl_init_static_tls) directly, otherwise queue it for later.
(CHECK_STATIC_TLS): Undo 2003-07-24 change.
* elf/rtld.c (dl_main): Initialize GL(dl_init_static_tls).
* elf/dl-open.c (dl_open_worker): Call GL_dl_init_static_tls
for all static TLS initializations delayed in _dl_allocate_static_tls.
* elf/dl-support.c (_dl_init_static_tls): New variable.
* include/link.h (struct link_map): Add l_need_tls_init.
* sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_init_static_tls.
(_dl_nothread_init_static_tls): New prototype.
(_dl_allocate_static_tls): Adjust prototype.
* elf/tls-macros.h (VAR_INT_DEF): Add alignment directive.
elf_machine_rela_relative): Adjust.
(CHECK_STATIC_TLS): _dl_allocate_static_tls can fail now.
|
|
|
|
|
|
2003-07-22 H.J. Lu <hongjiu.lu@intel.com>
* elf/dl-support.c (_dl_hwcap): New variable.
(_dl_aux_init): Initialize GL(dl_hwcap) for static binaries.
* sysdeps/i386/fpu/fclrexcpt.c: Include <unistd.h>, <ldsodefs.h>
and <dl-procinfo.h>.
(__feclearexcept): Clear MXCSR if needed.
* sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
* sysdeps/i386/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Document
that newer hardware needs more than these macros.
* sysdeps/i386/setfpucw.c: New file.
2003-07-22 Jakub Jelinek <jakub@redhat.com>
* elf/Makefile (CFLAGS-ldconfig.c): Define IS_IN_ldconfig.
* elf/ldconfig.c: Include dl-procinfo.c.
(PROCINFO_CLASS): Define.
* sysdeps/generic/ldsodefs.h (PROCINFO_CLASS): Define.
* sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: New file.
* sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: New file.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.c (PROCINFO_CLASS):
Define if not yet defined. Use it instead of EXTERN. Undefine
at the end of the file.
* sysdeps/unix/sysv/linux/arm/dl-procinfo.c (PROCINFO_CLASS):
Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c
(PROCINFO_CLASS): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c
(PROCINFO_CLASS): Likewise.
2003-07-22 H.J. Lu <hongjiu.lu@intel.com>
* elf/ldconfig.c (main): Issue a fatal error if relative path
is used to build cache.
2003-07-22 Ulrich Drepper <drepper@redhat.com>
* elf/readlib.c (process_file): Avoid possible overflow in assignment.
|
|
* elf/elf.h (AT_SECURE): New macro.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Grok it,
set __libc_enable_secure.
(_dl_show_auxv): Add AT_SECURE to name table.
* elf/dl-support.c (_dl_aux_init): Grok AT_SECURE, set
__libc_enable_secure and __libc_enable_secure_decided.
* sysdeps/unix/sysv/linux/ldsodefs.h
[__ASSUME_AT_SECURE] (HAVE_AUX_SECURE): Define it.
* sysdeps/unix/sysv/linux/kernel-features.h
[__LINUX_KERNEL_VERSION >= 132425] (__ASSUME_AT_SECURE): Define it.
|
|
* sysdeps/generic/enbl-secure.c (__libc_enable_secure_decided): New
variable.
(__libc_init_secure): Don't do anything if __libc_enable_secure_decided
is nonzero.
* include/unistd.h: Declare __libc_enable_secure_decided.
* elf/dl-support.c (_dl_aux_init): Recognize AT_UID, AT_EUID, AT_GID,
and AT_EGID. If all found, set __libc_enable_secure and
__libc_enable_secure_decided.
|
|
2003-04-22 Roland McGrath <roland@redhat.com>
* elf/elf.h (AT_SYSINFO_EHDR): New macro, replaces AT_SYSINFO_EH_FRAME.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
dl_sysinfo_eh_frame member, add dl_sysinfo_dso member instead.
* elf/dl-support.c: Update defn.
* sysdeps/generic/libc-start.c: Don't call __register_frame_info_bases.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
Set GL(dl_sysinfo_dso) from AT_SYSINFO_EHDR.
(_dl_show_auxv): Grok AT_SYSINFO_EHDR, not AT_SYSINFO_EH_FRAME.
* elf/rtld.c (dl_main) [NEED_DL_SYSINFO]: If GL(dl_sysinfo_dso) is
set, set up a link_map for the preloaded, prelinked object.
|
|
2003-04-15 Ulrich Drepper <drepper@redhat.com>
* elf/elf.h: Define AT_SYSINFO_EH_FRAME.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle
AT_SYSINFO_EH_FRAME.
(_dl_show_auxv):Display AT_SYSINFO_EH_FRAME value.
* sysdeps/generic/ldsodefs.h [NEED_DL_SYSINFO] (struct rtld_global):
Add _dl_sysinfo_eh_frame field.
* elf/dl-support.c [NEED_DL_SYSINFO]: Define _dl_sysinfo_eh_frame.
* sysdeps/generic/libc-start.c [NEED_DL_SYSINFO] Define eh_obj
variable.
[NEED_DL_SYSINFO] (LIBC_START_MAIN): Call __register_frame_info_bases
if _dl_sysinfo_eh_frame is non-NULL.
* Makeconfig (gnulib): Add -lgcc_eh.
* config.h.in: Define HAVE_FORCED_UNWIND.
|
|
|
|
2003-01-07 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (_rtld_global): Remove _dl_dynamic_weak initializer.
* elf/dl-support.c (_dl_dynamic_weak): Initialize to 0.
|
|
2002-12-18 Ulrich Drepper <drepper@redhat.com>
* elf/dl-support.c [NEED_DL_SYSINFO]: Define and initialize
_dl_sysinfo.
[DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
code.
* elf/rtld.c [DL_NEED_SYSINFO]: Initialize _dl_sysinfo element of
_rtld_global.
[DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
code.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
Check for AT_SYSINFO and set _dl_sysinfo appropriately.
* sysdeps/generic/ldsodefs.h (struct rtld_global) [NEED_DL_SYSINFO]:
Add _dl_sysinfo.
|
|
and move contents to ...
(EXTRA_LD_ENVVARS_LINUX): ... this new macro. Add break for nonmatch.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Use
it instead of duplicating its contents.
(EXTRA_LD_ENVVARS): Likewise. Add break for nonmatch.
2002-12-09 Jakub Jelinek <jakub@redhat.com>
* elf/dl-support.c (_dl_non_dynamic_init): Add DL_OSVERSION_INIT if
defined.
* sysdeps/unix/sysv/linux/dl-librecon.h (_dl_osversion_init): New
function.
(EXTRA_LD_ENVVARS): Use it.
(DL_OSVERSION_INIT): Define.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Include linux
dl-librecon.h.
(EXTRA_LD_ENVVARS): Undef before defining. Use _dl_osversion_init.
|
|
2002-12-06 Ulrich Drepper <drepper@redhat.com>
* misc/syslog.c (log_cleanup): New function.
(openlog): Use log_cleanup instead of __libc_mutex_unlock.
(closelog): Likewise.
* elf/dl-close.c: Use __rtld_lock_* macros instead of __libc_lock_*.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-misc.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/generic/bits/libc-lock.h: Define __rtld_lock_* macros.
* sysdeps/mach/bits/libc-lock.h: Likewise.
* sysdeps/mach/hurd/bits/libc-lock.h: Likewise.
* dirent/bug-readdir1.c (main): Don't call closedir, just close
|
|
Remove AC_LANG(C) call, instead just define([_AC_LANG], [C]).
* elf/dl-support.c: Move _dl_tls_* variables to ...
* sysdeps/generic/libc-tls.c: ... here.
* elf/dl-close.c (remove_slotinfo): Take new argument. If false,
allow IDX to be one past the current last slotinfo entry.
(_dl_close): Pass IMAP->l_init_called for that parameter.
|
|
Initialize _dl_phdr and _dl_phnum from aux vector.
|
|
2002-02-24 Ulrich Drepper <drepper@redhat.com>
* elf/dl-support.c (_dl_non_dynamic_init): Renamed from
non_dynamic_init and exported now.
* sysdeps/unix/sysv/linux/ldsodefs.h: Declare _dl_non_dynamic_init.
* sysdeps/unix/sysv/linux/init-first.c: Call _dl_non_dynamic_init for
!SHARED.
* sysdeps/mach/hurd/i386/init-first.c: Likewise.
* sysdeps/mach/hurd/powerpc/init-first.c: Likewise.
* sysdeps/mach/hurd/mips/init-first.c: Likewise.
|
|
2002-02-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/dl-tls.c (TLS_DTV_UNALLOCATED): Renamed from
TLS_DTV_UNALLOCATE.
(oom): New function.
(_dl_next_tls_modid): Rewrite to handle dl_tls_dtv_slotinfo_list.
(_dl_determine_tlsoffset): Likewise.
(_dl_allocate_tls): Likewise.
(__TLS_GET_ADDR): Define if not already defined.
(_dl_tls_symaddr): New function.
(allocate_and_init): New function.
(__tls_get_addr): Actually implement handling of generation counter
and deferred allocation.
* sysdeps/generic/ldsodefs.h (_rtld_global): Remove _dl_initimage_list,
add _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
_dl_tls_generation.
Define TLS_SLOTINFO_SURPLUS and DTV_SURPLUS.
Declare _dl_tls_symaddr.
* sysdeps/i386/dl-tls.h: Disable __tls_get_addr handling unless
SHARED.
* include/link.h (struct link_map): Remove l_tls_nextimage and
l_tls_previmage.
* elf/dl-sym.c (_dl_sym): After successful lookup call _dl_tls_symaddr
instead of DL_SYMBOL_ADDRESS for STT_TLS symbols.
(_dl_vsym): Likewise.
* elf/rtld.c (_dl_start_final): Adjust initdtv initialization for new
layout.
(dl_main): Allow PT_TLS be present for empty segment. Remove
nextimage list handling. Instead add all modules using TLS to
dl_tls_dtv_slotinfo_list.
* elf/dl-open.c (dl_open_worker): After successfully loading all
objects add those with TLS to the dl_tls_dtv_slotinfo_list list.
* elf/dl-load.c (_dl_map_object_from_fd): If PT_TLS entry is for an
empty segment don't do anything. Remove handling of initimage list.
* elf/Versions [ld] (GLIBC_2.0): Add __libc_memalign.
(GLIBC_PRIVATE): Add _dl_tls_symaddr.
* elf/dl-minimal.c: Define __libc_memalign.
* elf/dl-support.c: Remove _dl_initimage_list. Add
_dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and
_dl_tls_generation.
* include/stdlib.h: Declare __libc_memalign.
* elf/Makefile: Add rules to build and run tst-tls4 and tst-tls5.
* elf/tst-tls4.c: New file.
* elf/tst-tls5.c: New file.
* elf/tst-tlsmod2.c: New file.
* elf/tls-macros.h: asms using ___tls_get_addr destroy %ecx and %edx.
* elf/tst-tlsmod1.c: Don't define variables unles USE_TLS.
* elf/tst-tls1.c: Use test-skeleton.c.
* elf/tst-tls2.c: Likewise.
* elf/tst-tls3.c: Likewise.
* elf/dl-conflict.c (RESOLVE_MAP): Return NULL not 0.
* sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC behavior.
|
|
2002-02-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Account for
alignment of the TCB and store total size and alignment of static
TLS block in _dl_tls_static_size and _dl_tls_static_align.
tls_index is a typedef.
* sysdeps/generic/ldsodefs.h: Declare _dl_tls_static_size and
_dl_tls_static_align.
* sysdeps/i386/dl-tls.h: tls_index is a typedef.
* elf/dl-support.c: Define _dl_tls_static_size and
_dl_tls_static_align.
|
|
2002-02-06 Ulrich Drepper <drepper@redhat.com>
* Versions.def [ld]: Add GLIBC_2.3.
* elf/Versions [ld]: Add __tls_get_addr to GLIBC_2.3.
* elf/Makefile (dl-routines): Add dl-tls.
(distribute): Add dl-tls.h.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Remove
_dl_tls_module_cnt, add _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps.
Add prototypes for _dl_next_tls_modid and _dl_determine_tlsoffset.
* elf/dl-load.c (_dl_map_object_from_fd): Store alignment requirement
along with the other info in the link map. Change queueing of init
images for double linked list. Use _dl_next_tls_modid to compute
l_tls_modid.
* elf/rtld.c (_dl_start_final): Store alignment requirement
along with the other info in rtld map and executable map.
(dl_main): Add ld.so to the init image list if necessary. Compute
final module ID with _dl_next_tls_modid.
* include/link.h (struct link_map): Add l_tls_previmage and
l_tls_align.
* eld/dl-support.c: Define _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps.
* sysdeps/i386/elf/Versions: New file.
* sysdeps/generic/dl-tls.c: New file.
* sysdeps/generic/dl-tls.h: New file.
* sysdeps/i386/dl-tls.h: New file.
attribute((packed)) to counter stupid people misusing gcc options.
|
|
* elf/dl-load.c (_dl_map_object_from_fd): Handle PT_TLS program
header entry.
* elf/dl-support.c: Define _dl_initimage_list and _dl_tls_module_cnt.
|
|
* elf/dl-minimal.c: Define _itoa for 32-bit machines with HP timing.
* elf/dl-reloc.c: Pretty printing.
* sysdeps/generic/ldsodefs.h: Move _dl_hp_timing_overhead and
procinfo-related variables in rtld_global struct.
* elf/dl-support.c: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/i386/i686/Makefile: Likewise.
* sysdeps/i386/i686/hp-timing.c: Likewise.
* sysdeps/i386/i686/hp-timing.h: Likewise.
* sysdeps/ia64/Makefile: Likewise.
* sysdeps/ia64/hp-timing.c: Likewise.
* sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
* sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Likewise.
* sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise.
* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Likewise.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise.
* sysdeps/x86_64/Makefile: Likewise.
|
|
* sysdeps/generic/ldsodefs.h: Add _dl_load_lock, _dl_lazy,
_dl_dynamic_weak, _dl_fpu_control, _dl_cpuclock_offset, and
_dl_debug_fd to rtld_global.
* elf/Versions: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-misc.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/do-lookup.h: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/dl-cache.c: Likewise.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/ia64/Versions: Likewise.
* sysdeps/unix/clock_gettime.c: Likewise.
* sysdeps/unix/clock_settime.c: Likewise.
* sysdeps/unix/sysv/linux/init-first.c: Likewise.
* sysdeps/sparc/Versions: Removed.
* sysdeps/i386/i686/Versions : Removed.
* sysdeps/x86_64/Versions: Removed.
* configure.in: Define HAVE_PROTECTED if .protected is available.
* config.h.in: Add entry for HAVE_PROTECTED.
2002-01-31 Jakub Jelinek <jakub@redhat.com.
* sysdeps/alpha/dl-machine.h: Move global variables for SHARED
code in struct _rtld_global. Export this struct, remove all
exports for the signal variables.
* sysdeps/arm/dl-machine: Likewise.
* sysdeps/generic/dl-origin: Likewise.
* sysdeps/generic/dl-sysdep: Likewise.
* sysdeps/generic/dl-cache: Likewise.
* sysdeps/hppa/dl-fptr: Likewise.
* sysdeps/hppa/dl-machine: Likewise.
* sysdeps/cris/dl-machine: Likewise.
* sysdeps/i386/dl-machine: Likewise.
* sysdeps/ia64/dl-machine: Likewise.
* sysdeps/m68k/dl-machine: Likewise.
* sysdeps/mach/hurd/dl-sysdep: Likewise.
* sysdeps/mips/mips64/dl-machine: Likewise.
* sysdeps/mips/dl-machine: Likewise.
* sysdeps/powerpc/elf/libc-start: Likewise.
* sysdeps/powerpc/dl-machine: Likewise.
* sysdeps/powerpc/dl-start: Likewise.
* sysdeps/sparc/sparc32/dl-machine: Likewise.
* sysdeps/sparc/sparc64/dl-machine: Likewise.
* sysdeps/sh/dl-machine: Likewise.
* sysdeps/s390/s390-32/dl-machine: Likewise.
* sysdeps/s390/s390-64/dl-machine: Likewise.
* sysdeps/unix/sysv/aix/libc-start: Likewise.
* sysdeps/unix/sysv/aix/start-libc: Likewise.
* sysdeps/unix/sysv/linux/ia64/dl-static: Likewise.
* sysdeps/unix/sysv/linux/m68k/getpagesize: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize: Likewise.
* sysdeps/x86_64/dl-machine: Likewise.
2002-01-31 Ulrich Drepper <drepper@redhat.com>
|
|
2002-01-30 Ulrich Drepper <drepper@redhat.com>
* Versions.def [ld]: Add GLIBC_2.3.
* elf/dl-addr.c: Move global variables for SHARED code in struct
_rtld_global. Export this struct, remove all exports for the
signal variables.
* elf/dl-close.c: Likewise.
* elf/dl-conflict.c: Likewise.
* elf/dl-debug.c: Likewise.
* elf/dl-deps.c: Likewise.
* elf/dl-dst.h: Likewise.
* elf/dl-error.c: Likewise.
* elf/dl-fini.c: Likewise.
* elf/dl-init.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-libc.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-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-sym.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/do-lookup.h: Likewise.
* elf/do-rel.h: Likewise.
* elf/dynamic-link.h: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/dl-cache.c: Likewise.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* sysdeps/i386/dl-machine.h: Likewise.
* sysdeps/ia64/dl-fptr.c: Likewise.
* sysdeps/ia64/dl-machine.h: Likewise.
* sysdeps/unix/sysv/linux/dl-librecon.h: Likewise.
* sysdeps/unix/sysv/linux/dl-origin.c: Likewise.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
* sysdeps/unix/sysv/linux/getclktck.c: Likewise.
* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise.
* malloc/thread-m.h: Spinlock definitions for x86/x86_64.
|
|
2001-08-31 Richard Henderson <rth@redhat.com>
* elf/dl-support.c (_dl_cpuclock_offset): Protect with NONAVAIL.
(HP_TIMING_AVAIL): Set to HP_SMALL_TIMING_AVAIL if present.
* elf/rtld.c (HP_TIMING_AVAIL): Likewise.
(print_statistics): Make scalar unsigned long long.
* sysdeps/alpha/hp-timing.h: New file.
2001-08-31 Jakub Jelinek <jakub@redhat.com>
* stdio-common/perror.c (perror): Save errno early, pass it
down to perror_internal.
(perror_internal): Add errnum argument.
2001-08-31 Jakub Jelinek <jakub@redhat.com>
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Remove unused code.
Don't add old memory content for R_ALPHA_REFQUAD.
|
|
|
|
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
|