aboutsummaryrefslogtreecommitdiff
path: root/elf
AgeCommit message (Collapse)AuthorFilesLines
2009-07-27Fix STB_GNU_UNIQUE handling for > 30 unique symbols.Jakub Jelinek1-2/+3
There were several issues when the initial 31 entries hashtab filled up. size * 3 <= tab->n_elements is always false, table can't have more elements than its size. I assume from libiberty/hashtab.c this meant to be check for 3/4 full. Even after fixing that, _dl_higher_prime_number (31) apparently returns 31, only _dl_higher_prime_number (32) returns 61. And, size variable wasn't updated during reallocation, which means during reallocation the insertion of the new entry was done into a wrong spot. All this lead to a hang in ld.so, because a search with n_elements 31 size 31 wouldn't ever terminate.
2009-07-26Define NT_GNU_GOLD_VERSION.Ulrich Drepper1-0/+3
2009-07-23Minor optimization of unloading prevention patch.Ulrich Drepper1-5/+5
References to unique symbols from copy relocations can only come from executables which cannot be unloaded anyway. Optimize the code to set the unload flag a bit.
2009-07-23Fix comment.Ulrich Drepper1-1/+1
2009-07-23Some more fixes for the unique symbol handling.Ulrich Drepper1-5/+4
The hash value can be zero, so we need a different test for empty slots. And unify the way we prevent a DSO from being unloaded.
2009-07-23Handle unloading of DSO with a unique symbol definition.Ulrich Drepper2-5/+48
2009-07-16Remove warning and little optimization.Ulrich Drepper1-0/+1
The prototype for _dl_higher_prime_number was missing. While at it, the function is now marked with internal_function.
2009-07-15Fix build issue with modules for audit test on machines != x86-64.Ulrich Drepper1-3/+5
2009-07-10Add AVX support to ld.so auditing for x86-64.H.J. Lu7-2/+554
2009-07-10Remove do-lookup.h.Ulrich Drepper3-388/+366
It is not necessary/useful anymore to have the content separate from dl-lookup.c.
2009-07-09Implement STB_GNU_UNIQUE handling.Ulrich Drepper11-11/+291
Some symbols have to be identified process-wide by their name. This is particularly important for some C++ features (e.g., class local static data and static variables in inline functions). This cannot completely be implemented with ELF functionality so far. The STB_GNU_UNIQUE binding helps by ensuring the dynamic linker will always use the same definition for all symbols with the same name and this binding.
2009-07-07Define STB_GNU_UNIQUE.Ulrich Drepper1-0/+1
2009-07-07Clean up code for hash table handling in ld.so.Ulrich Drepper1-0/+64
2009-07-06Optimize test for valid ELF symbol types in lookup function.ibm/masterUlrich Drepper1-7/+7
2009-07-02Fix whitespace in last patch.Ulrich Drepper2-2/+2
2009-07-02Fix handling of xmm6 in ld.so audit hooks on x86-64.H.J. Lu4-1/+210
2009-06-22More whitespace cleanups.Ulrich Drepper2-2/+2
2009-06-22Clean up whitespaces in last patch.Ulrich Drepper3-6/+6
2009-06-22Add more IFUNC tests.H.J. Lu18-5/+399
Mostly tests around not-exported IFUNC functions, IFUNC in statically linked binaries and PIEs, etc.
2009-06-17Use +link-pie Makefile rule to link PIE ifunc tests.H.J. Lu1-16/+2
2009-06-16Don't treat bug reporting message as a format string.Andreas Schwab1-2/+2
2009-06-16Consolidate PIE linking Makefile rules.H.J. Lu1-8/+1
2009-06-15libc part of prelink IFUNC support.Jakub Jelinek1-6/+11
The dl-lookup.c changes are needed for prelink (support in prelink checked into SVN, tested for both i?86 and x86-64), dl-irel.h just something I discovered by code inspection.
2009-06-03Test for ELF IFUNC functionality.H.J. Lu24-1/+627
2009-06-03Terminate correct buffer.Ulrich Drepper1-1/+1
Little typo could cause additional characters to be printed.
2009-05-31Finish IFUNC support for x86 and x86-64.Ulrich Drepper1-2/+4
Add support for the IRELAIVE relocation and IFUNC in static executables.
2009-05-16Remove redundant .gitignore files.Andreas Schwab1-6/+0
2009-05-15rename each .cvsignore file to .gitignoreJim Meyering1-0/+0
2009-05-15Test DSOs for executable stack.Ulrich Drepper2-2/+170
Add a text program, built to run on the host, to check all newly built DSOs for executable stacks and fail if the stack information is missing or indicates executable stacks.
2009-04-27[BZ #10087]Ulrich Drepper1-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>.
2009-04-26* nscd/connections.c (send_ro_fd): Define temporary variable to avoidUlrich Drepper1-15/+52
warning. * elf/sprof.c: Likewise.
2009-04-26* sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Remove inlineUlrich Drepper2-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.
2009-04-19[BZ #10069]Ulrich Drepper1-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-172009-04-16 Samuel Thibault <samuel.thibault@ens-lyon.org>Roland McGrath1-9/+7
* elf/rtld.c (dl_main): Really call _dl_sysdep_start_cleanup after all calls to _dl_relocate_object.
2009-04-16* elf/dl-open.c (_dl_open): Bump GL(dl_nns) to 1 if no libraries cvs/fedora-glibc-20090416T1610Jakub Jelinek1-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-152009-04-14 Roland McGrath <roland@redhat.com>Roland McGrath1-22/+42
* elf/elf.h: Add various missing ARM constants, to match binutils.
2009-04-02Missed copyright year updateRoland McGrath1-1/+1
2009-04-022009-04-01 Roland McGrath <roland@redhat.com>Roland McGrath1-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>.
2009-04-01* elf/dl-open.c: Keep track of used name spaces and only iterate overcvs/fedora-glibc-20090401T0935Ulrich Drepper11-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.
2009-03-31* elf/dl-load.c: Remove support for systems without MAP_ANON.Ulrich Drepper4-40/+5
* elf/dl-minimal.c: Likewise. * elf/dl-misc.c: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise.
2009-03-30* elf/do-lookup.h (do_lookup_x): Minor optimization and cleanup.Ulrich Drepper1-7/+7
Avoid reuse of complex expression.
2009-03-16[BZ #9733]Ulrich Drepper4-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.
2009-03-16* elf/rtld.c (dl_main): Extend help message for --audit option.Ulrich Drepper1-1/+2
2009-03-15* elf/dl-runtime.c (reloc_offset): Define.Ulrich Drepper1-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.
2009-03-14* elf/dl-sysdep.c (_dl_show_auxv): Add support for AT_BASE_PLATFORM.Ulrich Drepper1-29/+30
* elf/dl-sysdep.c (auxvars): Compress data structure.
2009-03-13* config.h.in (USE_MULTIARCH): Define.Ulrich Drepper3-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.
2009-03-10* include/stdio.h (fmemopen): Add libc_hidden_proto.Ulrich Drepper1-1/+1
* libio/fmemopen.c (fmemopen): Add libc_hidden_def. * elf/sprof.c: Avoid warning about multi-line comment.
2009-02-10* elf/dl-load.c (open_verify): In case VALID_ELF_HEADER isUlrich Drepper1-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.
2009-02-06* debug/xtrace.sh: Unify translatable messages.Ulrich Drepper4-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>
2009-01-31* elf/Makefile (ld.so): Adjust the sed script to insert _begin in toUlrich Drepper1-2/+2
newer linker scripts.