about summary refs log tree commit diff
path: root/elf
Commit message (Collapse)AuthorAgeFilesLines
* Consolidate PIE linking Makefile rules.H.J. Lu2009-08-041-8/+1
| | | | (cherry picked from commit 435aa54b3b9c1c87498e8bb3831394fd42220fa7)
* Fix whitespace in last patch.Ulrich Drepper2009-07-292-2/+2
| | | | (cherry picked from commit 241e68032077f92de17f69ac77161807c232b346)
* Remove redundant .gitignore files.Andreas Schwab2009-07-291-6/+0
| | | | (cherry picked from commit ff6ff38db28323c6de078614198c2d89e8e1df07)
* Fix build issue with modules for audit test on machines != x86-64.Ulrich Drepper2009-07-161-1/+3
| | | | | (cherry picked from commit 59cbcac015cdd446c346cfd2c2ada3f94ef540b2, removed tst-audit4, tst-audit5 references)
* Fix handling of xmm6 in ld.so audit hooks on x86-64.H.J. Lu2009-07-164-1/+210
| | | | (cherry picked from commit 167d5ed5de0c6e587506b8a595fe0e4aa630bbb0)
* Terminate correct buffer.Ulrich Drepper2009-06-061-1/+1
| | | | | Little typo could cause additional characters to be printed. (cherry picked from commit fbb04b35e7997070feec74e0fd46953faef71f9e)
* rename each .cvsignore file to .gitignoreJim Meyering2009-05-221-0/+0
| | | | (cherry picked from commit 2e180a26222caf478f29e272c9d1b5d9c6299752)
* [BZ #10087]Ulrich Drepper2009-04-271-3/+5
| | | | | | | * elf/dl-runtime.c (_dl_fixup): Use DL_FIXUP_VALUE_ADDR to access result of lookup to make call to implement STT_GNU_IFUNC. (_dl_profile_fixup): Likewise. Patch by H.J. Lu <hjl.tools@gmail.com>.
* * nscd/connections.c (send_ro_fd): Define temporary variable to avoidUlrich Drepper2009-04-261-15/+52
| | | | | | warning. * elf/sprof.c: Likewise.
* * sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Remove inlineUlrich Drepper2009-04-262-10/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from definition. * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Don't define label if it is not used. * elf/dl-profile.c (_dl_start_profile): Define real-type variant of gmon_hist_hdr and gmon_hdr structures and use them. * elf/dl-load.c (open_verify): Add temporary variable to avoid warning. * nscd/nscd_helper.c (get_mapping): Avoid casts to avoid warnings. * sunrpc/clnt_raw.c (clntraw_private_s): Use union in definition to avoid cast. * inet/rexec.c (rexec_af): Make sa2 a union to avoid warnings. * inet/rcmd.c (rcmd_af): Make from a union of the various needed types to avoid warnings. (iruserok_af): Use ss_family instead of casts. * gmon/gmon.c (write_hist): Define real-type variant of gmon_hist_hdr structure and use it. (write_gmon): Likewise for gmon_hdr. * sysdeps/unix/sysv/linux/readv.c: Avoid declaration of replacement function if we are not going to define it. * sysdeps/unix/sysv/linux/writev.c: Likewise. * inet/inet6_option.c (optin_alloc): Add temporary variable to avoid warning. * libio/strfile.h (struct _IO_streambuf): Use correct type and name of VTable element. * libio/iovsprintf.c: Avoid casts to avoid warnings. * libio/iovsscanf.c: Likewise. * libio/vasprintf.c: Likewise. * libio/vsnprintf.c: Likewise. * stdio-common/isoc99_vsscanf.c: Likewise. * stdlib/strfmon_l.c: Likewise. * debug/vasprintf_chk.c: Likewise. * debug/vsnprintf_chk.c: Likewise. * debug/vsprintf_chk.c: Likewise.
* [BZ #10069]Ulrich Drepper2009-04-191-0/+12
| | | | | | | | 2009-04-19 Ulrich Drepper <drepper@redhat.com> [BZ #10069] * elf/dl-open.c (dl_open_worker): We cannot guarantee that we can load an object that uses static TLS if the TLS modid is higher than the reserve we always allocate. At least for multi-threaded code.
* 2009-04-16 Samuel Thibault <samuel.thibault@ens-lyon.org>Roland McGrath2009-04-171-9/+7
| | | | | * elf/rtld.c (dl_main): Really call _dl_sysdep_start_cleanup after all calls to _dl_relocate_object.
* * elf/dl-open.c (_dl_open): Bump GL(dl_nns) to 1 if no libraries cvs/fedora-glibc-20090416T1610Jakub Jelinek2009-04-161-1/+2
| | | | | | | | are dlopened in statically linked program even for __LM_ID_CALLER. 2009-04-16 Jakub Jelinek <jakub@redhat.com> * elf/dl-open.c (_dl_open): Bump GL(dl_nns) to 1 if no libraries are dlopened in statically linked program even for __LM_ID_CALLER.
* 2009-04-14 Roland McGrath <roland@redhat.com>Roland McGrath2009-04-151-22/+42
| | | | * elf/elf.h: Add various missing ARM constants, to match binutils.
* Missed copyright year updateRoland McGrath2009-04-021-1/+1
|
* 2009-04-01 Roland McGrath <roland@redhat.com>Roland McGrath2009-04-021-1/+13
| | | | | | | | | | | * elf/elf.h (R_SPARC_GLOB_JMP): New macro. (R_SPARC_GOTDATA_HIX22, R_SPARC_GOTDATA_LOX10): New macros. (R_SPARC_GOTDATA_OP_HIX22, R_SPARC_GOTDATA_OP_LOX10): Likewise. (R_SPARC_GOTDATA_OP, R_SPARC_H34): Likewise. (R_SPARC_SIZE32, R_SPARC_SIZE64): Likewise. (R_SPARC_GNU_VTINHERIT, R_SPARC_GNU_VTENTRY, R_SPARC_REV32): Likewise. (R_SPARC_NUM): Update. From Dave Miller <davem@davemloft.net>.
* * elf/dl-open.c: Keep track of used name spaces and only iterate over cvs/fedora-glibc-20090401T0935Ulrich Drepper2009-04-0111-30/+50
| | | | | | | | | | | | | | those which are used. * elf/dl-addr.c: Likewise. * elf/dl-caller.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-iteratephdr.c: Likewise. * elf/dl-libc.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-sym.c: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise.
* * elf/dl-load.c: Remove support for systems without MAP_ANON.Ulrich Drepper2009-03-314-40/+5
| | | | | | | * elf/dl-minimal.c: Likewise. * elf/dl-misc.c: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise.
* * elf/do-lookup.h (do_lookup_x): Minor optimization and cleanup.Ulrich Drepper2009-03-301-7/+7
| | | | Avoid reuse of complex expression.
* [BZ #9733]Ulrich Drepper2009-03-164-14/+20
| | | | | | | | | | | * elf/dl-load.c (_dl_map_object_from_fd): Only call audit hooks if we are not loading a new audit library. * elf/dl-reloc (_dl_relocate_object): Third parameter is now a bitmask. Only use profiling trampoline for auditing if we are not relocating an audit library. * elf/dl-open.c (dl_open_worker): Adjust _dl_relocate_object call. * elf/rtld.c: Likewise. * sysdeps/generic/ldsodefs.h: Adjust _dl_relocate_object prototype.
* * elf/rtld.c (dl_main): Extend help message for --audit option.Ulrich Drepper2009-03-161-1/+2
|
* * elf/dl-runtime.c (reloc_offset): Define.Ulrich Drepper2009-03-151-9/+12
| | | | | | | | | | | | | (reloc_index): Define. (_dl_fixup): Rename reloc_offset parameter to reloc_arg. (_dl_fixup_profile): Likewise. Use reloc_index instead of computing index from reloc_offset. (_dl_call_pltexit): Likewise. * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_resolve): Just pass the relocation index to _dl_fixup. (_dl_runtime_profile): Likewise for _dl_fixup_profile and _dl_call_pltexit. * sysdeps/x86_64/dl-runtime.c: New file.
* * elf/dl-sysdep.c (_dl_show_auxv): Add support for AT_BASE_PLATFORM.Ulrich Drepper2009-03-141-29/+30
| | | | * elf/dl-sysdep.c (auxvars): Compress data structure.
* * config.h.in (USE_MULTIARCH): Define.Ulrich Drepper2009-03-133-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | * configure.in: Handle --enable-multi-arch. * elf/dl-runtime.c (_dl_fixup): Handle STT_GNU_IFUNC. (_dl_fixup_profile): Likewise. * elf/do-lookup.c (dl_lookup_x): Likewise. * sysdeps/x86_64/dl-machine.h: Handle STT_GNU_IFUNC. * elf/elf.h (STT_GNU_IFUNC): Define. * include/libc-symbols.h (libc_ifunc): Define. * sysdeps/x86_64/cacheinfo.c: If USE_MULTIARCH is defined, use the framework in init-arch.h to get CPUID values. * sysdeps/x86_64/multiarch/Makefile: New file. * sysdeps/x86_64/multiarch/init-arch.c: New file. * sysdeps/x86_64/multiarch/init-arch.h: New file. * sysdeps/x86_64/multiarch/sched_cpucount.c: New file. * config.make.in (experimental-malloc): Define. * configure.in: Handle --enable-experimental-malloc. * malloc/Makefile: Handle experimental-malloc flag. * malloc/malloc.c: Implement PER_THREAD and ATOMIC_FASTBINS features. * malloc/arena.c: Likewise. * malloc/hooks.c: Likewise. * malloc/malloc.h: Define M_ARENA_TEST and M_ARENA_MAX.
* * include/stdio.h (fmemopen): Add libc_hidden_proto.Ulrich Drepper2009-03-101-1/+1
| | | | | | * libio/fmemopen.c (fmemopen): Add libc_hidden_def. * elf/sprof.c: Avoid warning about multi-line comment.
* * elf/dl-load.c (open_verify): In case VALID_ELF_HEADER isUlrich Drepper2009-02-101-1/+3
| | | | | | | defined, allow additional data to be added using the optional MORE_ELF_HEADER_DATA macro. * sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_HEADER, VALID_ELF_OSABI, VALID_ELF_ABIVERSION, MORE_ELF_HEADER_DATA): Define.
* * debug/xtrace.sh: Unify translatable messages.Ulrich Drepper2009-02-064-17/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf/ldd.bash.in: Likewise. * elf/sprof.c: Likewise. * locale/programs/locale.c: Likewise. * malloc/memusage.sh: Likewise. * nss/getent.c: Likewise. 2009-02-06 Joseph Myers <joseph@codesourcery.com> * debug/pcprofiledump.c (print_version, argp_program_version_hook): New function. * elf/ldconfig.c (more_help): New function. (argp): Use it. * elf/sln.c (usage): New function. (main): Support --help and --version. * malloc/memusagestat.c (print_version): New function. (argp_program_version_hook): New variable. * nscd/nscd.c (more_help): New function. (argp): Use it. * posix/getconf.c (main): Send --version output to stdout. Support --help. * sunrpc/rpc_main.c (usage, options_usage): Take STREAM and STATUS arguments. All callers changed. (print_version): New function. (parseargs): Support --help and --version. * sunrpc/rpcinfo.c (usage): Take STREAM argument. All callers changed. (print_version): New function. (main): Use getopt_long. Support --help and --version. * sysdeps/unix/sysv/linux/lddlibc4.c (main): Support --help and --version. 2009-02-06 Ulrich Drepper <drepper@redhat.com>
* * elf/Makefile (ld.so): Adjust the sed script to insert _begin in toUlrich Drepper2009-01-311-2/+2
| | | | newer linker scripts.
* * sysdeps/generic/dl-osinfo.h (_dl_setup_stack_chk_guard): TakeUlrich Drepper2009-01-113-11/+22
| | | | | | | | | | | | | | | | | | | one parameter. If non-NULL use it to initialize return value. (_dl_setup_pointer_guard): New function. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/generic/ldsodefs.h: Declare _dl_random. * elf/rtld.c (security_init): Pass _dl_random to _dl_setup_stack_chk_guard. Call _dl_setup_pointer_guard to initialize pointer_chk_guard. * elf/dl-sysdep.c (_dl_random): New variable. (_dl_sysdep_start): Handle AT_RANDOM. (_dl_show_auxv): Likewise. * elf/dl-support.c (_dl_random): New variable. (_dl_aux_init): Handle AT_RANDOM. * csu/libc-start.c [!SHARED] (libc_start_main): Pass _dl_random to _dl_setup_stack_chk_guard. * elf/elf.h (AT_RANDOM): Define AT_BASE_PLATFORM and AT_RANDOM.
* (AT_RANDOM): Define AT_BASE_PLATFORM and AT_RANDOM.Ulrich Drepper2009-01-111-0/+4
|
* * posix/getconf.c: Update copyright year.Ulrich Drepper2009-01-023-6/+6
| | | | | | | | | | | | | | | | | | * nss/getent.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. * debug/catchsegv.sh: Likewise.
* * elf/elf.h (NT_386_IOPERM): New macro.Roland McGrath2008-11-261-0/+2
| | | | (NT_PPC_VSX): New macro.
* * elf/dl-tls.c (__tls_get_addr): After calling _dl_update_slotinfo cvs/fedora-glibc-20081031T2102Ulrich Drepper2008-10-314-2/+71
| | | | | | | refetch dtv, as it might have changed. * elf/Makefile: Add rules to build and run tst-tls18. * elf/tst-tls18.c: New test. * elf/tst-tlsmod18a.c: New file.
* * elf/Makefile: Add rules to build and run tst-tls17. cvs/fedora-glibc-20081019T1815Ulrich Drepper2008-10-174-1/+77
| | | | | | * elf/tst-tls17.c: New test. * elf/tst-tlsmod17a.c: New file. * elf/tst-tlsmod17b.c: Likewise.
* * stdlib/divmod_1.c: Use correct type for dummy variable.Ulrich Drepper2008-10-171-1/+1
| | | | * stdlib/mod_1.c: Likewise.
* (_dl_update_slotinfo): Copy all of the initial DTV.Ulrich Drepper2008-10-161-1/+1
|
* 2008-10-01 Mark Shinwell <shinwell@codesourcery.com>Roland McGrath2008-10-011-2/+11
| | | | | | | | | | * elf/elf.h (STO_MIPS_PLT): New. (R_MIPS_COPY): New. (R_MIPS_JUMP_SLOT): New. (R_MIPS_NUM): Redefine to 128. (DT_MIPS_PLTGOT): New. (DT_MIPS_RWPLT): New. (DT_MIPS_NUM): Redefine to 0x35.
* * Makefile (check-data): Check data directory in add-ons.Roland McGrath2008-08-191-2/+2
| | | | * elf/Makefile (check-data): Likewise.
* * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Undo allUlrich Drepper2008-08-143-12/+0
| | | | | | | | | | change related to AT_EXECFN. We cannot use that string. * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Remove _dl_execfn member. * elf/dl-support.c: Remove _dl_execfn variable. (_dl_aux_init): Remove handling of AT_EXECFN. * elf/dl-sysdep.c (_dl_sysdep_start): Remove handling of AT_EXECFN. * elf/rtld.c (process_envvars): Remove use of __ASSUME_AT_EXECFN.
* * elf/Makefile (check-localplt.out): Also check libresolv andUlrich Drepper2008-08-011-0/+2
| | | | libcrypt.
* 2008-07-28 Roland McGrath <roland@redhat.com>Roland McGrath2008-07-291-0/+1
| | | | * elf/dl-sysdep.c (_dl_show_auxv): Add AT_EXECFN to the table.
* * Makeconfig: Define pie-ccflag and PIE-ccflag variables.Ulrich Drepper2008-07-262-3/+3
| | | | | | * elf/Makefile: Use pie-ccflag variable. * nscd/Makefile: Likewise. * sysdeps/sparc/Makefile: Set $(pie-ccflag) to -fPIE.
* * sunrpc/clnt_udp.c (__libc_clntudp_bufcreate): Namespace cleanup.Ulrich Drepper2008-07-262-12/+7
| | | | | | | | | * elf/dl-load.c (local_strdup): Remove inline. (_dl_map_object_from_fd): Don't allocate l_symbolic_searchlist.r_list. * elf/dl-object.c (_dl_new_object): Allocate symbolic searchlist as part of the object. * sysdeps/unix/sysv/linux/dl-origin.c: Add const to avoid warning.
* * elf/elf.h: Define AT_EXECFN.Ulrich Drepper2008-07-244-1/+15
| | | | | | | | | | | | | | | | * elf/rtld.c [!__ASSUME_AT_EXECFN] (process_envvars): Don't handle LD_ORIGIN_PATH. * elf/dl-sysdep.c (_dl_sysdep_start): Handle AT_EXECFN. * elf/dl-support.c: Define _dl_execfn. Don't define _dl_origin_path if __ASSUME_AT_EXECFN is defined. (_dl_aux_init): Handle AT_EXECFN. * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_AT_EXECFN for 2.6.27 and up. * sysdeps/generic/ldsodefs.h (rtld_global_ro): Add _dl_execfn. Don't define _dl_origin_path if __ASSUME_AT_EXECFN is defined. * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use _dl_execfn if available and avoid compatibility code if __ASSUME_AT_EXECFN is defined.
* * shlib-versions (sparc.*-.*-.*, sparc64.*-.*-.*): Add ABI lines.Roland McGrath2008-05-221-4/+8
| | | | | | | | | | | | * Makefile (check-data): Use $(abi-name) before other guesses. Look in $(add-ons) dirs before scripts/data/. * elf/Makefile (check-data): Likewise. * scripts/soversions.awk: Grok ABI line. * Makeconfig ($(common-objpfx)soversions.mk): Likewise. Emit definition for abi-name variable. if [__USE_BSD].
* * elf/soinit.c (__EH_FRAME_BEGIN__): Remove.Jakub Jelinek2008-05-191-4/+0
| | | | | | 2008-05-19 Jakub Jelinek <jakub@redhat.com> * elf/soinit.c (__EH_FRAME_BEGIN__): Remove.
* Introduce TLS descriptors for i386 and x86_64.Ulrich Drepper2008-05-135-28/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/inline-hashtab.h: New file, copied from 2005's libiberty, with fix for memory leak imported afterwards by Glauber de Oliveira Costa. * elf/tlsdeschtab.h: New file. * elf/dl-reloc.c (_dl_try_allocate_static_tls): Extract from... (_dl_allocate_static_tls): ... here. Rearrange failure path. (CHECK_STATIC_TLS): Move to... * elf/dynamic-link.h: ... this file. (TRY_STATIC_TLS): New macro. * elf/dl-conflict.c (CHECK_STATIC_TLS, TRY_STATIC_TLS): Override. * elf/elf.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL, R_386_TLS_DESC): Define. (R_X86_64_PC64, R_X86_GOTOFF64, R_X86_64_GOTPC32): Merge from binutils. (R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL, R_X86_64_TLSDESC): Define. (R_386_NUM, R_X86_64_NUM): Adjust. * sysdeps/i386/Makefile (sysdep-dl-routines, sysdep_routines, systep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir. (gen-as-const-headers): Add tlsdesc.sym to csu subdir. * sysdeps/i386/dl-lookupcfg.h: New file. Introduce _dl_unmap to release tlsdesc_table. * sysdeps/i386/dl-machine.h: Include dl-tlsdesc.h. (elf_machine_type_class): Mark R_386_TLS_DESC as PLT class. (elf_machine_rel): Handle R_386_TLS_DESC. (elf_machine_rela): Likewise. (elf_machine_lazy_rel): Likewise. (elf_machine_lazy_rela): Likewise. * sysdeps/i386/dl-tls.h (struct dl_tls_index): Name it. * sysdeps/i386/dl-tlsdesc.S: New file. * sysdeps/i386/dl-tlsdesc.h: New file. * sysdeps/i386/tlsdesc.c: New file. * sysdeps/i386/tlsdesc.sym: New file. * sysdeps/i386/bits/linkmap.h (struct link_map_machine): Add tlsdesc_table. * sysdeps/x86_64/Makefile (sysdep-dl-routines, sysdep_routines, systep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir. (gen-as-const-headers): Add tlsdesc.sym to csu subdir. * sysdeps/x86_64/dl-lookupcfg.h: New file. Introduce _dl_unmap to release tlsdesc_table. * sysdeps/x86_64/dl-machine.h: Include dl-tlsdesc.h. (elf_machine_runtime_setup): Set up lazy TLSDESC GOT entry. (elf_machine_type_class): Mark R_X86_64_TLSDESC as PLT class. (elf_machine_rel): Handle R_X86_64_TLSDESC. (elf_machine_rela): Likewise. (elf_machine_lazy_rel): Likewise. * sysdeps/x86_64/dl-tls.h (struct dl_tls_index): Name it. (__tls_get_addr): Do not declare for non-shared compiles. * sysdeps/x86_64/dl-tlsdesc.S: New file. * sysdeps/x86_64/dl-tlsdesc.h: New file. * sysdeps/x86_64/tlsdesc.c: New file. * sysdeps/x86_64/tlsdesc.sym: New file. * sysdeps/x86_64/bits/linkmap.h (struct link_map_machine): Add tlsdesc_table for both 32- and 64-bit structs.
* * elf/dl-tls.c (__tls_get_addr): Optimize by moving slow path inUlrich Drepper2008-05-121-43/+56
| | | | its own function. This reduces the frame setup costs and more.
* * elf/tls-macros.h (__TLS_GET_ADDR): Define according to the ABIUlrich Drepper2008-04-111-2/+7
| | | | | | in use. (TLS_LD): Use __TLS_GET_ADDR instead of .__tls_get_addr. (TLS_GD): Likewise.
* * elf/Makefile (tests): Substitute tests-vis-yes here.Ulrich Drepper2008-04-101-7/+5
| | | | | (tests-vis-yes): Delete. (modules-name, modules-vis-yes): Similarly.