aboutsummaryrefslogtreecommitdiff
path: root/elf
AgeCommit message (Collapse)Author
2002-05-16Update.Ulrich Drepper
2002-05-15 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (rtld-routines): Remove dl-brk and dl-sbrk. * sysdeps/unix/sysv/linux/Makefile (sysdep-rtld-routines): Add dl-brk and dl-sbrk. * sysdeps/sparc/fpu/bits/mathinline.h (fdim): Add __THROW. (fdimf): Likewise.
2002-04-24Update.Ulrich Drepper
2002-04-24 Ulrich Drepper <drepper@redhat.com> * elf/dl-load.c (open_verify): Correct __lseek parameters. Patch by Simon Hildrew <simon@hildrew.net> [PR libc/3354]. 2002-04-23 H.J. Lu <hjl@gnu.org> * include/math.h (isfinite): Fix a typo. 2002-04-24 Ulrich Drepper <drepper@redhat.com> * libio/bug-ungetwc2.c (test_locale): Use the de_DE.UTF-8 locale which is created by the test suite. 2002-04-20 Bruno Haible <bruno@clisp.org> * iconvdata/iso-2002-kr.c (MAX_NEEDED_FROM): Set to 4. (BODY for FROM_LOOP): Fix comparisons between inptr and inend. 2002-04-20 Bruno Haible <bruno@clisp.org> * iconvdata/johab.c (BODY for FROM_LOOP): Change type of i, m, f, to avoid gcc warning. 2002-04-20 Bruno Haible <bruno@clisp.org> * iconvdata/iso-2022-jp.c (EMIT_SHIFT_TO_INIT): Fix modification mask of data->__statep->__count. 2002-04-20 Bruno Haible <bruno@clisp.org> * iconvdata/euc-jisx0213.c (BODY for TO_LOOP): Really ignore Unicode tag characters. * iconvdata/shift_jisx0213.c (BODY for TO_LOOP): Likewise. * sysdeps/unix/sysv/linux/x86_64/ldconfig.h: New file. * sysdeps/unix/sysv/linux/x86_64/dl-cache.h: New file.
2002-04-15Update.Ulrich Drepper
2002-02-17 Andreas Schwab <schwab@suse.de> * reldep7.c: New file. * reldep7mod1.c: New file. * reldep7mod2.c: New file. * Makefile: Add rules to build and run reldep7.
2002-04-15Update.Ulrich Drepper
2002-04-14 Jakub Jelinek <jakub@redhat.com> * elf/dl-lookup.c (_dl_lookup_symbol): Move add_dependency call to the end of the function. Pass original flags to recursive call if add_dependency failed. (_dl_lookup_versioned_symbol): Likewise. 2002-04-13 Jakub Jelinek <jakub@redhat.com> * time/mktime.c (__mktime_internal): If year is 69, don't bail out early, but check whether it overflowed afterwards. * time/tst-mktime.c (main): Add new tests. * debug/xtrace.sh: Fix program name in help message. Patch by Roger Luethi <rl@hellgate.ch>.
2002-04-13Update.Ulrich Drepper
2002-04-13 Ulrich Drepper <drepper@redhat.com> * elf/do-lookup.h [!VERSIONED]: Add new parameter flags. Use it to check whether the caller prefers getting the most recent version of a symbol of the earliest version. * elf/dl-lookup.c: Adjust all callers of do_lookup. Change _dl_do_lookup to also take the new parameter and pass it on. Change 'explicit' parameter of _dl_lookup_symbol and _dl_lookup_versioned_symbol to flags. Adjust tests. * sysdeps/generic/ldsodefs.h: Adjust prototypes. * elf/dl-libc.c: Adjust all callers of _dl_lookup_symbol and _dl_lookup_versioned_symbol. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-sym.c: Likewise. * sysdeps/mips/dl-machine.h: Likewise.
2002-04-08Update.Ulrich Drepper
2002-04-08 kaz Kojima <kkojima@rr.iij4u.or.jp> * elf/elf.h: Define R_SH_TLS_xxx macros. * elf/rtld.c: Remove an extra parenthesis. * elf/tls-macros.h: Define SH version TLS_LE, TLS_IE, TLS_LD and TLS_GD macros. * sysdeps/generic/dl-tls.c: Add a missing semi-colon. * sysdeps/sh/dl-lookupcfg.h: New file. * sysdeps/sh/dl-tls.h: New file. * sysdeps/sh/dl-machine.h (elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three TLS relocations. (elf_machine_rela): Handle R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32 and R_SH_TLS_TPOFF32 relocations.
2002-04-08Update.Ulrich Drepper
2002-04-08 Ulrich Drepper <drepper@redhat.com> * cppflags-iterator.mk (cpp-srcs-left): Define NOT_IN_libc instead of NOT_IN_LIBC. * include/libintl.h: Test for NOT_IN_libc not NOT_IN_LIBC. * include/stdlib.h: Likewise. 2002-04-08 Jakub Jelinek <jakub@redhat.com> * elf/Makefile (CFLAGS-.os): Define NOT_IN_libc and IS_IN_rtld instead of _RTLD_LOCAL. * elf/dl-dst.h: Use IS_IN_rtld instead of _RTLD_LOCAL. * include/unistd.h: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * stdio-common/_itoa.h (_itoa_word): Only use internal digit arrays if in libc or ld.so. * include/stdlib.h: For libc itself replace MB_CUR_MAX definition with one accessing the locale data structures directly. * stdio-common/printf-prs.c: Include localeinfo.h for new MB_CUR_MAX definition.
2002-04-08Update.Andreas Jaeger
2002-04-08 Andreas Jaeger <aj@suse.de> * elf/cache.c (print_entry): Support x86-64.
2002-04-07Update.Ulrich Drepper
2002-04-07 Ulrich Drepper <drepper@redhat.com> * sysdeps/mach/hurd/Versions: Add _dl_init_first to libc and ld export list. * elf/Versions: Remove it here.
2002-04-06Update.Ulrich Drepper
2002-03-23 Jakub Jelinek <jakub@redhat.com> * sysdeps/generic/brk.c (__curbrk): Declare. * sysdeps/generic/dl-brk.c: Add attribute_hidden to __curbrk. * sysdeps/generic/dl-sbrk.c: Likewise. * sysdeps/unix/arm/dl-brk.S: New file. * sysdeps/unix/bsd/hp/m68k/dl-brk.S: New file. * sysdeps/unix/bsd/osf/alpha/dl-brk.S: New file. * sysdeps/unix/bsd/sun/m68k/dl-brk.S: New file. * sysdeps/unix/bsd/vax/dl-brk.S: New file. * sysdeps/unix/i386/dl-brk.S: New file. * sysdeps/unix/mips/dl-brk.S: New file. * sysdeps/unix/sparc/dl-brk.S: New file. * sysdeps/unix/sysv/linux/alpha/dl-brk.S: New file. * sysdeps/unix/sysv/linux/ia64/dl-brk.S: New file. * sysdeps/unix/sysv/linux/powerpc/dl-brk.S: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S: New file. * sysdeps/unix/sysv/linux/i386/dl-brk.c: Remove. * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Remove. 2002-04-03 Andreas Schwab <schwab@suse.de> * Makefile (headers): Add gnu/lib-names.h here instead of install-others. ($(inst_includedir)/gnu/lib-names.h): Remove explicit installation rule. (install-headers): Add dependency on install-headers-nosubdir. * stdio-common/Makefile (headers): Add bits/stdio_lim.h here instead of install-others. ($(inst_includedir)/bits/stdio_lim.h): Remove explicit installation rule. 2002-04-05 Ulrich Drepper <drepper@redhat.com> * manual/users.tex (Enable/Disable Setuid): Fix typo in example. Reported by Sam Roberts <sroberts@uniserve.com>. 2002-04-03 Jakub Jelinek <jakub@redhat.com> * elf/do-rel.h (elf_dynamic_do_rel): Skip relative relocs if l_addr == 0 and ELF_MACHINE_REL_RELATIVE. * sysdeps/alpha/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define. * sysdeps/ia64/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define. 2002-04-03 David Mosberger <davidm@hpl.hp.com> * sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind info. (RTLD_START): Ditto. (__ia64_init_bootstrap_fdesc_table): Insert stop bit to avoid RAW dependency violation.
2002-04-03Update.Ulrich Drepper
* elf/dl-deps.c (_dl_map_object_deps): The sorting of the dependencies must be stable to work correctly. Reported by martin.lubich@datacon.at.
2002-04-03Update.Ulrich Drepper
* elf/do-lookup.h (do_lookup): 2 is the first user-defined version number.
2002-04-03Update.Ulrich Drepper
2002-04-02 Jakub Jelinek <jakub@redhat.com> * inet/ether_ntoh.c (__nss_ethers_lookup): Add internal_function. * inet/ether_hton.c (__nss_ethers_lookup): Likewise. * inet/getnetgrent_r.c (__nss_netgroup_lookup): Likewise. * sunrpc/netname.c (__nss_publickey_lookup): Likewise. * sunrpc/publickey.c (__nss_publickey_lookup): Likewise. 2002-03-30 Jakub Jelinek <jakub@redhat.com> * elf/dynamic-link.h (elf_get_dynamic_info): Don't abort on unknown dynamic tags. 2002-03-29 Jakub Jelinek <jakub@redhat.com> * sysdeps/i386/fpu/s_fabs.S: New file. * sysdeps/i386/fpu/s_fabsf.S: New file. * sysdeps/i386/fpu/s_fabsl.S: New file. * sysdeps/sparc/sparc64/fpu/s_fabs.c: New file. * sysdeps/sparc/sparc64/fpu/s_fabsf.c: New file. * sysdeps/sparc/sparc64/fpu/s_fabsl.c: New file. 2002-04-02 Ulrich Drepper <drepper@redhat.com> * rt/tst-shm.c (do_test): Add one more test for size of shared memory object. 2002-03-29 Wolfram Gloger <wg@malloc.de> * malloc/malloc.c: Add short description and prototypes for malloc_get_state, malloc_set_state and posix_memalign, for consistency and to avoid warnings with -Wstrict-prototypes. Reported by Andreas Jaeger <aj@suse.de>. 2002-04-02 Ulrich Drepper <drepper@redhat.com> * po/gl.po: Update from translation team.
2002-03-15Update.Ulrich Drepper
* elf/rtld.c: Declare _environ as hidden. * sysdeps/generic/dl-environ.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/ldsodefs.h: Declare _dl_debug_state_internal and _dl_mcount_internal as hidden. * elf/Makefile (rtld-routines): Add dl-sbrk and dl-brk. * sysdeps/generic/dl-brk.c: New file. * sysdeps/generic/dl-sbrk.c: New file. * sysdeps/unix/sysv/linux/i386/dl-brk.c: New file. * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: New file.
2002-03-15Update.Ulrich Drepper
2002-03-14 Ulrich Drepper <drepper@redhat.com> * elf/dl-minimal.c (malloc): Declare _end as hidden. (__errno_location): New function. Declare errno as hidden. * elf/rtld.c (_dl_argc): Define as hidden. (_dl_skip_args): Define as hidden. (_begin, _end): Declare as hidden. * sysdeps/generic/dl-sysdep.c (_end): Declare as hidden. * sysdeps/generic/entry.h (_start): Declare as hidden. * sysdeps/generic/ldsodefs.h (_dl_argc): Declare as hidden. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Declare _dl_runtime_resolve and _dl_runtime_profile as hidden. (RTLD_START): Use GOTOFF to access _dl_skip_args and _dl_fini.
2002-03-15(malloc): Declare _end as hidden. (__errno_location): New function. Declare ↵Ulrich Drepper
errno as hidden.
2002-03-13Update.Ulrich Drepper
2002-03-13 Wolfram Gloger <wg@malloc.de> * malloc/malloc.c (sYSMALLOc): Don't change brk if mmap failed. 2002-03-02 Andreas Schwab <schwab@suse.de> * stdio-common/vfprintf.c (process_arg): Fix decimal format with 'h' flag and positional arg. * stdio-common/tst-printf.c (rfg3): New function to test positional arguments. (main): Fix some warnings. 2002-03-13 Jakub Jelinek <jakub@redhat.com> * elf/dl-minimal.c (_itoa): Use _itoa_lower_digits_internal if SHARED. * elf/dl-reloc.c (_dl_reloc_bad_type): Likewise.
2002-03-13Update.Ulrich Drepper
* stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden. (_itowa_upper_digits): Likewise. * libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden. * libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare as hidden. * libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps, _IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps, _IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal, _IO_wfile_jumps_internal, and _IO_list_all_internal as hidden. * gmon/gmon.c (__bb_head): Define as hidden. * gmon/bb_exit_func.c (__bb_head): Declare as hidden. * argp/argp-parse.c (_argp_hang): Define as static. * include/libc-symbols.h (_INTVARDEF): Adjust for visibility handling in latest compilers. * inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to define alias. * libio/fileops.c (_IO_file_jumps): Likewise. * libio/stdfiles.c (_IO_list_all): Likewise. * libio/wfileops.c (_IO_wfile_jumps): Likewise. * malloc/malloc.h: Move __libc_malloc_initialized declaration to include/malloc.h. * include/malloc.h: Add __libc_malloc_initialized declaration here. Mark variable hidden. * malloc/malloc.c: Include <malloc.h> not "malloc.h". * elf/dl-open.c (__libc_argc): Declare as hidden. (__libc_argv): Likewise. * sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden. (__libc_argv): Likewise. * sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and __libc_argv as hidden. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. * sysdeps/unix/sysv/aix/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise.
2002-03-12Update.Ulrich Drepper
* include/stdlib.h (__libc_drand48_data): Declare as hidden. * stdlib/drand48.c: Remove declaration of __libc_drand48_data here. * stdlib/erand48.c: Likewise. * stdlib/jrand48.c: Likewise. * stdlib/lcong48.c: Likewise. * stdlib/lrand48.c: Likewise. * stdlib/mrand48.c: Likewise. * stdlib/nrand48.c: Likewise. * stdlib/seed48.c: Likewise. * stdlib/srand48.c: Likewise. * stdio-common/_itoa.c (_itoa_base_table): Declare as hidden. (_itoa_lower_digits_internal): New declaration. (_itoa_upper_digits_internal): New declaration. (_itoa): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits. * stdio-common.h (_itoa_lower_digits_internal): New declaration. (_itoa_upper_digits_internal): New declaration. (_itoa_word): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits. * stdio-common/itoa-digits.c: Use INTVARDEF with _itoa_lower_digits. * stdio-common/itoa-udigits.c: Use INTVARDEF with _itoa_upper_digits. * elf/dl-minimal.c (_itoa): Declare _itoa_lower_digits as hidden. * elf/dl-reloc.c (_dl_reloc_bad_type): Likewise. * stdio-common/_itowa.c (_itoa_base_table): Declare as hidden. (_itowa_lower_digits): Likewise. (_itowa_upper_digits): Likewise. * stdio-common/_itowa.h (_itowa_lower_digits): Likewise. (_itowa_upper_digits): Likewise. * intl/plural-exp.h (attribute_hidden): Define as empty macro if not already defined. (GERMANIC_PLURAL): Declare as hidden. * posix/getopt.c (__getopt_initialized): Declare as hidden. (attribute_hidden): Define as empty macro if not already defined. * iconv/gconv_int.h (__gconv_path_elem): Declare hidden. (__gconv_max_path_elem_len): Likewise. (__gconv_path_envvar): Likewise. * math/Makefile (gmp-objs): Remove mp_clz_tab. * stdlib/Makefile (aux): Remove mp_clz_tab. * stdlib/mp_clz_tab.c: Removed. Not needed anywhere. * stdlib/exit.h (__exit_funcs): Declare as hidden.
2002-03-03Update.Andreas Jaeger
2002-03-03 Andreas Jaeger <aj@suse.de> * elf/nodlopenmod2.c: Provide prototype to avoid warning. * elf/tst-tlsmod1.c: Likewise. * posix/regcomp.c: Get regex.h from include dir for internal prototypes. * sysdeps/unix/sysv/linux/init-first.c: Move __init_misc prototype to libc-internal.h and include it. * include/libc-internal.h: Add __init_misc. * misc/init-misc.c: Include libc-internal.h for prototypes. * sysdeps/wordsize-32/divdi3.c: Add prototypes to avoid warnings. * misc/error.c [_LIBC]: Include libioP.h for prototype of _IO_putc_internal.
2002-03-02Update.Ulrich Drepper
2002-03-02 Ulrich Drepper <drepper@redhat.com> * elf/elf.h: Add Alpha TLS bits.
2002-03-01Update.Ulrich Drepper
2002-03-01 Ulrich Drepper <drepper@redhat.com> * elf/Makefile (dl-routines): Add dl-origin. (elide-routines.os): Add dl-origin. * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin. * elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around _dl_debug_state. * include/libc-symbols.c: Define attribute_hidden depending on HAVE_VISIBILITY_ATTRIBUTE. Add definition of INTVARDEF. * elf/dl-deps.c: Use INTUSE with __libc_enable_secure. * elf/dl-load.c: Likewise. * elf/rtld.c: Likewise. * include/unistd.h: Declare __libc_enable_secure_internal. * sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure. Use INTUSE with __libc_enable_secure. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * elf/dl-deps.c: Use INTUSE with _dl_out_of_memory. * elf/dl-error.c: Likewise, * sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal. * elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE. * sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before function definition. Use INTDEF with _dl_get_origin. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * elf/dl-init.c: Use INTUSE with _dl_starting_up. * elf/rtld.c: Likewise. Use INTVARDEF for _dl_starting_up. * elf/dl-profile.c: Use INTDEF for _dl_mcount. * elf/dl-runtime.c: Use INTUSE with _dl_mcount. * sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal. * elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0]. * 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-reloc.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-lookup.h: Likewise. * sysdeps/arm/dl-machine.h: Likewise. * sysdeps/cris/dl-machine.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/powerpc/dl-machine.h: Likewise. * sysdeps/s390/s390-32/dl-machine.h: Likewise. * sysdeps/s390/s390-64/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/sparc/sparc-32/dl-machine.h: Likewise. * sysdeps/sparc/sparc-64/dl-machine.h: Likewise. * sysdeps/x86_64/dl-machine.h: Likewise. * elf/rtld.c: Use INTDEF for _dl_argv. Use rtld_progrname instead of _dl_argv[0]. Use INTUSE with _dl_argv. * sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv. * sysdeps/generic/ldsodefs.h: Define rtld_progname macro.
2002-02-28Update.Ulrich Drepper
2002-02-28 Jakub Jelinek <jakub@redhat.com> * elf/rtld.c (_rtld_global): Remove .protected. (_rtld_local): Strong alias to _rtld_global. * elf/Makefile (CFLAGS-.os): Add -D_RTLD_LOCAL if compiling rtld only .os object. * sysdeps/generic/ldsodefs.h (GL): If SHARED and _RTLD_LOCAL, use _rtld_local instead of _rtld_global. (_rtld_local): Add hidden extern, possibly in .sdata section. * configure.in: Add tests for visibility attribute and .sdata. * config.h.in: Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION. * sysdeps/alpha/dl-machine.h: Use _rtld_local instead of _rtld_global. * sysdeps/arm/dl-machine.h: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/hppa/dl-machine.h: Likewise. * sysdeps/cris/dl-machine.h: Likewise. * sysdeps/i386/dl-machine.h: Likewise. * sysdeps/ia64/dl-machine.h: Likewise. * sysdeps/m68k/dl-machine.h: Likewise. * sysdeps/mips/mips64/dl-machine.h: Likewise. * sysdeps/mips/dl-machine.h: Likewise. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. * sysdeps/sh/dl-machine.h: Likewise. * sysdeps/s390/s390-32/dl-machine.h: Likewise. * sysdeps/s390/s390-64/dl-machine.h: Likewise. * sysdeps/x86_64/dl-machine.h: Likewise.
2002-02-28Update.Ulrich Drepper
* elf/dl-load.c (_dl_map_object_from_fd): Always add SONAME to l_libname if profiling is enabled [PR libc/2916].
2002-02-24Update.Ulrich Drepper
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-24Update.Ulrich Drepper
* elf/dl-close.c (free_slotinfo): Check for end of list and return true in this case.
2002-02-23Update.Ulrich Drepper
* elf/dl-fini.c (_dl_fini): Print some final statistics on the total number of relocations performed.
2002-02-23Update.Ulrich Drepper
* elf/sprof.c (load_profdata): If do_test provide information as to why loading failed. * elf/dl-profile.c (_dl_start_profile): Initialize all of hist_hdr.dimen.
2002-02-23Update.Ulrich Drepper
2002-02-22 Ulrich Drepper <drepper@redhat.com> * elf/Versions: Add _dl_allocate_tls and _dl_deallocate_tls. * elf/rtld.c (dl_main): Use _dl_allocate_tls with INTUSE. * sysdeps/generic/dl-tls.c: Add INTDEF for _dl_allocate_tls. (_dl_deallocate_tls): New function. * sysdeps/generic/ldsodefs.h: Declare _dl_allocate_tls_internal and _dl_deallocate_tls.
2002-02-16Update.Ulrich Drepper
2002-02-15 Ulrich Drepper <drepper@redhat.com> * elf/dl-open.c (dl_open_worker): Catch wrap-around of TLS generation counter. * elf/dl-close.c (_dl_close): Likewise.
2002-02-14Update.Ulrich Drepper
* elf/Makefile: Add rules to build and run tst-tls8. * elf/tst-tls8.c: New file. * elf/tst-tlsmod4.c: New file.
2002-02-14Update.Ulrich Drepper
* elf/dl-close.c (remove_slotinfo): New function. Handles everything for removing reference of module in slotinfo list. (_dl_close): Use remove_slotinfo. * sysdeps/generic/dl-tls.c: General pretty printing. (oom): Define only if SHARED. (_dl_next_tls_modid): Correct starting point for the case we assume there is a gap. Add missing instruction grouping (doh!). Correct tests for reaching maximum index. * elf/Makefile: Add rules to build and run tst-tls7. * elf/tst-tls7.c: New file. * elf/tst-tlsmod3.c: New file. * elf/tst-tlsmod1.c: Move #include "tls-macros.h" instead #ifdef USE_TLS. * elf/tst-tlsmod2.c: Likewise.
2002-02-14Update.Ulrich Drepper
* elf/dl-close.c (_dl_close): When closing an object using TLS either decrement dl_tls_max_dtv_idx or set dl_tls_dtv_gaps to true. Increment dl_tls_generation only if we closed any TLS-using object. * elf/tst-tls6.c: New file. * elf/Makefile: Add rules to build and run tst-tls6.
2002-02-13Update.Ulrich Drepper
* elf/tst-tls1.c: Move #include "tls-macros.h" instead #ifdef USE_TLS. * elf/tst-tls2.c: Likewise. * elf/tst-tls3.c: Likewise. 2002-02-13 Jakub Jelinek <jakub@redhat.com> * elf/dl-close.c (free_slotinfo): Only define if TLS supported. 2002-02-13 Ulrich Drepper <drepper@redhat.com>
2002-02-13Update.Ulrich Drepper
* elf/dl-open.c (dl_open_worker): Only bump the generation counter if this is really necessary.
2002-02-13Update.Ulrich Drepper
2002-02-13 Ulrich Drepper <drepper@redhat.com> * elf/dl-close.c (_dl_close): Implement freeing entries in the slotinfo array. (free_mem): Free memory for the slotinfo array if possible.
2002-02-13Update.Ulrich Drepper
2002-02-12 Andreas Schwab <schwab@suse.de> * csu/gmon-start.c (__gmon_start__): Remove '&' from ENTRY_POINT.
2002-02-13Update.Ulrich Drepper
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-12(RESOLVE_MAP): Return NULL not 0.Ulrich Drepper
2002-02-11Update.Ulrich Drepper
* elf/elf.h: Define R_386_TLS_GD and R_386_TLS_LDM.
2002-02-11Update.Ulrich Drepper
* elf/tst-tls3.c: New file. * elf/tst-tlsmod1.c: New file. * elf/Makefile: Add rules to build and run tst-tls3. * sysdeps/i386/dl-machine.h: Include <tls.h>. (elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three TLS relocations.
2002-02-11Update.Ulrich Drepper
* elf/do-lookup.h (FCT): st_value can be zero for STT_TLS symbols.
2002-02-11Update.Ulrich Drepper
* po/fr.po: Update from translation team. * elf/tls-macros.h: Add alternative macros for use in PIC.
2002-02-11Update.Ulrich Drepper
* elf/dl-lookup.c: Include <tls.h>. * elf/do-lookup.h (FCT): Don't discard STT_TLS symbols.
2002-02-11Update.Ulrich Drepper
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): More changes required by passing pointer to last element of the list. * elf/dl-load.c (_dl_map_object_from_fd): Move adjustment of l_tls_initimage to a place where it actually is performed. * elf/tls-macros.h: ...here. New file.
2002-02-10Update.Ulrich Drepper
* elf/dl-deps.c (struct openaux_args): Add open_mode element. (openaux): Pass open_mode as new last argument to _dl_map_object. (_dl_map_object_deps): Add new argument open_mode. Initialize open_mode element of args variable with it. * elf/dl-open.c (dl_open_worker): Pass __RTLD_DLOPEN flag is set to _dl_map_object_deps. * elf/rtld.c (dl_main): Add zero as last parameter to _dl_map_object_deps call. * sysdeps/generic/ldsodefs.h: Adjust prototype of _dl_map_object_deps. * elf/nodlopen2.c: New file. * elf/nodlopenmod2.c: New file. * elf/Makefile: Add rules to build and run nodlopen2. * elf/tls-macros.hgg: ...here. New file. 2002-02-08 Richard Henderson <rth@redhat.com>
2002-02-10Update.Ulrich Drepper
* elf/tst-tls1.c: Move TLS helper macros to... * elf/tls-macros.h: ...here. New file. * elf/tst-tls2.c: New file. * elf/Makefile (tests): Add tst-tls2. (distribute): Add tls-macros.h.
2002-02-10Update.Ulrich Drepper
* elf/tst-tls1.c (main): Add complete set of tests. Split architecture specific definitions from the actual test code.
2002-02-10Update.Ulrich Drepper
* elf/Makefile (tests): Add tst-tls1. * elf/tst-tls1.c: New file. * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Don't handle alignment of TCB for now. * elf/rtld.c (dl_main): Use p_vaddr as address of TLS initialization image for the application itself. loop to initialize TLS block.
2002-02-09Update.Ulrich Drepper
2002-02-08 Ulrich Drepper <drepper@redhat.com> * elf/rtld.c (_dl_start_final): Install DTV explicitly. (dl_main): Move dtv/static TLS handling before relocation. Unconditionally call _dl_tlsoffset. Call _dl_allocate_tls and TLS_INIT_TP to allocate and install the dtv/static TLS block. * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): If no object so far uses TLS initialize GL(dl_tls_static_size) and GL(dl_tls_static_align) to account for the TCB. (_dl_allocate_tls): New function. * sysdeps/generic/ldsodefs.h (rtld_global): Add _dl_initial_dtv_malloced. * configure.in: Test for __builtin_memset more realistically. * csu/version.c (banner): If TLS support available say so.