abilist.awk relies on English-language output to find the "file
format" header line in "objdump --dynamic-syms" output, so force the
locale.
Without this change, "make check" fails in non-English locales:
| diff -p -U 0 ../sysdeps/unix/sysv/linux/x86_64/64/nptl/libBrokenLocale.abilist [...]/locale/libBrokenLocale.symlist
| --- ../sysdeps/unix/sysv/linux/x86_64/64/nptl/libBrokenLocale.abilist 2012-10-02 18:33:50.761863147 -0700
| +++ [...]/locale/libBrokenLocale.symlist 2012-10-03 00:11:22.877234252 -0700
| @@ -0,0 +1 @@
| +Don't grok this line: [...]/locale/libBrokenLocale.so: format de fichier elf64-x86-64
| make[2]: *** [check-abi-libBrokenLocale] Erreur 1
Due to the rise of kbuild type build systems (as the Linux kernel is a
popularly emulated environment), the V variable has become common as a
knob for controlling verbosity. Unfortunately, if you run `make V=1`
with glibc during install, it fails with weird errors due to the glibc
build already using this variable for versioning information.
Granted, overriding this variable in the glibc context makes no sense
so people shouldn't be doing it, but when paired with build frameworks
that like to use one set of options for all packages, glibc starts to
stick out as an oddball (in that it fails). Considering it's easy
enough to rename (it's used in just one place), let's do so.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Makerules (%.abilist): Add vpath on sysdep_dirs.
(check-abi-%): Remove AWK script prerequisite and explicit
abilist directory.
(check-abi): Rewrite to just diff the symlist with the abilist.
(config-tls, config-abi-config): Delete, no longer used.
(update-abi-%): Remove AWK script and explicit abilist directory.
(update-abi): Rewrite to simply compare and conditionally copy the
symlist and the sysdep abilist file. Remove update-abi-config
checks.
* abilist/ld.abilist: Remove.
* abilist/libBrokenLocale.abilist: Remove.
* abilist/libanl.abilist: Remove.
* abilist/libcrypt.abilist: Remove.
* abilist/libdl.abilist: Remove.
* abilist/librt.abilist: Remove.
* abilist/libthread_db.abilist: Remove.
* abilist/libutil.abilist: Remove.
* scripts/extract-abilist.awk: Remove.
* scripts/merge-abilist.awk: Remove.
* sysdeps/generic/libcidn.abilist: New file.
* sysdeps/generic/libnss_compat.abilist: New file.
* sysdeps/generic/libnss_db.abilist: New file.
* sysdeps/generic/libnss_dns.abilist: New file.
* sysdeps/generic/libnss_files.abilist: New file.
* sysdeps/generic/libnss_hesiod.abilist: New file.
* sysdeps/generic/libnss_nis.abilist: New file.
* sysdeps/generic/libnss_nisplus.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/ld.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/libanl.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/libBrokenLocale.abilist: New
file.
* sysdeps/unix/sysv/linux/i386/nptl/libc.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/libcrypt.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/libdl.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/libm.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/libnsl.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/libpthread.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/libresolv.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/librt.abilist: New file.
* sysdeps/unix/sysv/linux/i386/nptl/libthread_db.abilist: New
file.
* sysdeps/unix/sysv/linux/i386/nptl/libutil.abilist: New file.
* sysdeps/unix/sysv/linux/x86_64/nptl/ld.abilist: New file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libanl.abilist: New file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libBrokenLocale.abilist: New
file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libc.abilist: New file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libcrypt.abilist: New file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libdl.abilist: New file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libm.abilist: New file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libnsl.abilist: New file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libpthread.abilist: New
file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libresolv.abilist: New file.
* sysdeps/unix/sysv/linux/x86_64/nptl/librt.abilist: New file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libthread_db.abilist: New
file.
* sysdeps/unix/sysv/linux/x86_64/nptl/libutil.abilist: New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/ld.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libanl.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libBrokenLocale.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libc.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libcrypt.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libdl.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libm.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libnsl.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libpthread.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libresolv.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/librt.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libthread_db.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powercp32/fpu/nptl/libutil.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/ld.abilist: New
file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libanl.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libBrokenLocale.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libc.abilist: New
file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libcrypt.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libdl.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libm.abilist: New
file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libnsl.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libpthread.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libresolv.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/librt.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libthread_db.abilist:
New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/nptl/libutil.abilist:
New file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/ld.abilist: New file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libanl.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libBrokenLocale.abilist:
New file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libc.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libcrypt.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libdl.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libm.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libnsl.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libpthread.abilist:
New file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libresolv.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/librt.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libthread_db.abilist:
New file.
* sysdeps/unix/sysv/linux/s390/s390-32/nptl/libutil.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/ld.abilist: New file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libanl.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libBrokenLocale.abilist:
New file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libc.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libcrypt.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libdl.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libm.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libnsl.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libpthread.abilist:
New file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libresolv.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/librt.abilist: New
file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libthread_db.abilist:
New file.
* sysdeps/unix/sysv/linux/s390/s390-64/nptl/libutil.abilist: New
file.
* sysdeps/unix/sysv/linux/sh/nptl/ld.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/libanl.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/libBrokenLocale.abilist: New
file.
* sysdeps/unix/sysv/linux/sh/nptl/libc.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/libcrypt.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/libdl.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/libm.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/libnsl.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/libpthread.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/libresolv.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/librt.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/libthread_db.abilist: New file.
* sysdeps/unix/sysv/linux/sh/nptl/libutil.abilist: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/ld.abilist: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libanl.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libBrokenLocale.abilist:
New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libc.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libcrypt.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libdl.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libm.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libnsl.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libpthread.abilist:
New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libresolv.abilist:
New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/librt.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libthread_db.abilist:
New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/nptl/libutil.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/ld.abilist: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libanl.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libBrokenLocale.abilist:
New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libc.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libcrypt.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libdl.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libm.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libnsl.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libpthread.abilist:
New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libresolv.abilist:
New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/librt.abilist: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libthread_db.abilist:
New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/nptl/libutil.abilist: New
file.
This patch scratches an itch. Each individual gcc command in the
glibc build is over 1K, which means it takes up a good chunk of my
terminal. Most of that is include paths. Any version of GCC new
enough to build glibc supports response files, which were added in
2005. So use a response file for the static list of include paths.
Now the build commands are a lot shorter, and easier to use when
developing glibc.
(install-no-libc.a-nosubdir): Depend on it.
* iconv/Makefile (install-others-programs): Set this instead of
install-others.
* login/Makefile (install-others-programs): Likewise.
* posix/Makefile (install-others-programs): Likewise.
* Makerules (install-no-libc.a-nosubdir): Clean up conditional
dependencies.
at the end of the RO segment.
2006-09-04 Ulrich Drepper <drepper@redhat.com>
* elf/do-lookup.h (do_lookup_x): Initialize symidx in case the new
style hash table format is used.
2006-09-04 Jakub Jelinek <jakub@redhat.com>
($(all-subdirs-targets)): Use it in place of -C option.
* Rules: Use $(..) instead of ../ if it's already defined.
* Makeconfig (subdir-srcdirs): New variable.
* csu/Makefile (all-Banner-files): Use it.
* configure.in (--enable-add-ons): Set to "yes" by default.
Handle absolute add-on directory names when looking for configure
fragments. Also look for sysdeps/*/preconfigure fragments in add-ons.
Require add-on configure to set $libc_add_on_canonical, use
that in $add_ons_sfx. Substitute add_on_subdirs with computed list
of subdir names each add-on configure set in libc_add_on_subdirs.
* configure: Regenerated.
* Makefile (%/preconfigure: %/preconfigure.in): New pattern rule.
* config.make.in (add-on-subdirs): New substituted variable.
* Makeconfig (all-subdirs): Include $(add-on-subdirs).
Remove $(add-ons), $(sysdep-subdirs).
Don't filter out $(sysdep-inhibit-subdirs).
($(common-objpfx)sysd-dirs): Target removed. Don't include it.
($(common-objpfx)sysd-sorted): Rewritten to feed Depend and Subdirs
files together to gen-sorted.awk, and $(subdirs) via -v.
(subdirs): Remove magic reordering for mach and hurd.
* scripts/gen-sorted.awk: Use subdirs from command line.
Process Subdirs and Depend files directly.
Let Subdirs files use "first dir" and "inhibit dir".
Always move elf to the end of the list.
* hurd/Depend: New file.
* sysdeps/mach/Subdirs: Use "first mach".
* Makefile (dist-separate): Remove linuxthreads.
(dist-separate-linuxthreads): Variable removed.
(glibc-%.tar rule): Use $(sysdeps-add-ons).
* Makerules ($(common-objpfx)Versions.v.i): Use $(subdirs),
not $(all-subdirs).
(sysdep-makefiles): Use $(sysdirs).
(sysdirs): Remove export.
($(+sysdir_pfx)sysd-rules): Handle absolute directory names in
$(config-sysdirs).
(+sysdir_pfx): Variable removed.
(sysd-rules): Use $(common-objpfx) in place of it.
(sysdirs): Variable moved to ...
* Makeconfig (sysdirs): ... here.
Handle absolute directory names in $(config-sysdirs).
(full_config_sysdirs): Variable removed.
* csu/Makefile: Use $(sysdirs) in vpath directive.
* math/Makefile (ulps-file): Use $(sysdirs).
* sysdeps/gnu/Makefile (errlist-c): Likewise.
($(objpfx)errlist-compat.c): Likewise.
* Makeconfig (all-Subdirs-files): Likewise.
($(common-objpfx)config.status): Likewise.
* configure.in (sysnames): Handle absolute add-on directory names.
(sysdeps_add_ons): New variable, AC_SUBST it.
Compute which add-ons contributed sysdeps directories.
* configure: Regenerated.
* config.make.in (sysdeps-add-ons): New substituted variable.
* Makerules (+sysdep_dirs, +sysdep-includes): Variables moved ...
* Makeconfig: ... to here.
(+sysdep_dirs): Append $(sysdeps-add-ons) here.
(+includes): Remove $(objpfx) include, already in $(+sysdep_dirs).
Remove $(includes).
(sysdep-makeconfigs): Use $(+sysdep_dirs).
($(common-objpfx)shlib-versions.v.i): Likewise.
* Makeconfig: Remove hair to set Makeconfig-add-on.
* sysdeps/unix/Makefile (sysdirs): Remove export.
(asm_CPP): Variable removed.
($(common-objpfx)sysd-syscalls): Pass them directly for the script.
* sysdeps/posix/Makefile: New file.
* Makerules (L_tmpnam, TMP_MAX, L_ctermid, L_cuserid): Set non-posix
values here with ?=.
* stdlib/gen-mpn-copy: File removed.
* stdlib/Makefile (distribute): Remove it.
* configure.in: Don't grok --with-gmp.
* configure: Regenerated.
* configure.in (libc_cv_idn): Don't check it; libidn/configure does it.
* configure: Regenerated.
* bare: Directory removed, saved in ports repository.
into $(inst_includedir)/%.h from sysdirs.
[headers]: Change static pattern rule for installing
$(headers) to do only those not matching %.h.
($(inst_includedir)/%.h: $(objpfx)%.h): Add this pattern rule instead.
($(inst_includedir)/%.h: %.h): Likewise.
($(inst_includedir)/%.h: $(..)include/%.h): Likewise.
* Makefile ($(inst_includedir)/gnu/stubs.h):
Add $(make-target-directory).
* stdlib/Makefile (headers): Restore headers removed in last change.
2006-01-16 Jakub Jelinek <jakub@redhat.com>
* math/e_exp2l.c: Don't include stdio.h, errno.h, stub-tag.h, include
math_private.h.
(__ieee754_exp2l): Compute for now as expl (M_LN2l * x)
instead of failing.
(exp2l): Remove stub_warning.
2006-01-15 Jakub Jelinek <jakub@redhat.com>
* io/tst-faccessat.c (do_test): Don't fail if geteuid () == 0.
are not understood by the C++ compiler.
* Makerules: Add rules to build C++ code for test cases.
* include/stdlib.h: Protect for inclusion in C++ code.
* include/time.h: Likewise.
* test-skeleton.c (timeout_handler): Rewrite ts initialization for
C++ compatibility.
* Makerules [gen-as-const-headers] (tests): Add one test per .sym
file, not just one.
($(objpfx)test-as-const.c): Target replaced with ...
($(objpfx)test-as-const-%.c): ... this pattern rule.
(generated): Add those files.
* include/libc-symbols.h (stub_warning): Emit a marker section called
.gnu.glibc-stub.NAME.
* Makerules ($(objpfx)stubs): Depend on object files, not dep files.
Use objdump to collect those marker section names.
($(common-objpfx)shlib.lds): Discard .gnu.glibc-stub.* sections.
2004-09-08 H.J. Lu <hongjiu.lu@intel.com>
* Makeconfig (libunwind): New.
(libgcc_eh): Add $(libunwind).
(gnulib): Always set to -lgcc $(libgcc_eh).
(static-gnulib): Always set to -lgcc -lgcc_eh $(libunwind).
(libc.so-gnulib): New.
* Makerules (LDLIBS-c.so): Use $(libc.so-gnulib) instead of
$(static-gnulib).
* configure.in (libc_cv_cc_with_libunwind): Set to yes if gcc
uses -lunwind for static binaries.
later sets from output.
* Makerules (check-abi): Pass option to set that with value of
LIB-abi-frozen variable if one is set.
* abilist/libcidn.abilist: New file (empty).
2004-03-30 H.J. Lu <hongjiu.lu@intel.com>
* Makeconfig (link-libc-static): Use $(static-gnulib) instead
of $(gnulib).
(libgcc_eh): New variable.
(gnulib): Use it variable.
(static-gnulib): New variable.
* Makerules (LDLIBS-c.so): Use $(static-gnulib) instead of $(gnulib).
* config.make.in (have-as-needed): New variable.
* configure.in: Check if linker supports --as-needed.
2004-01-13 Ulrich Drepper <drepper@redhat.com>
* Makeconfig: Define relro-LDFLAGS if have-z-relro==yes. Add it to
LDFLAGS.so and LDFLAGS-rtld.
(+link): Add relro-LDFLAGS.
* Makeconfig (shlib.lds): Place __libc_subfreeres, __libc_atexit, and
__libc_thread_subfreeres sections after .jcr section.
* config.make.in: Add have-z-relro.
* configure.in: Add check for -z relro option.
* include/link.h (struct link_map): Add relro_addr and relro_size
members.
* elf/dl-load.c (_dl_map_object_from_fd): Recognize PT_GNU_RELRO.
* elf/dl-reloc.c (_dl_relocate_object): At the end, make relro
part of loaded segments read-only.
* elf/elf.h: Define PT_GNU_RELRO.
* elf/rtld.c (_dl_start): Recognize PT_GNU_RELRO of ld.so.
(dl_main): Recognize PT_GNU_RELRO of the application. Call
_dl_debug_initialize and initialize l_info[DT_DEBUG] before
relocations.
2003-07-21 Ulrich Drepper <drepper@redhat.com>
* Makerules (build-module-helper): Add -z defs unless explicitly said
not to do it.
* dlfcn/Makefile: Define various *-no-z-defs variables for test DSOs
which has undefined symbols.
* elf/Makefile: Likewise.
* Makerules: Always use -MP together with -MD.
(sed-remove-dotot): Substitute $(..) also at start of line.
($(stdio_lim:h=st)): Use -MD instead of SUNPRO_DEPENDENCIES.
Generated defines with a single compiler call.
Use $(sed-remove-dotdot).
* mach/Makefile ($(objpfx)mach-syscalls.mk): Use -MD instead
of DEPENDENCIES_OUTPUT, and use $(sed-remove-objpfx).
* sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h):
Use -MD instead of SUNPRO_DEPENDENCIES, and use $(sed-remove-objpfx).
* sysdeps/unix/sysv/linux/mips/Makefile
($(objpfx)syscall-%.h): Likewise.
* Makerules (common-before-compile): New variable.
($(common-objpfx)%.make): Depend on that instead of $(before-compile).
($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise. Move this rule
to after all setting of before-compile.
* Makerules (compile-mkdep-flags): New variable, pass -MD -MF $@.d.
(compile-command.S): Don't use ifndef. Append $(compile-mkdep-flags).
(compile-command.s, compile-command.c): Likewise.
($(objpfx)%.d): All such pattern rules removed.
($(+sysdir_pfx)sysd-rules): Don't generate them.
($(common-objpfx)dummy.d): Target removed.
(make-dummy-dep): Variable removed.
(generate-md5): Likewise.
(%.d: %.dt): New pattern rule.
(+depfiles): Use $(wildcard) function to get just existing *.d files
and .d files for existing *.dt files.
(common-clean): Remove all *.d and *.dt files.
(before-compile): Add $(objpfx). when it doesn't exist,
regardless of $(no_deps).
* elf/rtld-Rules ($(objpfx)rtld-%.d): All such pattern rules removed.
(rtld-depfiles): Use .os.d instead of .d names.
Include existing *.d files and .d files for existing *.dt files.
* Makerules ($(common-objpfx)%.make): Protect with [! subdir].
Use -MD, -MT and -MF flags instead of SUNPRO_DEPENDENCIES variable.
Just don't complain about missing it under --without-cvs.
* configure: Regenerated.
* include/libc-symbols.h (__symbol_set_attribute): New macro,
give hidden for [SHARED] and weak for [! SHARED].
(symbol_set_declare): Use that. Never need weak_extern these days.
* Makerules ($(common-objpfx)shlib.lds): Go back to using PROVIDE.
Depend on $(..)Makerules.
2003-04-27 Ulrich Drepper <drepper@redhat.com>
* Makerules ($(common-objpfx)shlib.lds): Don't use PROVIDE to
define __start_libc_freeres_ptrs and __stop___libc_freeres_ptrs.
(common-generated): Add it.
(build-shlib, build-module): Use that instead of generating every time.
($(common-objpfx)libc.so): Depend on it.
(lib%.so rule): Likewise.
(build-module-helper-objlist): Remove %.lds.
* iconvdata/extra-module.mk ($(objpfx)$(mod).so):
Depend on $(common-objpfx)shlib.lds.
* dlfcn/Makefile ($(test-modules)): Likewise.
Ignore exit status from diff.
* configure.in (enable_check_abi): Document possible value "warn".
Change default to no for now.
* configure: Regenerated.
* sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Emit stub_warning
macro calls and a #include <stub-tag.h> at the end.
* Makerules ($(objpfx)stubs): Tweak sed commands.
* sysdeps/unix/sysv/linux/syscalls.list: Use - rather than EXTRA in
caller column for *xattr syscalls, since they are in sysdeps/generic.
* sysdeps/unix/sysv/linux/i386/setfsuid.c: setfsgid -> setfsuid
* sysdeps/unix/sysv/linux/i386/setfsgid.c: setfsuid -> setfsgid
2003-03-26 Roland McGrath <roland@redhat.com>
* Makerules (check-abi-config): Use /thread instead of /tls when
use-thread and not just use-tls is set.
* Makerules (update-abi): Put quotes around $(update-abi-config).
* elf/Makefile (check-abi): Depend on check-abi-ld.
(update-abi): Depend on update-abi-ld.
* config.make.in (enable-check-abi): New variable from configure.
* configure.in (enable_check_abi): New substituted variable,
controlled by --{enable,disable}-check-abi (default yes).
* configure: Regenerated.
* Makerules [$(enable-check-abi) = yes] (tests): Put this condition
on check-abi dependency.
* configure.in: New check for -g on .S files.
* configure: Regenerated.
* config.make.in (have-cpp-asm-debuginfo): New variable.
* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
* Makeconfig (ASFLAGS): New variable, if undefined and
$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
* Makerules: Clean up conditional around include of tls.make.
* Make-dist: Export generating=t to prevent using that.
(+distinfo): Likewise for $(shell $(MAKE) ...) runs.
* 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/.
* 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.
$(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-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 Gnther <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>
* 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).
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.
* 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.
* 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>.
* 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.
* 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.
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.
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.
* 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.
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.
* 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.
* 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-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-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-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
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.
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-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.