* 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 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>
* 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.
2001-02-01 Ulrich Drepper <drepper@redhat.com>
* Makerules (build-shlib): Add $(extra-B-$(@F:lib%.so=%).so).
* configure.in: Test for -z initfirst linker option.
* config.make.in: Add have-z-initfirst.
* elf/dl-init.c (_dl_init): Split out actual initialization code in
new function call_init. If _dl_initfirst is non-NULL initialize first.
* elf/dl-load.c (_dl_map_from_fd): If DF_1_INITFIRST flag is set
remember object in _dl_initfirst.
* elf/soinit.c: Remove special support for calling
__pthread_initialize_minimal.
* conform/conformtest.pl: Add missing $prepend in type test.
* elf/elf.h (SHT_CHECKSUM): New definition.
* posix/tst-fnmatch.input: Add tests for [. .] in locales.