aboutsummaryrefslogtreecommitdiff
path: root/Makerules
AgeCommit message (Collapse)Author
2003-02-22* Makerules: Fix last change to use $($(subdir)-version) when set.Roland McGrath
2003-02-22* Makerules (install-lib-nosubdir): Depend on installedRoland McGrath
libfoo-X.Y.Z.so and libfoo.so.NN files so they are installed regardless of the libfoo.so target's dependencies.
2003-02-212003-02-21 Roland McGrath <roland@redhat.com>Roland McGrath
* Makerules: Filter $(install-lib-ldscripts) out of list of targets for libfoo.so that need $(make-link) rules.
2003-02-212003-02-20 Roland McGrath <roland@redhat.com>Roland McGrath
* Makerules: Clean up conditional around include of tls.make. * Make-dist: Export generating=t to prevent using that. (+distinfo): Likewise for $(shell $(MAKE) ...) runs.
2003-02-152003-02-15 Roland McGrath <roland@frob.com>Roland McGrath
* sysdeps/mach/Makefile (mach-before-compile rule): Pass generating=t, use target mach-before-compile instead of generated. (mach-before-compile): New target. * Makerules: Disable use of tls.make if $(generating) is set. * mach/Makefile: Include mach-syscalls.mk even if no_deps=t. * sysdeps/mach/hurd/Makefile: Make generated hurd headers depend on mach-shortcuts.h so mach/ generation happens before hurd/.
2003-01-152003-01-15 Roland McGrath <roland@redhat.com>Roland McGrath
* Makerules: Use -include for tls.make, suppresses warning. Move gen-as-const-headers rules up so before-compile is set in time. (sed-remove-dotdot): Fix to work right for subdirs or top dir.
2003-01-15* Makerules (check-abi-%): Use two rules for $(common-objpfx) andRoland McGrath
$(objpfx) directories, and get rid of vpath directives. The previous arrangement resulted in files being written to the source directories when run in a clean build. Find all .abilist files in $(..)abilist/. (update-abi-%): Likewise. (generated): Don't add .symlist files, they'll be intermediates. * sysdeps/generic/init-first.c: Add a comment. * elf/Makefile ($(objpfx)ld.so): Pass -z defs in link. * scripts/gen-as-const.awk: Grok lone "--" as a separator between #includes and expressions. * scripts/merge-abilist.awk: Omit cpu-.*-os.*/modifier from merged config list when it already contains cpu-.*-os.* without / part. * Makerules (sed-remove-dotdot): New variable. ($(common-objpfx)%.make): Use it. Depend on $(before-compile). ($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise. (check-abi-config): New variable, append /tls or /notls to the tuple. (check-abi-%): Use that for -v config value. Find .abilist files in abilist/libfoo.abilist, not in subdir. * Rules: Move bits/stdio_lim.h generation rules to Makerules.
2003-01-12Update.Ulrich Drepper
* Makerules (build-shlib-helper): Don't use -z defs linker option if no-z-defs is defined either. 2003-01-10 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: Remove unused file. 2003-01-10 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Add vfork. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. 2003-01-12 Ulrich Drepper <drepper@redhat.com>
2003-01-12Update.Ulrich Drepper
2003-01-11 Jim Meyering <jim@meyering.net> * io/ftw.c [HAVE_CONFIG_H]: Include <config.h>. [HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of <sys/param.h>. Include <sys/stat.h>, not <include/sys/stat.h>, if !_LIBC. [!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define. [!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define. [!_LIBC] (internal_function, dirent64, MAX): Define. (__set_errno): Define if not already defined. (open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on the basename, not the entire file name. (process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on the basename, not the entire file name. 2003-01-12 Ulrich Drepper <drepper@redhat.com> * string/tester.c (test_strcpy): Disable last added strcpy until it is fixed. 2003-01-11 Philip Blundell <philb@gnu.org> * sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support. 2003-01-11 Andreas Schwab <schwab@suse.de> * Makerules: Add vpath for %.dynsym and %.so so that the implicit rule chaining for check-abi works. 2003-01-11 Kaz Kojima <kkojima@rr.iij4u.or.jp> * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER): Add non-PIC case. 2003-01-11 Jakub Jelinek <jakub@redhat.com> * elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define. [__ia64__] (TLS_LE, TLS_IE): Fix typos. Add ;; at start of asm if gp is used early. [__ia64__] (TLS_LD, TLS_GD): Likewise. Use __TLS_CALL_CLOBBERS. * elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so): Ensure libc.so in DT_NEEDED. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Move CHECK_STATIC_TLS before l_tls_offset use. * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela): Likewise. * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]: Allocate TLS_PRE_TCB_SIZE bytes below result. (_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing. * sysdeps/generic/libc-tls.c (__libc_setup_tls): If TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS segment has been found. If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE bytes below result and add tcb_offset to memsz. * sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype. * sysdeps/ia64/dl-machine.h: Include tls.h. (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs too. (elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too. Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations. * sysdeps/ia64/libc-tls.c: New file. 2003-01-10 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit. * sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX): Fix type. Move definition out of #if. * sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation support. * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove ftruncate64, pread64, pwrite64, truncate64 entries. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (INLINE_SYSCALL): New version that supports function call like syscalls. Add __builtin_expect. (LOADARGS_n): Add argument size safety checks. (INTERNAL_SYSCALL): New Macro. * sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file. * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid redefinition of elf_fpreg_t and elf_fpregset_t. 2003-01-12 Ulrich Drepper <drepper@redhat.com> * elf/dl-close.c (_dl_close): Add several asserts. Correct and simplify test for unloading. If loader of a DSO is unloaded do not use its scope anymore. Fall back to own scope and adjust opencounts. Fix several comments. * elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for the l_searchlist, not only for l_initfini. * elf/dl-lookup.c (add_dependencies): Avoid creating relocation dependencies if objects cannot be removed. Remove object with the definition as not unloadable if necessary. * elf/reldep6.c: Create relocation dependency before closing the first module. 2003-01-10 Guido Günther <agx@sigxcpu.org> * elf/Makefile: Add rules to build and run reldep9 test. * elf/reldep9.c: New file. * elf/reldep9mod1.c: New file. * elf/reldep9mod2.c: New file. * elf/reldep9mod3.c: New file. 2003-01-09 Jakub Jelinek <jakub@redhat.com> * elf/Makefile: Add rules to build and run nodelete2 test. * elf/nodelete2.c: New file. * elf/nodel2mod1.c: New file. * elf/nodel2mod2.c: New file. * elf/nodel2mod3.c: New file. 2003-01-09 Jakub Jelinek <jakub@redhat.com>
2003-01-05Update.Ulrich Drepper
2003-01-04 Jakub Jelinek <jakub@redhat.com> * internals.h (LIBC_THREAD_GETMEM, LIBC_THREAD_SETMEM): Define even if NOT_IN_libc is defined.
2002-12-312002-12-31 Roland McGrath <roland@redhat.com>Roland McGrath
* Makerules (compile.S, COMPILE.S): Remove -DASSEMBLER here. Use $(S-CPPFLAGS) in place of $(asm-CPPFLAGS). (S-CPPFLAGS): Add -DASSEMBLER here instead. (generate-md5, +make-deps): Fix magic to get $(S-CPPFLAGS).
2002-12-29* Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Fix sedRoland McGrath
pattern for prepending $(..) so it doesn't affect $(foo).
2002-12-27second typo in prior commitRoland McGrath
2002-12-272002-12-27 Roland McGrath <roland@redhat.com>Roland McGrath
* scripts/gen-as-const.awk: New file. * Makefile (distribute): Add it. * Makerules ($(common-objpfx)%.h %.h.d: %.sym): New pattern rule. (before-compile): Add $(gen-as-const-headers:%.sym=$(common-objpfx)%.h) to the list. (+depfiles): Add $(addprefix $(common-objpfx),$(gen-as-const-headers)).
2002-12-27Remove bogus CRs at end of all lines. Hope they do not come back.Roland McGrath
2002-12-272002-12-27 Andreas Schwab <schwab@suse.de>Roland McGrath
* Makerules ($(common-objpfx)%.make): Filter through $(sed-remove-objpfx).
2002-12-23* scripts/abilist.awk: Produce a more compact format, divided intoRoland McGrath
stanzas for each version set, the set name listed only once. * scripts/extract-abilist.awk: New file. * scripts/merge-abilist.awk: New file. * Makerules (check-abi-%, update-abi-%): New pattern rules. (update-abi, check-abi): New targets. * Makefile (+subdir_targets): Add subdir_{check,update}-abi. * Makerules (%.symlist): Use LC_ALL=C when running awk script.
2002-12-16Update.Ulrich Drepper
2002-12-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/socket.S: Use CENABLE and CDISABLE macros instead of doing the calls directly. * sysdeps/unix/make-syscalls.sh: Add ptw-*.$o target name to rules. * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for ptw-% targets. 2002-12-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/i386/fpu/bits/mathinline.h: Backout last change. * sysdeps/ieee754/bits/nan.h: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list (__syscall_open, __syscall_wait4, __syscall_ioctl, __syscall_write): Add.
2002-12-072002-12-07 Roland McGrath <roland@redhat.com>Roland McGrath
* Makerules ($(common-objpfx)format.lds): New target. (common-generated): Add it. ($(inst_libdir)/libc.so): Depend on that, and cat it into the result. * scripts/output-format.sed: New file. * Makefile (distribute): Add it.
2002-11-15* sysdeps/i386/dl-machine.h (elf_machine_rela): Handle R_386_COPY.Roland McGrath
* sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY. 2002-11-15 Roland McGrath <roland@redhat.com> * math/Makefile (libm-calls): Change s_ldexp to m_ldexp. * Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules for m_%.[Sc] from sysdeps/.../s_%.[Sc] with commands $(+make-include-of-dep). (+make-include-of-dep): New canned sequence. * stdlib/canonicalize.c (__realpath): Check for malloc failure. From Dmitry V. Levin <ldv@altlinux.org>.
2002-11-15* sysdeps/generic/errno.c (__libc_errno): Remove alias.Roland McGrath
* inet/herrno.c (__libc_h_errno): Likewise. * resolv/res_libc.c (__libc_res): Likewise. [USE___THREAD]: Use this in place of [USE_TLS && HAVE___THREAD]. (__res_state) [! USE___THREAD]: Don't define as weak. * csu/Versions: Revert last change. * resolv/Versions: Revert last change. * Makerules ($(common-objpfx)%.make): New pattern rule. * tls.make.c: New file. * Makefile (distribute): Add it.
2002-11-14* Makerules (%.dynsym): Remove $(objpfx) from target and dep.Roland McGrath
(%.symlist): Likewise.
2002-11-142002-11-14 Roland McGrath <roland@redhat.com>Roland McGrath
* Makerules (%.dynsym): Remove $(objpfx) from target and dep.
2002-11-14[$(subdir) = elf] (tests): Depend on libc.symlist.Roland McGrath
(generated, common-generated): Add those files.
2002-11-14* scripts/abilist.awk: New file.Roland McGrath
* Makefile (distribute): Add it. * Makerules ($(objpfx)%.dynsym, $(objpfx)%.symlist): New rules. (tests): Depend on .symlist file for each $(install-lib.so-versioned). [! subdir] (tests): Depend on libc.symlist. (generated): Add those files. * aclocal.m4 (LIBC_PROG_BINUTILS): Check for objdump, set OBJDUMP. * configure: Regenerated. * config.make.in (OBJDUMP): New variable, substituted by configure. * malloc/mcheck.c (struct hdr): New members `block' and `magic2'. (mallochook, reallochook): Set them up. (checkhdr): Check HDR->magic2 value. (freehook): Reset HDR->magic2. (memalignhook): New static function. (old_memalign_hook): New static variable. (mcheck, reallochook): Set __memalign_hook to memalignhook.
2002-11-11* sysdeps/unix/make-syscalls.sh: Insert $(make-target-directory) atRoland McGrath
the beginning of generated target commands. * csu/Makefile ($(objpfx)crti.o, $(objpfx)crtn.o): Add explicit dependencies for these in case implicit rule search skipped the nonexistent source directory. * sysdeps/gnu/Makefile ($(objpfx)errlist.d): Give this rule all the files with $(object-suffixes) as targets too. * Makerules [no_deps && objpfx] (before-compile): Add $(objpfx). and a target for it using $(make-target-directory). * Rules (before-compile): Add $(common-objpfx)bits/stdio-lim.h. * sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ... * sysdeps/generic/bits/pthreadtypes.h: ... here.
2002-11-01* include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn):Roland McGrath
New macros. * elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove text_set_element. * elf/dl-libc.c (free_mem): Likewise. * iconv/gconv_conf.c (free_mem): Likewise. * iconv/gconv_db.c (free_mem): Likewise. * iconv/gconv_dl.c (free_mem): Likewise. * iconv/gconv_cache.c (free_mem): Likewise. * intl/finddomain.c (free_mem): Likewise. * intl/dcigettext.c (free_mem): Likewise. * locale/setlocale.c (free_mem): Likewise. * misc/fstab.c (fstab_free): Likewise. * nss/nsswitch.c (free_mem): Likewise. * posix/regcomp.c (free_mem): Likewise. * resolv/gai_misc.c (free_res): Likewise. * stdlib/fmtmsg.c (free_mem): Likewise. * sunrpc/clnt_perr.c (free_mem): Likewise. * sysdeps/generic/setenv.c (free_mem): Likewise. * sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise. * sysdeps/pthread/aio_misc.c (free_res): Likewise. * time/tzset.c (free_mem): Likewise. * malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section. * locale/loadarchive.c (_nl_archive_subfreeres): Likewise. * malloc/set-freeres.c (__libc_freeres): Likewise. * login/getutent.c: Include stdlib.h instead of stddef.h. (buffer): Change into pointer to utmp, add libc_freeres_ptr. (__getutent): Allocate buffer the first time it is run. * login/getutid.c: Include stdlib.h instead of stddef.h. (buffer): Change into pointer to utmp, add libc_freeres_ptr. (__getutid): Allocate buffer the first time it is run. * login/getutline.c: Include stdlib.h instead of stddef.h. (buffer): Change into pointer to utmp, add libc_freeres_ptr. (__getutline): Allocate buffer the first time it is run. * malloc/mtrace.c (malloc_trace_buffer): Change into char *. (mtrace): Allocate malloc_trace_buffer. * resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf. * resolv/ns_print.c (ns_sprintrrf): Decrease size of t. * string/strerror.c: Include libintl.h and errno.h. (buf): New variable. (strerror): Only allocate buffer if actually needed (unknown error). * time/tzfile.c (transitions): Add libc_freeres_ptr. (freeres): Remove. 2002-10-25 Jakub Jelinek <jakub@redhat.com> * include/libc-symbols.h (libc_freeres_ptr): New macro. * malloc/set-freeres.c (__libc_freeres_ptrs): Define using symbol_set_define. (__libc_freeres): Free all pointers in that section. * Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed commands when creating .lds script. (LDSEDCMD-c.so): New variable. * inet/rcmd.c (ahostbuf): Change into char *. Add libc_freeres_ptr. (rcmd_af): Use strdup to allocate ahostbuf. * inet/rexec.c (ahostbuf): Change into char *. Add libc_freeres_ptr. (rexec_af): Use strdup to allocate ahostbuf. * stdio-common/reg-printf.c (printf_funcs): Remove. (__printf_arginfo_table): Change into printf_arginfo_function **. Add libc_freeres_ptr. (__register_printf_function): Allocate __printf_arginfo_table and __printf_function_table the first time it is called. * stdio-common/printf-parse.h (__printf_arginfo_table): Change into printf_arginfo_function **. (parse_one_spec): Add __builtin_expect. * grp/fgetgrent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * inet/getnetgrent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * intl/localealias.c (libc_freeres_ptr): Define if !_LIBC. (string_space, map): Add libc_freeres_ptr. (free_mem): Remove. * misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr. (free_mem): Remove. * misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr. (free_mem): Remove. * crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC. (buffer): Add libc_freeres_ptr. (free_mem): Remove for _LIBC. * nss/getXXbyYY.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * nss/getXXent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * pwd/fgetpwent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr. (free_mem): Remove. * shadow/fgetspent.c (buffer): Add libc_freeres_ptr. (free_mem): Remove. * sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr. (free_mem): Remove. * sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add libc_freeres_ptr. (free_mem): Remove. * sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add libc_freeres_ptr. (free_mem): Remove. 2002-10-30 Jakub Jelinek <jakub@redhat.com> * malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias instead of duplicating the whole function in libc.
2002-10-16* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed.Roland McGrath
instead of += to append, to be sure $(lib) gets expanded at defn time. (libof-$(cpp-src)): New variable, define this instead. * extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup. (lib): Don't use override. (CPPFLAGS-$(lib)): New variable, put -D's here. * Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename. Also add $(CPPFLAGS-LIB) before the file-specific flags, for each LIB found by $(libof-*) for basename, target, or source. * Makerules (CPPFLAGS-nonlib): New variable. * nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk. * locale/Makefile (lib): Likewise. * sunrpc/Makefile (lib): Likewise. * sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ... * sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here. * sysdeps/unix/sysv/linux/pathconf.h: New file. (statfs_link_max): New function, guts from fpathconf.c. * sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that. * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise. * sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten to use the linux/pathconf.c code by #include rather than duplication. * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise. 2002-10-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Use __libc_errno only for libc itself.
2002-10-112002-10-05 Roland McGrath <roland@redhat.com>Roland McGrath
* Makeconfig (CFLAGS): Prepend -std=gnu99. * Makerules (+make-deps): Use $(CFLAGS) only for .c sources. Remove superfluous rm command, whose @ plus make bugs hid all these commands from the make output. 2002-09-30 Roland McGrath <roland@redhat.com> * elf/rtld-Rules: New file. * elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk, $(objpfx)rtld-libc.a): New targets. (generated): Add them. (reloc-link): Remove -o $@ from the variable. ($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link). (distribute): Add rtld-Rules. (CPPFLAGS-.os): Define this instead of CFLAGS-.os. * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets. (common-mostlyclean, common-clean): Clean up rtld-* files. * sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
2002-09-23* elf/Makefile (test-extras): Define this instead of test-srcs.Roland McGrath
* Makerules (all-nonlib): Include $(test-extras) too.
2002-09-01* sysdeps/generic/libc-tls.c (__pthread_initialize_minimal): PassRoland McGrath
TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN instead of 0, 1. * include/getopt.h: Include <features.h> before <posix/getopt.h>. * locale/findlocale.c (_nl_remove_locale): Don't search in _nl_locale_file_list if DATA->alloc is ld_archive. Use _nl_unload_locale to do the rest of the work. * locale/loadarchive.c (_nl_load_locale_from_archive): Set usage_count of new structure to UNDELETABLE. * wctype/wctype.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswlower, iswgraph, iswprint, iswpunct, iswspace, iswupper, iswxdigit, iswblank, towlower, towupper): Macros removed. * ctype/ctype.h (__tobody): Put parens around macro argument. (__isctype): Macro removed. (__ctype_b, __ctype_tolower, __ctype_toupper): Decls removed. (isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint, ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper, tolower, toupper): Macros and inlines removed. * include/ctype.h [! NOT_IN_libc] (isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint, ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper, tolower, toupper): Define here instead, using _NL_CURRENT. * ctype/ctype.c (__ctype_tolower, __ctype_toupper): Define as macros using _NL_CURRENT. * ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Likewise. * ctype/ctype-info.c (__ctype_b, __ctype_tolower, __ctype_toupper): Renamed these to __ctype_old_*. Define old names only for SHLIB_COMPAT. (__ctype32_b, __ctype32_tolower, __ctype32_toupper): Likewise. (__ctype32_wctrans, __ctype32_wctrans, __ctype32_width): Removed. * locale/lc-ctype.c (_nl_postload_ctype): Use renamed variables, conditional on SHLIB_COMPAT. Don't set removed variables at all. * wctype/wcfuncs.c: Use _NL_CURRENT instead of those globals. * wcsmbs/wcwidth.h (internal_wcwidth): Likewise. * resolv/res_init.c [RESOLVSORT] (sort_mask): Renamed sort_mask_chars. (ISSORTMASK): Update use. * intl/localealias.c [__GNUC__]: #undef alloca before #define. * nss/nss_files/files-XXX.c (last_use): Rename `none' to `nouse'. (_nss_files_getENTNAME_r): Likewise. * nss/nss_files/files-alias.c (last_use, _nss_files_getaliasent_r): Likewise. * Makerules (all-nonlib): Renamed from all-tests. Include $(others) here too. * locale/Makefile (CPPFLAGS-locale, CPPFLAGS-localedef, CPPFLAGS-ld-ctype, CPPFLAGS-ld-time, CPPFLAGS-ld-numeric, CPPFLAGS-ld-monetary, CPPFLAGS-ld-collate, CPPFLAGS-ld-identification, CPPFLAGS-charmap, CPPFLAGS-locarchive, CPPFLAGS-linereader, CPPFLAGS-charmap-dir): Variables removed. Instead, catch all the program modules via cppflags-iterator.mk. * sunrpc/Makefile (CPPFLAGS-rpc_main): Variable removed. Instead, catch all rpcgen-objs via cppflags-iterator.mk. * posix/tst-getconf.sh: If no third arg, work with static linking.
2002-08-05* Makerules (cpp-srcs-left): When setting this to runRoland McGrath
cppflags-iterator.mk, must append .c to $(tests) and $(xtests) words. Combine the two loops into one on the concatenated list, including those as well as $(test-srcs). * elf/dl-minimal.c (__libc_memalign): Guts of malloc moved here, since we align here with optimally minimal waste anyway. (malloc): Just call that. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Set l_tls_offset to the right variable. * elf/dl-load.c (_dl_map_object_from_fd): Use p_vaddr, not p_offset, to compute memory location for l_tls_initimage. * elf/rtld.c (_dl_start): Likewise. * sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise. * libio/oldiopopen.c: Move #include's before #if SHLIB_COMPAT, because the .d file is generated in the non-shared case and so fails to catch them otherwise. * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function, split out of _dl_allocate_tls. (_dl_allocate_tls_init): Likewise. (_dl_allocate_tls): Call those. * sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden. * elf/rtld.c (dl_main): Call them separately instead of calling _dl_allocate_tls. Delay _dl_allocate_tls_init until after relocation is finished, so that the initializer data has been relocated before we copy it into the main thread's TLS block. * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Fix off-by-one error in loop conditions, prevented the last used module from being initialized.
2002-04-20Update.Ulrich Drepper
2002-04-20 Ulrich Drepper <drepper@redhat.com> * Makefile: Add handling of xtests and xcheck targets. * MakeTAGS: Likewise. * Makeconfig: Likewise. * Makerules: Likewise. * Rules: Likewise. * sunrpc/Makefile (xtests): Add thrsvc if thread library available. * sunrpc/thrsvc.c: New file. By Zack Weinberg.
2002-04-09Update.Ulrich Drepper
* sysdeps/mach/hurd/chown.c: Use INTDEF for __chown. * sysdeps/unix/sysv/aix/chown.c: Likewise. * sysdeps/unix/grantpt.c: Use INTUSE for __chown calls. * sysdeps/unix/sysv/linux/m68k/chown.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Use INTDEF2 to define __chown_internal. * sysdeps/unix/sysv/linux/s390/s390-32//chown.c: Likewise. * intl/dcngettext.c [_LIBC]: Use INTUSE for __dcngettext. * intl/dngettext.c [_LIBC] (DCNGETTEXT): Use INTUSE. * intl/ngettext.c: Likewise. * include/sys/socket.h: Declare __connect_internal and define __connect macro if not NOT_IN_libc. * sysdeps/mach/hurd/connect.c: Use INTDEF for __connect. * sysdeps/unix/sysv/aix/connect.c: Likewise. * sysdeps/unix/sysv/linux/connect.S: Add __connect_internal alias. * include/unistd.h: Declare __close_internal and define __close macro if not NOT_IN_libc. * libio/libioP.h (JUMO0, JUMP1, JUMP2, JUMP3, WJUMP0, WJUMP1, WJUMP2, WJUMP3): Add extra parenthesis to avoid expanding element names with macors like __close. * sysdeps/unix/syscalls.list: Add __close_internal alias. * include/unistd.h: Declare __dup2_internal and define __dup2 macro if not NOT_IN_libc. * sysdeps/mach/hurd/dup2.c: Use INTDEF for __dup2. * sysdeps/posix/dup2.c: Use INTDEF for __dup2. * sysdeps/unix/syscalls.list: Add __dup2_internal alias. * include/unistd.h: Declare __fork_internal and define __fork macro if not NOT_IN_libc. * sysdeps/mach/hurd/fork.c: Use INTDEF for __fork. * sysdeps/unix/sysv/aix/fork.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Add __fork_internal alias. * include/stdio_ext.h: Declare __fsetlocking_internal and define __fsetlocking macro to use it if not NOT_IN_libc. * libio/__fsetlocking.c: Use INTDEF for __fsetlocking. * libio/__fbufsize.c: Correct copyright. * libio/__flbf.c: Likewise. * libio/__fpending.c: Likewise. * libio/__fpurge.c: Likewise. * libio/__freadable.c: Likewise. * libio/__freading.c: Likewise. * libio/__fsetlocking.c: Likewise. * libio/__fwritable.c: Likewise. * libio/__fwriting.c: Likewise. * include/stdio.h: Declare __asprintf_internal and define __asprintf macro to use it if not NOT_IN_libc. * stdio-common/asprintf.c: Use INTDEF for __asprintf. * include/mntent.h: Declare __setmntent_internal, __getmntent_r_internal, __endmntent_internal. Define __setmntent, __getmntent_r, and __endmntent macros to use these functions if not NOT_IN_libc. * misc/mntent_r.c: Use INTDEF for __setmntent, __getmntent_r, and __endmntent. * include/math.h: Declare __finite_internal, __finitef_internal, and __finitel_internal. Redefine isfinite macro if in libc or libm using these functions. * sysdeps/generic/s_ldexp.c: Use INTUSE for __finite calls. * sysdeps/generic/s_ldexpf.c: Use INTUSE for __finitef calls. * sysdeps/generic/s_ldexpl.c: Use INTUSE for __finitel calls. * sysdeps/i386/fpu/s_finite.S: Define _internal alias. * sysdeps/i386/fpu/s_finitef.S: Likewise. * sysdeps/i386/fpu/s_finitel.S: Likewise. * sysdeps/ieee754/dbl-64/s_finite.c: Likewise. * sysdeps/ieee754/flt-32/s_finitef.c: Likewise. * sysdeps/ieee754/ldbl-128/s_finitel.c: Likewise. * sysdeps/ieee754/ldbl-96/s_finitel.c: Likewise. * include/fcntl.h: Declare __fcntl_internal. Define __fcntl macro to use this function if not NOT_IN_libc. * libio/iofdopen.c (_IO_fcntl): Use INTUSE. * sysdeps/generic/fcntl.c: Use INTDEF for __fcntl. * sysdeps/mach/hurd/fcntl.c: Likewise. * sysdeps/unix/sysv/aix/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * include/argz.h: Declare __argz_count_internal and __argz_stringify_internal. * intl/l10nflist.c [_LIBC]: Use INTUSE for __argz_count and __argz_stringify. * string/argz-count.c: Use INTDEF for __argz_count. * string/argz-stringify.c: Use INTDEF for __argz_stringify. * include/stdlib.h: Declare __cxa_atexit_internal and define __cxa_atexit macro if not NOT_IN_libc. * stdlib/cxa_atexit.c: Use INTDEF for __cxa_atexit. * dlfcn/Makefile: Define NOT_IN_libc when compiling modcxaatexit.c. * assert/assert.c: Use INTDEF for __assert_fail. * assert/__assert.c: Use INTUSE for call to __assert_fail. * include/assert.h: Declare __assert_fail_internal.
2002-04-08Update.Ulrich Drepper
2002-04-08 Ulrich Drepper <drepper@redhat.com> * Makerules: Use cppflags-iterator.mk to add defines for all test source files.
2002-03-14revert accidental check-inRoland McGrath
2002-03-142002-03-14 Roland McGrath <roland@frob.com>Roland McGrath
* Makerules ($(common-objpfx)Versions.v.i): Depend on abi-versions.h. * Makeconfig (%.v.i, %.v): New implicit rules. (preprocess-versions): Variable removed. ($(common-objpfx)shlib-versions.v.i): New target giving just the shlib-versions input files as dependencies. ($(common-objpfx)soversions.i): Depend on that instead of the input files. Use it as input instead of using a pipeline. (postclean-generated): Append soversions.i, shlib-versions.v, and shlib-versions.v.i here. * Makerules ($(common-objpfx)Versions.def.v.i): New target giving just the Versions.def input files as dependencies. ($(common-objpfx)Versions.v.i): Likewise for Versions files. ($(common-objpfx)Versions.all): Depend on that instead of the input files. Use it as input instead of using a pipeline. ($(common-objpfx)sysd-versions): Likewise with Versions.v.i. (postclean-generated): Append those .v and .v.i files here.
2001-11-16Update.Ulrich Drepper
2001-10-02 Jakub Jelinek <jakub@redhat.com> H.J. Lu <hjl@gnu.org> * configure.in (libc_cv_gcc_static_libgcc): Set to -static-libgcc if gcc supports this flag. (EXPORT_UNWIND_FIND_FDE): Define unless target configure disables it. (gcc3): Allow glibc to be compiled with gcc 3.x. * config.h.in (EXPORT_UNWIND_FIND_FDE): Add. * config.make.in (static-libgcc, unwind-find-fde): Add. * Makerules (build-shlib-helper, build-module-helper): Use it. * scripts/versions.awk: Make sure GLIBC_ versions come first. * elf/soinit.c (__libc_global_ctors): Set tbases and dbases if necessary. (_fini): Call __deregister_frame_info_bases if __register_frame_info_bases was used to register. * elf/Versions (__register_frame_info, __deregister_frame_info): Add for GLIBC_2.0. (__register_frame_info_bases, __register_frame_info_table_bases, __deregister_frame_info_bases, _Unwind_Find_FDE): Add for GLIBC_2.2.5. * elf/Makefile (routines): Add unwind-dw2-fde. (shared-only-routines): Add unwind-dw2-fde. * sysdeps/alpha/gccframe.h: New file. * sysdeps/arm/gccframe.h: New file. * sysdeps/generic/framestate.c: New file. * sysdeps/generic/dwarf2.h: New file. * sysdeps/generic/gccframe.h (struct object): Update from gcc 3.0. * sysdeps/generic/unwind-dw2-fde.c: New file. * sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c: New file. * sysdeps/generic/unwind-dw2-fde.h: New file. * sysdeps/generic/unwind-dw2.c: New file. * sysdeps/generic/unwind-pe.h: New file. * sysdeps/generic/unwind.h: New file. * sysdeps/hppa/gccframe.h: New file. * sysdeps/i386/gccframe.h: New file. * sysdeps/m68k/gccframe.h: New file. * sysdeps/mips/gccframe.h: New file. * sysdeps/powerpc/gccframe.h: New file. * sysdeps/s390/gccframe.h: New file. * sysdeps/sh/gccframe.h: New file. * sysdeps/sparc/gccframe.h: New file. * sysdeps/vax/gccframe.h: New file. * sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde): Set on all architectures except ia64. * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Set for i386. * sysdeps/mach/hurd/i386/Versions (__register_frame_info, __deregister_frame_info): Move to elf/Versions. * sysdeps/unix/sysv/linux/m68k/Versions: Likewise. * sysdeps/unix/sysv/linux/arm/Versions: Likewise. * sysdeps/unix/sysv/linux/alpha/Versions: Likewise. * sysdeps/unix/sysv/linux/i386/Versions: Likewise. * sysdeps/unix/sysv/linux/mips/Versions: Likewise. * sysdeps/unix/sysv/linux/powerpc/Versions: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise. * sysdeps/mach/hurd/i386/Makefile (sysdep-routines): Add framestate. * sysdeps/unix/sysv/linux/arm/Makefile: Likewise. * sysdeps/unix/sysv/linux/alpha/Makefile: Likewise. * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise. * sysdeps/unix/sysv/linux/mips/Makefile: Likewise. * sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise. * sysdeps/unix/sysv/linux/sparc/Makefile: Likewise. * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: New file. * sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: New file. * sysdeps/generic/strnlen.c: New file.
2001-08-29Update.Ulrich Drepper
2001-08-29 Ulrich Drepper <drepper@redhat.com> * nis/nis_findserv.c (__nis_findfastest): Don't fail if reply received first is from a previous call. Patch by Alexander Belopolsky <alexb@rentec.com> for [PR libc/3670]. 2001-08-29 Andreas Schwab <schwab@suse.de> * sysdeps/ia64/fpu/libm-test-ulps: Updated. 2001-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl> * config.make.in (INSTALL_SCRIPT): Define. * Makeconfig (INSTALL_SCRIPT): Define. * Makerules (do-install-script): New macro to install scripts using INSTALL_SCRIPT. (install-bin-script): New rule to install scripts with do-install-script. (install-bin-script-nosubdir): New rule. (install-no-libc.a-nosubdir): Add install-bin-script-nosubdir. (distinfo-vars): Add $(install-bin-script). * Rules (others): Likewise. * Makefile (glibcbug): Install with install-bin-script. * debug/Makefile (xtrace): Likewise. (catchsegv): Likewise. * elf/Makefile (ldd): Likewise. * malloc/Makefile (mtrace): Likewise. * timezone/Makefile (tzselect): Likewise. 2001-08-29 H.J. Lu <hjl@gnu.org> * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Pass ELF_RTYPE_CLASS_PLT, instead of R_MIPS_REL32, to _dl_lookup_versioned_symbol () and _dl_lookup_symbol (). Add it to LDFLAGS.so, LDFLAGS-rtld, and +link.
2001-08-29Fix typo.Andreas Jaeger
2001-08-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl> * Makerules: Fix a typo: MD% -> MD5.
2001-07-08Update.Ulrich Drepper
* Makerules [AIX] (build-shlib-helper): Precede linker options with -Wl. * Makeconfig (config-LDFLAGS): Add ld.so only for ELF.
2001-07-06Update to LGPL v2.1.Andreas Jaeger
2001-07-06 Paul Eggert <eggert@twinsun.com> * manual/argp.texi: Remove ignored LGPL copyright notice; it's not appropriate for documentation anyway. * manual/libc-texinfo.sh: "Library General Public License" -> "Lesser General Public License". 2001-07-06 Andreas Jaeger <aj@suse.de> * All files under GPL/LGPL version 2: Place under LGPL version 2.1.
2001-06-20Update.Ulrich Drepper
2001-05-09 Michael Keezer <mkeezer@redhat.com> * Makeconfig: Added AIX-ld support for DSO. * Makerules: Likewise. * dlfcn/Makefile (defaultmod1.so): Added libc_nonshared. (defaultmod2.so): Likewise. * debug/Makefile: Conditionalize use of elf/ld.so. * iconvdata/Makefile: Moved LDFLAG rpath/soname info into Makeconfig. * sysdeps/unix/sysv/aix/Makefile: Added dl-support.c and dl-error.c. * sysdeps/unix/sysv/aix/Makefile: Made (f/g)rsave(0/1) & (f/g)prrest(0/1) static only. * sysdeps/unix/sysv/aix/gettimeofday.c: Removed #if 0. * sysdeps/unix/sysv/aix/start.c: Define __dso_handle if not ELF but shared. * sysdeps/unix/sysv/aix/setitimer.c: New file. * sysdeps/unix/sysv/aix/sleep.c: New file. * sysdeps/unix/sysv/aix/usleep.c: New file. * sysdeps/unix/sysv/aix/dl-addr.c: New file. * sysdeps/unix/sysv/aix/dl-error.c: New file. * sysdeps/unix/sysv/aix/dl-support.c: New file. * sysdeps/unix/sysv/aix/powerpc/register-dump.h: New file. (BODY for TO_LOOP): Keep track of Unicode 3.1 language tag. I f "ja", prefer conversion to Japanese character sets. If "zh", prefer conversion to GB2312. I f "ko", prefer conversion to KSC5601. Small
2001-06-18* sysdeps/unix/sysv/linux/i386/sigaction.c (restore, restore_rt):Roland McGrath
Declare these without `static', to avoid warning that we haven't defined them. * Makerules (build-module-helper-objlist): New variable, broken out of build-module. Insert --whole-archive/--no-whole-archive immediately each *_pic.a file in the link object list. (whole-archive): New variable, used by that. (build-module-objlist): New variable using build-module-helper-objlist. (build-module, build-module-helper): Use it. (build-shlib-objlist): New variable using build-module-helper-objlist. (build-shlib): Use that. * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Likewise.
2001-05-14* csu/Makefile ($(objpfx)g$(start-installed-name)): Turn this into aRoland McGrath
static pattern rule also that also covers $(objpx)g$(static-start-installed-name). [$(start-installed-name) != $(static-start-installed-name)] (extra-objs, omit-deps, install-lib): Add $(static-start-installed-name) and g$(static-start-installed-name). * sysdeps/mach/hurd/i386/Makefile: Don't add crt0.o to those here; just setting static-start-installed-name is now sufficient. (extra-objs): Add static-start.o here. (CFLAGS-initfini.s): Remove obsolete variable. * sysdeps/mach/hurd/i386/Makeconfig: New file. Define static-start-installed-name here. * Makeconfig: Include existing $(full_config_sysdirs:=/Makeconfig). * Make-dist (+sysdep-tsrcs): Look for Makeconfig files. * Makerules ($(+sysdir_pfx)sysd-Makefile): Remove this target and associated hair. Instead, just use $(wildcard ...) in the include. * configure.in (critic_missing, aux_missing): Collect in these vars the names of the missing programs, and include them in the error msgs. * configure: Regenerated.
2001-04-20Update.Ulrich Drepper
2001-04-19 Alan Modra <amodra@one.net.au> * Makerules (libc_pic.os): Add $(LDFLAGS-c_pic.os). * sysdeps/hppa/Makefile (LDFLAGS-c_pic.os): Define. (CFLAGS-.os): Remove. * sysdeps/unix/sysv/linux/hppa/sysdep.h (CALL_MCOUNT): Update comment. * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (NGREG, NFPREG, gregset): Correct for new kernel definitions. 2001-04-19 Alan Modra <alan@linuxcare.com.au> * sysdeps/hppa/elf/initfini.c: Change dlt reg save to r3 and generate unwind info by hand. 2001-04-19 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64): Optimize a bit. * configure.in: Correct regular expression for msgfmt. Patch by Bruno Haible <haible@ilog.fr>.
2001-04-18Update.Ulrich Drepper
2001-04-02 Andreas Schwab <schwab@suse.de> * Makerules (build-module): Make sure exit codes get checked properly and remove unnecessary slashes.
2001-03-19Update.Ulrich Drepper
2001-03-19 Andreas Schwab <schwab@suse.de> * Makerules (build-shlib): Make sure exit codes get checked properly.
2001-03-18Update.Ulrich Drepper
2001-03-18 Ulrich Drepper <drepper@redhat.com> * Makerules (build-shlib): Remove unnecessary slashes introduced in last change. * configure.in: Test for -Bgroup option of linker. * config.make.in: Define have-Bgroup. * conform/data/unistd.h-data: Require gethostname. * posix/unistd.h: Make gethostname prototype available for __USE_XOPEN2K. * crypt/Makefile: When generating DSO link with libc_nonshared.a. * debug/Makefile: Likewise. * dlfcn/Makefile: Likewise. * hesiod/Makefile: Likewise. * iconvdata/extra-module.mk: Likewise. * locale/Makefile: Likewise. * login/Makefile: Likewise. * math/Makefile: Likewise. * nis/Makefile: Likewise. * nss/Makefile: Likewise. * resolv/Makefile: Likewise. * rt/Makefile: Likewise. * posix/unistd.h (gethostname): Change type of second parameter back to size_t as per upcoming XPG6.
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.