summaryrefslogtreecommitdiff
path: root/elf
AgeCommit message (Collapse)AuthorFilesLines
2008-03-19Remove useless "if" before "free".Ulrich Drepper1-2/+1
2008-03-08* sysdeps/unix/sysv/linux/dl-sysdep.c: Avoid unnecessary code forUlrich Drepper1-3/+4
.o file. * elf/Makefile (routines): Add dl-sysdep. (elide-routines.os): Likewise.
2008-03-08[BZ #5786]Ulrich Drepper3-3/+6
* elf/dl-sysdep.c: Undefine ROUND after use. * sysdeps/generic/ldsodefs.h [HAVE_DL_DISCOVER_OSVERSION] (struct rtld_global_ro): Add _dl_tls_get_addr_soft element. * elf/rtld.c (rtld_global_ro): Initialize _dl_discover_osversion. * sysdeps/unix/sysv/linux/dl-osinfo.h: Move _dl_discover_osversion to ... * sysdeps/unix/sysv/linux/dl-sysdep.c: ...here. * sysdeps/unix/sysv/linux/dl-sysdep.h: Declare _dl_discover_osversion if necessary. * sysdeps/unix/sysv/linux/sysconf.c: Handle _SC_ARG_MAX here.
2008-03-08* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): AddUlrich Drepper4-7/+7
_dl_tls_get_addr_soft element. * elf/rtld.c (rtld_global_ro): Initialize _dl_tls_get_addr_soft. * elf/Versions (ld): Don't export _dl_tls_get_addr_soft. * dlfcn/dlinfo.c (dlinfo_doit): Access dl_tls_get_addr_soft through GLRO. * elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise. * elf/dl-tls.c (_dl_tls_get_addr_soft): Use attribute_hidden instead of internal_function.
2008-02-202008-02-19 Roland McGrath <roland@redhat.com>Roland McGrath1-0/+1
* elf/elf.h (SHT_GNU_ATTRIBUTES): New macro.
2008-02-09* elf/elf.h (NT_PPC_SPE): New macro.Roland McGrath1-0/+1
2008-01-302008-01-30 Roland McGrath <roland@redhat.com>Roland McGrath1-1/+3
* elf/elf.h (NT_386_TLS): New macro.
2008-01-30* Makeconfig (sysd-rules-patterns): New variable.Roland McGrath1-14/+8
* Makerules ($(common-objpfx)sysd-rules): Drive the loop from that. (check-inhibit-asm): New canned sequence, replaces ... (open-check-inhibit-asm, close-check-inhibit-asm): ... these, removed. * elf/rtld-Rules ($(objpfx)rtld-%.os): Use $(rtld-CPPFLAGS) in commands. (rtld-CPPFLAGS): Renamed from CPPFLAGS-rtld. (CFLAGS-rtld): Variable removed.
2008-01-17* include/link.h (FORCED_DYNAMIC_TLS_OFFSET): Define.Ulrich Drepper7-10/+115
* elf/dl-close.c (_dl_close): Check for it. * elf/dl-reloc.c (CHECK_STATIC_TLS): Likewise. (_dl_allocate_static_tls): Likewise. * elf/dl-tls.c (_dl_allocate_tls_init): Likewise. (__tls_get_addr): Protect from race conditions in setting l_tls_offset to it. * elf/tst-tls16.c: New file. * elf/tst-tlsmod16a.c: New file. * elf/tst-tlsmod16b.c: New file. * elf/Makefile: Add rules to build and run tst-tls16.
2008-01-02* posix/getconf.c: Update copyright year.Ulrich Drepper3-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.
2007-12-17* elf/tst-execstack.c (do_test): Don't fail if SELinux forbidsUlrich Drepper1-3/+38
executable stacks.
2007-11-06* elf/rtld.c (dl_main): Use the page size to find the map start.Ulrich Drepper1-1/+2
2007-10-31* elf/rtld.c (dl_main): Initialize stack and pointer guard earlyUlrich Drepper1-23/+39
when using auditing libraries.
2007-10-28[BZ #5222]Ulrich Drepper1-1/+1
2007-10-28 Ulrich Drepper <drepper@redhat.com> [BZ #5222] * elf/dl-load.c (_dl_rtld_di_serinfo): Correct handling of short path elements in counting mode.
2007-10-202007-10-19 Roland McGrath <roland@redhat.com>Roland McGrath1-1/+1
* elf/Makefile ($(objpfx)ld.so): Use $(AWK). * scripts/check-errnos.sh: Likewise.
2007-10-192007-10-06 David S. Miller <davem@davemloft.net>Jakub Jelinek1-0/+1
* configure.in: Add sparcv9v2 and sparc64v2. * scripts/config.sub: Likewise. * configure: Regenerate. * elf/elf.h (HWCAP_SPARC_N2): New. * sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Bump to 8. * sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add 'v9v2'. (HWCAP_IMPORTANT): Add HWCAP_SPARC_N2. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memset.S: New file. 2007-10-06 David S. Miller <davem@davemloft.net> * configure.in: Add sparcv9v2 and sparc64v2. * scripts/config.sub: Likewise. * configure: Regenerate. * elf/elf.h (HWCAP_SPARC_N2): New. * sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Bump to 8. * sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add 'v9v2'. (HWCAP_IMPORTANT): Add HWCAP_SPARC_N2. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memset.S: New file.
2007-10-182007-10-18 Roland McGrath <roland@redhat.com>Roland McGrath1-0/+1
* elf/elf.h (NT_PPC_VMX): New macro.
2007-10-13(save_aux_cache): Free memory allocated for temporary file name.Ulrich Drepper1-0/+1
2007-10-05[BZ #5104]Ulrich Drepper1-1/+2
* elf/do-lookup.h (do_lookup_x): Don't ignore STT_COMMON symbols.
2007-09-29* sysdeps/generic/ldsodefs.h (struct dl_scope_free_list): StoreUlrich Drepper5-89/+179
void * pointers instead of struct link_map **. (_dl_scope_free): Change argument type to void *. * include/link.h (struct link_map): Change type of l_reldeps to struct link_map_reldeps, move l_reldepsact into that struct too. * elf/dl-deps.c: Include atomic.h. (_dl_map_object_deps): Only change l->l_initfini when it is fully populated, use _dl_scope_free for freeing it. Optimize removal of libs from reldeps by using l_reserved flag, when some removal is needed, allocate a new list instead of reallocating and free the old with _dl_scope_free. Adjust for l_reldeps and l_reldepsact changes. * elf/dl-lookup.c (add_dependency): Likewise. Reorganize to allow searching in l_initfini and l_reldeps without holding dl_load_lock. * elf/dl-fini.c (_dl_sort_fini): Adjust for l_reldeps and l_reldepsact changes. * elf/dl-close.c (_dl_close_worker): Likewise. * elf/dl-open.c (_dl_scope_free): Change argument type to void *.
2007-09-19* elf/dl-lookup.c (add_dependency): Handle failing memoryUlrich Drepper1-6/+6
allocation for dependency list. Remove unnecessary check.
2007-09-18* sysdeps/generic/ldsodefs.h (DL_LOOKUP_GSCOPE_LOCK): New definition.Ulrich Drepper4-26/+71
* elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Or in DL_LOOKUP_GSCOPE_LOCK into flags after THREAD_GSCOPE_SET_FLAG (). * elf/dl-sym.c (do_sym): Likewise. * include/link.h (struct link_map): Add l_serial field. * elf/dl-object.c (_dl_new_object): Initialize l_serial. * elf/dl-lookup.c (add_dependency): Add flags argument. Remember map->l_serial, if DL_LOOKUP_GSCOPE_LOCK is among flags, use THREAD_GSCOPE_RESET_FLAG before and THREAD_GSCOPE_SET_FLAG after __rtld_lock_lock_recursive (GL(dl_load_lock)) to avoid deadlock. Don't dereference map until it has been found on some list. If map->l_serial changed, return -1.
2007-08-21* elf/elf.h: Define R_PARISC_PLABEL21L, R_PARISC_PLABEL14R,Ulrich Drepper1-0/+22
R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT, R_PARISC_TLS_GD21L, R_PARISC_TLS_GD14R, R_PARISC_TLS_GDCALL, R_PARISC_TLS_LDM21L, R_PARISC_TLS_LDM14R, R_PARISC_TLS_LDMCALL, R_PARISC_TLS_LDO21L, R_PARISC_TLS_LDO14R, R_PARISC_TLS_DTPMOD32, R_PARISC_TLS_DTPMOD64, R_PARISC_TLS_DTPOFF32, R_PARISC_TLS_DTPOFF64, R_PARISC_TLS_LE21L, R_PARISC_TLS_LE14R, R_PARISC_TLS_IE21L, R_PARISC_TLS_IE14R, R_PARISC_TLS_TPREL32, R_PARISC_TLS_TPREL64.
2007-08-21(do_lookup_x): Minimal improvement in hash lookup loop.Ulrich Drepper1-1/+1
2007-08-16* elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u Jakub Jelinek1-1/+2
to check for undefined symbols. * elf/Makefile ($(objpfx)ld.so): Use readelf -s and awk instead of nm -u to check for undefined symbols.
2007-08-14* elf/dl-misc.c: Undo last change. The kernel won't allow it.Ulrich Drepper1-6/+2
2007-08-13* elf/dl-dst.h: No need for _dl_dst_count, _dl_dst_substitute,Ulrich Drepper1-8/+0
and _dl_get_origin defines anymore.
2007-08-13* sysdeps/unix/sysv/linux/x86_64/libc-start.cUlrich Drepper1-1/+1
(_libc_vdso_platform_setup): Mangle function pointers before storing them. * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INLINE_VSYSCALL): Demangle vdso pointer before use. (INTERNAL_VSYSCALL): Likewise. * elf/cache.c (primes): Mark as const. Noted by Roland McGrath.
2007-08-122007-08-01 Andreas Jaeger <aj@suse.de>Ulrich Drepper4-152/+491
Jakub Jelinek <jakub@redhat.com> * elf/ldconfig.c (opt_ignore_aux_cache): Add new option. (options): Add option. (parse_opt): Handle option. (manual_link): Adjust process_file caller. Call implicit_soname. (search_dir): Formatting. Use and populate auxiliary cache. (main): Load and save auxiliary cache. * elf/readlib.c (process_file): Add stat_buf argument. Pass struct stat64 from fstat64 to caller. (implicit_soname): New function. * elf/readelflib.c (process_elf_file): If DT_SONAME is not present, leave *soname as NULL. * elf/cache.c: Include libgen.h. (print_entry, print_cache, compare, save_cache, add_to_cache): Formatting and cleanups. (aux_cache_entry_id, aux_cache_entry, aux_cache_file_entry, aux_cache_file): New structures. (AUX_CACHEMAGIC): Define. (primes): New array. (aux_hash_size, aux_hash): New variables. (aux_cache_entry_id_hash, nextprime, init_aux_cache, search_aux_cache, insert_to_aux_cache, add_to_aux_cache, load_aux_cache, save_aux_cache): New functions. * sysdeps/generic/ldconfig.h (_PATH_LDCONFIG_AUX_CACHE): Define. (init_aux_cache, search_aux_cache, add_to_aux_cache, load_aux_cache, save_aux_cache, implicit_soname): New prototypes. (process_file): Adjust prototype.
2007-08-11* elf/dl-misc.c (_dl_sysdep_read_whole_file): We really don't needUlrich Drepper1-2/+6
an atime update for the files we read.
2007-08-07* include/stdlib.h: Add libc_hidden_proto for strto*, __strto*_l.Roland McGrath1-12/+10
Remove __strto*_l inlines. * include/wchar.h: Add libc_hidden_proto for wcsto*, __wcsto*_l. * stdlib/strtod.c: Add libc_hidden_def. * stdlib/strtod_l.c: Likewise. * stdlib/strtold.c [__LONG_DOUBLE_MATH_OPTIONAL]: Add libc_hidden_proto for __new_strtold and __new_wcstold. * sysdeps/ieee754/ldbl-128ibm/strtold_l.c: Add libc_hidden_proto for __STRTOF, STRTOF. * stdlib/strtol.c: Add libc_hidden_def. * stdlib/strtol_l.c: Likewise. * sysdeps/wordsize-64/strtol.c: Add libc_hidden_ver for strtoll and strtoq. * scripts/data/localplt-powerpc-linux-gnu.data: New file. * scripts/data/localplt-x86_64-linux-gnu.data: File renamed to ... * scripts/data/localplt-generic.data: ... here. * elf/Makefile (check-data): Get generic file if no other. ($(objpfx)check-localplt.out): Make target unconditional.
2007-08-03* intl/dcigettext.c (_nl_find_msg): Free encoding if __gconv_openUlrich Drepper1-0/+1
failed. * intl/finddomain.c (_nl_find_domain): Free normalized_codeset on failure. * elf/dl-load.c (decompose_rpath): Free copy if result couldn't be allocated. 2007-08-03 Jakub Jelinek <jakub@redhat.com>
2007-07-16* elf/ldconfig.c: Allow GPLv2 or any later version.Roland McGrath4-8/+12
* elf/readlib.c: Likewise. * elf/chroot_canon.c: Likewise. * elf/cache.c: Likewise. * nscd/mem.c: Likewise. * nscd/getpwuid_r.c: Likewise. * nscd/grpcache.c: Likewise. * nscd/aicache.c: Likewise. * nscd/getsrvbynm_r.c: Likewise. * nscd/nscd.c: Likewise. * nscd/servicescache.c: Likewise. * nscd/getsrvbypt_r.c: Likewise. * nscd/initgrcache.c: Likewise. * nscd/gethstbyad_r.c: Likewise. * nscd/gethstbynm2_r.c: Likewise. * nscd/getgrnam_r.c: Likewise. * nscd/nscd_setup_thread.c: Likewise. * nscd/getpwnam_r.c: Likewise. * nscd/gai.c: Likewise. * nscd/connections.c: Likewise. * nscd/dbg_log.c: Likewise. * nscd/cache.c: Likewise. * nscd/hstcache.c: Likewise. * nscd/nscd_conf.c: Likewise. * nscd/getgrgid_r.c: Likewise. * nscd/pwdcache.c: Likewise. * catgets/gencat.c: Likewise. * locale/programs/linereader.h: Likewise. * locale/programs/locarchive.c: Likewise. * locale/programs/ld-paper.c: Likewise. * locale/programs/locfile-kw.h: Likewise. * locale/programs/ld-address.c: Likewise. * locale/programs/xmalloc.c: Likewise. * locale/programs/ld-time.c: Likewise. * locale/programs/localedef.c: Likewise. * locale/programs/simple-hash.c: Likewise. * locale/programs/xstrdup.c: Likewise. * locale/programs/ld-numeric.c: Likewise. * locale/programs/locfile-kw.gperf: Likewise. * locale/programs/ld-collate.c: Likewise. * locale/programs/charmap-kw.gperf: Likewise. * locale/programs/charmap.h: Likewise. * locale/programs/charmap-kw.h: Likewise. * locale/programs/config.h: Likewise. * locale/programs/locfile.c: Likewise. * locale/programs/ld-ctype.c: Likewise. * locale/programs/charmap.c: Likewise. * locale/programs/ld-messages.c: Likewise. * locale/programs/repertoire.h: Likewise. * locale/programs/locale.c: Likewise. * locale/programs/ld-name.c: Likewise. * locale/programs/linereader.c: Likewise. * locale/programs/locfile.h: Likewise. * locale/programs/3level.h: Likewise. * locale/programs/ld-monetary.c: Likewise. * locale/programs/ld-measurement.c: Likewise. * locale/programs/charmap-dir.c: Likewise. * locale/programs/ld-identification.c: Likewise. * locale/programs/localedef.h: Likewise. * locale/programs/charmap-dir.h: Likewise. * locale/programs/repertoire.c: Likewise. * locale/programs/simple-hash.h: Likewise. * locale/programs/ld-telephone.c: Likewise. * locale/programs/locale-spec.c: Likewise. * locale/programs/locfile-token.h: Likewise. * posix/getconf.c: Likewise. * iconv/dummy-repertoire.c: Likewise. * iconv/iconv_charmap.c: Likewise. * iconv/iconvconfig.c: Likewise. * iconv/iconv_prog.c: Likewise. * malloc/memusagestat.c: Likewise. * sysdeps/unix/sysv/linux/nscd_setup_thread.c: Likewise.
2007-07-12[BZ #4775, BZ #4776]Ulrich Drepper1-3/+6
2007-07-12 Jakub Jelinek <jakub@redhat.com> [BZ #4775] * math/tgmath.h (__tgmath_real_type_sub): Formatting. (__tgmath_real_type): Fix if expr is const int or other const qualified integral type. (__TGMATH_UNARY_REAL_ONLY): Rewritten to avoid using statement expressions and handle const qualified arguments. (__TGMATH_BINARY_FIRST_REAL_ONLY, __TGMATH_UNARY_REAL_IMAG, __TGMATH_UNARY_REAL_IMAG_RET_REAL): Likewise. (__TGMATH_UNARY_REAL_RET_ONLY): Rewritten to avoid using statement expressions. (__TGMATH_BINARY_REAL_ONLY, __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY, __TGMATH_TERNARY_REAL_ONLY, __TGMATH_BINARY_REAL_IMAG): Likewise. (__TGMATH_UNARY_IMAG): Define. (conj, cproj): Use __TGMATH_UNARY_IMAG macro. * math/Makefile (tests): Add test-tgmath2. (CFLAGS-test-tgmath2.c): Add. * math/test-tgmath.c (fy, dy, ly, fz, dz, lz, count_cdouble, count_cfloat, count_cldouble): New variables. (NCCALLS): Define. (main): Check number of complex calls as well. (F(compile_test)): Add complex tests and tests with const qualified arguments. (y, z, ccount): Define. (F(cacos), F(casin), F(catan), F(ccos), F(csin), F(ctan), F(cacosh), F(casinh), F(catanh), F(ccosh), F(csinh), F(ctanh), F(cexp), F(clog), F(csqrt), F(cpow), F(cabs), F(carg), F(creal), F(cimag), F(conj), F(cproj)): New functions. * math/test-tgmath2.c: New test. 2007-07-11 Jakub Jelinek <jakub@redhat.com> [BZ #4776] * elf/dl-load.c (_dl_rtld_di_serinfo): Output / in LD_LIBRARY_PATH, RPATH etc. as "/" rather than "", don't segfault on empty paths, instead output ".". * dlfcn/Makefile (distribute): Add glreflib3.c. (module-names): Add glreflib3. ($(objpfx)tst-dlinfo.out): Depend on glreflib3.so rather than glreflib1.so. (LDFLAGS_glreflib3.so): New. * dlfcn/tst-dlinfo.c (do_test): Load glreflib3.so instead of glreflib1.so. * dlfcn/glreflib3.c: New file. * intl/finddomain.c (_nl_find_domain): If _nl_explode_name returned -1, return NULL. * intl/explodename.c (_nl_explode_name): Return -1 if _nl_normalize_codeset failed.
2007-07-102007-07-09 Roland McGrath <roland@redhat.com>Roland McGrath1-5/+18
* elf/elf.h (NT_GNU_ABI_TAG): New macro. (ELF_NOTE_ABI): Use it. (NT_GNU_HWCAP, NT_GNU_BUILD_ID): New macros.
2007-07-04Fix typo.Ulrich Drepper1-1/+1
2007-07-04* elf/dl-sysdep.c (_dl_important_hwcaps): Add integer overflow check.Ulrich Drepper2-8/+34
* elf/dl-minimal.c (__libc_memalign): Likewise. Handle malloc (0). Return NULL if mmap failed instead of asserting it does not. (calloc): Check for integer overflow. * elf/dl-minimal.c (__strtoul_internal): Fix parsing of numbers bigger than LONG_MAX / 10.
2007-06-30* elf/dl-load.c (open_verify): Find .note.ABI-tag notes evenUlrich Drepper1-8/+29
in PT_NOTE segments with multiple notes. * elf/readelflib.c (process_elf_file): Likewise.
2007-06-30(open_verify): Find .note.ABI-tag notes even in PT_NOTE segments with ↵Ulrich Drepper1-6/+23
multiple notes.
2007-06-20* elf/dl-close.c (free_mem): Free _dl_scope_free_list.Ulrich Drepper7-77/+83
2007-06-13 Jakub Jelinek <jakub@redhat.com> * include/link.h: Don't include rtld-lowlevel.h. (struct link_map): Remove l_scope_lock. * sysdeps/generic/ldsodefs.h: Don't include rtld-lowlevel.h. (_dl_scope_free_list): New field (variable) in _rtld_global. (DL_LOOKUP_SCOPE_LOCK): Remove. (_dl_scope_free): New prototype. * elf/dl-runtime.c (_dl_fixup): Don't use __rtld_mrlock_*lock. Don't pass DL_LOOKUP_SCOPE_LOCK to _dl_lookup_symbol_x. (_dl_profile_fixup): Likewise. * elf/dl-sym.c (do_sym): Likewise. Use wrapped _dl_lookup_symbol_x whenever !RTLD_SINGLE_THREAD_P, use THREAD_GSCOPE_SET_FLAG and THREAD_GSCOPE_RESET_FLAG around it. * elf/dl-close.c (_dl_close_worker): Don't use __rtld_mrlock_{change,done}. Call _dl_scope_free on the old scope. Make sure THREAD_GSCOPE_WAIT () happens if any old scopes were queued or if l_scope_mem has been abandoned. * elf/dl-open.c (_dl_scope_free): New function. (dl_open_worker): Use it. Don't use __rtld_mrlock_{change,done}. * elf/dl-support.c (_dl_scope_free_list): New variable. * elf/dl-lookup.c (add_dependency): Remove flags argument. Remove DL_LOOKUP_SCOPE_LOCK handling. (_dl_lookup_symbol_x): Adjust caller. Remove DL_LOOKUP_SCOPE_LOCK handling. * elf/dl-object.c (_dl_new_object): Don't use __rtld_mrlock_initialize. 2007-06-19 Ulrich Drepper <drepper@redhat.com>
2007-06-19* sysdeps/generic/ldsodefs.h (rtld_global): Reorder some elementsUlrich Drepper5-26/+52
to fill in holes (rtld_global_ro): Likewise. 2007-06-18 Jakub Jelinek <jakub@redhat.com> * elf/dl-addr.c (_dl_addr): Skip PT_LOAD checking if l_contiguous. Move PT_LOAD checking to... (_dl_addr_inside_object): ... here, new function. * elf/dl-sym.c (do_sym): If not l_contiguous, call _dl_addr_inside_object. * elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise. * dlfcn/dlinfo.c (dlinfo_doit): Likewise. * elf/dl-open.c (dl_open_worker): Likewise. (_dl_addr_inside_object): New function if IS_IN_rtld. * elf/dl-load.c (_dl_map_object_from_fd): Set l_contiguous if no holes are present or are PROT_NONE protected. * include/link.h (struct link_map): Add l_contiguous field. * sysdeps/generic/ldsodefs.h (_dl_addr_inside_object): New prototype.
2007-06-18* elf/rtld.c (dl_main): Don't call init_tls more than once.Ulrich Drepper1-5/+5
2007-06-09* elf/do-lookup.h (do_lookup_x): Read r_nlist before r_list andUlrich Drepper1-2/+7
make sure gcc doesn't mess around with this.
2007-06-09* elf/dl-lookup.c (_dl_lookup_symbol_x): Remove use of r_nlist.Ulrich Drepper1-7/+3
2007-06-09* elf/dl-close.c (_dl_close_worker): Remove all to be removedUlrich Drepper1-19/+32
libraries from the global scope at once and call THREAD_GSCOPE_WAIT at most once per _dl_close_worker.
2007-05-19* elf/dl-close.c (_dl_close_worker): When removing object fromUlrich Drepper4-11/+49
global scope, wait for all lookups to finish afterwards. * elf/dl-open.c (add_to_global): When global scope array must grow, allocate a new one and free old array only after all lookups finish. * elf/dl-runtime.c (_dl_fixup): Protect using global scope. (_dl_lookup_symbol_x): Likewise. * elf/dl-support.c: Define _dl_wait_lookup_done. * sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_wait_lookup_done.
2007-05-11(add_to_global): One more small cleanup patch.Ulrich Drepper1-6/+3
2007-05-11* elf/dl-close.c (_dl_close_worker): Help gcc to optimize byUlrich Drepper1-29/+29
adding new variables. optimize. Completely extend global scope array before making the
2007-05-11* elf/dl-open.c (add_to_global): Introduce variable ns to help gccUlrich Drepper1-19/+22
optimize. Complerely extend global scope array before making the new entries visible.
2007-05-06[BZ #4131]Ulrich Drepper1-113/+113
2007-05-06 Ulrich Drepper <drepper@redhat.com> [BZ #4131] * elf/dl-addr.c (_dl_addr): Compare address with actual segment boundaries to work around systems with overlapping binary loading. Based on a patch by Suzuki <suzuki@in.ibm.com>.