aboutsummaryrefslogtreecommitdiff
path: root/elf/ldconfig.c
AgeCommit message (Collapse)Author
2001-05-17* elf/ldconfig.c (add_dir): Only warn about stat failure if Andreas Jaeger
opt_verbose. (search_dir): Likewise.
2001-05-08Update.Andreas Jaeger
2001-03-16Update.Ulrich Drepper
2001-03-16 Jakub Jelinek <jakub@redhat.com> * elf/ldconfig.c (search_dir): Remove bogus diagnostic, instead update osversion from more recent library.
2001-03-16Update.Ulrich Drepper
2001-03-12 Jakub Jelinek <jakub@redhat.com> * csu/Makefile (abi-tag.h): Define OS and version separately, allow version to be overriden from config.h. * csu/abi-note.S: Use OS and version separately, include config.h. * elf/dl-load.c (_dl_osversion): New. (_dl_map_object_from_fd): Kill some warnings. (open_verify): Check .note.ABI-tag of the library if present. * elf/Makefile (CPPFLAGS-dl-load.c): Add -I$(csu-objpfx). * elf/cache.c (struct cache_entry): Add osversion. (print_entry): Print osversion. (print_cache): Pass osversion to it. (compare): Sort according to osversion. (save_cache): Set osversion. (add_to_cache): Add osversion argument. * sysdeps/generic/ldconfig.h (add_to_cache, process_file, process_elf_file): Add osversion argument. * elf/readlib.c (process_file): Likewise. * sysdeps/generic/readelflib.c (process_elf_file): Likewise. * sysdeps/unix/sysv/linux/ia64/readelflib.c (process_elf_file, process_elf32_file, process_elf64_file): Likewise. * sysdeps/unix/sysv/linux/i386/readelflib.c (process_elf_file, process_elf32_file, process_elf64_file): Likewise. * sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file, process_elf32_file, process_elf64_file): Likewise. * elf/ldconfig.c (manual_link): Pass it. (search_dir): Issue diagnostic if two libs with the same soname in the same directory have different .note.ABI-tag. Record osversion in dlib_entry and use it from there. (struct lib_entry): Remove. (struct dlib_entry): Add osversion. * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Check osversion. * sysdeps/generic/dl-cache.h (struct file_entry_new): Replace __unused field with osversion. * sysdeps/generic/ldsodefs.h (_dl_osversion): Declare. * sysdeps/unix/sysv/linux/init-first.c: Include ldsodefs.h. * sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Save kernel version in _dl_osversion. * sysdeps/unix/sysv/linux/configure.in: Define __ABI_TAG_VERSION. * Makerules (build-shlib-helper, build-module-helper): New. (build-shlib, build-module-helper): Make sure .note.ABI-tag comes early. * config.h.in (__ABI_TAG_VERSION): Add. * elf/dl-minimal.c (__strtoul_internal): Set endptr on return. * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Handle LD_ASSUME_KERNEL. * sysdeps/unix/sysv/linux/dl-librecon.h: New.
2001-03-07Update.Andreas Jaeger
* elf/ldconfig.c (_dl_sysdep_message): Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Include ldsodefs.h. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise.
2001-02-06Update.Ulrich Drepper
* elf/ldconfig.c (search_dir): Use PRIx64 instead of Lx in printf string. Include <inttypes.h> instead of <stdint.h>.
2001-01-05Update.Ulrich Drepper
2001-01-04 Ulrich Drepper <drepper@redhat.com> * Versions.def (ld): Add GLIBC_2.2. * catgets/gencat.c: Copyright 2001. * csu/version.c: Likewise. * debug/catchsegv.sh: Likewise. * debug/xtrace.sh: Likewise. * elf/ldconfig.c: Likewise. * elf/sprof.c: Likewise. * iconv/iconv_prog.c: Likewise. * locale/locale.c: Likewise. * locale/localedef.c: Likewise. * malloc/memusage.sh: Likewise. * malloc/mtrace.pl: Likewise. * nscd/nscd.c: Likewise. * posix/getconf.c: Likewise. 2001-01-04 Mark Kettenis <kettenis@gnu.org> * include/stdio.h: Only provide __getwc_unlocked prototype if USE_IN_LIBIO is defined. 2001-01-04 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/unix/sysv/linux/sh/socket.S (__socket): Fix error code handling. 2001-01-03 Andreas Schwab <schwab@suse.de> * sysdeps/generic/strtoll.c: Remove unused __strtoq_internal alias. * sysdeps/generic/strtoull.c: Remove unused __strtouq_internal alias. * sysdeps/wordsize-64/strtol.c: Add strtoq alias and fix strtoll alias. * sysdeps/wordsize-64/strtoul.c: Add strtouq alias and fix strtoull alias. * sysdeps/wordsize-64/wcstol.c: Add wcstoq alias and fix wcstoll alias. * sysdeps/wordsize-64/wcstoul.c: Add wcstouq alias and fix wcstoull alias. * sysdeps/generic/strtoul.c: Make sure we find strtol.c in this directory. * sysdeps/generic/strtol_l.c: Likewise. * sysdeps/generic/strtoul_l.c: Likewise. * sysdeps/generic/wcstoul.c: Likewise, for wcstol.c. * sysdeps/wordsize-64/strtol_l.c: Fix alias. * sysdeps/wordsize-64/strtoul_l.c: Likewise. * sysdeps/wordsize-64/wcstol_l.c: Fix alias. * sysdeps/wordsize-64/wcstoul_l.c: Likewise.
2000-11-20Update.Ulrich Drepper
2000-11-20 Jakub Jelinek <jakub@redhat.com> * iconvdata/bug-iconv2.c (main): Use %zd in format string. * io/test-lfs.c (do_test): Cast statbuf.st_size to long long. * malloc/tst-valloc.c (main): Cast valloc return value to long. * malloc/tst-obstack.c (verbose_malloc): Use %zd in format string. * math/test-fpucw.c (main): Use %lx in format string, cast control words to long. * stdio-common/tst-fmemopen.c (main): Use %td in format strings. * stdlib/tst-strtol.c (tests): Avoid (bogus?) decimal constant is so large that it is unsigned warning. * sysdeps/unix/sysv/linux/sparc/bits/types.h (__ssize_t): Changing it to long on sparc64. 2000-11-20 Andreas Jaeger <aj@suse.de> * nscd/nscd.h (termination_handler): Add noreturn attribute. (receiv_print_stats): Likewise. * elf/ldconfig.c (path_hwcap): Cast -1 for proper comparison.
2000-11-15Update.Andreas Jaeger
2000-11-15 Andreas Jaeger <aj@suse.de> * elf/cache.c (struct cache_entry): Use uint64_t for hwcap. (print_entry): Likewise. (add_to_cache): Likewise. * elf/ldconfig.h (add_to_cache): Change prototype for hwcap change. * elf/ldconfig.c (struct lib_entry): Use uint64_t for hwcap. (path_hwcap): Likewise. (search_dir): Likewise. * sysdeps/generic/dl-cache.c (HWCAP_CHECK): Handle platform. * elf/cache.c (add_to_cache): Handle 64 bit hwcap entry. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h (_dl_platform_string): New. (_DL_HWCAP_PLATFORM): New. (_dl_string_platform): New. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise. * sysdeps/generic/dl-procinfo.h (_DL_HWCAP_COUNT): New. (_dl_string_platform): New. (_DL_HWCAP_PLATFORM): New. (_dl_platform_string): New. * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Added x86 platform recognition. (_DL_HWCAP_COUNT): New. (_dl_string_platform): New. (_DL_HWCAP_PLATFORM): New. (_dl_platform_string): New.
2000-11-10(create_links): Fix alloca calculation. Patch by Ben Collins ↵Andreas Jaeger
<bcollins@debian.org>.
2000-09-30Update.Ulrich Drepper
2000-09-29 Ulrich Drepper <drepper@redhat.com> * elf/chroot_canon.c: Don't report a failure if the last path component is not available. * elf/ldconfig.c (parse_conf): Use canonicalized name when reporting error. * elf/cache.c (print_cache): Use stat64 instead of stat. * elf/ldconfig.c (chroot_stat): Likewise. (create_links): Likewise. (manual_link): Likewise. (search_dir): Likewise. * elf/readlib.c (process_file): Likewise. * Makefile (install): Set LC_ALL and LANGUAGE to C before running ldconfig. 2000-09-29 Jakub Jelinek <jakub@redhat.com> * elf/chroot_canon.c: New file. * elf/Makefile: Build and distribute it. * elf/ldconfig.h (process_file): Add real_file_name argument. (chroot_canon): Add prototype. * elf/ldconfig.c (cache_file): Remove const. (chroot_stat): New. (create_links): Add real_path argument. If opt_chroot, maintain both real and given filenames. (manual_link): Likewise. (search_dir): Likewise. (parse_conf): If opt_chroot, use chroot_canon to find the real config file. (main): For -r, try to use chroot, if it fails, leave opt_chroot set and use chroot_canon where appropriate to do the same as if chroot succeeded. * elf/readlib.c (process_file): Add real_file_name argument, pass it to fopen. 2000-09-29 Ulrich Drepper <drepper@redhat.com> * math/complex.h (_Complex): We can be more specific when _Complex is defined by the compiler.
2000-09-29Update.Ulrich Drepper
* elf/ldconfig.c (parse_conf): Print full name of config dir including chroot() path. (main): Remove trailing / from opt_chroot string.
2000-09-27(search_dir): Allow unlimited path length. (create_links): Likewise.Andreas Jaeger
2000-09-24Update.Andreas Jaeger
* elf/ldconfig.c (add_dir): Move logic to add entry to list to new function add_single_dir. (add_single_dir): New function. (search_dir): Use add_single_dir instead of recursing.
2000-09-24Update.Ulrich Drepper
2000-09-24 Ulrich Drepper <drepper@redhat.com> * elf/ldconfig.c (search_dir): Make more use of d_type information. 2000-09-23 Ulrich Drepper <drepper@redhat.com> * stdio-common/printf-parse.h (parse_one_spec): Clear spec->info.i18n. Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-07-12Update.Ulrich Drepper
2000-07-12 Andreas Jaeger <aj@suse.de> * elf/Makefile (SYSCONF-FLAGS): Added to pass sysconfdir to compiler. (CFLAGS-cache.c): Added, uses SYSCONF-FLAGS. (CFLAGS-dl-cache.c): Likewise. (CFLAGS-ldconfig.c): Added, passes directory locations. * sysdeps/generic/dl-cache.h (LD_SO_CACHE): Use SYSCONFDIR to locate cache. * elf/ldconfig.c (LD_SO_CONF): Likewise. (main): Use configured LIBDIR and SLIBDIR. 2000-07-11 Jakub Jelinek <jakub@redhat.com> * math/bits/cmathcalls.h (cimag): Add __THROW. (creal, conj): Likewise. * wctype/wctype.h (_ISwbit): Avoid warnings about shifting left by negative value.
2000-05-10Update.Andreas Jaeger
* elf/ldconfig.c: Include elf.h.
2000-05-07Update.Ulrich Drepper
2000-05-06 Bruno Haible <haible@clisp.cons.org> * iconv/gconv_open.c (__gconv_open): If __gconv_find_transform returned != __GCONV_OK, there is nothing to clean up. 2000-05-06 Bruno Haible <haible@clisp.cons.org> * intl/tst-gettext.c (main): Disable possibly existing LC_CTYPE and OUTPUT_CHARSET environment variables. 2000-05-06 Andreas Jaeger <aj@suse.de> * sysdeps/generic/dl-cache.h (struct file_entry_new): New. (struct cache_file_new): New. (struct file_entry): New (moved from cache.c). (struct cache_file): New (moved from cache.c). * sysdeps/generic/dl-cache.c (SEARCH_CACHE): New macro, broken out from _dl_load_cache_lookup. (_dl_load_cache_lookup): Move search to SEARCH_CACHE macro, handle the different cache formats. New variable cache_new for new format. * elf/ldconfig.h: Change according to changes in cache.c and ldconfig.c; remove cache_libcmp; add opt_format. * elf/ldconfig.c: Include "dl-cache.h" and "dl-procinfo.h"; remove stuff that's defined in those headers. Add hwcap to struct lib_entry. (opt_format): New variable to select cache format. (options): Add format parameter. (is_hwcap): New function. (path_hwcap): New function. (parse_opt): Handle new format parameter. (search_dir): Handle hwcap, search also subdirectories with hwcap. * elf/cache.c (_GNU_SOURCE): Removed. Not needed anymore since ldconfig is part of glibc. Include dl-cache.h and remove stuff that's defined there. (struct cache_entry): Add new member hwcap. (print_entry): Print hwcap, cleanup a bit. (print_cache): Print new and old formats. (compare): Use _dl_cache_libcmp from dl-cache.h; handle hwcap. (save_cache): Save new and old formats. (add_to_cache): Handle hwcap. * sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Moved from here... * sysdeps/generic/dl-cache.h (_dl_cache_libcmp): ...to here. * sysdeps/generic/dl-cache.c (LD_SO_CACHE): Moved from here... * sysdeps/generic/dl-cache.h (LD_SO_CACHE): ...to here. * sysdeps/generic/dl-cache.c (CACHEMAGIC): Moved from here... * sysdeps/generic/dl-cache.h (CACHEMAGIC): ...to here. 2000-05-05 Bruno Haible <haible@clisp.cons.org> * intl/dcigettext.c (alignof): New macro. (_nl_find_msg): Use it instead of __alignof__. Pass correct output buffer length to __gconv/iconv. If malloc (freemem_size) fails, set freemem_size to 0. 2000-05-05 Bruno Haible <haible@clisp.cons.org> * intl/dcigettext.c (dcigettext): Fix interpretation of tsearch return value.
1999-12-18Update.Ulrich Drepper
1999-12-17 Ulrich Drepper <drepper@cygnus.com> * string/bits/string2.h (__strtok_r_1c): Help gcc optimizing string access. * locale/programs/ld-collate.c: Implement handling of absolute ellipsis. Parsing of file and constructing the internal data structures should now be complete. (collate_finish): Start adding support to generate the data structures which are written out to the file. * intl/dcgettext.c: Rewrite to handle caching of previous results here instead of in the dcgettext macro. * intl/libintl.h (dcgettext): Don't define for systems using this glibc or systems with tsearch. * sysdeps/generic/mathdef.h: Protect definitions for math.h against double inclusion. * sysdeps/alpha/fpu/bits/mathdef.h: Likewise. * sysdeps/i386/fpu/bits/mathdef.h: Likewise. * sysdeps/m68k/fpu/bits/mathdef.h: Likewise. * sysdeps/powerpc/fpu/bits/mathdef.h: Likewise. * sysdeps/i386/fpu/libm-test-ulps: Add more deltas (are mobile PIIs that different?). 1999-12-17 Andreas Jaeger <aj@suse.de> * rt/aio.h (struct aiocb64): Add member __next_prio to sync the struct with aiocb. * rt/Makefile (tests): Added tst-aio64. Added dependency rules for tst-aio64. * rt/tst-aio64.c: New file, copied from tst-aio.c and changed for 64bit tests. 1999-12-15 Thorsten Kukuk <kukuk@suse.de> * sysdeps/unix/sysv/linux/alpha/oldgetrlimit64.c: Removed. * sysdeps/unix/sysv/linux/alpha/oldsetrlimit64.c: Removed. * sysdeps/unix/sysv/linux/bits/resource.h: Change RLIM_INFINITY back to old value (signed long). * sysdeps/unix/sysv/linux/i386/bits/resource.h: New, with unsigned long RLIM_INFINITY. * sysdeps/unix/sysv/linux/getrlimit.c: Moved from here to ... * sysdeps/unix/sysv/linux/i386/getrlimit.c: ... here. * sysdeps/unix/sysv/linux/getrlimit64.c: Moved from here to ... * sysdeps/unix/sysv/linux/i386/getrlimit64.c: ... here. * sysdeps/unix/sysv/linux/oldgetrlimit64.c: Moved from here to ... * sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: ... here. * sysdeps/unix/sysv/linux/oldsetrlimit64.c: Moved from here to ... * sysdeps/unix/sysv/linux/i386/oldsetrlimit64.c: ... here. * sysdeps/unix/sysv/linux/setrlimit.c: Moved from here to ... * sysdeps/unix/sysv/linux/i386/setrlimit.c: ... here. * sysdeps/unix/sysv/linux/setrlimit64.c: Moved from here to ... * sysdeps/unix/sysv/linux/i386/setrlimit64.c: ... here. * sysdeps/unix/sysv/linux/sparc/bits/resource.h: New. * sysdeps/unix/sysv/linux/sparc/sparc64/oldgetrlimit64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/oldsetrlimit64.c: Removed. 1999-12-17 Andreas Jaeger <aj@suse.de> * elf/ldconfig.c: Add new option -l to manualy link shared libraries. (options): Added option. (parse_opt): Set option. (main): Handle option. (manual_link): New function. 1999-12-17 Thorsten Kukuk <kukuk@suse.de> * string/bits/string2.h: Fix patch from 1999-12-07. 1999-12-16 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/strsep.c: If delim string has only one character don't run over end of string. * locale/programs/ld-collate.c (insert_weights): Also update next pointer of last cursor element. (insert_value): Return nonzero value if nothing got inserted. (handle_ellipsis): Don't do anything if to-value cannot be inserted. 1999-12-10 Jakub Jelinek <jakub@redhat.com> * stdlib/longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where appropriate. 1999-12-10 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction): Copy sa_flags into kernel sigaction structure. 1999-12-14 Andreas Jaeger <aj@suse.de> * string/tester.c (test_strsep): More tests for access beyond the final NUL. The first two tests come from PR libc/1486 by martinea@iro.umontreal.ca. 1999-12-14 Thorsten Kukuk <kukuk@suse.de> * nis/ypclnt.c: Correct handling of cached client handles. (__xdr_ypresp_all): Call callback function for errors, too, like Solaris does. * nis/nss_compat/compat-grp.c: Make sure errno is always set correct. * nis/nss_compat/compat-initgroups.c: Likewise. * nis/nss_compat/compat-spwd.c: Likewise. * nis/nss_nis/nis-alias.c: Likewise. * nis/nss_nis/nis-ethers.c: Likewise. * nis/nss_nis/nis-grp.c: Likewise. * nis/nss_nis/nis-hosts.c: Likewise. * nis/nss_nis/nis-netgrp.c: Likewise. * nis/nss_nis/nis-publickey.c: Likewise. * nis/nss_nis/nis-service.c: Likewise. Also use services.byservicename Map if available, optimize query if name/port and protocol is known.
1999-12-04Update.Ulrich Drepper
1999-11-30 Andreas Jaeger <aj@suse.de> Add ldconfig: * elf/Makefile (extra-objs): Added ldconfig-modules. (ldconfig-modules): New. Added vpath for xstrdup and xmalloc. Check for use-ldconfig instead of has-ldconfig. ($(objpfx)ldconfig): New rule with dependencies. (distribute): Add new files. * sysdeps/unix/sysv/linux/sparc/readelflib.c: New file, developed together with Jakub Jelinek <jakub@redhat.com>. * sysdeps/generic/readelflib.c: Likewise. * elf/cache.c: New file. * elf/ldconfig.c: New file. * elf/ldconfig.h: New file. * elf/readlib.c: New file. * Makefile (install): Remove flag -d in ldconfig call. * configure.in: Rename has_ldconfig to use_ldconfig, set it to no by default. * config.make.in (has-ldconfig): Renamed to use-ldconfig, changed comment.