aboutsummaryrefslogtreecommitdiff
path: root/elf
AgeCommit message (Collapse)Author
2004-01-24(_dl_relocate_object): Move PT_GNU_RELRO protection into... ↵Ulrich Drepper
(_dl_protect_relro): New routine.
2004-01-20Update.Ulrich Drepper
2004-01-20 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/readahead.c (__readahead): Use off64_t instead of loff_t. Include <fcntl.h>. * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Add readahead prototype. * sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/cris/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise. * elf/dl-load.c: Don't add attribute_relro to max_dirnamelen. * sysdeps/generic/inttypes.h: Fix PRI*FAST{16,32} macros. * include/unistd.h (__libc_enable_secure): Mark attribute_relro. (__libc_enable_secure_internal): Likewise. * elf/dl-load.c: Don't declare __libc_stack_end. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise. * sysdeps/generic/segfault.c: Likewise. Include ldsodefs.h. * sysdeps/generic/backtrace.c: Likewise.
2004-01-16Define PT_IA_64_HP_OPT_ANOT, PT_IA_64_HP_HSL_ANOT, and PT_IA_64_HP_STACK.Ulrich Drepper
2004-01-16 * elf/dl-load.c: Don't declare __libc_stack_end. * ↵Richard Henderson
sysdeps/generic/libc-start.c: Likewise. * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise. * sysdeps/generic/segfault.c: Likewise. Include ldsodefs.h. * sysdeps/generic/backtrace.c: Likewise. linuxthreads/ * attr.c: Include ldsodefs.h. (pthread_getattr_np): Don't declare __libc_stack_end. nptl/ * allocatestack.c: Don't declare __libc_stack_end. * init.c (__pthread_initialize_minimal_internal): Likewise. * pthread_getattr_np.c (pthread_getattr_np): Likewise. 2004-01-16 Richard Henderson <rth@redhat.com> * elf/dl-load.c: Don't declare __libc_stack_end. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise. * sysdeps/generic/segfault.c: Likewise. Include ldsodefs.h. * sysdeps/generic/backtrace.c: Likewise.
2004-01-16Update.Ulrich Drepper
2004-01-15 Ulrich Drepper <drepper@redhat.com> * elf/rtld.c: Handle platforms with HP_TIMING_NONAVAIL defined.
2004-01-15Update.Ulrich Drepper
* elf/elf.h: Fix typo in comment.
2004-01-15Update.Ulrich Drepper
* elf/rtld.c: Initialize _dl_argv to allow aliasing.
2004-01-15Update.Ulrich Drepper
2004-01-14 Ulrich Drepper <drepper@redhat.com> * configure.in: Define HAVE_Z_RELRO if the linker supports -z relro. * config.h.in: Add entry for HAVE_Z_RELRO. * include/libc-symbols.h: Define attribute_relro. * elf/dl-load.c: Add attribute_relro to env_path_list, capstr, ncapstr, max_capstrlen, and max_dirnamelen definitions. * elf/rtld.c: Add attribute_relro to _dl_argc, _dl_argv, _dl_skip_args, load_time, start_time, library_path, preloadlist, version_info, any_debug. Remove rtld_total_time. Make it a local variable. Pass pointer to it to print_statistics. Change print_statistics accordingly. * sysdeps/generic/dl-sysdep.c: Add attribute_relro to _dl_auxv. Use attribute_relro instead of explicitly assigning variable to the .data.rel.ro section for __libc_enable_secure and __libc_stack_end. * sysdeps/generic/ldsodefs.h: Declare __libc_stack_end, _dl_argc, _dl_argv, _dl_argv_internal with attribute_relro.
2004-01-14Update.Ulrich Drepper
2004-01-13 Ulrich Drepper <drepper@redhat.com> * sysdeps/x86_64/dl-machine.h: Include <tls.h>. * elf/rtld.c (_dl_start_final): Initialze __libc_stack_end here. * sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with rtld_hidden_def and move into .data.rel.ro section. * sysdeps/generic/ldsodefs.h: Declare __libc_stack_end with rtld_hidden_proto. * sysdeps/generic/libc-start.c: Only initialize __libc_stack_end here if !SHARED. * sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable): Move common code in front. Use __builtin_expect.
2004-01-13Update.Ulrich Drepper
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.
2004-01-13Update.Ulrich Drepper
2004-01-13 Ulrich Drepper <drepper@redhat.com> * Makeconfig: Define relro-LDFLAGS if have-z-relro==yes. Add it to LDFLAGS.so and LDFLAGS-rtld. (+link): Add relro-LDFLAGS. * Makeconfig (shlib.lds): Place __libc_subfreeres, __libc_atexit, and __libc_thread_subfreeres sections after .jcr section. * config.make.in: Add have-z-relro. * configure.in: Add check for -z relro option. * include/link.h (struct link_map): Add relro_addr and relro_size members. * elf/dl-load.c (_dl_map_object_from_fd): Recognize PT_GNU_RELRO. * elf/dl-reloc.c (_dl_relocate_object): At the end, make relro part of loaded segments read-only. * elf/elf.h: Define PT_GNU_RELRO. * elf/rtld.c (_dl_start): Recognize PT_GNU_RELRO of ld.so. (dl_main): Recognize PT_GNU_RELRO of the application. Call _dl_debug_initialize and initialize l_info[DT_DEBUG] before relocations.
2004-01-01Update copyright year.Ulrich Drepper
2003-12-31Update.Ulrich Drepper
2003-12-31 Ulrich Drepper <drepper@redhat.com> * elf/dl-dst.h (DL_DST_REQUIRED): Avoid the complex operations if CNT == 0.
2003-12-29Update.Ulrich Drepper
2003-12-29 Ulrich Drepper <drepper@redhat.com> * elf/elf.h: Add a few definitions from Solaris 9.
2003-12-20Update.Ulrich Drepper
2003-12-20 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/Makefile (CFLAGS-getpid.c): Define. * sysdeps/unix/sysv/linux/getpid.c: New file.
2003-12-17Update.Ulrich Drepper
2003-12-17 Ulrich Drepper <drepper@redhat.com> * elf/rtld.c: Don't use strong_alias to define _rtld_local. This removes the visibility attributes which might be defined earlier for some gcc versions. Instead spell out what strong_alias does plus the visibility.
2003-12-10Update.Ulrich Drepper
2003-12-02 David Mosberger <davidm@hpl.hp.com> * sysdeps/ia64/elf/initfini.c: Add unwind info. * sysdeps/ia64/dl-machine.h (elf_machine_matches_host): Mark with attribute "unused". (elf_machine_dynamic): Mark with attributes "unused" and "const". (elf_machine_runtime_setup): Likewise. * sysdeps/generic/dl-fptr.c (make_fptr_table): Mark with attribute "always_inline". * sysdeps/ia64/dl-machine.h (__ia64_init_bootstrap_fdesc_table): Likewise. * configure.in: Check whether compiler has libunwind support. * config.make.in (have-cc-with-libunwind): New variable. * config.h.in (HAVE_CC_WITH_LIBUNWIND): New macro. * Makeconfig (gnulib): If have-cc-withh-libunwind is "yes", also mention -lunwind. 003-11-12 David Mosberger <davidm@hpl.hp.com> * sysdeps/unix/sysv/linux/ia64/sysdep.h: Define DO_CALL_VIA_BREAK. Redefine DO_CALL to use vdso if supported, otherwise DO_CALL_VIA_BREAK. Likewise for DO_INLINE_SYSCALL. Make INTERNAL_SYSCALL use DO_INLINE_SYSCALL. * sysdeps/unix/sysv/linux/ia64/vfork.S: Use DO_CALL_VIA_BREAK() instead of DO_CALL(). * sysdeps/unix/sysv/linux/ia64/clone2.S: Use break directly instead of DO_CALL(). * sysdeps/unix/sysv/linux/ia64/brk.S (__curbrk): Restructure it to take advantage of DO_CALL() macro. * sysdeps/unix/sysv/linux/ia64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/ia64/getcontext.S: Likewise. * elf/rtld.c (dl_main): Restrict dl_sysinfo_dso check to first program header. On ia64, the check failed previously because there are two program headers. * sysdeps/generic/s_nexttowardf.c: Likewise. * math/bug-nexttoward.c: New file.
2003-11-26Update.Ulrich Drepper
2003-11-21 David Mosberger <davidm@hpl.hp.com> * elf/soinit.c (_fini): Put _fini() in .init_array section if HAVE_INITFINI_ARRAY is defined.
2003-11-26Update.Ulrich Drepper
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.
2003-10-27Update.Ulrich Drepper
* elf/rtld.c (map_doit): Pass __RTLD_OPENEXEC in last parameter to _dl_map_object.
2003-10-27Update.Ulrich Drepper
* elf/sprof.c (load_shobj): Use l_map_start not l_addr to locate ELF header.
2003-10-27Update.Ulrich Drepper
* include/dlfcn.h (__RTLD_OPENEXEC): Define. * elf/dl-load.c (_dl_map_object_from_fd): Don't allow loading executables unless __RTLD_OPENEXEC flag is present. * elf/rtld.c (dl_main): Pass __RTLD_OPENEXEC flag to _dl_map_object when loading the executable. reverse lookup format for IPv6 addresses is using bitstring and * resolv/ns_name.c: Implement encoding and decoding bitstring in
2003-10-22* sysdeps/unix/sysv/linux/hppa/sysdep.h: Fix merge error.Roland McGrath
2003-10-15 Roland McGrath <roland@redhat.com> * elf/dl-iteratephdr.c [! SHARED] (dl_iterate_phdr): New function. Fake an entry for the main executable and then call __dl_iterate_phdr. * elf/Makefile (routines): Remove dl-iteratephdr-static. (elide-routines.os): Likewise. (CFLAGS-dl-iterate-phdr-static.c): Variable removed. * sysdeps/generic/dl-iteratephdr-static.c: File removed. * sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: File removed.
2003-10-15Update.Ulrich Drepper
2003-10-15 Jakub Jelinek <jakub@redhat.com> * elf/rtld.c (print_statistics): Print also number of relative relocations.
2003-10-092003-10-09 Roland McGrath <roland@redhat.com>Roland McGrath
* elf/rtld.c (dl_main): Don't set l_name for sysinfo DSO, since there is no file to name.
2003-10-02Update.Ulrich Drepper
2003-10-01 Thorsten Kukuk <kukuk@suse.de> * elf/dl-reloc.c (_dl_allocate_static_tls): Move definition of variables only used if TLS_DTV_AT_TP is defined into the #if branch.
2003-10-01* elf/rtld.c (dl_main): Add cast in last change.Roland McGrath
2003-09-30Update.Ulrich Drepper
2003-09-30 Ulrich Drepper <drepper@redhat.com> * elf/rtld.c (dl_main): Also set l_map_start. 2003-09-30 Daniel Jacobowitz <drow@mvista.com> * elf/rtld.c (dl_main): Set l_libname and l_name for the sysinfo DSO to work around kernel problem.
2003-09-30Update.Ulrich Drepper
2003-09-27 Wolfram Gloger <wg@malloc.de> * malloc/malloc.c: Include <malloc-machine.h> earlier instead of "thread-m.h", so that default parameters can be overridden in a system-specific malloc-machine.h. Remove extra ; from extern "C" closing brace. * sysdeps/generic/malloc-machine.h: New file. * sysdeps/mach/hurd/malloc-machine.h: New file. * malloc/thread-m.h: Removed. * malloc/Makefile: Remove CFLAGS-malloc.c parameter addition, it is in sysdeps/generic/malloc-machine.h now. * elf/dl-reloc.c (_dl_allocate_static_tls): Move definition of variables only used if TLS_TCB_AT_TP is defined into the #if branch.
2003-09-24Update.Ulrich Drepper
2003-09-24 Ulrich Drepper <drepper@redhat.com> * sysdeps/ia64/dl-machine.h (RTLD_START): Remove setting of __libc_stack_end. Patch by David Mosberger. 2003-09-24 Jakub Jelinek <jakub@redhat.com> * elf/Versions (ld): Export __libc_stack_end@GLIBC_2.1 instead of __libc_stack_end@GLIBC_PRIVATE. * sysdeps/generic/dl-sysdep.c (DL_STACK_END): Define if not defined. (_dl_sysdep_start): Set __libc_stack_end here. * sysdeps/alpha/dl-machine.h (RTLD_START): Remove setting of __libc_stack_end. * sysdeps/arm/dl-machine.h (RTLD_START): Likewise. * sysdeps/cris/dl-machine.h (RTLD_START): Likewise. * sysdeps/i386/dl-machine.h (RTLD_START): Likewise. * sysdeps/m68k/dl-machine.h (RTLD_START): Likewise. * sysdeps/s390/s390-32/dl-machine.h (RTLD_START): Likewise. * sysdeps/s390/s390-64/dl-machine.h (RTLD_START): Likewise. * sysdeps/sh/dl-machine.h (RTLD_START): Likewise. * sysdeps/x86_64/dl-machine.h (RTLD_START): Likewise. * sysdeps/ia64/dl-machine.h (DL_STACK_END): Define. * sysdeps/sparc/sparc32/dl-machine.h (DL_STACK_END): Define. (RTLD_START): Remove setting of __libc_stack_end. * sysdeps/sparc/sparc64/dl-machine.h (DL_STACK_END): Define. (RTLD_START): Remove setting of __libc_stack_end. 2003-09-24 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/sys/sysmacros.h: Add gnu_dev_ prefix to function definitions. Adjust macro expansions accordingly. * sysdeps/unix/sysv/linux/Versions: Add gnu_dev_ prefix to major, minor, makedev name. * sysdeps/unix/sysv/linux/makedev.c: Likewise. 2003-09-24 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sys/sysmacros.h (major, minor, makedev): Add __THROW.
2003-09-24* elf/rtld.c (dl_main): In rtld_is_main case, reinitializeRoland McGrath
GL(dl_stack_flags) according to rtld's own PT_GNU_STACK. Move GL(dl_make_stack_executable_hook) initialization up. * elf/tst-execstack-prog.c: New file. * elf/Makefile (tests-execstack-yes): Add it. (LDFLAGS-tst-execstack-prog): New variable.
2003-09-23* sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end beforeRoland McGrath
calling _dl_start, using GOTOFF access. * configure.in (libc_cv_z_execstack): New check. * configure: Regenerated. * config.make.in (have-z-execstack): New variable set by it. * elf/tst-execstack.c: New file. * elf/tst-execstack-mod.c: New file. * elf/tst-execstack-needed.c: New file. * elf/Makefile (tests-execstack-yes, modules-execstack-yes): New variables. (tests, modules-names): Conditionally include them. (distribute): Add tst-execstack-mod.c here. ($(objpfx)tst-execstack, $(objpfx)tst-execstack.out): New targets. (LDFLAGS-tst-execstack, LDFLAGS-tst-execstack-mod): New variables. ($(objpfx)tst-execstack-needed): New target. (LDFLAGS-tst-execstack-needed): New variable. * 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-09-232003-09-23 Roland McGrath <roland@redhat.com>Roland McGrath
* 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-09-20Update.Ulrich Drepper
* elf/Makefile ($(objpfx)librtld.os): Create link map also for final build to ease quality control.
2003-09-17Update.Ulrich Drepper
2003-09-17 Philip Blundell <philb@gnu.org> * sysdeps/unix/sysv/linux/arm/vfork.S: Branch to fork if libpthread is loaded. Elide backwards compatibility code when not required.
2003-09-16Update.Ulrich Drepper
2003-09-15 Jakub Jelinek <jakub@redhat.com> * argp/argp.h (argp_parse, __argp_parse): Remove __THROW. * argp/Makefile (CFLAGS-argp-help.c, CFLAGS-argp-parse.c): Add $(uses-callbacks). * dirent/Makefile (CFLAGS-scandir.c, CFLAGS-scandir64.c): Likewise. * elf/Makefile (CFLAGS-dl-iterate-phdr.c, CFLAGS-dl-iterate-phdr-static.c): Add $(uses-callbacks). * elf/dl-iteratephdr.c (cancel_handler): New function. (__dl_iterate_phdr): Add __libc_cleanup_{push,pop}. * elf/link.h (dl_iterate_phdr): Remove __THROW. * io/Makefile (CFLAGS-fts.c): Merge into one assignment. Add $(uses-callbacks). (CFLAGS-ftw.c, CFLAGS-ftw64.c): Add $(uses-callbacks). * misc/Makefile (CFLAGS-tsearch.c, CFLAGS-lsearch.c): Change $(exceptions) to $(uses-callbacks). * Makeconfig (uses-callbacks): Set to $(exceptions). * posix/Makefile (CFLAGS-glob.c, CFLAGS-glob64.c): Add $(uses-callbacks). * stdlib/Makefile (CFLAGS-bsearch.c, CFLAGS-msort.c, CFLAGS-qsort.c): Likewise.
2003-09-11Update.Ulrich Drepper
2003-09-11 H.J. Lu <hongjiu.lu@intel.com> * elf/tls-macros.h (TLS_IE): Add a stop bit for ia64. (TLS_LD): Likewise. (TLS_GD): Likewise. 2003-09-11 Jakub Jelinek <jakub@redhat.com> * libio/fileops.c (_IO_new_file_overflow): Add INTUSE to _IO_free_backup_area call.
2003-08-26Update.Ulrich Drepper
2003-08-26 Jakub Jelinek <jakub@redhat.com> * elf/ldconfig.c (search_dir): When checking for GNU-style .so link file use the real file name, not the resolved name we got by following the symlinks.
2003-08-25Update.Ulrich Drepper
2003-08-25 Jakub Jelinek <jakub@redhat.com> * elf/ldconfig.c (search_dir): Treat symlink as regular file if it won't point to itself unless it is .so symlink for the linker.
2003-08-25(save_cache): Don't write beyond end of file_entries buffer. Duplicate last ↵Ulrich Drepper
old cache entry if the count would be odd.
2003-08-25Update.Ulrich Drepper
2003-08-25 Ulrich Drepper <drepper@redhat.com> * elf/ldconfig.c (search_dir): Revert patch of 2003-7-21.
2003-08-14Update.Ulrich Drepper
2003-08-13 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/syscalls.list: Add time syscall. * elf/Makefile: Use LC_ALL=C in a few cases where we call external text processing tools. * sysdeps/pthread/aio_misc.h (struct waitlist): Don't add caller_pid element unless BROKEN_THREAD_SIGNALS is defined. (struct requestlist): Likewise. * sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Don't fill in caller_pid of new request unless BROKEN_THREAD_SIGNALS is defined. * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. * sysdeps/pthread/aio_notify.c (__aio_notify_only): Remove caller_pid parameter unless BROKEN_THREAD_SIGNALS is defined. Adjust callers. Pass current PID to __aio_sigqueue. * sysdeps/pthread/lio_listio.c (lio_listio): Adjust __aio_notify_only call. Don't initialize caller_pid field of waitlist element.
2003-08-08Update.Ulrich Drepper
2003-08-07 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_rtld_lock_recursive and _dl_rtld_unlock_recursive. * elf/rtld.c (rtld_lock_default_lock_recursive, rtld_lock_default_unlock_recursive): New functions. (dl_main): Initialize _dl_rtld_lock_recursive and _dl_rtld_unlock_recursive. 2003-08-05 Jakub Jelinek <jakub@redhat.com> * elf/ldconfig.c (main): Append SLIBDIR and LIBDIR to config_file directories instead of prepending.
2003-07-31Update.Ulrich Drepper
2003-07-31 Jakub Jelinek <jakub@redhat.com> * dlfcn/dlerror.c (once): New. (dlerror): Call __libc_once. (_dlerror_run): Remove once. 2003-07-31 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): Sync with 2.5.7 and 2.5.73 kernel changes. 2003-07-31 Jakub Jelinek <jakub@redhat.com> * dlfcn/eval.c (funcall): Add noinline attribute to shut up warnings. * elf/rtld.c (dl_main): Cast ElfW(Addr) arguments with %Zx/%Zd formats to size_t. * elf/dl-lookup.c (_dl_debug_bindings): Likewise. * elf/tst-tls6.c (do_test): Use %zd format for l_tls_modid. * elf/tst-tls8.c (do_test): Use %zd format for modid1 and modid2. * gmon/tst-sprofil.c (main): Add parens to shut up warning. * iconv/tst-iconv3.c (main): Use %td instead of %zd for pointer difference argument. * stdio-common/tst-wc-printf.c (main): Cast arguments with %C format to wint_t. * stdlib/tst-limits.c (main): For WORD_BIT and LONG_BIT, use %d format and cast expected value to int. * sysdeps/generic/libc-start.c (STATIC): Add __attribute__((always_inline) if LIBC_START_MAIN is already defined. * sysdeps/powerpc/fpu/w_sqrt.c (a_nan, a_inf): Change from uint32_t to ieee_float_shape_type. (__sqrt): Avoid type punning. * sysdeps/powerpc/fpu/w_sqrtf.c (a_nan, a_inf): Change from uint32_t to ieee_float_shape_type. (__sqrtf): Avoid type punning. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Don't define refsym if in dl-conflict.c. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/unix/sysv/linux/i386/semctl.c (union semun): Add __old_buf. (__new_semctl): Shut up warning. * sysdeps/unix/sysv/linux/semctl.c (union semun): Add __old_buf. (__new_semctl): Shut up warning. * sysdeps/unix/sysv/linux/shmctl.c (__new_shmctl): Wrap long lines. Change old into union of __old_shmid_ds and __old_shminfo structs. Adjust all users. * wcsmbs/wcsmbs-tst1.c (main): Cast arguments with %C format to wint_t. 2003-07-31 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/utimes.c (__utimes): Fix actime and modtime computation. * sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise. * sysdeps/posix/utimes.c (__utimes): Likewise.
2003-07-31Update.Ulrich Drepper
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-31(_dl_allocate_static_tls): Don't return any value, call dl_signal_error ↵Ulrich Drepper
directly. If already relocated, call GL(dl_init_static_tls) directly, otherwise queue it for later. (CHECK_STATIC_TLS): Undo 2003-07-24 change.
2003-07-31* elf/dynamic-link.h (elf_machine_rel, elf_machine_rela, ↵Alexandre Oliva
elf_machine_rel_relative, elf_machine_rela_relative): Don't assume reloc_addr is aligned. * sysdeps/alpha/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Adjust. * sysdeps/cris/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/hppa/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Adjust. * sysdeps/ia64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/m68k/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/mips/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela_relative, elf_machine_rela): Adjust. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): * sysdeps/sh/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/x86_64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. 2003-07-31 Alexandre Oliva <aoliva@redhat.com> * elf/dynamic-link.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Don't assume reloc_addr is aligned. * sysdeps/alpha/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Adjust. * sysdeps/cris/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/hppa/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela, elf_machine_rel_relative, elf_machine_rela_relative): Adjust. * sysdeps/ia64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/m68k/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/mips/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela_relative, elf_machine_rela): Adjust. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): * sysdeps/sh/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust. * sysdeps/x86_64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative): Adjust.
2003-07-30revert bogus commitRoland McGrath
2003-07-29* elf/dl-support.c: Likewise.Roland McGrath
2003-07-29* elf/Makefile: Revert accidental changes in last commit.Roland McGrath