about summary refs log tree commit diff
path: root/elf
Commit message (Collapse)AuthorAgeFilesLines
* Add non-PIC TLS macros and fix clobber list for SH.Ulrich Drepper2003-02-081-12/+78
|
* Update.Ulrich Drepper2003-02-071-3/+3
| | | | | | | 2003-02-07 Ulrich Drepper <drepper@redhat.com> * elf/dl-runtime.c (fixup): Correct typo in version index computation. (profile_fixup): Likewise.
* Update.Ulrich Drepper2003-02-021-2/+2
| | | | | | 2003-02-02 Jakub Jelinek <jakub@redhat.com> * elf/tls-macros.h [sparc] (TLS_LD, TLS_GD): Add "cc" clobbers.
* Update.Ulrich Drepper2003-01-303-17/+42
| | | | | | | | | | | | | | | | | | | | 2003-01-30 Jakub Jelinek <jakub@redhat.com> * sysdeps/alpha/tls.h (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC): Avoid warnings about unused self variable. * sysdeps/ia64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC): Likewise. * sysdeps/s390/s390-32/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC): Likewise. * sysdeps/s390/s390-64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC): Likewise. * sysdeps/sh/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC): Likewise. * sysdeps/sparc/sparc32/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC): Likewise. * sysdeps/sparc/sparc64/pt-machine.h (THREAD_GETMEM, THREAD_GETMEM_NC, THREAD_SETMEM, THREAD_SETMEM_NC): Likewise.
* (_dl_aux_init): Handle AT_SYSINFO.Ulrich Drepper2003-01-301-0/+5
|
* Update.Ulrich Drepper2003-01-282-28/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-27 Martin Schwidefsky <schwidefsky@de.ibm.com> * elf/elf.h: Add new s390 relocs. * elf/tls-macros.h: Add s390 versions. * sysdeps/s390/Versions [GLIBC_2.3] (ld): Export __tls_get_offset. * sysdeps/s390/dl-tls.h: New file. * sysdeps/s390/libc-tls.c: New file. * sysdeps/s390/s390-32/dl-machine.h (elf_machine_type_class): Add TLS relocs for class PLT. (elf_machine_rela): Handle TLS relocs. * sysdeps/s390/s390-64/dl-machine.h: Likewise. * sysdeps/s390/s390-32/elf/configure.in: Add TLS check. * sysdeps/s390/s390-64/elf/configure.in: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Add support for CLONE_CHILD_*TID flags. * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S: Use branch with 32 bit offset. * sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error): Support USE___THREAD. Define RTLD_PRIVATE_ERRNO variant. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: (SYSCALL_ERROR_LABEL): Move define next to SYSCALL_ERROR_HANDLER. (SYSCALL_ERROR_HANDLER): Add USE___THREAD and RTLD_PRIVATE_ERRNO variants. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: (SYSCALL_ERROR_LABEL): Move define next to SYSCALL_ERROR_HANDLER. Use direct branch to syscall_error for !PIC and PIC && !_LIBC_REENTRANT. (SYSCALL_ERROR_HANDLER): Add USE___THREAD and RTLD_PRIVATE_ERRNO variants.
* Update.Ulrich Drepper2003-01-282-2/+3
| | | | | | * elf/dl-reloc.c (CHECK_STATIC_TLS): Improve error message. * elf/dl-open.c (_dl_tls_static_size): Bump to 2048.
* Update.Ulrich Drepper2003-01-271-4/+4
| | | | | | | 2003-01-27 Ulrich Drepper <drepper@redhat.com> * elf/dl-reloc.c (allocate_static_tls): Avoid arithmetic wrap-around in test.
* Update.Ulrich Drepper2003-01-275-4/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-26 Andreas Schwab <schwab@suse.de> * sysdeps/wordsize-32/divdi3.c: Export the functions only as compatibility symbols. Remove INTDEF for __divdi3. * sysdeps/wordsize-32/lldiv.c: Don't use __divdi3_internal. * sysdeps/powerpc/powerpc32/divdi3.c: Remove. * sysdeps/powerpc/powerpc32/Makefile (CPPFLAGS-divdi3.c): Don't define. * sysdeps/powerpc/powerpc32/Dist: Remove divdi3.c. 2003-01-24 Jakub Jelinek <jakub@redhat.com> * elf/tls-macros.h: Add SPARC 32-bit definitions. * sysdeps/sparc/sparc32/elf/configure.in: Add TLS check. * sysdeps/sparc/sparc32/dl-machine.h: Add dl_machine_h guards for the first half of the header. Include tls.h. (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs too. (elf_machine_rela): Handle TLS relocs. * sysdeps/sparc/dl-tls.h: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Add cancellation support. * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Use %g6 instead of %g7. * sysdeps/sparc/sparc32/memchr.S: Likewise. * sysdeps/sparc/sparc32/memcpy.S: Likewise. * sysdeps/sparc/sparc32/strcat.S: Likewise. * sysdeps/sparc/sparc32/strchr.S: Likewise. * sysdeps/sparc/sparc32/strcmp.S: Likewise. * sysdeps/sparc/sparc32/strcpy.S: Likewise. * sysdeps/sparc/sparc64/sparcv9b/memcpy.S: Likewise. * sysdeps/sparc/sparc64/hp-timing.h: Likewise. * sysdeps/sparc/sparc64/memcpy.S: Likewise. * sysdeps/sparc/sparc64/stpcpy.S: Likewise. * sysdeps/sparc/sparc64/stpncpy.S: Likewise. * sysdeps/sparc/sparc64/strcat.S: Likewise. * sysdeps/sparc/sparc64/strchr.S: Likewise. * sysdeps/sparc/sparc64/strcmp.S: Likewise. * sysdeps/sparc/sparc64/strcpy.S: Likewise. * sysdeps/sparc/sparc64/strncmp.S: Likewise. * sysdeps/sparc/sparc64/strncpy.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. 2003-01-24 Andreas Schwab <schwab@suse.de> * elf/dl-close.c (_dl_close): Don't relocate DT_FINI_ARRAY elements, and process them backwards. * elf/Makefile ($(objpfx)tst-array4): New target. ($(objpfx)tst-array4.out): Likewise. (tests) [$(have-initfini-array) = yes]: Add tst-array4. * elf/tst-array4.c: New file. * elf/tst-array4.exp: Likewise. 2003-01-24 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: New file. 2003-01-27 Guido Guenther <agx@sigxcpu.org> * sysdeps/unix/sysv/linux/mips/sysdep.h (SYSCALL_ERROR_LABEL): Define. * sysdeps/unix/sysv/linux/mips/pread.c: Add support for cancellation handling and handle both __NR_pread64 and __NR_pread. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite.c: Add support for cancellation handling and handle both __NR_pwrite64 and __NR_pwrite. * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. * sysdeps/unix/mips/sysdep.S: Don't set errno in the _LIBC_REENTRANT case, use register names consistently. 2003-01-27 Wolfram Gloger <wg@malloc.de> * malloc/hooks.c (mem2chunk_check): Check alignment of mem pointer, not of the computed chunk. Bug report from Carlos O'Donell <carlos@baldric.uwo.ca>.
* 2003-01-17 Roland McGrath <roland@redhat.com>Roland McGrath2003-01-171-2/+2
| | | | * elf/dl-open.c: Fix typo ifdef -> ifndef on _dl_tls_static_size defn.
* Update.Ulrich Drepper2003-01-161-3/+3
| | | | | | | | 2003-01-16 Jakub Jelinek <jakub@redhat.com> * elf/dl-load.c (_dl_map_object_from_fd): Use GL(dl_tls_dtv_slotinfo_list) != NULL to check whether TLS has been already initialized.
* * Makerules (check-abi-%): Use two rules for $(common-objpfx) andRoland McGrath2003-01-151-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | $(objpfx) directories, and get rid of vpath directives. The previous arrangement resulted in files being written to the source directories when run in a clean build. Find all .abilist files in $(..)abilist/. (update-abi-%): Likewise. (generated): Don't add .symlist files, they'll be intermediates. * sysdeps/generic/init-first.c: Add a comment. * elf/Makefile ($(objpfx)ld.so): Pass -z defs in link. * scripts/gen-as-const.awk: Grok lone "--" as a separator between #includes and expressions. * scripts/merge-abilist.awk: Omit cpu-.*-os.*/modifier from merged config list when it already contains cpu-.*-os.* without / part. * Makerules (sed-remove-dotdot): New variable. ($(common-objpfx)%.make): Use it. Depend on $(before-compile). ($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise. (check-abi-config): New variable, append /tls or /notls to the tuple. (check-abi-%): Use that for -v config value. Find .abilist files in abilist/libfoo.abilist, not in subdir. * Rules: Move bits/stdio_lim.h generation rules to Makerules.
* (direntry): Change type to struct dirent64. (search_dir): Use readdir64 ↵Ulrich Drepper2003-01-131-2/+2
| | | | instead of readdir.
* Update.Ulrich Drepper2003-01-131-1/+1
| | | | | * elf/dl-close.c (_dl_close): Type typo, must be == not = in search for removed searchlist. Reported by Roland McGrath.
* Update.Ulrich Drepper2003-01-1211-62/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-11 Jim Meyering <jim@meyering.net> * io/ftw.c [HAVE_CONFIG_H]: Include <config.h>. [HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of <sys/param.h>. Include <sys/stat.h>, not <include/sys/stat.h>, if !_LIBC. [!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define. [!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define. [!_LIBC] (internal_function, dirent64, MAX): Define. (__set_errno): Define if not already defined. (open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on the basename, not the entire file name. (process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on the basename, not the entire file name. 2003-01-12 Ulrich Drepper <drepper@redhat.com> * string/tester.c (test_strcpy): Disable last added strcpy until it is fixed. 2003-01-11 Philip Blundell <philb@gnu.org> * sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support. 2003-01-11 Andreas Schwab <schwab@suse.de> * Makerules: Add vpath for %.dynsym and %.so so that the implicit rule chaining for check-abi works. 2003-01-11 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER): Add non-PIC case. 2003-01-11 Jakub Jelinek <jakub@redhat.com> * elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define. [__ia64__] (TLS_LE, TLS_IE): Fix typos. Add ;; at start of asm if gp is used early. [__ia64__] (TLS_LD, TLS_GD): Likewise. Use __TLS_CALL_CLOBBERS. * elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so): Ensure libc.so in DT_NEEDED. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Move CHECK_STATIC_TLS before l_tls_offset use. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela): Likewise. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]: Allocate TLS_PRE_TCB_SIZE bytes below result. (_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing. * sysdeps/generic/libc-tls.c (__libc_setup_tls): If TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS segment has been found. If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE bytes below result and add tcb_offset to memsz. * sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype. * sysdeps/ia64/dl-machine.h: Include tls.h. (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs too. (elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too. Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations. * sysdeps/ia64/libc-tls.c: New file. 2003-01-10 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit. * sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX): Fix type. Move definition out of #if. * sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation support. * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove ftruncate64, pread64, pwrite64, truncate64 entries. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (INLINE_SYSCALL): New version that supports function call like syscalls. Add __builtin_expect. (LOADARGS_n): Add argument size safety checks. (INTERNAL_SYSCALL): New Macro. * sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file. * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid redefinition of elf_fpreg_t and elf_fpregset_t. 2003-01-12 Ulrich Drepper <drepper@redhat.com> * elf/dl-close.c (_dl_close): Add several asserts. Correct and simplify test for unloading. If loader of a DSO is unloaded do not use its scope anymore. Fall back to own scope and adjust opencounts. Fix several comments. * elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for the l_searchlist, not only for l_initfini. * elf/dl-lookup.c (add_dependencies): Avoid creating relocation dependencies if objects cannot be removed. Remove object with the definition as not unloadable if necessary. * elf/reldep6.c: Create relocation dependency before closing the first module. 2003-01-10 Guido Günther <agx@sigxcpu.org> * elf/Makefile: Add rules to build and run reldep9 test. * elf/reldep9.c: New file. * elf/reldep9mod1.c: New file. * elf/reldep9mod2.c: New file. * elf/reldep9mod3.c: New file. 2003-01-09 Jakub Jelinek <jakub@redhat.com> * elf/Makefile: Add rules to build and run nodelete2 test. * elf/nodelete2.c: New file. * elf/nodel2mod1.c: New file. * elf/nodel2mod2.c: New file. * elf/nodel2mod3.c: New file. 2003-01-09 Jakub Jelinek <jakub@redhat.com>
* Test modules for DF_1_NODELETE test.Ulrich Drepper2003-01-123-0/+27
|
* Update.Ulrich Drepper2003-01-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-08 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/arm/sysdep.h (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Add err argument. (INTERNAL_SYSCALL_DECL): Define. 2003-01-06 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/ia64/sysdep.h (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Add err argument. (INTERNAL_SYSCALL_DECL): Define. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. (INLINE_SYSCALL): Adjust. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * elf/dl-misc.c (_dl_debug_vdprintf): Add INTERNAL_SYSCALL_DECL, add err argument to INTERNAL_SYSCALL* macros. * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Likewise. * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Likewise. * sysdeps/unix/sysv/linux/m68k/brk.c (__brk): Likewise. * sysdeps/unix/sysv/linux/m68k/getpagesize.c (__getpagesize): Likewise. * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Likewise. * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Use INLINE_SYSCALL instead of INTERNAL_SYSCALL and setting errno.
* Update.Ulrich Drepper2003-01-072-16/+2
| | | | | | | 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.
* Update.Ulrich Drepper2003-01-071-2/+2
| | | | | * elf/dl-misc.c (_dl_debug_vdprintf): Help PPC port by explcitly taking address of iov in INTERNAL_SYSCALL call. Patch by Franz Sirl.
* Update.Ulrich Drepper2003-01-023-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-02 Art Haas <ahaas@airmail.net> * login/tst-utmp.c: Convert GCC extension initializer syntax to C99. 2003-01-02 Ulrich Drepper <drepper@redhat.com> * posix/getconf.c: Update copyright year. * nss/getent.c: Likewise. * nscd/nscd_nischeck.c: Likewise. * iconv/iconvconfig.c: Likewise. * iconv/iconv_prog.c: Likewise. * elf/ldconfig.c: Likewise. * catgets/gencat.c: Likewise. * csu/version.c: Likewise. * elf/ldd.bash.in: Likewise. * elf/sprof.c (print_version): Likewise. * locale/programs/locale.c: Likewise. * locale/programs/localedef.c: Likewise. * nscd/nscd.c (print_version): Likewise. * debug/xtrace.sh: Likewise. * malloc/memusage.sh: Likewise. * malloc/mtrace.pl: Likewise. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Use union type to avoid strict aliasing problem. (_nss_dns_gethostbyname2_r): Likewise. * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise. (_nss_dns_getnetbyname_r): Likewise.
* (_dl_close): Handle relocation dependencies among the to-be-deleted objects ↵Ulrich Drepper2002-12-302-24/+70
| | | | right away instead of later separately. The latter fails because the scope data structures of the DSO might already have gone.
* Update.Ulrich Drepper2002-12-305-4/+53
| | | | | | | | | | | 2002-12-30 Ulrich Drepper <drepper@redhat.com> * elf/Makefile: Add rules to build and run reldep8 test. * elf/reldep8.c: New file. * elf/reldep8mod1.c: New file. * elf/reldep8mod2.c: New file. * elf/reldep8mod3.c: New file. Contributed by Jakub Jelinek.
* Update.Ulrich Drepper2002-12-291-1/+1
| | | | | | | 2002-12-29 Jakub Jelinek <jakub@redhat.com> * elf/cache.c (add_to_cache): Don't loop forever with 1ULL << 63 set in hwcap.
* Update.Ulrich Drepper2002-12-281-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-28 Ulrich Drepper <drepper@redhat.com> * descr.h (struct pthread): Move header.data.list to the back of the struct. * sysdeps/i386/tls.h (tcbhead_t): Move list to the back of the struct. (MULTIPLE_THREADS_OFFSET): Adjust offset. (SYSINFO_OFFSEET): Likewise. 2002-12-27 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h (USE_DL_SYSINFO): Define. (DL_SYSINFO_DEFAULT): Cast to uintptr_t to avoid warnings. * sysdeps/unix/sysv/linux/i386/dl-sysdep.h (NEED_DL_SYSINFO, DL_SYSINFO_DEFAULT, DL_SYSINFO_IMPLEMENTATION): Define. (USE_DL_SYSINFO): Undef. 2002-12-22 Jakub Jelinek <jakub@redhat.com> * Makefile (tests-reverse): Use $(objpfx)../libc.so instead of $(common-objpfx)libc.so. * tst-cancel4.c (tf_write, tf_writev): Increase buf sizes so that it is bigger than pipe buffer size even on arches with bigger page size. (tf_usleep): Cast usleep argument to useconds_t to avoid warnings.
* (handle_file): Swap p_type.Ulrich Drepper2002-12-211-1/+1
|
* Update.Ulrich Drepper2002-12-201-1/+13
| | | | | | | | | | | | 2002-12-20 Ulrich Drepper <drepper@redhat.com> * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): For TLS builds add "tls" in the search path. * elf/ldconfig.c (is_hwcap_platform): Also recognize "tls". (path_hwcap): Recognize "tls". * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Use __waitpid instead of waitpid.
* Update.Ulrich Drepper2002-12-191-0/+2
| | | | | | | | | | | | 2002-12-19 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/sysdep.h: Add support to use AT_SYSINFO information for system calls. * sysdeps/generic/dl-sysdep.h: Define RTLD_PRIVATE_ERRNO to 1 only for ld.so. * elf/rtld.c (_dl_start) [USE___THREAD]: Define initdtv.
* Update.Ulrich Drepper2002-12-191-1/+1
| | | | | | | 2002-12-19 Ulrich Drepper <drepper@redhat.com> * elf/rtld.c: Don't initialize _dl_dynamic_weak to 1 if RTLD_CORRECT_DYNAMIC_WEAK is defined.
* Update.Ulrich Drepper2002-12-192-0/+18
| | | | | | | | | | | | | | | | | 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.
* Update.Ulrich Drepper2002-12-181-0/+4
| | | | | | | | 2002-12-17 Ulrich Drepper <drepper@redhat.com> * elf/elf.h (AT_SYSINFO): New define. * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Add support for AT_SYSINFO.
* Update.Ulrich Drepper2002-12-131-7/+7
| | | | * elf/dl-misc.c (_dl_debug_vdprintf): Don't depend on 5-digit PIDs.
* Update.Ulrich Drepper2002-12-131-1/+2
| | | | * elf/Makefile: Also check all iconv modules for text relocations.
* Update.Ulrich Drepper2002-12-131-4/+26
| | | | * stdlib/Makefile: Remove code to automatically import GMP.
* Update.Ulrich Drepper2002-12-122-0/+173
| | | | | * elf/Makefile (tests): Add rules to build and run check-textrel. * elf/check-textrel.c: New file.
* Update.Ulrich Drepper2002-12-111-2/+2
| | | | | | | | | 2002-12-10 Ulrich Drepper <drepper@redhat.com> * sysdeps/posix/sigpause.c: Define all functions as weak. * elf/tst-tls7.c (do_test): Adjustments for l_tls_modid being of type size_t.
* 2002-12-10 Jakub Jelinek <jakub@redhat.com>Roland McGrath2002-12-102-5/+9
| | | | | | * elf/tst-array1.c (preinit_array, init_array, fini_array): Explicitly align the array to sizeof (void *). * elf/tst-array2dep.c (init_array, fini_array): Likewise.
* * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Refer toRoland McGrath2002-12-101-0/+4
| | | | | | | | | | | | | | | | | | | | 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.
* * elf/Makefile (tests): Uncomment tst-array[123].Roland McGrath2002-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * Makeconfig (CPPFLAGS-.oS): Add -DLIBC_NONSHARED=1. * csu/elf-init.c: New file. * csu/Makefile (routines, static-only-routines): Add elf-init. * sysdeps/alpha/elf/start.S: Use __libc_csu_init in place of _init and __libc_csu_fini in place of _fini. * sysdeps/arm/elf/start.S: Likewise. * sysdeps/cris/elf/start.S: Likewise. * sysdeps/hppa/elf/start.S: Likewise. * sysdeps/i386/elf/start.S: Likewise. * sysdeps/ia64/elf/start.S: Likewise. * sysdeps/m68k/elf/start.S: Likewise. * sysdeps/mach/hurd/powerpc/static-start.S: Likewise. * sysdeps/mips/elf/start.S: Likewise. * sysdeps/powerpc/powerpc32/elf/start.S: Likewise. * sysdeps/powerpc/powerpc64/elf/start.S: Likewise. * sysdeps/s390/s390-32/elf/start.S: Likewise. * sysdeps/s390/s390-64/elf/start.S: Likewise. * sysdeps/sh/elf/start.S: Likewise. * sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/x86_64/elf/start.S: Likewise.
* Update.Ulrich Drepper2002-12-067-13/+13
| | | | | | | | | | | | | | | | | | | | | | 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
* * sysdeps/generic/libc-tls.c (__libc_setup_tls): Cope with zero ALIGN.Roland McGrath2002-12-063-15/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * malloc/hooks.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))] (malloc_starter, memalign_starter, free_starter): Don't define these. * malloc/malloc.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]: Don't declare them either. * malloc/arena.c (ptmalloc_init) [_LIBC && USE_TLS]: Don't call __pthread_initialize, so no need to set hooks to *_starter. (ptmalloc_init_minimal): New function, broken out of ptmalloc_init. [_LIBC && SHARED && USE_TLS && !USE___THREAD] (__libc_malloc_pthread_startup): New function. * malloc/Versions (libc: GLIBC_PRIVATE): New set, add that function. * malloc/hooks.c (memalign_starter): New function. * malloc/malloc.c: Declare it. * malloc/arena.c (save_memalign_hook): New variable. (ptmalloc_init): Set __memalign_hook to memalign_starter. * elf/dl-minimal.c (free): Clear the memory. (calloc): Just call malloc, knowing all memory it returns is cleared. * sysdeps/generic/dl-tls.c (allocate_dtv): Use calloc instead of malloc and memset; calloc can avoid the zeroing when redundant. (_dl_tls_setup): Likewise. * elf/dl-load.c (decompose_rpath): Likewise. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Comment out memset call, since memory from sbrk at startup is already zero. * elf/rtld.c (_dl_start, dl_main): TLS_INIT_TP macro now returns an error string for failure, null for success. Update callers. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise. * elf/dl-load.c (_dl_map_object_from_fd): Likewise.
* * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS]Roland McGrath2002-12-0411-90/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | members to the end, so a libpthread compiled with !USE_TLS will still find other members properly. * sysdeps/i386/i486/bits/string.h (__strcpy_g): Add dummy output operand for DEST memory. Fix dummy input operand to use SRC. Reported by Davin McCall <davmac@ozonline.com.au>. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Account for TCB alignment when initializing the DTV entry. * elf/dl-load.c (_dl_map_object_from_fd): If we hit a TLS segment when TLS has not been set up, try to set it up if we can. * elf/tst-tls4.c: Revert last change. * elf/tst-tls5.c: Likewise. * elf/tst-tls6.c: Likewise. * elf/tst-tls7.c: Likewise. * elf/tst-tls8.c: Likewise. * elf/tst-tls9.c: Likewise. * sysdeps/generic/dl-tls.c [SHARED] (_dl_tls_setup): New function. * sysdeps/generic/ldsodefs.h: Declare it. * elf/Versions (ld: GLIBC_PRIVATE): Add it. * sysdeps/generic/libc-tls.c (init_slotinfo): New static inline function, broken out of __libc_setup_tls. (init_static_tls): Likewise. (__libc_setup_tls): Call them. (_dl_tls_setup): New function, uses new subroutines. * elf/dl-close.c (free_slotinfo): Make argument pointer to pointer. Clear the pointer when returning true. (libc_freeres_fn) [SHARED]: If GL(dl_initial_dtv) is null, free the first element of the slotinfo list too. * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Define only if [SHARED]. * sysdeps/generic/ldsodefs.h (_dl_next_tls_modid): Declare as hidden. (_dl_determine_tlsoffset): Likewise. * elf/rtld.c (_dl_initial_error_catch_tsd): Renamed from startup_error_tsd, made global. (dl_main): Update initialization. * elf/dl-tsd.c: Likewise. * sysdeps/generic/ldsodefs.h: Declare it.
* * elf/tst-tls4.c: Define an unused TLS variable here, so that no lazyRoland McGrath2002-12-039-18/+92
| | | | | | | | | | | | | | | | TLS setup is required. * elf/tst-tls5.c: Likewise. * elf/tst-tls6.c: Likewise. * elf/tst-tls7.c: Likewise. * elf/tst-tls8.c: Likewise. * elf/tst-tls9.c: Likewise. * elf/rtld.c (dl_main): Remove [! SHARED] conditional from `if (GL(dl_tls_max_dtv_idx) > 0)' tests for doing TLS setup. * elf/dl-close.c (libc_freeres_fn): Check GL(dl_tls_dtv_slotinfo_list) for being null before calling free_slotinfo. * elf/dl-load.c (_dl_map_object_from_fd) [SHARED]: For PT_TLS in dynamic loading, bail with error if GL(dl_tls_max_dtv_idx) is zero.
* (EM_ST19): Fix typo.Ulrich Drepper2002-11-251-1/+1
|
* * sysdeps/posix/readv.c: Include <errno.h>, use __set_errno macro.Roland McGrath2002-11-243-11/+25
| | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/posix/writev.c: Likewise. From Momchil Velikov <velco@fadata.bg>. * elf/dl-error.c [! _LIBC_REENTRANT]: Use a static variable instead of calling *GL(dl_error_catch_tsd) for a thread-local location. * elf/rtld.c (startup_error_tsd): Conditionalize on [_LIBC_REENTRANT]. (dl_main): Same for GL(dl_error_catch_tsd) initialization. * elf/dl-tsd.c: Conditionalize contents on [_LIBC_REENTRANT]. * libio/iofflush.c: Add libc_hidden_def. * libio/iofwrite.c: Likewise. * sysdeps/generic/sigtimedwait.c: Likewise. * sysdeps/generic/sigwaitinfo.c: Likewise. * sysdeps/posix/sigwait.c: Likewise. Reported by Momchil Velikov <velco@fadata.bg>. * inet/inet_lnaof.c (inet_lnaof): Change return type to in_addr_t to match <arpa/inet.h> declaration. * inet/inet_netof.c (inet_netof): Likewise. * inet/inet_mkadr.c (inet_makeaddr): Likewise for argument types. Reported by Momchil Velikov <velco@fadata.bg>.
* 2002-11-23 Roland McGrath <roland@redhat.com>Roland McGrath2002-11-231-1/+1
| | | | | * elf/Makefile ($(objpfx)librtld.mk): Tighten up regexp. Reported by Luca Barbieri <ldb@ldb.ods.org>.
* Update.Ulrich Drepper2002-11-221-1/+1
| | | | * elf/Makefile (tests): Don't run test-arrayX tests for now.
* Update.Ulrich Drepper2002-11-211-16/+64
| | | | | * elf/tls-macros.h: Add IA-64 definitions. Patch by Ian Wienand <ianw@gelato.unsw.edu.au>.
* Update.Ulrich Drepper2002-11-191-8/+11
| | | | | | | | | | | | | | | | | | 2002-11-19 Ulrich Drepper <drepper@redhat.com> * include/dlfcn.h: __libc_dlopen is now a macro calling __libc_dlopen_mode with the extra parameter RTLD_LAZY. (__libc_dlopen_mode): New prototype. * elf/dl-libc.c (__libc_dlopen_mode): Renamed from __libc_dlopen. Add new parameter. Store new parameter in mode field of structure passed to do_dlopen. (struct do_dlopen_args): Add new field mode. (do_dlopen): Pass mode from parameter structure to _dl_open. * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Define mcontext_t as a sigcontext. * manual/crypt.texi (Cryptographic Functions): Mention that the MD5 one-way algorithm is compatible with BSD's.
* * configure.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove test.Roland McGrath2002-11-081-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure: Regenerated. * config.h.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove #undef. * sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Use !samegp. (RTLD_START): Likewise. Access _dl_skip_args, _rtld_local, and _dl_fini via gp-relative relocations. * sysdeps/alpha/fpu/e_sqrt.c: Use !samegp. * elf/tls-macros.h: Add alpha versions. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Handle TLS relocs. * sysdeps/unix/alpha/sysdep.S: Support USE___THREAD. * sysdeps/unix/alpha/sysdep.h: Likewise. Add SYSCALL_ERROR_HANDLER. * sysdeps/unix/sysv/linux/alpha/brk.S: Use it. * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. * sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise. * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise. * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Likewise. * sysdeps/unix/sysv/linux/alpha/select.S: Likewise. * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise. * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise. * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise. * sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise. * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise. * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep.h: Re-include protect. Kill argument registers across the inline syscall. * sysdeps/unix/sysv/linux/alpha/clone.S: Add user_tid and tls args. * linuxthreads/sysdeps/alpha/tls.h: New file. * sysdeps/alpha/dl-tls.h: New file.
* * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY]Roland McGrath2002-11-077-0/+223
| | | | | | | | | | | | | | | | | | | | | | | (gmon_initializer): New function. (.init prologue): If HAVE_INITFINI_ARRAY is true, don't call __gmon_start__ here. Call it from gmon_initializer() instead. 2002-03-12 H.J. Lu <hjl@gnu.org> * elf/Makefile [$(have-initfini-array) = yes] (tests): Add tst-array1, tst-array2, and tst-array3. [$(have-initfini-array) = yes] (tests-static): Add tst-array3. [$(have-initfini-array) = yes] (modules-names): Add tst-array2dep. ($(objpfx)tst-array1.out): New target. ($(objpfx)tst-array2): Likewise. ($(objpfx)tst-array2.out): Likewise. ($(objpfx)tst-array3.out): Likewise. * elf/tst-array1.c: New file. * elf/tst-array1.exp: Likewise. * elf/tst-array2.c: Likewise. * elf/tst-array2dep.c: Likewise. * elf/tst-array2.exp: Likewise. * elf/tst-array3.c: Likewise.