diff options
Diffstat (limited to 'packages/glibc/glibc-2.3.2')
86 files changed, 324840 insertions, 0 deletions
diff --git a/packages/glibc/glibc-2.3.2/.mtn2git_empty b/packages/glibc/glibc-2.3.2/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/glibc/glibc-2.3.2/.mtn2git_empty diff --git a/packages/glibc/glibc-2.3.2/10_cvs.patch b/packages/glibc/glibc-2.3.2/10_cvs.patch index e69de29bb2..0c3ecdcb40 100644 --- a/packages/glibc/glibc-2.3.2/10_cvs.patch +++ b/packages/glibc/glibc-2.3.2/10_cvs.patch @@ -0,0 +1,177118 @@ +--- glibc-2.3.2/CANCEL-FILE-WAIVE 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/CANCEL-FILE-WAIVE 2003-09-02 05:24:58.000000000 -0400 +@@ -0,0 +1,33 @@ ++mkdtemp.os ++tmpnam.os ++tmpnam_r.os ++__assert.os ++assert.os ++assert-perr.os ++gconv_builtin.os ++gconv_simple.os ++gconv.os ++iconv.os ++strfmon.os ++strfmon_l.os ++argp-xinl.os ++iofdopen.os ++printf_fp.os ++printf_fphex.os ++printf_size.os ++strxfrm.os ++strxfrm_l.os ++strcoll.os ++strcoll_l.os ++alphasort.os ++alphasort64.os ++set-freeres.os ++btowc.os ++wctob.os ++mblen.os ++strops.os ++wstrops.os ++fmemopen.os ++closedir.os ++hsearch.os ++hsearch_r.os +--- glibc-2.3.2/ChangeLog 2003-02-28 20:10:14.000000000 -0500 ++++ glibc-2.3.2/ChangeLog 2003-09-20 09:40:33.000000000 -0400 +@@ -1,3 +1,5919 @@ ++2003-09-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/Makefile ($(objpfx)librtld.os): Create link map also for ++ final build to ease quality control. ++ ++ * sysdeps/unix/sysv/linux/getcwd.c (__getcwd): If compiled for ++ ld.so, don't include NULL buffer pointer handling. ++ ++2003-09-19 Jakub Jelinek <jakub@redhat.com> ++ ++ * dlfcn/dlopen.c (dlopen): Add static_link_warning. ++ ++2003-09-18 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/memstream.c (open_memstream): Use _IO_init instead of ++ _IO_old_init. ++ ++2003-09-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/wordexp.c (eval_expr_val): Use strtol since we ++ have to recognize octal and hexadecimal numbers as well. Simplify ++ function, signs are handled in strtol. ++ * posix/wordexp-test.c: Add tests for octal and hexadecimal ++ numbers in arithmetic expressions. ++ ++2003-09-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/Makefile (distribute): Add tst-alignmod.c. ++ (tests): Add tst-align. ++ (modules-names): Add tst-alignmod. ++ (CFLAGS-tst-align.c, CFLAGS-tst-alignmod.c): Add ++ $(stack-align-test-flags). ++ ($(objpfx)tst-align): Depend on libdl. ++ ($(objpfx)tst-align.out): Depend on tst-alignmod.so. ++ * elf/tst-align.c: New file. ++ * elf/tst-alignmod.c: New file. ++ * misc/Makefile (CFLAGS-tst-tsearch.c): Add $(stack-align-test-flags). ++ * misc/tst-tsearch.c: Include tst-stack-align.h. ++ (stack_align_check): New array. ++ (cmp_fn, walk_action): Use TEST_STACK_ALIGN (). ++ (main): Report error if stack was not enough aligned ++ in cmp_fn or walk_action. ++ * stdlib/Makefile (CFLAGS-tst-qsort.c): Add $(stack-align-test-flags). ++ * stdlib/tst-qsort.c: Include tst-stack-align.h. ++ (align_check): New var. ++ (compare): Use TEST_STACK_ALIGN () macro. ++ (main): Report error if stack was not enough aligned in compare. ++ * sysdeps/i386/i686/Makefile (stack-align-test-flags): Remove ++ unneeded -mpreferred-stack-boundary=4. ++ * sysdeps/x86_64/tst-stack-align.h: New file. ++ ++ * libio/memstream.c (_IO_wmem_jumps): Remove unused structure. ++ (_IO_wmem_sync, _IO_wmem_finish): Remove unused functions. ++ ++2003-09-17 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/arm/dl-machine.h (CALL_ROUTINE): Deleted. ++ (BX): Define. ++ (ELF_MACHINE_RUNTIME_TRAMPOLINE): Optimise a little. ++ ++ * sysdeps/arm/sysdep.h (DO_RET): New. ++ ++ * sysdeps/unix/sysv/linux/arm/vfork.S: Add #error if __NR_vfork ++ required but not defined. Improve test of error code. ++ ++2003-09-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/Makefile (stack-align-test-flags): Add ++ -malign-double -mpreferred-stack-boundary=4. ++ ++2003-09-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/posix/utimes.c (__utimes): Truncate instead of round. ++ * sysdeps/unix/sysv/linux/utimes.c (__utimes): Likewise. ++ ++2003-09-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/Makefile (sysdep-CFLAGS): If not in math or csu ++ subdir, add -mpreferred-stack-boundary=4, with few exceptions. ++ ++2003-09-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * Makeconfig (stack-align-test-flags): Set. ++ * stdlib/Makefile (CFLAGS-tst-bsearch.c): Add ++ $(stack-align-test-flags). ++ * stdlib/tst-bsearch.c: Include tst-stack-align.h. ++ (align_check): New var. ++ (comp): Use TEST_STACK_ALIGN macro. ++ (do_test): Fail if align_check != 1. ++ * sysdeps/generic/tst-stack-align.h: New file. ++ * sysdeps/i386/i686/Makefile (stack-align-test-flags): Add -msse. ++ * sysdeps/i386/i686/tst-stack-align.h: New file. ++ ++2003-09-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/clone.S: Make sure child gets a ++ stack which is aligned (mod 16). ++ ++2003-09-17 Uwe Reimann <Uwe_Reimann@gmx.net> ++ Hans-Peter Nilsson <hp@axis.com> ++ ++ * sysdeps/cris/dl-machine.h (elf_machine_type_class): Classify ++ R_CRIS_GLOB_DAT as ELF_RTYPE_CLASS_PLT. Clarify comment. ++ ++2003-09-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * dirent/scandir.c: Include bits/libc-lock.h. ++ (struct scandir_cancel_struct): New type. ++ (cancel_handler): New function. ++ (SCANDIR): Add __libc_cleanup_{push,pop}, save state into ++ scandir_cancel_struct. ++ ++2003-09-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/Dist: Remove internal_statvfs.c. ++ * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): ++ Add internal_statvfs. ++ * sysdeps/unix/sysv/linux/fstatvfs.c: Call __internal_statvfs ++ instead of including "internal_statvfs.c". ++ * sysdeps/unix/sysv/linux/statvfs.c: Likewise. ++ * sysdeps/unix/sysv/linux/internal_statvfs.c: Make it a real function. ++ Add code to avoid the stat calls on all the reported mount points ++ when we can determine mismatch in advance. ++ * sysdeps/unix/sysv/linux/linux_fsinfo.h: Add AUTOFS_SUPER_MAGIC and ++ USBDEVFS_SUPER_MAGIC. ++ ++2003-09-16 Jakub Jelinek <jakub@redhat.com> ++ ++ * posix/Versions (sched_getaffinity, sched_setaffinity): Change ++ from GLIBC_2.3.2 to GLIBC_2.3.3 symbol version. ++ ++2003-09-16 Bruno Haible <bruno@clisp.org> ++ ++ * intl/tst-gettext2.sh: Set GCONV_PATH and LOCPATH only after ++ invoking msgfmt, not before. ++ ++2003-09-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * argp/argp.h (argp_parse, __argp_parse): Remove __THROW. ++ * argp/Makefile (CFLAGS-argp-help.c, CFLAGS-argp-parse.c): Add ++ $(uses-callbacks). ++ * dirent/Makefile (CFLAGS-scandir.c, CFLAGS-scandir64.c): Likewise. ++ * elf/Makefile (CFLAGS-dl-iterate-phdr.c, ++ CFLAGS-dl-iterate-phdr-static.c): Add $(uses-callbacks). ++ * elf/dl-iteratephdr.c (cancel_handler): New function. ++ (__dl_iterate_phdr): Add __libc_cleanup_{push,pop}. ++ * elf/link.h (dl_iterate_phdr): Remove __THROW. ++ * io/Makefile (CFLAGS-fts.c): Merge into one assignment. ++ Add $(uses-callbacks). ++ (CFLAGS-ftw.c, CFLAGS-ftw64.c): Add $(uses-callbacks). ++ * misc/Makefile (CFLAGS-tsearch.c, CFLAGS-lsearch.c): Change ++ $(exceptions) to $(uses-callbacks). ++ * Makeconfig (uses-callbacks): Set to $(exceptions). ++ * posix/Makefile (CFLAGS-glob.c, CFLAGS-glob64.c): Add ++ $(uses-callbacks). ++ * stdlib/Makefile (CFLAGS-bsearch.c, CFLAGS-msort.c, CFLAGS-qsort.c): ++ Likewise. ++ ++2003-09-15 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/setjmp.c: Add hidden_def. ++ ++2003-09-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/memstream.c (open_memstream): Don't allow wide char operations. ++ ++ * dirent/dirent.h: Remove __THROW from scandir. ++ ++2003-09-14 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/unix/sysv/linux/arm/mmap.S: Use sys_mmap2 if it's known ++ to be available. ++ ++ * sysdeps/unix/sysv/linux/arm/mmap64.S: Optimise code a little. ++ ++ * sysdeps/arm/memset.S: Rewrite. ++ ++2003-09-12 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New. ++ (__SSIZE_T_TYPE): Define to __SWORD_TYPE for gcc 2.95.x and ++ __SLONGWORD_TYPE otherwise. ++ ++2003-09-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/Makefile (CFLAGS-ftw.c): Add -fexceptions. ++ (CFLAGS-ftw64.c): Likewise. ++ ++2003-09-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/Makefile (CFLAGS-nscd_getpw_r.c): Add -fexceptions. ++ (CFLAGS-nscd_getgr_r.c): Likewise. ++ (CFLAGS-nscd_gethst_r.c): Likewise. ++ ++2003-09-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/if_index.c: Use only non-cancelable ++ interfaces. ++ ++ * grp/Makefile (CFLAGS-getgrgid_r.c, CFLAGS-getgrnam_r.c, ++ CFLAGS-fgetgrent.c, CFLAGS-fgetgrent_r.c, CFLAGS-putgrent.c, ++ CFLAGS-initgroups.c, CFLAGS-getgrgid.c): Add -fexceptions. ++ * inet/Makefile (CFLAGS-either_ntoh.c, CFLAGS-either_hton.c, ++ CFLAGS-getnetgrent.c, CFLAGS-getnetgrent_r.c): Likewise. ++ * io/Makefile (CFLAGS-posix_fallocate.c, CFLAGS-posix_fallocate64.c): ++ Likewise. ++ * misc/Makefile (CFLAGS-err.c): Likewise. ++ * posix/Makefile (CFLAGS-getaddrinfo.c, CFLAGS-spawn.c, ++ CFLAGS-spawnp.c, CFLAGS-spawni.c, CFLAGS-pause.c, CFLAGS-glob.c, ++ CFLAGS-glob64.c): Likewise. ++ * pwd/Makefile (CFLAGS-getpw.c): Likewise. ++ * shadow/Makefile (CFLAGS-fgetspent.c, CFLAGS-fgetspent_r.c, ++ CFLAGS-putspent.c, CFLAGS-getspnam.c, CFLAGS-getspnam_r.c): Likewise. ++ * stdio-common/Makefile (CFLAGS-cuserid.c): Likewise. ++ * sunrpc/Makefile (CFLAGS-openchild.c): Likewise. ++ ++ * stdlib/Makefile (CFLAGS-mkstemp.c): Remove definition. ++ ++ * libio/stdio.h: Remove __THROW from cuserid prototype. ++ ++ * locale/loadarchive.c: Use only non-cancelable interfaces. ++ * resolv/herror.c (herror): Likewise. ++ ++ * malloc/hooks.c: Before using IO stream mark stream so it uses ++ only non-cancelable interfaces. ++ * malloc/malloc.c: Likewise. ++ * posix/getopt.c: Likewise. ++ ++ ++2003-09-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * Makerules (LDFLAGS-c.so): Remove -u __register_frame. ++ ++2003-09-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdio-common/stdio_ext.h: Mark most functions with __THROW. ++ ++ * misc/err.h: Remove __THROW from all prototypes. ++ ++ * posix/getopt.h (__THROW): Define if not already defined. Add ++ __THROW to the getopt functions. ++ ++2003-09-11 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/Makefile (CFLAGS-lockf.c): Add -fexceptions. ++ (CFLAGS-fts.c): Likewise. ++ * io/fcntl.h: Remove __THROW from lockf prototypes. ++ * io/fts.h: Remove most __THROW. ++ ++2003-09-11 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * elf/tls-macros.h (TLS_IE): Add a stop bit for ia64. ++ (TLS_LD): Likewise. ++ (TLS_GD): Likewise. ++ ++2003-09-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/fileops.c (_IO_new_file_overflow): Add INTUSE to ++ _IO_free_backup_area call. ++ ++2003-09-10 Chris Demetriou <cgd@broadcom.com> ++ ++ * sysdeps/unix/sysv/linux/mips/pread64.c (__libc_pread64): Fix ++ syscall invocation. ++ * sysdeps/unix/sysv/linux/mips/pwrite64.c (__libc_pwrite64): Likewise. ++ * sysdeps/unix/sysv/linux/mips/pread.c (__libc_pread): Likewise. ++ Also, only assert off_t size is 4 for N32 and O32, and clean up ++ white space. ++ * sysdeps/unix/sysv/linux/mips/pwrite.c (__libc_pwrite): Likewise. ++ ++2003-09-10 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): ++ Don't use c_ispeed under [! _HAVE_STRUCT_TERMIOS_C_ISPEED]. ++ Don't use c_ospeed under [! _HAVE_STRUCT_TERMIOS_C_OSPEED]. ++ * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise. ++ Reported by Daniel Jacobowitz <drow@mvista.com>. ++ ++2003-09-10 Jakub Jelinek <jakub@redhat.com> ++ ++ * string/Makefile (strop-tests): Add memccpy. ++ * string/test-memccpy.c: New test. ++ ++2003-09-09 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT): Add ++ siginfo_t * argument before, change into struct ucontext *. ++ (SIGCONTEXT_EXTRA_ARGS): Define to _si,. ++ (GET_PC, GET_FRAME, GET_STACK): Adjust for ctx being a pointer ++ instead of structure. ++ * sysdeps/unix/sysv/linux/x86_64/register-dump.h (REGISTER_DUMP): ++ Likewise. ++ ++2003-09-09 Ulrich Drepper <drepper@redhat.com> ++ ++ * string/stratcliff.c (main): Check memccpy. ++ ++2003-04-11 Jes Sorensen <jes@wildopensource.com> ++ ++ * sysdeps/ia64/memccpy.S: When recovering for src_aligned and the ++ character is found during recovery, use correct register when ++ determining the position of the found character. ++ ++2003-04-01 Jes Sorensen <jes@wildopensource.com> ++ ++ * sysdeps/ia64/memccpy.S: Use speculatively loads for readahead to ++ avoid segfaults when reading from unmapped pages. For aligned ++ reload and continue, for misaligned, roll back and use byte copy. ++ Save ar.ec on entry and restore on exit. ++ ++2003-09-09 Chris Demetriou <cgd@broadcom.com> ++ ++ * sysdeps/unix/mips/sysdep.h (PSEUDO_END): Undef before defining. ++ ++2003-09-08 Chris Demetriou <cgd@broadcom.com> ++ ++ * sysdeps/mips/mips64/n32/Implies: Move ieee754/ldbl-128 to ++ the top of the list. ++ * sysdeps/mips/mips64/n64/Implies: Likewise. ++ ++2003-09-08 Roland McGrath <roland@frob.com> ++ ++ * sysdeps/unix/sysv/linux/speed.c ++ (cfsetospeed): Only set c_ospeed under [_HAVE_STRUCT_TERMIOS_C_OSPEED]. ++ (cfsetispeed): Only set c_ispeed under [_HAVE_STRUCT_TERMIOS_C_ISPEED]. ++ * sysdeps/unix/sysv/linux/bits/termios.h ++ (_HAVE_STRUCT_TERMIOS_C_ISPEED, _HAVE_STRUCT_TERMIOS_C_OSPEED): Define. ++ * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. ++ ++2003-09-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/x86_64/register-dump.h: Undo last change. ++ * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: Likewise. ++ ++2003-09-08 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/bits/types.h (__quad_t): Make long int if 64-bit. ++ (__u_quad_t): Make unsigned long int if 64-bit. ++ (__SQUAD_TYPE): Make long int if 64-bit. ++ (__UQUAD_TYPE): Make unsigned long int if 64-bit. ++ * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Remove. ++ ++2003-09-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * Makefile (tests): Run check-c++-types.sh if possible. ++ * scripts/check-c++-types.h: New file. ++ * scripts/data/c++-types-i386-linux-gnu.data: New file. ++ ++2003-09-08 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump): ++ Use struct sigcontext. ++ ++ * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT): ++ Use struct sigcontext. ++ (GET_PC): Adopt. ++ (GET_FRAME): Likewise. ++ (GET_STACK): Likewise. ++ ++2003-09-08 Wolfram Gloger <wg@malloc.de> ++ ++ * malloc/malloc.c (sYSMALLOc): Move foreign sbrk accounting into ++ contiguous case. Bug report from Prem Gopalan <prem@mazunetworks.com>. ++ (mALLOPt): Avoid requirement of C99. ++ ++2003-09-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/bug-ftell.c: Include <sys/types.h>. ++ (main): Mark cp as const. ++ ++2003-09-07 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/syscalls.list (fcntl): Remove. ++ * sysdeps/unix/sysv/linux/x86_64/fcntl.c: Remove. ++ ++2003-09-05 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Fill in c_ispeed ++ and c_ospeed fields. ++ * sysdeps/unix/sysv/linux/speed.c (cfsetospeed): Set c_ospeed field. ++ (cfsetispeed): Set c_ispeed field. ++ * sysdeps/unix/sysv/linux/tcsetattr.c (IBAUD0): Define unconditionally ++ to match corresponding speed.c code. ++ ++2003-09-06 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/wfileops.c (_IO_wfile_underflow): Mark beginning of the ++ narrow character buffer. ++ * libio/Makefile: Add rules to build and run bug-ftell. ++ * libio/bug-ftell.c: New file. ++ ++ * stdio-common/vfprintf.c: Don't use the first grouping number twice. ++ ++ * stdio-common/vfscanf.c (vfscanf): Fix recognition of characters ++ matching the decimal point and possibly leading the thousands ++ separator. This caused the recognition of thousands separators to ++ always fail. ++ ++2003-09-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/fileops.c (_IO_new_file_overflow): Handle switching to ++ write mode from read in backup buffer. ++ * libio/Makefile (tests): Add bug-ungetc2. ++ * libio/bug-ungetc2.c: New file. ++ ++2003-09-05 Roland McGrath <roland@redhat.com> ++ ++ * nss/getXXbyYY.c (FUNCTION_NAME): Remove unused variable. ++ ++2003-09-04 Roland McGrath <roland@frob.com> ++ ++ * sysdeps/mach/hurd/mmap.c (__mmap): If io_map fails with MIG_BAD_ID, ++ EOPNOTSUPP, or ENOSYS, change it to ENODEV. ++ ++2003-09-04 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/bits/sigstack.h (MINSIGSTKSZ): ++ Fix a typo. ++ ++2003-09-05 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/i386/bits/string.h (__memrchr): Do addition in assembler ++ to make it conforming C. ++ * sysdeps/i386/i486/bits/string.h (__memrchr): Likewise. ++ ++ * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Change ++ prototype to use variable argument lists and get the possible one ++ argument via va_arg. ++ * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/fcntl.c: New. ++ ++2003-09-04 Ulrich Drepper <drepper@redhat.com> ++ ++ * posix/unistd.h: Add back __THROW to sysconf, pathconf, fpathconf. ++ ++ * sysdeps/unix/sysv/linux/pathconf.c (__statfs_filesize_max): ++ Report correct value for vxfs. ++ * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define VXFS_SUPER_MAGIC. ++ ++ * gmon/gmon.c: Use only not-cancelable syscalls to write profiling ++ data. ++ ++ * sysdeps/generic/utmp_file.c: Use not-cancelable syscalls all ++ over the place. It would be allowed to have these functions as ++ cancellation points but the cleanup would be ugly and a lot of ++ work. ++ ++ * sysdeps/generic/not-cancel.h (fcntl_not_cancel): Define. ++ * sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Define. ++ ++ * include/fcntl.h (__fcntl_nocancel): Declare. ++ * sysdeps/unix/sysv/linux/fcntl.c: New file. ++ * sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl): Only enable ++ cancellation if absolutely needed. ++ (__fcntl_nocancel): Define. ++ ++ * posix/unistd.h (gethostid): Remove __THROW. Clarify comment. ++ * sysdeps/unix/sysv/linux/Makefile (CFLAGS-gethostid.c): Add ++ -fexceptions. ++ * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Use ++ extend_alloca. ++ ++ * resolv/res_init.c (__res_nclose): Use close_not_cancel_no_status ++ instead of __close. ++ ++ * nss/getXXbyYY.c (FUNCTION_NAME): Add a few casts. Remove ++ unnecessary errno handling. ++ ++ * nss/getXXbyYY_r.c (INTERNAL): Use better variable name. ++ Initialize it in all cases. Change it to be a bit more like the ++ code we had before. ++ ++2003-09-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/fileops.c (_IO_file_read, _IO_new_file_write): Add ++ __builtin_expect. ++ (_IO_file_open): Likewise. Use close_not_cancel. ++ ++2003-09-04 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/libio.h: Define _IO_FLAGS2_NOTCANCEL. ++ * libio/fileops.c [_LIBC]: Remove close macro. ++ (_IO_file_open): If _IO_FLAGS2_NOTCANCEL is set, use open_not_cancel. ++ (_IO_new_file_open): Recognize 'c' flag in mode string. ++ (_IO_file_read): If _IO_FLAGS2_NOTCANCEL is set use read_not_cancel. ++ (_IO_new_file_write): If _IO_FLAGS2_NOTCANCEL is set use ++ write_not_cancel. ++ * iconv/gconv_conf.c: Use fopen with 'c' mode flag. ++ * inet/rcmd.c: Likewise. ++ * inet/ruserpass.c: Likewise. ++ * intl/localealias.c: Likewise. ++ * malloc/mtrace.c: Likewise. ++ * misc/getpass.c: Likewise. ++ * misc/getttyent.c: Likewise. ++ * misc/mntent_r.c: Likewise. ++ * misc/getusershell.c: Likewise. ++ * nss/nsswitch.c: Likewise. ++ * resolv/res_hconf.c: Likewise. ++ * resolv/res_init.c: Likewise. ++ * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. ++ * time/getdate.c: Likewise. ++ * time/tzfile.c: Likewise. ++ * misc/fstab.h: Undo last change. ++ * misc/mntent.h: Likewise. ++ * misc/Makefile: Remove CFLAGS-mntent_r.c, CFLAGS-mntent.c, and ++ CFLAGS-fstab.c definition. ++ ++2003-09-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/unwind.h (_Unwind_GetBSP): Add prototype. ++ ++2003-09-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * nss/getXXbyYY_r.c (INTERNAL): Explicitly set errno and avoid ++ returning ERANGE if this wasn't intended. ++ ++2003-09-03 Jakub Jelinek <jakub@redhat.com> ++ ++ * intl/loadmsgcat.c (open, close, read, mmap, munmap): Define as ++ function-like macros. ++ ++2003-09-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * grp/Makefile (CFLAGS-getgrent_r.c): Add -fexceptions. ++ (CFLAGS-getgrent.c): Likewise. ++ * pwd/Makefile (CFLAGS-getpwent_r.c): Add -fexceptions. ++ (CFLAGS-getpwent.c): Likewise. ++ * shadow/Makefile (CFLAGS-getspent_r.c): Add -fexceptions. ++ (CFLAGS-getspent.c): Likewise. ++ ++ * inet/Makefile: Add -fexceptions to CFLAGS for the various ++ getXXent and getXXbyYY functions. ++ ++ * locale/loadlocale.c: Use not-cancelable variants of open, close, ++ and read. ++ ++2003-09-02 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove ++ rt_sigsuspend, rt_sigprocmask, rt_sigtimedwait, rt_sigqueueinfo and ++ rt_sigpending. ++ * sysdeps/unix/sysv/linux/alpha/sigaction.c (__syscall_rt_sigaction): ++ New prototype. ++ * sysdeps/unix/sysv/linux/arm/syscalls.list (__syscall_*): Remove ++ unused __syscall_ stubs. ++ * sysdeps/unix/sysv/linux/arm/Makefile (sysdep_routines): Remove ++ rt_*. ++ * sysdeps/unix/sysv/linux/cris/Makefile: Removed. ++ * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list ++ (__syscall_recvfrom, __syscall_sendto): Remove unused aliases. ++ * sysdeps/unix/sysv/linux/mips/syscalls.list (__syscall_*): Remove ++ unused __syscall_ stubs. ++ * sysdeps/unix/sysv/linux/mips/Makefile (sysdep_routines): Remove rt_*. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list ++ (__syscall_*): Remove unused __syscall_ stubs. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list ++ (__syscall_*): Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/Makefile (sysdep_routines): Remove ++ rt_*. ++ * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__syscall_*): ++ Remove unused __syscall_ stubs. ++ * sysdeps/unix/sysv/linux/sh/Makefile (sysdep_routines): Remove rt_*. ++ * sysdeps/unix/sysv/linux/rt_sigaction.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigpending.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigprocmask.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigqueueinfo.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigreturn.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigsuspend.c: Removed. ++ * sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Removed. ++ * sysdeps/unix/sysv/linux/s_pread64.c: Removed. ++ * sysdeps/unix/sysv/linux/s_pwrite64.c: Removed. ++ * sysdeps/unix/sysv/linux/alpha/gethostname.c: Remove unused ++ __syscall_* prototypes. ++ * sysdeps/unix/sysv/linux/alpha/ipc_priv.h: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise. ++ * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/fchown.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getegid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/geteuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getgid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getmsg.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/xstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/getuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/lchown.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/lockf64.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/putmsg.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sigpending.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sigsuspend.c: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/xstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/m68k/chown.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pread.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/ustat.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/ioctl.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/chown.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/lchown.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/pwrite.c: Likewise. ++ * sysdeps/unix/sysv/linux/execve.c: Likewise. ++ * sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise. ++ * sysdeps/unix/sysv/linux/reboot.c: Likewise. ++ * sysdeps/unix/sysv/linux/_exit.c: Likewise. ++ * sysdeps/unix/sysv/linux/ftruncate64.c: Likewise. ++ * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. ++ * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. ++ * sysdeps/unix/sysv/linux/gai_sigqueue.c: Likewise. ++ * sysdeps/unix/sysv/linux/readahead.c: Likewise. ++ * sysdeps/unix/sysv/linux/getcwd.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigwait.c: Likewise. ++ * sysdeps/unix/sysv/linux/getdents.c: Likewise. ++ * sysdeps/unix/sysv/linux/readv.c: Likewise. ++ * sysdeps/unix/sysv/linux/getpriority.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigaction.c: Likewise. ++ * sysdeps/unix/sysv/linux/ipc_priv.h: Likewise. ++ * sysdeps/unix/sysv/linux/llseek.c: Likewise. ++ * sysdeps/unix/sysv/linux/sysctl.c: Likewise. ++ * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mmap64.c: Likewise. ++ * sysdeps/unix/sysv/linux/ustat.c: Likewise. ++ * sysdeps/unix/sysv/linux/poll.c: Likewise. ++ * sysdeps/unix/sysv/linux/pread64.c: Likewise. ++ * sysdeps/unix/sysv/linux/writev.c: Likewise. ++ * sysdeps/unix/sysv/linux/pread.c: Likewise. ++ * sysdeps/unix/sysv/linux/ptrace.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigpending.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigprocmask.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigqueue.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. ++ * sysdeps/unix/sysv/linux/truncate64.c: Likewise. ++ * sysdeps/unix/sysv/linux/xmknod.c: Likewise. ++ * sysdeps/unix/sysv/linux/xstat64.c: Likewise. ++ ++2003-09-02 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Revert last change. ++ * sysdeps/unix/sysv/linux/powerpc/syscalls.list: New file. ++ * sysdeps/unix/sysv/linux/sparc/syscalls.list: New file. ++ ++2003-09-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdio-common/Makefile (CFLAGS-vprintf.c): Add -fexceptions. ++ ++ * intl/loadmsgcat.c: For _LIBC, call not cancelable versions of ++ open, close, and read. ++ ++ * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Also define ++ *_nocancel name. ++ ++ * sysdeps/unix/sysv/linux/i386/syscalls.list: Add waitpid. ++ ++ * libio/Makefile (CFLAGS-oldtmpfile.c): Add -fexceptions. ++ * sysdeps/generic/tmpfile.c (tmpfile): Use __unlink instead of remove. ++ * libio/oldtmpfile.c (__old_tmpfile): Likewise. ++ ++ * misc/Makefile (CFLAGS-getusershell.c): Add -fexceptions. ++ ++ * io/Makefile (CFLAGS-statfs.c): Add -fexceptions. ++ (CFLAGS-fstatfs.c): Likewise. ++ (CFLAGS-statvfs.c): Likewise. ++ (CFLAGS-fstatvfs.c): Likewise. ++ ++2003-09-01 Ulrich Drepper <drepper@redhat.com> ++ ++ * misc/Makefile (CFLAGS-getsysstats.c): Add -fexceptions. ++ * posix/unistd.h: Remove __THROW from pathconf, fpathconf, ++ sysconf. ++ * posix/Makefile (CFLAGS-sysconf.c): Add -fexceptions. ++ (CFLAGS-pathconf.c): Likewise. ++ (CFLAGS-fpathconf.c): Likewise. ++ ++ * misc/Makefile (CFLAGS-fstab.c): Add -fexceptions. ++ * misc/fstab.h: Remove all __THROW. ++ * misc/Makefile (CFLAGS-mntent.c): Add -fexceptions. ++ (CFLAGS-mntent_r.c): Likewise. ++ * misc/mntent.h: Remove most __THROW. ++ ++ * misc/Makefile (CFLAGS-mkstemp.c): Add -fexceptions. ++ (CFLAGS-mkstemp64.c): Likewise. ++ ++ * sysdeps/generic/wordexp.c (parse_comm): Disable cancellation ++ around call to exec_comm. ++ * posix/wordexp.h: Remove __THROW from wordexp. ++ * posix/Makefile (CFLAGS-wordexp.c): Add -fexceptions. ++ ++ * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Use ++ not-cancelable functions. ++ ++ * libio/Makefile (CFLAGS-oldiofopen.c): Add -fexceptions. ++ (CFLAGS-iofopen.c): Likewise. ++ (CFLAGS-iofopen64.c): Likewise. ++ ++ * stdlib/fmtmsg.c (fmtmsg): Disable cancellation around output ++ functions. ++ * stdlib/Makefile (CFLAGS-fmtmsg.c): Add -fexceptions. ++ * stdlib/fmtmsg.h: Remove __THROW from fmtmsg. ++ ++ * stdlib/stdlib.h: Remove __THROW from posix_openpt and getpt. ++ * login/Makefile (CFLAGS-getpt.c): Add -fexceptions. ++ ++2003-09-01 Thorsten Kukuk <kukuk@suse.de> ++ ++ * nis/nss_compat/compat-spwd.c (getspnam_plususer): Return ++ NSS_STATUS_SUCCESS if entry was found. ++ (getspent_next_file): Store user in blacklist after entry ++ was found, use innetgr. ++ ++2003-09-01 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise.c: New. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c: New. ++ ++ * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Fix tls offset ++ computation for TCB_AT_TP. Support l_firstbyte_offset != 0 for ++ DTV_AT_TP, optimize. ++ ++2003-08-31 Kaz Kojima <kkojima@rr.iij4u.or.jp> ++ ++ * sysdeps/unix/sysv/linux/sh/Versions: Add posix_fadvise64 and ++ posix_fallocate64 at GLIBC_2.3.3. ++ * sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO_ERRVAL): Define. ++ (PSEUDO_END_ERRVAL, ret_ERRVAL): Likewise. ++ ++2003-08-08 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/syscalls.list: Remove __syscall_ ++ functions. ++ ++2003-08-31 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/libioP.h (_IO_acquire_lock_fct): Define as inline function. ++ Code by Richard Henderson. ++ ++2003-08-31 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/unix/sysv/linux/arm/Versions: Add posix_fadvise64 and ++ posix_fallocate64 at GLIBC_2.3.3. ++ ++2003-08-31 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/x86_64/bsd-_setjmp.S: Use HIDDEN_JUMPTARGET. ++ * include/setjmp.h: Add libc_hidden_proto for __sigsetjmp. ++ ++2003-08-30 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/sysdep.h (cfi_window_save, CFI_WINDOW_SAVE): Define. ++ * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Allow file to be ++ included multiple times. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Pass ++ ptid, tls, ctid arguments to the kernel. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize): ++ Use INTERNAL_SYSCALL instead of __syscall_getpagesize. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c ++ (__libc_sigaction): Use INLINE_SYSCALL instead of ++ __syscall_rt_sigaction. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list ++ (__syscall_getgroups, __syscall_getpagesize, __syscall__llseek, ++ __syscall_setfsgid, __syscall_setfsuid, __syscall_setgid, ++ __syscall_setgroups, __syscall_setregid, __syscall_setreuid, ++ __syscall_ipc, __syscall_setuid, __syscall_rt_sigaction, ++ __syscall_rt_sigpending, __syscall_rt_sigprocmask, ++ __syscall_rt_sigqueueinfo, __syscall_rt_sigsuspend, ++ __syscall_rt_sigtimedwait): Remove unneeded syscall stubs. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile (sysdep_routines): ++ Remove rt_sigsuspend, rt_sigprocmask, rt_sigtimedwait, ++ rt_sigqueueinfo, rt_sigaction and rt_sigpending. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h ++ (__CLONE_SYSCALL_STRING): Define. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S (__socket): Add ++ CFI directives. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h ++ (__CLONE_SYSCALL_STRING): Define. ++ * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_CLONE_SYSCALL): ++ Define. ++ * sysdeps/unix/sysv/linux/sparc/system.c: New file. ++ ++2003-08-30 Ulrich Drepper <drepper@redhat.com> ++ ++ * sunrpc/rpc/clnt.h: Remove a few __THROW. ++ * sunrpc/Makefile (CFLAGS-auth_unix.c): Add -fexceptions. ++ (CFLAGS-key_call.c): Likewise. ++ (CFLAGS-pmap_rmt.c): Likewise. ++ (CFLAGS-clnt_perr.c): Likewise. ++ * sunrpc/rpc/auth.h: Remove serveral __THROW. ++ ++ * inet/Makefile (CFLAGS-gethstbyad_r.c): Add -fexceptions. ++ (CFLAGS-gethstbynm_r.c): Likewise. ++ (CFLAGS-gethstbynm2_r.c): Likewise. ++ (CFLAGS-rcmd.c): Likewise. ++ * resolv/Makefile (CFLAGS-res_hconf.c): Add -fexceptions. ++ ++ * argp/Makefile (CFLAGS-argp-help.c): Add -fexceptions. ++ (CFLAGS-argp-fmtstream.c): Likewise. ++ * argp/argp.h: Remove a number of __THROW. ++ ++ * misc/sys/syslog.h (vsyslog): Remove __THROW. ++ ++ * misc/Makefile (CFLAGS-getpass.c): Add -fexceptions. ++ * misc/getpass.c (getpass): Add cleanup handler to ensure the ++ stream is closed even if the thread is canceled. ++ (call_fclose): New function. ++ * posix/unistd.h: Remove __THROW from getpass prototype. ++ ++ * posix/Makefile (CFLAGS-getopt.c): Add -fexceptions. ++ ++ * signal/signal.h (psignal): Remove __THROW. ++ * stdio-common/Makefile (CFLAGS-psignal.c): Add -fexceptions. ++ ++ * misc/Makefile (CFLAGS-error.c): Define. ++ * misc/error.c (error): Disable cancellation handling around the ++ actual output. The message should in any case be printed. ++ (error_at_line): Likewise. ++ ++ * misc/error.h: Protect parameter names with leading __. ++ ++2003-08-28 Carlos O'Donell <carlos@baldric.uwo.ca> ++ ++ * sysdeps/unix/sysv/linux/hppa/syscalls.list: Add semtimedop. ++ ++2003-08-29 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/iofgetpos64.c (_IO_new_fgetpos64): Move lock release to the ++ end. ++ ++2003-08-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/stdio.h: Remove a few more __THROW. ++ ++2003-08-29 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/Makefile: Compile fputc.c, fputwc.c, freopen64.c, freopen.c, ++ fseek.c, fseeko64.c, fseeko.c, ftello64.c, ftello.c, fwide.c, getc.c, ++ getchar.c, getwc.c, getwchar.c, iofclose.c, iofflush.c, iofgetpos64.c, ++ iofgetpos.c, iofgets.c, iofgetws.c, iofputs.c, iofputws.c, iofread.c, ++ iofsetpos64.c, iofsetpos.c, ioftell.c, iofwrite.c, iogetdelim.c, ++ iogetline.c, iogets.c, iogetwline.c, ioputs.c, ioseekoff.c, ++ ioseekpos.c, iosetbuffer.c, iosetvbuf.c, ioungetc.c, ioungetwc.c, ++ oldfileops.c, oldiofclose.c, oldiofgetpos64.c, oldiofgetpos.c, ++ oldiofsetpos64.c, oldiofsetpos.c, peekc.c, putc.c, putchar.c, putwc.c, ++ putwchar.c and rewind.c with exceptions. ++ * sysdeps/generic/bits/stdio-lock.h (_IO_acquire_lock, ++ _IO_release_lock): Define. ++ * libio/fileops.c (_IO_new_file_underflow): Use it. ++ * libio/fputc.c (fputc): Likewise. ++ * libio/fputwc.c (fputwc): Likewise. ++ * libio/freopen64.c (freopen64): ++ * libio/freopen.c (freopen): Likewise. ++ * libio/fseek.c (fseek): Likewise. ++ * libio/fseeko64.c (fseeko64): Likewise. ++ * libio/fseeko.c (fseeko): Likewise. ++ * libio/ftello64.c (ftello64): Likewise. ++ * libio/ftello.c (ftello): Likewise. ++ * libio/fwide.c (fwide): Likewise. ++ * libio/getc.c (_IO_getc): Likewise. ++ * libio/getchar.c (getchar): Likewise. ++ * libio/getwc.c (_IO_getwc): Likewise. ++ * libio/getwchar.c (getwchar): Likewise. ++ * libio/iofclose.c (_IO_new_fclose): ++ * libio/iofflush.c (_IO_fflush): Likewise. ++ * libio/iofgetpos64.c (_IO_new_fgetpos64): Likewise. ++ * libio/iofgetpos.c (_IO_new_fgetpos): Likewise. ++ * libio/iofgets.c (_IO_fgets): Likewise. ++ * libio/iofgetws.c (fgetws): Likewise. ++ * libio/iofputs.c (_IO_fputs): Likewise. ++ * libio/iofputws.c (fputws): Likewise. ++ * libio/iofread.c (_IO_fread): Likewise. ++ * libio/iofsetpos64.c (_IO_new_fsetpos64): Likewise. ++ * libio/iofsetpos.c (_IO_new_fsetpos): Likewise. ++ * libio/ioftell.c (_IO_ftell): Likewise. ++ * libio/iofwrite.c (_IO_fwrite): Likewise. ++ * libio/iogetdelim.c (_IO_getdelim): Likewise. ++ * libio/iogets.c (_IO_gets): Likewise. ++ * libio/ioputs.c (_IO_puts): Likewise. ++ * libio/ioseekoff.c (_IO_seekoff): Likewise. ++ * libio/ioseekpos.c (_IO_seekpos): Likewise. ++ * libio/iosetbuffer.c (_IO_setbuffer): Likewise. ++ * libio/iosetvbuf.c (_IO_setvbuf): Likewise. ++ * libio/ioungetc.c (_IO_ungetc): Likewise. ++ * libio/ioungetwc.c (ungetwc): Likewise. ++ * libio/oldiofclose.c (_IO_old_fclose): Likewise. ++ * libio/oldiofgetpos64.c (_IO_old_fgetpos64): Likewise. ++ * libio/oldiofgetpos.c (_IO_old_fgetpos): Likewise. ++ * libio/oldiofsetpos64.c (_IO_old_fsetpos64): Likewise. ++ * libio/oldiofsetpos.c (_IO_old_fsetpos): Likewise. ++ * libio/peekc.c (_IO_peekc_locked): Likewise. ++ * libio/putc.c (_IO_putc): Likewise. ++ * libio/putchar.c (putchar): Likewise. ++ * libio/putwc.c (putwc): Likewise. ++ * libio/putwchar.c (putwchar): Likewise. ++ * libio/rewind.c (rewind): Likewise. ++ * libio/wfileops.c (_IO_wfile_underflow): Likewise. ++ ++2003-08-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * signal/signal.h: sighold, sigrelse, sigignore, sigset were ++ available in XPG4.2. ++ ++2003-08-27 Phil Knirsch <pknirsch@redhat.com> ++ Jakub Jelinek <jakub@redhat.com> ++ ++ * sunrpc/svc.c (svc_getreqset): Fix fds_bits reading on 64-bit ++ big endian arches. Don't read beyond end of fds_bits array. ++ ++2003-04-27 Bruno Haible <bruno@clisp.org> ++ ++ * manual/message.texi (Advanced gettext functions): Add information ++ about Korean, Portuguese, Latvian. Gaeilge is also known as Irish. ++ Add section about Lithuanian, reported by Ricardas Cepas ++ <rch@richard.eu.org>. ++ Add information about Croatian. ++ Ukrainian is like Russian, reported by Andy Rysin <arysin@yahoo.com>. ++ Remove remark about continuation lines that is not true for PO files. ++ Fix formula for Slovenian, reported by Roman Maurer ++ <roman.maurer@amis.net>. ++ ++2003-08-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * math/math_private.h: Declare __copysignf. ++ * sysdeps/ieee754/flt-32/s_scalbnf.c: Use __copysignf instead of ++ copysignf. ++ ++ * sysdeps/x86_64/fpu/bits/mathinline.h: Define __signbitf, ++ __signbit, and __signbitl inline functions. ++ ++ * sysdeps/unix/sysv/linux/x86_64/__start_context.S: Use ++ HIDDEN_JUMPTARGET instead of JUMPTARGET to call exit(). ++ ++ * sysdeps/x86_64/bsd-_setjmp.S [PIC]: Jump to __GI___sigsetjmp. ++ * sysdeps/x86_64/setjmp.S: Add libc_hidden_def for __sigsetjmp. ++ ++2003-08-27 Jakub Jelinek <jakub@redhat.com> ++ ++ * inet/inet_mkadr.c (inet_makeaddr): Optimize. ++ ++2003-08-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/stdio.h: Add declarations for __builtin_fwrite and ++ __builtin_fwrite_unlocked. ++ ++2003-08-27 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/opendir.c (__opendir): Make sure even struct dirent64 ++ fits into allocation. Add padding on 32-bit arches so that ++ dirp->data is enough aligned for struct dirent64. ++ Avoid clearing of the buffer, just clear DIR structure. ++ ++2003-08-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * nss/nsswitch.c: Add libc_hidden_def for __nss_lookup_function. ++ * nss/nsswitch.h: Add libc_hidden_proto for __nss_lookup_function. ++ ++2003-08-26 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/elf/Makefile: New file. ++ ++2003-08-26 Jakub Jelinek <jakub@redhat.com> ++ ++ * login/programs/utmpdump.c (print_entry): Cast tv_usec to long ++ to match format string. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (union semun): Add ++ __old_buf. ++ (__new_semctl): Shut up warning. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h ++ (_dl_string_hwcap): Add __attribute__ ((always_inline)). ++ ++2003-08-26 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/ldconfig.c (search_dir): When checking for GNU-style .so ++ link file use the real file name, not the resolved name we got by ++ following the symlinks. ++ ++2003-08-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/oldfileops.c (_IO_old_file_init): Initialize _mode field ++ if the object size is large enough. ++ ++2003-08-25 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/ldconfig.c (search_dir): Treat symlink as regular file ++ if it won't point to itself unless it is .so symlink for the linker. ++ ++2003-08-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/libio.h (_IO_fwide): In the mode==0 optimization, don't ++ use _mode if _IO_fwide_maybe_incompatible. ++ * libio/iofwide.c (_IO_fwide): Move the test for mode == 0 after ++ the compatibility test. ++ ++2003-08-25 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/cache.c (save_cache): Don't write beyond end of file_entries ++ buffer. ++ Duplicate last old cache entry if the count would be odd. ++ ++2003-08-25 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/posix_fadvise64.c: Cast arguments of ++ __LONG_LONG_PAIR to long. ++ ++2003-08-25 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_ERRVAL): Define. ++ (PSEUDO_END_ERRVAL, ret_ERRVAL): Likewise. ++ ++2003-08-18 Alfred M. Szmidt <ams@kemisten.nu> ++ ++ * sysdeps/generic/bits/libc-lock.h (__libc_cleanup_pop): Redefine ++ and use __libc_cleanup_region_end instead. ++ ++2003-08-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/ldconfig.c (search_dir): Revert patch of 2003-7-21. ++ ++2003-08-22 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/fcntl.h (posix_fallocate): Change type of third parameter to ++ off_t. ++ (posix_fallocate64): Change type of third parameter to off64_t. ++ * sysdeps/generic/posix_fallocate.c: Adjust for type change. ++ * sysdeps/posix/posix_fallocate.c: Likewise. ++ * sysdeps/generic/posix_fallocate64.c: Likewise. ++ * sysdeps/posix/posix_fallocate64.c: Likewise. Add compatibility ++ code for 32-bit platforms. ++ * sysdeps/unix/sysv/linux/i386/Versions: Add new version for ++ posix_fallocate64. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. ++ ++2003-08-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * string/bits/string2.h (__STRING2_COPY_TYPE): Add attribute to ++ the type, not to name. ++ ++ * stdio-common/test-vfprintf.c (main): Don't write temporary file ++ into source directory. ++ ++ * malloc/malloc.c (_int_free): Add cheap test for some invalid ++ block sizes. ++ ++ * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Fix typo in ++ syscall name. ++ ++2003-08-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/shm_open.c (shm_open): Fold EISDIR error ++ into EINVAL. ++ ++2003-08-18 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * sysdeps/ia64/dl-machine.h (elf_machine_rela): Use _dl_reloc_bad_type. ++ (elf_machine_lazy_rel): Likewise. ++ ++2003-08-18 Art Haas <ahaas@airmail.net> ++ ++ * malloc/malloc.h: Remove unneeded ';' where closing the C++ ++ extern block. ++ ++2003-08-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/ia64/dl-fptr.h (ELF_MACHINE_LOAD_ADDRESS): Support ++ loading big binaries where @gprel(sym) cannot be handled in 'add' ++ but instead has to be used with 'movl'. ++ ++2003-08-17 Juergen Kreileder <jk@blackdown.de> ++ Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/x86_64/bits/byteswap.h: New file. ++ ++2003-08-17 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Fix typo. ++ ++2003-08-16 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc32/sysdep.h (PSEUDO_ERRVAL, ++ PSEUDO_RET_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define. ++ * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_ERRVAL, ++ PSEUDO_RET_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define. ++ * sysdeps/unix/alpha/sysdep.h (PSEUDO_ERRVAL, ++ ret_ERRVAL, PSEUDO_END_ERRVAL): Define. ++ * sysdeps/unix/mips/sysdep.h (PSEUDO_ERRVAL, ++ ret_ERRVAL, PSEUDO_END_ERRVAL): Define. ++ * sysdeps/unix/sparc/sysdep.h (PSEUDO_ERRVAL, ++ ret_ERRVAL): Define. ++ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO_ERRVAL, ++ PSEUDO_END_ERRVAL, ret_ERRVAL): Define. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO_ERRVAL, ++ PSEUDO_END_ERRVAL, ret_ERRVAL): Define. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (PSEUDO_ERRVAL): ++ Define. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (PSEUDO_ERRVAL, ++ PSEUDO_END_ERRVAL, ret_ERRVAL): Define. ++ * sysdeps/unix/sysdep.h (PSEUDO_END_ERRVAL): Define. ++ ++ * sysdeps/unix/sysv/linux/syscalls.list (posix_fadvise64, ++ posix_fadvise64_64): Remove. ++ * sysdeps/unix/sysv/linux/alpha/syscalls.list (posix_fadvise64): Add ++ V flag. ++ * sysdeps/unix/sysv/linux/ia64/syscalls.list (posix_fadvise64): ++ Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list ++ (posix_fadvise64): Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list ++ (posix_fadvise64): Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list ++ (posix_fadvise64): Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/syscalls.list (posix_fadvise64): ++ Likewise. ++ * sysdeps/unix/sysv/linux/i386/posix_fadvise64_64.S: Moved to... ++ * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: ...here. ++ (__posix_fadvise64_l64): Fix a typo in fadvise64 syscall invocation. ++ (__posix_fadvise64_l32): New function. ++ * sysdeps/unix/sysv/linux/i386/Makefile: Revert last change. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions (libc): Export ++ posix_fadvise64@@GLIBC_2.3.3. ++ * sysdeps/unix/sysv/linux/s390/s390-32/Versions (libc): Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/Versions (libc): Likewise. ++ * sysdeps/unix/sysv/linux/posix_fadvise.c (posix_fadvise): Return ++ error value. ++ * sysdeps/unix/sysv/linux/posix_fadvise64.c: New file. ++ ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h ++ (SYSCALL_ERROR_HANDLER): Use TLS errno/__libc_errno if USE___THREAD. ++ ++2003-08-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/sparc/sparc32/dl-machine.h (WEAKADDR): Remove. ++ (elf_machine_matches_host): Remove weak extern stuff. ++ Use GL(dl_hwcap) unconditionally and GL(dl_hwcap_mask) if SHARED. ++ (elf_machine_runtime_setup, sparc_fixup_plt): Remove weak extern ++ stuff. Use GL(dl_hwcap) unconditionally. ++ ++2003-08-16 Alan Modra <amodra@bigpond.net.au> ++ ++ * sysdeps/powerpc/powerpc64/elf/start.S: Add a nop after ++ __libc_start_main branch. ++ ++2003-08-16 Jakub Jelinek <jakub@redhat.com>, ++ Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/generic/posix_fadvise.c (posix_fadvise): Return ENOSYS ++ instead of setting errno. ++ * sysdeps/generic/posix_fadvise64.c (posix_fadvise64): Likewise. ++ ++2003-08-16 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/generic/posix_fadvise.c (posix_fadvise): Adjust prototype. ++ * sysdeps/generic/posix_fadvise64.c (posix_fadvise64): Likewise. ++ ++2003-08-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/fcntl.h (posix_fadvise64): Change type of third parameter to ++ off_t. ++ * sysdeps/unix/sysv/linux/posix_fadvise.c: Adjust definition. ++ * sysdeps/unix/make-syscalls.sh: Recognize V prefix to the parameter ++ description indicating the error value is returned, not -1. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Add definition of ++ __ASSUME_FADVISE64_64_SYSCALL. ++ * sysdeps/unix/sysv/linux/syscalls.list: Don't define madvise and ++ posix_madvise in one file. Have posix_madvise defined with error ++ value returned. ++ Define posix_fadvise64_64 entry. Add version info to posix_fadvise64 ++ entry. ++ * sysdeps/unix/sysv/linux/i386/posix_fadvise.S: New file. ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Define PSEUDO_ERRVAL, ++ PSEUDO_END_ERRVAL, and ret_ERRVAL. ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/i386/Versions [GLIBC_2.3.3]: Add ++ posix_fadvise64. ++ ++ * posix/Makefile (routines): Add posix_madvise. ++ * sysdeps/generic/madvise.c: Don't define posix_madvise. ++ * sysdeps/generic/posix_madvise.c: New file. ++ * sysdeps/unix/sysv/aix/posix_madvise.c: New file. ++ * sysdeps/unix/sysv/linux/i386/Makefile [subdir=io] (subdir_routines): ++ Add posix_fadvise64_64. ++ ++2003-08-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * assert/assert.h (assert_perror): Use __builtin_expect for gcc >= ++ 3.0, not for !gcc or gcc < 3.0. ++ ++2003-08-11 Carlos O'Donell <carlos@baldric.uwo.ca> ++ ++ * dlfcn/default.c (main): Cast dlsym loaded value to same type as main. ++ Address passed to test_in_mod1 and test_in_mod2 without casting. ++ * dlfcn/defaultmod1.c: Change prototype of test_in_mod1. ++ (test_in_mod1): Cast dlsym loaded value to same type as mainp. ++ * dlfcn/defaultmod2.c: Change prototype of test_in_mod2. ++ (test_in_mod2): Cast dlsym loaded value to same type as mainp. ++ ++2003-08-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/sparc/sparc32/elf/configure.in (libc_cv_sparc32_tls): ++ Change quotes before using []. ++ ++ * sysdeps/unix/sysv/linux/sparc/sys/user.h: New file. ++ ++ * sysdeps/sparc/sparc32/bits/atomic.h (__sparc32_atomic_lock): ++ Renamed to... ++ (__sparc32_atomic_locks): ...this. Change into 64-byte array. ++ (__sparc32_atomic_do_lock, __sparc32_atomic_do_unlock): Add addr ++ argument. Select one of 64 locks from address bits. ++ (atomic_compare_and_exchange_val_acq, ++ atomic_compare_and_exchange_bool_acq): Pass memory address to ++ __sparc32_atomic_do_{,un}lock. ++ ++2003-08-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * assert/assert.h (assert): Use !! in front of expression to allow ++ use of pointers. ++ ++ * iconvdata/cp932.c: Fixed checking of a few border of code areas. ++ Changed conversion of JIS X 0201 from using a table to calculating. ++ * iconvdata/euc-jp-ms.c: Fixed conversion table and rewrote ++ conversion routine. Changed CHARSET_NAME definition from EUCJP-MS to ++ EUC-JP-MS. ++ * iconvdata/tst-tables.sh: Add CP932 and EUC-JP-MS. ++ * iconvdata/CP932.irreversible: New file. ++ * iconvdata/EUC-JP-MS.irreversible: New file. ++ Patch by MORIYAMA Masayuki <msyk@mtg.biglobe.ne.jp>. ++ ++2003-08-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/syscalls.list: Add time syscall. ++ ++ * elf/Makefile: Use LC_ALL=C in a few cases where we call external ++ text processing tools. ++ ++ * sysdeps/pthread/aio_misc.h (struct waitlist): Don't add caller_pid ++ element unless BROKEN_THREAD_SIGNALS is defined. ++ (struct requestlist): Likewise. ++ * sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Don't fill in ++ caller_pid of new request unless BROKEN_THREAD_SIGNALS is defined. ++ * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. ++ * sysdeps/pthread/aio_notify.c (__aio_notify_only): Remove caller_pid ++ parameter unless BROKEN_THREAD_SIGNALS is defined. Adjust callers. ++ Pass current PID to __aio_sigqueue. ++ * sysdeps/pthread/lio_listio.c (lio_listio): Adjust __aio_notify_only ++ call. Don't initialize caller_pid field of waitlist element. ++ ++2003-08-12 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/libioP.h (_IO_vtable_offset): Define. ++ * libio/freopen.c (freopen): Use it. ++ * libio/ioputs.c (_IO_puts): Likewise. ++ * libio/freopen64.c (freopen64): Likewise. ++ * libio/genops.c (__underflow, __uflow, _IO_flush_all_lockp): ++ Likewise. ++ * libio/iofclose.c (_IO_new_fclose): Likewise. ++ * libio/iofputs.c (_IO_fputs): Likewise. ++ * libio/ioftell.c (_IO_ftell): Likewise. ++ * libio/iofwrite.c (_IO_fwrite): Likewise. ++ * libio/ioseekoff.c (_IO_seekoff_unlocked): Likewise. ++ * libio/iosetbuffer.c (_IO_setbuffer): Likewise. ++ * stdio-common/vfprintf.c (ORIENT, vfprintf): Likewise. ++ * stdio-common/vfscanf.c (ORIENT): Likewise. ++ ++2003-08-11 Ulrich Drepper <drepper@redhat.com> ++ ++ * assert/assert.h: Use __builtin_expect in assert and ++ assert_perror definitions if possible. ++ ++2003-08-07 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/ldsodefs.h (_rtld_global): Add ++ _dl_rtld_lock_recursive and _dl_rtld_unlock_recursive. ++ * elf/rtld.c (rtld_lock_default_lock_recursive, ++ rtld_lock_default_unlock_recursive): New functions. ++ (dl_main): Initialize _dl_rtld_lock_recursive and ++ _dl_rtld_unlock_recursive. ++ ++2003-08-05 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/ldconfig.c (main): Append SLIBDIR and LIBDIR to ++ config_file directories instead of prepending. ++ ++2003-08-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_CLONE_STOPPED. ++ ++2003-08-01 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/bits/libc-lock.h ++ (__libc_cleanup_push,__libc_cleanup_pop): Define even here. ++ ++2003-08-01 Roland McGrath <roland@frob.com> ++ ++ * sysdeps/mach/hurd/getdents.c: Just use sysdeps/generic/getdents.c. ++ ++2003-07-31 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/bits/types.h (__ssize_t): Use __SSIZE_T_TYPE ++ instead of __SWORD_TYPE. ++ * sysdeps/generic/bits/typesizes.h (__SSIZE_T_TYPE): Define. ++ * sysdeps/mach/hurd/bits/typesizes.h (__SSIZE_T_TYPE): Define. ++ * sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h (__SSIZE_T_TYPE): ++ Define. ++ * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__SSIZE_T_TYPE): ++ Define. ++ * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__SSIZE_T_TYPE): ++ Define. ++ * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New file. ++ ++ * dlfcn/dlerror.c (once): New. ++ (dlerror): Call __libc_once. ++ (_dlerror_run): Remove once. ++ ++ * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): ++ Sync with 2.5.7 and 2.5.73 kernel changes. ++ ++ * dlfcn/eval.c (funcall): Add noinline attribute to shut up warnings. ++ * elf/rtld.c (dl_main): Cast ElfW(Addr) arguments with %Zx/%Zd ++ formats to size_t. ++ * elf/dl-lookup.c (_dl_debug_bindings): Likewise. ++ * elf/tst-tls6.c (do_test): Use %zd format for l_tls_modid. ++ * elf/tst-tls8.c (do_test): Use %zd format for modid1 and modid2. ++ * gmon/tst-sprofil.c (main): Add parens to shut up warning. ++ * iconv/tst-iconv3.c (main): Use %td instead of %zd for pointer ++ difference argument. ++ * stdio-common/tst-wc-printf.c (main): Cast arguments with %C ++ format to wint_t. ++ * stdlib/tst-limits.c (main): For WORD_BIT and LONG_BIT, use ++ %d format and cast expected value to int. ++ * sysdeps/generic/libc-start.c (STATIC): Add ++ __attribute__((always_inline) if LIBC_START_MAIN is already defined. ++ * sysdeps/powerpc/fpu/w_sqrt.c (a_nan, a_inf): Change from uint32_t ++ to ieee_float_shape_type. ++ (__sqrt): Avoid type punning. ++ * sysdeps/powerpc/fpu/w_sqrtf.c (a_nan, a_inf): Change from uint32_t ++ to ieee_float_shape_type. ++ (__sqrtf): Avoid type punning. ++ * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Don't define ++ refsym if in dl-conflict.c. ++ * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise. ++ * sysdeps/unix/sysv/linux/i386/semctl.c (union semun): Add __old_buf. ++ (__new_semctl): Shut up warning. ++ * sysdeps/unix/sysv/linux/semctl.c (union semun): Add __old_buf. ++ (__new_semctl): Shut up warning. ++ * sysdeps/unix/sysv/linux/shmctl.c (__new_shmctl): Wrap long lines. ++ Change old into union of __old_shmid_ds and __old_shminfo structs. ++ Adjust all users. ++ * wcsmbs/wcsmbs-tst1.c (main): Cast arguments with %C format to wint_t. ++ ++ * sysdeps/unix/sysv/linux/utimes.c (__utimes): Fix actime and ++ modtime computation. ++ * sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise. ++ * sysdeps/posix/utimes.c (__utimes): Likewise. ++ ++2003-07-30 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/dl-reloc.c (_dl_allocate_static_tls): Don't return any value, ++ call dl_signal_error directly. If already relocated, call ++ GL(dl_init_static_tls) directly, otherwise queue it for later. ++ (CHECK_STATIC_TLS): Undo 2003-07-24 change. ++ * elf/rtld.c (dl_main): Initialize GL(dl_init_static_tls). ++ * elf/dl-open.c (dl_open_worker): Call GL_dl_init_static_tls ++ for all static TLS initializations delayed in _dl_allocate_static_tls. ++ * elf/dl-support.c (_dl_init_static_tls): New variable. ++ * include/link.h (struct link_map): Add l_need_tls_init. ++ * sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_init_static_tls. ++ (_dl_nothread_init_static_tls): New prototype. ++ (_dl_allocate_static_tls): Adjust prototype. ++ ++ * elf/tls-macros.h (VAR_INT_DEF): Add alignment directive. ++ ++2003-07-31 Alexandre Oliva <aoliva@redhat.com> ++ ++ * elf/dynamic-link.h (elf_machine_rel, elf_machine_rela, ++ elf_machine_rel_relative, elf_machine_rela_relative): Don't assume ++ reloc_addr is aligned. ++ * sysdeps/alpha/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela, ++ elf_machine_rel_relative, elf_machine_rela_relative): Adjust. ++ * sysdeps/cris/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/hppa/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela, ++ elf_machine_rel_relative, elf_machine_rela_relative): Adjust. ++ * sysdeps/ia64/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/m68k/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/mips/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/powerpc/powerpc64/dl-machine.h ++ (elf_machine_rela_relative, elf_machine_rela): Adjust. ++ * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/sh/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ * sysdeps/x86_64/dl-machine.h (elf_machine_rela, ++ elf_machine_rela_relative): Adjust. ++ ++2003-07-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Restore ++ alignment of TCB used before the last change so that it matches ++ ld's output for IE code. ++ ++2003-07-29 Jakub Jelinek <jakub@redhat.com> ++ ++ * include/ctype.h (__ctype_b_loc, __ctype_toupper_loc, ++ __ctype_tolower_loc): Avoid "dereferencing type-punned pointer will ++ break strict-aliasing rules" warnings. ++ ++2003-07-29 Roland McGrath <roland@redhat.com> ++ ++ * elf/Makefile: Revert accidental changes in last commit. ++ * elf/dl-support.c: Likewise. ++ ++ * rt/tst-timer2.c: New file. ++ * rt/Makefile (tests): Add it. ++ ++2003-07-25 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/dl-support.c (_dl_hwcap): Add nocommon attribute. ++ ++2003-07-29 Roland McGrath <roland@redhat.com> ++ ++ * elf/Makefile (tests) [$(build-shared) = yes]: ++ Depend on $(test-modules). ++ * dlfcn/Makefile: Likewise. ++ ++2003-07-28 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/generic/bits/types.h (__STD_TYPE): New macro. ++ Use that instead of `typedef' when using __*_TYPE macros in rhs. ++ ++ * elf/tst-tls14.c [USE_TLS && HAVE___THREAD]: Conditionalize on this. ++ * elf/tst-tlsmod14a.c: Likewise. ++ ++ * sysdeps/unix/sysv/linux/sys/sysctl.h: Include <linux/compiler.h> ++ before <linux/sysctl.h>. ++ ++2003-07-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/syscalls.list: time syscall never fails. ++ * sysdeps/unix/sysv/linux/x86_64/time.S: time syscall never fails. ++ * sysdeps/unix/sysv/i386/time.S: time syscall never fails. ++ * sysdeps/unix/syscalls.list: umask syscall never fails. ++ ++2003-07-27 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/init-first.c: Mark init as used. ++ ++2003-07-25 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/a.out.h: Replace with i386 version. ++ Include bits/a.out.h. ++ * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add ++ bits/a.out.h. ++ * sysdeps/unix/sysv/linux/bits/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/i386/bits/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/m68k/bits/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/x86_64/bits/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/alpha/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/alpha/bits/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/sparc/a.out.h: New file. ++ * sysdeps/unix/sysv/linux/sparc/bits/a.out.h: New file. ++ ++2003-07-24 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/pthread/aio_cancel.c (aio_cancel): Return AIO_ALLDONE ++ if aiocbp != NULL and has already completed. Return -1/EINVAL if ++ aiocbp->aio_fildes does not match fildes. ++ ++2003-07-24 Ulrich Drepper <drepper@redhat.com> ++ ++ * timezone/zic.c (rpytime): Replace cheap overflow check with a ++ functioning one. ++ ++ * include/link.h (struct link_map): Add l_tls_firstbyte_offset field. ++ * sysdeps/generic/dl-tls.c [TLS_TCB_AT_TP] (_dl_determine_tlsoffset): ++ Fix calculation of offsets to take misalignment of first byte in ++ file into account. ++ * elf/dl-load.c (_dl_map_object_from_fd): Initialize ++ l_tls_firstbyte_offset field. ++ * elf/rtld.c (_dl_start_final, _dl_start, dl_main): Likewise. ++ * elf/dl-reloc.c (_dl_allocate_static_tls): Change return type to int. ++ Take l_tls_firstbyte_offset information into account. ++ (CHECK_STATIC_TLS): _dl_allocate_static_tls can fail now. ++ * sysdeps/generic/ldsodefs.h: Adjust _dl_allocate_static_tls prototype. ++ * elf/Makefile: Add rules to build and run tst-tls14. ++ * elf/tst-tls14.c: New file. ++ * elf/tst-tlsmod14a.c: New file. ++ * elf/tst-tlsmod14b.c: New file. ++ ++2003-07-23 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/pthread/lio_listio.c (LIO_OPCODE_BASE): Define. ++ (lio_listio): Use it. ++ * sysdeps/pthread/lio_listio64.c: Include lio_listio.c instead of ++ after few defines to avoid duplication. ++ ++2003-07-22 Jakub Jelinek <jakub@redhat.com> ++ ++ * include/stdio.h (__libc_fatal): Add libc_hidden_proto. ++ * include/dlfcn.h (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose): ++ Likewise. ++ * elf/dl-libc.c (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose): ++ Add libc_hidden_def. ++ * sysdeps/generic/libc_fatal.c (__libc_fatal): Likewise. ++ * sysdeps/posix/libc_fatal.c (__libc_fatal): Likewise. ++ * sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Likewise. ++ * elf/Versions (libc): Export __libc_dlopen_mode@@GLIBC_PRIVATE, ++ __libc_dlsym@@GLIBC_PRIVATE and __libc_dlclose@@GLIBC_PRIVATE. ++ * libio/Versions (libc): Export __libc_fatal@@GLIBC_PRIVATE. ++ * sysdeps/generic/unwind-dw2.c: Readd #ifs removed during last ++ change. ++ * sysdeps/generic/unwind.inc: Removed. ++ ++ * include/resolv.h (__resp): Declare. Define to __libc_resp ++ if in libc.so. ++ (_res): If USE___THREAD, define to (*__resp). ++ * resolv/res_libc.c (_res): Normal .bss variable with compat_symbol ++ even if USE___THREAD. ++ (__resp): New __thread variable. ++ (__libc_resp): New alias. ++ * resolv/Versions (libc): Export _res@GLIBC_2.0 even if ++ USE_TLS && HAVE___THREAD. Export __resp@@GLIBC_PRIVATE. ++ * sysdeps/generic/res-state.c (__res_state): Return __resp ++ if USE___THREAD. ++ ++2003-07-22 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * elf/dl-support.c (_dl_hwcap): New variable. ++ (_dl_aux_init): Initialize GL(dl_hwcap) for static binaries. ++ ++ * sysdeps/i386/fpu/fclrexcpt.c: Include <unistd.h>, <ldsodefs.h> ++ and <dl-procinfo.h>. ++ (__feclearexcept): Clear MXCSR if needed. ++ * sysdeps/i386/fpu/fsetexcptflg.c: Likewise. ++ ++ * sysdeps/i386/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Document ++ that newer hardware needs more than these macros. ++ ++ * sysdeps/i386/setfpucw.c: New file. ++ ++2003-07-22 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/Makefile (CFLAGS-ldconfig.c): Define IS_IN_ldconfig. ++ * elf/ldconfig.c: Include dl-procinfo.c. ++ (PROCINFO_CLASS): Define. ++ * sysdeps/generic/ldsodefs.h (PROCINFO_CLASS): Define. ++ * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: New file. ++ * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: New file. ++ * sysdeps/unix/sysv/linux/i386/dl-procinfo.c (PROCINFO_CLASS): ++ Define if not yet defined. Use it instead of EXTERN. Undefine ++ at the end of the file. ++ * sysdeps/unix/sysv/linux/arm/dl-procinfo.c (PROCINFO_CLASS): ++ Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c ++ (PROCINFO_CLASS): Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c ++ (PROCINFO_CLASS): Likewise. ++ ++2003-07-22 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * elf/ldconfig.c (main): Issue a fatal error if relative path ++ is used to build cache. ++ ++2003-07-22 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/readlib.c (process_file): Avoid possible overflow in assignment. ++ ++2003-07-21 Art Haas <ahaas@airmail.net> ++ ++ * manual/charset.texi (Converting a Character): Fix example code so a ++ valid pointer is returned. ++ ++2003-07-22 Andreas Jaeger <aj@suse.de> ++ ++ * elf/readlib.c (process_file): Check that file is a shared ++ object. ++ ++ * elf/sofini.c (__FRAME_END__): Use attribute used so that gcc ++ will not optimize it away. ++ (__DTOR_END__): Likewise. ++ (__CTOR_END__): Likewise. ++ ++ * include/libc-symbols.h (_elf_set_element): Use attribute used so ++ that gcc will not optimize it away. ++ (link_warning): Likewise. ++ ++2003-07-22 Ulrich Drepper <drepper@redhat.com> ++ ++ * wcsmbs/wcpncpy.c (__wcpncpy): Correct destination pointer handling. ++ * wcsmbs/Makefile (tests): Add tst-wcpncpy. ++ * wcsmbs/tst-wcpncpy.c: New file. ++ ++2003-07-21 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/bits/sched.h (CLONE_STOPPED): Define. ++ ++ * sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Reverse use of ++ stmxcsr and ldmxcsr. ++ ++ * 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. ++ ++ * sysdeps/i386/fpu/fedisblxcpt.c: Use dl_hwcap, not dl_hwcap_mask. ++ * sysdeps/i386/fpu/feenablxcpt.c: Likewise. ++ * sysdeps/i386/fpu/feholdexcpt.c: Likewise. ++ * sysdeps/i386/fpu/fesetround.c: Likewise. ++ * sysdeps/i386/fpu/ftestexcept.c: Likewise. ++ ++2003-07-21 HJ Lu <hongjiu.lu@intel.com> ++ ++ * elf/ldconfig.c (search_dir): Treat symlink as regular file ++ if it won't point to itself. ++ ++2003-07-20 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/ia64/hp-timing.h (REPEAT_READ): Cast to long int not to int. ++ ++2003-07-20 Andreas Jaeger <aj@suse.de> ++ ++ * iconvdata/cp932.c (BODY): STANDARD_ERR_HANDLER is now called ++ STANDARD_TO_LOOP_ERR_HANDLER. ++ * iconvdata/euc-jp-ms.c (BODY): Likewise. ++ ++2003-07-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ZERO): Fix typo. ++ ++ * sysdeps/unix/sysv/linux/syscalls.list: Remove affinity syscalls. ++ ++2003-07-16 Daniel Jacobowitz <drow@mvista.com> ++ Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/mips/bits/shm.h (SHMLBA): Define to ++ 256K, remove unneeded declaration of __getpagesize. ++ ++2003-07-16 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/unix/sysv/linux/futimes.c: Include <string.h>. ++ ++2003-07-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/test-utime.c (main): Make test yet more robust. ++ ++2003-07-14 Ulrich Drepper <drepper@redhat.com> ++ ++ More cancellation handling fixups. ++ * sysdeps/unix/sysv/linux/not-cancel.h: Add waitpid_not_cancel. ++ * sysdeps/generic/not-cancel.h: Likewise. ++ * catgets/open_catalog.c: Use not-cancelable syscalls. ++ * time/Makefile (CFLAGS-getdate.c): Add -fexceptions. ++ * sysdeps/unix/sysv/linux/llseek.c: Must not be cancelable. ++ * sysdeps/unix/syscalls.list: Don't mark lseek as cancelable. ++ * dlfcn/dlfcn.h: Mark dlopen with __THROW again. ++ * io/fcntl.h: Don't mark posix_fallocate with __THROW. ++ * libio/fileops.c: Use not-cancelable syscalls for fclose. ++ * libio/iopopen.c: Use no-cancelable syscalls. ++ * libio/stdio.h: Mark popen and pclose with __THROW again. ++ * misc/Makefile (CFLAGS-syslog.c): Add -fexceptions. ++ * misc/syslog.c: Fix locking and cancellation cleanup handling. ++ * posix/unistd.h: Mark ttyname and ttyname_r again with __THROW. ++ * stdio-common/Makefile (CFLAGS-tmpfile.c, CFLAGS-tmpfile64.c, ++ CFLAGS-tempname.c): Add -fexceptions. ++ * stdlib/Makefile (CFLAGS-mkstemp.c): Add -fexceptions. ++ * string/string.h: Mark strerror and strerror_r with _THROW again. ++ * sysdeps/generic/unwind.inc: New file. Copied from gcc. ++ * sysdeps/generic/unwind-dw2.c: Update from gcc version. Remove ++ #ifs since we now need all the code compiled. ++ * sysdeps/posix/spawni.c: Use close_not_cancel instead of close. ++ * sysdeps/unix/closedir.c: Use not-cancelable syscalls. ++ * sysdeps/unix/opendir.c: Likewise. ++ ++ * iconvdata/Makefile (modules): Add CP932 and EUC-JP-MS. ++ Add rule for EUC-JP-MS dependency. ++ * iconvdata/cp932.c: New file. ++ * iconvdata/eucjp-ms.c: New file. ++ * iconvdata/gconv-modules: Add entries for CP932 and EUC-JP-MS. ++ Patch by MORIYAMA Masayuki <msyk@mtg.biglobe.ne.jp>. ++ ++2003-07-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S (__socket): Add ++ cfi directives. ++ ++2003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h ++ (__ASSUME_FIXED_CLONE_SYSCALL): New macro. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Use it. ++ ++ * sysdeps/unix/sysv/linux/utimes.c: Include sysdep.h. ++ ++2003-07-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_TGKILL for Alpha appropriately. ++ ++2003-07-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/bits/statfs.h (_STATFS_F_FRSIZE): Define. ++ * sysdeps/unix/sysv/linux/alpha/bits/statfs.h (_STATFS_F_FRSIZE): ++ Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/statfs.h (_STATFS_F_FRSIZE): ++ Likewise. ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_UTIMES for x86 and kernels > 2.5.75. ++ ++ * sysdeps/unix/sysv/linux/futimes.c (__futimes): Handle case with ++ second parameter == NULL. ++ * sysdeps/unix/sysv/linux/utimes.c: New file. ++ ++2003-07-12 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/futimes.c: Include kernel-features.h. ++ * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_UTIMES): Fix ++ a typo. ++ ++2003-07-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * time/sys/time.h: Namespace cleanup. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_UTIMES for the architectures which always had the syscall. ++ * sysdeps/unix/sysv/linux/futimes.c: New file. ++ ++2003-07-12 Kaz Kojima <kkojima@rr.iij4u.or.jp> ++ ++ * sysdeps/unix/sysv/linux/sh/socket.S: Save and restore the PR ++ register across CENABLE and CDISABLE. ++ ++2003-07-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sigwait.c: Include string.h. ++ * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. ++ * sysdeps/unix/sysv/linux/sleep.c (__sleep): Cast value to unsigned ++ int before assigning to max to avoid warnings. ++ ++2003-07-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket): Add ++ cfi directives. ++ * sysdeps/unix/sysv/linux/s390/s390-32/socket.S (__socket): Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/socket.S (__socket): Likewise. ++ ++2003-07-10 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/elf/start.S: Set section flags of ++ .data.rel.ro.local to "aw". ++ ++2003-07-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/m68k/Makefile: Remove CLFAGS-.oS addition. ++ * Makeconfig (CFLAGS-.oS): Use PIC-ccflag instead of pic-ccflag. ++ (PIC-ccflag): Define. ++ ++2003-07-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/s390/s390-32/elf/start.S: Emit position independent code ++ if PIC. ++ * sysdeps/s390/s390-64/elf/start.S: Likewise. ++ ++2003-07-07 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/elf/start.S: Put L(start_address) ++ into .data.rel.ro.local section if PIC to avoid DT_TEXTREL. ++ ++2003-07-07 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Version ++ __ASSUME_CORRECT_SI_PID and __ASSUME_TGKILL if possible. ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Adjust for ++ compilation with HAVE_AUX_SECURE defined. ++ ++2003-07-05 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/alpha/elf/initfini.c: Avoid .ent/.end. ++ ++2003-07-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * configure.in: Also check for .cfi_rel_offset pseudo-op. ++ ++2003-07-03 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/prof-freq.c (__profile_frequency): Fix a ++ typo. ++ ++2003-07-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_CLKTCK): ++ Define. ++ * sysdeps/unix/sysv/linux/prof-freq.h: New file. ++ ++2003-07-02 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Protect new_sysinfo ++ decl and use with #ifdef NEED_DL_SYSINFO. ++ ++2003-07-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't set ++ GL(dl_sysinfo) unles GL(dl_sysinfo_dso) is also set. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_VSYSCALL only for 2.5.69 and up since this is when the ++ vsyscall DSO was added. ++ ++ * posix/bits/posix1_lim.h (_POSIX_NGROUPS_MAX): Define to 8 or 0 ++ depending on selected standard. ++ (NGROUPS_MAX): Define to 8 if not defined. ++ ++2003-07-02 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: New file. ++ ++2003-05-04 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * malloc/arena.c (arena_get2): Add atomic_write_barrier. ++ * malloc/thread-m.h: Include <atomic.h>. ++ (atomic_full_barrier): Provide default. ++ (atomic_read_barrier): Likewise. ++ (atomic_write_barrier): Likewise. ++ * sysdeps/ia64/bits/atomic.h (atomic_full_barrier): New #define. ++ ++2003-06-30 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/sysdep.h: Define cfi_rel_offset and CFI_REL_OFFSET. ++ ++2003-06-30 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/alpha/bits/atomic.h (__arch_compare_and_exchange_bool_*_int): ++ Invert the sense of the return value. ++ (__arch_exchange_16_int): Fix paste-o. ++ (__arch_exchange_{32,64}_int): Fix think-o. ++ ++ * sysdeps/unix/sysv/linux/alpha/clone.S: Load child_tid properly. ++ ++2003-06-30 Richard Henderson <rth@redhat.com> ++ ++ * include/sys/resource.h (__getrusage): Mark hidden. ++ * include/sys/time.h (__settimeofday, __setitimer, __utimes): Likewise. ++ * include/sys/wait.h (__wait4): Likewise. ++ ++2003-06-17 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/unix/sysv/linux/mips/xstatconv.c: Handle STAT_IS_KERNEL_STAT ++ case. ++ (xstat_conv): Rename to __xstat_conv and remove static inline. ++ (xstat64_conv): Likewise. ++ ++2003-06-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sleep.c (__sleep): Handle parameter ++ values which cannot be handled in one nanosleep call. ++ ++2003-06-25 Alfred M. Szmidt <ams@kemisten.nu> ++ ++ * sysdeps/generic/bits/in.h (IPV6_HOPOPTS, IPV6_DSTOPTS): New macros. ++ (IPV6_RXHOPOPTS, IPV6_RXDSTOPTS): Use them. ++ ++ * sysdeps/generic/ifreq.h (__if_nextreq) [_HAVE_SA_LEN]: Typo fix. ++ ++2003-06-04 Thorsten Kukuk <kukuk@suse.de> ++ ++ * sysdeps/unix/sysv/linux/net/if_arp.h: Sync with kernel header, ++ fix typo. ++ ++2003-06-26 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/unix/sysv/linux/xstatconv.h [!STAT_IS_KERNEL_STAT]: ++ Conditionalize function definitions that use struct kernel_stat. ++ * sysdeps/unix/sysv/linux/fxstat.c: Remove __syscall_fstat extern. ++ * sysdeps/unix/sysv/linux/lxstat.c: Remove __syscall_lstat extern. ++ * sysdeps/unix/sysv/linux/xstat.c: Remove __syscall_stat extern. ++ ++2003-06-28 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/s390/semtimedop.c (semtimedop): Add real ++ implementation. ++ ++2003-06-07 Thorsten Kukuk <kukuk@suse.de> ++ ++ * nis/nss_compat/compat-grp.c: Remove unused nis_first variable. ++ (getgrent_next_file): Don't store group name to early in blacklist. ++ ++ * nis/nss_compat/compat-pwd.c (internal_getpwuid_r): Save strlen result ++ and use memcpy instead of strcpy. ++ ++2003-06-28 Ulrich Drepper <drepper@redhat.com> ++ ++ * nis/nss_compat/compat-grp.c: Optimize several little things. Use ++ stream unlocked. ++ * nis/nss_compat/compat-initgroups.c: Likewise. ++ * nis/nss_compat/compat-pwd.c: Likewise. ++ * nis/nss_compat/compat-spwd.c: Likewise. ++ ++2003-06-27 Thorsten Kukuk <kukuk@suse.de> ++ ++ * nis/nss_compat/compat-initgroups.c: Don't use our own NIS/NIS+ ++ functions, dlopen corresponding NSS module instead. ++ ++2003-06-27 Jeroen Dekkers <jeroen@dekkers.cx> ++ ++ * sysdeps/mach/hurd/alpha/init-first.c: Remove call to __libc_init. ++ * sysdeps/mach/hurd/i386/init-first.c: Likewise. ++ * sysdeps/mach/hurd/mips/init-first.c: Likewise. ++ * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. ++ ++2003-06-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * rt/Makefile (CFLAGS-librt-cancellation.c): Define. ++ ++2003-06-26 Roland McGrath <roland@frob.com> ++ ++ * sysdeps/mach/configure.in: Barf rather than define NO_CREATION_TIME. ++ * sysdeps/mach/configure: Regenerated. ++ * sysdeps/mach/hurd/times.c (times_init): Function removed. ++ (__times): Assume `creation_time' field is available. ++ * sysdeps/mach/hurd/Makefile [$(subdir) = csu] (sysdep_routines): ++ Don't append set-init. ++ * sysdeps/mach/hurd/set-init.c: File removed. ++ ++2003-06-26 Roland McGrath <roland@redhat.com> ++ ++ * elf/elf.h (AT_SECURE): New macro. ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Grok it, ++ set __libc_enable_secure. ++ (_dl_show_auxv): Add AT_SECURE to name table. ++ * elf/dl-support.c (_dl_aux_init): Grok AT_SECURE, set ++ __libc_enable_secure and __libc_enable_secure_decided. ++ * sysdeps/unix/sysv/linux/ldsodefs.h ++ [__ASSUME_AT_SECURE] (HAVE_AUX_SECURE): Define it. ++ * sysdeps/unix/sysv/linux/kernel-features.h ++ [__LINUX_KERNEL_VERSION >= 132426] (__ASSUME_AT_SECURE): Define it. ++ ++2003-06-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * io/test-utime.c: If _STATBUF_ST_NSEC is defined, adjust lower ++ boundary test to take rounding of nanoseconds into account. ++ ++ * sysdeps/unix/sysv/linux/bits/stat.h: Define _STATBUF_ST_NSEC. ++ * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise. ++ * sysdeps/unix/sysv/linux/m68k/bits/stat.h: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise. ++ ++2003-06-26 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/fpu/bits/mathinline.h: Don't inline frexp. ++ * sysdeps/m68k/fpu/s_frexp.c: Put implementation here. ++ * sysdeps/m68k/fpu/s_frexpl.c: Fix to handle unnormalized numbers. ++ ++2003-06-17 Thorsten Kukuk <kukuk@suse.de> ++ ++ * nis/Makefile: Remove NIS/NIS+ files from nss_compat module. ++ * nis/nss_compat/compat-grp.c: Don't use our own NIS/NIS+ functions, ++ dlopen corresponding NSS module instead. ++ * nis/nss_compat/compat-pwd.c: Likewise. ++ * nis/nss_compat/compat-spwd.c: Likewise. ++ * nis/nss_compat/compat-initgroups.c: Disabled for now. ++ * nss/Versions: Export __nss_lookup_function. ++ ++2003-06-19 Daniel Jacobowitz <drow@mvista.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Update kernel features ++ for the SH architecture. ++ ++2003-06-25 Thorsten Kukuk <kukuk@suse.de> ++ ++ * csu/Makefile: Use CPPFLAGS to find correct linux/version.h. ++ ++2003-06-25 Andreas Jaeger <aj@suse.de> ++ ++ * stdlib/tst-strtod.c (main): Declare constant long double as ++ suggested by Jakub Jelinek and Andreas Schwab. ++ ++ * posix/tst-nanosleep.c: Include <time.h> for nanosleep ++ declaration. ++ ++ * stdio-common/tst-fphex.c: Fix format string. ++ ++ * posix/transbug.c: Include <string.h> for memset and strlen ++ declarations. ++ ++ * stdio-common/tst-sprintf.c: Include <stdlib.h> for free declaration. ++ ++ * stdlib/tst-strtod.c (main): Pass long double value. ++ ++ * test-skeleton.c: Include <time.h> for nanosleep declaration. ++ ++2003-06-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/time.h: Don't define CLOCK_IDFIELD_SIZE if _ISOMAC is ++ defined. ++ ++2003-06-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/Versions (libc): Add _dl_open_hook@GLIBC_PRIVATE. ++ * elf/dl-libc.c (struct dl_open_hook): New. ++ (_dl_open_hook): New variable. ++ (do_dlsym_private): New function. ++ (__libc_dlopen_mode) [!SHARED]: Lookup _dl_open_hook@GLIBC_PRIVATE ++ and initialize it if found. ++ (__libc_dlopen_mode) [SHARED]: If _dl_open_hook is non-NULL, ++ call dlopen_mode hook. ++ (__libc_dlsym) [SHARED]: If _dl_open_hook is non-NULL, ++ call dlsym hook. ++ (__libc_dlclose) [SHARED]: If _dl_open_hook is non-NULL, ++ call dlclose hook. ++ ++2003-06-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/cris/sysdep.h (INLINE_SYSCALL): Cast ++ result to long int so that extensions to long long int work. ++ Patch by Uwe Reimann <libc-alpha@pulsar.homelinux.net>. ++ ++2003-06-19 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/ldconfig.c (main): Use add_system_dir instead of add_dir. ++ * sysdeps/generic/dl-cache.h (add_system_dir): Define. ++ * sysdeps/unix/sysv/linux/x86_64/dl-cache.h: Include sparc ++ dl-cache.h. ++ * sysdeps/unix/sysv/linux/s390/dl-cache.h: New file. ++ * sysdeps/unix/sysv/linux/mips/dl-cache.h: New file. ++ * sysdeps/unix/sysv/linux/powerpc/dl-cache.h: New file. ++ * sysdeps/unix/sysv/linux/sparc/dl-cache.h: New file. ++ ++2003-06-19 Jakub Jelinek <jakub@redhat.com> ++ ++ * test-skeleton.c (timeout_handler): If waitpid returned 0, ++ retry once after a second. If killed == 0, assume ++ WTERMSIG (status) == SIGKILL. ++ ++2003-06-18 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Catch uninitialized ++ elements in the table instead of printing an empty name string. ++ ++2003-06-05 Roland McGrath <roland@redhat.com> ++ ++ * elf/elf.h (PT_GNU_STACK): New macro. ++ ++2003-06-24 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/time.h: Define CLOCK_IDFIELD_SIZE. ++ * sysdeps/posix/clock_getres.c: Recognize thread CPU clock IDs. ++ * sysdeps/unix/clock_gettime.c: Likewise. ++ * sysdeps/unix/clock_settime.c: Likewise. ++ * sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P): Adjust for new ++ clock id for thread CPU clocks. ++ ++ * sysdeps/unix/sysv/linux/fstatfs64.c (__fstatfs64): Add support ++ for the fstatfs64 syscall. ++ * sysdeps/unix/sysv/linux/statfs64.c (__statfs64): Add support for ++ the statfs64 syscall. ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_STATFS64 appropriately. ++ ++ * sysdeps/unix/sysv/linux/internal_statvfs.c: Use f_frsize field ++ from statfs structure if it has been filled in. ++ ++ * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_frsize ++ field. ++ (struct statfs64): Likewise. ++ * sysdeps/unix/sysv/linux/alpha/bits/statfs.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise. ++ ++2003-06-24 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/alpha/syscalls.list (pread, pwrite): Use ++ the 64-bit syscall name. ++ ++ * sysdeps/alpha/setjmp.S (_setjmp, setjmp): Mark .prologue. ++ ++ * sysdeps/alpha/fpu/bits/mathinline.h: Honor ++ __LIBC_INTERNAL_MATH_INLINES. Implement __signbitf, __signbit. ++ ++ * sysdeps/unix/sysv/linux/alpha/clone.S: Use HIDDEN_JUMPTARGET. ++ * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use ++ libc_hidden_def. ++ * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/setfpucw.c: Use libc_hidden_proto ++ on them. ++ ++ * sysdeps/alpha/bits/atomic.h: New file. ++ ++2003-06-24 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/fpu/libm-test-ulps: Update. ++ ++2003-06-24 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/stat.h (_STAT_VER_LINUX): Avoid ++ redeclaration with 32-bit code. ++ ++2003-05-19 Ed Connell <ed.connell@sas.com> ++ ++ * sysdeps/unix/sysv/linux/i386/getcontext.S (getcontext): Retain ++ floating point mask. ++ * sysdeps/i386/fpu/fegetenv.c (fegetenv): Likewise. ++ ++2003-06-23 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/pthread/aio_misc.h: Mark __aio_requests_mutex, ++ __aio_enqueue_request, __aio_find_req, __aio_find_req_fd, ++ __aio_free_request, __aio_notify, and __aio_sigqueue as hidden. ++ ++ * sysdeps/pthread/aio_suspend.c (aio_suspend): Set errno to the result ++ of pthread_cond_wait if there was an error. Use pthread_cleanup_* ++ instead of __libc_cleanup_region_*. ++ ++2003-06-20 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/unix/make-syscalls.sh: Implement ! prefix for strong aliases. ++ * sysdeps/unix/sysv/linux/alpha/syscalls.list (open, open64): New. ++ ++2003-06-20 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL1): Use __builtin_expect. ++ * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_ST_INO_64_BIT) ++ Unset for alpha. ++ (__ASSUME_TIMEVAL64): Set for alpha. ++ * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove ++ adjtimex, osf_sigprocmask, old_adjtimex. ++ * sysdeps/unix/sysv/linux/alpha/adjtime.c: Use INLINE_SYSCALL, ++ __ASSUME_TIMEVAL64. Reorg tv64 functions to avoid uninit variable. ++ * sysdeps/unix/sysv/linux/alpha/getitimer.S: Use __ASSUME_TIMEVAL64. ++ * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/select.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Streamline ++ PIC code sequence. ++ * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/sigaction.c: New file. ++ * sysdeps/unix/sysv/linux/alpha/sigprocmask.c: Use INLINE_SYSCALL. ++ * sysdeps/unix/sysv/linux/alpha/ustat.c: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/xmknod.c: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove osf_sigprocmask, ++ sys_ustat, sys_mknod, adjtimex, old_adjtimex. ++ * sysdeps/unix/sysv/linux/alpha/sysdep.h (INLINE_SYSCALL): Don't ++ defer to __syscall_name; error for rt_sigaction. ++ * sysdeps/unix/sysv/linux/alpha/xstatconv.c: Include kernel_stat.h. ++ ++2003-06-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * malloc/malloc.c (public_mALLINFo): Initialize malloc if it ++ hasn't happened yet. ++ ++ * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump): ++ Fix completely broken implementation. The second parameter is of ++ type struct ucontext*. ++ ++ * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Always ++ inline. ++ ++ * sysdeps/i386/i686/dl-hash.h: Don't inline _dl_elf_hash. ++ * sysdeps/generic/dl-hash.h: Likewise. ++ ++ * sysdeps/generic/memcmp.c: Remove inline from ++ memcmp_common_alignment and memcmp_not_common_alignment definition. ++ ++ * intl/localealias.c (read_alias_file): Determine whether line is ++ read incompletely early, before we modify the line. ++ ++2003-06-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela) ++ <case R_PPC64_DTPREL64>: Don't segfault on undefined symbols. ++ ++2003-06-17 Paul Mackerras <paulus@samba.org> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h: New file. ++ * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Adjust. ++ ++2003-06-17 Jakub Jelinek <jakub@redhat.com> ++ ++ * posix/regcomp.c (build_word_op): Use alnum instead of alpha class. ++ ++2003-06-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/clock_nanosleep.c (clock_nanosleep): nanosleep ++ takes care of enabling cancellation. ++ ++ * sysdeps/pthread/aio_suspend.c (aio_suspend): Make aio_suspend ++ cancelable. It's not correct to disable cancellation. Instead of ++ a cleanup handler. ++ ++ * sysdeps/unix/sysv/linux/sigtimedwait.c: If SIGCANCEL is defined ++ and part of the incoming set, create a temporary set without this ++ signal. ++ * sysdeps/unix/sysv/linux/sigwait.c: Likewise. ++ * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. ++ ++ * sysdeps/unix/sysv/linux/sleep.c: Use CANCELLATION_P if defined before ++ returning because seconds==0. Add __builtin_expect. ++ ++2003-06-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/socket.S: Add unwind information. ++ ++ * sysdeps/unix/sysv/linux/wait.c (__libc_wait): Fix type of result ++ variable. ++ ++2003-06-16 Thorsten Kukuk <kukuk@suse.de> ++ ++ * include/libc-symbols.h: Add static_link_warning macro. ++ * grp/initgroups.c: Print linker warning if this function ++ is called in a static linked binary. ++ * nss/getXXbyYY.c: Likewise. ++ * nss/getXXbyYY_r.c: Likewise. ++ * nss/getXXent.c: Likewise. ++ * nss/getXXent_r.c: Likewise. ++ * sysdeps/posix/getaddrinfo.c: Likewise. ++ ++2003-06-16 Bruno Haible <bruno@clisp.org> ++ ++ * iconvdata/gconv-modules (ISO-8859-15): Add aliases ISO_8859-15, ++ LATIN-9. ++ (ISO-8859-16): Add aliases ISO_8859-16:2001, ISO_8859-16. ++ (IBM1047): Add alias IBM-1047. ++ (GBK): Add aliases MS936, WINDOWS-936. ++ ++2003-06-16 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/xstatconv.c (__xstat_conv): Define even if ++ defined __ASSUME_STAT64_SYSCALL && defined XSTAT_IS_XSTAT64. ++ (__xstat64_conv): Change xstat_conv to __xstat_conv. ++ ++2003-06-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * locale/iso-639.def: Update from current official ISO 639. ++ ++ * math/tgmath.h (__TGMATH_UNARY_IMAG_ONLY): Removed. ++ ++2003-06-15 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Correct setting ++ of MXCSR. ++ * sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Likewise. ++ * sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Likewise. ++ Reported by Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>. ++ ++ * math/tgmath.h (carg): Handle real arguments. ++ (conj): Likewise. ++ (cproj): Likewise. ++ (cimag): Likewise. ++ (creal): Likewise. ++ ++ * math/Makefile (CFLAGS-test-tgmath-ret.c): New. ++ (tests): Add test-tgmath-ret. ++ * math/test-tgmath-ret.c: New file. ++ ++ * math/tgmath.h (ilogb): Return always an int. ++ ++2003-06-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/rtld.c (dl_main): Use l_map_start not l_addr in Phdr ++ computation so that prelinking works. ++ ++2003-06-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/dl-iteratephdr.c (__dl_iterate_phdr): Don't skip dynamic ++ linker's map. ++ * elf/rtld.c (dl_main): Initialize l_phdr and l_phnum of of the ++ dynamic linker's map. ++ ++ Fix cancellation point handling wrt exception based cleanup. ++ * io/Makefile: Compile fcntl.c, poll.c, and lockf.c with exceptions. ++ * misc/Makefile: Compile pselect.c, readv.c, writev.c, and usleep.c ++ with exceptions. ++ * posix/Makefile: Compile pread.c, pread64.c, pwrite.c, pwrite64.c, ++ sleep.c, wait.c, waitid.c, and waitpid.c with exceptions. ++ * rt/Makefile: Compile aio_suspend.c and clock_nanosleep.c with ++ exceptions. ++ * signal/Makefile: Compile sigpause.c, sigsuspend.c, sigtimedwait.c, ++ sigwait.c, and sigwaitinfo.c with exceptions. ++ * stdlib/Makefile: Compile system.c with exceptions. ++ * sysvipc/Makefile: Compile msgrcv.c and msgsnd.c with exceptions. ++ * termios/Makefile: Compile tcdrain.c with exceptions. ++ * sysdeps/generic/lockf.c: Add comment explaining the cancellation ++ situation. ++ * sysdeps/generic/pselect.c: Likewise. ++ * sysdeps/posix/sigpause.c: Likewise. ++ * sysdeps/posix/system.c: Likewise. ++ * sysdeps/posix/waitid.c: Likewise. ++ * sysdeps/unix/sysv/linux/sleep.c: Likewise. ++ * sysdeps/unix/sysv/linux/usleep.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Major rewrite of ++ INTERNAL_SYSCALL to not use push inside asm statement so that ++ unwind info is correct around the syscall. ++ * sysdeps/unix/clock_nanosleep.c: Add cancellation support. ++ * sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise. ++ ++2003-06-15 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/x86_64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): ++ Add CFI directives. ++ ++2003-06-15 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/unix/sysv/linux/mips/Makefile: Add missing endif and ++ create $(objpfx). ++ ++2003-06-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Use __close, ++ not close. ++ ++ * inet/inet6_option.c (inet6_option_alloc): Add libc_hidden_def. ++ * include/netinet/in.h (inet6_option_alloc): Add libc_hidden_proto ++ definition. ++ ++ * inet/netinet/ip6.h (IP6OPT_PAD1, IP6OPT_PADN): Define. ++ * inet/netinet/in.h: Add prototypes for inet6_option_* functions. ++ * inet/Makefile (routines): Add inet6_option. ++ * inet/inet6_option.c: New file. ++ * inet/Versions [GLIBC_2.3.3] (libc): Add inet6_option_space, ++ inet6_option_init, inet6_option_append, inet6_option_alloc, ++ inet6_option_next, and inet6_option_find. ++ ++2003-06-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * inet/netinet/ip6.h (struct ip6_ext): Define. ++ ++ * sysdeps/unix/sysv/linux/sys/param.h (howmany): Optimize for gcc. ++ ++ Fixing gcc 3.3 warnings, part II. ++ * argp/argp-help.c (hol_entry_long_iterate): Always inline. ++ * elf/dl-load.c (cache_rpath): Don't inline. ++ * iconvdata/cns11642l2.h: Always inline all functions. ++ * iconvdata/iso-ir-165.h: Likewise. ++ * locale/Makefile (aux): Add coll-lookup. ++ * locale/coll-lookup.c: New file. ++ * locale/coll-lookup.h (collidx_table_lookup): Do not define here. ++ (collseq_table_lookup): Likewise. ++ * locale/weightwc.h: Adjust collidx_table_lookup calls for name change. ++ * posix/fnmatch_loop.c: Adjust collseq_table_lookup calls for name ++ change. ++ * posix/regcomp.c: Likewise. ++ * posix/regexec.c: Likewise. ++ * locale/programs/3level.h (*_get): Always inline. ++ * locale/programs/locfile.h: Move definition of handle_copy to... ++ * locale/programs/locfile.c: ...here. ++ * locale/programs/ld-collate.c (obstack_int32_grow): Always inline. ++ (obstack_int32_grow_fast): Likewise. ++ (utf8_encode): Likewise. ++ (find_element): Avoid aliasing problems. ++ (insert_value): Likewise. ++ (collate_read): Likewise. ++ * nss/getent.c (print_hosts): Don't inline ++ (print_networks): Likewise. ++ (print_shadow): Likewise. ++ (build_doc): Likewise. ++ * nss/nss_files/files-parse.c [ENTDATA] (parser_stclass): Don't ++ inline. ++ * posix/regcomp.c (re_set_fastmap): Always inline. ++ (seek_collating_symbol_entry): Likewise. ++ (lookup_collation_sequence_value): Likewise. ++ (build_range_exp): Likewise. ++ (build_collating_symbol): Likewise. ++ * posix/regexec.c (acquire_init_state_context): Don't inline. ++ (clean_state_log_if_need): Likewise. ++ * resolv/res_send.c (eConsIovec): Rewrite to not return struct and ++ adjust all callers. ++ (evConsTime): Likewise. ++ (evAddTime): Likewise. ++ (evSubTime): Likewise. ++ (evNowTime): Likewise. ++ (evTimeSpec): Removed. ++ (__libc_res_nsend): Avoid aliasing problem. ++ * sysdeps/unix/sysv/linux/ifreq.h: Move old_siocgifconf definition to.. ++ * sysdeps/unix/sysv/linux/ifreq.c: ...here. ++ * sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_dl_string_hwcap): ++ Always inline. ++ (_dl_string_platform): Likewise. ++ * wctype/wchar-lookup.h (wctype_table_lookup): Always inline. ++ (wcwidth_table_lookup): Likewise. ++ (wctrans_table_lookup): Likewise. ++ ++ * sysdeps/unix/sysv/linux/sys/epoll.h: Include <stdint.h>. ++ ++2003-06-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * wcsmbs/wchar.h: Define wint_t in std namespace, too [PR libc/5034]. ++ ++2003-05-29 Jim Meyering <jim@meyering.net> ++ ++ * time/strftime.c (my_strftime) [!defined _NL_CURRENT ++ && HAVE_STRFTIME]: Use underlying_strftime for %r. ++ Suggested by Daniel Yacob <locales@geez.org>. ++ ++2003-06-12 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (RTLD_START): Replace ++ @got notation with @toc. ++ * sysdeps/powerpc/powerpc64/sysdep.h (CALL_MCOUNT): Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Likewise. ++ ++2003-06-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Set no_inet6_date also ++ if only PF_INET address is needed. ++ ++ * nss/getXXbyYY_r.c: Make sure we always return a nonzero value in ++ case of an error. ++ ++ * scripts/config.guess: Update from upstream version. ++ * scripts/config.sub: Likewise. ++ ++2003-06-12 Jakub Jelinek <jakub@redhat.com> ++ ++ * locale/programs/ld-time.c (time_output): Also copy the era format, ++ not only the name. ++ ++2003-06-12 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * posix/transbug.c (run_test): Return 1 for failure. ++ (do_test): Compare only if run_test is successful. ++ ++2003-06-12 Simon Josefsson <jas@extundo.com> ++ ++ * argp/argp.h [!__THROW]: Define if undefined. ++ ++2003-06-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/cris/sysdep.h: Fix handling of syscalls with ++ more than four parameters. ++ Patch by Uwe Reimann <libc-alpha@pulsar.homelinux.net>. ++ ++2003-06-12 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/kernel_stat.h: New file. ++ * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: New file. ++ * sysdeps/unix/sysv/linux/x86_64/kernel_stat.h: New file. ++ ++ * stdio-common/printf-parsemb.c: Include stdlib.h and sys/param.h. ++ ++2003-06-12 Roland McGrath <roland@redhat.com> ++ ++ * Makerules ($(objpfx)stubs): Rewrite sed magic. ++ ++2003-02-28 Isamu Hasegawa <isamu@yamato.ibm.com> ++ ++ * posix/regcomp.c (parse_expression): Deliver translation to ++ build_word_op, and build_charclass. ++ (build_charclass): Apply translation for character classes too. ++ (build_word_op): Deliver translation to build_charclass. ++ * posix/transbug.c: New file. ++ * posix/Makefile (tests): Add transbug. ++ ++2003-06-04 Paolo Bonzini <bonzini@gnu.org> ++ ++ * posix/regexec.c (group_nodes_into_DFAstates): Check for ++ NEXT_ENDBUF_CONSTRAINT. Move check for constraints which do a ++ 'continue' before the others. ++ ++2003-06-11 Ulrich Drepper <drepper@redhat.com> ++ ++ * dirent/scandir.c (SCANDIR): Reset errno after calling selector ++ function [PR libc/5045]. ++ ++ * sysdeps/i386/bits/byteswap.h (__bswap_32): Use bswap instruction ++ also for P4. ++ ++ * time/tzfile.c: Add a couple of __builtin_expect. ++ ++ Remove warnings gcc 3.3 shows. ++ * argp/argp-help.c (hol_entry_short_iterate): Don't inline. ++ * elf/dl-load.c (fillin_rpath): Likewise. ++ (add_path): Likewise. ++ * elf/dl-version.c (find_needed): Always inline. ++ * elf/do-lookup.c (FCT): Don't inline. ++ * iconv/Makefile: Extend vpath to intl subdir. ++ (iconvconfig-modules): Add hash-string. ++ * iconv/gconv_charset.h (strip): Don't inline. ++ (upstr): Always inline. ++ Move __gconv_compare_alias prototype to... ++ * iconv/gconv_int.h: ...here. ++ * iconv/gconv_db.c: Don't include gconv_charset.h. ++ * iconv/gconv_conf.c (add_alias): Don't inline. ++ (insert_module): Likewise. ++ * iconv/gconv_simple.c (internal_ucs4_loop): Always inline. ++ (internal_ucs4_loop_unaligned): Likewise. ++ (internal_ucs4_loop_single): Likewise. ++ (ucs4_internal_loop): Likewise. ++ (ucs4_internal_loop_unaligned): Likewise. ++ (ucs4_internal_loop_single): Likewise. ++ (internal_ucs4le_loop): Always inline. ++ (internal_ucs4le_loop_unaligned): Likewise. ++ (internal_ucs4le_loop_single): Likewise. ++ (ucs4le_internal_loop): Likewise. ++ (ucs4le_internal_loop_unaligned): Likewise. ++ (ucs4le_internal_loop_single): Likewise. ++ * iconv/loop.c: Always inline the defined functions. ++ * iconvdata/cns11642.h: Likewise. ++ * iconvdata/cns11642l1.h: Likewise. ++ * iconvdata/euc-kr.c: Likewise. ++ * iconvdata/gb2312.h: Likewise. ++ * iconvdata/jis0201.h: Likewise. ++ * iconvdata/jis0208.h: Likewise. ++ * iconvdata/jis0212.h: Likewise. ++ * iconvdata/jisx0213.h: Likewise. ++ * iconvdata/ksc5601.h: Likewise. ++ * iconvdata/utf-7.c (base64): Don't inline. ++ * include/libc-symbols.h (symbol_set_first_element): Add cast ++ (symbol_set_end_p): Likewise. ++ * include/set-hooks (RUN_HOOK): Likewise. ++ * inet/Makefile (aux): Add ifreq. ++ * intl/Makefile (aux): Add some entries from routines. Add ++ hash-string. ++ * intl/hash-string.c: New file. ++ * intl/hash-string.h: Remove hash_string definition. Declare ++ __hash_string. ++ * iconv/gconv_cache.c (find_module_idx): Adjust hash_string caller. ++ * iconv/iconvconfig.c (new_name): Likewise. ++ * intl/dcigettext.c (_nl_find_msg): Likewise. ++ * intl/loadmsgcat.c (_nl_load_domain): Likewise. ++ * io/ftw.c (open_dir_stream): Always inline. ++ (process_entry): Don't inline. ++ * locale/findlocale.c: Include gconv_int.h. ++ * locale/setlocale.c (new_composite_name): Don't inline. ++ * locale/weight.h (findidx): Always inline. ++ * locale/weightwc.h (findidx): Likewise. ++ * locale/programs/linereader.c (lr_ignore_rest): Define here. ++ * locale/programs/linereader.h (lr_ignore_rest): Don't define here, ++ just declare it. ++ (lr_getc): Always inline. ++ (lr_ungetc): Likewise. ++ * nss/nss_files/files-parse.c (parse_list): Likewise. ++ * stdio-common/Makefile (aux): Add printf-parsemb and ++ printf-parsewc. ++ * stdio-common/_itoa.h (_itoa_word): Always inline. ++ (_fitoa_word, _fitoa): Don't define here, only declare. ++ * stdio-common/_itoa.c (_iftoa_word): Add here. ++ (_fitoa): Likewise. ++ * stdio-common/_itowa.h (_itowa_word): Always inline. ++ * stdio-common/printf-parse.h (read_int): Don't inline. ++ (find_spec): Don't define. ++ Declare __find_specmb and __find_specwc. ++ (parse_one_spec): Don't define. ++ Declare __parse_one_specmb and __parse_one_specwc. ++ * stdio-common/printf-parsemb.c: New file. ++ * stdio-common/printf-parsewc.c: New file. ++ * stdio-common/vfprintf.c: Update calls to find_spec and ++ parse_one_spec for new names. ++ * stdio-common/printf-prs.c: Likewise. Define DONT_NEED_READ_INT. ++ * stdlib/Makefile (aux): Add grouping and groupingwc. ++ * stdlib/grouping.c: New file. ++ * stdlib/groupingwc.c: New file. ++ * stdlib/grouping.h (correctly_grouped_prefix): Don't define here. ++ Just prototype. ++ * stdlib/rpmatch.c (try): Don't inline. ++ * stdlib/strtod.c (round_and_return): Don't line. ++ (str_to_mpn): Likewise. ++ (__mpn_lshift_1): Always inline. Optimize only for constant count. ++ Adjust for name change of correctly_grouped_prefix. ++ * sysdeps/generic/strtol.c: Adjust for name change of ++ correctly_grouped_prefix. ++ * string/strxfrm.c (utf8_encode): Don't inline. ++ * sysdeps/generic/dl-cache.c: Define _dl_cache_libcmp. ++ * sysdeps/generic/dl-cache.h: Just declare _dl_cache_libcmp. ++ * sysdeps/generic/ifreq.c: New file. ++ * sysdeps/unix/sysv/linux/ifreq.c: New file. ++ * sysdeps/generic/ifreq.h (__ifreq): Only declare here. ++ * sysdeps/unix/sysv/linux/ifreq.h: Likewise. ++ * sysdeps/generic/ldsodefs.h (_dl_name_match_p): Always inline. ++ * sysdeps/generic/unwind-dw2-fde.c (start_fde_sort): Don't inline. ++ (fde_split): Likewise. ++ (fde_merge): Likewise. ++ (end_fde_sort): Likewise. ++ (init_object): Likewise. ++ (binary_search_unencoded_fdes): Likewise. ++ (binary_search_single_encoding_fdes): Likewise. ++ (binary_search_mixed_encoding_fdes): Likewise. ++ * sysdeps/generic/wordexp.c (w_addchar): Don't inline. ++ * sysdeps/i386/dl-machine.c (elf_machine_runtime_setup): Always inline. ++ * sysdeps/posix/sprofil.c (profil_count): Don't inline. ++ * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): ++ Add xstatconv. ++ * sysdeps/unix/sysv/linux/xstatconv.h: New file. ++ * sysdeps/unix/sysv/linux/xstatconv.c: Don't inline the function. ++ Export them. Prepend __ to name. ++ * sysdeps/unix/sysv/linux/Dist: Add xstatconv.h. ++ * sysdeps/unix/sysv/linux/fxstat.c: Adjust for name change of ++ conversion functions. ++ * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. ++ * sysdeps/unix/sysv/linux/lxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. ++ * sysdeps/unix/sysv/linux/xstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/xstat64.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/xstat.c: Likewise. ++ * sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max, ++ __statfs_filesize_max, __statfs_symlinks): Define here. __ prepended ++ to name. Change callers. ++ * sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max, ++ __statfs_filesize_max, __statfs_symlinks): Don't define here, just ++ declare. ++ * sysdeps/unix/sysv/linux/fpathconf.c: Change all callers. ++ * time/tzfile.c (decode): Always inline. ++ * wcsmbs/wcsnrtombs.c: Change type of inbuf to unsigned char*. ++ Remove cast in tomb function call. ++ * wcsmbs/wcsrtombs.c Likewise. ++ * wcsmbs/wcstob.c: Introduce new temp variable to take pointer in ++ tomb function call. ++ ++2003-06-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * po/zh_CN.po: Update from translation team. ++ ++2003-06-10 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/bits/in.h (IPV6_V6ONLY, IPV6_JOIN_ANYCAST, ++ IPV6_LEAVE_ANYCAST, IPV6_IPSEC_POLICY, IPV6_XFRM_POLICY): Define. ++ ++2003-06-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * inet/Makefile (aux): Add check_pf. ++ * include/ifaddrs.h: Add prototype for __check_pf. ++ * sysdeps/generic/check_pf.c: New file. ++ * sysdeps/unix/sysv/linux/check_pf.c: New file. ++ * sysdeps/unix/sysv/linux/ifaddrs.h (__no_netlink_support): Renamed ++ from no_netlink_support. Export. ++ * sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't call getifaddrs, ++ call __check_pf. ++ ++ * sysdeps/generic/ifaddrs.h: Add libc_hidden_def. ++ ++ * sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't leak memory ++ from getifaddr calls. ++ ++2003-06-09 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h ++ (__ASSUME_SETRESGID_SYSCALL): Define. ++ * sysdeps/unix/sysv/linux/setegid.c: Use __ASSUME_SETRESGID_SYSCALL ++ instead of __ASSUME_SETRESUID_SYSCALL. ++ (setegid): Only use setresgid32 inline syscall if __NR_setresgid32 is ++ defined. ++ * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Only use setresgid32 ++ inline syscall if __NR_setresuid32 is defined. ++ * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Use ++ __ASSUME_SETRESGID_SYSCALL instead of __ASSUME_SETRESUID_SYSCALL. ++ * sysdeps/unix/sysv/linux/i386/setregid.c: Backout last changes. ++ * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Protect ++ code handling non-existant setresgid32 syscall with ++ #if __ASSUME_SETRESGID_SYSCALL == 0. ++ ++2003-06-09 Andreas Schwab <schwab@suse.de> ++ ++ * sunrpc/Makefile (generated): Remove rpc-proto.c, rpc-proto.d. ++ ($(rpcsvc:%.x=$(objpfx)x%$o)): Don't depend on ++ $(objpfx)rpc-proto.d. ++ (rpcsvc-dt-files, rpcsvc-depfiles): Define. Include ++ $(rpcsvc-depfiles) instead of $(objpfx)rpc-proto.d. ++ ($(objpfx)rpc-proto.d, $(objpfx)rpc-proto.c): Remove rules. ++ ++2003-06-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Use setresuid32 ++ syscall directly if possible. If __ASSUME_SETRESUID_SYSCALL is ++ defined drop compatibility code. ++ * sysdeps/unix/sysv/linux/setegid.c (setegid): Use setresgid32 ++ syscall directly if possible. If __ASSUME_SETRESUID_SYSCALL is ++ defined drop compatibility code. ++ * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Use ++ setresuid32 syscall directly if possible. ++ * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Use ++ setresgid32 syscall directly if possible. ++ * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Make POSIX ++ compliant. Don't change sgid. ++ * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Make POSIX ++ compliant. Don't change suid. ++ ++ * config.h.in: Add have-forced-unwind. ++ * configure.in: Add AC_SUBST(libc_cv_forced_unwind). ++ ++2003-06-07 Ulrich Drepper <drepper@redhat.com> ++ ++ * test-skeleton.c (main): If EXPECTED_STATUS is defined check that ++ returned status from child matches. ++ ++ * Makeconfig (gnulib): Add -lgcc_eh once again. ++ ++2003-06-06 Ulrich Drepper <drepper@redhat.com> ++ ++ * test-skeleton.c (main): Use TEMP_FAILURE_RETRY with waitpid. ++ ++ * sysdeps/unix/sysv/linux/i386/sysdep.h (ASMFMT_2): Only allow ++ %edx for first parameter. This means no pushl and therefore the ++ unwind info isn't screwed up. ++ ++2003-06-04 Richard Henderson <rth@redhat.com> ++ ++ * sysdeps/alpha/dl-machine.h (RTLD_START): Fix top-of-stack backtrace. ++ * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. ++ * sysdeps/alpha/elf/start.S: Likewise. Remove pointless allocation. ++ * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Use standard ldgp ++ entry sequence and explicit relocs. Add unwind info for sigreturn ++ and rt_sigreturn. ++ * configure.in (libc_cv_asm_cfi_directives): Test .cfi_remember_state. ++ ++ * sysdeps/unix/sysv/linux/alpha/syscalls.list (semtimedop): New. ++ Annotate some parameters. ++ * sysdeps/unix/sysv/linux/alpha/sysdep.h (__NR_semtimedop): New. ++ ++ * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Fix typo in conversion. ++ ++ * include/libc-symbols.h (symbol_set_declare): Use arrays ++ of unspecified size. ++ ++2003-06-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * config.make.in (ASFLAGS-config): New. ++ * Makeconfig (ASFLAGS): Append $(ASFLAGS-config). ++ * configure.in (libc_cv_as_noexecstack): New check. ++ (ASFLAGS_config): Substitute. ++ ++2003-06-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/fpu/bits/mathinline.h (log1p, asinh, acosh, atanh, ++ hypot, logb): Protect with #ifdef __FAST_MATH__. ++ ++2003-06-04 Thorsten Kukuk <kukuk@suse.de> ++ ++ * sysdeps/i386/fpu/bits/mathinline.h (ldexpf, ldexpl): Protect with ++ #ifdef __FAST_MATH__. ++ ++2003-06-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/glob.c [HAVE_D_TYPE] (glob_in_dir): Also allow ++ DT_LNK entries if GLOB_ONLYDIR is set [PR libc/5043]. ++ * posix/globtest.sh: Adjust for this change. ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c (netlink_open): Call getsockname ++ to get the actual PID value used in the records passed up. ++ (getifaddrs): Don't initialize nh.pid here. ++ ++2003-06-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c (netlink_receive): Minor ++ optimization. ++ ++ * po/zh_CN.po: Update from translation team. ++ ++ * posix/getconf.c (main): Also recognize names without the ++ _POSIX_ prefix. ++ ++ * elf/Makefile (CFLAGS-dl-lookup.c): Define. ++ ++2003-06-02 Bernd Schmidt <bernds@redhat.com> ++ ++ * sysdeps/i386/fpu/bits/mathinline.h (sqrt, __sqrtl, ldexp, ++ ldexpf, ldexpl): Only define if __FAST_MATH__. ++ ++2003-06-02 Richard C. Bilson <rcbilson@plg.uwaterloo.ca> ++ ++ Replace hard-coded offsets into struct sigcontext with generated file. ++ * sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: New file. ++ * sysdeps/unix/sysv/linux/ia64/Makefile ++ [$(subdir) = stdlib] (gen-as-const-headers): Add it. ++ * sysdeps/unix/sysv/linux/ia64/ucontext_i.h: Include it instead of ++ defining SC_* macros here. ++ ++2003-06-02 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/bits/sched.h (CLONE_PID): Remove. ++ ++2003-06-01 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/dl-machine.h: Include <sysdep.h>. ++ ++2003-06-01 Ulrich Drepper <drepper@redhat.com> ++ ++ * test-skeleton.c (main): Request getopt to not reorder the ++ command line. ++ ++ * elf/Makefile (CFLAGS-dl-runtime.c): Define. ++ ++ * wcsmbs/wcpncpy.c (__wcpncpy): Fix broken implementation to match ++ stpncpy. ++ ++2003-05-31 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h (SA_NOCLDWAIT): Define. ++ ++2003-05-31 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_plt_conflict): ++ New function. ++ (elf_machine_rela) <case R_PPC64_JMP_SLOT>: Avoid ++ RESOLVE_CONFLICT_FIND_MAP. If RESOLVE_CONFLICT_FIND_MAP is defined, ++ call elf_machine_plt_conflict instead of elf_machine_fixup_plt. ++ ++2003-05-31 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/i386/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Add ++ CFI directives. ++ ++ * csu/Makefile: Fix Makefile warnings regarding Scrt1.o. ++ ++ * libio/fileops.c (_IO_file_open): Don't mark as inline. ++ ++ * sysdeps/ia64/elf/initfini.c (gmon_initializer): Mark with ++ attribute used. ++ ++2003-05-30 Ulrich Drepper <drepper@redhat.com> ++ ++ * scripts/config.guess: Update from master copy. ++ * scripts/config.sub: Likewise. ++ ++2003-05-30 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/mips/mips64/bsd-_setjmp.S: Include <sys/asm.h> for ++ SETUP_GP64 and friends. ++ * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Fix register ++ names in internal_syscall{6,7}. ++ * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pread.c [_MIPS_SIM == _ABI64]: Fix ++ number of syscall arguments. ++ * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. ++ ++2003-05-30 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/x86_64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): ++ Add CFI directives. ++ ++ * sysdeps/unix/sysv/linux/x86_64/sigaction.c (RESTORE2): Add CFI ++ directives. ++ ++ * sysdeps/generic/sysdep.h: Add CFI_* macros for C files. ++ ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): ++ Add CFI directives. ++ ++2003-05-30 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc32/elf/start.S: Make code compilable with ++ SHARED. ++ ++2003-05-11 Andreas Schwab <schwab@suse.de> ++ ++ * 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. ++ ++2003-05-28 Roland McGrath <roland@redhat.com> ++ ++ * malloc/malloc.h [! __GNUC__] (__const): Define if undefined. ++ ++2003-05-26 Aldy Hernandez <aldyh@redhat.com> ++ ++ * soft-fp/soft-fp.h (FP_EX_UNDERFLOW): Define to 0. ++ ++2003-05-28 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/setcontext.S: Pass fourth argument to ++ rt_sigprocmask system call. ++ * sysdeps/unix/sysv/linux/ia64/ucontext_i.h (SC_MASK): Fix value. ++ From Peter A. Buhr <pabuhr@plg2.math.uwaterloo.ca>. ++ ++2003-05-28 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/libc-symbols.h: Define hidden attribute for real also if ++ LIBC_NONSHARED is defined. Patch by Jakub Jelinek. ++ ++ * csu/Makefile: Add rules to build Scrt1.o. ++ * sysdeps/i386/elf/start.S: Make code compilable with SHARED. ++ * sysdeps/x86_64/elf/start.S: Likewise. ++ ++2003-05-27 Jakub Jelinek <jakub@redhat.com> ++ ++ * stdio-common/vfprintf.c (process_arg, process_string_arg): Use ++ pa_int/pa_u_int instead of pa_short_int, pa_u_short_int and pa_char. ++ * stdio-common/printf-parse.h (union printf_arg): Remove pa_char, ++ pa_short_int, pa_u_short_int and pa_float. ++ ++2003-05-26 Jakub Jelinek <jakub@redhat.com> ++ ++ * libio/strops.c (_IO_str_init_static): Change into a wrapper around ++ _IO_str_init_static_internal. ++ (_IO_str_init_static_internal): Moved from _IO_str_init_static, ++ change size argument to _IO_size_t, don't limit sprintf to 64M. ++ (_IO_str_init_readonly): Call _IO_str_init_static_internal. ++ * libio/wstrops.c (_IO_wstr_init_static): Change size argument to ++ _IO_size_t, don't limit swprintf to 256M. ++ (_IO_wstr_init_readonly): Remove. ++ * libio/libioP.h (_IO_str_init_static_internal, _IO_wstr_init_static): ++ Adjust prototypes. ++ (_IO_wstr_init_readonly): Remove prototype. ++ * libio/iovsprintf.c (_IO_vsprintf): Use ++ _IO_str_init_static_internal instead of INTUSE(_IO_str_init_static). ++ * libio/iovsscanf.c (_IO_vsscanf): Likewise. ++ * libio/memstream.c (open_memstream): Likewise. ++ * libio/obprintf.c (_IO_obstack_vfprintf): Likewise. ++ * libio/vasprintf.c (_IO_vasprintf): Likewise. ++ * libio/vsnprintf.c (_IO_vsnprintf): Likewise. ++ * stdio-common/tst-sprintf.c (main): Add new test. ++ ++2003-05-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdio-common/vfprintf.c (vfprintf): Be bug-compatible with some ++ other implementation in respect of multiple uses of parameter with ++ different types. ++ ++2003-05-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_FUTEX_REQUEUE for >= 2.5.70. ++ ++2003-05-22 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: Add CFI ++ directives. ++ * sysdeps/unix/sysv/linux/x86_64/time.S: Likewise. ++ * sysdeps/x86_64/strtok.S: Likewise. ++ ++2003-05-20 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Change SI_ASYNCNL ++ to -60 and define SI_TKILL. ++ ++2003-05-21 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * math/test-fenv.c (feexcp_nomask_test): Fix comment. ++ (feexcp_mask_test): Likewise. ++ ++2003-05-21 Ulrich Drepper <drepper@redhat.com> ++ ++ * locale/programs/locale.c (main): Fix typo in last patch. ++ ++ * csu/elf-init.c: Mark __preinit_array_start, __preinit_array_end, ++ __init_array_start, __init_array_end, __fini_array_start, and ++ __fini_array_end as hidden. ++ ++2003-05-21 Petter Reinholdtsen <pere@hungry.com> ++ ++ * locale/programs/locale.c (main): Report an error if setlocale() ++ fails [PR libc/2254]. ++ ++2003-05-21 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/s390/system.c: New file. ++ ++2003-05-21 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (LOADARGS_0, ++ LOADARGS_1, LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, ++ LOADARGS_6): Don't error if syscall argument is a string literal. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (LOADARGS_0, ++ LOADARGS_1, LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, ++ LOADARGS_6): Likewise. ++ ++2003-05-21 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/generic/sysdep.h (cfi_offset, cfi_startproc, ++ cfi_endproc, cfi_def_cfa, cfi_def_ccfa_register, ++ cfi_def_cfa_offset, cfi_adjust_cfa_offset, cfi_offset): Define. ++ ++ * sysdeps/x86_64/sysdep.h (CALL_MCOUNT): Add cfi directives. ++ (ENTRY): Likewise. ++ (END): Likewise. ++ ++ * configure.in: Test for asm cfi directives. ++ ++ * config.h.in: Add HAVE_ASM_CFI_DIRECTIVES. ++ ++2003-05-17 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/syscall.S: Revert last patch. ++ ++ * rt/tst-clock_nanosleep.c: Include <time.h> for clock_nanosleep. ++ ++2003-05-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * rt/Makefile (tests): Add tst-clock_nanosleep. ++ * rt/tst-clock_nanosleep.c: New file. ++ * posix/Makefile (tests): Add tst-nanosleep. ++ * posix/tst-nanosleep.c: New file. ++ ++ * sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P): Fix definition. ++ ++ * include/features.h (__USE_XOPEN2K): Define also for ++ _POSIX_C_SOURCE>=200112L. ++ ++ * sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Fold ++ SI_TKILL code into SI_USER. ++ * sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise. ++ ++ * sysdeps/posix/sigpause.c (do_sigpause): Use sigdelset after all. ++ ++2003-05-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc32/dl-machine.c (_dl_reloc_overflow): ++ Remove sym argument, always use refsym. ++ (__process_machine_rela): Adjust callers. ++ * sysdeps/powerpc/powerpc64/dl-machine.c (_dl_reloc_overflow): ++ Likewise. ++ * sysdeps/powerpc/powerpc32/dl-machine.h (_dl_reloc_overflow): ++ Adjust prototype. ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): Likewise. ++ ++2003-05-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Fix typo ++ (DL_NEED_SYSINFO -> NEED_DL_SYSINFO). If aux value is not known ++ print numeric values. ++ ++2003-05-12 Thorsten Kukuk <kukuk@suse.de> ++ ++ * inet/netinet/igmp.h: Sync with Linux Kernel 2.5.69 and *BSD. ++ ++2003-05-14 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/unix/sysv/linux/ia64/umount.c: New file. ++ ++2003-05-14 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/rtld.c (dl_main): For LD_TRACE_PRELINKING print search scope ++ even if no DT_NEEDED is present. ++ ++2003-05-13 David Mosberger <davidm@hpl.hp.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/setjmp.S: Fix the fix from ++ 2003-03-27: setjmp is NOT a leaf-routine (due to the call to ++ __sigjmp_save) so we can't keep the saved unat value in a scratch ++ register (r16). Use loc2 instead. ++ ++2003-05-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * csu/Makefile: Do compile elf-init with PIC flag since in dynamic ++ binaries it has to be relocatable. ++ ++ * sysdeps/unix/sysv/linux/waitpid.c: Use waitpid syscall is available. ++ ++2003-05-12 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/bits/atomic.h ++ (__arch_compare_and_exchange_bool_8_rel): Define. ++ (__arch_compare_and_exchange_bool_16_rel): Define. ++ (__ARCH_REL_INSTR): Define if not already defined. ++ (__arch_atomic_exchange_and_add_32): Add "memory" to clobber list. ++ (__arch_atomic_decrement_if_positive_32): ++ Add "memory" to clobber list. ++ (__arch_compare_and_exchange_val_32_acq): Remove release sync. ++ (__arch_compare_and_exchange_val_32_rel): Define. ++ (__arch_atomic_exchange_32): Remove. ++ (__arch_atomic_exchange_32_acq): Define. ++ (__arch_atomic_exchange_32_rel): Define. ++ (atomic_compare_and_exchange_val_rel): Define. ++ (atomic_exchange_acq): Use __arch_atomic_exchange_*_acq forms. ++ (atomic_exchange_rel): Define. ++ * sysdeps/powerpc/powerpc32/bits/atomic.h ++ (__arch_compare_and_exchange_bool_32_acq): Remove release sync. ++ (__arch_compare_and_exchange_bool_32_rel): Define. ++ (__arch_compare_and_exchange_bool_64_rel): Define. ++ (__arch_compare_and_exchange_val_64_rel): Define. ++ (__arch_atomic_exchange_64): Remove. ++ (__arch_atomic_exchange_64_acq): Define. ++ (__arch_atomic_exchange_64_rel): Define. ++ * sysdeps/powerpc/powerpc64/bits/atomic.h ++ (__arch_compare_and_exchange_bool_32_rel): Define. ++ (__arch_compare_and_exchange_bool_64_acq): Remove release sync. ++ (__arch_compare_and_exchange_bool_64_rel): Define. ++ (__arch_compare_and_exchange_val_64_acq): Remove release sync. ++ (__arch_compare_and_exchange_val_64_rel): Define. ++ (__arch_atomic_exchange_64): Remove. ++ (__arch_atomic_exchange_64_acq): Define. ++ (__arch_atomic_exchange_64_rel): Define. ++ (__arch_atomic_exchange_and_add_64): Add "memory" to clobber list. ++ (__arch_atomic_decrement_if_positive_64): ++ Add "memory" to clobber list. ++ [!UP](__ARCH_REL_INSTR): Define as lwsync. ++ ++2003-05-11 Andreas Schwab <schwab@suse.de> ++ ++ * io/Makefile ($(objpfx)ftwtest.out): Use absolute file names. ++ ++2003-05-11 Ulrich Drepper <drepper@redhat.com> ++ ++ * time/tst-strftime.c (do_test): Add tests for - flag. ++ ++2003-05-11 Jim Meyering <jim@meyering.net> ++ ++ * time/strftime.c (my_strftime): Let the `-' (no-pad) flag affect ++ the space-padded-by-default conversion specifiers, %e, %k, %l. ++ ++2003-05-11 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/generic/sched_setaffinity.c: Fix parameter name. ++ ++2003-05-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/bits/sched.h: Define cpu_set_t only if not ++ already defined and when really needed. ++ * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. ++ ++2003-05-09 Thorsten Kukuk <kukuk@suse.de> ++ ++ * sysdeps/unix/sysv/linux/netinet/igmp.h: Don't include kernel ++ headers, add defines from kernel header, move it from here... ++ * inet/netinet/igmp.h: ... to here. ++ * inet/Makefile (headers): Add netinet/igmp.h. ++ * sysdeps/unix/sysv/linux/Makefile: Remove netinet/igmp.h. ++ * sysdeps/unix/sysv/linux/Dist: Remove netinet/igmp.h. ++ ++2003-05-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/pthread/lio_listio64.c (lio_listio64): If SIG == NULL, ++ use dummy sigevent structure with SIGEV_NONE [PR libc/5015]. ++ ++2003-05-09 Thorsten Kukuk <kukuk@suse.de> ++ ++ * libio/bits/stdio.h: Sync prototypes with libio/stdio.h ++ (remove __THROW from possible cancellation points). ++ ++2003-05-10 Ulrich Drepper <drepper@redhat.com> ++ ++ * posix/sched.h (CPU_SETSIZE): Define. ++ ++2003-05-09 Ulrich Drepper <drepper@redhat.com> ++ ++ * Makeconfig (gnulib): Remove -lgcc_eh again. ++ ++ * posix/sched.h: Change prototypes of sched_getaffinity and ++ sched_setaffinity. Define CPU_SET, CPU_CLR, CPU_ISSET, and CPU_ZERO. ++ * sysdeps/generic/sched_getaffinity.c: Adjust definition. ++ * sysdeps/generic/sched_setaffinity.c: Likewise. ++ * sysdeps/generic/bits/sched.h: Define __CPU_SETSIZE, __NCPUBITS, ++ __CPUELT, __CPUMASK, cpu_set_t, __cpu_mask, __CPU_ZERO, __CPU_SET, ++ __CPU_CLR, and __CPU_ISSET. ++ * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. ++ * sysdeps/unix/sysv/linux/sched_getaffinity.c: New file. ++ * sysdeps/unix/sysv/linux/sched_setaffinity.c: New file. ++ ++ * include/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange. ++ (atomic_exchange_rel): New #define. ++ * sysdeps/ia64/bits/atomic.h: Likewise. ++ * sysdeps/i386/i486/bits/atomic.h (atomic_exchange_acq): Renamed from ++ atomic_exchange. ++ * sysdeps/m68k/m68020/bits/atomic.h: Likewise. ++ * sysdeps/powerpc/bits/atomic.h: Likewise. ++ * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Likewise. ++ * sysdeps/sparc/sparc64/bits/atomic.h: Likewise. ++ * sysdeps/x86_64/bits/atomic.h: Likewise. ++ * csu/tst-atomic.c: Use atomic_exchange_acq instead of atomic_exchange. ++ ++ * sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c: New file. ++ ++2003-05-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * malloc/thread-m.h: Remove special handling of thread_atfork if ++ HAVE_register_atfork_malloc is defined. ++ ++2003-05-07 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/syscall.S: Add DWARF2 unwind ++ information. ++ ++2003-05-06 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/oldiofdopen.c (_IO_old_fdopen): Use _IO_old_init not _IO_init. ++ * libio/oldiofopen.c (_IO_old_fopen): Likewise. ++ * libio/libioP.h: Declare _IO_old_init. ++ * libio/genops.c (_IO_no_init): Split in two. New function ++ _IO_old_init. ++ ++2003-05-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/enbl-secure.c (__libc_enable_secure_decided): New ++ variable. ++ (__libc_init_secure): Don't do anything if __libc_enable_secure_decided ++ is nonzero. ++ * include/unistd.h: Declare __libc_enable_secure_decided. ++ * elf/dl-support.c (_dl_aux_init): Recognize AT_UID, AT_EUID, AT_GID, ++ and AT_EGID. If all found, set __libc_enable_secure and ++ __libc_enable_secure_decided. ++ ++ * sysdeps/generic/libc-start.c [!SHARED]: Call ++ __libc_check_standard_fds after __libc_init_first. ++ ++2003-05-05 Roland McGrath <roland@redhat.com> ++ ++ * 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. ++ ++2003-05-05 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/ia64/bits/atomic.h (__arch_compare_and_exchange_val_8_acq, ++ __arch_compare_and_exchange_val_16_acq): Cast 0 to mem's type. ++ * sysdeps/powerpc/powerpc32/bits/atomic.h ++ (__arch_compare_and_exchange_val_64_acq): Likewise. ++ * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h ++ (__arch_compare_and_exchange_val_8_acq, ++ __arch_compare_and_exchange_val_16_acq, ++ __arch_compare_and_exchange_val_64_acq): Likewise. ++ * sysdeps/sparc/sparc64/bits/atomic.h ++ (__arch_compare_and_exchange_val_8_acq, ++ __arch_compare_and_exchange_val_16_acq): Likewise. ++ * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_8_acq, ++ __arch_compare_and_exchange_val_16_acq, ++ __arch_compare_and_exchange_val_64_acq): Likewise. ++ * sysdeps/unix/sysv/linux/sh/bits/atomic.h ++ (__arch_compare_and_exchange_val_64_acq): Likewise. ++ * sysdeps/s390/s390-64/backtrace.c (__backtrace): Add cast to shut ++ up warning. ++ * sysdeps/s390/fpu/fegetenv.c (fegetenv): Likewise. ++ ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h ++ (INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0): ++ Return long instead of int. ++ (INTERNAL_SYSCALL_ERROR_P): Cast val to unsigned long, replace ++ 0xfffff001u with -4095UL. ++ ++2003-05-05 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/x86_64/fpu_control.h: New from i386. ++ ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h (__NR_semtimedop): ++ Define if not defined. ++ ++ * sunrpc/Makefile (generated-dirs): New variable. ++ * resolv/Makefile (generated): New variable. ++ ++2003-05-04 Roland McGrath <roland@redhat.com> ++ ++ * csu/Makefile ($(csu-dummies) target rule): Don't use a temp C file. ++ Depend on $(before-compile). ++ ++ * csu/Makefile ($(objpfx)crt%.o): Replace implicit rule with a static ++ pattern rule. The implicit rule could be ruled out when $(objpfx) ++ didn't exist at the time of its consideration (ugh!). ++ ++ * Makerules (+make-deps): Fix target matching. ++ Use $(sed-remove-dotdot). ++ ++2003-05-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/nscd.c (main): Parse config file right after parsing ++ parameters. Then, if get_stats is true, call receive_print_stats. ++ Drop parameter from nscd_init call. ++ (get_stats): New variable. ++ (parse_opt): Set get_stats, don't call receive_print_stats here. ++ * nscd/nscd.h: Declare dbs, stat_user, and stat_uid. Adjust nscd_init ++ prototype. ++ * nscd/connections.c (stat_user, stat_uid): New variables. ++ (dbs): Make global. ++ (nscd_init): Don't read configuration file here. Drop parameter. ++ (handle_request): Cleanup handling of non-database lookup requests. ++ * nscd/nscd_conf.c (nscd_parse_file): Recognize stat-user entry. ++ Get UID of the specified user. Use xstrdup instead of strdup. ++ * nscd/nscd_stat.c (receive_print_stats): Check UID. If not zero, ++ check stat_user. ++ * nscd/Makefile (nscd-modules): Add xstrdup. ++ * nscd/nscd.conf: Document stat-user entry. ++ ++2003-05-03 H.J. Lu <hongjiu.lu@intel.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h (__NR_semtimedop): Define ++ if not defined. ++ ++2003-04-22 Roland McGrath <roland@redhat.com> ++ ++ * elf/elf.h (AT_SYSINFO_EHDR): New macro, replaces AT_SYSINFO_EH_FRAME. ++ * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove ++ dl_sysinfo_eh_frame member, add dl_sysinfo_dso member instead. ++ * elf/dl-support.c: Update defn. ++ * sysdeps/generic/libc-start.c: Don't call __register_frame_info_bases. ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]: ++ Set GL(dl_sysinfo_dso) from AT_SYSINFO_EHDR. ++ (_dl_show_auxv): Grok AT_SYSINFO_EHDR, not AT_SYSINFO_EH_FRAME. ++ * elf/rtld.c (dl_main) [NEED_DL_SYSINFO]: If GL(dl_sysinfo_dso) is ++ set, set up a link_map for the preloaded, prelinked object. ++ ++2003-05-03 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/gnu/Makefile (generated): Append errlist-compat.c here, ... ++ * stdio-common/Makefile: ... not here. ++ ++ * csu/Makefile ($(objpfx)initfini.s): Depend on $(before-compile). ++ * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.c): Likewise. ++ ++2003-05-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/s390/semtimedop.c: New file. ++ ++ * sysdeps/unix/sysv/linux/alpha/ipc_priv.h (IPCOP_semtimedop): Define. ++ ++ * sysdeps/generic/dl-fptr.c (_dl_make_fptr): Use 0 not NULL for ++ comparing ftab elements. ++ (_dl_unmap): Fix typo in test. ++ (_dl_make_fptr): Fix typos introduced in last change. ++ ++ * sysdeps/generic/dl-fptr.c: Put back one optimization from the ++ original patch. Use non-exported symbols. Mark translatable ++ strings. Pretty printing. ++ ++2003-05-02 Roland McGrath <roland@redhat.com> ++ ++ * Makerules (do-stamp): Do $(make-target-directory). ++ ++2003-04-07 H.J. Lu <hjl@gnu.org> ++ ++ * sysdeps/generic/dl-fptr.c: Modify to remove the lock. ++ ++2003-04-03 H.J. Lu <hjl@gnu.org> ++ ++ * sysdeps/ia64/dl-fptr.c: Moved to ... ++ * sysdeps/generic/dl-fptr.c: Here. ++ ++ * sysdeps/generic/dl-fptr.h: New. ++ * sysdeps/ia64/dl-fptr.h: New. ++ ++ * sysdeps/ia64/dl-symaddr.c: Moved to ... ++ * sysdeps/generic/dl-symaddr.c: here. ++ ++ * sysdeps/ia64/dl-machine.h: Include <dl-fptr.h>. ++ (IA64_BOOT_FPTR_TABLE_LEN): Removed. ++ (ia64_fdesc): Likewise. ++ (ia64_fdesc_table): Likewise. ++ (__ia64_make_fptr): Likewise. ++ (__ia64_init_bootstrap_fdesc_table): Replace __ia64_boot_fptr_table ++ with _dl_boot_fptr_table. ++ (elf_machine_runtime_setup): Replace `struct ia64_fdesc' with ++ `struct fdesc'. ++ (elf_machine_rela): Replace __ia64_make_fptr with _dl_make_fptr. ++ ++2003-05-01 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/generic/bp-thunks.h: Protect includes with [!__ASSEMBLER__]. ++ * sysdeps/unix/sysv/linux/i386/bp-thunks.h: Likewise. ++ ++ * sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h): ++ Use $(make-target-directory). ++ * sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Likewise. ++ ++ * 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. ++ ++ * sysdeps/unix/Makefile ($(common-objpfx)s-%.d): Remove compat.h hack. ++ Do s-*.d includes only if we have some syscall routines in this subdir. ++ ++ * include/libc-symbols.h (libc_freeres_ptr): Use %nobits instead of ++ @nobits. The former is accepted by gas on any ELF platform. ++ ++2003-05-01 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/semtimedop.c: New file. ++ ++ * malloc/malloc.c (mSTATs): Call ptmalloc_init if necessary. ++ ++2003-04-29 Andreas Schwab <schwab@suse.de> ++ ++ * string/test-strcat.c (do_one_test): Fix attribute name. ++ ++2003-04-30 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (ucontext): Make ++ uc_flags long for all ABIs. ++ ++2003-04-30 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h ++ (DR_CONTROL_RESERVED): Use correct value for 64-bit. ++ Reported by Andrew Derrick Balsa <andrebalsa@mailingaddress.org>. ++ Add bi-arch support. ++ ++2003-04-30 Ulrich Drepper <drepper@redhat.com> ++ ++ * malloc/malloc.c (mEMALIGn): Define alias __memalign_internal. ++ (__posix_memalign): Use __memalign_internal instead of memalign. ++ ++2003-04-29 Roland McGrath <roland@redhat.com> ++ ++ * configure.in: Search for AUTOCONF unconditionally. ++ Just don't complain about missing it under --without-cvs. ++ ++ * 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-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Use __ protected ++ variants of socket, bind, recvmsg, and sendto. ++ ++ * sysdeps/i386/fpu/ftestexcept.c: Also check SSE status word. ++ ++ * include/signal.h: Use libc_hidden_proto for sigaddset and sigdelset. ++ * signal/sigaddset.c: Add libc_hidden_def. ++ * signal/sigdelset.c: Likewise. ++ ++2003-04-29 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/i486/string-inlines.c (__memcpy_g, __strchr_g): Move ++ to the end of the file. ++ ++ * configure.in: Change __oline__ to $LINENO. ++ (HAVE_BUILTIN_REDIRECTION): New check. ++ * config.h.in (HAVE_BUILTIN_REDIRECTION): Add. ++ * include/libc-symbols.h (libc_hidden_builtin_proto, ++ libc_hidden_builtin_def, libc_hidden_builtin_weak, ++ libc_hidden_builtin_ver): Define. ++ * include/string.h (memchr, memcpy, memmove, memset, strcat, strchr, ++ strcmp, strcpy, strcspn, strlen, strncmp, strncpy, strpbrk, strrchr, ++ strspn, strstr): Add libc_hidden_builtin_proto. ++ * intl/plural.y: Include string.h. ++ * sysdeps/alpha/alphaev6/memchr.S (memchr): Add ++ libc_hidden_builtin_def. ++ * sysdeps/alpha/alphaev6/memcpy.S (memcpy): Likewise. ++ * sysdeps/alpha/alphaev6/memset.S (memset): Likewise. ++ * sysdeps/alpha/alphaev67/strcat.S (strcat): Likewise. ++ * sysdeps/alpha/alphaev67/strchr.S (strchr): Likewise. ++ * sysdeps/alpha/alphaev67/strlen.S (strlen): Likewise. ++ * sysdeps/alpha/alphaev67/strrchr.S (strrchr): Likewise. ++ * sysdeps/alpha/memchr.S (memchr): Likewise. ++ * sysdeps/alpha/memset.S (memset): Likewise. ++ * sysdeps/alpha/strcat.S (strcat): Likewise. ++ * sysdeps/alpha/strchr.S (strchr): Likewise. ++ * sysdeps/alpha/strcmp.S (strcmp): Likewise. ++ * sysdeps/alpha/strcpy.S (strcpy): Likewise. ++ * sysdeps/alpha/strlen.S (strlen): Likewise. ++ * sysdeps/alpha/strncmp.S (strncmp): Likewise. ++ * sysdeps/alpha/strncpy.S (strncpy): Likewise. ++ * sysdeps/alpha/strrchr.S (strrchr): Likewise. ++ * sysdeps/arm/memset.S (memset): Likewise. ++ * sysdeps/arm/strlen.S (strlen): Likewise. ++ * sysdeps/generic/memchr.c (memchr): Likewise. ++ * sysdeps/generic/memcpy.c (memcpy): Likewise. ++ * sysdeps/generic/memmove.c (memmove): Likewise. ++ * sysdeps/generic/memset.c (memset): Likewise. ++ * sysdeps/generic/strcat.c (strcat): Likewise. ++ * sysdeps/generic/strchr.c (strchr): Likewise. ++ * sysdeps/generic/strcmp.c (strcmp): Likewise. ++ * sysdeps/generic/strcpy.c (strcpy): Likewise. ++ * sysdeps/generic/strcspn.c (strcspn): Likewise. ++ * sysdeps/generic/strlen.c (strlen): Likewise. ++ * sysdeps/generic/strncmp.c (strncmp): Likewise. ++ * sysdeps/generic/strncpy.c (strncpy): Likewise. ++ * sysdeps/generic/strpbrk.c (strpbrk): Likewise. ++ * sysdeps/generic/strrchr.c (strrchr): Likewise. ++ * sysdeps/generic/strspn.c (strspn): Likewise. ++ * sysdeps/generic/strstr.c (strstr): Likewise. ++ * sysdeps/i386/i486/strcat.S (strcat): Likewise. ++ * sysdeps/i386/i486/strlen.S (strlen): Likewise. ++ * sysdeps/i386/i586/memcpy.S (memcpy): Likewise. ++ * sysdeps/i386/i586/memset.S (memset): Likewise. ++ * sysdeps/i386/i586/strchr.S (strchr): Likewise. ++ * sysdeps/i386/i586/strcpy.S (strcpy): Likewise. ++ * sysdeps/i386/i586/strlen.S (strlen): Likewise. ++ * sysdeps/i386/i686/memcpy.S (memcpy): Likewise. ++ * sysdeps/i386/i686/memmove.S (memmove): Likewise. ++ * sysdeps/i386/i686/memset.S (memset): Likewise. ++ * sysdeps/i386/i686/strcmp.S (strcmp): Likewise. ++ * sysdeps/i386/memchr.S (memchr): Likewise. ++ * sysdeps/i386/memset.c (memset): Likewise. ++ * sysdeps/i386/strchr.S (strchr): Likewise. ++ * sysdeps/i386/strcspn.S (strcspn): Likewise. ++ * sysdeps/i386/strlen.c (strlen): Likewise. ++ * sysdeps/i386/strpbrk.S (strpbrk): Likewise. ++ * sysdeps/i386/strrchr.S (strrchr): Likewise. ++ * sysdeps/i386/strspn.S (strspn): Likewise. ++ * sysdeps/ia64/memchr.S (memchr): Likewise. ++ * sysdeps/ia64/memcpy.S (memcpy): Likewise. ++ * sysdeps/ia64/memmove.S (memmove): Likewise. ++ * sysdeps/ia64/memset.S (memset): Likewise. ++ * sysdeps/ia64/strcat.S (strcat): Likewise. ++ * sysdeps/ia64/strchr.S (strchr): Likewise. ++ * sysdeps/ia64/strcmp.S (strcmp): Likewise. ++ * sysdeps/ia64/strcpy.S (strcpy): Likewise. ++ * sysdeps/ia64/strlen.S (strlen): Likewise. ++ * sysdeps/ia64/strncmp.S (strncmp): Likewise. ++ * sysdeps/ia64/strncpy.S (strncpy): Likewise. ++ * sysdeps/m68k/memchr.S (memchr): Likewise. ++ * sysdeps/m68k/strchr.S (strchr): Likewise. ++ * sysdeps/mips/mips64/memcpy.S (memcpy): Likewise. ++ * sysdeps/mips/mips64/memset.S (memset): Likewise. ++ * sysdeps/mips/memcpy.S (memcpy): Likewise. ++ * sysdeps/mips/memset.S (memset): Likewise. ++ * sysdeps/powerpc/powerpc32/memset.S (memset): Likewise. ++ * sysdeps/powerpc/powerpc32/strchr.S (strchr): Likewise. ++ * sysdeps/powerpc/powerpc32/strcmp.S (strcmp): Likewise. ++ * sysdeps/powerpc/powerpc32/strcpy.S (strcpy): Likewise. ++ * sysdeps/powerpc/powerpc32/strlen.S (strlen): Likewise. ++ * sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise. ++ * sysdeps/powerpc/powerpc64/memset.S (memset): Likewise. ++ * sysdeps/powerpc/powerpc64/strchr.S (strchr): Likewise. ++ * sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Likewise. ++ * sysdeps/powerpc/powerpc64/strcpy.S (strcpy): Likewise. ++ * sysdeps/powerpc/powerpc64/strlen.S (strlen): Likewise. ++ * sysdeps/powerpc/strcat.c (strcat): Likewise. ++ * sysdeps/sparc/sparc32/memchr.S (memchr): Likewise. ++ * sysdeps/sparc/sparc32/memcpy.S (memcpy): Likewise. ++ * sysdeps/sparc/sparc32/memset.S (memset): Likewise. ++ * sysdeps/sparc/sparc32/strcat.S (strcat): Likewise. ++ * sysdeps/sparc/sparc32/strchr.S (strchr, strrchr): Likewise. ++ * sysdeps/sparc/sparc32/strcmp.S (strcmp): Likewise. ++ * sysdeps/sparc/sparc32/strcpy.S (strcpy): Likewise. ++ * sysdeps/sparc/sparc32/strlen.S (strlen): Likewise. ++ * sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy, memmove): Likewise. ++ * sysdeps/sparc/sparc64/memchr.S (memchr): Likewise. ++ * sysdeps/sparc/sparc64/memcpy.S (memcpy, memmove): Likewise. ++ * sysdeps/sparc/sparc64/memset.S (memset): Likewise. ++ * sysdeps/sparc/sparc64/strcat.S (strcat): Likewise. ++ * sysdeps/sparc/sparc64/strchr.S (strchr, strrchr): Likewise. ++ * sysdeps/sparc/sparc64/strcmp.S (strcmp): Likewise. ++ * sysdeps/sparc/sparc64/strcpy.S (strcpy): Likewise. ++ * sysdeps/sparc/sparc64/strcspn.S (strcspn): Likewise. ++ * sysdeps/sparc/sparc64/strlen.S (strlen): Likewise. ++ * sysdeps/sparc/sparc64/strncmp.S (strncmp): Likewise. ++ * sysdeps/sparc/sparc64/strncpy.S (strncpy): Likewise. ++ * sysdeps/sparc/sparc64/strpbrk.S (strpbrk): Likewise. ++ * sysdeps/sparc/sparc64/strspn.S (strspn): Likewise. ++ * sysdeps/sh/memcpy.S (memcpy): Likewise. ++ * sysdeps/sh/memset.S (memset): Likewise. ++ * sysdeps/sh/strlen.S (strlen): Likewise. ++ * sysdeps/s390/s390-32/memchr.S (memchr): Likewise. ++ * sysdeps/s390/s390-32/memcpy.S (memcpy): Likewise. ++ * sysdeps/s390/s390-32/memset.S (memset): Likewise. ++ * sysdeps/s390/s390-32/strcmp.S (strcmp): Likewise. ++ * sysdeps/s390/s390-32/strcpy.S (strcpy): Likewise. ++ * sysdeps/s390/s390-32/strncpy.S (strncpy): Likewise. ++ * sysdeps/s390/s390-64/memchr.S (memchr): Likewise. ++ * sysdeps/s390/s390-64/memcpy.S (memcpy): Likewise. ++ * sysdeps/s390/s390-64/memset.S (memset): Likewise. ++ * sysdeps/s390/s390-64/strcmp.S (strcmp): Likewise. ++ * sysdeps/s390/s390-64/strcpy.S (strcpy): Likewise. ++ * sysdeps/s390/s390-64/strncpy.S (strncpy): Likewise. ++ * sysdeps/x86_64/memcpy.S (memcpy): Likewise. ++ * sysdeps/x86_64/memset.S (memset): Likewise. ++ * sysdeps/x86_64/strcat.S (strcat): Likewise. ++ * sysdeps/x86_64/strchr.S (strchr): Likewise. ++ * sysdeps/x86_64/strcmp.S (strcmp): Likewise. ++ * sysdeps/x86_64/strcpy.S (strcpy): Likewise. ++ * sysdeps/x86_64/strcspn.S (strcspn): Likewise. ++ * sysdeps/x86_64/strlen.S (strlen): Likewise. ++ * sysdeps/x86_64/strspn.S (strspn): Likewise. ++ * string/string-inlines.c: Move... ++ * sysdeps/generic/string-inlines.c: ...here. ++ (__memcpy_g, __strchr_g): Remove. ++ (__NO_INLINE__): Define before including <string.h>, ++ undefine after. Include bits/string.h and bits/string2.h. ++ * sysdeps/i386/i486/string-inlines.c: New file. ++ * sysdeps/i386/string-inlines.c: New file. ++ * sysdeps/i386/i486/Versions: Remove. ++ All GLIBC_2.1.1 symbols moved... ++ * sysdeps/i386/Versions (libc): ...here. ++ ++2003-04-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/i386/fpu/Makefile: New file. ++ * sysdeps/i386/fpu/fedisblxcpt.c: Also set SSE control word. ++ * sysdeps/i386/fpu/feenablxcpt.c: Likewise. ++ * sysdeps/i386/fpu/feholdexcpt.c: Likewise. ++ * sysdeps/i386/fpu/fesetround.c: Also set SSE rounding mode ++ [PR libc/4987]. ++ ++2003-04-28 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/nscd_getgr_r.c: Compact code a bit. Add some __builtin_expect. ++ * nscd/nscd_getpw_r.c: Likewise. ++ * nscd/nscd_gethst_r.c: Likewise. ++ ++2003-04-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/pwdcache.c: Initialize .version element in result. ++ * nscd/grpcache.c: Likewise. ++ * nscd/pwdcache.c: Likewise. ++ ++2003-04-27 Andreas Schwab <schwab@suse.de> ++ ++ * Makeconfig ($(common-objpfx)sysd-sorted): Fix for running in ++ subdirectory. ++ ++2003-04-27 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/unix/sysv/linux/m68k/semtimedop.S: New file. ++ ++2003-04-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/connections.c (client_queued): New variable. ++ (nscd_run): Revamp the loop. Don't call poll except for cleanup ++ threads. Keep track of the number of delays caused because of busy ++ worker threads. ++ * nscd/nscd.h: Declare client_queued. ++ * nscd/nscd_stat.c: Transmit and print client_queued information. ++ ++ * locale/programs/locale.c (show_info): Use '\177' instead of CHAR_MAX. ++ ++ * Makerules ($(common-objpfx)shlib.lds): Don't use PROVIDE to ++ define __start_libc_freeres_ptrs and __stop___libc_freeres_ptrs. ++ ++2003-04-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/dl-close.c [USE_TLS && TLS_TCB_AT_TP] (_dl_close): Reimplement ++ tracking of freed memory in static TLS block. ++ * elf/Makefile: Add rules to build and run tst-tls13. ++ * elf/tst-tls13.c: New file. ++ * elf/tst-tlsmod13.c: New file. ++ * elf/tst-tlsmod13a.c: New file. ++ ++ * elf/tst-tls8.c: Adjust types of variables to avoid warnings. ++ ++ * elf/dl-reloc.c: Pretty printing. ++ ++2003-04-26 Roland McGrath <roland@redhat.com> ++ ++ * Makerules ($(common-objpfx)shlib.lds): New target. ++ (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. ++ (LDSEDCMD-c.so): Variable removed. ++ * iconvdata/extra-module.mk ($(objpfx)$(mod).so): ++ Depend on $(common-objpfx)shlib.lds. ++ * dlfcn/Makefile ($(test-modules)): Likewise. ++ ++2003-04-26 Roland McGrath <roland@frob.com> ++ ++ * sysdeps/mach/hurd/tmpfile.c: Remove USE_IN_LIBIO conditionals. ++ ++2003-04-26 Andreas Schwab <schwab@suse.de> ++ ++ * elf/dl-close.c (remove_slotinfo): Fix missing parens. ++ ++2003-04-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/cache.c (cache_search): Keep track of how many chain links ++ we searched and update table statistics. ++ (cache_add): Keep track of how many values are in the table. ++ (prune_cache): Likewise. Keep track of locking success. ++ Print messages about removed entries in separate pass. ++ * nscd/connections.c (handle_request): Don't print debug message here. ++ The caller will do it. Keep track of locking success. ++ (nscd_run): Print debug message. Also print PID of the client process. ++ * nscd/nscd.c (start_time): New variable. ++ (main): Remember start time. ++ * nscd/nscd.h: Declare start_time. ++ (struct database): Add more members for new statistics. ++ * nscd/nscd_stat.c: Add support for sending, receiving, and printing ++ of new statistics. ++ ++ * sysdeps/posix/getaddrinfo.c: Include <stdbool.h>. ++ ++2003-04-22 Jakub Jelinek <jakub@redhat.com> ++ ++ * include/link.h (NO_TLS_OFFSET): Define to 0 if not defined. ++ * elf/dl-close.c (_dl_close): Use NO_TLS_OFFSET. ++ * elf/dl-object.c (_dl_new_object): Initialize l_tls_offset to ++ NO_TLS_OFFSET. ++ * elf/rtld.c (_dl_start_final, _dl_start): Likewise. ++ * elf/dl-reloc.c (CHECK_STATIC_TLS): Use NO_TLS_OFFSET. ++ * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Likewise. ++ * sysdeps/powerpc/dl-tls.h (TLS_TPREL_VALUE): Don't subtract ++ TLS_TCB_SIZE. ++ ++2003-04-24 Ulrich Drepper <drepper@redhat.com> ++ ++ * nss/getent.c: Implement alternative host database lookup via ++ getaddrinfo. ++ ++ * include/ifaddrs.h: New file. ++ * include/netdb.h: Move definitions of AI_V4MAPPED, AI_ALL, and ++ AI_ADDRCONFIG... ++ * resolv/netdb.h: ...here. ++ * sysdeps/gnu/ifaddrs.c. Use libc_hidden_def where appropriate. ++ * sysdeps/unix/sysv/linux/ifaddrs.c: Likewise. ++ * sysdeps/posix/getaddrinfo.c: Implement AI_V4MAPPED, AI_ALL, and ++ AI_ADDRCONFIG. ++ ++2003-04-24 Roland McGrath <roland@redhat.com> ++ ++ * elf/dl-reloc.c (_dl_allocate_static_tls): Add internal_function. ++ ++2003-04-24 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/dl-reloc.c (allocate_static_tls): Rename to... ++ (_dl_allocate_static_tls): ... this function. No longer static. ++ (CHECK_STATIC_TLS): Adjust. ++ * sysdeps/generic/ldsodefs.h (_dl_allocate_static_tls): New prototype. ++ * sysdeps/powerpc/powerpc32/dl-machine.h (__process_machine_rela): ++ Add SYM_MAP argument. ++ (elf_machine_rela): Adjust caller. Declare SYM_MAP unconditionally. ++ Check if SYM_MAP != NULL for R_PPC_DTPREL32. Only handle 32-bit ++ TLS relocs here. #ifdef out relocs which never appear in ++ .gnu.conflict section from dl-conflict.c processing. ++ * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): ++ Add SYM_MAP argument. Handle 16-bit TLS relocs here. ++ ++ * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): #ifdef ++ out relocs which never appear in .gnu.conflict section from ++ dl-conflict.c processing. ++ * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise. ++ * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. ++ * sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise. ++ Use r_type in RESOLVE macro. ++ ++2003-04-23 Ulrich Drepper <drepper@redhat.com> ++ ++ * nis/ypclnt.c (__yp_bind): Expect YPDB parameter to always be != ++ NULL. Remove code made redundant by this assumption. ++ (__yp_unbind): Add call to free. Adjust all callers. ++ ++ * nis/ypclnt.c (yp_all): Free the dom_binding object after ++ unbinding it. ++ ++ * grp/initgroups.c (getgrouplist): Don't copy too much into the ++ user buffer if more groups are found than fit into it. ++ ++ * nis/nss_nis/nis-initgroups.c (_nss_nis_initgroups_dyn): Use ++ extend_alloca. ++ ++2003-04-23 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Check for rc == ERANGE, ++ not rc == errno. Use extend_alloca. ++ ++ * elf/tst-tls12.c (main): Fix declaration. ++ * elf/tst-tls10.c (dummy): Make hidden instead of static. ++ * elf/tst-tlsmod7.c (dummy): Likewise. ++ * elf/tst-tlsmod8.c (dummy): Likewise. ++ * elf/tst-tlsmod9.c (dummy): Likewise. ++ ++2003-04-22 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/not-cancel.h: Put parens around macro args. ++ (open_not_cancel): Make last argument non-optional. ++ * sysdeps/generic/check_fds.c (check_one_fd): Update caller. ++ * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise. ++ * iconv/gconv_cache.c (__gconv_load_cache): Likewise. ++ ++ * include/tls.h: Protect against multiple inclusion. ++ ++2003-04-22 Ulrich Drepper <drepper@redhat.com> ++ ++ * nscd/nscd-client.h: Add declaration for __nscd_open_socket. ++ * nscd/nscd_gethst_r.c (__nscd_open_socket): Renamed from ++ open_socket. Not static anymore. ++ (nscd_gethst_r): Use __nscd_open_socket. ++ * nscd/nscd_getgr_r.c (open_socket): Removed. ++ (nscd_getgr_r): Use __nscd_open_socket. ++ * nscd/nscd_getpw_r.c (open_socket): Removed. ++ (nscd_getpw_r): Use __nscd_open_socket. ++ ++ * nscd/nscd.c (main): Change type of fdn to long int and use strtol. ++ * nscd/connections.c (handle_request): Add cast to avoid warning. ++ ++2003-04-21 Ulrich Drepper <drepper@redhat.com> ++ ++ * signal/sigfillset.c: Moved to... ++ * sysdeps/generic/sigfillset.c: ...here. If SIGCANCEL is defined ++ do not set the corresponding bit. ++ ++ * sysdeps/unix/sysv/linux/sigprocmask.c: Prevent changing mask for ++ SIGCANCEL. ++ * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Define SI_TKILL. ++ * sysdeps/unix/sysv/linux/bits/siginfo.h: Define SI_TKILL. ++ * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Define SI_TKILL. ++ * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Define SI_TKILL. ++ * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Define SI_TKILL. ++ ++2003-04-20 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/not-cancel.h (open_not_cancel): Cast ++ first syscall parameter to const char*. ++ ++2003-04-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * intl/Makefile ($(objpfx)msgs.h): Use C locale for sed run. ++ ++ * configure.in: Add AC_PROG_CXX. ++ * config.make.in (CXX): Define. ++ ++ * sysdeps/i386/i686/hp-timing.h (HP_TIMING_PRINT): Change type of ++ __len to size_t to avoid warnings. ++ ++2003-04-18 Jes Sorensen <jes@wildopensource.com> ++ ++ * libc/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Sync with Linux ++ 2.5.67. ++ * libc/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise. ++ ++2003-04-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdlib/cxa_finalize.c (__cxa_finalize): Don't call ++ UNREGISTER_ATFORK if d == NULL. ++ ++ * catgets/nl_types.h: Remove __THROW marker from cancellation points. ++ * dirent/dirent.h: Likewise. ++ * dlfcn/dlfcn.h: Likewise. ++ * grp/grp.h: Likewise. ++ * iconv/iconv.h: Likewise. ++ * io/fcntl.h: Likewise. ++ * io/ftw.h: Likewise. ++ * libio/stdio.h: Likewise. ++ * misc/sys/mman.h: Likewise. ++ * misc/sys/select.h: Likewise. ++ * misc/sys/syslog.h: Likewise. ++ * misc/sys/uio.h: Likewise. ++ * posix/spawn.h: Likewise. ++ * posix/unistd.h: Likewise. ++ * posix/sys/wait.h: Likewise. ++ * pwd/pwd.h: Likewise. ++ * resolv/netdb.h: Likewise. ++ * rt/aio.h: Likewise. ++ * shadow/shadow.h: Likewise. ++ * signal/signal.h: Likewise. ++ * socket/sys/socket.h: Likewise. ++ * stdlib/stdlib.h: Likewise. ++ * streams/stropts.h: Likewise. ++ * string/string.h: Likewise. ++ * sysdeps/gnu/utmpx.h: Likewise. ++ * sysvipc/sys/msg.h: Likewise. ++ * termios/termios.h: Likewise. ++ * time/time.h: Likewise. ++ * wcsmbs/wchar.h: Likewise. ++ * iconv/gconv_cache.c: Include <not-cancel.h> and use non-cancelable ++ functions. ++ * misc/daemon.c: Likewise. ++ * sysdeps/generic/backtracesymsfd.c: Likewise. ++ * sysdeps/generic/check_fds.c: Likewise. ++ * sysdeps/unix/sysv/linux/gethostid.c: Likewise. ++ * sysdeps/unix/sysv/linux/not-cancel.h: New file. ++ * sysdeps/generic/not-cancel.h: New file. ++ * csu/Makefile (distribute): Add not-cancel.h. ++ * sysdeps/unix/sysv/linux/fatal-prepare.h: New file. ++ * sysdeps/unix/sysv/linux/Makefile: Define FATAL_PREPARE_INCLUDE ++ for assert.c and assert-perr.c to include <fatal-prepare.h>. ++ * sysdeps/unix/sysv/linux/Dist: Add fatal-prepare.h. ++ ++ * sysdeps/posix/remove.c (remove): Rewrite. No need to restore ++ errno and unlink first. ++ ++ * io/ftw.c (ftw_dir): In all places assume fchdir is available. ++ ++2003-04-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Use ++ INTERNAL_SYSCALL instead of INLINE_SYSCALL. ++ ++2003-04-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/Makefile: Remove db2 directory handling. ++ ++ * malloc/Makefile (CFLAGS-malloc.c): Define DEFAULT_TOP_PAD to 128k. ++ * sysdeps/unix/sysv/linux/Makefile (CFLAGS-malloc.c): Add to, not ++ replace. ++ ++ * signal/Makefile (tests): Add tst-sigsimple. ++ * signal/tst-sigsimple.c: New file. ++ ++2003-04-16 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/Makefile (distribute): Add tst-tlsmod{[7-9],1[0-2]}.c and ++ tst-tls10.h. ++ (tests): Add tst-tls1[0-2]. ++ (modules-names): Add tst-tlsmod{[7-8],1[0-2]}. ++ ($(objpfx)tst-tlsmod8.so): Depend on tst-tlsmod7.so. ++ ($(objpfx)tst-tlsmod10.so): Depend on tst-tlsmod9.so. ++ ($(objpfx)tst-tlsmod12.so): Depend on tst-tlsmod11.so. ++ ($(objpfx)tst-tls10): Depend on tst-tlsmod8.so. ++ ($(objpfx)tst-tls11): Depend on tst-tlsmod10.so. ++ ($(objpfx)tst-tls12): Depend on tst-tlsmod12.so. ++ * elf/tst-tls10.c: New test. ++ * elf/tst-tls11.c: New test. ++ * elf/tst-tls12.c: New test. ++ * elf/tst-tls10.h: New file. ++ * elf/tst-tlsmod7.c: New file. ++ * elf/tst-tlsmod8.c: New file. ++ * elf/tst-tlsmod9.c: New file. ++ * elf/tst-tlsmod10.c: New file. ++ * elf/tst-tlsmod11.c: New file. ++ * elf/tst-tlsmod12.c: New file. ++ ++2003-04-15 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/bits/atomic.h: Moved ppc32/64 specific code to ... ++ * sysdeps/powerpc/powerpc32/bits/atomic.h: New file. ++ * sysdeps/powerpc/powerpc64/bits/atomic.h: New file. ++ ++2003-04-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * posix/regex.h: Include <sys/types.h>. ++ ++ * signal/sigrelse.c (sigrelse): Use sigdelset and not __sigdelset. ++ The signal number must be checked. ++ * signal/sighold.c (sighold): Use sigaddset and not __sigaddset. ++ The signal number must be checked [PR libc/5004]. ++ ++ * sysdeps/unix/sysv/linux/system.c: If compiled without threads ++ don't do anything fancy. ++ ++ * sysdeps/generic/bits/libc-lock.h: Define ++ __rtld_lock_define_initialized_recursive. ++ ++ * nss/getXXbyYY_r.c [USE_NSCD] (REENTRANT_NAME): Only retry ++ contacting nscd if NOT_USENSCD_NAME > 0. ++ * nss/nsswitch.c (__nss_disable_nscd): New function. ++ * nss/nsswitch.h: Declare it. ++ * nss/Versions [GLIBC_PRIVATE]: Export __nss_disable_nscd. ++ * nscd/nscd.c (main): Call __nss_disable_nscd. ++ ++2003-04-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdio-common/perror.c (perror): We don't need to set the offset ++ to _IO_pos_bad, this is how streams are initialized. ++ ++ * locale/programs/ld-time.c (TESTARR_ELEM): Make i unsigned. ++ (time_output): If necessary, allocate new buffer for .name string if ++ padding is required. ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Check lengths ++ before copying. This might leave holes in the list. Adjust ++ pointers if necessary. ++ (netlink_receive): Allocate only one block. ++ (free_netlink_handle): Adjust appropriately. ++ (getifaddrs): Lots of cleanups. ++ ++ * string/test-strncpy.c (do_one_test): Mark start and stop as ++ possibly unused. ++ * string/test-memchr.c: Likewise. ++ * string/test-memcmp.c: Likewise. ++ * string/test-memcpy.c: Likewise. ++ * string/test-memmove.c: Likewise. ++ * string/test-memset.c: Likewise. ++ * string/test-strcat.c: Likewise. ++ * string/test-strchr.c: Likewise. ++ * string/test-strcmp.c: Likewise. ++ * string/test-strcpy.c: Likewise. ++ * string/test-strlen.c: Likewise. ++ * string/test-strncmp.c: Likewise. ++ * string/test-strpbrk.c: Likewise. ++ * string/test-strrchr.c: Likewise. ++ * string/test-strspn.c: Likewise. ++ ++2003-04-15 Roland McGrath <roland@redhat.com> ++ ++ * libio/fileops.c (_IO_file_close_it): Macro tweak to avoid warning. ++ ++ * sysdeps/generic/libc-start.c [NEED_DL_SYSINFO]: Add decl for ++ INTUSE(__register_frame_info_bases). ++ ++2003-04-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/elf.h: Define AT_SYSINFO_EH_FRAME. ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle ++ AT_SYSINFO_EH_FRAME. Adjust string width. ++ (_dl_show_auxv):Display AT_SYSINFO_EH_FRAME value. ++ * sysdeps/generic/ldsodefs.h [NEED_DL_SYSINFO] (struct rtld_global): ++ Add _dl_sysinfo_eh_frame field. ++ * elf/dl-support.c [NEED_DL_SYSINFO]: Define _dl_sysinfo_eh_frame. ++ * sysdeps/generic/libc-start.c [NEED_DL_SYSINFO] Define eh_obj ++ variable. ++ [NEED_DL_SYSINFO] (LIBC_START_MAIN): Call __register_frame_info_bases ++ if _dl_sysinfo_eh_frame is non-NULL. ++ ++ * Makeconfig (gnulib): Add -lgcc_eh. ++ ++ * config.h.in: Define HAVE_FORCED_UNWIND. ++ ++2003-04-15 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/strcmp.S: Convert to full 64-bit. ++ * sysdeps/powerpc/powerpc64/strcpy.S: Likewise. ++ ++2003-04-15 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Avoid ++ checking R_PPC_RELATIVE, R_PPC_NONE and whether relocation is ++ against local symbol in conflict processing. ++ ++2003-04-15 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/bits/atomic.h ++ [__powerpc64] (__arch_compare_and_exchange_val_64_acq): Define. ++ [! __powerpc64] (__arch_compare_and_exchange_val_64_acq): Defined ++ as abort stub. ++ (__arch_compare_and_exchange_val_32_acq): Define. ++ (atomic_compare_and_exchange_val_acq): Define. ++ ++2003-04-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/atomic.h: Pretty printing. ++ ++2003-04-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdio-common/vfscanf.c: Add casts to avoid warnings. ++ ++2003-04-14 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/i386/i486/bits/atomic.h: Rename LOCK to LOCK_PREFIX. ++ * sysdeps/x86_64/bits/atomic.h: Likewise. ++ ++2003-04-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Change PUSHARGS_1 and ++ POPARGS_1 to emit labels for the mov instructions. ++ ++2003-04-14 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (ret_NOERRNO): Define. ++ ++2003-04-14 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/generic/unwind-dw2.c (_Unwind_GetCFA): Add a cast to silence ++ compiler warning. ++ ++ * sysdeps/generic/unwind-pe.h: Fix decl hacks broken in merge. ++ ++2003-04-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * string/strxfrm.c (STRXFRM): Terminate rulearr at correct ++ position. Reported by jreiser@BitWagon.com. ++ ++2003-04-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/unwind-dw2-fde.c: Update from recent gcc version. ++ * sysdeps/generic/unwind-dw2-fde.h: Likewise. ++ * sysdeps/generic/unwind-dw2.c: Likewise. ++ * sysdeps/generic/unwind-pe.h: Likewise. ++ ++2003-04-13 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/mips/profil-counter: New. ++ * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Port to n32/n64. ++ * sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: New. ++ * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Port to n32/n64. ++ (mcontext_t): Make it match the 32-bit mips kernel in o32. ++ * sysdeps/unix/sysv/linux/mips/sys/user.h: Bring in constants from ++ the mips and mips64 headers. ++ (struct user): Port to n32/n64. ++ ++2003-04-12 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add cast to ++ avoid warning. ++ ++ * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): If ++ __ASSUME_VSYSCALL is defined don't add restorer. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_VSYSCALL for 2.5.53. ++ ++2003-04-11 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/libc-start.c: Cleanup MAIN_AUXVEC_ARG handling. ++ Remove HAVE_CANCELBUF code. Replace with code using the new ++ initializers for unwind-based cleanup handling. ++ * sysdeps/generic/unwind.h: Update from latest gcc version. ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Define labels in a few ++ places to allow unwind data generation. ++ * sysdeps/i386/bits/setjmp.h: Allow file to be included multiple times. ++ * sysdeps/x86_64/bits/setjmp.h: Likewise. ++ * sysdeps/sh/bits/setjmp.h: Likewise. ++ * sysdeps/powerpc/bits/setjmp.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise. ++ * sysdeps/alpha/bits/setjmp.h: Likewise. ++ ++2003-04-11 Roland McGrath <roland@redhat.com> ++ ++ * csu/tst-empty.c: New file. ++ * csu/Makefile (tests, tests-static): Add it. ++ ++2003-04-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * string/test-strcmp.c (do_random_tests): Test whether return value ++ has been promoted to wordsize if the ABI requires caller to do so. ++ * string/test-strncmp.c (do_random_tests): Likewise. ++ * string/test-memcmp.c (do_random_tests): Likewise. ++ ++ * sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Sign extend rRTN ++ before returning. ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c ++ (__fe_nomask_env): Try prctl even if __ASSUME_NEW_PRCTL_SYSCALL ++ is not defined, but the prctl constants are. ++ ++ * string/tester.c (test_strcmp): Fix a typo. ++ ++2003-04-09 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/alpha/fpu/bits/mathdef.h: Remove FLT_EVAL_METHOD definition. ++ * sysdeps/powerpc/fpu/bits/mathdef.h: Likewise. ++ ++2003-04-08 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/sys/regdef.h (t4,t5,t6,t7): Renamed to t0..t3 on ++ NewABI. ++ (ta0, ta1, ta2, ta3): Defined to t4..t7 on o32, and a4..a7 on ++ NewABI. ++ * sysdeps/mips/mips64/memcpy.S: Adjust register naming ++ conventions. ++ * sysdeps/mips/mips64/memset.S: Likewise. ++ * sysdeps/unix/mips/sysdep.S (__syscall_error) [_LIBC_REENTRANT]: ++ Use t0 instead of t4 as temporary. ++ ++2003-04-07 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/ldconfig.c (parse_conf): Ignore leading whitespace. Use ++ feof_unlocked instead of feof. ++ (add_dir): Ignore trailing whitespace. ++ ++2003-04-07 Jakub Jelinek <jakub@redhat.com> ++ ++ * posix/bug-regex4.c (main): Cap RANGE and STOP arguments to ++ sum of SIZE1 and SIZE2 arguments. ++ ++2003-04-06 Ulrich Drepper <drepper@redhat.com> ++ ++ * iconv/iconv_prog.c (process_block): Don't print message about ++ invalid input if the -c option is used. ++ (main): Correctly append IGNORE string for -c option. ++ ++2002-04-06 Kaz Kojima <kkojima@rr.iij4u.or.jp> ++ ++ * sysdeps/sh/bits/atomic.h: Moved to ... ++ * sysdeps/unix/sysv/linux/sh/bits/atomic.h: ... here. Add comments. ++ (__arch_compare_and_exchange_val_*_acq): Add parens around macro ++ arguments. ++ (atomic_bit_set, atomic_bit_test_set): Likewise. ++ (atomic_exchange_and_add): Likewise. Don't evaluate VALUE argument ++ twice. ++ (atomic_add, atomic_add_negative, atomic_add_zero): Likewise. ++ ++2003-04-06 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/swapcontext.S: Rewrite register ++ restoration as done for setcontext yesterday. ++ ++2003-04-06 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/rtld.c: Revert 2003-03-14 change. ++ * elf/dl-conflict.c (_dl_resolve_conflicts): Move ++ #if ! ELF_MACHINE_NO_RELA conditional into the routine. ++ ++2003-04-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * sunrpc/xdr.c (xdr_string): Catch nodesize == 0 [PR libc/4999]. ++ ++ * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): ++ Always initialize *signgamp before returning an error. ++ ++2003-04-05 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/setcontext.S: Rewrite to avoid writing ++ below the stack pointer even if switching to the same context we are ++ running right now. ++ ++2003-04-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * catgets/gencat.c (read_input_file): Make sure that \n is not ++ alone on the line before testing for continuation. ++ ++ * math/test-tgmath.c (compile_test): Initialize c. ++ ++2003-04-05 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: New. ++ * sysdeps/unix/sysv/linux/mips/mips64/n32/truncate64.c: New. ++ * sysdeps/unix/sysv/linux/kernel-features.h: fcntl64 is available ++ on mips n32. ++ * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Explain why ++ XSTAT_IS_XSTAT64 must not be used for mips n64. Use 64-bit data ++ structure on n32 as well. ++ * sysdeps/unix/sysv/linux/mips/bits/stat.h: Use POSIX-compliant ++ data types on n32 and n64. ++ ++2003-04-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * libio/fileops.c (_IO_new_file_fopen): Don't free step data right ++ after getting them. ++ ++ * malloc/thread-m.h [PTHREAD_MUTEX_INITIALIZER]: If ++ HAVE_register_atfork_malloc is defined use __register_atfork_malloc ++ instead of __register_atfork. ++ ++2003-04-05 Jakub Jelinek <jakub@redhat.com> ++ ++ * stdio-common/reg-printf.c (__register_printf_function): Calloc ++ instead of malloc __printf_arginfo_table and __printf_function_table. ++ Reported by John Reiser <jreiser@BitWagon.com>. ++ ++2003-04-04 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/strchr.S: 64-bit optimizations. ++ * sysdeps/powerpc/powerpc64/strlen.S: 64-bit optimizations. ++ ++ * sysdeps/powerpc/fpu/bits/mathdef.h (FLT_EVAL_METHOD): Undef before ++ defining. ++ ++2003-04-04 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (struct flock): Adjust ++ for n64 abi. ++ ++2003-04-03 Roland McGrath <roland@redhat.com> ++ ++ * configure.in: Fix up use of compilation flags to match the build: ++ For .s files, $ASFLAGS; ++ For .S files, $CPPFLAGS $ASFLAGS; ++ For .c files, $CFLAGS $CPPFLAGS; ++ when linking, add $LDFLAGS. ++ * configure: Regenerated. ++ ++2003-04-03 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Reverse test ++ for atomic_compare_and_exchange_bool_acq failure. ++ ++2003-04-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * posix/unistd.h: Define _POSIX_VERSION, _POSIX2_VERSION, ++ _POSIX2_C_BIND, _POSIX2_C_DEV, _POSIX2_SW_DEV, and ++ _POSXI2_LOCALEDEF to 200112L. Remove _POSIX2_C_VERSION. ++ Remove declaration of pthread_atfork. ++ ++2003-04-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * locale/iso-639.def: Add many more languages from the current ISO 639. ++ ++ * sysdeps/unix/sysv/linux/ipc_priv.h: Define IPCOP_semtimedop. ++ * sysdeps/generic/semtimedop.c: New file. ++ * sysdeps/unix/sysv/linux/i386/semtimedop.S: New file. ++ * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add semtimedop. ++ * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. ++ * sysvipc/Makefile (routines): Add semtimedop. ++ * sysvipc/Versions [GLIBC_2.3.3] (glibc): Add semtimedop. ++ * sysvipc/sys/sem.h: Declare semtimedop. ++ ++2003-04-02 Daniel Jacobowitz <drow@mvista.com> ++ ++ * configure.in: Check for __register_frame_info in both ++ -lgcc and -lgcc_eh. ++ * configure: Regenerated. ++ ++2003-04-01 Roland McGrath <roland@redhat.com> ++ ++ * scripts/abilist.awk: Allow dots in soname suffix. ++ ++ * scripts/abilist.awk (emit): Fix bailout condition. ++ ++2003-04-01 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: Use the ++ IA-64 version. ++ ++ * elf/tls-macros.h [__ia64__] (TLS_IE, TLS_LD, TLS_GD): Add gp ++ register as input to asm. ++ ++2003-04-01 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (sigevent_t): Fix a typo. ++ ++2003-04-01 Andreas Jaeger <aj@suse.de> ++ ++ * configure.in: Output as/ld as name if version is too old. ++ ++2003-03-31 Daniel Jacobowitz <drow@mvista.com> ++ ++ * configure.in: Don't require an installed C library in the test ++ for ".set" assembler support. ++ ++2003-03-31 Roland McGrath <roland@redhat.com> ++ ++ * signal/tst-sigset.c: New file. ++ * signal/Makefile (tests): Add it. ++ ++2003-03-31 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/alpha/bits/signum.h (_NSIG): Define to 65. ++ * sysdeps/unix/sysv/linux/hppa/bits/signum.h (_NSIG): Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Likewise. ++ * sysdeps/unix/sysv/linux/bits/signum.h (_NSIG): Likewise. ++ (__SIGRTMAX): Adjust accordingly. ++ * sysdeps/gnu/siglist.c: If OLD2_SIGLIST_SIZE is defined define ++ second compatibility symbol set. ++ * sysdeps/unix/sysv/linux/siglist.h (OLD2_SIGLIST_SIZE): Define. ++ ++2003-03-31 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/m68020/bits/atomic.h (atomic_increment_and_test): ++ Define. ++ (atomic_decrement_and_test): Fix test. ++ ++2003-03-31 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/sparc/sparc32/bits/atomic.h: New file. ++ * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: New file. ++ * sysdeps/sparc/sparc64/bits/atomic.h: New file. ++ * sysdeps/sparc/sparc32/atomicity.h: Removed. ++ * sysdeps/sparc/sparc32/sparcv9/atomicity.h: Removed. ++ * sysdeps/sparc/sparc64/atomicity.h: Removed. ++ ++2003-03-30 Roland McGrath <roland@redhat.com> ++ ++ * scripts/abilist.awk: Grok .opd foo plus .text .foo as "foo F" alone. ++ ++ * intl/po2test.sed: Anchor substitution regexps to fix last change. ++ ++2003-03-29 Paolo Bonzini <bonzini@gnu.org> ++ ++ * intl/po2test.sed: Unify the transformations for msgid and msgstr ++ and remove a useless s/// command. ++ ++2003-03-27 David Mosberger <davidm@hpl.hp.com> ++ ++ * sysdeps/ia64/dl-machine.h (RTLD_START): Wrap ".save rp, r0" ++ directive into empty .prologue region to ensure that call-chain ++ is terminated even for the first instruction. ++ ++ * sysdeps/ia64/elf/start.S (_start): Use ".save rp, r0" idiom ++ to terminate call-chain right from the get-go. ++ ++ * sysdeps/unix/sysv/linux/ia64/fork.S (fork): Remove unnecessary ++ stop bit between compare & branch. ++ ++2003-03-29 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdlib/strtod.c (INTERNAL): Recognize first digit after decimal ++ point correctly [PR libc/4993]. ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Avoid ++ netlink_open calls if netlink is known to not be available. ++ ++2003-03-29 Alexandre Oliva <aoliva@redhat.com> ++ ++ * configure.in: Add mips64* support. ++ * sysdeps/mips/bits/endian.h: Make it bi-endian. ++ * sysdeps/mips/mipsel/bits/endian.h: Removed. ++ * sysdeps/mips/mips64/n32/el/bits/endian.h: Removed. ++ * sysdeps/mips/mips64/n64/el/bits/endian.h: Removed. ++ * sysdeps/mips/mips32/Makefile (CC): Add -mabi=32. ++ * sysdeps/mips/mips64/n32/Makefile (CC): Add -mabi=n32. ++ * sysdeps/mips/mips64/n64/Makefile (CC): Add -mabi=64. ++ * sysdeps/mips/Implies: Moved wordsize-32 to... ++ * sysdeps/mips/mips32/Implies: New file. ++ * sysdeps/unix/mips/sysdep.h (PSEUDO_NOERRNO, PSEUDO_END_NOERRNO, ++ ret_NOERRNO): New. ++ (ret, PSEUDO_END): Moved past END. ++ (PSEUDO): Moved to... ++ * sysdeps/unix/mips/mips32/sysdep.h: New file. ++ * sysdeps/unix/mips/mips64/n32/sysdep.h: Removed #undef PSEUDO. ++ * sysdeps/unix/mips/mips64/n64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/mips/sysdep.h: Move to... ++ * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: New file. ++ * sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h: New file. ++ ++ * sysdeps/unix/sysv/linux/mips/clone.S (__thread_start): ++ Re-introduce ENTRY. ++ ++2003-03-28 Thorsten Kukuk <kukuk@suse.de> ++ ++ * sysdeps/unix/sysv/linux/ifaddrs.c: New file. ++ * inet/test-ifaddrs.c: Allow AF_PACKET. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Add ++ __ASSUME_NETLINK_SUPPORT. ++ ++2003-03-28 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/vismain.c (do_test): Comment out tests which fail in the moment. ++ ++2003-03-26 H.J. Lu <hjl@gnu.org> ++ ++ * elf/vismod.h (getvarlocal1): Return const char **. ++ (getvarinmod1): Likewise. ++ (getvaritcpt1): Likewise. ++ (getvarlocal2): Likewise. ++ (getvarinmod2): Likewise. ++ (getvaritcpt2): Likewise. ++ (getvaritcpt3): Likewise. ++ * elf/vismain.c (do_test): Adjusted. ++ * elf/vismod1.c (getvarlocal1): Return address. ++ (getvarinmod1): Likewise. ++ (getvaritcpt1): Likewise. ++ * elf/vismod2.c (getvarlocal2): Likewise. ++ (getvarinmod2): Likewise. ++ (getvaritcpt2): Likewise. ++ * elf/vismod3.c (getvaritcpt3): Likewise. ++ ++2003-03-28 Roland McGrath <roland@redhat.com> ++ ++ * elf/vismain.c (do_test): Print both addresses when they don't match. ++ ++ * scripts/abilist.awk: If given -v filename_regexp and/or -v ++ libname_regexp when parsing names, then produce output only ++ for those matching the given regexps. In combine mode, save all ++ stanzas for a final sorting by stanza header at the end. ++ Emit a blank line between stanzas. ++ ++ * scripts/abilist.awk: When given -v combine=1, do parse_names and ++ emit a single output stream with lib name in stanza header lines. ++ ++ * scripts/abilist.awk: Emit A for all *ABS* regardless of type. ++ ++2003-03-27 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/powerpc/bits/atomic.h [! __powerpc64__] ++ (__arch_atomic_decrement_if_positive_64): Fix bogus definition. ++ ++2003-03-28 Kaz Kojima <kkojima@rr.iij4u.or.jp> ++ ++ * sysdeps/sh/bits/atomic.h (__arch_compare_and_exchange_val_8_acq): ++ Return old value. Make asm output reg constraint earlyclobber. ++ Renamed from... ++ (__arch_compare_and_exchange_8_acq): ... this. ++ (__arch_compare_and_exchange_val_16_acq): ++ Return old value. Make asm output reg constraint earlyclobber. ++ Renamed from... ++ (__arch_compare_and_exchange_16_acq): ... this. ++ (__arch_compare_and_exchange_val_32_acq): ++ Return old value. Make asm output reg constraint earlyclobber. ++ Renamed from... ++ (__arch_compare_and_exchange_32_acq): ... this. ++ (__arch_compare_and_exchange_val_64_acq): ++ Renamed from... ++ (__arch_compare_and_exchange_64_acq): ... this. ++ (atomic_exchange_and_add): Use local variables and ++ __arch_compare_and_exchange_val_64_acq. ++ (atomic_add): Likewise. ++ (atomic_add_negative, atomic_add_zero): Use local variables. ++ ++2003-03-28 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/mips/sysdep.S: Include sys/asm.h. ++ ++2003-03-27 Ulrich Drepper <drepper@redhat.com> ++ ++ * Makefile: Remove libmd5crypt goal. ++ ++2003-03-25 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Restore ++ special handling of relocations against local symbols. ++ ++2003-03-27 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/bits/atomic.h ++ (__arch_compare_and_exchange_bool_32_acq): Move to [!__powerpc64__]. ++ [__powerpc64__] (__arch_compare_and_exchange_bool_32_acq): ++ Define PPC64 specific version. ++ [__powerpc64__] (__arch_compare_and_exchange_bool_64_acq): ++ Change (mem) constraint to "b". ++ [__powerpc64__] (__arch_atomic_exchange_and add_64): ++ Replace addi with add. Change (value) contraint to "r". ++ Change (mem) constraint to "b". ++ [__powerpc64__] (__arch_atomic_decrement_if_positive_64): New macro. ++ (__arch_atomic_exchange_32): Change (mem) constraint to "b". ++ (__arch_atomic_exchange_and_add_32): Change (mem) constraint to "b". ++ (__arch_atomic_decrement_if_positive_32): New macro. ++ (atomic_decrement_if_positive): Use __arch* macros. ++ ++2003-03-27 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/ia64/fpu/libm-test-ulps: Update. ++ ++2003-03-27 Roland McGrath <roland@redhat.com> ++ ++ * scripts/rpm2dynsym.sh: New file. ++ * Makefile (distribute): Add it. ++ ++2003-03-27 David Mosberger <davidm@hpl.hp.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/getcontext.S: Restore caller's ++ ar.unat before returning. Add missing .mem.offset directives ++ to ensure file gets assembled without warnings. ++ * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise. ++ ++2003-03-27 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sysconf.c (__sysconf) <_SC_MONOTONIC_CLOCK>: ++ Return -1 instead of 0 if clock_getres failed. ++ ++2003-03-27 Roland McGrath <roland@redhat.com> ++ ++ * scripts/abilist.awk: If variable `parse_names' is set, grok the file ++ header lines and write out foo.symlist files for each foo.so.NN listed. ++ ++ * libio/libioP.h (_IO_wfile_jumps): Remove attribute_hidden. ++ This symbol is exported, and we don't want to hide it. ++ Add libc_hidden_proto instead. ++ (_IO_file_jumps): Add libc_hidden_proto. ++ * libio/wfileops.c (_IO_wfile_jumps): Add libc_hidden_data_def. ++ Remove INTVARDEF. ++ * libio/fileops.c (_IO_file_jumps): Likewise. ++ * libio/stdfiles.c: Don't use INTUSE on them. ++ * libio/iofdopen.c (_IO_new_fdopen): Likewise. ++ * libio/iofopen.c (__fopen_internal): Likewise. ++ * libio/freopen.c (freopen): Likewise. ++ * libio/freopen64.c (freopen64): Likewise. ++ * libio/iovdprintf.c (_IO_vdprintf): Likewise. ++ ++ * Makerules (check-abi) [$(enable-check-abi) = warn]: ++ 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. ++ ++2003-03-26 GOTO Masanori <gotom@debian.or.jp> ++ ++ * sysdeps/unix/sysv/linux/i386/setfsuid.c: Use INTERNAL_SYSCALL and ++ do not check for errors (unless testing for 32bit variant). ++ * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise. ++ ++2003-03-27 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET_NOERRNO): Use ++ unconditional mov. Remove nop. ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h ++ (__ASSUME_VFORK_SYSCALL): Define for kernel 2.4 on arm. ++ * sysdeps/unix/sysv/linux/arm/vfork.S: Elide compatibility code ++ when __ASSUME_VFORK_SYSCALL is defined. ++ * sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise for ++ __ASSUME_MMAP2_SYSCALL. ++ * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise for ++ __ASSUME_REALTIME_SIGNALS. ++ ++2003-03-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/ldsodefs.h (ELF_RTYPE_CLASS_COPY): Define to 2 ++ only if DL_NO_COPY_RELOCS is not defined. ++ * sysdeps/ia64/dl-lookupcfg.h: Define DL_NO_COPY_RELOCS. ++ ++2003-03-26 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/make-syscalls.sh: When an undefined syscall has ++ SOURCE=-, append its symbol names to make variable unix-stub-syscalls. ++ * sysdeps/unix/Makefile [$(subdir) = misc] [unix-stub-syscalls] ++ (sysdep_routines): Add stub-syscalls. ++ ($(objpfx)stub-syscalls.c): New target. ++ (generated): Add stub-syscalls.c. ++ ++ * tls.make.c: Also define use-tls according to USE_TLS macro. ++ ++2003-03-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h (struct siginfo): Avoid ++ no-op padding element. ++ * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. ++ ++2003-03-26 GOTO Masanori <gotom@debian.or.jp> ++ ++ * sysdeps/unix/sysv/linux/i386/getgroups.c: Fix the error ++ condition check for the return value of getgroups32. ++ ++2003-03-26 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO_NOERRNO): ++ Fix a typo. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (PSEUDO_NOERRNO, ++ PSEUDO_END_NOERRNO): Define. ++ * sysdeps/unix/sysdep.h (PSEUDO_END_NOERRNO): Fix a typo. ++ Define to PSEUDO_END. ++ ++2003-03-26 Ulrich Drepper <drepper@redhat.com> ++ ++ * abilist/librt.abilist: Add new timer interfaces for 64-bit archs. ++ ++2003-03-25 Jiro SEKIBA <jir@yamato.ibm.com> ++ ++ * iconvdata/euc-tw.c (from_euc_tw): Fix return value of TO_LOOP. ++ * iconvdata/bug-iconv4.c: New file. ++ * iconvdata/Makefile (tests): Add bug-iconv4. ++ ++2003-03-25 H.J. Lu <hjl@gnu.org> ++ ++ * elf/dl-lookup.c (_dl_lookup_symbol): Avoid looking up protected ++ symbols twice. ++ (_dl_lookup_versioned_symbol): Likewise. ++ ++2003-03-26 Jakub Jelinek <jakub@redhat.com> ++ ++ * csu/tst-atomic.c (do_test): Add some new ++ atomic_compare_and_exchange_val_acq, atomic_add_zero, ++ atomic_compare_and_exchange_bool_acq and atomic_add_negative tests. ++ * include/atomic.h (atomic_add_negative, atomic_add_zero): ++ Prefix local variable so that it doesn't clash with the one ++ in atomic_exchange_and_add. ++ * sysdeps/ia64/bits/atomic.h (atomic_exchange): Fix for long/void * ++ pointers. ++ (atomic_exchange_and_add): Implement using __sync_fetch_and_add_?i. ++ * sysdeps/powerpc/bits/atomic.h (atomic_exchange_and_add): Force ++ value into register. ++ * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_64_acq): ++ Cast newval to long. ++ * sysdeps/x86_64/bits/atomic.h ++ (__arch_compare_and_exchange_val_64_acq): Cast newval and oldval to ++ long. ++ (atomic_exchange): Cast newvalue to long if sizeof == 8. ++ (atomic_exchange_and_add): Cast value to long if sizeof == 8. ++ (atomic_add, atomic_add_negative, atomic_add_zero): Likewise. ++ (atomic_bit_set): Shift 1L up in all cases to shut up warnings. ++ ++2003-03-21 Martin Schwidefsky <schwidefskyde.ibm.com> ++ ++ * sysdeps/s390/s390-32/backtrace.c (__backtrace): Remove high order ++ bit from backtrace addresses. ++ ++2003-03-21 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/unix/sysv/linux/i386/chown.c: Don't define any versioned ++ __chown symbols. ++ ++2003-03-25 Roland McGrath <roland@redhat.com> ++ ++ * 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. ++ ++2003-03-26 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/m68020/bits/atomic.h: Fix typos. ++ * include/atomic.h: Likewise. ++ ++ * sysdeps/unix/sysv/linux/m68k/sysdep.h: Define ret_NOERRNO. ++ ++2003-03-25 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/powerpc/bits/atomic.h (__arch_atomic_exchange_32): New macro. ++ (__arch_atomic_exchange_64): New macro. ++ (atomic_exchange): Use them. ++ (__arch_atomic_exchange_and_add_32): New macro. ++ (__arch_atomic_exchange_and_add_64): New macro. ++ (atomic_exchange_and_add): Use them. ++ Original patch from Steven Munroe <sjmunroe@us.ibm.com>. ++ ++2003-03-25 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/sgidefs.h (_MIPS_ISA_MIPS32, _MIPS_ISA_MIPS64): ++ Define. ++ * sysdeps/mips/sys/asm.h: Test _MIPS_ISA against them on all ++ ISA tests. ++ (ALSZ, ALMASK, SZREG, REG_S, REG_L): Define based on ABI, not ISA. ++ (PTR_ADD, etc): Test _MIPS_SZPTR instead of _MIPS_SZLONG. ++ * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Use _MIPS_SZPTR ++ to decide whether to add padding. ++ * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Use _MIPS_SZPTR ++ to decide whether to add padding. ++ * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h (struct ++ old_kernel_sigaction): Likewise. ++ ++2003-03-25 Ulrich Drepper <drepper@redhat.com> ++ ++ * csu/tst-atomic.c: Adjust tests to what atomic_add_negative and ++ atomic_add_zero were supposed to do. ++ * include/atomic.h: Adjust atomic_add_negative and atomic_add_zero ++ to x86 behavior. ++ ++ * sysdeps/generic/bits/typesizes.h (__TIMER_T_TYPE): Define as void*. ++ This matches the new timer implementation. ++ * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__TIMER_T_TYPE): ++ Likewise. ++ * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__TIMER_T_TYPE): ++ Likewise. ++ * sysdeps/unix/sysv/linux/bits/siginfo.h (struct siginfo): Adjust ++ timer info for what the kernel provides these days. ++ (struct sigevent): Add _tid field. ++ Define SIGEV_THREAD_ID. ++ Remove struct __pthread_attr_s forward declaration. ++ * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. ++ ++ * Versions.def (librt): Add GLIBC_2.3.3. ++ ++ * abilist/libpthread.abilist: Update for nptl. ++ ++2003-03-24 Jon Grimm <jgrimm@us.ibm.com> ++ ++ * inet/netinet/in.h: Add IPPROTO_SCTP. ++ ++2003-03-24 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLET): Define. ++ ++2003-03-24 Philip Blundell <philb@gnu.org> ++ ++ * sysdeps/unix/sysv/linux/arm/sysdep.h (INTERNAL_SYSCALL): ++ Remove a1 from clobber list. ++ ++2003-03-24 Ulrich Drepper <drepper@redhat.com> ++ ++ * timezone/antarctica: Update from tzdata2003a. ++ * timezone/asia: Likewise. ++ * timezone/australasia: Likewise. ++ * timezone/europe: Likewise. ++ * timezone/iso3166.tab: Likewise. ++ * timezone/northamerica: Likewise. ++ * timezone/southamerica: Likewise. ++ * timezone/zone.tab: Likewise. ++ ++2003-03-24 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_END_NOERRNO): Fix typo. ++ ++2003-03-23 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h (ret_NOERRNO): Avoid ++ unwanted expansion by definining to ret. Patch by Ian Wienand. ++ ++ * sysdeps/unix/make-syscalls.sh: Recognize 'E' in first position of ++ the parameter description to denote no error checking. Generate ++ appropriate pseudo asm code. ++ * sysdeps/unix/syscalls.list: Mark getgid, getpid, getuid with 'E'. ++ * sysdeps/unix/sysv/linux/syscalls.list: Mark getegid, geteuid, ++ getpgrp, and getppid with 'E'. ++ * sysdeps/powerpc/powerpc32/sysdep.h: Define PSEUDO_NOERRNO, ++ PSEUDO_END_NOERRNO, and ret_NOERRNO. ++ * sysdeps/powerpc/powerpc64/sysdep.h: Likewise. ++ * sysdeps/unix/sysdep.h: Likewise. ++ * sysdeps/unix/alpha/sysdep.h: Likewise. ++ * sysdeps/unix/sparc/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/cris/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/hppa/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. ++ ++2003-03-23 Roland McGrath <roland@redhat.com> ++ ++ * Makeconfig (+includes): Don't use $(last-includes). ++ ++2003-03-22 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/configure.in: Update mips64 patterns. ++ * sysdeps/unix/sysv/linux/configure: Rebuilt. ++ ++2003-03-23 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/alpha/fpu/libm-test-ulps: Update. ++ * sysdeps/arm/libm-test-ulps: Update. ++ * sysdeps/hppa/fpu/libm-test-ulps: Update. ++ * sysdeps/ia64/fpu/libm-test-ulps: Update. ++ * sysdeps/mips/fpu/libm-test-ulps: Update. ++ * sysdeps/powerpc/nofpu/libm-test-ulps: Update. ++ * sysdeps/powerpc/fpu/libm-test-ulps: Update. ++ * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update. ++ * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update. ++ * sysdeps/sh/sh4/fpu/libm-test-ulps: Update. ++ * sysdeps/s390/fpu/libm-test-ulps: Update. ++ * sysdeps/x86_64/fpu/libm-test-ulps: Update. ++ ++2003-03-22 Roland McGrath <roland@redhat.com> ++ ++ * include/atomic.h: Put parens around all macro arguments. ++ (__atomic_val_bysize, __atomic_bool_bysize): New macros. ++ (atomic_compare_and_exchange_val_acq): Use it. ++ (atomic_compare_and_exchange_bool_acq): Likewise. ++ (atomic_increment_and_test): Invert sense of test. ++ (atomic_decrement_and_test): Likewise. ++ * csu/tst-atomic.c: Update those tests to match. ++ ++2003-03-22 Jakub Jelinek <jakub@redhat.com> ++ ++ * include/atomic.h (atomic_compare_and_exchange_val_acq): Add comment. ++ Don't define if __arch_compare_and_exchange_val_32_acq is not defined. ++ (atomic_compare_and_exchange_bool_acq): Add comment. Don't use ++ __oldval variable in the macro, since it might be macro argument. ++ (atomic_decrement_if_positive): Initialize __memp, remove setting ++ of non-existent variable. ++ (atomic_bit_test_set): Cast 1 to __typeof (*mem) before shifting. ++ * sysdeps/ia64/bits/atomic.h (atomic_exchange_and_add): Implement ++ using atomic_compare_and_exchange_val_acq. ++ (atomic_decrement_if_positive, atomic_bit_test_set): Define. ++ * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_8_acq): ++ Renamed from... ++ (__arch_compare_and_exchange_bool_8_acq): ... this. ++ (__arch_compare_and_exchange_val_16_acq): Renamed from... ++ (__arch_compare_and_exchange_bool_16_acq): ... this. ++ (__arch_compare_and_exchange_val_32_acq): Return old value. Renamed ++ from... ++ (__arch_compare_and_exchange_bool_32_acq): ... this. ++ (__arch_compare_and_exchange_val_64_acq): Return old value. Renamed ++ from... ++ (__arch_compare_and_exchange_bool_64_acq): ... this. ++ (__arch_compare_and_exchange_val_32_acq): Use __typeof for local ++ variables types instead of assuming int. ++ Change prefix of local variables to __arch. ++ * sysdeps/generic/bits/atomic.h (arch_compare_and_exchange_acq): ++ Remove. ++ (atomic_compare_and_exchange_val_acq, ++ atomic_compare_and_exchange_bool_acq): Define. ++ ++ * csu/tst-atomic.c: New test. ++ * csu/tst-atomic-long.c: New test. ++ * csu/Makefile (tests): Add tst-atomic and tst-atomic-long. ++ ++ * malloc/memusagestat.c (main): Kill warning if uint64_t is ulong. ++ ++ * sysdeps/s390/Versions: Add trailing newline. ++ ++ * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Kill warning ++ if INTERNAL_SYSCALL_ERROR_P doesn't use its first argument. ++ ++2003-03-22 Andreas Schwab <schwab@suse.de> ++ ++ * sysdeps/m68k/fpu/libm-test-ulps: Update. ++ ++ * sysdeps/m68k/m68020/bits/atomic.h: New file. ++ * sysdeps/m68k/m68020/atomicity.h: Removed. ++ ++2003-03-22 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/elf/ldsodefs.h: Add mips-specific elf64 relocation ++ data structures and macros. Protect from multiple inclusion. ++ ++ * sysdeps/mips/dl-machine.h (ELF_MIPS_GNU_GOT1_MASK): Fix harmless ++ typo in #if test. ++ ++2003-03-21 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/i386/fpu/libm-test-ulps: Update. ++ ++ * math/libm-test.inc (tgamma_test): Recompute some constants with ++ 36 digits precision. ++ (lgamma_test): Likewise. ++ (ccos_test): Likewise. ++ (ccosh_test): Likewise. ++ (clog10_test): Likewise. ++ (csin_test): Likewise. ++ (csinh_test): Likewise. ++ (ctan_test): Likewise. ++ (ctanh_test): Likewise. ++ ++2003-03-19 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Regenerated. ++ ++2003-03-21 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/i386/i486/bits/atomic.h (atomic_bit_set): Use "ir" ++ constraint to permit non-constant BIT argument. ++ (atomic_bit_test_set): Likewise. ++ * sysdeps/x86_64/bits/atomic.h (atomic_bit_test_set): Likewise. ++ (atomic_bit_set): Likewise. Use 1UL in case that BIT might be >= 32. ++ For quadword case, use "i" constraint if __builtin_constant_p and < 32 ++ or "r" constraint otherwise. ++ ++ * configure.in: Move AC_PROG_CC and other program-finding before all ++ the version checks. ++ * configure: Regenerated. ++ ++2003-03-21 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/mips64/memcpy.S: Fix porting bug that broke ++ unaligned copying of 8-15 bytes. From Chris Demetriou ++ <cgd@broadcom.com>. Fix label names. ++ * sysdeps/mips/mips64/memset.S: Fix label names. Make similar ++ change as to memcpy.S. ++ * sysdeps/mips/memcpy.S: Formatting changes. ++ * sysdeps/mips/memset.S: Likewise. ++ ++2003-03-21 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/arm/sysdep.h (CALL_MCOUNT): Add trailing semicolon. ++ ++2003-03-21 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/mips64/memcpy.S, sysdeps/mips/mips64/memset.S: New. ++ * sysdeps/mips/memcpy.S, sysdeps/mips/memset.S: Update comments. ++ ++2003-03-21 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/i386/i486/bits/atomic.h ++ (__arch_compare_and_exchange_val_64_acq): Rewrite abort-calling ++ version of the macro to avoid compile-time warnings. ++ [! __PIC__] (__arch_compare_and_exchange_64_acq): Rename to above. ++ (atomic_exchange_and_add, atomic_add): Fix name and usage of it. ++ (atomic_increment, atomic_decrement): Likewise. ++ ++2003-03-21 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/x86_64/bits/atomic.h: Don't use matching memory constraints. ++ * sysdeps/i386/i486/bits/atomic.h: Likewise. ++ ++2003-03-21 Roland McGrath <roland@redhat.com> ++ ++ * include/atomic.h (atomic_compare_and_exchange_bool_acq): Typo fix. ++ ++2003-03-20 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/atomic.h: Define atomic_compare_and_exchange_val_acq, ++ atomic_compare_and_exchange_val_rel, ++ atomic_compare_and_exchange_bool_acq, and ++ atomic_compare_and_exchange_bool_rel instead of ++ atomic_compare_and_exchange_acq and atomic_compare_and_exchange_rel. ++ * sysdeps/i386/i486/bits/atomic.h: Define ++ __arch_compare_and_exchange_val_*_acq instead of ++ __arch_compare_and_exchange_*_acq. ++ * sysdeps/x86_64/bits/atomic.h: Likewise. ++ * sysdeps/ia64/bits/atomic.h: Define ++ __arch_compare_and_exchange_bool_*_acq instead of ++ __arch_compare_and_exchange_*_acq. ++ * sysdeps/powerpc/bits/atomic.h: Likewise. ++ * sysdeps/s390/bits/atomic.h: Likewise. ++ * gmon/mcount.c: Adjust for new form of compare&exchange macros. ++ * malloc/set-freeres.c: Likewise. ++ * nscd/cache.c: Likewise. ++ * stdlib/cxa_finalize.c: Likewise. ++ * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. ++ ++2003-03-20 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/bits/setjmp.h: n32 has only 6 call-saved fpregs. ++ * sysdeps/mips/mips64/setjmp_aux.c (__sigsetjmp_aux): Adjust. ++ * sysdeps/mips/mips64/__longjmp.c (__longjmp): Likewise. ++ ++ * sysdeps/unix/sysv/linux/mips/pread.c: Don't break up offset ++ into high and low halves on n64. ++ * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. ++ * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. ++ ++2003-03-20 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/atomic.h (atomic_decrement_if_positive): Adjust for the ++ correct atomic_compare_and_exchange_acq semantics. ++ ++2003-03-20 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/ieee754.h: Remove excess #endif. ++ ++2003-03-20 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/powerpc/bits/atomic.h (atomic_exchange): Remove unused ++ variable. Remove superfluous memory clobber. ++ ++ * include/atomic.h: Syntax braino fix. ++ ++ * posix/tst-nice.c (do_test): Use %m formats instead of printing errno ++ in decimal. Don't bail if niced at start. Just check that nice call ++ bumps the total at all. ++ ++2003-03-20 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/bits/setjmp.h: Store all N32 and N64 registers, ++ including pc, gp, sp and fp, as long long. ++ * sysdeps/mips/mips64/setjmp.S: Pass gp to __sigsetjmp_aux. ++ * sysdeps/mips/mips64/setjmp_aux.c: Adjust type of arguments. ++ Add gp argument, and set gp in the jmpbuf to it. ++ * sysdeps/mips/setjmp_aux.c: Revert to o32-only. ++ ++2003-03-20 Ulrich Drepper <drepper@redhat.com> ++ ++ * include/atomic.h: Define atomic_exchange and ++ atomic_decrement_if_positive if not already defined. Add some ++ __builtin_expect. ++ * sysdeps/i386/i486/bits/atomic.h: Define atomic_exchange. ++ * sysdeps/x86_64/bits/atomic.h: Likewise. ++ * sysdeps/ia64/bits/atomic.h: Pretty printing. Define atomic_exchange. ++ * sysdeps/powerpc/bits/atomic.h: Pretty printing. Define ++ atomic_exchange, atomic_exchange_and_add, and ++ atomic_decrement_if_positive ++ ++2003-03-20 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: Sign-extend ++ with a single instruction. ++ ++ * sysdeps/mips/dl-machine.h (ELF_MIPS_GNU_GOT1_MASK): Define ++ properly for n64. ++ (elf_machine_runtime_setup): Cast link_map pointer to Elf Addr ++ type. ++ (elf_machine_rel, elf_machine_rel_relative): Cast symidx to Elf ++ Word before comparing with gotsym. Take reloc_addr argument as ++ void*. Remove the code added for the compiler to drop any ++ alignment assumptions. ++ ++2003-03-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * Makefile (distribute): Add include/atomic.h and bits/atomic.h. ++ * include/atomic.h: New file. ++ * sysdeps/i386/i486/bits/atomic.h: New file. ++ * sysdeps/x86_64/bits/atomic.h: New file. ++ * sysdeps/s390/bits/atomic.h: New file. ++ * sysdeps/sh/bits/atomic.h: New file. ++ * sysdeps/ia64/bits/atomic.h: New file. ++ * sysdeps/powerpc/bits/atomic.h: New file. ++ * sysdeps/generic/bits/atomic.h: New file. ++ * sysdeps/i386/i486/atomicity.h: Removed. ++ * sysdeps/x86_64/atomicity.h: Removed. ++ * sysdeps/s390/s390-32/atomicity.h: Removed. ++ * sysdeps/s390/s390-64/atomicity.h: Removed. ++ * sysdeps/ia64/atomicity.h: Removed. ++ * sysdeps/powerpc/powerpc32/atomicity.h: Removed. ++ * sysdeps/powerpc/powerpc64/atomicity.h: Removed. ++ * elf/dl-profile.c: Use atomic.h instead of atomicity.h. Adjust ++ use of macros from atomicity.h to new names and semantics. ++ * gmon_mcount.c: Likewise. ++ * malloc/set-freeres.c: Likewise. ++ * nscd/cache.c: Likewise. ++ * stdlib/cxa_finalize.c: Likewise. ++ * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. ++ ++2003-03-19 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/ieee754.h: New file, suitable to replace both ++ ../ieee754/ieee754.h and ../ieee754/ldbl-128/ieee754.h, kept ++ mips-specific for now. ++ ++2003-03-19 Ulrich Drepper <drepper@redhat.com> ++ ++ * stdlib/strtod.c (INTERNAL): While eating trailing zeros handle ++ hexdigits correctly. Reported by Fred Tydeman <tydeman@tybor.com>. ++ * stdlib/tst-strtod.c: Add test for the bug. ++ ++ * posix/tst-nice.c (do_test): Remove invalid of return value. ++ Don't run test if initial level != 0. ++ ++2003-03-19 Amos Waterland <apw@us.ibm.com> ++ ++ * posix/tst-nice.c: New file. ++ * posix/Makefile (tests): Add tst-nice. ++ ++2003-03-18 Roland McGrath <roland@redhat.com> ++ ++ * abilist: New directory of libfoo.abilist files maintained using ++ scripts/merge-abilist.awk and "make update-abi" rules. ++ * Makefile (distribute): Add abilist/*.abilist. ++ * Makerules [$(build-shared) = yes] [$(subdir)] (tests): ++ Depend on check-abi. ++ ++ * configure.in: Move $critic_missing check after all AC_CHECK_PROG_VER. ++ * configure: Regenerated. ++ ++ * sysdeps/unix/sysv/linux/syscalls.list (posix_fadvise64): Fix name. ++ ++2003-03-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/posix/sysconf.c (__sysconf): Handle _SC_MONOTONIC_CLOCK ++ correctly. ++ ++2003-03-18 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/memcpy.S: New file. ++ ++2003-03-18 Ulrich Drepper <drepper@redhat.com> ++ ++ * Versions.def: Add GLIBC_2.3.3 for libpthread. ++ ++2003-03-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/libc-start.c [!SHARED && ++ !LIBC_START_MAIN_AUXVEC_ARG]: Compute beginning of auxvec correctly. ++ ++2003-03-17 Roland McGrath <roland@redhat.com> ++ ++ * include/ctype.h: Revert last change. ++ ++2003-03-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * argp/tst-argp1.c: Use test-skeleton.c. ++ * locale/tst-C-locale.c: Likewise. ++ ++2003-03-17 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/mips64/Implies: Move wordsize-64 to... ++ * sysdeps/mips/mips64/n64/Implies: New file. ++ * sysdeps/mips/mips64/n64/Makefile: New file. ++ * sysdeps/mips/mips64/n64/el/bits/endian.h: New file. ++ * sysdeps/mips/mips64/n32/Implies: New file. ++ * sysdeps/mips/mips64/n32/Makefile: New file. ++ * sysdeps/mips/mips64/n32/el/bits/endian.h: New file. ++ * sysdeps/unix/mips/mips64/n32/sysdep.h: New file. ++ * sysdeps/unix/mips/mips64/n64/sysdep.h: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/ldconfig.h: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/llseek.c: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/recv.c: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/send.c: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/syscall.S: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/umount.c: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: New file. ++ ++ * sysdeps/unix/sysv/linux/configure.in (libc_cv_slibdir): Use ++ lib64 for mips64/n64 and lib32 for mips64/n32. ++ (ldd_rewrite_script): Needed for all mips64 configurations. ++ * sysdeps/unix/sysv/linux/configure: Rebuilt. ++ * sysdeps/unix/sysv/linux/mips/mips64/ldd-rewrite.sed: New file. ++ * sysdeps/unix/sysv/linux/mips/mips64/Dist: New file. ++ ++ * sysdeps/mips/machine-gmon.h (MCOUNT): Define for N32 and N64 as ++ well. ++ ++ * sysdeps/unix/sysv/linux/mips/configure.in: New. Pre-process ++ asm/unistd.h into asm-unistd.h. ++ * sysdeps/unix/sysv/linux/mips/configure: Generated. ++ * sysdeps/unix/sysv/linux/mips/Makefile: Do custom processing ++ of syscall list. ++ * sysdeps/unix/sysv/linux/mips/sys/syscall.h: New file. ++ * sysdeps/unix/sysv/linux/mips/clone.S: Don't include ++ asm/unistd.h. ++ ++ * sysdeps/unix/sysv/linux/mips/sys/ptrace.h: New file. ++ * sysdeps/unix/sysv/linux/mips/ptrace.c: New file. Use long ++ long type for registers on n32. ++ ++ * sysdeps/mips/bits/wordsize.h: New file, appropriate for all ++ 3 ABIs. ++ * sysdeps/mips/mips64/gmp-mparam.h: New file. Define ++ BITS_PER_LONGINT to __WORDSIZE, to match all 3 ABIs. ++ * sysdeps/mips/setjmp_aux.c (STRINGXP, REGS, PTRS): New macros. ++ (__sigsetjmp_aux): Use them. Adjust for all 3 ABIs. ++ * sysdeps/mips/elf/start.S: Adjust for all 3 ABIs. ++ * sysdeps/unix/mips/brk.S: Likewise. ++ * sysdeps/unix/mips/sysdep.S: Likewise. ++ * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. ++ * sysdeps/mips/bits/setjmp.h (__jmp_buf): Likewise. ++ * sysdeps/mips/sys/ucontext.h: Likewise. ++ * sysdeps/unix/sysv/linux/mips/sys/profcs.h: Likewise. ++ * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise. ++ * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise. ++ * sysdeps/mips/mips64/bsd-_setjmp.S: Likewise. ++ * sysdeps/mips/mips64/bsd-setjmp.S: Likewise. ++ * sysdeps/mips/mips64/setjmp.S: Likewise. ++ * sysdeps/mips/mips64/bits/setjmp.h: Deleted, obsolete. ++ * sysdeps/mips/mips64/soft-fp/sfp-machine.h: Use long long for ++ 64-bit types. ++ ++2003-03-16 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/clock_settime.c (HANDLE_REALTIME): Define tv here, ++ not at function level. ++ * sysdeps/unix/clock_gettime.c (HANDLE_REALTIME): Likewise. ++ ++2003-03-15 Roland McGrath <roland@redhat.com> ++ ++ * nis/nss_nis/nis-hosts.c (internal_gethostbyname2_r): int -> size_t ++ * nis/nss_nis/nis-network.c (_nss_nis_getnetbyname_r): Likewise. ++ * nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Likewise. ++ * nis/nis_table.c (__create_ib_request): Likewise. ++ ++ * posix/fnmatch_loop.c: Add casts for signedness. ++ * nss/nss_files/files-hosts.c: Likewise. ++ * nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise. ++ * gmon/gmon.c (write_call_graph): Use u_long for FROM_LEN. ++ * nscd/nscd_getgr_r.c (nscd_getgr_r): Use nscd_ssize_t for CNT. ++ ++ * configure.in (libc_cv_visibility_attribute): Use AC_TRY_COMMAND, ++ get errors into the log file. ++ (libc_cv_broken_visibility_attribute): Likewise. ++ (libc_cv_broken_alias_attribute): Likewise. ++ (libc_cv_asm_weak_directive): Likewise. ++ (libc_cv_need_minus_P): Likewise. ++ (libc_cv_dot_text): Likewise. ++ (libc_cv_asm_global_directive): Likewise. ++ (libc_cv_asm_type_prefix): Likewise. ++ * configure: Regenerated. ++ ++ * nscd/cache.c (cache_search): Give first arg type `request_type'. ++ * nscd/nscd.h: Update decl. ++ ++ * nscd/nscd_getpw_r.c (nscd_getpw_r): Add casts for signedness. ++ * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise. ++ * elf/dl-close.c (_dl_close): Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): int -> size_t ++ * io/fts.c (fts_build): Likewise. ++ * elf/cache.c (add_to_cache): Likewise. ++ * locale/programs/locarchive.c (show_archive_content): Likewise. ++ ++ * posix/fnmatch.c (fnmatch): Tweak __builtin_expect use. ++ ++ * include/ctype.h (__ctype_b_loc): Tweak type punning to make gcc 3.3 ++ happy. ++ (__ctype_toupper_loc, __ctype_tolower_loc): Likewise. ++ ++2003-03-15 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/system.c: Use the generic Linux ++ code for most parts. ++ ++2003-03-15 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/i386/system.c: Moved to ... ++ * sysdeps/unix/sysv/linux/system.c: ... here. ++ (FORK): Don't #define if already #define'd. ++ * sysdeps/unix/sysv/linux/s390/system.c: File removed. ++ * sysdeps/unix/sysv/linux/kernel-features.h [__powerpc__]: ++ (__ASSUME_CLONE_THREAD_FLAGS): Define for kernel >= 2.5.64. ++ ++ * dlfcn/tst-dlinfo.c: New file. ++ * dlfcn/Makefile (tests): Add tst-dlinfo. ++ ($(objpfx)tst-dlinfo): New target. ++ ++ * dlfcn/dlinfo.c: New file. ++ * dlfcn/Makefile (libdl-routines): Add it. ++ * dlfcn/Versions (libdl: GLIBC_2.3.3): Add dlinfo. ++ * dlfcn/dlfcn.h [__USE_GNU]: Declare dlinfo. ++ [__USE_GNU] (RTLD_DI_*): New enum constants. ++ [__USE_GNU] (Dl_serpath, Dl_serinfo): New types. ++ * elf/dl-load.c (cache_rpath): New inline function. ++ (_dl_map_object): Use it. ++ (_dl_rtld_di_serinfo): New function. ++ * sysdeps/generic/ldsodefs.h: Declare it. ++ * elf/Versions (ld: GLIBC_PRIVATE): Add it. ++ ++ * sysdeps/powerpc/elf/libc-start.c (AUX_VECTOR_INIT): Define it. ++ (LIBC_START_MAIN, LIBC_START_MAIN_AUXVEC_ARG, MAIN_AUXVEC_ARG) ++ (INIT_MAIN_ARGS): Define, and #include <sysdeps/generic/libc-start.c>. ++ (__libc_start_main): Just call the generic one for most of the work. ++ ++ * sysdeps/generic/libc-start.c [LIBC_START_MAIN]: If defined, define a ++ static function by that name instead of BP_SYM (__libc_start_main). ++ [LIBC_START_MAIN_AUXVEC_ARG]: Take AUXVEC as argument. ++ [MAIN_AUXVEC_ARG]: Pass 4th argument to MAIN. ++ [INIT_MAIN_ARGS]: Give INIT the same args as MAIN. ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [DL_PLATFORM_AUXV]: ++ Use this macro for extra AT_* cases. ++ * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c (DL_PLATFORM_AUXV): ++ New macro, guts from ... ++ (__aux_init_cache): ... here, function removed. ++ (DL_PLATFORM_INIT): Don't define this. ++ ++ * sysdeps/powerpc/powerpc32/memset.S: Put __cache_line_size in bss. ++ * sysdeps/powerpc/powerpc64/memset.S: Likewise. ++ ++ * Versions.def (libthread_db): Add GLIBC_2.3.3 set. ++ ++2003-03-14 Roland McGrath <roland@redhat.com> ++ ++ * dlfcn/dlerror.c (dlerror): If objname is "", don't put ": " after it. ++ ++2003-03-14 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/Makefile (syscall-%.h): Fix a typo. ++ ++ * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Include ++ sysdeps/posix/pause.c instead of sysdeps/unix/common/pause.c. ++ ++2003-03-14 Alexandre Oliva <aoliva@redhat.com> ++ ++ * sysdeps/mips/fpu/bits/mathdef.h: New. ++ (__NO_LONG_DOUBLE_MATH): Define for o32. ++ ++ * sysdeps/mips/sys/asm.h: Formatting changes. ++ (PTR, PTRSIZE, PTRLOG): Adjust for all 3 ABIs. ++ (CPADD): Define for all of them. ++ (SETUP_GP, SETUP_GPX, SETUP_GPX_L, SAVE_GP, SETUP_GP64, ++ SETUP_GPX64, SETUP_GPX64_L, RESTORE_GP64, USE_ALT_CP, ++ NARGSAVE): Define per ABI spec. ++ (END): Don't redefine. ++ (LONG_SLL, LONG_SLLV, LONG_SRL, LONG_SRLV, LONG_SRA, ++ LONG_SRAV): Remove duplicate definitions. ++ (PTR_ADD, PTR_ADDI, PTR_ADDU, PTR_ADDIU, PTR_SUB, PTR_SUBI, ++ PTR_SUBU, PTR_SUBIU, PTR_L, PTR_S, PTR_SLL, PTR_SLLV, PTR_SRL, ++ PTR_SRLV, PTR_SRA, PTR_SRAV, PTR_SCALESHIFT): Define for n32. ++ (PTR_LA): Define for all 3 ABIs. ++ ++ * sysdeps/mips/dl-machine.h: Include sys/asm.h. ++ (elf_machine_matches_host): Prevent linking of o32 and n32 ++ together. ++ (elf_machine_dynamic): Document assumption on $gp. ++ (STRINGXP, STRINGXV, STRINGV_): New macros. ++ (elf_machine_load_address): Use them to stringize PTR_LA and ++ PTR_SUBU. ++ (ELF_DL_FRAME_SIZE, ELF_DL_SAVE_ARG_REGS, ++ ELF_DL_RESTORE_ARG_REGS, IFABIO32): New macros used in... ++ (_dl_runtime_resolve): Adjust it for all 3 ABIs. ++ (__dl_runtime_resolve): Cast the symtab initializer to the ++ right type. ++ (RTLD_START): Use it. Adjust it for all 3 ABIs. ++ (elf_machine_rel): Mark as always_inline in RTLD_BOOTSTRAP. ++ Handle 64-bit R_MIPS_REL composite relocation and accept ++ R_MIPS_64 relocations to shift addend size to 64 bits. ++ Document assumption regarding local GOT entries. Document ++ backward-compatibility departing from the ABI behavior in ++ applying relocations that reference section symbols, no longer ++ used. Support relocations to mis-aligned offsets. ++ * sysdeps/mips/mips64/dl-machine.h: Deleted, obsolete. ++ ++ * sysdeps/unix/sysv/linux/mips/readelflib.c: New file. ++ ++ * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h ++ (_KERNEL_NSIG_BPW): Define in terms of _MIPS_SZLONG. ++ * sysdeps/unix/sysv/linux/mips/sigaction.c: Define restore and ++ restore_rt functions. Use them. ++ ++ * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Don't ++ .set mips2 on new abis. ++ ++2003-03-13 Ulrich Drepper <drepper@redhat.com> ++ ++ * posix/getconf.c: Recognize POSIX2_SYMLINKS. ++ * sysdeps/generic/bits/confname.h: Define _PC_2_SYMLINKS. ++ * sysdeps/posix/fpathconf.c: Handle _PC_2_SYMLINKS. ++ * sysdeps/posix/pathconf.c: Likewise. ++ * sysdeps/unix/sysv/linux/fpathconf.c: Likewise. ++ * sysdeps/unix/sysv/linux/pathconf.c: Likewise. ++ * sysdeps/unix/sysv/linux/pathconf.h: Define statfs_symlinks. ++ ++ * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define some more magic ++ words. ++ ++2003-03-14 Alexandre Oliva <aoliva@redhat.com> ++ ++ * include/gmp.h: Include/gmp-mparam.h. ++ * stdlib/strtod.c: Include gmp-mparam.h before gmp.h and ++ gmp-impl.h. ++ ++ * elf/dl-conflict.c: Don't compile _dl_resolve_conflicts if ++ ELF_MACHINE_NO_RELA is set. ++ * elf/rtld.c (dl_main): No prelink support for REL-only. ++ ++ * sysdeps/generic/ldconfig.h (FLAG_MIPS64_LIBN32, ++ FLAG_MIPS64_LIBN64): Define. ++ * elf/cache.c (print_entry): Handle mips64 n32 and n64. ++ ++ * sysdeps/mips/memcpy.S: Map t0-3 to a4-7 on new abis. ++ * sysdeps/mips/memset.S: Likewise. ++ * sysdeps/mips/sys/regdef.h: Alias a4-7 or t0-3 to $8-11 ++ depending on the ABI. ++ ++ * sysdeps/mips/atomicity.h (exchange_and_add, atomic_add): ++ Don't .set mips2 on new abi. ++ (compare_and_swap): Likewise. Support 64-bit longs on n64. ++ ++ * stdlib/fpioconst.h: Include gmp.h with angle brackets. ++ ++2003-03-13 Roland McGrath <roland@redhat.com> ++ ++ * elf/dl-load.c (_dl_map_object_from_fd): Bail if no PT_LOAD phdrs ++ found. Reported by Alexandre Oliva <aoliva@redhat.com>. ++ ++2003-03-13 Alexandre Oliva <aoliva@redhat.com> ++ ++ * stdio-common/_itoa.c (_itoa_base_table): Make 64-bit ++ literals long long. ++ * stdlib/fpioconst.c: Likewise. ++ * stdlib/strtod.c: Likewise. ++ ++ * sysdeps/mips/add_n.S: Use L macro for local labels. ++ * sysdeps/mips/addmul_1.S: Likewise. ++ * sysdeps/mips/lshift.S: Likewise. ++ * sysdeps/mips/memcpy.S: Likewise. ++ * sysdeps/mips/memset.S: Likewise. ++ * sysdeps/mips/mul_1.S: Likewise. ++ * sysdeps/mips/rshift.S: Likewise. ++ * sysdeps/mips/sub_n.S: Likewise. ++ * sysdeps/mips/submul_1.S: Likewise. ++ * sysdeps/mips/mips64/add_n.S: Likewise. ++ * sysdeps/mips/mips64/addmul_1.S: Likewise. ++ * sysdeps/mips/mips64/lshift.S: Likewise. ++ * sysdeps/mips/mips64/mul_1.S: Likewise. ++ * sysdeps/mips/mips64/rshift.S: Likewise. ++ * sysdeps/mips/mips64/sub_n.S: Likewise. ++ * sysdeps/mips/mips64/submul_1.S: Likewise. ++ * sysdeps/unix/mips/sysdep.h: Define L() according to ABI ++ conventions. Define END as in sys/asm.h. ++ * sysdeps/unix/mips/sysdep.S: Likewise. ++ * sysdeps/unix/mips/wait.S: Likewise. ++ * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. ++ ++ * sysdeps/ieee754/dbl-64/dbl2mpn.c (__mpn_extract_double): ++ Cast shifted values that may be too narrow to mp_limb_t. ++ * sysdeps/ieee754/dbl-64/mpn2dbl.c (__mpn_construct_double): ++ Likewise. ++ * sysdeps/ieee754/flt-32/mpn2flt.c (__mpn_construct_float): ++ Likewise. ++ * sysdeps/ieee754/ldbl-128/ldbl2mpn.c ++ (__mpn_extract_long_double): Likewise. ++ * sysdeps/ieee754/ldbl-128/mpn2ldbl.c ++ (__mpn_construct_long_double): Likewise. ++ * sysdeps/ieee754/ldbl-96/ldbl2mpn.c ++ (__mpn_extract_long_double): Likewise. ++ * sysdeps/ieee754/ldbl-96/mpn2ldbl.c ++ (__mpn_construct_long_double): Likewise. ++ ++2003-03-13 Roland McGrath <roland@redhat.com> ++ ++ * elf/Makefile ($(objpfx)librtld.mk): Tweak regexp so that one-line ++ entries in the map file match too. ++ ++2003-03-13 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/unix/sysv/linux/mips/clone.S: introduce and use local ++ label .Lthread_start since current binutils don't allow branches ++ to globally visible symbols. ++ ++2003-03-13 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h (BREAK_INSN_1, BREAK_INSN, ++ ASM_OUTARGS_0, ASM_OUTARGS_1, ASM_OUTARGS_2, ASM_OUTARGS_3, ++ ASM_OUTARGS_4, ASM_OUTARGS_5, ASM_OUTARGS_6): Define. ++ (INTERNAL_SYSCALL, INLINE_SYSCALL): Use it. Make syscall arguments ++ clobbered by the syscall. ++ (ASM_ARGS_1, ASM_ARGS_2, ASM_ARGS_3, ASM_ARGS_4, ASM_ARGS_5, ++ ASM_ARGS_6): Change constraints from r to index of corresponding ++ output register. ++ * sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Swap ++ ptid and ctid to match kernel. ++ * sysdeps/unix/sysv/linux/ia64/system.c (FORK): Likewise. ++ ++2003-03-12 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/powerpc/powerpc64/elf/configure.in: Remove ++ AC_DEFINE(PI_STATIC_AND_HIDDEN). Not supported for PowerPC64. ++ * sysdeps/powerpc/powerpc64/elf/configure: Regenerated. ++ ++2003-03-11 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): ++ Check SYM_MAP rather than SYM as definedness check. ++ Handle R_PPC64_ADDR32, R_PPC64_ADDR30, and R_PPC64_REL64 relocs. ++ Don't handle R_PPC64_REL24 reloc. ++ Mostly from Steven Munroe <sjmunroe@us.ibm.com>. ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h ++ [USE_TLS] (elf_machine_type_class): Match all the TLS relocs in a ++ block, so we cover all the TPREL16* flavors without 6 ||s. ++ [USE_TLS] (elf_machine_tprel): New function. ++ (elf_machine_rela) [USE_TLS]: Use elf_machine_tprel for TPREL64 reloc, ++ and handle TPREL16 relocs too. Return rather than break for DTPREL64. ++ Mostly from Steven Munroe <sjmunroe@us.ibm.com>. ++ ++2003-03-11 Ralf Baechle <ralf@linux-mips.org> ++ ++ * sysdeps/unix/sysv/linux/mips/clone.S (__thread_start): Use jal ++ instead of jalr to invoke subroutine so restoring the $gp register ++ will work properly. ++ ++2003-03-11 Martin Schwidefsky <schwidefsky@de.ibm.com> ++ ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread64): Define ++ to __NR_pread if not defined. ++ (__NR_pwrite64): Define to __NR_pwrite if not defined. ++ ++2003-03-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/ia64/system.c: New file. ++ * sysdeps/unix/sysv/linux/kernel-features.h ++ (__ASSUME_CLONE_THREAD_FLAGS): Define for IA-64 and s390* with ++ kernel >= 2.5.64. ++ ++2003-03-11 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): If CNT == 1, ++ allocate space even for the trailing '/'. ++ Reported by John Reiser <jreiser@BitWagon.com>. ++ ++ * sysdeps/unix/sysv/linux/ia64/sysdep.h (LOAD_ARGS_6, ASM_ARGS_6, ++ ASM_CLOBBERS_6): Define. ++ (ASM_CLOBBERS_5): Use ASM_CLOBBERS_6. ++ * sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Reorder arguments ++ to match IA-32 order. ++ * sysdeps/unix/sysv/linux/i386/clone.S: Fix comment. ++ ++2003-03-10 Steven Munroe <sjmunroe@us.ibm.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7. ++ Copy extra params for NPTL to registers used in clone syscall. ++ ++2003-03-10 Martin Schwidefsky <schwidefsky@de.ibm.com> ++ ++ * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Correct system ++ call names for pread and pwrite. ++ ++2003-03-10 Roland McGrath <roland@redhat.com> ++ ++ * dlfcn/Makefile (libdl-routines): Add dladdr1. ++ * dlfcn/dladdr1.c: New file. ++ * dlfcn/dlfcn.h [__USE_GNU]: Declare dladdr1. ++ [__USE_GNU] (RTLD_DL_SYMENT, RTLD_DL_LINKMAP): New enum constants. ++ * elf/dl-addr.c (_dl_addr): Take new args, a struct link_map ** and ++ a const ElfNN_Sym ** to fill in. ++ * include/dlfcn.h: Update decl. Include <link.h>. ++ * dlfcn/dladdr.c (dladdr): Update caller. ++ * malloc/mtrace.c (tr_where): Likewise. ++ * sysdeps/generic/elf/backtracesyms.c: Likewise. ++ * sysdeps/generic/elf/backtracesymsfd.c: Likewise. ++ * dlfcn/Versions (libdl: GLIBC_2.3.3): New set, add dladdr1. ++ * Versions.def (libdl): Define GLIBC_2.3.3 set. ++ ++ * sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for ++ assembler command. ++ * sysdeps/unix/Makefile (compile-syscall): New variable. ++ Pass -g0 to compiler for assembling syscall stubs from stdin. ++ ++ * sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO] ++ (STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END): ++ Define these to do nothing. ++ ++ * 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). ++ ++2003-03-09 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Take 3 new args ++ used by NPTL on new kernels. From Paul Mackerras <paulus@samba.org>. ++ ++2003-03-09 Ulrich Drepper <drepper@redhat.com> ++ ++ * po/fi.po: Update from translation team. ++ * po/ca.po: Likewise. ++ * po/da.po: Likewise. ++ ++2003-03-08 Ulrich Drepper <drepper@redhat.com> ++ ++ * rt/tst-aio7.c (do_test): Change BYTES into a #define. ++ ++2003-03-07 Ulrich Drepper <drepper@redhat.com> ++ ++ * rt/tst-aio7.c (do_test): Give BUFF permanent extent, too. ++ ++ * sysdeps/powerpc/fpu/w_sqrt.c: Fix comment. ++ ++2003-03-07 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/s390/s390-32/sysdep.h (L): Use .Lfoo instead of foo. ++ * sysdeps/s390/s390-64/sysdep.h (L): Likewise. ++ ++2003-03-04 Guido Guenther <agx@sigxcpu.org> ++ ++ * sysdeps/unix/sysv/linux/mips/syscalls.list: Remove unneeded ++ stubs, we have INLINE_SYSCALL. ++ * sysdeps/unix/sysv/linux/mips/bits/mman.h: Define MAP_POPULATE, ++ MAP_NONBLOCK. ++ ++2003-03-06 Roland McGrath <roland@redhat.com> ++ ++ * rt/tst-aio7.c (do_test): Revert last change. Instead, give CB1 ++ permanent extent and add a comment about testing its implicit teardown. ++ ++2003-03-06 Martin Schwidefsky <schwidefsky@de.ibm.com> ++ ++ * rt/tst-aio7.c (do_test): Cancel i/o on CB1 before it's out of scope. ++ ++2003-03-05 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Fix ++ reversed __builtin_expect expectation. ++ ++2003-03-05 Roland McGrath <roland@redhat.com> ++ ++ * stdio-common/sscanf.c: Use prototype defn with ... syntax. ++ * libio/swscanf.c: Likewise. ++ * libio/swprintf.c: Likewise. ++ ++2003-03-04 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h: Include <dl-tls.h>. ++ (elf_machine_rela): Always use RESOLVE_MAP, needed for ++ R_PPC64_JMP_SLOT as well as TLS cases. ++ (BIT_INSERT): Move parenthesis where it ought to have been. ++ Reported by Steven Munroe <sjmunroe@us.ibm.com>. ++ ++ * posix/confstr.c (confstr): Correct STRING_LEN values for ++ _CS_GNU_LIBC_VERSION and _CS_GNU_LIBPTHREAD_VERSION, add missing ++ break. Reported by Alexandre Julliard <julliard@winehq.com>. ++ ++2003-03-04 Jakub Jelinek <jakub@redhat.com> ++ ++ * sysdeps/ia64/fpu/libm-test-ulps: Regenerated. ++ ++2003-03-04 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/x86_64/clone.S: Add support for the new ++ clone parameters. ++ ++ * po/sv.po: Update from translation team. ++ ++2003-03-04 Andreas Jaeger <aj@suse.de> ++ Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Fix comments. ++ ++2003-03-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * sysdeps/generic/dl-sysdep.h: Add double include protection. ++ ++ * po/tr.po: Update from translation team. ++ ++ * elf/dl-load.c (_dl_map_object_from_fd): Determine whether there ++ are holes between the segments. Only call mprotect to set ++ proection to PROT_NONE if there are some. ++ ++ * elf/dl-load.c (struct filebuf): Actually use FILEBUF_SIZE. ++ Update comment. ++ ++ * include/sched.h (__clone2): Use ... instead of adding all the ++ new parameters. ++ ++2003-03-03 Roland McGrath <roland@redhat.com> ++ ++ * elf/dl-load.c (struct filebuf): Fix typo in last change. ++ ++ * sysdeps/powerpc/powerpc32/elf/configure.in: Don't define ++ PI_STATIC_AND_HIDDEN. ++ ++2003-03-03 Ian Wienand <ianw@gelato.unsw.edu.au> ++ ++ * sysdeps/unix/sysv/linux/ia64/clone2.S: Update to take extra clone ++ flags. ++ * include/sched.h: Update clone2 prototype. ++ ++2003-03-03 Andreas Jaeger <aj@suse.de> ++ ++ * math/tgmath.h (__TGMATH_UNARY_REAL_RET_ONLY): New definition. ++ (llrint): Use it to correct return type. ++ (lrint): Likewise. ++ (lround): Likewise. ++ (llround): Likewise. ++ ++2003-03-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/dl-load.c (struct filebuf): For 64-bit platforms use 640 ++ byte filebuf size. ++ ++ * libio/fileops.c (_IO_new_file_fopen): Close stillborn descriptor ++ if ccs parameter isn't valid. Reported by Andreas Schwab. ++ ++2003-03-03 Martin Schwidefsky <schwidefsky@de.ibm.com> ++ ++ * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall): Add support ++ for system call numbers > 255. ++ * sysdeps/unix/sysv/linux/s390/s390-32/syscall.h (DO_CALL, ++ INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0, ++ INTERNAL_SYSCALL): Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S (syscall): Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/syscall.h (DO_CALL, ++ INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0, ++ INTERNAL_SYSCALL): Likewise. ++ ++2003-03-03 Martin Schwidefsky <schwidefsky@de.ibm.com> ++ ++ * sysdeps/generic/dl-tls.c (_dl_deallocate_tls): Don't free the dtv ++ array if it is the initial dtv. ++ ++2003-03-03 Ulrich Drepper <drepper@redhat.com> ++ ++ * po/es.po: Update from translation team. ++ * po/fr.po: Likewise. ++ * po/gl.po: Likewise. ++ * po/sk.po: Likewise. ++ * po/sv.po: Likewise. ++ ++ * sysdeps/unix/sysv/linux/syscalls.list: Add remap_file_pages entry. ++ * misc/sys/mman.h: Add prototype for remap_file_pages. ++ * sysdeps/generic/remap_file_pages.c: New file. ++ * misc/Makefile (routines): Add remap_file_pages. ++ * misc/Versions [libc:GLIBC_2.3.3]: Add remap_file_pages. ++ ++ * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_POPULATE ++ and MAP_NONBLOCK. ++ * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise ++ * sysdeps/unix/sysv/linux/m68k/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/arm/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/alpha/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise. ++ ++2003-03-03 Roland McGrath <roland@redhat.com> ++ ++ * sysdeps/ia64/dl-fptr.c (__ia64_make_fptr): Revert last change. ++ * sysdeps/ia64/dl-machine.h: Likewise. ++ * sysdeps/ia64/dl-symaddr.c (_dl_symbol_address): Remove const from ++ argument type. ++ * sysdeps/ia64/dl-lookupcfg.h: Update decl. ++ ++ * sysdeps/wordsize-64/strtol_l.c (strtoll_l): Define as weak alias. ++ * sysdeps/wordsize-64/strtoul_l.c (strtoull_l): Define as weak alias. ++ * locale/Versions (libc: GLIBC_2.3): Move those to ... ++ * sysdeps/wordsize-32/Versions (libc: GLIBC_2.3): ... here, new file. ++ * sysdeps/wordsize-64/Versions (libc: GLIBC_2.3.3) Likewise. ++ * Versions.def (libc): Add GLIBC_2.3.3 set. ++ ++ * sysdeps/ia64/dl-fptr.c (__ia64_make_fptr): Add const to MAP arg. ++ * sysdeps/ia64/dl-machine.h: Update decl. ++ ++2003-03-03 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/unix/clock_settime.c (HANDLE_REALTIME): Add missing brace. ++ ++2003-03-02 Roland McGrath <roland@redhat.com> ++ ++ * scripts/abilist.awk: Reject data items with apparent 0 size. ++ ++ * scripts/merge-abilist.awk: Restore hack to elide pattern foo.*/bar ++ after foo.* as if it were a duplicate. ++ ++ * sysdeps/unix/sysv/linux/ia64/brk.S: Add .type and .size for __curbrk. ++ ++2003-03-02 Ulrich Drepper <drepper@redhat.com> ++ ++ * elf/dl-load.c (struct filebuf): Reduce buf array to 512 bytes. ++ ++ * sysdeps/generic/bits/time.h: Define CLOCK_MONOTONIC. ++ * sysdeps/posix/clock_getres.c: Define code for CLOCK_REALTIME only ++ if not already defined. Use SYSDEP_GETRES to allow other files to ++ provide alternative implementations. ++ * sysdeps/unix/sysv/linux/clock_getres.c: New file ++ * sysdeps/unix/clock_gettime.c: Define code for CLOCK_REALTIME only ++ if not already defined. Use SYSDEP_GETTIME to allow other files to ++ provide alternative implementations. ++ * sysdeps/unix/sysv/linux/clock_gettime.c: New file. ++ * sysdeps/unix/clock_settime.c: Define code for CLOCK_REALTIME only ++ if not already defined. Use SYSDEP_GETTIME to allow other files to ++ provide alternative implementations. ++ * sysdeps/unix/sysv/linux/clock_settime.c: New file. ++ * sysdeps/unix/clock_nanosleep.c: Use SYSDEP_NANOSLEEP to allow ++ other files to provide alternative implementations. Rearrange ++ tests for invalid parameters. ++ * sysdeps/unix/sysv/linux/clock_nanosleep.c: New file. ++ * sysdeps/unix/sysv/linux/sysconf.c: New file. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_POSIX_TIMERS for Linux 2.5.63 and up. ++ * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define ++ _POSIX_MONOTONIC_CLOCK. ++ ++2003-03-02 Roland McGrath <roland@redhat.com> ++ ++ * scripts/merge-abilist.awk: More checks for bogus input. ++ Uniquify duplicate config names. ++ ++ * scripts/abilist.awk: Don't distinguish weak symbols in normal output. ++ ++ * sysdeps/powerpc/powerpc32/dl-machine.c (_dl_reloc_overflow): Renamed ++ from dl_reloc_overflow, make global. ++ (__process_machine_rela): Update callers. ++ * sysdeps/powerpc/powerpc32/dl-machine.h: Declare _dl_reloc_overflow. ++ Add attribute_hidden to __process_machine_rela decl. ++ (elf_machine_type_class, elf_machine_rela): Handle 16-bit TLS relocs. ++ ++ * sysdeps/generic/libc-start.c (__libc_start_main): Don't assign const ++ variable. ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_fixup_plt): ++ Don't use weak_extern for dl_rtld_map. Instead check only if [SHARED]. ++ (elf_machine_rela): Clean up. ++ ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Clean up. ++ ++ PowerPC TLS support contributed by Paul Mackerras <paulus@samba.org>. ++ * sysdeps/powerpc/powerpc32/elf/configure.in: New file. ++ * sysdeps/powerpc/powerpc32/elf/configure: New generated file. ++ * elf/tls-macros.h [__powerpc__ && !__powerpc64__] ++ (TLS_LE, TLS_IE, TLS_LD, TLS_GD): Define them. ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Support ++ new relocs for TLS. ++ ++ * sysdeps/powerpc/dl-tls.h (TLS_TP_OFFSET, TLS_DTV_OFFSET): Move these ++ macros out of [SHARED]. ++ (TLS_TPREL_VALUE, TLS_DTPREL_VALUE): New macros. ++ ++ * elf/elf.h: Define R_PPC_* relocs for TLS support. ++ Clean up R_PPC64_* macro definition comments. ++ ++ * configure.in: In "running configure fragment for" message, ++ omit $srcdir from the name if we prepended it. ++ * configure: Regenerated. ++ ++ * elf/dl-reloc.c (allocate_static_tls): Fix calculations. ++ From Jakub Jelinek <jakub@redhat.com>. ++ ++ * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Revert last change, ++ which duplicated the O_DIRECT defn. ++ ++2003-03-01 GOTO Masanori <gotom@debian.or.jp> ++ ++ * stdlib/stdlib.h: Add missing __USE_BSD enclosure for BSD derived ++ random functions. ++ ++2003-03-01 Andreas Schwab <schwab@suse.de> ++ ++ * resolv/Makefile (tests): Don't depend on ++ $(objpfx)mtrace-tst-leaks when cross compiling. ++ ++ * sysdeps/m68k/dl-machine.h (_dl_start_user): Access ++ __libc_stack_end through GOT since it is a global symbol. ++ + 2003-03-01 GOTO Masanori <gotom@debian.or.jp> + + * argp/argp.h: Fix a typo. +@@ -5561,6 +11477,16 @@ + (common-mostlyclean, common-clean): Clean up rtld-* files. + * sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules. + ++2003-05-20 Jakub Jelinek <jakub@redhat.com> ++ ++ * elf/dynamic-link.h (elf_get_dynamic_info): Add temp argument. ++ If temp != NULL, copy dynamic entries which need relocation to temp ++ array before relocating. ++ (DL_RO_DYN_TEMP_CNT): Define. ++ * elf/dl-load.c (_dl_map_object_from_fd): Adjust caller. ++ * elf/rtld.c (_dl_start): Likewise. ++ (dl_main): Likewise. Add dyn_temp static variable. ++ + 2002-10-11 Roland McGrath <roland@redhat.com> + + * sysdeps/generic/dl-tls.c (__tls_get_addr): After freeing block in +--- glibc-2.3.2/Makeconfig 2003-01-06 00:31:36.000000000 -0500 ++++ glibc-2.3.2/Makeconfig 2003-09-19 22:37:01.000000000 -0400 +@@ -83,6 +83,12 @@ + # Get the values defined by options to `configure'. + include $(common-objpfx)config.make + ++# What flags to give to sources which call user provided callbacks ++uses-callbacks = $(exceptions) ++ ++# What flags to give to tests which test stack alignment ++stack-align-test-flags = ++ + # We have a special subdir for each binary format. + # For now, only ELF is fully supported. + ifeq ($(elf),yes) +@@ -505,7 +511,7 @@ + link-extra-libs-bounded = $(foreach lib,$(LDLIBS-$(@F:%-bp=%)),$(common-objpfx)$(lib)_b.a) + + ifndef gnulib +-gnulib := -lgcc ++gnulib := -lgcc -lgcc_eh + endif + ifeq ($(elf),yes) + +preinit = $(addprefix $(csu-objpfx),crti.o) +@@ -621,7 +627,7 @@ + +includes = -I$(..)include -I. \ + $(patsubst %/,-I%,$(objpfx)) $(patsubst %/,-I%,$(..)) \ + $(libio-include) $(includes) \ +- $(+sysdep-includes) $(last-includes) $(sysincludes) ++ $(+sysdep-includes) $(sysincludes) + + # Since libio has several internal header files, we use a -I instead + # of many little headers in the include directory. +@@ -669,6 +675,8 @@ + libtype.os := lib%_pic.a + # This can be changed by a sysdep makefile + pic-ccflag = -fPIC ++# This one should always stay like this unless there is a very good reason. ++PIC-ccflag = -fPIC + endif + ifeq (yes,$(build-profile)) + # Under --enable-profile, we will build a static library of profiled objects. +@@ -711,11 +719,20 @@ + # Must build the routines as PIC, though, because they can end up in (users') + # shared objects. We don't want to use CFLAGS-os because users may, for + # example, make that processor-specific. +-CFLAGS-.oS = $(CFLAGS-.o) $(pic-ccflag) ++CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag) + CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1 + libtype.oS = lib%_nonshared.a + endif + ++# The assembler can generate debug information too. ++ifndef ASFLAGS ++ifeq ($(have-cpp-asm-debuginfo),yes) ++ASFLAGS := $(filter -g%,$(CFLAGS)) ++else ++ASFLAGS := ++endif ++endif ++ASFLAGS += $(ASFLAGS-config) + + +gnu-stabs = $(shell echo>&2 '*** BARF ON ME') + +@@ -921,11 +938,11 @@ + all-Depend-files = $(wildcard $(..)*/Depend) + $(common-objpfx)sysd-sorted: $(..)scripts/gen-sorted.awk $(all-Depend-files) \ + $(common-objpfx)sysd-dirs $(..)Makeconfig +- { { dirs='$(patsubst $(..)%/Depend,$(..)%,$(filter %/Depend,$^))';\ ++ { { dirs='$(patsubst $(..)%/Depend,%,$(filter %/Depend,$^))'; \ + for d in $$dirs; do \ + while read on; do \ + echo "depend $$d $$on"; \ +- done < $$d/Depend; \ ++ done < $(..)$$d/Depend; \ + done; \ + for f in $(all-subdirs); do \ + echo $$f; \ +--- glibc-2.3.2/Makefile 2003-02-21 01:22:51.000000000 -0500 ++++ glibc-2.3.2/Makefile 2003-09-19 22:37:01.000000000 -0400 +@@ -228,6 +228,18 @@ + tests-clean: + @$(MAKE) subdir_testclean no_deps=t + ++tests: $(objpfx)c++-types-check.out ++ifneq ($(CXX),no) ++ifneq (,$(wildcard scripts/data/c++-types-$(base-machine)-$(config-os).data)) ++$(objpfx)c++-types-check.out: scripts/data/c++-types-$(base-machine)-$(config-os).data ++ scripts/check-c++-types.sh $^ $(CXX) $(filter-out -std=gnu99,$(CFLAGS)) $(CPPFLAGS) > $@ ++else ++$(objpfx)c++-types-check.out: ++ @echo 'WARNING C++ tests not run; create a c++-types-XXX file' ++ @echo "not run" > $@ ++endif ++endif ++ + # The realclean target is just like distclean for the parent, but we want + # the subdirs to know the difference in case they care. + realclean distclean: parent-clean +@@ -274,6 +286,7 @@ + include/shlib-compat.h include/pthread.h Versions.def \ + cppflags-iterator.mk tls.make.c \ + include/stubs-prologue.h include/gnu/stubs.h \ ++ include/atomic.h bits/atomic.h \ + INTERFACE CONFORMANCE NAMESPACE LICENSES \ + $(addprefix scripts/, \ + rellns-sh config.sub config.guess \ +@@ -282,7 +295,11 @@ + gen-sorted.awk abi-versions.awk abilist.awk \ + firstversions.awk documented.sh cpp \ + output-format.sed gen-as-const.awk \ +- merge-abilist.awk extract-abilist.awk) ++ merge-abilist.awk extract-abilist.awk \ ++ rpm2dynsym.sh \ ++ ) \ ++ $(wildcard scripts/data/*.data) \ ++ $(wildcard abilist/*.abilist) + + distribute := $(strip $(distribute)) + generated := $(generated) stubs.h +@@ -318,12 +335,6 @@ + iconvdata/% localedata/% po/% manual/%: + $(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F) + +-# This is a special goal for people making binary distributions. Normally +-# everybody uses the DES based crypt library but for the distribution we +-# need the only-MD5 based one as well. +-md5-crypt/libmd5crypt: +- $(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F) +- + # glibc 2.0 contains some header files which aren't used with glibc 2.1 + # anymore. + # These rules should remove those headers +--- glibc-2.3.2/Makefile.in 2000-11-15 18:03:08.000000000 -0500 ++++ glibc-2.3.2/Makefile.in 2002-11-16 08:53:55.000000000 -0500 +@@ -1,4 +1,4 @@ +-# Generated from $Id: Makefile.in,v 1.7 2000/11/15 23:03:08 drepper Exp $. ++# Generated from $Id: Makefile.in,v 1.6 1998/02/26 14:51:55 drepper Exp $. + + srcdir = @srcdir@ + +--- glibc-2.3.2/Makerules 2003-02-22 18:23:31.000000000 -0500 ++++ glibc-2.3.2/Makerules 2003-09-19 22:37:01.000000000 -0400 +@@ -125,29 +125,9 @@ + endif # avoid-generated + endif # $(versioning) = yes + +- +-# Generating headers for assembly constants. +-# We need this defined early to get into before-compile before +-# it's used in sysd-rules, below. +-$(common-objpfx)%.h $(common-objpfx)%.h.d: $(..)scripts/gen-as-const.awk \ +- %.sym $(before-compile) +- $(AWK) -f $< $(filter %.sym,$^) \ +- | $(CC) -S -o - $(CFLAGS) $(CPPFLAGS) -x c - \ +- -MD -MF $(@:.h=.h.d)T -MT '$(@:.h=.h.d) $(@:.h.d=.h)' \ +- | sed -n 's/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$$/#define \1 \2/p' > $(@:.h.d=.h)T +- sed $(sed-remove-objpfx) $(sed-remove-dotdot) \ +- $(@:.h=.h.d)T > $(@:.h=.h.d)T2 +- rm -f $(@:.h=.h.d)T +- mv -f $(@:.h=.h.d)T2 $(@:.h=.h.d) +- mv -f $(@:.h.d=.h)T $(@:.h.d=.h) +-vpath %.sym $(sysdirs) +-before-compile += $(gen-as-const-headers:%.sym=$(common-objpfx)%.h) +- +- +-# When we have no deps pass doing it, then make sure the subdirectory +-# for object files gets created. +-ifdef no_deps ++# Make sure the subdirectory for object files gets created. + ifdef objpfx ++ifeq (,$(wildcard $(objpfx).)) + before-compile += $(objpfx). + $(objpfx).: + $(make-target-directory) +@@ -166,26 +146,59 @@ + $(before-compile): + endif + ++# We don't want $(common-objpfx) files to depend on miscellaneous stuff ++# in subdirs. ++ifdef subdir ++common-before-compile := $(filter-out $(objpfx)%,$(before-compile)) ++else ++common-before-compile = $(before-compile) ++endif ++ ++ifndef subdir + # If a makefile needs to do something conditional on something that + # can only be figured out from headers, write a FOO.make.c input + # file that uses cpp contructs and contains @@@ LINE @@@ for each LINE + # to emit in the generated makefile, and use -include $(common-objpfx)FOO.make. +-$(common-objpfx)%.make: $(..)%.make.c $(..)Makerules $(before-compile) ++# ++# We only generate these in the top-level makefile, to avoid any weirdness ++# from subdir-specific makefile tweaks creeping in on an update. ++$(common-objpfx)%.make: $(..)%.make.c $(..)Makerules $(common-before-compile) + rm -f $@T $@.dT + (echo '# Generated from $*.make.c by Makerules.'; \ +- SUNPRO_DEPENDENCIES='$@.dT $$(common-objpfx)$*.make' \ + $(CC) $(CFLAGS) $(CPPFLAGS) -E $< \ ++ -MD -MP -MT '$$(common-objpfx)$*.make' -MF $@.dT \ + | sed -n '/@@@/{s/@@@[ ]*\(.*\)@@@/\1/;s/[ ]*$$//p;}'; \ + echo 'common-generated += $(@F)'; \ + sed $(sed-remove-objpfx) $(sed-remove-dotdot) $@.dT; \ + rm -f $@.dT) > $@T + mv -f $@T $@ ++endif + + ifdef subdir +-sed-remove-dotdot := -e 's@ *\.\.\/\([^ \]*\)@ $$(..)\1@g' ++sed-remove-dotdot := -e 's@ *\.\.\/\([^ \]*\)@ $$(..)\1@g' \ ++ -e 's@^\.\.\/\([^ \]*\)@$$(..)\1@g' + else +-sed-remove-dotdot := -e 's@ *\([^ \/$$][^ \]*\)@ $$(..)\1@g' ++sed-remove-dotdot := -e 's@ *\([^ \/$$][^ \]*\)@ $$(..)\1@g' \ ++ -e 's@^\([^ \/$$][^ \]*\)@$$(..)\1@g' + endif ++ ++ ++# Generating headers for assembly constants. ++# We need this defined early to get into before-compile before ++# it's used in sysd-rules, below. ++$(common-objpfx)%.h $(common-objpfx)%.h.d: $(..)scripts/gen-as-const.awk \ ++ %.sym $(common-before-compile) ++ $(AWK) -f $< $(filter %.sym,$^) \ ++ | $(CC) -S -o - $(CFLAGS) $(CPPFLAGS) -x c - \ ++ -MD -MP -MF $(@:.h=.h.d)T -MT '$(@:.h=.h.d) $(@:.h.d=.h)' \ ++ | sed -n 's/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$$/#define \1 \2/p' > $(@:.h.d=.h)T ++ sed $(sed-remove-objpfx) $(sed-remove-dotdot) \ ++ $(@:.h=.h.d)T > $(@:.h=.h.d)T2 ++ rm -f $(@:.h=.h.d)T ++ mv -f $(@:.h=.h.d)T2 $(@:.h=.h.d) ++ mv -f $(@:.h.d=.h)T $(@:.h.d=.h) ++vpath %.sym $(sysdirs) ++before-compile += $(gen-as-const-headers:%.sym=$(common-objpfx)%.h) + + # Generate an ordered list of implicit rules which find the source files in + # each sysdep directory. The old method was to use vpath to search all the +@@ -193,15 +206,6 @@ + # later directory would be chosen over a .c file in an earlier directory, + # which does not preserve the desired sysdeps ordering behavior. + +-# When making the list of .d files to include, we can't know which ones +-# have source in .s files, and thus do not in fact need a .d file. +-# So we must define rules to make .d files for .s files. +-define make-dummy-dep +-$(addprefix ln $(common-objpfx)dummy.d ,$(filter-out $(wildcard $@),$@)) +-endef +-$(common-objpfx)dummy.d: +- echo '# .s files cannot contain includes, so they need no deps.' > $@ +- + # It matters that this set of rules, for compiling from sources in + # the current directory (the $srcdir/$subdir) come before the + # generated sysdep rules in included from sysd-rules below. When +@@ -212,21 +216,18 @@ + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: %.S $(before-compile); $(+make-deps) + + define o-iterator-doit + $(objpfx)%$o: %.s $(before-compile); $$(compile-command.s) + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: %.s $(common-objpfx)dummy.d; $(make-dummy-dep) + + define o-iterator-doit + $(objpfx)%$o: %.c $(before-compile); $$(compile-command.c) + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: %.c $(before-compile); $(+make-deps) + + # Omit the objpfx rules when building in the source tree, because + # objpfx is empty and so these rules just override the ones above. +@@ -238,21 +239,18 @@ + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: $(objpfx)%.S $(before-compile); $(+make-deps) + + define o-iterator-doit + $(objpfx)%$o: $(objpfx)%.s $(before-compile); $$(compile-command.s) + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: $(objpfx)%.s $(common-objpfx)dummy.d; $(make-dummy-dep) + + define o-iterator-doit + $(objpfx)%$o: $(objpfx)%.c $(before-compile); $$(compile-command.c) + endef + object-suffixes-left := $(all-object-suffixes) + include $(o-iterator) +-$(objpfx)%.d: $(objpfx)%.c $(before-compile); $(+make-deps) + endif + + # System-dependent makefiles can put in `inhibit-sysdep-asm' wildcard +@@ -301,26 +299,6 @@ + echo "\$$(objpfx)ptw-%$$o: $$dir/%.c \$$(before-compile); \ + \$$(compile-command.c)"; \ + done; \ +- $(open-check-inhibit-asm) \ +- echo "\$$(objpfx)%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \ +- \$$(make-dummy-dep)"; \ +- echo "\$$(objpfx)rtld-%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \ +- \$$(make-dummy-dep)"; \ +- echo "\$$(objpfx)ptw-%.d: $$dir/%.s \$$(common-objpfx)dummy.d; \ +- \$$(make-dummy-dep)"; \ +- echo "\$$(objpfx)%.d: $$dir/%.S \$$(before-compile); \ +- \$$(+make-deps)"; \ +- echo "\$$(objpfx)rtld-%.d: $$dir/%.S \$$(before-compile); \ +- \$$(+make-deps)"; \ +- echo "\$$(objpfx)ptw-%.d: $$dir/%.S \$$(before-compile); \ +- \$$(+make-deps)"; \ +- $(close-check-inhibit-asm) \ +- echo "\$$(objpfx)%.d: $$dir/%.c \$$(before-compile); \ +- \$$(+make-deps)"; \ +- echo "\$$(objpfx)rtld-%.d: $$dir/%.c \$$(before-compile); \ +- \$$(+make-deps)"; \ +- echo "\$$(objpfx)ptw-%.d: $$dir/%.c \$$(before-compile); \ +- \$$(+make-deps)"; \ + echo "\$$(objpfx)m_%.S: $$dir/s_%.S; \$$(+make-include-of-dep)"; \ + echo "\$$(objpfx)m_%.c: $$dir/s_%.c; \$$(+make-include-of-dep)"; \ + done; \ +@@ -383,32 +361,20 @@ + endif # $(versioning) = yes + endif # sysd-sorted-done + +- +-ifndef compile-command.S +-compile-command.S = $(compile.S) $(OUTPUT_OPTION) +-endif +-ifndef compile-command.s +-compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) +-endif +-ifndef compile-command.c +-compile-command.c = $(compile.c) $(OUTPUT_OPTION) +-endif ++# Generate .dT files as we compile. ++compile-mkdep-flags = -MD -MP -MF $@.dt ++compile-command.S = $(compile.S) $(OUTPUT_OPTION) $(compile-mkdep-flags) ++compile-command.s = $(COMPILE.s) $< $(OUTPUT_OPTION) $(compile-mkdep-flags) ++compile-command.c = $(compile.c) $(OUTPUT_OPTION) $(compile-mkdep-flags) + + # GCC can grok options after the file name, and it looks nicer that way. + compile.c = $(CC) $< -c $(CFLAGS) $(CPPFLAGS) +-compile.S = $(CC) $< -c $(CPPFLAGS) $(S-CPPFLAGS) $(ASFLAGS-$(suffix $@)) +-COMPILE.S = $(CC) -c $(CPPFLAGS) $(S-CPPFLAGS) $(ASFLAGS-$(suffix $@)) ++compile.S = $(CC) $< -c $(CPPFLAGS) $(S-CPPFLAGS) \ ++ $(ASFLAGS) $(ASFLAGS-$(suffix $@)) ++COMPILE.S = $(CC) -c $(CPPFLAGS) $(S-CPPFLAGS) \ ++ $(ASFLAGS) $(ASFLAGS-$(suffix $@)) + COMPILE.s = $(filter-out -pipe,$(CC)) -c $(ASFLAGS) + +-# If we want to generate MD5 checksums for the sources do this now. +-ifeq ($(md5),yes) +-generate-md5 = ; rm -f $(@:.d=.md5); \ +-$(CC) -E $< $(CFLAGS) $(CPPFLAGS) $($(patsubst .%,%,$(suffix $(<F)))-CPPFLAGS) | \ +-sed '/^\#/d;/^[[:space:]]*$$/d' | md5sum > $(@:.d=.md5) +-else +-generate-md5 = +-endif +- + # We need this for the output to go in the right place. It will default to + # empty if make was configured to work with a cc that can't grok -c and -o + # together. You can't compile the C library with such a compiler. +@@ -418,14 +384,16 @@ + # the dependency run for C sources. But having it for assembly sources can + # get the wrong predefines. + S-CPPFLAGS = -DASSEMBLER $(asm-CPPFLAGS) ++ + define +make-deps + $(make-target-directory) + $(+mkdep) $< $(if $(filter %.c,$<),$(CFLAGS)) \ +- $(CPPFLAGS) $($(patsubst .%,%,$(suffix $(<F)))-CPPFLAGS) | sed \ +--e 's,$(subst .,\.,$*)\.o,$(foreach o,$(all-object-suffixes),$(@:.d=$o)) $@,' \ +-$(sed-remove-objpfx) > $(@:.d=.T) ++ $(CPPFLAGS) $($(patsubst .%,%,$(suffix $(<F)))-CPPFLAGS) | sed -e\ ++'s,$(subst .,\.,$(@F:.d=.o)),$(foreach o,$(all-object-suffixes),$(@:.d=$o)) $@,' \ ++$(sed-remove-objpfx) $(sed-remove-dotdot) > $(@:.d=.T) + mv -f $(@:.d=.T) $@ $(generate-md5) + endef ++ + ifneq (,$(objpfx)) + # Continuation lines here are dangerous because they introduce spaces! + define sed-remove-objpfx +@@ -509,17 +477,23 @@ + ifeq (yes,$(elf)) + # binutils only position loadable notes into the first page for binaries, + # not for shared objects +-define build-shlib +-$(build-shlib-helper) \ +- -o $@.new $(csu-objpfx)abi-note.o -Wl,--verbose \ +- $(LDLIBS-$(@F:lib%.so=%).so) 2>&1 | \ +- sed -e '/^=========/,/^=========/!d;/^=========/d' \ ++$(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules ++ $(LINK.o) -shared -Wl,-O1 \ ++ $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS.so) \ ++ -Wl,--verbose 2>&1 | \ ++ sed > $@T \ ++ -e '/^=========/,/^=========/!d;/^=========/d' \ + -e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \ +- $(LDSEDCMD-$(@F:lib%.so=%).so) > $@.lds +-rm -f $@.new +-$(build-shlib-helper) -o $@ -T $@.lds \ ++ -e 's/^.*\*(\.dynbss).*$$/& \ ++ PROVIDE(__start___libc_freeres_ptrs = .); \ ++ *(__libc_freeres_ptrs) \ ++ PROVIDE(__stop___libc_freeres_ptrs = .);/' ++ mv -f $@T $@ ++common-generated += shlib.lds ++ ++define build-shlib ++$(build-shlib-helper) -o $@ -T $(common-objpfx)shlib.lds \ + $(csu-objpfx)abi-note.o $(build-shlib-objlist) +-rm -f $@.lds + endef + else + ifneq (,$(findstring aix,$(config-os))) +@@ -547,6 +521,7 @@ + else + define build-module-helper + $(LINK.o) -shared $(static-libgcc) $(sysdep-LDFLAGS) $(config-LDFLAGS) \ ++ $(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) \ + -B$(csu-objpfx) $(load-map-file) \ + $(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \ + -L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) +@@ -559,16 +534,8 @@ + # binutils only position loadable notes into the first page for binaries, + # not for shared objects + define build-module +-$(build-module-helper) \ +- -o $@.new $(csu-objpfx)abi-note.o -Wl,--verbose \ +- $(LDLIBS-$(@F:lib%.so=%).so) 2>&1 | \ +- sed -e '/^=========/,/^=========/!d;/^=========/d' \ +- -e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \ +- > $@.lds +-rm -f $@.new +-$(build-module-helper) -o $@ -T $@.lds \ ++$(build-module-helper) -o $@ -T $(common-objpfx)shlib.lds \ + $(csu-objpfx)abi-note.o $(build-module-objlist) +-rm -f $@.lds + endef + else + ifneq (,$(findstring aix,$(config-os))) +@@ -590,7 +557,7 @@ + + build-module-helper-objlist = \ + $(patsubst %_pic.a,$(whole-archive) %_pic.a $(no-whole-archive),\ +- $(filter-out $(map-file) $(+preinit) $(+postinit),$^)) ++ $(filter-out %.lds $(map-file) $(+preinit) $(+postinit),$^)) + whole-archive := -Wl,--whole-archive + + build-module-objlist = $(build-module-helper-objlist) $(LDLIBS-$(@F:%.so=%).so) +@@ -605,8 +572,6 @@ + LDLIBS-c.so += $(gnulib) + # Give libc.so an entry point and make it directly runnable itself. + LDFLAGS-c.so += -e __libc_main +-# Force the backward compatibility EH functions to be linked. +-LDFLAGS-c.so += -u __register_frame + # Pre-link the objects of libc_pic.a so that we can locally resolve + # COMMON symbols before we link against ld.so. This is because ld.so + # contains some of libc_pic.a already, which will prevent the COMMONs +@@ -616,12 +581,12 @@ + $(common-objpfx)libc_pic.os: $(common-objpfx)libc_pic.a + $(LINK.o) -nostdlib -nostartfiles -r -o $@ \ + $(LDFLAGS-c_pic.os) -Wl,-d -Wl,--whole-archive $^ +-LDSEDCMD-c.so = -e 's/^.*\*(\.dynbss).*$$/& __start___libc_freeres_ptrs = .; *(__libc_freeres_ptrs) __stop___libc_freeres_ptrs = .;/' + # Use our own special initializer and finalizer files for libc.so. + $(common-objpfx)libc.so: $(elfobjdir)/soinit.os \ + $(common-objpfx)libc_pic.os \ + $(elfobjdir)/sofini.os \ +- $(elfobjdir)/interp.os $(elfobjdir)/ld.so ++ $(elfobjdir)/interp.os $(elfobjdir)/ld.so \ ++ $(common-objpfx)shlib.lds + $(build-shlib) + ifeq ($(versioning),yes) + $(common-objpfx)libc.so: $(common-objpfx)libc.map +@@ -689,6 +654,15 @@ + +depfiles := $(addprefix $(objpfx),\ + $(filter-out $(addsuffix .d,$(omit-deps)),\ + $(+depfiles))) ++all-dt-files := $(foreach o,$(object-suffixes-for-libc),$(+depfiles:.d=$o.dt)) +++depfiles := $(patsubst %.dt,%.d,$(wildcard $(all-dt-files))) \ ++ $(wildcard $(all-dt-files:.dt=.d)) ++ ++# This is a funny rule in that it removes its input file. ++%.d: %.dt ++ @sed $(sed-remove-objpfx) $< > $(@:.d=.T) && \ ++ mv -f $(@:.d=.T) $@ && \ ++ rm -f $< + + # Avoid the .h.d files for any .sym files whose .h files don't exist yet. + # They will be generated when they're needed, and trying too early won't work. +@@ -762,6 +736,7 @@ + $(objpfx)stamp$o: $(o-objects); $$(do-stamp) + endef + define do-stamp ++$(make-target-directory) + echo '$(patsubst $(objpfx)%,$(addsuffix /,$(subdir))%,$^)' > $@T + mv -f $@T $@ + endef +@@ -1188,15 +1163,23 @@ + LC_ALL=C \ + $(AWK) -f $< -v 'config=$(check-abi-config)' \ + $(filter %.abilist,$^) \ +- | diff -pu0 - $(filter %.symlist,$^) ++ | { diff -pu0 - $(filter %.symlist,$^) $(check-abi-warn) ; } + endef ++ifeq ($(enable-check-abi),warn) ++check-abi-warn = || echo '*** WARNING: $*.so failed ABI check' ++endif + + ifeq ($(firstword $(sysd-sorted-done) f)$(firstword $(generating) f),tf) + -include $(common-objpfx)tls.make +-config-tls-yes := tls +-config-tls-no := notls ++config-tls := notls ++ifeq ($(use-tls),yes) ++config-tls := tls ++endif ++ifeq ($(use-thread),yes) ++config-tls := thread ++endif + check-abi-config := \ +- $(config-machine)-$(config-vendor)-$(config-os)/$(config-tls-$(use-thread)) ++ $(config-machine)-$(config-vendor)-$(config-os)/$(config-tls) + endif + + update-abi-%: $(..)scripts/merge-abilist.awk $(..)abilist/%.abilist \ +@@ -1211,7 +1194,7 @@ + endef + else + define update-abi +-LC_ALL=C $(AWK) -v config=$(update-abi-config) -f $^ \ ++LC_ALL=C $(AWK) -v config='$(update-abi-config)' -f $^ \ + > $(..)abilist/$*.abilist.new + @if cmp -s $(..)abilist/$*.abilist.new $(..)abilist/$*.abilist 2> /dev/null; \ + then rm -f $(..)abilist/$*.abilist.new; \ +@@ -1233,19 +1216,23 @@ + update-abi: subdir_update-abi + endif + +-# Enable this when all the .abilist files are in place. +-#tests: check-abi +- + ifeq ($(subdir),elf) + check-abi: check-abi-libc + update-abi: update-abi-libc + common-generated += libc.symlist + endif + ++ifeq ($(build-shared),yes) ++ifneq ($(enable-check-abi),no) ++ifdef subdir ++tests: check-abi ++endif ++endif ++endif ++ + endif + + # There's no good place to put this - here will do. +-# The dependencies are wrong if it's run from the top level. + ifeq ($(filter %posix, $(sysdirs)),) + L_tmpnam = 1 + TMP_MAX = 0 +@@ -1263,24 +1250,20 @@ + $(stdio_lim:h=st): $(..)stdio-common/stdio_lim.h.in $(..)Rules \ + $(common-objpfx)config.make + $(make-target-directory) +- echo '#include "$(..)posix/bits/posix1_lim.h"' | \ +- SUNPRO_DEPENDENCIES='$(@:st=dT) $@' \ +- $(CC) $(+includes) -E -dM -xc - -o $(@:st=hT) +- echo '#include "$(..)misc/sys/uio.h"' | \ +- SUNPRO_DEPENDENCIES='$(@:st=dT) $@' \ +- $(CC) -D_LIBC=1 $(+includes) -E -dM -xc - | cat - >> $(@:st=hT) +-ifdef sed-remove-objpfx +- sed $(sed-remove-objpfx) $(@:st=dT) > $(@:st=dt) +- cat $(@:st=dt) >> $(@:st=d) +-else +- cat $(@:st=dT) >> $(@:st=d) +-endif ++ { echo '#include "$(..)posix/bits/posix1_lim.h"'; \ ++ echo '#define _LIBC 1'; \ ++ echo '#include "$(..)misc/sys/uio.h"'; } | \ ++ $(CC) -E -dM -MD -MP -MF $(@:st=dT) -MT '$(@:st=h) $(@:st=d)' \ ++ $(+includes) -xc - -o $(@:st=hT) ++ sed $(sed-remove-objpfx) $(sed-remove-dotdot) \ ++ $(@:st=dT) > $(@:st=dt) ++ mv -f $(@:st=dt) $(@:st=d) + fopen_max=`sed -n 's/^#define OPEN_MAX //1p' $(@:st=hT)`; \ + filename_max=`sed -n 's/^#define PATH_MAX //1p' $(@:st=hT)`; \ + iov_max=`sed -n 's/^#define UIO_MAXIOV //p' $(@:st=hT)`; \ + fopen_max=$${fopen_max:-16}; \ + filename_max=$${filename_max:-1024}; \ +- if [ -z $$iov_max ]; then \ ++ if [ -z "$$iov_max" ]; then \ + define_iov_max="# undef IOV_MAX"; \ + else \ + define_iov_max="# define IOV_MAX $$iov_max"; \ +@@ -1355,8 +1338,8 @@ + + # Also remove the dependencies and generated source files. + common-clean: common-mostlyclean +- -rm -f $(addprefix $(objpfx),$(generated)) $(+depfiles) +- -rm -f $(objpfx)rtld-*.d ++ -rm -f $(addprefix $(objpfx),$(generated)) ++ -rm -f $(objpfx)*.d $(objpfx)*.dt + -rm -fr $(addprefix $(objpfx),$(generated-dirs)) + -rm -f $(addprefix $(common-objpfx),$(common-generated)) + -rm -f $(objpfx)distinfo +@@ -1370,17 +1353,23 @@ + .PHONY: stubs # The parent Makefile calls this target. + stubs: $(objpfx)stubs + endif +-s = $(sysdep_dir)/generic + $(objpfx)stubs: $(+depfiles) ++ifneq (,$(strip $(+depfiles))) + # Use /dev/null since `...` might expand to empty. +- (s=`cd $s && $(PWD_P)`; \ +- $(patsubst %/,cd % &&,$(objpfx)) \ +- sed -n 's/^stub_warning *(\([^)]*\).*$$/#define __stub_\1/p' \ +- `sed -n -e '\@ $s/[^ ]*\.c@{; s@^.* $s/\([^ ]*\.c\).*$$@'"$$s"'/\1@; h; }' \ +- -e '/stub-tag\.h/{; g; p; }' \ +- $(patsubst $(objpfx)%,%,$^) /dev/null` \ +- /dev/null) > $@T ++ c=`($(patsubst %/,cd % &&,$(objpfx)) \ ++ sed -n -e 's@\$$(common-objpfx)@$(common-objpfx)@g' \ ++ -e 's@\$$(objpfx)@$(objpfx)@g' \ ++ -e '/stub-tag\.h/{; g; s/./&/p; }' \ ++ -e '/:/{x; s/^.*$$//; x; }' \ ++ -e 's/^.*://;s/\\$$//;s/^ *\([^ ][^ ]*\) .*$$/\1/' \ ++ -e '/^[^ ][^ ]*$$/{G;s/^.*\n\(..*\)/\1/;s/\n//;h; }' \ ++ $(patsubst $(objpfx)%,%,$^)) | sort | uniq`; \ ++ sed -n 's/^stub_warning *(\([^)]*\).*$$/#define __stub_\1/p' \ ++ $$c /dev/null > $@T + mv -f $@T $@ ++else ++ > $@ ++endif + + # Make the distribution tar file. + +--- glibc-2.3.2/NEWS 2003-01-13 04:26:13.000000000 -0500 ++++ glibc-2.3.2/NEWS 2003-04-24 20:05:56.000000000 -0400 +@@ -1,10 +1,24 @@ +-GNU C Library NEWS -- history of user-visible changes. 2003-1-12 +-Copyright (C) 1992-2002, 2003 Free Software Foundation, Inc. ++GNU C Library NEWS -- history of user-visible changes. 2003-4-24 ++Copyright (C) 1992-2002,2003 Free Software Foundation, Inc. + See the end for copying conditions. + + Please send GNU C library bug reports using the `glibcbug' script to + <bugs@gnu.org>. Please send questions and suggestions to <bug-glibc@gnu.org>. + ++Version 2.3.3 ++ ++* New functions `dladdr1' and `dlinfo' in <dlfcn.h> provide more ways to ++ interrogate the dynamic linker, compatible with the Solaris interface. ++ ++* ELF thread-local storage support (TLS) now works on PowerPC and PowerPC64; ++ implemented by Paul Mackerras, Steven Munroe, and Roland McGrath. ++ ++* getifaddrs new uses on Linux the netlink interface to get the information. ++ Implemented by Thorsten Kukuk. ++ ++* getaddrinfo now implements AI_V4MAPPED, AI_ALL, and AI_ADDRCONF. ++ Implemented by Ulrich Drepper. ++ + Version 2.3.2 + + * Thread-safe interfaces for many functions that access locale data +--- glibc-2.3.2/README-alpha 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/README-alpha 2002-11-16 08:53:55.000000000 -0500 +@@ -0,0 +1,287 @@ ++ GNU libc SNAPSHOT SYSTEM ++ (general info) ++ Updated 1997-9-26 ++ ++WHAT ARE GNU libc SNAPSHOTS ++--------------------------- ++ ++Snapshots are an "image" of the main glibc development tree, captured at a ++particular random instant in time. When you use the snapshots, you should be ++able to maintain a local copy of libc that is no more than one day older than ++the official source tree used by the libc maintainers. ++ ++The primary purpose of providing snapshots is to widen the group of motivated ++developers that would like to help test, debug, and enhance glibc, by providing ++you with access to the "latest and greatest" source. This has several ++advantages, and several disadvantages. ++ ++ First the advantages: ++ ++ o Once we have a large base of motivated testers using the snapshots, ++ this should provide good coverage across all currently supported ++ glibc hosts and targets. If a new bug is introduced in glibc due to ++ fixing another bug or ongoing development, it should become ++ obvious much more quickly and get fixed before the next general ++ net release. This should help to reduce the chances of glibc being ++ released to the general public with a major bug that went unnoticed ++ during the release cycle testing because they are machine dependent. ++ We hope to greatly improve glibc's stability and reliability by ++ involving more people and more execution environments in the ++ prerelease testing. ++ ++ o With access to the latest source, any diffs that you send to fix ++ bugs or add new features should be much easier for the glibc team ++ to merge into the official source base (after suitable review ++ of course). This encourages us to merge your changes quicker, ++ while they are still "fresh". ++ ++ o Once your diffs are merged, you can obtain a new copy of glibc ++ containing your changes almost immediately. Thus you do not ++ have to maintain local copies of your changes for any longer ++ than it takes to get them merged into the official source base. ++ This encourages you to send in changes quicker. ++ ++ And the disadvantages: ++ ++ o The snapshot you get will be largely untested and of unknown quality. ++ It may fail to configure or compile. It may have serious bugs. ++ You should always keep a copy of the last known working version ++ before updating to the current snapshot, or at least be able to ++ regenerate a working version if the latest snapshot is unusable ++ in your environment for some reason. ++ ++ If a production version of glibc has a bug and a snapshot has the fix, ++ and you care about stability, you should put only the fix for that ++ particular problem into your production version. Of course, if you ++ are eager to test glibc, you can use the snapshot versions in your ++ daily work, but users who have not been consulted about whether they ++ feel like testing glibc should generally have something which is at ++ least as bug free as the last released version. ++ ++ o Providing timely response to your questions, bug reports, and ++ submitted patches will require the glibc development team to allocate ++ time from an already thin time budget. Please try to help us make ++ this time as productive as possible. See the section below about ++ how to submit changes. ++ ++ ++WHO SHOULD TRY THE SNAPSHOTS ++---------------------------- ++ ++Remember, these are snapshots not tested versions. So if you use ++these versions you should be able to ++ ++ o make sure your system stays usable ++ ++ o locate and hopefully fix problems ++ ++ o to port glibc to a new target yourself ++ ++You should not use the snapshots if ++ ++ o your system is needed in a production environment which needs ++ stability ++ ++ o you expect us to fix your problems since you somehow depend on them. ++ You must be willing to fix the problems yourself, we don't want to ++ see "I have problems, fix this" messages. ++ ++ ++HOW TO GET THE SNAPSHOTS ++------------------------ ++ ++At the moment we provide a full snapshot weekly (every sunday), so ++that users getting a snapshot for the first time, or updating after ++a long period of not updating, can get the latest version in a single ++operation. Along with the full snapshot, we will provide incremental ++diffs on a nearly daily basis (whenever code changes). Each daily ++diff will be relative to the source tree after applying all previous ++daily diffs. The daily diffs are for people who have relatively low ++bandwidth ftp or uucp connections. ++ ++The files will be available via anonymous ftp from alpha.gnu.org, in ++directory /gnu/libc and on linux.kernel.org in /pub/software/libs/glibc. The ++directories should look something like: ++ ++ libc-970921.tar.gz ++ libc-970917-970922.diff.gz ++ libc-970922-970925.diff.gz ++ . ++ . ++ . ++ ++Please note that the snapshots on alpha.gnu.org and on ++linux.kernel.org are not always in sync. Patches to some files might ++appear a day a diff earlier or later on alpha than on kernel. ++Use always alpha or always kernel but don't mix them. ++ ++There are sometimes additionally test releases of the add-ons available in ++these directories. If a new version of an add-on is available it is normally ++required for the corresponding snapshot so always pay attention for these. ++ ++Note that we provide GNU gzip compressed files only. You can ftp gzip ++from ftp.gnu.org in directory pub/gnu. ++ ++In some cases the dates for diffs and snapshots do not match like in the ++example above. The full release is for 970921 but the patch is for ++970917-970922. This only means that nothing changed between 970917 and 970922 ++and that you have to use this patch on top of the 970921 snapshot since the ++patch is made on 970922. ++ ++Also, as the gcc developers did with their gcc snapshot system, even though we ++will make the snapshots available on a publically accessible ftp area, we ask ++that recipients not widely publicise their availability. The motivation for ++this request is not to hoard them, but to avoid the situation where the ++general glibc user base naively attempts to use the snapshots, has trouble with ++them, complains publically, and the reputation of glibc declines because of a ++perception of instability or lack of quality control. ++ ++ ++GLIBC TEST SUITE ++---------------- ++ ++A test suite is distributed as an integral part of the snapshots. A simple ++"make check" in your build directory is sufficient to run the tests. glibc ++should pass all tests and if any fails, please report it. A failure might not ++originate from a bug in glibc but also from bugs in the tools, e.g. with gcc ++2.7.2.x the math tests fail some of the tests because of compiler bugs. ++ ++Note that the test suite is still in its infancy. The tests themselves only ++cover a small portion of libc features, and where tests do exist for a feature ++they are not exhaustive. New tests are welcome. ++ ++ ++GETTING HELP, GLIBC DISCUSSIONS, etc ++------------------------------------ ++ ++People who want to help with glibc and who test out snapshots ++regularly should get on the libc-alpha@sourceware.cygnus.com mailing ++list by sending an email to libc-alpha-subscribe@sourceware.cygnus.com. ++This list is meant (as the name suggests) for the discussion of test ++releases and also reports for them. People who are on this list are ++welcome to post questions of general interest. ++ ++People who are not only willing to test the snapshots but instead ++really want to help developing glibc should contact ++libc-hacker-subscribe@sourceware.cygnus.com.org to be put on the developers ++mailing list. This list is really only meant for developers. No ++questions about installation problems or other simple topics are ++wanted nor will they be answered. ++ ++Do *not* send any questions about the snapshots or patches specific to the ++snapshots to bug-glibc@gnu.org. Nobody there will have any idea what ++you are talking about and it will just cause confusion. ++ ++ ++BUG REPORTS ++----------- ++ ++Send bug reports directly to Ulrich Drepper <drepper@gnu.org>. Please ++do *not* use the glibcbug script for reporting bugs in the snapshots. ++glibcbug should only be used for problems with the official released versions. ++We don't like bug reports in the bug database because otherwise the impression ++of instability or lack of quality control of glibc as a whole might manifest ++in people's mind. ++ ++Note that since no testing is done on the snapshots, and snapshots may even be ++made when glibc is in an inconsistent state, it may not be unusual for an ++occasional snapshot to have a very obvious bug, such as failure to compile on ++*any* machine. It is likely that such bugs will be fixed by the next ++snapshot, so it really isn't necessary to report them unless they persist for ++a couple of days. ++ ++Missing files should always be reported, since they usually mean there is a ++problem with the snapshot-generating process and we won't know about them ++unless someone tells us. ++ ++Bugs which are non-obvious, such as failure to compile on only a specific ++machine, a new machine dependent or obscure bug (particularly one not detected ++by the testsuite), etc should be reported when you discover them, or have a ++suggested patch to fix them. ++ ++ ++FORMAT FOR PATCHES ++------------------ ++ ++If you have a fix for a bug, or an enhancement to submit, send your patch to ++Ulrich Drepper <drepper@gnu.org>. Here are some simple guidelines for ++submitting patches: ++ ++ o Use "unified diffs" for patches. A typical command for generating ++ context diffs is "diff -ru glibc-old glibc-patched". ++ ++ o Use the "minimalist approach" for patches. That is, each patch ++ should address only one particular bug, new feature, etc. Do not ++ save up many unrelated changes and submit them all in one big ++ patch, since in general, the larger the patch the more difficult ++ it is for us to decide if the patch is either correct or ++ desirable. And if we find something about the patch that needs ++ to be corrected before it can be installed, we would have to reject ++ the entire patch, which might contain changes which otherwise would ++ be accepted if submitted separately. ++ ++ o Submit a sample ChangeLog entry with your patch. See the existing ++ glibc ChangeLog for examples of what a ChangeLog entry should look ++ like. The emacs command ^X4A will create a ChangeLog entry header ++ for you. ++ ++ ++BUILDING SNAPSHOTS ++------------------ ++ ++The `best' way to build glibc is to use an extra directory, e.g.: ++tar xzf libc-970921.tar.gz ++mkdir build-glibc ++cd build-glibc ++../libc-970921/configure ... ++ ++In this way you can easily clean up (since `make clean' doesn't work at ++the moment) and rebuild glibc. ++ ++ ++NECESSARY TOOLS ++--------------- ++ ++For the recommended versions of gcc, binutils, make, texinfo, gettext, ++autoconf and other tools which might be especially needed when using patches, ++please read the file INSTALL. ++ ++ ++HOW CAN YOU HELP ++---------------- ++ ++It helps already a lot if you just install glibc on your system and try to ++solve any problems. You might want to look at the file `PROJECTS' and help ++with one of those projects, fix some bugs (see `BUGS' or the bug database), ++port to an unsupported platform, ... ++ ++ ++FURTHER DOCUMENTATION ++--------------------- ++ ++A lot of questions are answered in the FAQ. The files `INSTALL', `README' and ++`NOTES' contain the most important documentation. Furthermore glibc has its ++own 700+ pages info documentation, ... ++ ++ ++ ++And finally a word of caution: The libc is one of the most fundamental parts ++of your system - and these snapshots are untested and come without any ++guarantee or warranty. You might be lucky and everything works or you might ++crash your system. If you install a glibc snapshot as primary library, you ++should have a backup somewhere. ++ ++On many systems it is also a problem to replace the libc while the system is ++running. In the worst case on broken OSes some systems crash. On better ++systems you can move the old libc aside but removing it will cause problems ++since there are still processes using this libc image and so you might have to ++check the filesystem to get rid of the libc data. One good alternative (which ++is also safer) is to use a chroot'ed environment. ++ ++Thanks for your help and support. ++ ++Thanks to Fred Fish from Cygnus for the original version of this text ++(for GDB). ++ ++ ++Ulrich Drepper +--- glibc-2.3.2/README.template 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/README.template 2002-11-16 08:53:56.000000000 -0500 +@@ -0,0 +1,87 @@ ++This directory contains the version VERSION release of the GNU C Library. ++Many bugs have been fixed since the last release. ++Some bugs surely remain. ++ ++As of this release, the GNU C library is known to run on the following ++configurations: ++ ++ *-*-gnu GNU Hurd ++ i[3456]86-*-linux-gnu Linux-2.x on Intel ++ m68k-*-linux-gnu Linux-2.x on Motorola 680x0 ++ alpha*-*-linux-gnu Linux-2.x on DEC Alpha ++ powerpc-*-linux-gnu Linux and MkLinux on PowerPC systems ++ powerpc64-*-linux-gnu Linux-2.4.19+ on 64-bit PowerPC systems ++ sparc-*-linux-gnu Linux-2.x on SPARC ++ sparc64-*-linux-gnu Linux-2.x on UltraSPARC 64-bit ++ arm-*-none ARM standalone systems ++ arm-*-linux Linux-2.x on ARM ++ arm-*-linuxaout Linux-2.x on ARM using a.out binaries ++ mips*-*-linux-gnu Linux-2.x on MIPS ++ ia64-*-linux-gnu Linux-2.x on ia64 ++ s390-*-linux-gnu Linux-2.x on IBM S/390 ++ s390x-*-linux-gnu Linux-2.4+ on IBM S/390 64-bit ++ sh-*-linux-gnu Linux-2.x on Super Hitachi ++ cris-*-linux-gnu Linux-2.4+ on CRIS ++ x86-64-*-linux-gnu Linux-2.4+ on x86-64 ++ ++Former releases of this library (version 1.09.1 and perhaps earlier ++versions) used to run on the following configurations: ++ ++ alpha-dec-osf1 ++ i[3456]86-*-bsd4.3 ++ i[3456]86-*-isc2.2 ++ i[3456]86-*-isc3 ++ i[3456]86-*-sco3.2 ++ i[3456]86-*-sco3.2v4 ++ i[3456]86-*-sysv ++ i[3456]86-*-sysv4 ++ i[3456]86-force_cpu386-none ++ i[3456]86-sequent-bsd ++ i960-nindy960-none ++ m68k-hp-bsd4.3 ++ m68k-mvme135-none ++ m68k-mvme136-none ++ m68k-sony-newsos3 ++ m68k-sony-newsos4 ++ m68k-sun-sunos4 ++ mips-dec-ultrix4 ++ mips-sgi-irix4 ++ sparc-sun-solaris2 ++ sparc-sun-sunos4 ++ ++Since no one has volunteered to test and fix the above configurations, ++these are not supported at the moment. It's expected that these don't ++work anymore. Porting the library is not hard. If you are interested ++in doing a port, please contact the glibc maintainers by sending ++electronic mail to <bug-glibc@gnu.org>. ++ ++There are some add-ons which can be used together with GNU libc. They ++are designed in a way to ease the installation by integrating them in ++the libc source tree. Simply get the add-ons you need and use the ++--enable-add-ons option of the `configure' script to tell where the ++add-ons are found. Please read the FAQ file for more details. ++ ++See the file INSTALL to find out how to configure, build, install, and port ++the GNU C library. You might also consider reading the WWW pages for the ++GNU libc at http://www.gnu.org/software/libc/libc.html. ++ ++The GNU C Library is completely documented by the Texinfo manual found ++in the `manual/' subdirectory. The manual is still being updated and ++contains some known errors and omissions; we regret that we do not ++have the resources to work on the manual as much as we would like. ++Please send comments on the manual to <bug-glibc-manual@gnu.org>, and ++not to the library bug-reporting address. ++ ++The file NOTES contains a description of the feature-test macros used ++in the GNU C library, explaining how you can tell the library what ++facilities you want it to make available. ++ ++We prefer to get bug reports sent using the `glibcbug' shell script which ++is installed together with the rest of the GNU libc to <bugs@gnu.org>. ++Simply run this shell script and fill in the information. Nevertheless ++you can still send bug reports to <bug-glibc@gnu.org> as normal electronic ++mails. ++ ++The GNU C Library is free software. See the file COPYING.LIB for copying ++conditions, and LICENSES for notices about a few contributions that require ++these additional notices to be distributed. +--- glibc-2.3.2/Versions.def 2002-12-10 14:05:17.000000000 -0500 ++++ glibc-2.3.2/Versions.def 2003-04-12 11:39:41.000000000 -0400 +@@ -18,6 +18,7 @@ + GLIBC_2.3 + GLIBC_2.3.1 + GLIBC_2.3.2 ++ GLIBC_2.3.3 + %ifdef USE_IN_LIBIO + HURD_CTHREADS_0.3 + %endif +@@ -32,6 +33,7 @@ + libdl { + GLIBC_2.0 + GLIBC_2.1 ++ GLIBC_2.3.3 + } + libm { + GLIBC_2.0 +@@ -71,6 +73,7 @@ + GLIBC_2.2.3 + GLIBC_2.2.6 + GLIBC_2.3.2 ++ GLIBC_2.3.3 + GLIBC_PRIVATE + } + libresolv { +@@ -82,6 +85,7 @@ + GLIBC_2.1 + GLIBC_2.2 + GLIBC_2.3 ++ GLIBC_2.3.3 + } + libutil { + GLIBC_2.0 +@@ -96,6 +100,7 @@ + GLIBC_2.1.3 + GLIBC_2.2.3 + GLIBC_2.3 ++ GLIBC_2.3.3 + } + libanl { + GLIBC_2.2.3 +--- glibc-2.3.2/abilist/ld.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/ld.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,35 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.0 A ++ _r_debug D 0x14 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __libc_memalign F ++ calloc F ++ free F ++ malloc F ++ realloc F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _dl_mcount F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _r_debug D 0x28 ++GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3 A ++GLIBC_2.3 i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++ ___tls_get_addr F ++GLIBC_2.3 i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread x86_64-.*-linux.*/tls ++ __tls_get_addr F ++GLIBC_2.3 s390-.*-linux.*/tls s390x-.*-linux.*/tls ++ __tls_get_offset F +--- glibc-2.3.2/abilist/libBrokenLocale.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libBrokenLocale.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,13 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __ctype_get_mb_cur_max F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libanl.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libanl.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,13 @@ ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.3 A ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ gai_cancel F ++ gai_error F ++ gai_suspend F ++ getaddrinfo_a F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libc.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libc.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,2231 @@ ++GCC_3.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GCC_3.0 A ++ _Unwind_Find_FDE F ++ __deregister_frame_info_bases F ++ __register_frame_info_bases F ++ __register_frame_info_table_bases F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++ __fpu_control D 0x2 ++ vm86 F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.0 A ++ _IO_stderr_ D 0x50 ++ _IO_stdin_ D 0x50 ++ _IO_stdout_ D 0x50 ++ __strtoq_internal F ++ __strtouq_internal F ++ _sys_errlist D 0x1ec ++ _sys_siglist D 0x80 ++ res_init F ++ sys_errlist D 0x1ec ++ sys_sigabbrev D 0x80 ++ sys_siglist D 0x80 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.1.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ getaliasbyname_r F ++ getaliasent_r F ++ getgrent_r F ++ getgrgid_r F ++ getgrnam_r F ++ gethostbyaddr_r F ++ gethostbyname2_r F ++ gethostbyname_r F ++ gethostent_r F ++ getnetbyaddr_r F ++ getnetbyname_r F ++ getnetent_r F ++ getprotobyname_r F ++ getprotobynumber_r F ++ getprotoent_r F ++ getpwent_r F ++ getpwnam_r F ++ getpwuid_r F ++ getrpcbyname_r F ++ getrpcbynumber_r F ++ getrpcent_r F ++ getservbyname_r F ++ getservbyport_r F ++ getservent_r F ++ getspent_r F ++ getspnam_r F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ _sys_nerr D 0x4 ++ sys_nerr D 0x4 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_do_write F ++ _IO_fclose F ++ _IO_fdopen F ++ _IO_file_attach F ++ _IO_file_close_it F ++ _IO_file_fopen F ++ _IO_file_init F ++ _IO_file_overflow F ++ _IO_file_seekoff F ++ _IO_file_setbuf F ++ _IO_file_sync F ++ _IO_file_underflow F ++ _IO_file_write F ++ _IO_file_xsputn F ++ _IO_fopen F ++ _IO_popen F ++ _IO_proc_close F ++ _IO_proc_open F ++ fclose F ++ fdopen F ++ fopen F ++ pclose F ++ popen F ++ pthread_attr_init F ++ tmpfile F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ chown F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ fnmatch F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_fgetpos F ++ _IO_fsetpos F ++ fgetpos F ++ fopencookie F ++ fsetpos F ++ getrlimit F ++ localeconv F ++ msgctl F ++ semctl F ++ setrlimit F ++ shmctl F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ re_max_failures D 0x4 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ pthread_cond_broadcast F ++ pthread_cond_destroy F ++ pthread_cond_init F ++ pthread_cond_signal F ++ pthread_cond_wait F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ realpath F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_adjust_column F ++ _IO_default_doallocate F ++ _IO_default_finish F ++ _IO_default_pbackfail F ++ _IO_default_uflow F ++ _IO_default_xsgetn F ++ _IO_default_xsputn F ++ _IO_doallocbuf F ++ _IO_feof F ++ _IO_ferror F ++ _IO_fflush F ++ _IO_fgets F ++ _IO_file_close F ++ _IO_file_doallocate F ++ _IO_file_open F ++ _IO_file_read F ++ _IO_file_seek F ++ _IO_file_stat F ++ _IO_flockfile F ++ _IO_flush_all F ++ _IO_flush_all_linebuffered F ++ _IO_fprintf F ++ _IO_fputs F ++ _IO_fread F ++ _IO_free_backup_area F ++ _IO_ftell F ++ _IO_ftrylockfile F ++ _IO_funlockfile F ++ _IO_fwrite F ++ _IO_getc F ++ _IO_getline F ++ _IO_gets F ++ _IO_init F ++ _IO_init_marker F ++ _IO_link_in F ++ _IO_marker_delta F ++ _IO_marker_difference F ++ _IO_padn F ++ _IO_peekc_locked F ++ _IO_printf F ++ _IO_putc F ++ _IO_puts F ++ _IO_remove_marker F ++ _IO_seekmark F ++ _IO_seekoff F ++ _IO_seekpos F ++ _IO_setb F ++ _IO_setbuffer F ++ _IO_setvbuf F ++ _IO_sgetn F ++ _IO_sprintf F ++ _IO_sputbackc F ++ _IO_sscanf F ++ _IO_str_init_readonly F ++ _IO_str_init_static F ++ _IO_str_overflow F ++ _IO_str_pbackfail F ++ _IO_str_seekoff F ++ _IO_str_underflow F ++ _IO_sungetc F ++ _IO_switch_to_get_mode F ++ _IO_un_link F ++ _IO_ungetc F ++ _IO_unsave_markers F ++ _IO_vfprintf F ++ _IO_vfscanf F ++ _IO_vsprintf F ++ __adjtimex F ++ __argz_count F ++ __argz_next F ++ __argz_stringify F ++ __assert_fail F ++ __assert_perror_fail F ++ __bsd_getpgrp F ++ __check_rhosts_file D 0x4 ++ __close F ++ __cmsg_nxthdr F ++ __connect F ++ __ctype_get_mb_cur_max F ++ __daylight D 0x4 ++ __dcgettext F ++ __default_morecore F ++ __dgettext F ++ __dup2 F ++ __errno_location F ++ __fcntl F ++ __ffs F ++ __finite F ++ __finitef F ++ __finitel F ++ __fxstat F ++ __getdelim F ++ __getpagesize F ++ __getpgid F ++ __getpid F ++ __gettimeofday F ++ __gmtime_r F ++ __h_errno_location F ++ __isinf F ++ __isinff F ++ __isinfl F ++ __isnan F ++ __isnanf F ++ __isnanl F ++ __iswctype F ++ __ivaliduser F ++ __libc_calloc F ++ __libc_free F ++ __libc_init_first F ++ __libc_mallinfo F ++ __libc_malloc F ++ __libc_mallopt F ++ __libc_memalign F ++ __libc_pvalloc F ++ __libc_realloc F ++ __libc_start_main F ++ __libc_valloc F ++ __lseek F ++ __lxstat F ++ __mbrlen F ++ __mbrtowc F ++ __mempcpy F ++ __monstartup F ++ __nss_configure_lookup F ++ __nss_database_lookup F ++ __nss_group_lookup F ++ __nss_hosts_lookup F ++ __nss_next F ++ __nss_passwd_lookup F ++ __open F ++ __overflow F ++ __pipe F ++ __printf_fp F ++ __profile_frequency F ++ __read F ++ __res_randomid F ++ __sbrk F ++ __sched_get_priority_max F ++ __sched_get_priority_min F ++ __sched_getparam F ++ __sched_getscheduler F ++ __sched_setscheduler F ++ __sched_yield F ++ __secure_getenv F ++ __select F ++ __send F ++ __setpgid F ++ __sigaction F ++ __sigaddset F ++ __sigdelset F ++ __sigismember F ++ __sigpause F ++ __sigsetjmp F ++ __stpcpy F ++ __stpncpy F ++ __strcasecmp F ++ __strdup F ++ __strerror_r F ++ __strtod_internal F ++ __strtof_internal F ++ __strtok_r F ++ __strtol_internal F ++ __strtold_internal F ++ __strtoll_internal F ++ __strtoul_internal F ++ __strtoull_internal F ++ __sysv_signal F ++ __uflow F ++ __underflow F ++ __vfscanf F ++ __vsnprintf F ++ __vsscanf F ++ __wait F ++ __waitpid F ++ __wcstod_internal F ++ __wcstof_internal F ++ __wcstol_internal F ++ __wcstold_internal F ++ __wcstoll_internal F ++ __wcstoul_internal F ++ __wcstoull_internal F ++ __write F ++ __xmknod F ++ __xpg_basename F ++ __xstat F ++ _exit F ++ _libc_intl_domainname D 0x5 ++ _longjmp F ++ _mcleanup F ++ _mcount F ++ _nl_msg_cat_cntr D 0x4 ++ _obstack_allocated_p F ++ _obstack_begin F ++ _obstack_begin_1 F ++ _obstack_free F ++ _obstack_memory_used F ++ _obstack_newchunk F ++ _rpc_dtablesize F ++ _seterr_reply F ++ _setjmp F ++ _tolower F ++ _toupper F ++ a64l F ++ abort F ++ abs F ++ accept F ++ access F ++ acct F ++ addmntent F ++ adjtime F ++ adjtimex F ++ advance F ++ alarm F ++ alphasort F ++ argz_add F ++ argz_add_sep F ++ argz_append F ++ argz_count F ++ argz_create F ++ argz_create_sep F ++ argz_delete F ++ argz_extract F ++ argz_insert F ++ argz_next F ++ argz_replace F ++ argz_stringify F ++ asctime F ++ asctime_r F ++ asprintf F ++ atof F ++ atoi F ++ atol F ++ atoll F ++ authnone_create F ++ authunix_create F ++ authunix_create_default F ++ basename F ++ bcmp F ++ bcopy F ++ bdflush F ++ bind F ++ bindresvport F ++ bindtextdomain F ++ brk F ++ bsd_signal F ++ bsearch F ++ btowc F ++ bzero F ++ calloc F ++ callrpc F ++ canonicalize_file_name F ++ catclose F ++ catgets F ++ catopen F ++ cfgetispeed F ++ cfgetospeed F ++ cfmakeraw F ++ cfree F ++ cfsetispeed F ++ cfsetospeed F ++ cfsetspeed F ++ chdir F ++ chflags F ++ chmod F ++ chroot F ++ clearenv F ++ clearerr F ++ clearerr_unlocked F ++ clnt_broadcast F ++ clnt_create F ++ clnt_pcreateerror F ++ clnt_perrno F ++ clnt_perror F ++ clnt_spcreateerror F ++ clnt_sperrno F ++ clnt_sperror F ++ clntraw_create F ++ clnttcp_create F ++ clntudp_bufcreate F ++ clntudp_create F ++ clock F ++ close F ++ closedir F ++ closelog F ++ confstr F ++ connect F ++ copysign F ++ copysignf F ++ copysignl F ++ creat F ++ create_module F ++ ctermid F ++ ctime F ++ ctime_r F ++ cuserid F ++ daemon F ++ daylight D 0x4 ++ dcgettext F ++ delete_module F ++ dgettext F ++ difftime F ++ dirfd F ++ dirname F ++ div F ++ dprintf F ++ drand48 F ++ drand48_r F ++ dup F ++ dup2 F ++ dysize F ++ ecvt F ++ ecvt_r F ++ endaliasent F ++ endfsent F ++ endgrent F ++ endhostent F ++ endmntent F ++ endnetent F ++ endnetgrent F ++ endprotoent F ++ endpwent F ++ endrpcent F ++ endservent F ++ endspent F ++ endttyent F ++ endusershell F ++ endutent F ++ envz_add F ++ envz_entry F ++ envz_get F ++ envz_merge F ++ envz_remove F ++ envz_strip F ++ erand48 F ++ erand48_r F ++ err F ++ error F ++ error_at_line F ++ error_message_count D 0x4 ++ error_one_per_line D 0x4 ++ errx F ++ ether_aton F ++ ether_aton_r F ++ ether_hostton F ++ ether_line F ++ ether_ntoa F ++ ether_ntoa_r F ++ ether_ntohost F ++ euidaccess F ++ execl F ++ execle F ++ execlp F ++ execv F ++ execve F ++ execvp F ++ exit F ++ fchdir F ++ fchflags F ++ fchmod F ++ fchown F ++ fcloseall F ++ fcntl F ++ fcvt F ++ fcvt_r F ++ fdatasync F ++ feof F ++ feof_unlocked F ++ ferror F ++ ferror_unlocked F ++ fexecve F ++ fflush F ++ fflush_unlocked F ++ ffs F ++ fgetc F ++ fgetgrent F ++ fgetgrent_r F ++ fgetpwent F ++ fgetpwent_r F ++ fgets F ++ fgetspent F ++ fgetspent_r F ++ fileno F ++ fileno_unlocked F ++ finite F ++ finitef F ++ finitel F ++ flock F ++ flockfile F ++ fork F ++ fpathconf F ++ fprintf F ++ fputc F ++ fputc_unlocked F ++ fputs F ++ fread F ++ free F ++ freeaddrinfo F ++ freopen F ++ frexp F ++ frexpf F ++ frexpl F ++ fscanf F ++ fseek F ++ fstatfs F ++ fsync F ++ ftell F ++ ftime F ++ ftok F ++ ftruncate F ++ ftrylockfile F ++ fts_children F ++ fts_close F ++ fts_open F ++ fts_read F ++ fts_set F ++ ftw F ++ funlockfile F ++ fwrite F ++ gcvt F ++ get_avphys_pages F ++ get_current_dir_name F ++ get_kernel_syms F ++ get_myaddress F ++ get_nprocs F ++ get_nprocs_conf F ++ get_phys_pages F ++ getaddrinfo F ++ getaliasbyname F ++ getaliasent F ++ getc F ++ getc_unlocked F ++ getchar F ++ getchar_unlocked F ++ getcwd F ++ getdelim F ++ getdirentries F ++ getdomainname F ++ getdtablesize F ++ getegid F ++ getenv F ++ geteuid F ++ getfsent F ++ getfsfile F ++ getfsspec F ++ getgid F ++ getgrent F ++ getgrgid F ++ getgrnam F ++ getgroups F ++ gethostbyaddr F ++ gethostbyname F ++ gethostbyname2 F ++ gethostent F ++ gethostid F ++ gethostname F ++ getitimer F ++ getline F ++ getlogin F ++ getlogin_r F ++ getmntent F ++ getmntent_r F ++ getnetbyaddr F ++ getnetbyname F ++ getnetent F ++ getnetgrent F ++ getnetgrent_r F ++ getopt F ++ getopt_long F ++ getopt_long_only F ++ getpagesize F ++ getpass F ++ getpeername F ++ getpgid F ++ getpgrp F ++ getpid F ++ getppid F ++ getpriority F ++ getprotobyname F ++ getprotobynumber F ++ getprotoent F ++ getpublickey F ++ getpw F ++ getpwent F ++ getpwnam F ++ getpwuid F ++ getresgid F ++ getresuid F ++ getrpcbyname F ++ getrpcbynumber F ++ getrpcent F ++ getrpcport F ++ getrusage F ++ gets F ++ getsecretkey F ++ getservbyname F ++ getservbyport F ++ getservent F ++ getsid F ++ getsockname F ++ getsockopt F ++ getspent F ++ getspnam F ++ getsubopt F ++ gettext F ++ gettimeofday F ++ getttyent F ++ getttynam F ++ getuid F ++ getusershell F ++ getutent F ++ getutent_r F ++ getutid F ++ getutid_r F ++ getutline F ++ getutline_r F ++ getw F ++ getwd F ++ glob F ++ glob_pattern_p F ++ globfree F ++ gmtime F ++ gmtime_r F ++ group_member F ++ gsignal F ++ gtty F ++ h_nerr D 0x4 ++ hasmntopt F ++ hcreate F ++ hcreate_r F ++ hdestroy F ++ hdestroy_r F ++ herror F ++ hsearch F ++ hsearch_r F ++ hstrerror F ++ htonl F ++ htons F ++ index F ++ inet_addr F ++ inet_aton F ++ inet_lnaof F ++ inet_makeaddr F ++ inet_netof F ++ inet_network F ++ inet_nsap_addr F ++ inet_nsap_ntoa F ++ inet_ntoa F ++ inet_ntop F ++ inet_pton F ++ init_module F ++ initgroups F ++ initstate F ++ initstate_r F ++ innetgr F ++ insque F ++ ioctl F ++ iruserok F ++ isalnum F ++ isalpha F ++ isascii F ++ isatty F ++ isblank F ++ iscntrl F ++ isdigit F ++ isfdtype F ++ isgraph F ++ isinf F ++ isinff F ++ isinfl F ++ islower F ++ isnan F ++ isnanf F ++ isnanl F ++ isprint F ++ ispunct F ++ isspace F ++ isupper F ++ iswalnum F ++ iswalpha F ++ iswcntrl F ++ iswctype F ++ iswdigit F ++ iswgraph F ++ iswlower F ++ iswprint F ++ iswpunct F ++ iswspace F ++ iswupper F ++ iswxdigit F ++ isxdigit F ++ jrand48 F ++ jrand48_r F ++ kill F ++ killpg F ++ klogctl F ++ l64a F ++ labs F ++ lchown F ++ lckpwdf F ++ lcong48 F ++ lcong48_r F ++ ldexp F ++ ldexpf F ++ ldexpl F ++ ldiv F ++ lfind F ++ link F ++ listen F ++ llabs F ++ lldiv F ++ llseek F ++ localtime F ++ localtime_r F ++ lockf F ++ longjmp F ++ lrand48 F ++ lrand48_r F ++ lsearch F ++ lseek F ++ madvise F ++ mallinfo F ++ malloc F ++ malloc_get_state F ++ malloc_set_state F ++ malloc_stats F ++ malloc_trim F ++ malloc_usable_size F ++ mallopt F ++ mblen F ++ mbrlen F ++ mbrtowc F ++ mbsinit F ++ mbsnrtowcs F ++ mbsrtowcs F ++ mbstowcs F ++ mbtowc F ++ mcheck F ++ memalign F ++ memccpy F ++ memchr F ++ memcmp F ++ memcpy F ++ memfrob F ++ memmem F ++ memmove F ++ memset F ++ mkdir F ++ mkfifo F ++ mkstemp F ++ mktemp F ++ mktime F ++ mlock F ++ mlockall F ++ mmap F ++ modf F ++ modff F ++ modfl F ++ monstartup F ++ mount F ++ mprobe F ++ mprotect F ++ mrand48 F ++ mrand48_r F ++ mremap F ++ msgget F ++ msgrcv F ++ msgsnd F ++ msync F ++ mtrace F ++ munlock F ++ munlockall F ++ munmap F ++ muntrace F ++ nanosleep F ++ nfsservctl F ++ nice F ++ nl_langinfo F ++ nrand48 F ++ nrand48_r F ++ ntohl F ++ ntohs F ++ obstack_exit_failure D 0x4 ++ obstack_free F ++ obstack_printf F ++ obstack_vprintf F ++ on_exit F ++ open F ++ open_memstream F ++ opendir F ++ openlog F ++ opterr D 0x4 ++ optind D 0x4 ++ optopt D 0x4 ++ parse_printf_format F ++ pathconf F ++ pause F ++ perror F ++ personality F ++ pipe F ++ pmap_getmaps F ++ pmap_getport F ++ pmap_rmtcall F ++ pmap_set F ++ pmap_unset F ++ poll F ++ prctl F ++ printf F ++ profil F ++ pselect F ++ psignal F ++ pthread_attr_destroy F ++ pthread_attr_getdetachstate F ++ pthread_attr_getinheritsched F ++ pthread_attr_getschedparam F ++ pthread_attr_getschedpolicy F ++ pthread_attr_getscope F ++ pthread_attr_setdetachstate F ++ pthread_attr_setinheritsched F ++ pthread_attr_setschedparam F ++ pthread_attr_setschedpolicy F ++ pthread_attr_setscope F ++ pthread_condattr_destroy F ++ pthread_condattr_init F ++ pthread_equal F ++ pthread_exit F ++ pthread_getschedparam F ++ pthread_mutex_destroy F ++ pthread_mutex_init F ++ pthread_mutex_lock F ++ pthread_mutex_unlock F ++ pthread_self F ++ pthread_setcancelstate F ++ pthread_setcanceltype F ++ pthread_setschedparam F ++ ptrace F ++ putc F ++ putc_unlocked F ++ putchar F ++ putchar_unlocked F ++ putenv F ++ putpwent F ++ puts F ++ putspent F ++ pututline F ++ putw F ++ pvalloc F ++ qecvt F ++ qecvt_r F ++ qfcvt F ++ qfcvt_r F ++ qgcvt F ++ qsort F ++ query_module F ++ quotactl F ++ raise F ++ rand F ++ rand_r F ++ random F ++ random_r F ++ rcmd F ++ re_comp F ++ re_compile_fastmap F ++ re_compile_pattern F ++ re_exec F ++ re_match F ++ re_match_2 F ++ re_search F ++ re_search_2 F ++ re_set_registers F ++ re_set_syntax F ++ read F ++ readdir F ++ readdir_r F ++ readlink F ++ readv F ++ realloc F ++ reboot F ++ recv F ++ recvfrom F ++ recvmsg F ++ regcomp F ++ regerror F ++ regexec F ++ regfree F ++ register_printf_function F ++ registerrpc F ++ remove F ++ remque F ++ rename F ++ revoke F ++ rewind F ++ rewinddir F ++ rexec F ++ rexecoptions D 0x4 ++ rindex F ++ rmdir F ++ rpmatch F ++ rresvport F ++ ruserok F ++ ruserpass F ++ sbrk F ++ scalbn F ++ scalbnf F ++ scalbnl F ++ scandir F ++ scanf F ++ sched_get_priority_max F ++ sched_get_priority_min F ++ sched_getparam F ++ sched_getscheduler F ++ sched_rr_get_interval F ++ sched_setparam F ++ sched_setscheduler F ++ sched_yield F ++ seed48 F ++ seed48_r F ++ seekdir F ++ select F ++ semget F ++ semop F ++ send F ++ sendmsg F ++ sendto F ++ setaliasent F ++ setbuf F ++ setbuffer F ++ setcontext F ++ setdomainname F ++ setegid F ++ setenv F ++ seteuid F ++ setfsent F ++ setfsgid F ++ setfsuid F ++ setgid F ++ setgrent F ++ setgroups F ++ sethostent F ++ sethostid F ++ sethostname F ++ setitimer F ++ setjmp F ++ setlinebuf F ++ setlocale F ++ setlogin F ++ setlogmask F ++ setmntent F ++ setnetent F ++ setnetgrent F ++ setpgid F ++ setpgrp F ++ setpriority F ++ setprotoent F ++ setpwent F ++ setregid F ++ setresgid F ++ setresuid F ++ setreuid F ++ setrpcent F ++ setservent F ++ setsid F ++ setsockopt F ++ setspent F ++ setstate F ++ setstate_r F ++ settimeofday F ++ setttyent F ++ setuid F ++ setusershell F ++ setutent F ++ setvbuf F ++ sgetspent F ++ sgetspent_r F ++ shmat F ++ shmdt F ++ shmget F ++ shutdown F ++ sigaction F ++ sigaddset F ++ sigaltstack F ++ sigandset F ++ sigblock F ++ sigdelset F ++ sigemptyset F ++ sigfillset F ++ siggetmask F ++ siginterrupt F ++ sigisemptyset F ++ sigismember F ++ siglongjmp F ++ signal F ++ sigorset F ++ sigpause F ++ sigpending F ++ sigprocmask F ++ sigreturn F ++ sigsetmask F ++ sigstack F ++ sigsuspend F ++ sigvec F ++ sigwait F ++ sleep F ++ snprintf F ++ socket F ++ socketpair F ++ sprintf F ++ srand F ++ srand48 F ++ srand48_r F ++ srandom F ++ srandom_r F ++ sscanf F ++ ssignal F ++ sstk F ++ statfs F ++ step F ++ stime F ++ stpcpy F ++ stpncpy F ++ strcasecmp F ++ strcat F ++ strchr F ++ strcmp F ++ strcoll F ++ strcpy F ++ strcspn F ++ strdup F ++ strerror F ++ strerror_r F ++ strfmon F ++ strfry F ++ strftime F ++ strlen F ++ strncasecmp F ++ strncat F ++ strncmp F ++ strncpy F ++ strndup F ++ strnlen F ++ strpbrk F ++ strptime F ++ strrchr F ++ strsep F ++ strsignal F ++ strspn F ++ strstr F ++ strtod F ++ strtof F ++ strtok F ++ strtok_r F ++ strtol F ++ strtold F ++ strtoll F ++ strtoq F ++ strtoul F ++ strtoull F ++ strtouq F ++ strxfrm F ++ stty F ++ svc_exit F ++ svc_fdset D 0x80 ++ svc_getreq F ++ svc_getreqset F ++ svc_register F ++ svc_run F ++ svc_sendreply F ++ svc_unregister F ++ svcerr_auth F ++ svcerr_decode F ++ svcerr_noproc F ++ svcerr_noprog F ++ svcerr_progvers F ++ svcerr_systemerr F ++ svcerr_weakauth F ++ svcfd_create F ++ svcraw_create F ++ svctcp_create F ++ svcudp_bufcreate F ++ svcudp_create F ++ svcudp_enablecache F ++ swab F ++ swapoff F ++ swapon F ++ symlink F ++ sync F ++ syscall F ++ sysconf F ++ sysctl F ++ sysinfo F ++ syslog F ++ system F ++ tcdrain F ++ tcflow F ++ tcflush F ++ tcgetattr F ++ tcgetpgrp F ++ tcsendbreak F ++ tcsetattr F ++ tcsetpgrp F ++ tdelete F ++ telldir F ++ tempnam F ++ textdomain F ++ tfind F ++ time F ++ timegm F ++ timelocal F ++ times F ++ tmpnam F ++ tmpnam_r F ++ toascii F ++ tolower F ++ toupper F ++ towctrans F ++ towlower F ++ towupper F ++ tr_break F ++ truncate F ++ tsearch F ++ ttyname F ++ ttyname_r F ++ ttyslot F ++ twalk F ++ tzset F ++ ualarm F ++ ulckpwdf F ++ ulimit F ++ umask F ++ umount F ++ uname F ++ ungetc F ++ unlink F ++ unsetenv F ++ updwtmp F ++ uselib F ++ usleep F ++ ustat F ++ utime F ++ utimes F ++ utmpname F ++ valloc F ++ vasprintf F ++ vdprintf F ++ verr F ++ verrx F ++ vfork F ++ vfprintf F ++ vfscanf F ++ vhangup F ++ vlimit F ++ vprintf F ++ vscanf F ++ vsnprintf F ++ vsprintf F ++ vsscanf F ++ vsyslog F ++ vtimes F ++ vwarn F ++ vwarnx F ++ wait F ++ wait3 F ++ wait4 F ++ waitpid F ++ warn F ++ warnx F ++ wcpcpy F ++ wcpncpy F ++ wcrtomb F ++ wcscat F ++ wcschr F ++ wcscmp F ++ wcscoll F ++ wcscpy F ++ wcscspn F ++ wcsdup F ++ wcslen F ++ wcsncat F ++ wcsncmp F ++ wcsncpy F ++ wcsnrtombs F ++ wcspbrk F ++ wcsrchr F ++ wcsrtombs F ++ wcsspn F ++ wcsstr F ++ wcstod F ++ wcstof F ++ wcstok F ++ wcstol F ++ wcstold F ++ wcstombs F ++ wcstoq F ++ wcstoul F ++ wcstouq F ++ wcswidth F ++ wcsxfrm F ++ wctob F ++ wctomb F ++ wctrans F ++ wctype F ++ wcwidth F ++ wmemchr F ++ wmemcmp F ++ wmemcpy F ++ wmemmove F ++ wmemset F ++ write F ++ writev F ++ xdr_accepted_reply F ++ xdr_array F ++ xdr_authunix_parms F ++ xdr_bool F ++ xdr_bytes F ++ xdr_callhdr F ++ xdr_callmsg F ++ xdr_char F ++ xdr_cryptkeyarg F ++ xdr_cryptkeyarg2 F ++ xdr_cryptkeyres F ++ xdr_des_block F ++ xdr_double F ++ xdr_enum F ++ xdr_float F ++ xdr_free F ++ xdr_int F ++ xdr_key_netstarg F ++ xdr_key_netstres F ++ xdr_keybuf F ++ xdr_keystatus F ++ xdr_long F ++ xdr_netobj F ++ xdr_opaque F ++ xdr_opaque_auth F ++ xdr_pmap F ++ xdr_pmaplist F ++ xdr_pointer F ++ xdr_reference F ++ xdr_rejected_reply F ++ xdr_replymsg F ++ xdr_rmtcall_args F ++ xdr_rmtcallres F ++ xdr_short F ++ xdr_string F ++ xdr_u_char F ++ xdr_u_int F ++ xdr_u_long F ++ xdr_u_short F ++ xdr_union F ++ xdr_vector F ++ xdr_void F ++ xdr_wrapstring F ++ xdrmem_create F ++ xdrrec_create F ++ xdrrec_endofrecord F ++ xdrrec_eof F ++ xdrrec_skiprecord F ++ xdrstdio_create F ++ xencrypt F ++ xprt_register F ++ xprt_unregister F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __fork F ++ _nl_default_dirname D 0x12 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __bzero F ++ __clone F ++ clone F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls ++ __divdi3 F ++ __moddi3 F ++ __udivdi3 F ++ __umoddi3 F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ atexit F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++ __deregister_frame F ++ __frame_state_for F ++ __register_frame F ++ __register_frame_info_table F ++ __register_frame_table F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ __deregister_frame_info F ++ __register_frame_info F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ _IO_file_jumps D 0x54 ++ _IO_list_all D 0x4 ++ __after_morecore_hook D 0x4 ++ __ctype32_b D 0x4 ++ __ctype_b D 0x4 ++ __ctype_tolower D 0x4 ++ __ctype_toupper D 0x4 ++ __curbrk D 0x4 ++ __environ D 0x4 ++ __free_hook D 0x4 ++ __malloc_hook D 0x4 ++ __malloc_initialize_hook D 0x4 ++ __memalign_hook D 0x4 ++ __morecore D 0x4 ++ __progname D 0x4 ++ __progname_full D 0x4 ++ __rcmd_errstr D 0x4 ++ __realloc_hook D 0x4 ++ __timezone D 0x4 ++ __tzname D 0x8 ++ _environ D 0x4 ++ _nl_domain_bindings D 0x4 ++ _null_auth D 0xc ++ _obstack D 0x4 ++ environ D 0x4 ++ error_print_progname D 0x4 ++ h_errlist D 0x14 ++ loc1 D 0x4 ++ loc2 D 0x4 ++ locs D 0x4 ++ mallwatch D 0x4 ++ obstack_alloc_failed_handler D 0x4 ++ optarg D 0x4 ++ program_invocation_name D 0x4 ++ program_invocation_short_name D 0x4 ++ re_syntax_options D 0x4 ++ rpc_createerr D 0x10 ++ stderr D 0x4 ++ stdin D 0x4 ++ stdout D 0x4 ++ svcauthdes_stats D 0xc ++ timezone D 0x4 ++ tzname D 0x8 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls s390-.*-linux.*/tls ++ ___brk_addr D 0x4 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ mcount F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls ++ ioperm F ++ iopl F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls ++ _errno D 0x4 ++ _h_errno D 0x4 ++ errno D 0x4 ++ h_errno D 0x4 ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 sh[34].*-.*-linux.*/notls ++ _res D 0x200 ++GLIBC_2.0 m68.*-.*-linux.*/notls ++ _res D 0x1fe ++ cacheflush F ++GLIBC_2.0 m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __fpu_control D 0x4 ++GLIBC_2.0 powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls ++ __ashldi3 F ++ __ashrdi3 F ++ __cmpdi2 F ++ __fixdfdi F ++ __fixsfdi F ++ __fixunsdfdi F ++ __fixunssfdi F ++ __floatdidf F ++ __floatdisf F ++ __lshrdi3 F ++ __ucmpdi2 F ++GLIBC_2.1.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++ __memcpy_by2 F ++ __memcpy_by4 F ++ __memcpy_g F ++ __mempcpy_by2 F ++ __mempcpy_by4 F ++ __mempcpy_byn F ++ __memset_ccn_by2 F ++ __memset_ccn_by4 F ++ __memset_gcn_by2 F ++ __memset_gcn_by4 F ++ __stpcpy_g F ++ __strcat_c F ++ __strcat_g F ++ __strchr_c F ++ __strchr_g F ++ __strchrnul_c F ++ __strchrnul_g F ++ __strcmp_gg F ++ __strcpy_g F ++ __strcspn_cg F ++ __strcspn_g F ++ __strlen_g F ++ __strncat_g F ++ __strncmp_g F ++ __strncpy_by2 F ++ __strncpy_by4 F ++ __strncpy_byn F ++ __strncpy_gg F ++ __strpbrk_cg F ++ __strpbrk_g F ++ __strrchr_c F ++ __strrchr_g F ++ __strspn_cg F ++ __strspn_g F ++ __strstr_cg F ++ __strstr_g F ++GLIBC_2.1.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1.1 A ++GLIBC_2.1.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _Exit F ++ __mempcpy_small F ++ __stpcpy_small F ++ __strcpy_small F ++ __strcspn_c1 F ++ __strcspn_c2 F ++ __strcspn_c3 F ++ __strpbrk_c2 F ++ __strpbrk_c3 F ++ __strsep_1c F ++ __strsep_2c F ++ __strsep_3c F ++ __strsep_g F ++ __strspn_c1 F ++ __strspn_c2 F ++ __strspn_c3 F ++ __strtok_r_1c F ++ __strverscmp F ++ getutmp F ++ getutmpx F ++ imaxabs F ++ imaxdiv F ++ strchrnul F ++ xdr_hyper F ++ xdr_int64_t F ++ xdr_longlong_t F ++ xdr_u_hyper F ++ xdr_u_longlong_t F ++ xdr_uint64_t F ++GLIBC_2.1.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1.2 A ++GLIBC_2.1.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __vfork F ++GLIBC_2.1.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1.3 A ++GLIBC_2.1.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __cxa_atexit F ++ __cxa_finalize F ++ __sigsuspend F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls ++ scalbln F ++ scalblnf F ++ scalblnl F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.2 ia64-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ wordexp F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_fgetpos64 F ++ _IO_fsetpos64 F ++ __fxstat64 F ++ __lxstat64 F ++ __xstat64 F ++ fgetpos64 F ++ fsetpos64 F ++ getrlimit64 F ++ readdir64 F ++ readdir64_r F ++ scandir64 F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ glob64 F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ alphasort64 F ++ versionsort64 F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_file_finish F ++ _IO_getline_info F ++ __asprintf F ++ __backtrace F ++ __backtrace_symbols F ++ __backtrace_symbols_fd F ++ __duplocale F ++ __freelocale F ++ __isalnum_l F ++ __isalpha_l F ++ __isascii_l F ++ __isblank_l F ++ __iscntrl_l F ++ __isdigit_l F ++ __isgraph_l F ++ __islower_l F ++ __isprint_l F ++ __ispunct_l F ++ __isspace_l F ++ __isupper_l F ++ __iswalnum_l F ++ __iswalpha_l F ++ __iswblank_l F ++ __iswcntrl_l F ++ __iswctype_l F ++ __iswdigit_l F ++ __iswgraph_l F ++ __iswlower_l F ++ __iswprint_l F ++ __iswpunct_l F ++ __iswspace_l F ++ __iswupper_l F ++ __iswxdigit_l F ++ __isxdigit_l F ++ __libc_allocate_rtsig F ++ __libc_current_sigrtmax F ++ __libc_current_sigrtmin F ++ __libc_freeres F ++ __libc_sa_len F ++ __newlocale F ++ __poll F ++ __pread64 F ++ __pwrite64 F ++ __rawmemchr F ++ __signbit F ++ __signbitf F ++ __strcasecmp_l F ++ __strcasestr F ++ __strcoll_l F ++ __strfmon_l F ++ __strncasecmp_l F ++ __strtod_l F ++ __strtof_l F ++ __strtol_l F ++ __strtold_l F ++ __strtoll_l F ++ __strtoul_l F ++ __strtoull_l F ++ __strxfrm_l F ++ __toascii_l F ++ __tolower_l F ++ __toupper_l F ++ __towctrans F ++ __towctrans_l F ++ __towlower_l F ++ __towupper_l F ++ __wcscasecmp_l F ++ __wcscoll_l F ++ __wcsncasecmp_l F ++ __wcstod_l F ++ __wcstof_l F ++ __wcstol_l F ++ __wcstold_l F ++ __wcstoll_l F ++ __wcstoul_l F ++ __wcstoull_l F ++ __wcsxfrm_l F ++ __wctype_l F ++ _argp_unlock_xxx F ++ _authenticate F ++ _dl_mcount_wrapper F ++ _dl_mcount_wrapper_check F ++ addseverity F ++ argp_err_exit_status D 0x4 ++ argp_error F ++ argp_failure F ++ argp_help F ++ argp_parse F ++ argp_state_help F ++ argp_usage F ++ authdes_create F ++ authdes_getucred F ++ authdes_pk_create F ++ backtrace F ++ backtrace_symbols F ++ backtrace_symbols_fd F ++ capget F ++ capset F ++ cbc_crypt F ++ clntunix_create F ++ creat64 F ++ des_setparity F ++ ecb_crypt F ++ endutxent F ++ fattach F ++ fdetach F ++ ffsl F ++ ffsll F ++ fgetc_unlocked F ++ fgets_unlocked F ++ fmtmsg F ++ fopen64 F ++ fputs_unlocked F ++ fread_unlocked F ++ freopen64 F ++ fseeko F ++ fseeko64 F ++ fstatfs64 F ++ fstatvfs F ++ fstatvfs64 F ++ ftello F ++ ftello64 F ++ ftruncate64 F ++ ftw64 F ++ fwrite_unlocked F ++ gai_strerror F ++ getcontext F ++ getdate F ++ getdate_err D 0x4 ++ getdate_r F ++ getmsg F ++ getnameinfo F ++ getnetname F ++ getpmsg F ++ getpt F ++ getutxent F ++ getutxid F ++ getutxline F ++ globfree64 F ++ gnu_get_libc_release F ++ gnu_get_libc_version F ++ grantpt F ++ host2netname F ++ iconv F ++ iconv_close F ++ iconv_open F ++ if_freenameindex F ++ if_indextoname F ++ if_nameindex F ++ if_nametoindex F ++ in6addr_any D 0x10 ++ in6addr_loopback D 0x10 ++ isastream F ++ iswblank F ++ key_decryptsession F ++ key_decryptsession_pk F ++ key_encryptsession F ++ key_encryptsession_pk F ++ key_gendes F ++ key_get_conv F ++ key_secretkey_is_set F ++ key_setnet F ++ key_setsecret F ++ lockf64 F ++ lseek64 F ++ makecontext F ++ mempcpy F ++ mmap64 F ++ netname2host F ++ netname2user F ++ nftw F ++ nftw64 F ++ ntp_adjtime F ++ ntp_gettime F ++ open64 F ++ passwd2des F ++ pread F ++ pread64 F ++ printf_size F ++ printf_size_info F ++ ptsname F ++ ptsname_r F ++ putgrent F ++ putmsg F ++ putpmsg F ++ pututxline F ++ pwrite F ++ pwrite64 F ++ rawmemchr F ++ rtime F ++ sendfile F ++ setrlimit64 F ++ setutxent F ++ sighold F ++ sigignore F ++ sigqueue F ++ sigrelse F ++ sigset F ++ sigtimedwait F ++ sigwaitinfo F ++ statfs64 F ++ statvfs F ++ statvfs64 F ++ strcasestr F ++ strtoimax F ++ strtoumax F ++ strverscmp F ++ svcunix_create F ++ svcunixfd_create F ++ swapcontext F ++ sysv_signal F ++ tcgetsid F ++ tdestroy F ++ tmpfile64 F ++ truncate64 F ++ umount2 F ++ unlockpt F ++ updwtmpx F ++ user2netname F ++ utmpxname F ++ versionsort F ++ waitid F ++ wcscasecmp F ++ wcsncasecmp F ++ wcsnlen F ++ wcstoimax F ++ wcstoll F ++ wcstoull F ++ wcstoumax F ++ wcswcs F ++ wordfree F ++ xdecrypt F ++ xdr_authdes_cred F ++ xdr_authdes_verf F ++ xdr_getcredres F ++ xdr_int16_t F ++ xdr_int32_t F ++ xdr_int8_t F ++ xdr_netnamestr F ++ xdr_sizeof F ++ xdr_uint16_t F ++ xdr_uint32_t F ++ xdr_uint8_t F ++ xdr_unixcred F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2 sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ __key_decryptsession_pk_LOCAL D 0x4 ++ __key_encryptsession_pk_LOCAL D 0x4 ++ __key_gendes_LOCAL D 0x4 ++ _sys_errlist D 0x1f4 ++ _sys_siglist D 0x100 ++ argp_program_bug_address D 0x4 ++ argp_program_version D 0x4 ++ argp_program_version_hook D 0x4 ++ sys_errlist D 0x1f4 ++ sys_sigabbrev D 0x100 ++ sys_siglist D 0x100 ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls ++ __signbitl F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls ++| GLIBC_2.2 sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ _IO_2_1_stderr_ D 0x98 ++ _IO_2_1_stdin_ D 0x98 ++ _IO_2_1_stdout_ D 0x98 ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ modify_ldt F ++GLIBC_2.1 powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ _IO_2_1_stderr_ D 0xa0 ++ _IO_2_1_stdin_ D 0xa0 ++ _IO_2_1_stdout_ D 0xa0 ++GLIBC_2.1 s390-.*-linux.*/tls ++ __chown F ++GLIBC_2.2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.1 A ++GLIBC_2.2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ pivot_root F ++ posix_openpt F ++GLIBC_2.2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.2 A ++GLIBC_2.2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __nss_hostname_digits_dots F ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.3 A ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __rpc_thread_createerr F ++ __rpc_thread_svc_fdset F ++ __rpc_thread_svc_max_pollfd F ++ __rpc_thread_svc_pollfd F ++ sprofil F ++GLIBC_2.2.4 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.4 A ++GLIBC_2.2.4 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ dl_iterate_phdr F ++ getgrouplist F ++ sockatmark F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++ __arch_prctl F ++ arch_prctl F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_adjust_wcolumn F ++ _IO_free_wbackup_area F ++ _IO_init_wmarker F ++ _IO_iter_begin F ++ _IO_iter_end F ++ _IO_iter_file F ++ _IO_iter_next F ++ _IO_least_wmarker F ++ _IO_list_lock F ++ _IO_list_resetlock F ++ _IO_list_unlock F ++ _IO_seekwmark F ++ _IO_sputbackwc F ++ _IO_sungetwc F ++ _IO_switch_to_main_wget_area F ++ _IO_switch_to_wbackup_area F ++ _IO_switch_to_wget_mode F ++ _IO_unsave_wmarkers F ++ _IO_wdefault_doallocate F ++ _IO_wdefault_finish F ++ _IO_wdefault_pbackfail F ++ _IO_wdefault_uflow F ++ _IO_wdefault_xsgetn F ++ _IO_wdefault_xsputn F ++ _IO_wdo_write F ++ _IO_wdoallocbuf F ++ _IO_wfile_overflow F ++ _IO_wfile_seekoff F ++ _IO_wfile_sync F ++ _IO_wfile_underflow F ++ _IO_wfile_xsputn F ++ _IO_wmarker_delta F ++ _IO_wsetb F ++ __assert F ++ __cyg_profile_func_enter F ++ __cyg_profile_func_exit F ++ __endmntent F ++ __fbufsize F ++ __flbf F ++ __fpending F ++ __fpurge F ++ __freadable F ++ __freading F ++ __fsetlocking F ++ __fwritable F ++ __fwriting F ++ __getmntent_r F ++ __nl_langinfo_l F ++ __open64 F ++ __res_init F ++ __res_nclose F ++ __res_ninit F ++ __res_state F ++ __setmntent F ++ __statfs F ++ __strndup F ++ __sysconf F ++ __sysctl F ++ __wctrans_l F ++ __woverflow F ++ __wuflow F ++ __wunderflow F ++ __xpg_sigpause F ++ _flushlbf F ++ bind_textdomain_codeset F ++ dcngettext F ++ dngettext F ++ fgetwc F ++ fgetwc_unlocked F ++ fgetws F ++ fgetws_unlocked F ++ fmemopen F ++ fputwc F ++ fputwc_unlocked F ++ fputws F ++ fputws_unlocked F ++ fwide F ++ fwprintf F ++ fwscanf F ++ getdirentries64 F ++ getloadavg F ++ getwc F ++ getwc_unlocked F ++ getwchar F ++ getwchar_unlocked F ++ iruserok_af F ++ mcheck_check_all F ++ mcheck_pedantic F ++ memrchr F ++ mincore F ++ mkdtemp F ++ mkstemp64 F ++ moncontrol F ++ ngettext F ++ posix_fadvise F ++ posix_fadvise64 F ++ posix_fallocate F ++ posix_fallocate64 F ++ posix_madvise F ++ posix_memalign F ++ posix_spawn F ++ posix_spawn_file_actions_addclose F ++ posix_spawn_file_actions_adddup2 F ++ posix_spawn_file_actions_addopen F ++ posix_spawn_file_actions_destroy F ++ posix_spawn_file_actions_init F ++ posix_spawnattr_destroy F ++ posix_spawnattr_getflags F ++ posix_spawnattr_getpgroup F ++ posix_spawnattr_getschedparam F ++ posix_spawnattr_getschedpolicy F ++ posix_spawnattr_getsigdefault F ++ posix_spawnattr_getsigmask F ++ posix_spawnattr_init F ++ posix_spawnattr_setflags F ++ posix_spawnattr_setpgroup F ++ posix_spawnattr_setschedparam F ++ posix_spawnattr_setschedpolicy F ++ posix_spawnattr_setsigdefault F ++ posix_spawnattr_setsigmask F ++ posix_spawnp F ++ putwc F ++ putwc_unlocked F ++ putwchar F ++ putwchar_unlocked F ++ rcmd_af F ++ rexec_af F ++ rresvport_af F ++ ruserok_af F ++ svc_getreq_common F ++ svc_getreq_poll F ++ svc_max_pollfd D 0x4 ++ swprintf F ++ swscanf F ++ ungetwc F ++ vfwprintf F ++ vfwscanf F ++ vswprintf F ++ vswscanf F ++ vwprintf F ++ vwscanf F ++ wcschrnul F ++ wcsftime F ++ wmempcpy F ++ wprintf F ++ wscanf F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++ __ctype32_b D 0x8 ++ __ctype32_tolower D 0x8 ++ __ctype32_toupper D 0x8 ++ __ctype_b D 0x8 ++ __ctype_tolower D 0x8 ++ __ctype_toupper D 0x8 ++ _res D 0x238 ++ _sys_errlist D 0x3e8 ++ sys_errlist D 0x3e8 ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_2_1_stderr_ D 0xe0 ++ _IO_2_1_stdin_ D 0xe0 ++ _IO_2_1_stdout_ D 0xe0 ++ _IO_file_jumps D 0xa8 ++ _IO_list_all D 0x8 ++ _IO_wfile_jumps D 0xa8 ++ __after_morecore_hook D 0x8 ++ __curbrk D 0x8 ++ __environ D 0x8 ++ __free_hook D 0x8 ++ __key_decryptsession_pk_LOCAL D 0x8 ++ __key_encryptsession_pk_LOCAL D 0x8 ++ __key_gendes_LOCAL D 0x8 ++ __malloc_hook D 0x8 ++ __malloc_initialize_hook D 0x8 ++ __memalign_hook D 0x8 ++ __morecore D 0x8 ++ __progname D 0x8 ++ __progname_full D 0x8 ++ __rcmd_errstr D 0x8 ++ __realloc_hook D 0x8 ++ __timezone D 0x8 ++ __tzname D 0x10 ++ _environ D 0x8 ++ _nl_domain_bindings D 0x8 ++ _null_auth D 0x18 ++ _obstack D 0x8 ++ _res_hconf D 0x48 ++ _sys_siglist D 0x200 ++ argp_program_bug_address D 0x8 ++ argp_program_version D 0x8 ++ argp_program_version_hook D 0x8 ++ environ D 0x8 ++ error_print_progname D 0x8 ++ h_errlist D 0x28 ++ loc1 D 0x8 ++ loc2 D 0x8 ++ locs D 0x8 ++ mallwatch D 0x8 ++ obstack_alloc_failed_handler D 0x8 ++ optarg D 0x8 ++ program_invocation_name D 0x8 ++ program_invocation_short_name D 0x8 ++ re_syntax_options D 0x8 ++ rpc_createerr D 0x20 ++ stderr D 0x8 ++ stdin D 0x8 ++ stdout D 0x8 ++ svc_pollfd D 0x8 ++ svcauthdes_stats D 0x18 ++ sys_sigabbrev D 0x200 ++ sys_siglist D 0x200 ++ timezone D 0x8 ++ tzname D 0x10 ++GLIBC_2.2.6 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.2.6 A ++GLIBC_2.2.6 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __nanosleep F ++GLIBC_2.2.6 ia64-.*-linux.*/tls ++ getunwind F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ __ctype32_tolower D 0x4 ++ __ctype32_toupper D 0x4 ++ _res_hconf D 0x30 ++ svc_pollfd D 0x4 ++GLIBC_2.2 i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ _IO_wfile_jumps D 0x54 ++GLIBC_2.2 ia64-.*-linux.*/tls ++ __clone2 F ++ __divdf3 F ++ __divsf3 F ++ __divtf3 F ++ __multi3 F ++ _inb F ++ _inl F ++ _inw F ++ _outb F ++ _outl F ++ _outw F ++ inb F ++ inl F ++ inw F ++ outb F ++ outw F ++ pciconfig_read F ++ pciconfig_write F ++GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls ++ ___brk_addr D 0x8 ++GLIBC_2.2 sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ _nl_default_dirname D 0x20 ++GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3.2 A ++ __register_atfork F ++ lchmod F ++ sched_getaffinity F ++ sched_setaffinity F ++ strptime_l F ++GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls x86_64-.*-linux.*/tls ++ epoll_create F ++ epoll_ctl F ++ epoll_wait F ++GLIBC_2.3.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3.3 A ++ remap_file_pages F ++GLIBC_2.3.3 i.86-.*-linux.*/thread i.86-.*-linux.*/tls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls ++ _sys_siglist D 0x104 ++ sys_sigabbrev D 0x104 ++ sys_siglist D 0x104 ++GLIBC_2.3.3 ia64-.*-linux.*/tls powerpc64-.*-linux.*/thread s390x-.*-linux.*/tls x86_64-.*-linux.*/tls ++| GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ strtoll_l F ++ strtoull_l F ++GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3 A ++ __ctype_b_loc F ++ __ctype_tolower_loc F ++ __ctype_toupper_loc F ++ __isctype F ++ __strftime_l F ++ __uselocale F ++ __wcsftime_l F ++ duplocale F ++ fgetxattr F ++ flistxattr F ++ freeifaddrs F ++ freelocale F ++ fremovexattr F ++ fsetxattr F ++ futimes F ++ getifaddrs F ++ getxattr F ++ isalnum_l F ++ isalpha_l F ++ isblank_l F ++ iscntrl_l F ++ isctype F ++ isdigit_l F ++ isgraph_l F ++ islower_l F ++ isprint_l F ++ ispunct_l F ++ isspace_l F ++ isupper_l F ++ iswalnum_l F ++ iswalpha_l F ++ iswblank_l F ++ iswcntrl_l F ++ iswctype_l F ++ iswdigit_l F ++ iswgraph_l F ++ iswlower_l F ++ iswprint_l F ++ iswpunct_l F ++ iswspace_l F ++ iswupper_l F ++ iswxdigit_l F ++ isxdigit_l F ++ lgetxattr F ++ listxattr F ++ llistxattr F ++ lremovexattr F ++ lsetxattr F ++ lutimes F ++ newlocale F ++ nl_langinfo_l F ++ readahead F ++ removexattr F ++ sendfile64 F ++ setxattr F ++ strcasecmp_l F ++ strcoll_l F ++ strfmon_l F ++ strftime_l F ++ strncasecmp_l F ++ strtod_l F ++ strtof_l F ++ strtol_l F ++ strtold_l F ++ strtoul_l F ++ strxfrm_l F ++ tolower_l F ++ toupper_l F ++ towctrans_l F ++ towlower_l F ++ towupper_l F ++ uselocale F ++ wcscasecmp_l F ++ wcscoll_l F ++ wcsftime_l F ++ wcsncasecmp_l F ++ wcstod_l F ++ wcstof_l F ++ wcstol_l F ++ wcstold_l F ++ wcstoll_l F ++ wcstoul_l F ++ wcstoull_l F ++ wcsxfrm_l F ++ wctrans_l F ++ wctype_l F ++GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ _sys_errlist D 0x1f8 ++ sys_errlist D 0x1f8 ++GLIBC_2.3 ia64-.*-linux.*/tls powerpc64-.*-linux.*/thread s390x-.*-linux.*/tls x86_64-.*-linux.*/tls ++ _sys_errlist D 0x3f0 ++ sys_errlist D 0x3f0 +--- glibc-2.3.2/abilist/libcrypt.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libcrypt.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,19 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ crypt F ++ crypt_r F ++ encrypt F ++ encrypt_r F ++ fcrypt F ++ setkey F ++ setkey_r F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2 s390x-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libdl.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libdl.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,33 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ dlopen F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ dladdr F ++ dlclose F ++ dlerror F ++ dlsym F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ dlvsym F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2 s390x-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3.3 A ++ dladdr1 F ++ dlinfo F ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libm.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libm.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,355 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _LIB_VERSION D 0x4 ++ acos F ++ acosf F ++ acosh F ++ acoshf F ++ acoshl F ++ acosl F ++ asin F ++ asinf F ++ asinh F ++ asinhf F ++ asinhl F ++ asinl F ++ atan F ++ atan2 F ++ atan2f F ++ atan2l F ++ atanf F ++ atanh F ++ atanhf F ++ atanhl F ++ atanl F ++ cbrt F ++ cbrtf F ++ cbrtl F ++ ceil F ++ ceilf F ++ ceill F ++ copysign F ++ copysignf F ++ copysignl F ++ cos F ++ cosf F ++ cosh F ++ coshf F ++ coshl F ++ cosl F ++ drem F ++ dremf F ++ dreml F ++ erf F ++ erfc F ++ erfcf F ++ erfcl F ++ erff F ++ erfl F ++ exp F ++ expf F ++ expl F ++ expm1 F ++ expm1f F ++ expm1l F ++ fabs F ++ fabsf F ++ fabsl F ++ finite F ++ finitef F ++ finitel F ++ floor F ++ floorf F ++ floorl F ++ fmod F ++ fmodf F ++ fmodl F ++ frexp F ++ frexpf F ++ frexpl F ++ gamma F ++ gammaf F ++ gammal F ++ hypot F ++ hypotf F ++ hypotl F ++ ilogb F ++ ilogbf F ++ ilogbl F ++ j0 F ++ j0f F ++ j0l F ++ j1 F ++ j1f F ++ j1l F ++ jn F ++ jnf F ++ jnl F ++ ldexp F ++ ldexpf F ++ ldexpl F ++ lgamma F ++ lgamma_r F ++ lgammaf F ++ lgammaf_r F ++ lgammal F ++ lgammal_r F ++ log F ++ log10 F ++ log10f F ++ log10l F ++ log1p F ++ log1pf F ++ log1pl F ++ logb F ++ logbf F ++ logbl F ++ logf F ++ logl F ++ matherr F ++ modf F ++ modff F ++ modfl F ++ nextafter F ++ nextafterf F ++ nextafterl F ++ pow F ++ powf F ++ powl F ++ remainder F ++ remainderf F ++ remainderl F ++ rint F ++ rintf F ++ rintl F ++ scalb F ++ scalbf F ++ scalbl F ++ scalbn F ++ scalbnf F ++ scalbnl F ++ signgam D 0x4 ++ significand F ++ significandf F ++ significandl F ++ sin F ++ sinf F ++ sinh F ++ sinhf F ++ sinhl F ++ sinl F ++ sqrt F ++ sqrtf F ++ sqrtl F ++ tan F ++ tanf F ++ tanh F ++ tanhf F ++ tanhl F ++ tanl F ++ y0 F ++ y0f F ++ y0l F ++ y1 F ++ y1f F ++ y1l F ++ yn F ++ ynf F ++ ynl F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ feclearexcept F ++ fegetenv F ++ fegetexceptflag F ++ feraiseexcept F ++ fesetenv F ++ fesetexceptflag F ++ feupdateenv F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __clog10 F ++ __clog10f F ++ __clog10l F ++ __finite F ++ __finitef F ++ __finitel F ++ __fpclassify F ++ __fpclassifyf F ++ __signbit F ++ __signbitf F ++ cabs F ++ cabsf F ++ cabsl F ++ cacos F ++ cacosf F ++ cacosh F ++ cacoshf F ++ cacoshl F ++ cacosl F ++ carg F ++ cargf F ++ cargl F ++ casin F ++ casinf F ++ casinh F ++ casinhf F ++ casinhl F ++ casinl F ++ catan F ++ catanf F ++ catanh F ++ catanhf F ++ catanhl F ++ catanl F ++ ccos F ++ ccosf F ++ ccosh F ++ ccoshf F ++ ccoshl F ++ ccosl F ++ cexp F ++ cexpf F ++ cexpl F ++ cimag F ++ cimagf F ++ cimagl F ++ clog F ++ clog10 F ++ clog10f F ++ clog10l F ++ clogf F ++ clogl F ++ conj F ++ conjf F ++ conjl F ++ cpow F ++ cpowf F ++ cpowl F ++ cproj F ++ cprojf F ++ cprojl F ++ creal F ++ crealf F ++ creall F ++ csin F ++ csinf F ++ csinh F ++ csinhf F ++ csinhl F ++ csinl F ++ csqrt F ++ csqrtf F ++ csqrtl F ++ ctan F ++ ctanf F ++ ctanh F ++ ctanhf F ++ ctanhl F ++ ctanl F ++ exp10 F ++ exp10f F ++ exp10l F ++ exp2 F ++ exp2f F ++ fdim F ++ fdimf F ++ fdiml F ++ fegetround F ++ feholdexcept F ++ fesetround F ++ fetestexcept F ++ fma F ++ fmaf F ++ fmal F ++ fmax F ++ fmaxf F ++ fmaxl F ++ fmin F ++ fminf F ++ fminl F ++ llrint F ++ llrintf F ++ llrintl F ++ llround F ++ llroundf F ++ llroundl F ++ log2 F ++ log2f F ++ log2l F ++ lrint F ++ lrintf F ++ lrintl F ++ lround F ++ lroundf F ++ lroundl F ++ nan F ++ nanf F ++ nanl F ++ nearbyint F ++ nearbyintf F ++ nearbyintl F ++ nexttoward F ++ nexttowardf F ++ nexttowardl F ++ pow10 F ++ pow10f F ++ pow10l F ++ remquo F ++ remquof F ++ remquol F ++ round F ++ roundf F ++ roundl F ++ scalbln F ++ scalblnf F ++ scalblnl F ++ sincos F ++ sincosf F ++ sincosl F ++ tgamma F ++ tgammaf F ++ tgammal F ++ trunc F ++ truncf F ++ truncl F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls ++ __fpclassifyl F ++ __signbitl F ++ exp2l F ++GLIBC_2.1 powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __fe_dfl_env D 0x8 ++ __fe_enabled_env D 0x8 ++ __fe_nomask_env F ++ __fe_nonieee_env D 0x8 ++GLIBC_2.2.3 ia64-.*-linux.*/tls ++ GLIBC_2.2.3 A ++ matherrf F ++ matherrl F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ fedisableexcept F ++ feenableexcept F ++ fegetexcept F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ++ __expl F ++ __expm1l F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libnsl.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libnsl.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,142 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __yp_check F ++ xdr_domainname F ++ xdr_keydat F ++ xdr_mapname F ++ xdr_peername F ++ xdr_valdat F ++ xdr_yp_buf F ++ xdr_ypbind_binding F ++ xdr_ypbind_resp F ++ xdr_ypbind_resptype F ++ xdr_ypbind_setdom F ++ xdr_ypdelete_args F ++ xdr_ypmap_parms F ++ xdr_ypmaplist F ++ xdr_yppush_status F ++ xdr_yppushresp_xfr F ++ xdr_ypreq_key F ++ xdr_ypreq_nokey F ++ xdr_ypreq_xfr F ++ xdr_ypresp_all F ++ xdr_ypresp_key_val F ++ xdr_ypresp_maplist F ++ xdr_ypresp_master F ++ xdr_ypresp_order F ++ xdr_ypresp_val F ++ xdr_ypresp_xfr F ++ xdr_ypstat F ++ xdr_ypupdate_args F ++ xdr_ypxfrstat F ++ yp_all F ++ yp_bind F ++ yp_first F ++ yp_get_default_domain F ++ yp_maplist F ++ yp_master F ++ yp_match F ++ yp_next F ++ yp_order F ++ yp_unbind F ++ yp_update F ++ ypbinderr_string F ++ yperr_string F ++ ypprot_err F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __free_fdresult F ++ __nis_default_access F ++ __nis_default_group F ++ __nis_default_owner F ++ __nis_default_ttl F ++ __nis_finddirectory F ++ __nis_hash F ++ __nisbind_connect F ++ __nisbind_create F ++ __nisbind_destroy F ++ __nisbind_next F ++ nis_add F ++ nis_add_entry F ++ nis_addmember F ++ nis_checkpoint F ++ nis_clone_directory F ++ nis_clone_object F ++ nis_clone_result F ++ nis_creategroup F ++ nis_destroy_object F ++ nis_destroygroup F ++ nis_dir_cmp F ++ nis_domain_of F ++ nis_domain_of_r F ++ nis_first_entry F ++ nis_free_directory F ++ nis_free_object F ++ nis_free_request F ++ nis_freenames F ++ nis_freeresult F ++ nis_freeservlist F ++ nis_freetags F ++ nis_getnames F ++ nis_getservlist F ++ nis_ismember F ++ nis_leaf_of F ++ nis_leaf_of_r F ++ nis_lerror F ++ nis_list F ++ nis_local_directory F ++ nis_local_group F ++ nis_local_host F ++ nis_local_principal F ++ nis_lookup F ++ nis_mkdir F ++ nis_modify F ++ nis_modify_entry F ++ nis_name_of F ++ nis_name_of_r F ++ nis_next_entry F ++ nis_perror F ++ nis_ping F ++ nis_print_directory F ++ nis_print_entry F ++ nis_print_group F ++ nis_print_group_entry F ++ nis_print_link F ++ nis_print_object F ++ nis_print_result F ++ nis_print_rights F ++ nis_print_table F ++ nis_read_obj F ++ nis_remove F ++ nis_remove_entry F ++ nis_removemember F ++ nis_rmdir F ++ nis_servstate F ++ nis_sperrno F ++ nis_sperror F ++ nis_sperror_r F ++ nis_stats F ++ nis_verifygroup F ++ nis_write_obj F ++ readColdStartFile F ++ writeColdStartFile F ++ xdr_cback_data F ++ xdr_obj_p F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ xdr_ypall F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libpthread.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libpthread.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,256 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ pthread_attr_init F ++ pthread_create F ++ sem_destroy F ++ sem_getvalue F ++ sem_init F ++ sem_post F ++ sem_trywait F ++ sem_wait F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ pthread_atfork F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ pthread_cond_broadcast F ++ pthread_cond_destroy F ++ pthread_cond_init F ++ pthread_cond_signal F ++ pthread_cond_timedwait F ++ pthread_cond_wait F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ _IO_flockfile F ++ _IO_ftrylockfile F ++ _IO_funlockfile F ++ __close F ++ __connect F ++ __errno_location F ++ __fcntl F ++ __fork F ++ __h_errno_location F ++ __lseek F ++ __open F ++ __pthread_getspecific F ++ __pthread_key_create F ++ __pthread_mutex_destroy F ++ __pthread_mutex_init F ++ __pthread_mutex_lock F ++ __pthread_mutex_trylock F ++ __pthread_mutex_unlock F ++ __pthread_mutexattr_destroy F ++ __pthread_mutexattr_init F ++ __pthread_mutexattr_settype F ++ __pthread_once F ++ __pthread_setspecific F ++ __read F ++ __send F ++ __sigaction F ++ __wait F ++ __write F ++ _pthread_cleanup_pop F ++ _pthread_cleanup_pop_restore F ++ _pthread_cleanup_push F ++ _pthread_cleanup_push_defer F ++ accept F ++ close F ++ connect F ++ fcntl F ++ flockfile F ++ fork F ++ fsync F ++ ftrylockfile F ++ funlockfile F ++ longjmp F ++ lseek F ++ msync F ++ nanosleep F ++ open F ++ pause F ++ pthread_attr_destroy F ++ pthread_attr_getdetachstate F ++ pthread_attr_getinheritsched F ++ pthread_attr_getschedparam F ++ pthread_attr_getschedpolicy F ++ pthread_attr_getscope F ++ pthread_attr_setdetachstate F ++ pthread_attr_setinheritsched F ++ pthread_attr_setschedparam F ++ pthread_attr_setschedpolicy F ++ pthread_attr_setscope F ++ pthread_cancel F ++ pthread_condattr_destroy F ++ pthread_condattr_init F ++ pthread_detach F ++ pthread_equal F ++ pthread_exit F ++ pthread_getschedparam F ++ pthread_getspecific F ++ pthread_join F ++ pthread_key_create F ++ pthread_key_delete F ++ pthread_kill F ++ pthread_kill_other_threads_np F ++ pthread_mutex_destroy F ++ pthread_mutex_init F ++ pthread_mutex_lock F ++ pthread_mutex_trylock F ++ pthread_mutex_unlock F ++ pthread_mutexattr_destroy F ++ pthread_mutexattr_getkind_np F ++ pthread_mutexattr_init F ++ pthread_mutexattr_setkind_np F ++ pthread_once F ++ pthread_self F ++ pthread_setcancelstate F ++ pthread_setcanceltype F ++ pthread_setschedparam F ++ pthread_setspecific F ++ pthread_sigmask F ++ pthread_testcancel F ++ raise F ++ read F ++ recv F ++ recvfrom F ++ recvmsg F ++ send F ++ sendmsg F ++ sendto F ++ sigaction F ++ siglongjmp F ++ sigwait F ++ system F ++ tcdrain F ++ vfork F ++ wait F ++ waitpid F ++ write F ++GLIBC_2.1.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1.1 A ++GLIBC_2.1.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ sem_close F ++ sem_open F ++ sem_unlink F ++GLIBC_2.1.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1.2 A ++GLIBC_2.1.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __vfork F ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 ia64-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __libc_allocate_rtsig F ++ __libc_current_sigrtmax F ++ __libc_current_sigrtmin F ++ pthread_attr_getguardsize F ++ pthread_attr_getstackaddr F ++ pthread_attr_getstacksize F ++ pthread_attr_setguardsize F ++ pthread_attr_setstackaddr F ++ pthread_attr_setstacksize F ++ pthread_getconcurrency F ++ pthread_mutexattr_gettype F ++ pthread_mutexattr_settype F ++ pthread_rwlock_destroy F ++ pthread_rwlock_init F ++ pthread_rwlock_rdlock F ++ pthread_rwlock_tryrdlock F ++ pthread_rwlock_trywrlock F ++ pthread_rwlock_unlock F ++ pthread_rwlock_wrlock F ++ pthread_rwlockattr_destroy F ++ pthread_rwlockattr_getkind_np F ++ pthread_rwlockattr_getpshared F ++ pthread_rwlockattr_init F ++ pthread_rwlockattr_setkind_np F ++ pthread_rwlockattr_setpshared F ++ pthread_setconcurrency F ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.3 A ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ pthread_getattr_np F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __open64 F ++ __pread64 F ++ __pthread_rwlock_destroy F ++ __pthread_rwlock_init F ++ __pthread_rwlock_rdlock F ++ __pthread_rwlock_tryrdlock F ++ __pthread_rwlock_trywrlock F ++ __pthread_rwlock_unlock F ++ __pthread_rwlock_wrlock F ++ __pwrite64 F ++ __res_state F ++ lseek64 F ++ open64 F ++ pread F ++ pread64 F ++ pthread_attr_getstack F ++ pthread_attr_setstack F ++ pthread_barrier_destroy F ++ pthread_barrier_init F ++ pthread_barrier_wait F ++ pthread_barrierattr_destroy F ++ pthread_barrierattr_init F ++ pthread_barrierattr_setpshared F ++ pthread_condattr_getpshared F ++ pthread_condattr_setpshared F ++ pthread_getcpuclockid F ++ pthread_mutex_timedlock F ++ pthread_mutexattr_getpshared F ++ pthread_mutexattr_setpshared F ++ pthread_rwlock_timedrdlock F ++ pthread_rwlock_timedwrlock F ++ pthread_spin_destroy F ++ pthread_spin_init F ++ pthread_spin_lock F ++ pthread_spin_trylock F ++ pthread_spin_unlock F ++ pthread_yield F ++ pwrite F ++ pwrite64 F ++ sem_timedwait F ++GLIBC_2.2.6 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.2.6 A ++GLIBC_2.2.6 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __nanosleep F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3.2 A ++GLIBC_2.3.3 i.86-.*-linux.*/thread sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.3.3 A ++ pthread_barrierattr_getpshared F ++ pthread_condattr_getclock F ++ pthread_condattr_setclock F ++ pthread_timedjoin_np F ++ pthread_tryjoin_np F ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libresolv.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libresolv.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,95 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.0 A ++ dn_expand F ++ res_mkquery F ++ res_query F ++ res_querydomain F ++ res_search F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __b64_ntop F ++ __b64_pton F ++ __dn_comp F ++ __dn_count_labels F ++ __dn_skipname F ++ __fp_nquery F ++ __fp_query F ++ __fp_resstat F ++ __hostalias F ++ __loc_aton F ++ __loc_ntoa F ++ __p_cdname F ++ __p_cdnname F ++ __p_class F ++ __p_fqname F ++ __p_fqnname F ++ __p_option F ++ __p_query F ++ __p_secstodate F ++ __p_time F ++ __p_type F ++ __putlong F ++ __putshort F ++ __res_close F ++ __res_dnok F ++ __res_hnok F ++ __res_isourserver F ++ __res_mailok F ++ __res_nameinquery F ++ __res_ownok F ++ __res_queriesmatch F ++ __res_send F ++ __sym_ntop F ++ __sym_ntos F ++ __sym_ston F ++ _gethtbyaddr F ++ _gethtbyname F ++ _gethtbyname2 F ++ _gethtent F ++ _getlong F ++ _getshort F ++ _sethtent F ++ inet_net_ntop F ++ inet_net_pton F ++ inet_neta F ++ res_gethostbyaddr F ++ res_gethostbyname F ++ res_gethostbyname2 F ++ res_send_setqhook F ++ res_send_setrhook F ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ __p_class_syms D 0x54 ++ __p_type_syms D 0x21c ++ _res_opcodes D 0x40 ++GLIBC_2.0 ia64-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __p_class_syms D 0xa8 ++ __p_type_syms D 0x438 ++ _res_opcodes D 0x80 ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ __dn_expand F ++ __res_hostalias F ++ __res_mkquery F ++ __res_nmkquery F ++ __res_nquery F ++ __res_nquerydomain F ++ __res_nsearch F ++ __res_nsend F ++ __res_query F ++ __res_querydomain F ++ __res_search F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3.2 A ++ __p_rcode F ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/librt.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/librt.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,44 @@ ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.1 A ++GLIBC_2.1 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ aio_cancel F ++ aio_cancel64 F ++ aio_error F ++ aio_error64 F ++ aio_fsync F ++ aio_fsync64 F ++ aio_init F ++ aio_read F ++ aio_read64 F ++ aio_return F ++ aio_return64 F ++ aio_suspend F ++ aio_suspend64 F ++ aio_write F ++ aio_write64 F ++ lio_listio F ++ lio_listio64 F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ clock_getcpuclockid F ++ clock_getres F ++ clock_gettime F ++ clock_nanosleep F ++ clock_settime F ++ shm_open F ++ shm_unlink F ++ timer_create F ++ timer_delete F ++ timer_getoverrun F ++ timer_gettime F ++ timer_settime F ++GLIBC_2.2 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/abilist/libthread_db.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libthread_db.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,59 @@ ++GLIBC_2.1.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.1.3 A ++GLIBC_2.1.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ td_init F ++ td_log F ++ td_ta_clear_event F ++ td_ta_delete F ++ td_ta_enable_stats F ++ td_ta_event_addr F ++ td_ta_event_getmsg F ++ td_ta_get_nthreads F ++ td_ta_get_ph F ++ td_ta_get_stats F ++ td_ta_map_id2thr F ++ td_ta_map_lwp2thr F ++ td_ta_new F ++ td_ta_reset_stats F ++ td_ta_set_event F ++ td_ta_setconcurrency F ++ td_ta_thr_iter F ++ td_ta_tsd_iter F ++ td_thr_clear_event F ++ td_thr_dbresume F ++ td_thr_dbsuspend F ++ td_thr_event_enable F ++ td_thr_event_getmsg F ++ td_thr_get_info F ++ td_thr_getfpregs F ++ td_thr_getgregs F ++ td_thr_getxregs F ++ td_thr_getxregsize F ++ td_thr_set_event F ++ td_thr_setfpregs F ++ td_thr_setgregs F ++ td_thr_setprio F ++ td_thr_setsigpending F ++ td_thr_setxregs F ++ td_thr_sigsetmask F ++ td_thr_tsd F ++ td_thr_validate F ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.2.3 A ++GLIBC_2.2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ td_symbol_list F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2 s390x-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3.3 A ++ td_thr_tlsbase F ++GLIBC_2.3 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls powerpc64-.*-linux.*/thread s390-.*-linux.*/tls s390x-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls x86_64-.*-linux.*/tls ++ GLIBC_2.3 A ++ td_thr_tls_get_addr F +--- glibc-2.3.2/abilist/libutil.abilist 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/abilist/libutil.abilist 2003-04-01 23:39:52.000000000 -0500 +@@ -0,0 +1,18 @@ ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++ GLIBC_2.0 A ++GLIBC_2.0 i.86-.*-linux.*/notls i.86-.*-linux.*/thread i.86-.*-linux.*/tls ia64-.*-linux.*/tls m68.*-.*-linux.*/notls powerpc-.*-linux.*/notls powerpc-.*-linux.*/thread powerpc-.*-linux.*/tls s390-.*-linux.*/tls sh[34].*-.*-linux.*/notls sh[34].*-.*-linux.*/thread sh[34].*-.*-linux.*/tls ++| GLIBC_2.2.5 x86_64-.*-linux.*/tls ++| GLIBC_2.2 s390x-.*-linux.*/tls ++| GLIBC_2.3 powerpc64-.*-linux.*/thread ++ forkpty F ++ login F ++ login_tty F ++ logout F ++ logwtmp F ++ openpty F ++GLIBC_2.2.5 x86_64-.*-linux.*/tls ++ GLIBC_2.2.5 A ++GLIBC_2.2 s390x-.*-linux.*/tls ++ GLIBC_2.2 A ++GLIBC_2.3 powerpc64-.*-linux.*/thread ++ GLIBC_2.3 A +--- glibc-2.3.2/argp/Makefile 2002-12-04 14:45:21.000000000 -0500 ++++ glibc-2.3.2/argp/Makefile 2003-09-19 22:37:01.000000000 -0400 +@@ -1,4 +1,4 @@ +-# Copyright (C) 1997, 2002 Free Software Foundation, Inc. ++# Copyright (C) 1997, 2002, 2003 Free Software Foundation, Inc. + # This file is part of the GNU C Library. + + # The GNU C Library is free software; you can redistribute it and/or +@@ -28,4 +28,8 @@ + + tests = argp-test tst-argp1 + ++CFLAGS-argp-help.c = $(uses-callbacks) -fexceptions ++CFLAGS-argp-parse.c = $(uses-callbacks) ++CFLAGS-argp-fmtstream.c = -fexceptions ++ + include ../Rules +--- glibc-2.3.2/argp/argp-help.c 2002-04-08 04:19:17.000000000 -0400 ++++ glibc-2.3.2/argp/argp-help.c 2003-08-21 08:36:58.000000000 -0400 +@@ -1,5 +1,5 @@ + /* Hierarchial argument parsing help output +- Copyright (C) 1995-2000, 2001, 2002 Free Software Foundation, Inc. ++ Copyright (C) 1995-2000, 2001, 2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written by Miles Bader <miles@gnu.ai.mit.edu>. + +@@ -521,7 +521,7 @@ + free (hol); + } + +-static inline int ++static int + hol_entry_short_iterate (const struct hol_entry *entry, + int (*func)(const struct argp_option *opt, + const struct argp_option *real, +@@ -547,6 +547,7 @@ + } + + static inline int ++__attribute ((always_inline)) + hol_entry_long_iterate (const struct hol_entry *entry, + int (*func)(const struct argp_option *opt, + const struct argp_option *real, +--- glibc-2.3.2/argp/argp.h 2003-02-28 20:09:18.000000000 -0500 ++++ glibc-2.3.2/argp/argp.h 2003-09-19 22:37:01.000000000 -0400 +@@ -32,6 +32,10 @@ + # define __const const + #endif + ++#ifndef __THROW ++# define __THROW ++#endif ++ + #ifndef __error_t_defined + typedef int error_t; + # define __error_t_defined +@@ -376,11 +380,11 @@ + extern error_t argp_parse (__const struct argp *__restrict __argp, + int __argc, char **__restrict __argv, + unsigned __flags, int *__restrict __arg_index, +- void *__restrict __input) __THROW; ++ void *__restrict __input); + extern error_t __argp_parse (__const struct argp *__restrict __argp, + int __argc, char **__restrict __argv, + unsigned __flags, int *__restrict __arg_index, +- void *__restrict __input) __THROW; ++ void *__restrict __input); + + /* Global variables. */ + +@@ -444,10 +448,10 @@ + ARGP_HELP_*. */ + extern void argp_help (__const struct argp *__restrict __argp, + FILE *__restrict __stream, +- unsigned __flags, char *__restrict __name) __THROW; ++ unsigned __flags, char *__restrict __name); + extern void __argp_help (__const struct argp *__restrict __argp, + FILE *__restrict __stream, unsigned __flags, +- char *__name) __THROW; ++ char *__name); + + /* The following routines are intended to be called from within an argp + parsing routine (thus taking an argp_state structure as the first +@@ -461,23 +465,23 @@ + from the set ARGP_HELP_*. */ + extern void argp_state_help (__const struct argp_state *__restrict __state, + FILE *__restrict __stream, +- unsigned int __flags) __THROW; ++ unsigned int __flags); + extern void __argp_state_help (__const struct argp_state *__restrict __state, + FILE *__restrict __stream, +- unsigned int __flags) __THROW; ++ unsigned int __flags); + + /* Possibly output the standard usage message for ARGP to stderr and exit. */ +-extern void argp_usage (__const struct argp_state *__state) __THROW; +-extern void __argp_usage (__const struct argp_state *__state) __THROW; ++extern void argp_usage (__const struct argp_state *__state); ++extern void __argp_usage (__const struct argp_state *__state); + + /* If appropriate, print the printf string FMT and following args, preceded + by the program name and `:', to stderr, and followed by a `Try ... --help' + message, then exit (1). */ + extern void argp_error (__const struct argp_state *__restrict __state, +- __const char *__restrict __fmt, ...) __THROW ++ __const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + extern void __argp_error (__const struct argp_state *__restrict __state, +- __const char *__restrict __fmt, ...) __THROW ++ __const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + + /* Similar to the standard gnu error-reporting function error(), but will +@@ -490,11 +494,11 @@ + parsing but don't reflect a (syntactic) problem with the input. */ + extern void argp_failure (__const struct argp_state *__restrict __state, + int __status, int __errnum, +- __const char *__restrict __fmt, ...) __THROW ++ __const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 4, 5))); + extern void __argp_failure (__const struct argp_state *__restrict __state, + int __status, int __errnum, +- __const char *__restrict __fmt, ...) __THROW ++ __const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 4, 5))); + + /* Returns true if the option OPT is a valid short option. */ +--- glibc-2.3.2/argp/tst-argp1.c 2002-12-04 17:45:02.000000000 -0500 ++++ glibc-2.3.2/argp/tst-argp1.c 2003-03-18 16:46:06.000000000 -0500 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 2002 Free Software Foundation, Inc. ++/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. + +@@ -29,7 +29,7 @@ + #define OPT_TOPLEVEL 304 + + +-static const struct argp_option options[] = ++static const struct argp_option test_options[] = + { + { NULL, 0, NULL, 0, "\ + This is a test for threads so we allow ther user to selection the number of \ +@@ -89,12 +89,12 @@ + /* Data structure to communicate with argp functions. */ + static struct argp argp = + { +- options, parse_opt ++ test_options, parse_opt + }; + + +-int +-main (void) ++static int ++do_test (void) + { + int argc = 2; + char *argv[3] = { (char *) "tst-argp1", (char *) "--help", NULL }; +@@ -113,3 +113,6 @@ + { + return ARGP_ERR_UNKNOWN; + } ++ ++#define TEST_FUNCTION do_test () ++#include "../test-skeleton.c" +--- glibc-2.3.2/assert/assert.h 2001-07-07 15:20:51.000000000 -0400 ++++ glibc-2.3.2/assert/assert.h 2003-08-21 08:36:58.000000000 -0400 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1991,1992,1994-1999,2000,2001 Free Software Foundation, Inc. ++/* Copyright (C) 1991,1992,1994-2001,2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -84,16 +84,33 @@ + + __END_DECLS + +-# define assert(expr) \ ++/* For the macro definition we use gcc's __builtin_expect if possible ++ to generate good code for the non-error case. gcc 3.0 is a good ++ enough estimate for when the feature became available. */ ++# if __GNUC_PREREQ (3, 0) ++# define assert(expr) \ ++ (__ASSERT_VOID_CAST (__builtin_expect (!!(expr), 1) ? 0 : \ ++ (__assert_fail (__STRING(expr), __FILE__, __LINE__, \ ++ __ASSERT_FUNCTION), 0))) ++# else ++# define assert(expr) \ + (__ASSERT_VOID_CAST ((expr) ? 0 : \ + (__assert_fail (__STRING(expr), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) ++# endif + + # ifdef __USE_GNU +-# define assert_perror(errnum) \ ++# if __GNUC_PREREQ (3, 0) ++# define assert_perror(errnum) \ ++ (__ASSERT_VOID_CAST (__builtin_expect (!(errnum), 1) ? 0 : \ ++ (__assert_perror_fail ((errnum), __FILE__, __LINE__, \ ++ __ASSERT_FUNCTION), 0))) ++# else ++# define assert_perror(errnum) \ + (__ASSERT_VOID_CAST (!(errnum) ? 0 : \ + (__assert_perror_fail ((errnum), __FILE__, __LINE__, \ + __ASSERT_FUNCTION), 0))) ++# endif + # endif + + /* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__' +--- glibc-2.3.2/autom4te.cache/output.0 1969-12-31 19:00:00.000000000 -0500 ++++ glibc-2.3.2/autom4te.cache/output.0 2003-09-19 22:40:33.000000000 -0400 +@@ -0,0 +1,8515 @@ ++@%:@! /bin/sh ++@%:@ From configure.in CVSid. ++@%:@ Guess values for system-dependent variables and create Makefiles. ++@%:@ Generated by GNU Autoconf 2.57 for GNU C Library (see version.h). ++@%:@ ++@%:@ Report bugs to <glibc>. ++@%:@ ++@%:@ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 ++@%:@ Free Software Foundation, Inc. ++@%:@ This configure script is free software; the Free Software Foundation ++@%:@ gives unlimited permission to copy, distribute and modify it. ++## --------------------- ## ++## M4sh Initialization. ## ++## --------------------- ## ++ ++# Be Bourne compatible ++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ++ emulate sh ++ NULLCMD=: ++ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which ++ # is contrary to our usage. Disable this feature. ++ alias -g '${1+"$@"}'='"$@"' ++elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then ++ set -o posix ++fi ++ ++# Support unset when possible. ++if (FOO=FOO; unset FOO) >/dev/null 2>&1; then ++ as_unset=unset ++else ++ as_unset=false ++fi ++ ++ ++# Work around bugs in pre-3.0 UWIN ksh. ++$as_unset ENV MAIL MAILPATH ++PS1='$ ' ++PS2='> ' ++PS4='+ ' ++ ++# NLS nuisances. ++for as_var in \ ++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ ++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ ++ LC_TELEPHONE LC_TIME ++do ++ if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then ++ eval $as_var=C; export $as_var ++ else ++ $as_unset $as_var ++ fi ++done ++ ++# Required to use basename. ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then ++ as_basename=basename ++else ++ as_basename=false ++fi ++ ++ ++# Name of the executable. ++as_me=`$as_basename "$0" || ++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)$' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X/"$0" | ++ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } ++ /^X\/\(\/\/\)$/{ s//\1/; q; } ++ /^X\/\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ ++ ++# PATH needs CR, and LINENO needs CR and PATH. ++# Avoid depending upon Character Ranges. ++as_cr_letters='abcdefghijklmnopqrstuvwxyz' ++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' ++as_cr_Letters=$as_cr_letters$as_cr_LETTERS ++as_cr_digits='0123456789' ++as_cr_alnum=$as_cr_Letters$as_cr_digits ++ ++# The user is always right. ++if test "${PATH_SEPARATOR+set}" != set; then ++ echo "#! /bin/sh" >conf$$.sh ++ echo "exit 0" >>conf$$.sh ++ chmod +x conf$$.sh ++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then ++ PATH_SEPARATOR=';' ++ else ++ PATH_SEPARATOR=: ++ fi ++ rm -f conf$$.sh ++fi ++ ++ ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" || { ++ # Find who we are. Look in the path if we contain no path at all ++ # relative or not. ++ case $0 in ++ *[\\/]* ) as_myself=$0 ;; ++ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ++done ++ ++ ;; ++ esac ++ # We did not find ourselves, most probably we were run as `sh COMMAND' ++ # in which case we are not to be found in the path. ++ if test "x$as_myself" = x; then ++ as_myself=$0 ++ fi ++ if test ! -f "$as_myself"; then ++ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 ++ { (exit 1); exit 1; }; } ++ fi ++ case $CONFIG_SHELL in ++ '') ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for as_base in sh bash ksh sh5; do ++ case $as_dir in ++ /*) ++ if ("$as_dir/$as_base" -c ' ++ as_lineno_1=$LINENO ++ as_lineno_2=$LINENO ++ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ++ test "x$as_lineno_1" != "x$as_lineno_2" && ++ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then ++ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } ++ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } ++ CONFIG_SHELL=$as_dir/$as_base ++ export CONFIG_SHELL ++ exec "$CONFIG_SHELL" "$0" ${1+"$@"} ++ fi;; ++ esac ++ done ++done ++;; ++ esac ++ ++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO ++ # uniformly replaced by the line number. The first 'sed' inserts a ++ # line-number line before each line; the second 'sed' does the real ++ # work. The second script uses 'N' to pair each line-number line ++ # with the numbered line, and appends trailing '-' during ++ # substitution so that $LINENO is not a special case at line end. ++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the ++ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) ++ sed '=' <$as_myself | ++ sed ' ++ N ++ s,$,-, ++ : loop ++ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ++ t loop ++ s,-$,, ++ s,^['$as_cr_digits']*\n,, ++ ' >$as_me.lineno && ++ chmod +x $as_me.lineno || ++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 ++ { (exit 1); exit 1; }; } ++ ++ # Don't try to exec as it changes $[0], causing all sort of problems ++ # (the dirname of $[0] is not the place where we might find the ++ # original and so on. Autoconf is especially sensible to this). ++ . ./$as_me.lineno ++ # Exit status is that of the last command. ++ exit ++} ++ ++ ++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in ++ *c*,-n*) ECHO_N= ECHO_C=' ++' ECHO_T=' ' ;; ++ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; ++ *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ++esac ++ ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ as_expr=expr ++else ++ as_expr=false ++fi ++ ++rm -f conf$$ conf$$.exe conf$$.file ++echo >conf$$.file ++if ln -s conf$$.file conf$$ 2>/dev/null; then ++ # We could just check for DJGPP; but this test a) works b) is more generic ++ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). ++ if test -f conf$$.exe; then ++ # Don't use ln at all; we don't have any links ++ as_ln_s='cp -p' ++ else ++ as_ln_s='ln -s' ++ fi ++elif ln conf$$.file conf$$ 2>/dev/null; then ++ as_ln_s=ln ++else ++ as_ln_s='cp -p' ++fi ++rm -f conf$$ conf$$.exe conf$$.file ++ ++if mkdir -p . 2>/dev/null; then ++ as_mkdir_p=: ++else ++ as_mkdir_p=false ++fi ++ ++as_executable_p="test -f" ++ ++# Sed expression to map a string onto a valid CPP name. ++as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" ++ ++# Sed expression to map a string onto a valid variable name. ++as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" ++ ++ ++# IFS ++# We need space, tab and new line, in precisely that order. ++as_nl=' ++' ++IFS=" $as_nl" ++ ++# CDPATH. ++$as_unset CDPATH ++ ++ ++# Name of the host. ++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, ++# so uname gets run too. ++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ++ ++exec 6>&1 ++ ++# ++# Initializations. ++# ++ac_default_prefix=/usr/local ++ac_config_libobj_dir=. ++cross_compiling=no ++subdirs= ++MFLAGS= ++MAKEFLAGS= ++SHELL=${CONFIG_SHELL-/bin/sh} ++ ++# Maximum number of lines to put in a shell here document. ++# This variable seems obsolete. It should probably be removed, and ++# only ac_max_sed_lines should be used. ++: ${ac_max_here_lines=38} ++ ++# Identity of this package. ++PACKAGE_NAME='GNU C Library' ++PACKAGE_TARNAME='c-library' ++PACKAGE_VERSION='(see version.h)' ++PACKAGE_STRING='GNU C Library (see version.h)' ++PACKAGE_BUGREPORT='glibc' ++ ++ac_unique_file="include/features.h" ++ac_subdirs_all="$ac_subdirs_all " ++# Factoring default headers for most tests. ++ac_includes_default="\ ++#include <stdio.h> ++#if HAVE_SYS_TYPES_H ++# include <sys/types.h> ++#endif ++#if HAVE_SYS_STAT_H ++# include <sys/stat.h> ++#endif ++#if STDC_HEADERS ++# include <stdlib.h> ++# include <stddef.h> ++#else ++# if HAVE_STDLIB_H ++# include <stdlib.h> ++# endif ++#endif ++#if HAVE_STRING_H ++# if !STDC_HEADERS && HAVE_MEMORY_H ++# include <memory.h> ++# endif ++# include <string.h> ++#endif ++#if HAVE_STRINGS_H ++# include <strings.h> ++#endif ++#if HAVE_INTTYPES_H ++# include <inttypes.h> ++#else ++# if HAVE_STDINT_H ++# include <stdint.h> ++# endif ++#endif ++#if HAVE_UNISTD_H ++# include <unistd.h> ++#endif" ++ ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs enable_check_abi oldest_abi subdirs force_install all_warnings build build_cpu build_vendor build_os host host_cpu host_vendor host_os base_machine sysnames INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUILD_CC cross_compiling CPP CXX CXXFLAGS ac_ct_CXX AR OBJDUMP RANLIB ac_ct_RANLIB MIG AS LD PWD_P MAKE MSGFMT MAKEINFO SED AUTOCONF CCVERSION SYSINCLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_ksh AWK PERL INSTALL_INFO OLD_DEBIAN_INSTALL_INFO BISON VERSIONING libc_cv_asm_protected_directive libc_cv_initfinit_array libc_cv_z_nodelete libc_cv_z_nodlopen libc_cv_z_initfirst libc_cv_Bgroup ASFLAGS_config libc_cv_z_combreloc libc_cv_have_initfini libc_cv_cpp_asm_debuginfo no_whole_archive exceptions LIBGD EGREP sizeof_long_double libc_cv_gcc_unwind_find_fde uname_sysname uname_release uname_version old_glibc_headers libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir libc_cv_rootsbindir libc_cv_forced_unwind use_ldconfig ldd_rewrite_script gnu_ld gnu_as elf xcoff static shared pic_default profile omitfp bounded static_nss nopic_initfini DEFINES linux_doors mach_interface_list VERSION RELEASE LIB@&t@OBJS LTLIBOBJS' ++ac_subst_files='' ++ ++# Initialize some variables set by options. ++ac_init_help= ++ac_init_version=false ++# The variables have the same names as the options, with ++# dashes changed to underlines. ++cache_file=/dev/null ++exec_prefix=NONE ++no_create= ++no_recursion= ++prefix=NONE ++program_prefix=NONE ++program_suffix=NONE ++program_transform_name=s,x,x, ++silent= ++site= ++srcdir= ++verbose= ++x_includes=NONE ++x_libraries=NONE ++ ++# Installation directory options. ++# These are left unexpanded so users can "make install exec_prefix=/foo" ++# and all the variables that are supposed to be based on exec_prefix ++# by default will actually change. ++# Use braces instead of parens because sh, perl, etc. also accept them. ++bindir='${exec_prefix}/bin' ++sbindir='${exec_prefix}/sbin' ++libexecdir='${exec_prefix}/libexec' ++datadir='${prefix}/share' ++sysconfdir='${prefix}/etc' ++sharedstatedir='${prefix}/com' ++localstatedir='${prefix}/var' ++libdir='${exec_prefix}/lib' ++includedir='${prefix}/include' ++oldincludedir='/usr/include' ++infodir='${prefix}/info' ++mandir='${prefix}/man' ++ ++ac_prev= ++for ac_option ++do ++ # If the previous option needs an argument, assign it. ++ if test -n "$ac_prev"; then ++ eval "$ac_prev=\$ac_option" ++ ac_prev= ++ continue ++ fi ++ ++ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` ++ ++ # Accept the important Cygnus configure options, so we can diagnose typos. ++ ++ case $ac_option in ++ ++ -bindir | --bindir | --bindi | --bind | --bin | --bi) ++ ac_prev=bindir ;; ++ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) ++ bindir=$ac_optarg ;; ++ ++ -build | --build | --buil | --bui | --bu) ++ ac_prev=build_alias ;; ++ -build=* | --build=* | --buil=* | --bui=* | --bu=*) ++ build_alias=$ac_optarg ;; ++ ++ -cache-file | --cache-file | --cache-fil | --cache-fi \ ++ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ++ ac_prev=cache_file ;; ++ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ ++ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) ++ cache_file=$ac_optarg ;; ++ ++ --config-cache | -C) ++ cache_file=config.cache ;; ++ ++ -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ++ ac_prev=datadir ;; ++ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ ++ | --da=*) ++ datadir=$ac_optarg ;; ++ ++ -disable-* | --disable-*) ++ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2 ++ { (exit 1); exit 1; }; } ++ ac_feature=`echo $ac_feature | sed 's/-/_/g'` ++ eval "enable_$ac_feature=no" ;; ++ ++ -enable-* | --enable-*) ++ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2 ++ { (exit 1); exit 1; }; } ++ ac_feature=`echo $ac_feature | sed 's/-/_/g'` ++ case $ac_option in ++ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; ++ *) ac_optarg=yes ;; ++ esac ++ eval "enable_$ac_feature='$ac_optarg'" ;; ++ ++ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ ++ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ ++ | --exec | --exe | --ex) ++ ac_prev=exec_prefix ;; ++ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ ++ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ ++ | --exec=* | --exe=* | --ex=*) ++ exec_prefix=$ac_optarg ;; ++ ++ -gas | --gas | --ga | --g) ++ # Obsolete; use --with-gas. ++ with_gas=yes ;; ++ ++ -help | --help | --hel | --he | -h) ++ ac_init_help=long ;; ++ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ++ ac_init_help=recursive ;; ++ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ++ ac_init_help=short ;; ++ ++ -host | --host | --hos | --ho) ++ ac_prev=host_alias ;; ++ -host=* | --host=* | --hos=* | --ho=*) ++ host_alias=$ac_optarg ;; ++ ++ -includedir | --includedir | --includedi | --included | --include \ ++ | --includ | --inclu | --incl | --inc) ++ ac_prev=includedir ;; ++ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ ++ | --includ=* | --inclu=* | --incl=* | --inc=*) ++ includedir=$ac_optarg ;; ++ ++ -infodir | --infodir | --infodi | --infod | --info | --inf) ++ ac_prev=infodir ;; ++ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) ++ infodir=$ac_optarg ;; ++ ++ -libdir | --libdir | --libdi | --libd) ++ ac_prev=libdir ;; ++ -libdir=* | --libdir=* | --libdi=* | --libd=*) ++ libdir=$ac_optarg ;; ++ ++ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ ++ | --libexe | --libex | --libe) ++ ac_prev=libexecdir ;; ++ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ ++ | --libexe=* | --libex=* | --libe=*) ++ libexecdir=$ac_optarg ;; ++ ++ -localstatedir | --localstatedir | --localstatedi | --localstated \ ++ | --localstate | --localstat | --localsta | --localst \ ++ | --locals | --local | --loca | --loc | --lo) ++ ac_prev=localstatedir ;; ++ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ ++ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ ++ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) ++ localstatedir=$ac_optarg ;; ++ ++ -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ++ ac_prev=mandir ;; ++ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) ++ mandir=$ac_optarg ;; ++ ++ -nfp | --nfp | --nf) ++ # Obsolete; use --without-fp. ++ with_fp=no ;; ++ ++ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ++ | --no-cr | --no-c | -n) ++ no_create=yes ;; ++ ++ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ ++ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ++ no_recursion=yes ;; ++ ++ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ ++ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ ++ | --oldin | --oldi | --old | --ol | --o) ++ ac_prev=oldincludedir ;; ++ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ ++ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ ++ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) ++ oldincludedir=$ac_optarg ;; ++ ++ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ++ ac_prev=prefix ;; ++ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ++ prefix=$ac_optarg ;; ++ ++ -program-prefix | --program-prefix | --program-prefi | --program-pref \ ++ | --program-pre | --program-pr | --program-p) ++ ac_prev=program_prefix ;; ++ -program-prefix=* | --program-prefix=* | --program-prefi=* \ ++ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) ++ program_prefix=$ac_optarg ;; ++ ++ -program-suffix | --program-suffix | --program-suffi | --program-suff \ ++ | --program-suf | --program-su | --program-s) ++ ac_prev=program_suffix ;; ++ -program-suffix=* | --program-suffix=* | --program-suffi=* \ ++ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) ++ program_suffix=$ac_optarg ;; ++ ++ -program-transform-name | --program-transform-name \ ++ | --program-transform-nam | --program-transform-na \ ++ | --program-transform-n | --program-transform- \ ++ | --program-transform | --program-transfor \ ++ | --program-transfo | --program-transf \ ++ | --program-trans | --program-tran \ ++ | --progr-tra | --program-tr | --program-t) ++ ac_prev=program_transform_name ;; ++ -program-transform-name=* | --program-transform-name=* \ ++ | --program-transform-nam=* | --program-transform-na=* \ ++ | --program-transform-n=* | --program-transform-=* \ ++ | --program-transform=* | --program-transfor=* \ ++ | --program-transfo=* | --program-transf=* \ ++ | --program-trans=* | --program-tran=* \ ++ | --progr-tra=* | --program-tr=* | --program-t=*) ++ program_transform_name=$ac_optarg ;; ++ ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ silent=yes ;; ++ ++ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ++ ac_prev=sbindir ;; ++ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ ++ | --sbi=* | --sb=*) ++ sbindir=$ac_optarg ;; ++ ++ -sharedstatedir | --sharedstatedir | --sharedstatedi \ ++ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ ++ | --sharedst | --shareds | --shared | --share | --shar \ ++ | --sha | --sh) ++ ac_prev=sharedstatedir ;; ++ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ ++ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ ++ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ ++ | --sha=* | --sh=*) ++ sharedstatedir=$ac_optarg ;; ++ ++ -site | --site | --sit) ++ ac_prev=site ;; ++ -site=* | --site=* | --sit=*) ++ site=$ac_optarg ;; ++ ++ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ++ ac_prev=srcdir ;; ++ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ++ srcdir=$ac_optarg ;; ++ ++ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ ++ | --syscon | --sysco | --sysc | --sys | --sy) ++ ac_prev=sysconfdir ;; ++ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ ++ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) ++ sysconfdir=$ac_optarg ;; ++ ++ -target | --target | --targe | --targ | --tar | --ta | --t) ++ ac_prev=target_alias ;; ++ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) ++ target_alias=$ac_optarg ;; ++ ++ -v | -verbose | --verbose | --verbos | --verbo | --verb) ++ verbose=yes ;; ++ ++ -version | --version | --versio | --versi | --vers | -V) ++ ac_init_version=: ;; ++ ++ -with-* | --with-*) ++ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid package name: $ac_package" >&2 ++ { (exit 1); exit 1; }; } ++ ac_package=`echo $ac_package| sed 's/-/_/g'` ++ case $ac_option in ++ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; ++ *) ac_optarg=yes ;; ++ esac ++ eval "with_$ac_package='$ac_optarg'" ;; ++ ++ -without-* | --without-*) ++ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid package name: $ac_package" >&2 ++ { (exit 1); exit 1; }; } ++ ac_package=`echo $ac_package | sed 's/-/_/g'` ++ eval "with_$ac_package=no" ;; ++ ++ --x) ++ # Obsolete; use --with-x. ++ with_x=yes ;; ++ ++ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ ++ | --x-incl | --x-inc | --x-in | --x-i) ++ ac_prev=x_includes ;; ++ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ ++ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) ++ x_includes=$ac_optarg ;; ++ ++ -x-libraries | --x-libraries | --x-librarie | --x-librari \ ++ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ++ ac_prev=x_libraries ;; ++ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ ++ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) ++ x_libraries=$ac_optarg ;; ++ ++ -*) { echo "$as_me: error: unrecognized option: $ac_option ++Try \`$0 --help' for more information." >&2 ++ { (exit 1); exit 1; }; } ++ ;; ++ ++ *=*) ++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` ++ # Reject names that are not valid shell variable names. ++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && ++ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 ++ { (exit 1); exit 1; }; } ++ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ++ eval "$ac_envvar='$ac_optarg'" ++ export $ac_envvar ;; ++ ++ *) ++ # FIXME: should be removed in autoconf 3.0. ++ echo "$as_me: WARNING: you should use --build, --host, --target" >&2 ++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && ++ echo "$as_me: WARNING: invalid host type: $ac_option" >&2 ++ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ++ ;; ++ ++ esac ++done ++ ++if test -n "$ac_prev"; then ++ ac_option=--`echo $ac_prev | sed 's/_/-/g'` ++ { echo "$as_me: error: missing argument to $ac_option" >&2 ++ { (exit 1); exit 1; }; } ++fi ++ ++# Be sure to have absolute paths. ++for ac_var in exec_prefix prefix ++do ++ eval ac_val=$`echo $ac_var` ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* | NONE | '' ) ;; ++ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++# Be sure to have absolute paths. ++for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ ++ localstatedir libdir includedir oldincludedir infodir mandir ++do ++ eval ac_val=$`echo $ac_var` ++ case $ac_val in ++ [\\/$]* | ?:[\\/]* ) ;; ++ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 ++ { (exit 1); exit 1; }; };; ++ esac ++done ++ ++# There might be people who depend on the old broken behavior: `$host' ++# used to hold the argument of --host etc. ++# FIXME: To remove some day. ++build=$build_alias ++host=$host_alias ++target=$target_alias ++ ++# FIXME: To remove some day. ++if test "x$host_alias" != x; then ++ if test "x$build_alias" = x; then ++ cross_compiling=maybe ++ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. ++ If a cross compiler is detected then cross compile mode will be used." >&2 ++ elif test "x$build_alias" != "x$host_alias"; then ++ cross_compiling=yes ++ fi ++fi ++ ++ac_tool_prefix= ++test -n "$host_alias" && ac_tool_prefix=$host_alias- ++ ++test "$silent" = yes && exec 6>/dev/null ++ ++ ++# Find the source files, if location was not specified. ++if test -z "$srcdir"; then ++ ac_srcdir_defaulted=yes ++ # Try the directory containing this script, then its parent. ++ ac_confdir=`(dirname "$0") 2>/dev/null || ++$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$0" : 'X\(//\)[^/]' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++echo X"$0" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ++ /^X\(\/\/\)[^/].*/{ s//\1/; q; } ++ /^X\(\/\/\)$/{ s//\1/; q; } ++ /^X\(\/\).*/{ s//\1/; q; } ++ s/.*/./; q'` ++ srcdir=$ac_confdir ++ if test ! -r $srcdir/$ac_unique_file; then ++ srcdir=.. ++ fi ++else ++ ac_srcdir_defaulted=no ++fi ++if test ! -r $srcdir/$ac_unique_file; then ++ if test "$ac_srcdir_defaulted" = yes; then ++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 ++ { (exit 1); exit 1; }; } ++ else ++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 ++ { (exit 1); exit 1; }; } ++ fi ++fi ++(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || ++ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 ++ { (exit 1); exit 1; }; } ++srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ++ac_env_build_alias_set=${build_alias+set} ++ac_env_build_alias_value=$build_alias ++ac_cv_env_build_alias_set=${build_alias+set} ++ac_cv_env_build_alias_value=$build_alias ++ac_env_host_alias_set=${host_alias+set} ++ac_env_host_alias_value=$host_alias ++ac_cv_env_host_alias_set=${host_alias+set} ++ac_cv_env_host_alias_value=$host_alias ++ac_env_target_alias_set=${target_alias+set} ++ac_env_target_alias_value=$target_alias ++ac_cv_env_target_alias_set=${target_alias+set} ++ac_cv_env_target_alias_value=$target_alias ++ac_env_CC_set=${CC+set} ++ac_env_CC_value=$CC ++ac_cv_env_CC_set=${CC+set} ++ac_cv_env_CC_value=$CC ++ac_env_CFLAGS_set=${CFLAGS+set} ++ac_env_CFLAGS_value=$CFLAGS ++ac_cv_env_CFLAGS_set=${CFLAGS+set} ++ac_cv_env_CFLAGS_value=$CFLAGS ++ac_env_LDFLAGS_set=${LDFLAGS+set} ++ac_env_LDFLAGS_value=$LDFLAGS ++ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ++ac_cv_env_LDFLAGS_value=$LDFLAGS ++ac_env_CPPFLAGS_set=${CPPFLAGS+set} ++ac_env_CPPFLAGS_value=$CPPFLAGS ++ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ++ac_cv_env_CPPFLAGS_value=$CPPFLAGS ++ac_env_CPP_set=${CPP+set} ++ac_env_CPP_value=$CPP ++ac_cv_env_CPP_set=${CPP+set} ++ac_cv_env_CPP_value=$CPP ++ac_env_CXX_set=${CXX+set} ++ac_env_CXX_value=$CXX ++ac_cv_env_CXX_set=${CXX+set} ++ac_cv_env_CXX_value=$CXX ++ac_env_CXXFLAGS_set=${CXXFLAGS+set} ++ac_env_CXXFLAGS_value=$CXXFLAGS ++ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ++ac_cv_env_CXXFLAGS_value=$CXXFLAGS ++ ++# ++# Report the --help message. ++# ++if test "$ac_init_help" = "long"; then ++ # Omit some internal or obsolete options to make the list less imposing. ++ # This message is too long to be a string in the A/UX 3.1 sh. ++ cat <<_ACEOF ++\`configure' configures GNU C Library (see version.h) to adapt to many kinds of systems. ++ ++Usage: $0 [OPTION]... [VAR=VALUE]... ++ ++To assign environment variables (e.g., CC, CFLAGS...), specify them as ++VAR=VALUE. See below for descriptions of some of the useful variables. ++ ++Defaults for the options are specified in brackets. ++ ++Configuration: ++ -h, --help display this help and exit ++ --help=short display options specific to this package ++ --help=recursive display the short help of all the included packages ++ -V, --version display version information and exit ++ -q, --quiet, --silent do not print \`checking...' messages ++ --cache-file=FILE cache test results in FILE [disabled] ++ -C, --config-cache alias for \`--cache-file=config.cache' ++ -n, --no-create do not create output files ++ --srcdir=DIR find the sources in DIR [configure dir or \`..'] ++ ++_ACEOF ++ ++ cat <<_ACEOF ++Installation directories: ++ --prefix=PREFIX install architecture-independent files in PREFIX ++ [$ac_default_prefix] ++ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX ++ [PREFIX] ++ ++By default, \`make install' will install all the files in ++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify ++an installation prefix other than \`$ac_default_prefix' using \`--prefix', ++for instance \`--prefix=\$HOME'. ++ ++For better control, use the options below. ++ ++Fine tuning of the installation directories: ++ --bindir=DIR user executables [EPREFIX/bin] ++ --sbindir=DIR system admin executables [EPREFIX/sbin] ++ --libexecdir=DIR program executables [EPREFIX/libexec] ++ --datadir=DIR read-only architecture-independent data [PREFIX/share] ++ --sysconfdir=DIR read-only single-machine data [PREFIX/etc] ++ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] ++ --localstatedir=DIR modifiable single-machine data [PREFIX/var] ++ --libdir=DIR object code libraries [EPREFIX/lib] ++ --includedir=DIR C header files [PREFIX/include] ++ --oldincludedir=DIR C header files for non-gcc [/usr/include] ++ --infodir=DIR info documentation [PREFIX/info] ++ --mandir=DIR man documentation [PREFIX/man] ++_ACEOF ++ ++ cat <<\_ACEOF ++ ++System types: ++ --build=BUILD configure for building on BUILD [guessed] ++ --host=HOST cross-compile to build programs to run on HOST [BUILD] ++_ACEOF ++fi ++ ++if test -n "$ac_init_help"; then ++ case $ac_init_help in ++ short | recursive ) echo "Configuration of GNU C Library (see version.h):";; ++ esac ++ cat <<\_ACEOF ++ ++Optional Features: ++ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) ++ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] ++ --disable-sanity-checks really do not use threads (should not be used except ++ in special situations) @<:@default=yes@:>@ ++ --enable-check-abi do "make check-abi" in "make check" (no/warn/yes) ++ @<:@default=no@:>@ ++ --enable-shared build shared library @<:@default=yes if GNU ld & ++ ELF@:>@ ++ --enable-profile build profiled library @<:@default=yes@:>@ ++ --enable-omitfp build undebuggable optimized library ++ @<:@default=no@:>@ ++ --enable-bounded build with runtime bounds checking ++ @<:@default=no@:>@ ++ --disable-versioning do not include versioning information in the library ++ objects @<:@default=yes if supported@:>@ ++ --enable-oldest-abi=ABI configure the oldest ABI supported @<:@e.g. 2.2@:>@ ++ @<:@default=glibc default@:>@ ++ --enable-add-ons@<:@=DIRS...@:>@ ++ configure and build add-ons in DIR1,DIR2,... search ++ for add-ons if no parameter given ++ --disable-hidden-plt do not hide internal function calls to avoid PLT ++ --enable-static-nss build static NSS modules @<:@default=no@:>@ ++ --disable-force-install don't force installation of files from this package, ++ even if they are older than the installed files ++ --enable-kernel=VERSION compile for compatibility with kernel not older than ++ VERSION ++ --enable-all-warnings enable all useful warnings gcc can issue ++ ++Optional Packages: ++ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] ++ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) ++ --with-gmp=DIRECTORY find GMP source code in DIRECTORY (not needed) ++ --with-gd=DIR find libgd include dir and library with prefix DIR ++ --with-gd-include=DIR find libgd include files in DIR ++ --with-gd-lib=DIR find libgd library files in DIR ++ --with-fp if using floating-point hardware @<:@default=yes@:>@ ++ --with-binutils=PATH specify location of binutils (as and ld) ++ --with-elf if using the ELF object format ++ --with-xcoff if using the XCOFF object format ++ --without-cvs if CVS should not be used ++ --with-headers=PATH location of system headers to use (for example ++ /usr/src/linux/include) @<:@default=compiler ++ default@:>@ ++ --with-tls enable support for TLS ++ --without-__thread do not use TLS features even when supporting them ++ ++Some influential environment variables: ++ CC C compiler command ++ CFLAGS C compiler flags ++ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a ++ nonstandard directory <lib dir> ++ CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have ++ headers in a nonstandard directory <include dir> ++ CPP C preprocessor ++ CXX C++ compiler command ++ CXXFLAGS C++ compiler flags ++ ++Use these variables to override the choices made by `configure' or to help ++it to find libraries and programs with nonstandard names/locations. ++ ++Report bugs to <glibc>. ++_ACEOF ++fi ++ ++if test "$ac_init_help" = "recursive"; then ++ # If there are subdirs, report their specific --help. ++ ac_popdir=`pwd` ++ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ++ test -d $ac_dir || continue ++ ac_builddir=. ++ ++if test "$ac_dir" != .; then ++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ++ # A "../" for each directory in $ac_dir_suffix. ++ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` ++else ++ ac_dir_suffix= ac_top_builddir= ++fi ++ ++case $srcdir in ++ .) # No --srcdir option. We are building in place. ++ ac_srcdir=. ++ if test -z "$ac_top_builddir"; then ++ ac_top_srcdir=. ++ else ++ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` ++ fi ;; ++ [\\/]* | ?:[\\/]* ) # Absolute path. ++ ac_srcdir=$srcdir$ac_dir_suffix; ++ ac_top_srcdir=$srcdir ;; ++ *) # Relative path. ++ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ++ ac_top_srcdir=$ac_top_builddir$srcdir ;; ++esac ++# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be ++# absolute. ++ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ++ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ++ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ++ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` ++ ++ cd $ac_dir ++ # Check for guested configure; otherwise get Cygnus style configure. ++ if test -f $ac_srcdir/configure.gnu; then ++ echo ++ $SHELL $ac_srcdir/configure.gnu --help=recursive ++ elif test -f $ac_srcdir/configure; then ++ echo ++ $SHELL $ac_srcdir/configure --help=recursive ++ elif test -f $ac_srcdir/configure.ac || ++ test -f $ac_srcdir/configure.in; then ++ echo ++ $ac_configure --help ++ else ++ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 ++ fi ++ cd "$ac_popdir" ++ done ++fi ++ ++test -n "$ac_init_help" && exit 0 ++if $ac_init_version; then ++ cat <<\_ACEOF ++GNU C Library configure (see version.h) ++generated by GNU Autoconf 2.57 ++ ++Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 ++Free Software Foundation, Inc. ++This configure script is free software; the Free Software Foundation ++gives unlimited permission to copy, distribute and modify it. ++_ACEOF ++ exit 0 ++fi ++exec 5>config.log ++cat >&5 <<_ACEOF ++This file contains any messages produced by compilers while ++running configure, to aid debugging if configure makes a mistake. ++ ++It was created by GNU C Library $as_me (see version.h), which was ++generated by GNU Autoconf 2.57. Invocation command line was ++ ++ $ $0 $@ ++ ++_ACEOF ++{ ++cat <<_ASUNAME ++@%:@@%:@ --------- @%:@@%:@ ++@%:@@%:@ Platform. @%:@@%:@ ++@%:@@%:@ --------- @%:@@%:@ ++ ++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` ++uname -m = `(uname -m) 2>/dev/null || echo unknown` ++uname -r = `(uname -r) 2>/dev/null || echo unknown` ++uname -s = `(uname -s) 2>/dev/null || echo unknown` ++uname -v = `(uname -v) 2>/dev/null || echo unknown` ++ ++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` ++/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` ++ ++/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` ++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` ++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` ++hostinfo = `(hostinfo) 2>/dev/null || echo unknown` ++/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` ++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` ++/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` ++ ++_ASUNAME ++ ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ echo "PATH: $as_dir" ++done ++ ++} >&5 ++ ++cat >&5 <<_ACEOF ++ ++ ++@%:@@%:@ ----------- @%:@@%:@ ++@%:@@%:@ Core tests. @%:@@%:@ ++@%:@@%:@ ----------- @%:@@%:@ ++ ++_ACEOF ++ ++ ++# Keep a trace of the command line. ++# Strip out --no-create and --no-recursion so they do not pile up. ++# Strip out --silent because we don't want to record it for future runs. ++# Also quote any args containing shell meta-characters. ++# Make two passes to allow for proper duplicate-argument suppression. ++ac_configure_args= ++ac_configure_args0= ++ac_configure_args1= ++ac_sep= ++ac_must_keep_next=false ++for ac_pass in 1 2 ++do ++ for ac_arg ++ do ++ case $ac_arg in ++ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ++ -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ++ | -silent | --silent | --silen | --sile | --sil) ++ continue ;; ++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ++ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ++ esac ++ case $ac_pass in ++ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; ++ 2) ++ ac_configure_args1="$ac_configure_args1 '$ac_arg'" ++ if test $ac_must_keep_next = true; then ++ ac_must_keep_next=false # Got value, back to normal. ++ else ++ case $ac_arg in ++ *=* | --config-cache | -C | -disable-* | --disable-* \ ++ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ++ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ++ | -with-* | --with-* | -without-* | --without-* | --x) ++ case "$ac_configure_args0 " in ++ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ++ esac ++ ;; ++ -* ) ac_must_keep_next=true ;; ++ esac ++ fi ++ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" ++ # Get rid of the leading space. ++ ac_sep=" " ++ ;; ++ esac ++ done ++done ++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } ++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } ++ ++# When interrupted or exit'd, cleanup temporary files, and complete ++# config.log. We remove comments because anyway the quotes in there ++# would cause problems or look ugly. ++# WARNING: Be sure not to use single quotes in there, as some shells, ++# such as our DU 5.0 friend, will then `close' the trap. ++trap 'exit_status=$? ++ # Save into config.log some information that might help in debugging. ++ { ++ echo ++ ++ cat <<\_ASBOX ++@%:@@%:@ ---------------- @%:@@%:@ ++@%:@@%:@ Cache variables. @%:@@%:@ ++@%:@@%:@ ---------------- @%:@@%:@ ++_ASBOX ++ echo ++ # The following way of writing the cache mishandles newlines in values, ++{ ++ (set) 2>&1 | ++ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in ++ *ac_space=\ *) ++ sed -n \ ++ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; ++ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ++ ;; ++ *) ++ sed -n \ ++ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ++ ;; ++ esac; ++} ++ echo ++ ++ cat <<\_ASBOX ++@%:@@%:@ ----------------- @%:@@%:@ ++@%:@@%:@ Output variables. @%:@@%:@ ++@%:@@%:@ ----------------- @%:@@%:@ ++_ASBOX ++ echo ++ for ac_var in $ac_subst_vars ++ do ++ eval ac_val=$`echo $ac_var` ++ echo "$ac_var='"'"'$ac_val'"'"'" ++ done | sort ++ echo ++ ++ if test -n "$ac_subst_files"; then ++ cat <<\_ASBOX ++@%:@@%:@ ------------- @%:@@%:@ ++@%:@@%:@ Output files. @%:@@%:@ ++@%:@@%:@ ------------- @%:@@%:@ ++_ASBOX ++ echo ++ for ac_var in $ac_subst_files ++ do ++ eval ac_val=$`echo $ac_var` ++ echo "$ac_var='"'"'$ac_val'"'"'" ++ done | sort ++ echo ++ fi ++ ++ if test -s confdefs.h; then ++ cat <<\_ASBOX ++@%:@@%:@ ----------- @%:@@%:@ ++@%:@@%:@ confdefs.h. @%:@@%:@ ++@%:@@%:@ ----------- @%:@@%:@ ++_ASBOX ++ echo ++ sed "/^$/d" confdefs.h | sort ++ echo ++ fi ++ test "$ac_signal" != 0 && ++ echo "$as_me: caught signal $ac_signal" ++ echo "$as_me: exit $exit_status" ++ } >&5 ++ rm -f core *.core && ++ rm -rf conftest* confdefs* conf$$* $ac_clean_files && ++ exit $exit_status ++ ' 0 ++for ac_signal in 1 2 13 15; do ++ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal ++done ++ac_signal=0 ++ ++# confdefs.h avoids OS command line length limits that DEFS can exceed. ++rm -rf conftest* confdefs.h ++# AIX cpp loses on an empty file, so make sure it contains at least a newline. ++echo >confdefs.h ++ ++# Predefined preprocessor variables. ++ ++cat >>confdefs.h <<_ACEOF ++@%:@define PACKAGE_NAME "$PACKAGE_NAME" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++@%:@define PACKAGE_STRING "$PACKAGE_STRING" ++_ACEOF ++ ++ ++cat >>confdefs.h <<_ACEOF ++@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" ++_ACEOF ++ ++ ++# Let the site file select an alternate cache file if it wants to. ++# Prefer explicitly selected file to automatically selected ones. ++if test -z "$CONFIG_SITE"; then ++ if test "x$prefix" != xNONE; then ++ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" ++ else ++ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" ++ fi ++fi ++for ac_site_file in $CONFIG_SITE; do ++ if test -r "$ac_site_file"; then ++ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 ++echo "$as_me: loading site script $ac_site_file" >&6;} ++ sed 's/^/| /' "$ac_site_file" >&5 ++ . "$ac_site_file" ++ fi ++done ++ ++if test -r "$cache_file"; then ++ # Some versions of bash will fail to source /dev/null (special ++ # files actually), so we avoid doing that. ++ if test -f "$cache_file"; then ++ { echo "$as_me:$LINENO: loading cache $cache_file" >&5 ++echo "$as_me: loading cache $cache_file" >&6;} ++ case $cache_file in ++ [\\/]* | ?:[\\/]* ) . $cache_file;; ++ *) . ./$cache_file;; ++ esac ++ fi ++else ++ { echo "$as_me:$LINENO: creating cache $cache_file" >&5 ++echo "$as_me: creating cache $cache_file" >&6;} ++ >$cache_file ++fi ++ ++# Check that the precious variables saved in the cache have kept the same ++# value. ++ac_cache_corrupted=false ++for ac_var in `(set) 2>&1 | ++ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do ++ eval ac_old_set=\$ac_cv_env_${ac_var}_set ++ eval ac_new_set=\$ac_env_${ac_var}_set ++ eval ac_old_val="\$ac_cv_env_${ac_var}_value" ++ eval ac_new_val="\$ac_env_${ac_var}_value" ++ case $ac_old_set,$ac_new_set in ++ set,) ++ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 ++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,set) ++ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 ++echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ++ ac_cache_corrupted=: ;; ++ ,);; ++ *) ++ if test "x$ac_old_val" != "x$ac_new_val"; then ++ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 ++echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ++ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 ++echo "$as_me: former value: $ac_old_val" >&2;} ++ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 ++echo "$as_me: current value: $ac_new_val" >&2;} ++ ac_cache_corrupted=: ++ fi;; ++ esac ++ # Pass precious variables to config.status. ++ if test "$ac_new_set" = set; then ++ case $ac_new_val in ++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ++ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ++ *) ac_arg=$ac_var=$ac_new_val ;; ++ esac ++ case " $ac_configure_args " in ++ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ++ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; ++ esac ++ fi ++done ++if $ac_cache_corrupted; then ++ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 ++echo "$as_me: error: changes in the environment can compromise the build" >&2;} ++ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 ++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ac_config_headers="$ac_config_headers config.h" ++ ++ac_aux_dir= ++for ac_dir in scripts $srcdir/scripts; do ++ if test -f $ac_dir/install-sh; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install-sh -c" ++ break ++ elif test -f $ac_dir/install.sh; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/install.sh -c" ++ break ++ elif test -f $ac_dir/shtool; then ++ ac_aux_dir=$ac_dir ++ ac_install_sh="$ac_aux_dir/shtool install -c" ++ break ++ fi ++done ++if test -z "$ac_aux_dir"; then ++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in scripts $srcdir/scripts" >&5 ++echo "$as_me: error: cannot find install-sh or install.sh in scripts $srcdir/scripts" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ac_config_guess="$SHELL $ac_aux_dir/config.guess" ++ac_config_sub="$SHELL $ac_aux_dir/config.sub" ++ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. ++ ++ ++if test "`cd $srcdir; /bin/pwd`" = "`/bin/pwd`"; then ++ { { echo "$as_me:$LINENO: error: you must configure in a separate build directory" >&5 ++echo "$as_me: error: you must configure in a separate build directory" >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++# This will get text that should go into config.make. ++config_vars= ++ ++# Check for a --with-gmp argument and set gmp-srcdir in config.make. ++ ++# Check whether --with-gmp or --without-gmp was given. ++if test "${with_gmp+set}" = set; then ++ withval="$with_gmp" ++ ++case "$with_gmp" in ++yes) { { echo "$as_me:$LINENO: error: --with-gmp requires an argument; use --with-gmp=DIRECTORY" >&5 ++echo "$as_me: error: --with-gmp requires an argument; use --with-gmp=DIRECTORY" >&2;} ++ { (exit 1); exit 1; }; } ;; ++''|no) ;; ++*) config_vars="$config_vars ++gmp-srcdir = $withval" ;; ++esac ++ ++fi; ++# Check for a --with-gd argument and set libgd-LDFLAGS in config.make. ++ ++# Check whether --with-gd or --without-gd was given. ++if test "${with_gd+set}" = set; then ++ withval="$with_gd" ++ case "$with_gd" in ++yes|''|no) ;; ++*) libgd_include="-I$withval/include" ++ libgd_ldflags="-L$withval/lib" ;; ++esac ++ ++fi; ++ ++# Check whether --with-gd-include or --without-gd-include was given. ++if test "${with_gd_include+set}" = set; then ++ withval="$with_gd_include" ++ case "$with_gd_include" in ++''|no) ;; ++*) libgd_include="-I$withval" ;; ++esac ++ ++fi; ++ ++# Check whether --with-gd-lib or --without-gd-lib was given. ++if test "${with_gd_lib+set}" = set; then ++ withval="$with_gd_lib" ++ case "$with_gd_lib" in ++''|no) ;; ++*) libgd_ldflags="-L$withval" ;; ++esac ++ ++fi; ++ ++if test -n "$libgd_include"; then ++ config_vars="$config_vars ++CFLAGS-memusagestat.c = $libgd_include" ++fi ++if test -n "$libgd_ldflags"; then ++ config_vars="$config_vars ++libgd-LDFLAGS = $libgd_ldflags" ++fi ++ ++ ++# Check whether --with-fp or --without-fp was given. ++if test "${with_fp+set}" = set; then ++ withval="$with_fp" ++ with_fp=$withval ++else ++ with_fp=yes ++fi; ++ ++ ++# Check whether --with-binutils or --without-binutils was given. ++if test "${with_binutils+set}" = set; then ++ withval="$with_binutils" ++ path_binutils=$withval ++else ++ path_binutils='' ++fi; ++ ++# Check whether --with-elf or --without-elf was given. ++if test "${with_elf+set}" = set; then ++ withval="$with_elf" ++ elf=$withval ++else ++ elf=no ++fi; ++ ++# Check whether --with-xcoff or --without-xcoff was given. ++if test "${with_xcoff+set}" = set; then ++ withval="$with_xcoff" ++ xcoff=$withval ++else ++ xcoff=no ++fi; ++ ++# Check whether --with-cvs or --without-cvs was given. ++if test "${with_cvs+set}" = set; then ++ withval="$with_cvs" ++ with_cvs=$withval ++else ++ with_cvs=yes ++fi; ++if test "$with_cvs" = yes; then ++ if test -d $srcdir/CVS && grep :pserver: $srcdir/CVS/Root > /dev/null ++ then ++ with_cvs=no ++ fi ++fi ++ ++ ++ ++# Check whether --with-headers or --without-headers was given. ++if test "${with_headers+set}" = set; then ++ withval="$with_headers" ++ sysheaders=$withval ++else ++ sysheaders='' ++fi; ++ ++# Check whether --enable-sanity-checks or --disable-sanity-checks was given. ++if test "${enable_sanity_checks+set}" = set; then ++ enableval="$enable_sanity_checks" ++ enable_sanity=$enableval ++else ++ enable_sanity=yes ++fi; ++ ++ ++# Check whether --enable-check-abi or --disable-check-abi was given. ++if test "${enable_check_abi+set}" = set; then ++ enableval="$enable_check_abi" ++ enable_check_abi=$enableval ++else ++ enable_check_abi=no ++fi; ++ ++static=yes ++# Check whether --enable-shared or --disable-shared was given. ++if test "${enable_shared+set}" = set; then ++ enableval="$enable_shared" ++ shared=$enableval ++else ++ shared=default ++fi; ++# Check whether --enable-profile or --disable-profile was given. ++if test "${enable_profile+set}" = set; then ++ enableval="$enable_profile" ++ profile=$enableval ++else ++ profile=yes ++fi; ++# Check whether --enable-omitfp or --disable-omitfp was given. ++if test "${enable_omitfp+set}" = set; then ++ enableval="$enable_omitfp" ++ omitfp=$enableval ++else ++ omitfp=no ++fi; ++# Check whether --enable-bounded or --disable-bounded was given. ++if test "${enable_bounded+set}" = set; then ++ enableval="$enable_bounded" ++ bounded=$enableval ++else ++ bounded=no ++fi; ++# Check whether --enable-versioning or --disable-versioning was given. ++if test "${enable_versioning+set}" = set; then ++ enableval="$enable_versioning" ++ enable_versioning=$enableval ++else ++ enable_versioning=yes ++fi; ++ ++# Check whether --enable-oldest-abi or --disable-oldest-abi was given. ++if test "${enable_oldest_abi+set}" = set; then ++ enableval="$enable_oldest_abi" ++ oldest_abi=$enableval ++else ++ oldest_abi=no ++fi; ++if test "$oldest_abi" = yes || test "$oldest_abi" = no; then ++ oldest_abi=default ++else ++ cat >>confdefs.h <<_ACEOF ++@%:@define GLIBC_OLDEST_ABI "$oldest_abi" ++_ACEOF ++ ++fi ++ ++ ++# Check whether --enable-add-ons or --disable-add-ons was given. ++if test "${enable_add_ons+set}" = set; then ++ enableval="$enable_add_ons" ++ case "$enableval" in ++ yes) add_ons=`cd $srcdir && echo */configure | sed -e 's!/configure!!g'` ++ test "$add_ons" = "*" && add_ons= ;; ++ *) add_ons=`echo "$enableval" | sed 's/,/ /g'`;; ++ esac ++else ++ add_ons= ++fi; ++ ++ ++# Check whether --with-tls or --without-tls was given. ++if test "${with_tls+set}" = set; then ++ withval="$with_tls" ++ usetls=$withval ++else ++ usetls=no ++fi; ++ ++ ++# Check whether --with-__thread or --without-__thread was given. ++if test "${with___thread+set}" = set; then ++ withval="$with___thread" ++ use__thread=$withval ++else ++ use__thread=yes ++fi; ++ ++# Check whether --enable-hidden-plt or --disable-hidden-plt was given. ++if test "${enable_hidden_plt+set}" = set; then ++ enableval="$enable_hidden_plt" ++ hidden=$enableval ++else ++ hidden=yes ++fi; ++if test "x$hidden" = xno; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define NO_HIDDEN 1 ++_ACEOF ++ ++fi ++ ++ ++ ++subdirs="$subdirs " ++add_ons_pfx= ++if test x"$add_ons" != x; then ++ for f in $add_ons; do ++ # Some sanity checks ++ if test "$f" = "crypt"; then ++ { { echo "$as_me:$LINENO: error: ++*** It seems that you're using an old \`crypt' add-on. crypt is now ++*** part of glibc and using the old add-on will not work with this ++*** release. Start again with fresh sources and without the old ++*** \`crypt' add-on." >&5 ++echo "$as_me: error: ++*** It seems that you're using an old \`crypt' add-on. crypt is now ++*** part of glibc and using the old add-on will not work with this ++*** release. Start again with fresh sources and without the old ++*** \`crypt' add-on." >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ if test "$f" = "localedata"; then ++ { { echo "$as_me:$LINENO: error: ++*** It seems that you're using an old \`localedata' add-on. localedata ++*** is now part of glibc and using the old add-on will not work with ++*** this release. Start again with fresh sources and without the old ++*** \`localedata' add-on." >&5 ++echo "$as_me: error: ++*** It seems that you're using an old \`localedata' add-on. localedata ++*** is now part of glibc and using the old add-on will not work with ++*** this release. Start again with fresh sources and without the old ++*** \`localedata' add-on." >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ # Test whether such a subdir really exists. ++ if test -d $srcdir/$f; then ++ add_ons_pfx="$add_ons_pfx $f/" ++ subdirs="$subdirs $f" ++ else ++ { { echo "$as_me:$LINENO: error: add-on directory \"$f\" does not exist" >&5 ++echo "$as_me: error: add-on directory \"$f\" does not exist" >&2;} ++ { (exit 1); exit 1; }; } ++ fi ++ done ++fi ++ ++# Check whether --enable-static-nss or --disable-static-nss was given. ++if test "${enable_static_nss+set}" = set; then ++ enableval="$enable_static_nss" ++ static_nss=$enableval ++else ++ static_nss=no ++fi; ++if test x"$static_nss" = xyes || test x"$shared" = xno; then ++ static_nss=yes ++ cat >>confdefs.h <<\_ACEOF ++@%:@define DO_STATIC_NSS 1 ++_ACEOF ++ ++fi ++ ++# Check whether --enable-force-install or --disable-force-install was given. ++if test "${enable_force_install+set}" = set; then ++ enableval="$enable_force_install" ++ force_install=$enableval ++else ++ force_install=yes ++fi; ++ ++ ++# Check whether --enable-kernel or --disable-kernel was given. ++if test "${enable_kernel+set}" = set; then ++ enableval="$enable_kernel" ++ minimum_kernel=$enableval ++fi; ++if test "$minimum_kernel" = yes || test "$minimum_kernel" = no; then ++ # Better nothing than this. ++ minimum_kernel="" ++else ++ if test "$minimum_kernel" = current; then ++ minimum_kernel=`uname -r 2>/dev/null` || minimum_kernel= ++ fi ++fi ++ ++# Check whether --enable-all-warnings or --disable-all-warnings was given. ++if test "${enable_all_warnings+set}" = set; then ++ enableval="$enable_all_warnings" ++ all_warnings=$enableval ++fi; ++ ++ ++# Make sure we can run config.sub. ++$ac_config_sub sun4 >/dev/null 2>&1 || ++ { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 ++echo "$as_me: error: cannot run $ac_config_sub" >&2;} ++ { (exit 1); exit 1; }; } ++ ++echo "$as_me:$LINENO: checking build system type" >&5 ++echo $ECHO_N "checking build system type... $ECHO_C" >&6 ++if test "${ac_cv_build+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_build_alias=$build_alias ++test -z "$ac_cv_build_alias" && ++ ac_cv_build_alias=`$ac_config_guess` ++test -z "$ac_cv_build_alias" && ++ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 ++echo "$as_me: error: cannot guess build type; you must specify one" >&2;} ++ { (exit 1); exit 1; }; } ++ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || ++ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 ++echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} ++ { (exit 1); exit 1; }; } ++ ++fi ++echo "$as_me:$LINENO: result: $ac_cv_build" >&5 ++echo "${ECHO_T}$ac_cv_build" >&6 ++build=$ac_cv_build ++build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ ++ ++echo "$as_me:$LINENO: checking host system type" >&5 ++echo $ECHO_N "checking host system type... $ECHO_C" >&6 ++if test "${ac_cv_host+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_host_alias=$host_alias ++test -z "$ac_cv_host_alias" && ++ ac_cv_host_alias=$ac_cv_build_alias ++ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || ++ { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 ++echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} ++ { (exit 1); exit 1; }; } ++ ++fi ++echo "$as_me:$LINENO: result: $ac_cv_host" >&5 ++echo "${ECHO_T}$ac_cv_host" >&6 ++host=$ac_cv_host ++host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` ++host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` ++host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ++ ++ ++ ++# The way shlib-versions is used to generate soversions.mk uses a ++# fairly simplistic model for name recognition that can't distinguish ++# i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os ++# of `gnu*' here to be `gnu-gnu*' just so that shlib-versions can ++# tell. This doesn't get used much beyond that, so it's fairly safe. ++case "$host_os" in ++linux*) ++ ;; ++gnu*) ++ host_os=`echo $host_os | sed -e 's/gnu/gnu-gnu/'` ++ ;; ++esac ++ ++# We keep the original values in `$config_*' and never modify them, so we ++# can write them unchanged into config.make. Everything else uses ++# $machine, $vendor, and $os, and changes them whenever convenient. ++config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os ++ ++# Don't allow vendor == "unknown" ++test "$config_vendor" = unknown && config_vendor= ++config_os="`echo $config_os | sed 's/^unknown-//'`" ++ ++# Some configurations imply other options. ++case "$host_os" in ++gnu* | linux* | bsd4.4* | netbsd* | freebsd*) ++ # These systems always use GNU tools. ++ gnu_ld=yes gnu_as=yes ;; ++esac ++case "$host_os" in ++# i586-linuxaout is mangled into i586-pc-linux-gnuaout ++linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*) ++ ;; ++gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*) ++ # These systems (almost) always use the ELF format. ++ elf=yes ++ ;; ++aix*) ++ # These systems are always xcoff ++ xcoff=yes ++ elf=no ++ ;; ++esac ++ ++machine=$config_machine ++vendor=$config_vendor ++os=$config_os ++ ++# config.guess on some IBM machines says `rs6000' instead of `powerpc'. ++# Unify this here. ++if test "$machine" = rs6000; then ++ machine="powerpc" ++fi ++ ++# Braindead PowerPC box with absolutely no FPU. ++case "$machine-$host_os" in ++ powerpc*-*soft) ++ with_fp=no ++ ;; ++esac ++ ++### ++### I put this here to prevent those annoying emails from people who cannot ++### read and try to compile glibc on unsupported platforms. --drepper ++### ++### By using the undocumented --enable-hacker-mode option for configure ++### one can skip this test to make the configuration not fail for unsupported ++### platforms. ++### ++if test -z "$enable_hacker_mode"; then ++ case "$machine-$host_os" in ++ *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*) ++ ;; ++ *) ++ echo "*** The GNU C library is currently not available for this platform." ++ echo "*** So far nobody cared to port it and if there is no volunteer it" ++ echo "*** might never happen. So, if you have interest to see glibc on" ++ echo "*** this platform visit" ++ echo "*** http://www.gnu.org/software/libc/porting.html" ++ echo "*** and join the group of porters" ++ exit 1 ++ ;; ++ esac ++fi ++ ++# Expand the configuration machine name into a subdirectory by architecture ++# type and particular chip. ++case "$machine" in ++a29k | am29000) base_machine=a29k machine=a29k ;; ++alpha*) base_machine=alpha machine=alpha/$machine ;; ++arm*) base_machine=arm machine=arm/arm32/$machine ;; ++c3[012]) base_machine=cx0 machine=cx0/c30 ;; ++c4[04]) base_machine=cx0 machine=cx0/c40 ;; ++hppa*64*) base_machine=hppa machine=hppa/hppa64 ;; ++hppa*) base_machine=hppa machine=hppa/hppa1.1 ;; ++i[3456]86) base_machine=i386 machine=i386/$machine ;; ++ia64) base_machine=ia64 machine=ia64 ;; ++m680?0) base_machine=m68k machine=m68k/$machine ;; ++m68k) base_machine=m68k machine=m68k/m68020 ;; ++m88???) base_machine=m88k machine=m88k/$machine ;; ++m88k) base_machine=m88k machine=m88k/m88100 ;; ++mips64*) base_machine=mips64 ++ case "$CC $CFLAGS $CPPFLAGS " in ++ *" -mabi=n32 "*) mips_cc_abi=n32 ;; ++ *" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;; ++ *" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;; ++ *) mips_cc_abi=default ;; ++ esac ++ case $config_os in ++ *abin32*) mips_config_abi=n32 ;; ++ *abi64*|*abin64*) mips_config_abi=64 ;; ++ *abi32*|*abio32*) mips_config_abi=32 ;; ++ *) mips_config_abi=$mips_cc_abi ;; ++ esac ++ case $mips_config_abi in ++ default) machine=mips/mips64/n32 mips_config_abi=n32 ;; ++ n32) machine=mips/mips64/n32 ;; ++ 64) machine=mips/mips64/n64 ;; ++ 32) machine=mips/mips32/kern64 ;; ++ esac ++ machine=$machine/$config_machine ++ if test $mips_config_abi != $mips_cc_abi; then ++ # This won't make it to config.make, but we want to ++ # set this in case configure tests depend on it. ++ CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi" ++ fi ++ ;; ++mips*) base_machine=mips machine=mips/mips32/$machine ;; ++powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;; ++powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;; ++s390) base_machine=s390 machine=s390/s390-32 ;; ++s390x) base_machine=s390 machine=s390/s390-64 ;; ++sh3*) base_machine=sh machine=sh/sh3 ;; ++sh4*) base_machine=sh machine=sh/sh4 ;; ++sparc | sparcv[67]) ++ base_machine=sparc machine=sparc/sparc32 ;; ++sparcv8 | supersparc | hypersparc) ++ base_machine=sparc machine=sparc/sparc32/sparcv8 ;; ++sparcv8plus | sparcv8plusa | sparcv9) ++ base_machine=sparc machine=sparc/sparc32/sparcv9 ;; ++sparcv8plusb | sparcv9b) ++ base_machine=sparc machine=sparc/sparc32/sparcv9b ;; ++sparc64 | ultrasparc) ++ base_machine=sparc machine=sparc/sparc64 ;; ++sparc64b | ultrasparc3) ++ base_machine=sparc machine=sparc/sparc64/sparcv9b ;; ++thumb*) base_machine=thumb machine=arm/thumb/$machine ;; ++*) base_machine=$machine ;; ++esac ++ ++ ++if test "$base_machine" = "i386"; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define USE_REGPARMS 1 ++_ACEOF ++ ++fi ++ ++# Compute the list of sysdep directories for this configuration. ++# This can take a while to compute. ++sysdep_dir=$srcdir/sysdeps ++echo "$as_me:$LINENO: checking sysdep dirs" >&5 ++echo $ECHO_N "checking sysdep dirs... $ECHO_C" >&6 ++# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1. ++os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`" ++ ++case "$os" in ++gnu*) ++ base_os=mach/hurd ;; ++netbsd* | 386bsd* | freebsd* | bsdi*) ++ base_os=unix/bsd/bsd4.4 ;; ++osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*) ++ base_os=unix/bsd ;; ++sysv* | isc* | esix* | sco* | minix* | irix4* | linux*) ++ base_os=unix/sysv ;; ++irix6*) ++ base_os=unix/sysv/irix6/$os ;; ++solaris[2-9]*) ++ base_os=unix/sysv/sysv4 ;; ++hpux*) ++ base_os=unix/sysv/hpux/$os ;; ++aix4.3*) ++ base_os=unix/sysv/aix/aix4.3 ;; ++none) ++ base_os=standalone ;; ++*) ++ base_os='' ;; ++esac ++ ++# For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos. ++tail=$os ++ostry=$os ++while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do ++ ostry="$ostry /$o" ++ tail=$o ++done ++o=`echo $tail | sed 's/[0-9]*$//'` ++if test $o != $tail; then ++ ostry="$ostry /$o" ++fi ++# For linux-gnu, try linux-gnu, then linux. ++o=`echo $tail | sed 's/-.*$//'` ++if test $o != $tail; then ++ ostry="$ostry /$o" ++fi ++ ++# For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix. ++base= ++tail=$base_os ++while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do ++ set $b ++ base="$base /$1" ++ tail="$2" ++done ++ ++# For sparc/sparc32, try sparc/sparc32 and then sparc. ++mach= ++tail=$machine ++while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do ++ set $m ++ # Prepend the machine's FPU directory unless --without-fp. ++ if test "$with_fp" = yes; then ++ mach="$mach /$1/fpu" ++ else ++ mach="$mach /$1/nofpu" ++ fi ++ mach="$mach /$1" ++ tail="$2" ++done ++ ++ ++# Find what sysdep directories exist. ++sysnames= ++IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" ++for d in $add_ons_pfx ''; do ++ for b in $base ''; do ++ for m0 in $mach ''; do ++ for v in /$vendor ''; do ++ test "$v" = / && continue ++ for o in /$ostry ''; do ++ test "$o" = / && continue ++ for m in $mach ''; do ++ if test "$m0$b$v$o$m"; then ++ try="${d}sysdeps$m0$b$v$o$m" ++ test -n "$enable_debug_configure" && ++ echo "$0 DEBUG: try $try" >&2 ++ if test -d $srcdir/$try; then ++ sysnames="$sysnames $try" ++ { test -n "$o" || test -n "$b"; } && os_used=t ++ { test -n "$m" || test -n "$m0"; } && machine_used=t ++ fi ++ fi ++ done ++ done ++ done ++ done ++ done ++done ++IFS="$ac_save_ifs" ++ ++if test -z "$os_used" && test "$os" != none; then ++ { { echo "$as_me:$LINENO: error: Operating system $os is not supported." >&5 ++echo "$as_me: error: Operating system $os is not supported." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++if test -z "$machine_used" && test "$machine" != none; then ++ { { echo "$as_me:$LINENO: error: The $machine is not supported." >&5 ++echo "$as_me: error: The $machine is not supported." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++# We have now validated the configuration. ++ ++ ++# If using ELF, look for an `elf' subdirectory of each machine directory. ++# We prepend these rather than inserting them whereever the machine appears ++# because things specified by the machine's ELF ABI should override ++# OS-specific things, and should always be the same for any OS on the ++# machine (otherwise what's the point of an ABI?). ++if test "$elf" = yes; then ++ elf_dirs= ++ for d in $add_ons_pfx ''; do ++ for m in $mach; do ++ if test -d $srcdir/${d}sysdeps$m/elf; then ++ elf_dirs="$elf_dirs ${d}sysdeps$m/elf" ++ fi ++ done ++ done ++ sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames" ++fi ++ ++ ++# Expand the list of system names into a full list of directories ++# from each element's parent name and Implies file (if present). ++set $sysnames ++names= ++while test $# -gt 0; do ++ name=$1 ++ shift ++ ++ case " $names " in *" $name "*) ++ # Already in the list. ++ continue ++ esac ++ ++ # Report each name as we discover it, so there is no long pause in output. ++ echo $ECHO_N "$name $ECHO_C" >&6 ++ ++ name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'` ++ ++ case $name in ++ /*) xsrcdir= ;; ++ *) xsrcdir=$srcdir/ ;; ++ esac ++ test -n "$enable_debug_configure" && ++ echo "DEBUG: name/Implies $xsrcdir$name/Implies" >&2 ++ ++ if test -f $xsrcdir$name/Implies; then ++ # Collect more names from the `Implies' file (removing comments). ++ implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`" ++ implied= ++ for x in $implied_candidate; do ++ found=no ++ if test -d $xsrcdir$name_base/$x; then ++ implied="$implied $name_base/$x"; ++ found=yes ++ fi ++ for d in $add_ons_pfx ''; do ++ try="${d}sysdeps/$x" ++ case $d in ++ /*) try_srcdir= ;; ++ *) try_srcdir=$srcdir/ ;; ++ esac ++ test -n "$enable_debug_configure" && ++ echo "DEBUG: $name implied $x try($d) {$try_srcdir}$try" >&2 ++ if test $try != $xsrcdir$name_base/$x && test -d $try_srcdir$try; ++ then ++ implied="$implied $try" ++ found=yes ++ fi ++ done ++ if test $found = no; then ++ { echo "$as_me:$LINENO: WARNING: $name/Implies specifies nonexistent $x" >&5 ++echo "$as_me: WARNING: $name/Implies specifies nonexistent $x" >&2;} ++ fi ++ done ++ else ++ implied= ++ fi ++ ++ # Add NAME to the list of names. ++ names="$names $name" ++ ++ # Find the parent of NAME, using the empty string if it has none. ++ parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`" ++ ++ # Add the names implied by NAME, and NAME's parent (if it has one), to ++ # the list of names to be processed (the argument list). We prepend the ++ # implied names to the list and append the parent. We want implied ++ # directories to come before further directories inferred from the ++ # configuration components; this ensures that for sysv4, unix/common ++ # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*) ++ # after sysv4). ++ sysnames="`echo $implied $* $parent`" ++ test -n "$sysnames" && set $sysnames ++done ++ ++# Add the default directories. ++default_sysnames=sysdeps/generic ++if test "$elf" = yes; then ++ default_sysnames="sysdeps/generic/elf $default_sysnames" ++fi ++sysnames="$names $default_sysnames" ++ ++# The other names were emitted during the scan. ++echo "$as_me:$LINENO: result: $default_sysnames" >&5 ++echo "${ECHO_T}$default_sysnames" >&6 ++ ++ ++### Locate tools. ++ ++# Find a good install program. We prefer a C program (faster), ++# so one script is as good as another. But avoid the broken or ++# incompatible versions: ++# SysV /etc/install, /usr/sbin/install ++# SunOS /usr/etc/install ++# IRIX /sbin/install ++# AIX /bin/install ++# AmigaOS /C/install, which installs bootblocks on floppy discs ++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag ++# AFS /usr/afsws/bin/install, which mishandles nonexistent args ++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" ++# ./install, which can be erroneously created by make from ./install.sh. ++echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 ++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 ++if test -z "$INSTALL"; then ++if test "${ac_cv_path_install+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ # Account for people who put trailing slashes in PATH elements. ++case $as_dir/ in ++ ./ | .// | /cC/* | \ ++ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ++ /usr/ucb/* ) ;; ++ *) ++ # OSF1 and SCO ODT 3.0 have their own names for install. ++ # Don't use installbsd from OSF since it installs stuff as root ++ # by default. ++ for ac_prog in ginstall scoinst install; do ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then ++ if test $ac_prog = install && ++ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # AIX install. It has an incompatible calling convention. ++ : ++ elif test $ac_prog = install && ++ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then ++ # program-specific install script used by HP pwplus--don't use. ++ : ++ else ++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ++ break 3 ++ fi ++ fi ++ done ++ done ++ ;; ++esac ++done ++ ++ ++fi ++ if test "${ac_cv_path_install+set}" = set; then ++ INSTALL=$ac_cv_path_install ++ else ++ # As a last resort, use the slow shell script. We don't cache a ++ # path for INSTALL within a source directory, because that will ++ # break other packages using the cache if that directory is ++ # removed, or if the path is relative. ++ INSTALL=$ac_install_sh ++ fi ++fi ++echo "$as_me:$LINENO: result: $INSTALL" >&5 ++echo "${ECHO_T}$INSTALL" >&6 ++ ++# Use test -z because SunOS4 sh mishandles braces in ${var-val}. ++# It thinks the first close brace ends the variable substitution. ++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' ++ ++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' ++ ++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ++ ++if test "$INSTALL" = "${srcdir}/scripts/install-sh -c"; then ++ # The makefiles need to use a different form to find it in $srcdir. ++ INSTALL='\$(..)./scripts/install-sh -c' ++fi ++echo "$as_me:$LINENO: checking whether ln -s works" >&5 ++echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 ++LN_S=$as_ln_s ++if test "$LN_S" = "ln -s"; then ++ echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6 ++else ++ echo "$as_me:$LINENO: result: no, using $LN_S" >&5 ++echo "${ECHO_T}no, using $LN_S" >&6 ++fi ++ ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. ++set dummy ${ac_tool_prefix}gcc; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="${ac_tool_prefix}gcc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "gcc", so it can be a program name with args. ++set dummy gcc; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CC="gcc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ CC=$ac_ct_CC ++else ++ CC="$ac_cv_prog_CC" ++fi ++ ++if test -z "$CC"; then ++ if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. ++set dummy ${ac_tool_prefix}cc; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="${ac_tool_prefix}cc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$ac_cv_prog_CC"; then ++ ac_ct_CC=$CC ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CC="cc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ CC=$ac_ct_CC ++else ++ CC="$ac_cv_prog_CC" ++fi ++ ++fi ++if test -z "$CC"; then ++ # Extract the first word of "cc", so it can be a program name with args. ++set dummy cc; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++ ac_prog_rejected=no ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ++ ac_prog_rejected=yes ++ continue ++ fi ++ ac_cv_prog_CC="cc" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++if test $ac_prog_rejected = yes; then ++ # We found a bogon in the path, so make sure we never use it. ++ set dummy $ac_cv_prog_CC ++ shift ++ if test $@%:@ != 0; then ++ # We chose a different compiler from the bogus one. ++ # However, it has the same basename, so the bogon will be chosen ++ # first if we set CC to just the basename; use the full file name. ++ shift ++ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" ++ fi ++fi ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$CC"; then ++ if test -n "$ac_tool_prefix"; then ++ for ac_prog in cl ++ do ++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. ++set dummy $ac_tool_prefix$ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="$ac_tool_prefix$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$CC" && break ++ done ++fi ++if test -z "$CC"; then ++ ac_ct_CC=$CC ++ for ac_prog in cl ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CC"; then ++ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CC="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++ac_ct_CC=$ac_cv_prog_ac_ct_CC ++if test -n "$ac_ct_CC"; then ++ echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 ++echo "${ECHO_T}$ac_ct_CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$ac_ct_CC" && break ++done ++ ++ CC=$ac_ct_CC ++fi ++ ++fi ++ ++ ++test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH ++See \`config.log' for more details." >&5 ++echo "$as_me: error: no acceptable C compiler found in \$PATH ++See \`config.log' for more details." >&2;} ++ { (exit 1); exit 1; }; } ++ ++# Provide some information about the compiler. ++echo "$as_me:$LINENO:" \ ++ "checking for C compiler version" >&5 ++ac_compiler=`set X $ac_compile; echo $2` ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 ++ (eval $ac_compiler --version </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 ++ (eval $ac_compiler -v </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 ++ (eval $ac_compiler -V </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ ++EXEEXT= ++echo "$as_me:$LINENO: checking for suffix of object files" >&5 ++echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 ++if test "${ac_cv_objext+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.o conftest.obj ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do ++ case $ac_file in ++ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; ++ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` ++ break;; ++ esac ++done ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile ++See \`config.log' for more details." >&5 ++echo "$as_me: error: cannot compute suffix of object files: cannot compile ++See \`config.log' for more details." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++rm -f conftest.$ac_cv_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 ++echo "${ECHO_T}$ac_cv_objext" >&6 ++OBJEXT=$ac_cv_objext ++ac_objext=$OBJEXT ++echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 ++echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 ++if test "${ac_cv_c_compiler_gnu+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++#ifndef __GNUC__ ++ choke me ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_compiler_gnu=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_compiler_gnu=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ac_cv_c_compiler_gnu=$ac_compiler_gnu ++ ++fi ++echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 ++echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 ++GCC=`test $ac_compiler_gnu = yes && echo yes` ++ac_test_CFLAGS=${CFLAGS+set} ++ac_save_CFLAGS=$CFLAGS ++CFLAGS="-g" ++echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 ++echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 ++if test "${ac_cv_prog_cc_g+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_prog_cc_g=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_prog_cc_g=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 ++echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 ++if test "$ac_test_CFLAGS" = set; then ++ CFLAGS=$ac_save_CFLAGS ++elif test $ac_cv_prog_cc_g = yes; then ++ if test "$GCC" = yes; then ++ CFLAGS="-g -O2" ++ else ++ CFLAGS="-g" ++ fi ++else ++ if test "$GCC" = yes; then ++ CFLAGS="-O2" ++ else ++ CFLAGS= ++ fi ++fi ++echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 ++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 ++if test "${ac_cv_prog_cc_stdc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ ac_cv_prog_cc_stdc=no ++ac_save_CC=$CC ++cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <stdarg.h> ++#include <stdio.h> ++#include <sys/types.h> ++#include <sys/stat.h> ++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ ++struct buf { int x; }; ++FILE * (*rcsopen) (struct buf *, struct stat *, int); ++static char *e (p, i) ++ char **p; ++ int i; ++{ ++ return p[i]; ++} ++static char *f (char * (*g) (char **, int), char **p, ...) ++{ ++ char *s; ++ va_list v; ++ va_start (v,p); ++ s = g (p, va_arg (v,int)); ++ va_end (v); ++ return s; ++} ++int test (int i, double x); ++struct s1 {int (*f) (int a);}; ++struct s2 {int (*f) (double a);}; ++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); ++int argc; ++char **argv; ++int ++main () ++{ ++return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ++ ; ++ return 0; ++} ++_ACEOF ++# Don't try gcc -ansi; that turns off useful extensions and ++# breaks some systems' header files. ++# AIX -qlanglvl=ansi ++# Ultrix and OSF/1 -std1 ++# HP-UX 10.20 and later -Ae ++# HP-UX older versions -Aa -D_HPUX_SOURCE ++# SVR4 -Xc -D__EXTENSIONS__ ++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" ++do ++ CC="$ac_save_CC $ac_arg" ++ rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_prog_cc_stdc=$ac_arg ++break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.$ac_objext ++done ++rm -f conftest.$ac_ext conftest.$ac_objext ++CC=$ac_save_CC ++ ++fi ++ ++case "x$ac_cv_prog_cc_stdc" in ++ x|xno) ++ echo "$as_me:$LINENO: result: none needed" >&5 ++echo "${ECHO_T}none needed" >&6 ;; ++ *) ++ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 ++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 ++ CC="$CC $ac_cv_prog_cc_stdc" ;; ++esac ++ ++# Some people use a C++ compiler to compile C. Since we use `exit', ++# in C++ we need to declare it. In case someone uses the same compiler ++# for both compiling C and C++ we need to have the C++ compiler decide ++# the declaration of exit, since it's the most demanding environment. ++cat >conftest.$ac_ext <<_ACEOF ++@%:@ifndef __cplusplus ++ choke me ++@%:@endif ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ for ac_declaration in \ ++ '' \ ++ 'extern "C" void std::exit (int) throw (); using std::exit;' \ ++ 'extern "C" void std::exit (int); using std::exit;' \ ++ 'extern "C" void exit (int) throw ();' \ ++ 'extern "C" void exit (int);' \ ++ 'void exit (int);' ++do ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_declaration ++@%:@include <stdlib.h> ++int ++main () ++{ ++exit (42); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++continue ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_declaration ++int ++main () ++{ ++exit (42); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++done ++rm -f conftest* ++if test -n "$ac_declaration"; then ++ echo '#ifdef __cplusplus' >>confdefs.h ++ echo $ac_declaration >>confdefs.h ++ echo '#endif' >>confdefs.h ++fi ++ ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++if test $host != $build; then ++ for ac_prog in gcc cc ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_BUILD_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$BUILD_CC"; then ++ ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_BUILD_CC="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++BUILD_CC=$ac_cv_prog_BUILD_CC ++if test -n "$BUILD_CC"; then ++ echo "$as_me:$LINENO: result: $BUILD_CC" >&5 ++echo "${ECHO_T}$BUILD_CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$BUILD_CC" && break ++done ++ ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 ++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 ++# On Suns, sometimes $CPP names a directory. ++if test -n "$CPP" && test -d "$CPP"; then ++ CPP= ++fi ++if test -z "$CPP"; then ++ if test "${ac_cv_prog_CPP+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ # Double quotes because CPP needs to be expanded ++ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" ++ do ++ ac_preproc_ok=false ++for ac_c_preproc_warn_flag in '' yes ++do ++ # Use a header file that comes with gcc, so configuring glibc ++ # with a fresh cross-compiler works. ++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since ++ # <limits.h> exists even on freestanding compilers. ++ # On the NeXT, cc -E runs the code through the compiler's parser, ++ # not just through cpp. "Syntax error" is here to catch this case. ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++@%:@ifdef __STDC__ ++@%:@ include <limits.h> ++@%:@else ++@%:@ include <assert.h> ++@%:@endif ++ Syntax error ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ # Broken: fails on valid input. ++continue ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++ # OK, works on sane cases. Now check whether non-existent headers ++ # can be detected and how. ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++@%:@include <ac_nonexistent.h> ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ # Broken: success on invalid input. ++continue ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ # Passes both tests. ++ac_preproc_ok=: ++break ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++done ++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. ++rm -f conftest.err conftest.$ac_ext ++if $ac_preproc_ok; then ++ break ++fi ++ ++ done ++ ac_cv_prog_CPP=$CPP ++ ++fi ++ CPP=$ac_cv_prog_CPP ++else ++ ac_cv_prog_CPP=$CPP ++fi ++echo "$as_me:$LINENO: result: $CPP" >&5 ++echo "${ECHO_T}$CPP" >&6 ++ac_preproc_ok=false ++for ac_c_preproc_warn_flag in '' yes ++do ++ # Use a header file that comes with gcc, so configuring glibc ++ # with a fresh cross-compiler works. ++ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since ++ # <limits.h> exists even on freestanding compilers. ++ # On the NeXT, cc -E runs the code through the compiler's parser, ++ # not just through cpp. "Syntax error" is here to catch this case. ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++@%:@ifdef __STDC__ ++@%:@ include <limits.h> ++@%:@else ++@%:@ include <assert.h> ++@%:@endif ++ Syntax error ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ # Broken: fails on valid input. ++continue ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++ # OK, works on sane cases. Now check whether non-existent headers ++ # can be detected and how. ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++@%:@include <ac_nonexistent.h> ++_ACEOF ++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null; then ++ if test -s conftest.err; then ++ ac_cpp_err=$ac_c_preproc_warn_flag ++ else ++ ac_cpp_err= ++ fi ++else ++ ac_cpp_err=yes ++fi ++if test -z "$ac_cpp_err"; then ++ # Broken: success on invalid input. ++continue ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ # Passes both tests. ++ac_preproc_ok=: ++break ++fi ++rm -f conftest.err conftest.$ac_ext ++ ++done ++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. ++rm -f conftest.err conftest.$ac_ext ++if $ac_preproc_ok; then ++ : ++else ++ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check ++See \`config.log' for more details." >&5 ++echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check ++See \`config.log' for more details." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++# We need the C++ compiler only for testing. ++ac_ext=cc ++ac_cpp='$CXXCPP $CPPFLAGS' ++ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ++if test -n "$ac_tool_prefix"; then ++ for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC ++ do ++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. ++set dummy $ac_tool_prefix$ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CXX+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CXX"; then ++ ac_cv_prog_CXX="$CXX" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++CXX=$ac_cv_prog_CXX ++if test -n "$CXX"; then ++ echo "$as_me:$LINENO: result: $CXX" >&5 ++echo "${ECHO_T}$CXX" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$CXX" && break ++ done ++fi ++if test -z "$CXX"; then ++ ac_ct_CXX=$CXX ++ for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_CXX"; then ++ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CXX="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++ac_ct_CXX=$ac_cv_prog_ac_ct_CXX ++if test -n "$ac_ct_CXX"; then ++ echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 ++echo "${ECHO_T}$ac_ct_CXX" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$ac_ct_CXX" && break ++done ++test -n "$ac_ct_CXX" || ac_ct_CXX="g++" ++ ++ CXX=$ac_ct_CXX ++fi ++ ++ ++# Provide some information about the compiler. ++echo "$as_me:$LINENO:" \ ++ "checking for C++ compiler version" >&5 ++ac_compiler=`set X $ac_compile; echo $2` ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 ++ (eval $ac_compiler --version </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 ++ (eval $ac_compiler -v </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 ++ (eval $ac_compiler -V </dev/null >&5) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } ++ ++echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 ++echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 ++if test "${ac_cv_cxx_compiler_gnu+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++#ifndef __GNUC__ ++ choke me ++#endif ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_compiler_gnu=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_compiler_gnu=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ac_cv_cxx_compiler_gnu=$ac_compiler_gnu ++ ++fi ++echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 ++echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 ++GXX=`test $ac_compiler_gnu = yes && echo yes` ++ac_test_CXXFLAGS=${CXXFLAGS+set} ++ac_save_CXXFLAGS=$CXXFLAGS ++CXXFLAGS="-g" ++echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 ++echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 ++if test "${ac_cv_prog_cxx_g+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_prog_cxx_g=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_prog_cxx_g=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 ++echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 ++if test "$ac_test_CXXFLAGS" = set; then ++ CXXFLAGS=$ac_save_CXXFLAGS ++elif test $ac_cv_prog_cxx_g = yes; then ++ if test "$GXX" = yes; then ++ CXXFLAGS="-g -O2" ++ else ++ CXXFLAGS="-g" ++ fi ++else ++ if test "$GXX" = yes; then ++ CXXFLAGS="-O2" ++ else ++ CXXFLAGS= ++ fi ++fi ++for ac_declaration in \ ++ '' \ ++ 'extern "C" void std::exit (int) throw (); using std::exit;' \ ++ 'extern "C" void std::exit (int); using std::exit;' \ ++ 'extern "C" void exit (int) throw ();' \ ++ 'extern "C" void exit (int);' \ ++ 'void exit (int);' ++do ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_declaration ++@%:@include <stdlib.h> ++int ++main () ++{ ++exit (42); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ : ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++continue ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_declaration ++int ++main () ++{ ++exit (42); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++done ++rm -f conftest* ++if test -n "$ac_declaration"; then ++ echo '#ifdef __cplusplus' >>confdefs.h ++ echo $ac_declaration >>confdefs.h ++ echo '#endif' >>confdefs.h ++fi ++ ++ac_ext=c ++ac_cpp='$CPP $CPPFLAGS' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compiler_gnu=$ac_cv_c_compiler_gnu ++ ++# Was a --with-binutils option given? ++if test -n "$path_binutils"; then ++ # Make absolute; ensure a single trailing slash. ++ path_binutils=`(cd $path_binutils; pwd) | sed 's%/*$%/%'` ++ CC="$CC -B$path_binutils" ++fi ++AS=`$CC -print-prog-name=as` ++LD=`$CC -print-prog-name=ld` ++AR=`$CC -print-prog-name=ar` ++ ++OBJDUMP=`$CC -print-prog-name=objdump` ++ ++ ++# ranlib has to be treated a bit differently since it might not exist at all. ++ac_ranlib=`$CC -print-prog-name=ranlib` ++if test "x$ac_ranlib" = xranlib; then ++# This extra check has to happen since gcc simply echos the parameter in ++# case it cannot find the value in its own directories. ++if test -n "$ac_tool_prefix"; then ++ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. ++set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_RANLIB+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$RANLIB"; then ++ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++RANLIB=$ac_cv_prog_RANLIB ++if test -n "$RANLIB"; then ++ echo "$as_me:$LINENO: result: $RANLIB" >&5 ++echo "${ECHO_T}$RANLIB" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++fi ++if test -z "$ac_cv_prog_RANLIB"; then ++ ac_ct_RANLIB=$RANLIB ++ # Extract the first word of "ranlib", so it can be a program name with args. ++set dummy ranlib; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$ac_ct_RANLIB"; then ++ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_RANLIB="ranlib" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++ test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" ++fi ++fi ++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB ++if test -n "$ac_ct_RANLIB"; then ++ echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 ++echo "${ECHO_T}$ac_ct_RANLIB" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ RANLIB=$ac_ct_RANLIB ++else ++ RANLIB="$ac_cv_prog_RANLIB" ++fi ++ ++else ++ RANLIB=$ac_ranlib ++fi ++ ++ ++# Determine whether we are using GNU binutils. ++echo "$as_me:$LINENO: checking whether $AS is GNU as" >&5 ++echo $ECHO_N "checking whether $AS is GNU as... $ECHO_C" >&6 ++if test "${libc_cv_prog_as_gnu+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ # Most GNU programs take a -v and spit out some text including ++# the word 'GNU'. Some try to read stdin, so give them /dev/null. ++if $AS -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then ++ libc_cv_prog_as_gnu=yes ++else ++ libc_cv_prog_as_gnu=no ++fi ++rm -fr contest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_prog_as_gnu" >&5 ++echo "${ECHO_T}$libc_cv_prog_as_gnu" >&6 ++rm -f a.out ++gnu_as=$libc_cv_prog_as_gnu ++ ++echo "$as_me:$LINENO: checking whether $LD is GNU ld" >&5 ++echo $ECHO_N "checking whether $LD is GNU ld... $ECHO_C" >&6 ++if test "${libc_cv_prog_ld_gnu+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ # Most GNU programs take a -v and spit out some text including ++# the word 'GNU'. Some try to read stdin, so give them /dev/null. ++if $LD -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then ++ libc_cv_prog_ld_gnu=yes ++else ++ libc_cv_prog_ld_gnu=no ++fi ++rm -fr contest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_prog_ld_gnu" >&5 ++echo "${ECHO_T}$libc_cv_prog_ld_gnu" >&6 ++gnu_ld=$libc_cv_prog_ld_gnu ++ ++ ++# Accept binutils 2.13 or newer. ++for ac_prog in $AS ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_AS+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$AS"; then ++ ac_cv_prog_AS="$AS" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_AS="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++AS=$ac_cv_prog_AS ++if test -n "$AS"; then ++ echo "$as_me:$LINENO: result: $AS" >&5 ++echo "${ECHO_T}$AS" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$AS" && break ++done ++ ++if test -z "$AS"; then ++ ac_verc_fail=yes ++else ++ # Found it, now check the version. ++ echo "$as_me:$LINENO: checking version of $AS" >&5 ++echo $ECHO_N "checking version of $AS... $ECHO_C" >&6 ++ ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'` ++ case $ac_prog_version in ++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; ++ 2.1[3-9]*) ++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; ++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; ++ ++ esac ++ echo "$as_me:$LINENO: result: $ac_prog_version" >&5 ++echo "${ECHO_T}$ac_prog_version" >&6 ++fi ++if test $ac_verc_fail = yes; then ++ AS=: critic_missing="$critic_missing as" ++fi ++ ++for ac_prog in $LD ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_LD+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$LD"; then ++ ac_cv_prog_LD="$LD" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_LD="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++LD=$ac_cv_prog_LD ++if test -n "$LD"; then ++ echo "$as_me:$LINENO: result: $LD" >&5 ++echo "${ECHO_T}$LD" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$LD" && break ++done ++ ++if test -z "$LD"; then ++ ac_verc_fail=yes ++else ++ # Found it, now check the version. ++ echo "$as_me:$LINENO: checking version of $LD" >&5 ++echo $ECHO_N "checking version of $LD... $ECHO_C" >&6 ++ ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` ++ case $ac_prog_version in ++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; ++ 2.1[3-9]*) ++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; ++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; ++ ++ esac ++ echo "$as_me:$LINENO: result: $ac_prog_version" >&5 ++echo "${ECHO_T}$ac_prog_version" >&6 ++fi ++if test $ac_verc_fail = yes; then ++ LD=: critic_missing="$critic_missing ld" ++fi ++ ++ ++# We need the physical current working directory. We cannot use the ++# "pwd -P" shell builtin since that's not portable. Instead we try to ++# find a pwd binary. Note that assigning to the PWD environment ++# variable might have some interesting side effects, so we don't do ++# that. ++# Extract the first word of "pwd", so it can be a program name with args. ++set dummy pwd; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_path_PWD_P+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ case $PWD_P in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_PWD_P="$PWD_P" # Let the user override the test with a path. ++ ;; ++ *) ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_path_PWD_P="$as_dir/$ac_word$ac_exec_ext" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++ test -z "$ac_cv_path_PWD_P" && ac_cv_path_PWD_P="no" ++ ;; ++esac ++fi ++PWD_P=$ac_cv_path_PWD_P ++ ++if test -n "$PWD_P"; then ++ echo "$as_me:$LINENO: result: $PWD_P" >&5 ++echo "${ECHO_T}$PWD_P" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++if test "$PWD_P" = no; then ++ { { echo "$as_me:$LINENO: error: *** A pwd binary could not be found." >&5 ++echo "$as_me: error: *** A pwd binary could not be found." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++# These programs are version sensitive. ++ ++for ac_prog in ${ac_tool_prefix}gcc ${ac_tool_prefix}cc ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_CC+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$CC"; then ++ ac_cv_prog_CC="$CC" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CC="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++CC=$ac_cv_prog_CC ++if test -n "$CC"; then ++ echo "$as_me:$LINENO: result: $CC" >&5 ++echo "${ECHO_T}$CC" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$CC" && break ++done ++ ++if test -z "$CC"; then ++ ac_verc_fail=yes ++else ++ # Found it, now check the version. ++ echo "$as_me:$LINENO: checking version of $CC" >&5 ++echo $ECHO_N "checking version of $CC... $ECHO_C" >&6 ++ ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` ++ case $ac_prog_version in ++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; ++ 3.[2-9]*) ++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; ++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; ++ ++ esac ++ echo "$as_me:$LINENO: result: $ac_prog_version" >&5 ++echo "${ECHO_T}$ac_prog_version" >&6 ++fi ++if test $ac_verc_fail = yes; then ++ critic_missing="$critic_missing gcc" ++fi ++ ++for ac_prog in gnumake gmake make ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_MAKE+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$MAKE"; then ++ ac_cv_prog_MAKE="$MAKE" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_MAKE="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++MAKE=$ac_cv_prog_MAKE ++if test -n "$MAKE"; then ++ echo "$as_me:$LINENO: result: $MAKE" >&5 ++echo "${ECHO_T}$MAKE" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$MAKE" && break ++done ++ ++if test -z "$MAKE"; then ++ ac_verc_fail=yes ++else ++ # Found it, now check the version. ++ echo "$as_me:$LINENO: checking version of $MAKE" >&5 ++echo $ECHO_N "checking version of $MAKE... $ECHO_C" >&6 ++ ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` ++ case $ac_prog_version in ++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; ++ 3.79* | 3.[89]*) ++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; ++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; ++ ++ esac ++ echo "$as_me:$LINENO: result: $ac_prog_version" >&5 ++echo "${ECHO_T}$ac_prog_version" >&6 ++fi ++if test $ac_verc_fail = yes; then ++ critic_missing="$critic_missing make" ++fi ++ ++ ++for ac_prog in gnumsgfmt gmsgfmt msgfmt ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_MSGFMT+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$MSGFMT"; then ++ ac_cv_prog_MSGFMT="$MSGFMT" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_MSGFMT="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++MSGFMT=$ac_cv_prog_MSGFMT ++if test -n "$MSGFMT"; then ++ echo "$as_me:$LINENO: result: $MSGFMT" >&5 ++echo "${ECHO_T}$MSGFMT" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$MSGFMT" && break ++done ++ ++if test -z "$MSGFMT"; then ++ ac_verc_fail=yes ++else ++ # Found it, now check the version. ++ echo "$as_me:$LINENO: checking version of $MSGFMT" >&5 ++echo $ECHO_N "checking version of $MSGFMT... $ECHO_C" >&6 ++ ac_prog_version=`$MSGFMT --version 2>&1 | sed -n 's/^.*GNU gettext.* \([0-9]*\.[0-9.]*\).*$/\1/p'` ++ case $ac_prog_version in ++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; ++ 0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*) ++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; ++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; ++ ++ esac ++ echo "$as_me:$LINENO: result: $ac_prog_version" >&5 ++echo "${ECHO_T}$ac_prog_version" >&6 ++fi ++if test $ac_verc_fail = yes; then ++ MSGFMT=: aux_missing="$aux_missing msgfmt" ++fi ++ ++for ac_prog in makeinfo ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_MAKEINFO+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$MAKEINFO"; then ++ ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_MAKEINFO="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++MAKEINFO=$ac_cv_prog_MAKEINFO ++if test -n "$MAKEINFO"; then ++ echo "$as_me:$LINENO: result: $MAKEINFO" >&5 ++echo "${ECHO_T}$MAKEINFO" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$MAKEINFO" && break ++done ++ ++if test -z "$MAKEINFO"; then ++ ac_verc_fail=yes ++else ++ # Found it, now check the version. ++ echo "$as_me:$LINENO: checking version of $MAKEINFO" >&5 ++echo $ECHO_N "checking version of $MAKEINFO... $ECHO_C" >&6 ++ ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` ++ case $ac_prog_version in ++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; ++ 4.*) ++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; ++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; ++ ++ esac ++ echo "$as_me:$LINENO: result: $ac_prog_version" >&5 ++echo "${ECHO_T}$ac_prog_version" >&6 ++fi ++if test $ac_verc_fail = yes; then ++ MAKEINFO=: aux_missing="$aux_missing makeinfo" ++fi ++ ++for ac_prog in sed ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_SED+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$SED"; then ++ ac_cv_prog_SED="$SED" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_SED="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++SED=$ac_cv_prog_SED ++if test -n "$SED"; then ++ echo "$as_me:$LINENO: result: $SED" >&5 ++echo "${ECHO_T}$SED" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$SED" && break ++done ++ ++if test -z "$SED"; then ++ ac_verc_fail=yes ++else ++ # Found it, now check the version. ++ echo "$as_me:$LINENO: checking version of $SED" >&5 ++echo $ECHO_N "checking version of $SED... $ECHO_C" >&6 ++ ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'` ++ case $ac_prog_version in ++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; ++ 3.0[2-9]*|3.[1-9]*|[4-9]*) ++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; ++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; ++ ++ esac ++ echo "$as_me:$LINENO: result: $ac_prog_version" >&5 ++echo "${ECHO_T}$ac_prog_version" >&6 ++fi ++if test $ac_verc_fail = yes; then ++ SED=: aux_missing="$aux_missing sed" ++fi ++ ++ ++for ac_prog in autoconf ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_AUTOCONF+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$AUTOCONF"; then ++ ac_cv_prog_AUTOCONF="$AUTOCONF" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_AUTOCONF="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++AUTOCONF=$ac_cv_prog_AUTOCONF ++if test -n "$AUTOCONF"; then ++ echo "$as_me:$LINENO: result: $AUTOCONF" >&5 ++echo "${ECHO_T}$AUTOCONF" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$AUTOCONF" && break ++done ++test -n "$AUTOCONF" || AUTOCONF="no" ++ ++case "x$AUTOCONF" in ++xno|x|x:) AUTOCONF=no ;; ++*) ++ echo "$as_me:$LINENO: checking whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works" >&5 ++echo $ECHO_N "checking whether $AUTOCONF${ACFLAGS:+ }$ACFLAGS works... $ECHO_C" >&6 ++if test "${libc_cv_autoconf_works+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if (cd $srcdir; $AUTOCONF $ACFLAGS configure.in > /dev/null 2>&1); then ++ libc_cv_autoconf_works=yes ++ else ++ libc_cv_autoconf_works=no ++ fi ++fi ++echo "$as_me:$LINENO: result: $libc_cv_autoconf_works" >&5 ++echo "${ECHO_T}$libc_cv_autoconf_works" >&6 ++ test $libc_cv_autoconf_works = yes || AUTOCONF=no ++ ;; ++esac ++if test "x$with_cvs" = xyes && test "x$AUTOCONF" = xno; then ++ # If --without-cvs they probably won't change configure.in, so no complaints. ++ aux_missing="$aux_missing autoconf" ++fi ++ ++test -n "$critic_missing" && { { echo "$as_me:$LINENO: error: ++*** These critical programs are missing or too old:$critic_missing ++*** Check the INSTALL file for required versions." >&5 ++echo "$as_me: error: ++*** These critical programs are missing or too old:$critic_missing ++*** Check the INSTALL file for required versions." >&2;} ++ { (exit 1); exit 1; }; } ++ ++test -n "$aux_missing" && { echo "$as_me:$LINENO: WARNING: ++*** These auxiliary programs are missing or incompatible versions:$aux_missing ++*** some features will be disabled. ++*** Check the INSTALL file for required versions." >&5 ++echo "$as_me: WARNING: ++*** These auxiliary programs are missing or incompatible versions:$aux_missing ++*** some features will be disabled. ++*** Check the INSTALL file for required versions." >&2;} ++ ++# glibcbug.in wants to know the compiler version. ++CCVERSION=`$CC -v 2>&1 | sed -n 's/gcc version //p'` ++ ++ ++# if using special system headers, find out the compiler's sekrit ++# header directory and add that to the list. NOTE: Only does the right ++# thing on a system that doesn't need fixincludes. (Not presently a problem.) ++if test -n "$sysheaders"; then ++ ccheaders=`$CC -print-file-name=include` ++ SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $sysheaders" ++fi ++ ++ ++# check if ranlib is necessary ++echo "$as_me:$LINENO: checking whether ranlib is necessary" >&5 ++echo $ECHO_N "checking whether ranlib is necessary... $ECHO_C" >&6 ++if test "${libc_cv_ranlib_necessary+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++int a; ++char b; ++void c(void) {} ++EOF ++$CC $CFLAGS $CPPFLAGS -c conftest.c ++$AR cr conftest.a conftest.o ++cp conftest.a conftest2.a ++$RANLIB conftest.a ++if cmp -s conftest.a conftest2.a; then ++ libc_cv_ranlib_necessary=no ++else ++ libc_cv_ranlib_necessary=yes ++fi ++rm -rf conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_ranlib_necessary" >&5 ++echo "${ECHO_T}$libc_cv_ranlib_necessary" >&6 ++if test "$libc_cv_ranlib_necessary" = no; then ++ RANLIB=: ++fi ++ ++# Test if LD_LIBRARY_PATH contains the notation for the current directory ++# since this would lead to problems installing/building glibc. ++# LD_LIBRARY_PATH contains the current directory if one of the following ++# is true: ++# - one of the terminals (":" and ";") is the first or last sign ++# - two terminals occur directly after each other ++# - the path contains an element with a dot in it ++echo "$as_me:$LINENO: checking LD_LIBRARY_PATH variable" >&5 ++echo $ECHO_N "checking LD_LIBRARY_PATH variable... $ECHO_C" >&6 ++case ${LD_LIBRARY_PATH} in ++ [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* ) ++ ld_library_path_setting="contains current directory" ++ ;; ++ *) ++ ld_library_path_setting="ok" ++ ;; ++esac ++echo "$as_me:$LINENO: result: $ld_library_path_setting" >&5 ++echo "${ECHO_T}$ld_library_path_setting" >&6 ++if test "$ld_library_path_setting" != "ok"; then ++{ { echo "$as_me:$LINENO: error: ++*** LD_LIBRARY_PATH shouldn't contain the current directory when ++*** building glibc. Please change the environment variable ++*** and run configure again." >&5 ++echo "$as_me: error: ++*** LD_LIBRARY_PATH shouldn't contain the current directory when ++*** building glibc. Please change the environment variable ++*** and run configure again." >&2;} ++ { (exit 1); exit 1; }; } ++fi ++ ++echo "$as_me:$LINENO: checking whether GCC supports -static-libgcc" >&5 ++echo $ECHO_N "checking whether GCC supports -static-libgcc... $ECHO_C" >&6 ++if test "${libc_cv_gcc_static_libgcc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if $CC -v -static-libgcc 2>&1 | grep -q 'unrecognized option.*static-libgcc'; then ++ libc_cv_gcc_static_libgcc= ++else ++ libc_cv_gcc_static_libgcc=-static-libgcc ++fi ++fi ++echo "$as_me:$LINENO: result: $libc_cv_gcc_static_libgcc" >&5 ++echo "${ECHO_T}$libc_cv_gcc_static_libgcc" >&6 ++ ++ ++# Extract the first word of "bash", so it can be a program name with args. ++set dummy bash; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_path_BASH+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ case $BASH in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_BASH="$BASH" # Let the user override the test with a path. ++ ;; ++ *) ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_path_BASH="$as_dir/$ac_word$ac_exec_ext" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++ test -z "$ac_cv_path_BASH" && ac_cv_path_BASH="no" ++ ;; ++esac ++fi ++BASH=$ac_cv_path_BASH ++ ++if test -n "$BASH"; then ++ echo "$as_me:$LINENO: result: $BASH" >&5 ++echo "${ECHO_T}$BASH" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++if test "$BASH" != no && ++ $BASH -c 'test "$BASH_VERSINFO" \ ++ && test "$BASH_VERSINFO" -ge 2 >&/dev/null'; then ++ libc_cv_have_bash2=yes ++else ++ libc_cv_have_bash2=no ++fi ++ ++ ++if test "$BASH" = no; then ++ # Extract the first word of "ksh", so it can be a program name with args. ++set dummy ksh; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_path_KSH+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ case $KSH in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_KSH="$KSH" # Let the user override the test with a path. ++ ;; ++ *) ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_path_KSH="$as_dir/$ac_word$ac_exec_ext" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++ test -z "$ac_cv_path_KSH" && ac_cv_path_KSH="no" ++ ;; ++esac ++fi ++KSH=$ac_cv_path_KSH ++ ++if test -n "$KSH"; then ++ echo "$as_me:$LINENO: result: $KSH" >&5 ++echo "${ECHO_T}$KSH" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ if test "$KSH" = no; then ++ libc_cv_have_ksh=no ++ else ++ libc_cv_have_ksh=yes ++ fi ++else ++ KSH="$BASH" ++ ++ libc_cv_have_ksh=yes ++fi ++ ++ ++for ac_prog in gawk mawk nawk awk ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_prog_AWK+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test -n "$AWK"; then ++ ac_cv_prog_AWK="$AWK" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_AWK="$ac_prog" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++fi ++fi ++AWK=$ac_cv_prog_AWK ++if test -n "$AWK"; then ++ echo "$as_me:$LINENO: result: $AWK" >&5 ++echo "${ECHO_T}$AWK" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ test -n "$AWK" && break ++done ++ ++# Extract the first word of "perl", so it can be a program name with args. ++set dummy perl; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_path_PERL+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ case $PERL in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_PERL="$PERL" # Let the user override the test with a path. ++ ;; ++ *) ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++ test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="no" ++ ;; ++esac ++fi ++PERL=$ac_cv_path_PERL ++ ++if test -n "$PERL"; then ++ echo "$as_me:$LINENO: result: $PERL" >&5 ++echo "${ECHO_T}$PERL" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++if test "$PERL" != no && ++ (eval `$PERL -V:apiversion`; test `expr "$apiversion" \< 5` -ne 0); then ++ PERL=no ++fi ++# Extract the first word of "install-info", so it can be a program name with args. ++set dummy install-info; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_path_INSTALL_INFO+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ case $INSTALL_INFO in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_INSTALL_INFO="$INSTALL_INFO" # Let the user override the test with a path. ++ ;; ++ *) ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_dummy="$PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin" ++for as_dir in $as_dummy ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_path_INSTALL_INFO="$as_dir/$ac_word$ac_exec_ext" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++ test -z "$ac_cv_path_INSTALL_INFO" && ac_cv_path_INSTALL_INFO="no" ++ ;; ++esac ++fi ++INSTALL_INFO=$ac_cv_path_INSTALL_INFO ++ ++if test -n "$INSTALL_INFO"; then ++ echo "$as_me:$LINENO: result: $INSTALL_INFO" >&5 ++echo "${ECHO_T}$INSTALL_INFO" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++if test "$INSTALL_INFO" != "no"; then ++echo "$as_me:$LINENO: checking for old Debian install-info" >&5 ++echo $ECHO_N "checking for old Debian install-info... $ECHO_C" >&6 ++if test "${libc_cv_old_debian_install_info+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ mkdir conftest.d ++ # There is a hard ^_ on the next line. I am open to better ideas. ++ (echo '' ++ echo 'File: dir Node: Top This is the top of the INFO tree' ++ echo '* Menu:') >conftest.d/dir ++ (echo 'INFO-DIR-SECTION i-d-s works' ++ echo 'START-INFO-DIR-ENTRY' ++ echo '* Prog: (prog). Program.' ++ echo 'END-INFO-DIR-ENTRY') >conftest.d/prog.info ++ if $INSTALL_INFO --info-dir=conftest.d conftest.d/prog.info >&5 2>&1 ++ then ++ if grep -s 'i-d-s works' conftest.d/dir >/dev/null ++ then libc_cv_old_debian_install_info=no ++ else libc_cv_old_debian_install_info=yes ++ fi ++ else libc_cv_old_debian_install_info=no testfailed=t ++ fi ++ rm -fr conftest.d ++fi ++echo "$as_me:$LINENO: result: $libc_cv_old_debian_install_info" >&5 ++echo "${ECHO_T}$libc_cv_old_debian_install_info" >&6 ++if test -n "$testfailed" ++then { echo "$as_me:$LINENO: WARNING: install-info errored out, check config.log" >&5 ++echo "$as_me: WARNING: install-info errored out, check config.log" >&2;} ++fi ++OLD_DEBIAN_INSTALL_INFO=$libc_cv_old_debian_install_info ++fi ++ ++ ++# Extract the first word of "bison", so it can be a program name with args. ++set dummy bison; ac_word=$2 ++echo "$as_me:$LINENO: checking for $ac_word" >&5 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ++if test "${ac_cv_path_BISON+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ case $BISON in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_BISON="$BISON" # Let the user override the test with a path. ++ ;; ++ *) ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++as_dummy="$PATH:/usr/local/bin:/usr/bin:/bin" ++for as_dir in $as_dummy ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext" ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++ ++ test -z "$ac_cv_path_BISON" && ac_cv_path_BISON="no" ++ ;; ++esac ++fi ++BISON=$ac_cv_path_BISON ++ ++if test -n "$BISON"; then ++ echo "$as_me:$LINENO: result: $BISON" >&5 ++echo "${ECHO_T}$BISON" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++fi ++ ++ ++echo "$as_me:$LINENO: checking for signed size_t type" >&5 ++echo $ECHO_N "checking for signed size_t type... $ECHO_C" >&6 ++if test "${libc_cv_signed_size_t+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ echo '#include <stddef.h> ++FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c ++if eval "$ac_cpp conftest.c 2>/dev/null" \ ++| grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then ++ libc_cv_signed_size_t=no ++else ++ libc_cv_signed_size_t=yes ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_signed_size_t" >&5 ++echo "${ECHO_T}$libc_cv_signed_size_t" >&6 ++if test $libc_cv_signed_size_t = yes; then ++ cat >> confdefs.h <<\EOF ++#undef __SIZE_TYPE__ ++#define __SIZE_TYPE__ unsigned ++EOF ++fi ++ ++ ++echo "$as_me:$LINENO: checking for libc-friendly stddef.h" >&5 ++echo $ECHO_N "checking for libc-friendly stddef.h... $ECHO_C" >&6 ++if test "${libc_cv_friendly_stddef+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#define __need_size_t ++#define __need_wchar_t ++#include <stddef.h> ++#define __need_NULL ++#include <stddef.h> ++int ++main () ++{ ++size_t size; wchar_t wchar; ++#ifdef offsetof ++#error stddef.h ignored __need_* ++#endif ++if (&size == NULL || &wchar == NULL) abort (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_friendly_stddef=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++libc_cv_friendly_stddef=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $libc_cv_friendly_stddef" >&5 ++echo "${ECHO_T}$libc_cv_friendly_stddef" >&6 ++if test $libc_cv_friendly_stddef = yes; then ++ config_vars="$config_vars ++override stddef.h = # The installed <stddef.h> seems to be libc-friendly." ++fi ++ ++echo "$as_me:$LINENO: checking whether we need to use -P to assemble .S files" >&5 ++echo $ECHO_N "checking whether we need to use -P to assemble .S files... $ECHO_C" >&6 ++if test "${libc_cv_need_minus_P+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.S <<EOF ++#include "confdefs.h" ++/* Nothing whatsoever. */ ++EOF ++if { ac_try='${CC-cc} $CPPFLAGS $ASFLAGS -c conftest.S 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_need_minus_P=no ++else ++ libc_cv_need_minus_P=yes ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_need_minus_P" >&5 ++echo "${ECHO_T}$libc_cv_need_minus_P" >&6 ++if test $libc_cv_need_minus_P = yes; then ++ config_vars="$config_vars ++asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives." ++fi ++ ++echo "$as_me:$LINENO: checking whether .text pseudo-op must be used" >&5 ++echo $ECHO_N "checking whether .text pseudo-op must be used... $ECHO_C" >&6 ++if test "${libc_cv_dot_text+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.s <<EOF ++.text ++EOF ++libc_cv_dot_text= ++if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_dot_text=.text ++fi ++rm -f conftest* ++fi ++ ++if test -z "$libc_cv_dot_text"; then ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++else ++ echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6 ++fi ++ ++echo "$as_me:$LINENO: checking for assembler global-symbol directive" >&5 ++echo $ECHO_N "checking for assembler global-symbol directive... $ECHO_C" >&6 ++if test "${libc_cv_asm_global_directive+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ libc_cv_asm_global_directive=UNKNOWN ++for ac_globl in .globl .global .EXPORT; do ++ cat > conftest.s <<EOF ++ ${libc_cv_dot_text} ++ ${ac_globl} foo ++foo: ++EOF ++ if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_asm_global_directive=${ac_globl} ++ fi ++ rm -f conftest* ++ test $libc_cv_asm_global_directive != UNKNOWN && break ++done ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_global_directive" >&5 ++echo "${ECHO_T}$libc_cv_asm_global_directive" >&6 ++if test $libc_cv_asm_global_directive = UNKNOWN; then ++ { { echo "$as_me:$LINENO: error: cannot determine asm global directive" >&5 ++echo "$as_me: error: cannot determine asm global directive" >&2;} ++ { (exit 1); exit 1; }; } ++else ++ cat >>confdefs.h <<_ACEOF ++@%:@define ASM_GLOBAL_DIRECTIVE ${libc_cv_asm_global_directive} ++_ACEOF ++ ++fi ++ ++echo "$as_me:$LINENO: checking for .set assembler directive" >&5 ++echo $ECHO_N "checking for .set assembler directive... $ECHO_C" >&6 ++if test "${libc_cv_asm_set_directive+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.s <<EOF ++${libc_cv_dot_text} ++foo: ++.set glibc_conftest_frobozz,foo ++$libc_cv_asm_global_directive glibc_conftest_frobozz ++EOF ++# The alpha-dec-osf1 assembler gives only a warning for `.set' ++# (but it doesn't work), so we must do a linking check to be sure. ++cat > conftest1.c <<\EOF ++extern int glibc_conftest_frobozz; ++void _start() { glibc_conftest_frobozz = 1; } ++EOF ++if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \ ++ -nostartfiles -nostdlib \ ++ -o conftest conftest.s conftest1.c 1>&5 2>&5; then ++ libc_cv_asm_set_directive=yes ++else ++ libc_cv_asm_set_directive=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_set_directive" >&5 ++echo "${ECHO_T}$libc_cv_asm_set_directive" >&6 ++if test $libc_cv_asm_set_directive = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_ASM_SET_DIRECTIVE 1 ++_ACEOF ++ ++fi ++ ++echo "$as_me:$LINENO: checking for assembler .type directive prefix" >&5 ++echo $ECHO_N "checking for assembler .type directive prefix... $ECHO_C" >&6 ++if test "${libc_cv_asm_type_prefix+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ libc_cv_asm_type_prefix=no ++for ac_try_prefix in '@' '%' '#'; do ++ cat > conftest.s <<EOF ++ ${libc_cv_dot_text} ++ ${libc_cv_asm_global_directive} foo ++ .type foo, ${ac_try_prefix}object ++ .size foo, 1 ++foo: ++ .byte 1 ++EOF ++ if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_asm_type_prefix=${ac_try_prefix} ++ fi ++ rm -f conftest* ++ test "x$libc_cv_asm_type_prefix" != xno && break ++done ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_type_prefix" >&5 ++echo "${ECHO_T}$libc_cv_asm_type_prefix" >&6 ++if test "x$libc_cv_asm_type_prefix" != xno; then ++ cat >>confdefs.h <<_ACEOF ++@%:@define ASM_TYPE_DIRECTIVE_PREFIX ${libc_cv_asm_type_prefix} ++_ACEOF ++ ++fi ++ ++# The Aix ld uses global .symbol_names instead of symbol_names. ++# Unfortunately also used in the PPC64 ELF ABI. ++case "${os}${machine}" in ++aix4.3* | linux*powerpc/powerpc64*) ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_ASM_GLOBAL_DOT_NAME 1 ++_ACEOF ++ ++esac ++ ++echo "$as_me:$LINENO: checking for .symver assembler directive" >&5 ++echo $ECHO_N "checking for .symver assembler directive... $ECHO_C" >&6 ++if test "${libc_cv_asm_symver_directive+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.s <<EOF ++${libc_cv_dot_text} ++_sym: ++.symver _sym,sym@VERS ++EOF ++if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5; then ++ libc_cv_asm_symver_directive=yes ++else ++ libc_cv_asm_symver_directive=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_symver_directive" >&5 ++echo "${ECHO_T}$libc_cv_asm_symver_directive" >&6 ++echo "$as_me:$LINENO: checking for ld --version-script" >&5 ++echo $ECHO_N "checking for ld --version-script... $ECHO_C" >&6 ++if test "${libc_cv_ld_version_script_option+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test $libc_cv_asm_symver_directive = yes; then ++ cat > conftest.s <<EOF ++${libc_cv_dot_text} ++_sym: ++.symver _sym,sym@VERS ++EOF ++ cat > conftest.map <<EOF ++VERS_1 { ++ global: sym; ++}; ++ ++VERS_2 { ++ global: sym; ++} VERS_1; ++EOF ++ if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5; then ++ if { ac_try='${CC-cc} $CFLAGS $LDFLAGS -shared ++ -o conftest.so conftest.o ++ -nostartfiles -nostdlib ++ -Wl,--version-script,conftest.map ++ 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; ++ then ++ libc_cv_ld_version_script_option=yes ++ else ++ libc_cv_ld_version_script_option=no ++ fi ++ else ++ libc_cv_ld_version_script_option=no ++ fi ++else ++ libc_cv_ld_version_script_option=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_ld_version_script_option" >&5 ++echo "${ECHO_T}$libc_cv_ld_version_script_option" >&6 ++if test $shared != no && ++ test $libc_cv_asm_symver_directive = yes && ++ test $libc_cv_ld_version_script_option = yes && ++ test $enable_versioning = yes; then ++ VERSIONING=yes ++ cat >>confdefs.h <<\_ACEOF ++@%:@define DO_VERSIONING 1 ++_ACEOF ++ ++else ++ VERSIONING=no ++fi ++ ++ ++if test $elf = yes && test $shared != no && test $VERSIONING = no; then ++ echo "\ ++*** WARNING: You should not compile GNU libc without versioning. Not using ++*** versioning will introduce incompatibilities so that old binaries ++*** will not run anymore. ++*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)." ++fi ++if test $elf = yes; then ++ echo "$as_me:$LINENO: checking for .previous assembler directive" >&5 ++echo $ECHO_N "checking for .previous assembler directive... $ECHO_C" >&6 ++if test "${libc_cv_asm_previous_directive+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.s <<EOF ++.section foo_section ++.previous ++EOF ++ if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_asm_previous_directive=yes ++ else ++ libc_cv_asm_previous_directive=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_previous_directive" >&5 ++echo "${ECHO_T}$libc_cv_asm_previous_directive" >&6 ++ if test $libc_cv_asm_previous_directive = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_ASM_PREVIOUS_DIRECTIVE 1 ++_ACEOF ++ ++ else ++ echo "$as_me:$LINENO: checking for .popsection assembler directive" >&5 ++echo $ECHO_N "checking for .popsection assembler directive... $ECHO_C" >&6 ++if test "${libc_cv_asm_popsection_directive+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.s <<EOF ++.pushsection foo_section ++.popsection ++EOF ++ if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_asm_popsection_directive=yes ++ else ++ libc_cv_asm_popsection_directive=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_popsection_directive" >&5 ++echo "${ECHO_T}$libc_cv_asm_popsection_directive" >&6 ++ if test $libc_cv_asm_popsection_directive = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_ASM_POPSECTION_DIRECTIVE 1 ++_ACEOF ++ ++ fi ++ fi ++ echo "$as_me:$LINENO: checking for .protected and .hidden assembler directive" >&5 ++echo $ECHO_N "checking for .protected and .hidden assembler directive... $ECHO_C" >&6 ++if test "${libc_cv_asm_protected_directive+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.s <<EOF ++.protected foo ++foo: ++.hidden bar ++bar: ++EOF ++ if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_asm_protected_directive=yes ++ else ++ libc_cv_asm_protected_directive=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_protected_directive" >&5 ++echo "${ECHO_T}$libc_cv_asm_protected_directive" >&6 ++ ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_PROTECTED 1 ++_ACEOF ++ ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_HIDDEN 1 ++_ACEOF ++ ++ ++ if test $libc_cv_asm_protected_directive = yes; then ++ echo "$as_me:$LINENO: checking whether __attribute__((visibility())) is supported" >&5 ++echo $ECHO_N "checking whether __attribute__((visibility())) is supported... $ECHO_C" >&6 ++if test "${libc_cv_visibility_attribute+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++ int foo __attribute__ ((visibility ("hidden"))) = 1; ++ int bar __attribute__ ((visibility ("protected"))) = 1; ++EOF ++ libc_cv_visibility_attribute=no ++ if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ if grep '\.hidden.*foo' conftest.s >/dev/null; then ++ if grep '\.protected.*bar' conftest.s >/dev/null; then ++ libc_cv_visibility_attribute=yes ++ fi ++ fi ++ fi ++ rm -f conftest.cs ++ ++fi ++echo "$as_me:$LINENO: result: $libc_cv_visibility_attribute" >&5 ++echo "${ECHO_T}$libc_cv_visibility_attribute" >&6 ++ if test $libc_cv_visibility_attribute = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_VISIBILITY_ATTRIBUTE 1 ++_ACEOF ++ ++ fi ++ fi ++ ++ if test $libc_cv_visibility_attribute = yes; then ++ echo "$as_me:$LINENO: checking for broken __attribute__((visibility()))" >&5 ++echo $ECHO_N "checking for broken __attribute__((visibility()))... $ECHO_C" >&6 ++if test "${libc_cv_broken_visibility_attribute+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++ int foo (int x); ++ int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden"))); ++ int bar (int x) { return x; } ++EOF ++ libc_cv_broken_visibility_attribute=yes ++ if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ if grep '\.hidden[ _]foo' conftest.s >/dev/null; then ++ libc_cv_broken_visibility_attribute=no ++ fi ++ fi ++ rm -f conftest.c conftest.s ++ ++fi ++echo "$as_me:$LINENO: result: $libc_cv_broken_visibility_attribute" >&5 ++echo "${ECHO_T}$libc_cv_broken_visibility_attribute" >&6 ++ if test $libc_cv_broken_visibility_attribute = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_BROKEN_VISIBILITY_ATTRIBUTE 1 ++_ACEOF ++ ++ fi ++ fi ++ ++ echo "$as_me:$LINENO: checking for broken __attribute__((alias()))" >&5 ++echo $ECHO_N "checking for broken __attribute__((alias()))... $ECHO_C" >&6 ++if test "${libc_cv_broken_alias_attribute+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++ extern int foo (int x) __asm ("xyzzy"); ++ int bar (int x) { return x; } ++ extern __typeof (bar) foo __attribute ((weak, alias ("bar"))); ++ extern int dfoo; ++ extern __typeof (dfoo) dfoo __asm ("abccb"); ++ int dfoo = 1; ++EOF ++ libc_cv_broken_alias_attribute=yes ++ if { ac_try='${CC-cc} -Werror -S conftest.c -o conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ if grep 'xyzzy' conftest.s >/dev/null && ++ grep 'abccb' conftest.s >/dev/null; then ++ libc_cv_broken_alias_attribute=no ++ fi ++ fi ++ rm -f conftest.c conftest.s ++ ++fi ++echo "$as_me:$LINENO: result: $libc_cv_broken_alias_attribute" >&5 ++echo "${ECHO_T}$libc_cv_broken_alias_attribute" >&6 ++ if test $libc_cv_broken_alias_attribute = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_BROKEN_ALIAS_ATTRIBUTE 1 ++_ACEOF ++ ++ fi ++ ++ if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then ++ echo "$as_me:$LINENO: checking whether to put _rtld_local into .sdata section" >&5 ++echo $ECHO_N "checking whether to put _rtld_local into .sdata section... $ECHO_C" >&6 ++if test "${libc_cv_have_sdata_section+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ echo "int i;" > conftest.c ++ libc_cv_have_sdata_section=no ++ if ${CC-cc} $LDFLAGS -shared -Wl,--verbose conftest.c -o conftest.so 2>&1 \ ++ | grep '\.sdata' >/dev/null; then ++ libc_cv_have_sdata_section=yes ++ fi ++ rm -f conftest.c conftest.so ++ ++fi ++echo "$as_me:$LINENO: result: $libc_cv_have_sdata_section" >&5 ++echo "${ECHO_T}$libc_cv_have_sdata_section" >&6 ++ if test $libc_cv_have_sdata_section = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_SDATA_SECTION 1 ++_ACEOF ++ ++ fi ++ fi ++ ++ echo "$as_me:$LINENO: checking for .preinit_array/.init_array/.fini_array support" >&5 ++echo $ECHO_N "checking for .preinit_array/.init_array/.fini_array support... $ECHO_C" >&6 ++if test "${libc_cv_initfinit_array+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++int _start (void) { return 0; } ++int __start (void) { return 0; } ++int foo (void) { return 1; } ++int (*fp) (void) __attribute__ ((section (".init_array"))) = foo; ++EOF ++ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c ++ -static -nostartfiles -nostdlib 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ if readelf -S conftest | fgrep INIT_ARRAY > /dev/null; then ++ libc_cv_initfinit_array=yes ++ else ++ libc_cv_initfinit_array=no ++ fi ++ else ++ libc_cv_initfinit_array=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_initfinit_array" >&5 ++echo "${ECHO_T}$libc_cv_initfinit_array" >&6 ++ ++ if test $libc_cv_initfinit_array = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_INITFINI_ARRAY 1 ++_ACEOF ++ ++ fi ++ ++ echo "$as_me:$LINENO: checking for -z nodelete option" >&5 ++echo $ECHO_N "checking for -z nodelete option... $ECHO_C" >&6 ++if test "${libc_cv_z_nodelete+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++int _start (void) { return 42; } ++EOF ++ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS ++ -shared -o conftest.so conftest.c ++ -nostartfiles -nostdlib ++ -Wl,--enable-new-dtags,-z,nodelete 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ libc_cv_z_nodelete=yes ++ else ++ libc_cv_z_nodelete=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_z_nodelete" >&5 ++echo "${ECHO_T}$libc_cv_z_nodelete" >&6 ++ ++ ++ echo "$as_me:$LINENO: checking for -z nodlopen option" >&5 ++echo $ECHO_N "checking for -z nodlopen option... $ECHO_C" >&6 ++if test "${libc_cv_z_nodlopen+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++int _start (void) { return 42; } ++EOF ++ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS ++ -shared -o conftest.so conftest.c ++ -nostartfiles -nostdlib ++ -Wl,--enable-new-dtags,-z,nodlopen 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ libc_cv_z_nodlopen=yes ++ else ++ libc_cv_z_nodlopen=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_z_nodlopen" >&5 ++echo "${ECHO_T}$libc_cv_z_nodlopen" >&6 ++ ++ ++ echo "$as_me:$LINENO: checking for -z initfirst option" >&5 ++echo $ECHO_N "checking for -z initfirst option... $ECHO_C" >&6 ++if test "${libc_cv_z_initfirst+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++int _start (void) { return 42; } ++EOF ++ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS ++ -shared -o conftest.so conftest.c ++ -nostartfiles -nostdlib ++ -Wl,--enable-new-dtags,-z,initfirst 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ libc_cv_z_initfirst=yes ++ else ++ libc_cv_z_initfirst=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_z_initfirst" >&5 ++echo "${ECHO_T}$libc_cv_z_initfirst" >&6 ++ ++ ++ echo "$as_me:$LINENO: checking for -Bgroup option" >&5 ++echo $ECHO_N "checking for -Bgroup option... $ECHO_C" >&6 ++if test "${libc_cv_Bgroup+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++int _start (void) { return 42; } ++EOF ++ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS ++ -shared -o conftest.so conftest.c ++ -Wl,-Bgroup -nostdlib 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ libc_cv_Bgroup=yes ++ else ++ libc_cv_Bgroup=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_Bgroup" >&5 ++echo "${ECHO_T}$libc_cv_Bgroup" >&6 ++ ++ ++ ASFLAGS_config= ++ echo "$as_me:$LINENO: checking whether --noexecstack is desirable for .S files" >&5 ++echo $ECHO_N "checking whether --noexecstack is desirable for .S files... $ECHO_C" >&6 ++if test "${libc_cv_as_noexecstack+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++void foo (void) { } ++EOF ++ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS ++ -S -o conftest.s conftest.c 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } \ ++ && grep -q .note.GNU-stack conftest.s \ ++ && { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -Wa,--noexecstack ++ -c -o conftest.o conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ libc_cv_as_noexecstack=yes ++ else ++ libc_cv_as_noexecstack=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_as_noexecstack" >&5 ++echo "${ECHO_T}$libc_cv_as_noexecstack" >&6 ++ if test $libc_cv_as_noexecstack = yes; then ++ ASFLAGS_config="$ASFLAGS_config -Wa,--noexecstack" ++ fi ++ ++ echo "$as_me:$LINENO: checking for -z combreloc" >&5 ++echo $ECHO_N "checking for -z combreloc... $ECHO_C" >&6 ++if test "${libc_cv_z_combreloc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++extern int bar (int); ++extern int mumble; ++int foo (void) { return bar (mumble); } ++EOF ++ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS ++ -shared -o conftest.so conftest.c ++ -nostdlib -nostartfiles ++ -Wl,-z,combreloc 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++ then ++ if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then ++ libc_cv_z_combreloc=yes ++ else ++ libc_cv_z_combreloc=no ++ fi ++ else ++ libc_cv_z_combreloc=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_z_combreloc" >&5 ++echo "${ECHO_T}$libc_cv_z_combreloc" >&6 ++ if test "$libc_cv_z_combreloc" = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_Z_COMBRELOC 1 ++_ACEOF ++ ++ fi ++fi ++ ++ ++if test $elf != yes; then ++ echo "$as_me:$LINENO: checking for .init and .fini sections" >&5 ++echo $ECHO_N "checking for .init and .fini sections... $ECHO_C" >&6 ++if test "${libc_cv_have_initfini+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++asm (".section .init"); ++ asm (".section .fini"); ++ asm ("${libc_cv_dot_text}"); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_have_initfini=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++libc_cv_have_initfini=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $libc_cv_have_initfini" >&5 ++echo "${ECHO_T}$libc_cv_have_initfini" >&6 ++ if test $libc_cv_have_initfini = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_INITFINI 1 ++_ACEOF ++ ++ fi ++fi ++ ++if test $elf = yes -a $gnu_ld = yes; then ++ echo "$as_me:$LINENO: checking whether cc puts quotes around section names" >&5 ++echo $ECHO_N "checking whether cc puts quotes around section names... $ECHO_C" >&6 ++if test "${libc_cv_have_section_quotes+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++ static const int foo ++ __attribute__ ((section ("bar"))) = 1; ++EOF ++ if ${CC-cc} -S conftest.c -o conftest.s; then ++ if grep '\.section.*"bar"' conftest.s >/dev/null; then ++ libc_cv_have_section_quotes=yes ++ else ++ libc_cv_have_section_quotes=no ++ fi ++ else ++ libc_cv_have_section_quotes=unknown ++ fi ++ rm -f conftest.cs ++ ++fi ++echo "$as_me:$LINENO: result: $libc_cv_have_section_quotes" >&5 ++echo "${ECHO_T}$libc_cv_have_section_quotes" >&6 ++ if test $libc_cv_have_section_quotes = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_SECTION_QUOTES 1 ++_ACEOF ++ ++ fi ++fi ++ ++ ++ ++if test $elf = yes; then ++ libc_cv_asm_underscores=no ++else ++ if test $ac_cv_prog_cc_works = yes; then ++ echo "$as_me:$LINENO: checking for _ prefix on C symbol names" >&5 ++echo $ECHO_N "checking for _ prefix on C symbol names... $ECHO_C" >&6 ++if test "${libc_cv_asm_underscores+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++asm ("_glibc_foobar:"); ++int ++main () ++{ ++glibc_foobar (); ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_asm_underscores=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++libc_cv_asm_underscores=no ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_underscores" >&5 ++echo "${ECHO_T}$libc_cv_asm_underscores" >&6 ++ else ++ echo "$as_me:$LINENO: checking for _ prefix on C symbol names" >&5 ++echo $ECHO_N "checking for _ prefix on C symbol names... $ECHO_C" >&6 ++if test "${libc_cv_asm_underscores+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.$ac_ext <<EOF ++#line $LINENO "configure" ++#include "confdefs.h" ++void underscore_test(void) { ++return; } ++EOF ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; then ++ if grep _underscore_test conftest* >/dev/null; then ++ rm -f conftest* ++ libc_cv_asm_underscores=yes ++ else ++ rm -f conftest* ++ libc_cv_asm_underscores=no ++ fi ++else ++ echo "configure: failed program was:" >&5 ++ cat conftest.$ac_ext >&5 ++ rm -f conftest* ++ libc_cv_asm_underscores=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_underscores" >&5 ++echo "${ECHO_T}$libc_cv_asm_underscores" >&6 ++ fi ++fi ++if test $libc_cv_asm_underscores = no; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define NO_UNDERSCORES 1 ++_ACEOF ++ ++fi ++ ++if test $elf = yes; then ++ libc_cv_weak_symbols=yes ++fi ++ ++echo "$as_me:$LINENO: checking for assembler .weak directive" >&5 ++echo $ECHO_N "checking for assembler .weak directive... $ECHO_C" >&6 ++if test "${libc_cv_asm_weak_directive+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.s <<EOF ++${libc_cv_dot_text} ++${libc_cv_asm_global_directive} foo ++foo: ++.weak foo ++.weak bar; bar = foo ++EOF ++if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_asm_weak_directive=yes ++else ++ libc_cv_asm_weak_directive=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_weak_directive" >&5 ++echo "${ECHO_T}$libc_cv_asm_weak_directive" >&6 ++ ++if test $libc_cv_asm_weak_directive = no; then ++ echo "$as_me:$LINENO: checking for assembler .weakext directive" >&5 ++echo $ECHO_N "checking for assembler .weakext directive... $ECHO_C" >&6 ++if test "${libc_cv_asm_weakext_directive+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.s <<EOF ++${libc_cv_dot_text} ++${libc_cv_asm_global_directive} foo ++foo: ++.weakext bar foo ++.weakext baz ++${libc_cv_asm_global_directive} baz ++baz: ++EOF ++ if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_asm_weakext_directive=yes ++ else ++ libc_cv_asm_weakext_directive=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_weakext_directive" >&5 ++echo "${ECHO_T}$libc_cv_asm_weakext_directive" >&6 ++ ++fi # no .weak ++ ++if test $libc_cv_asm_weak_directive = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_ASM_WEAK_DIRECTIVE 1 ++_ACEOF ++ ++elif test $libc_cv_asm_weakext_directive = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_ASM_WEAKEXT_DIRECTIVE 1 ++_ACEOF ++ ++fi ++ ++case "${host_cpu}-${host_os}" in ++ cris*) ++ libc_cv_asm_line_sep='@' ++ cat >>confdefs.h <<_ACEOF ++@%:@define ASM_LINE_SEP $libc_cv_asm_line_sep ++_ACEOF ++ ++ ;; ++ hppa*linux*) ++ echo "$as_me:$LINENO: checking for assembler line separator" >&5 ++echo $ECHO_N "checking for assembler line separator... $ECHO_C" >&6 ++if test "${libc_cv_asm_line_sep+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.s <<EOF ++ nop ; is_old_puffin ++EOF ++ if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_asm_line_sep='!' ++ else ++ if test -z "$enable_hacker_mode"; then ++ echo "*** You need a newer assembler to compile glibc" ++ rm -f conftest* ++ exit 1 ++ fi ++ libc_cv_asm_line_sep=';' ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_line_sep" >&5 ++echo "${ECHO_T}$libc_cv_asm_line_sep" >&6 ++ cat >>confdefs.h <<_ACEOF ++@%:@define ASM_LINE_SEP $libc_cv_asm_line_sep ++_ACEOF ++ ++ ;; ++esac ++ ++echo "$as_me:$LINENO: checking whether CFI directives are supported" >&5 ++echo $ECHO_N "checking whether CFI directives are supported... $ECHO_C" >&6 ++if test "${libc_cv_asm_cfi_directives+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.s <<EOF ++ .text ++ .type func,@function ++func: ++ .cfi_startproc ++ .cfi_remember_state ++ .cfi_rel_offset 1, 0 ++ .cfi_endproc ++EOF ++if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_asm_cfi_directives=yes ++else ++ libc_cv_asm_cfi_directives=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_asm_cfi_directives" >&5 ++echo "${ECHO_T}$libc_cv_asm_cfi_directives" >&6 ++if test $libc_cv_asm_cfi_directives = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_ASM_CFI_DIRECTIVES 1 ++_ACEOF ++ ++fi ++ ++echo "$as_me:$LINENO: checking if -g produces usable source locations for assembler-with-cpp" >&5 ++echo $ECHO_N "checking if -g produces usable source locations for assembler-with-cpp... $ECHO_C" >&6 ++if test "${libc_cv_cpp_asm_debuginfo+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.S <<EOF ++#include "confdefs.h" ++ ++/* comment on ++ two lines */ ++ ${libc_cv_dot_text} ++ ${libc_cv_asm_global_directive} foo ++foo: ++ /* Unfortunately this test only works for a real instruction, ++ not for any of the machine-independent pseudo-ops. ++ So we just have to assume everybody has a "nop". */ ++ nop ++ /* comment */ ++ nop ++ /* comment */ ++ nop ++EOF ++if { ac_try='${CC-cc} $CPPFLAGS $ASFLAGS -g -c conftest.S 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } && ++ ac_pattern='conftest\.S' ++ { ac_try='readelf --debug-dump=line conftest.o | ++ grep $ac_pattern 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_cpp_asm_debuginfo=yes ++else ++ libc_cv_cpp_asm_debuginfo=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_cpp_asm_debuginfo" >&5 ++echo "${ECHO_T}$libc_cv_cpp_asm_debuginfo" >&6 ++if test $libc_cv_cpp_asm_debuginfo = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_CPP_ASM_DEBUGINFO 1 ++_ACEOF ++ ++fi ++ ++echo "$as_me:$LINENO: checking for ld --no-whole-archive" >&5 ++echo $ECHO_N "checking for ld --no-whole-archive... $ECHO_C" >&6 ++if test "${libc_cv_ld_no_whole_archive+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<\EOF ++_start () {} ++int __eh_pc; ++__throw () {} ++EOF ++if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS ++ -nostdlib -nostartfiles -Wl,--no-whole-archive ++ -o conftest conftest.c 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_ld_no_whole_archive=yes ++else ++ libc_cv_ld_no_whole_archive=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_ld_no_whole_archive" >&5 ++echo "${ECHO_T}$libc_cv_ld_no_whole_archive" >&6 ++if test $libc_cv_ld_no_whole_archive = yes; then ++ no_whole_archive=-Wl,--no-whole-archive ++fi ++ ++echo "$as_me:$LINENO: checking for gcc -fexceptions" >&5 ++echo $ECHO_N "checking for gcc -fexceptions... $ECHO_C" >&6 ++if test "${libc_cv_gcc_exceptions+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<\EOF ++_start () {} ++int __eh_pc; ++__throw () {} ++EOF ++if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS ++ -nostdlib -nostartfiles -fexceptions ++ -o conftest conftest.c 1>&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_gcc_exceptions=yes ++else ++ libc_cv_gcc_exceptions=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_gcc_exceptions" >&5 ++echo "${ECHO_T}$libc_cv_gcc_exceptions" >&6 ++if test $libc_cv_gcc_exceptions = yes; then ++ exceptions=-fexceptions ++fi ++ ++if test "$host_cpu" = powerpc ; then ++# Check for a bug present in at least versions 2.8.x of GCC ++# and versions 1.0.x of EGCS. ++echo "$as_me:$LINENO: checking whether clobbering cr0 causes problems" >&5 ++echo $ECHO_N "checking whether clobbering cr0 causes problems... $ECHO_C" >&6 ++if test "${libc_cv_c_asmcr0_bug+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++int tester(int x) { asm ("" : : : "cc"); return x & 123; } ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_c_asmcr0_bug='no' ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++libc_cv_c_asmcr0_bug='yes' ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $libc_cv_c_asmcr0_bug" >&5 ++echo "${ECHO_T}$libc_cv_c_asmcr0_bug" >&6 ++if test "$libc_cv_c_asmcr0_bug" != 'no'; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define BROKEN_PPC_ASM_CR0 1 ++_ACEOF ++ ++fi ++fi ++ ++echo "$as_me:$LINENO: checking for DWARF2 unwind info support" >&5 ++echo $ECHO_N "checking for DWARF2 unwind info support... $ECHO_C" >&6 ++if test "${libc_cv_gcc_dwarf2_unwind_info+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++#line $LINENO "configure" ++static char *__EH_FRAME_BEGIN__; ++_start () ++{ ++#ifdef CHECK__register_frame ++ __register_frame (__EH_FRAME_BEGIN__); ++ __deregister_frame (__EH_FRAME_BEGIN__); ++#endif ++#ifdef CHECK__register_frame_info ++ __register_frame_info (__EH_FRAME_BEGIN__); ++ __deregister_frame_info (__EH_FRAME_BEGIN__); ++#endif ++} ++int __eh_pc; ++__throw () {} ++/* FIXME: this is fragile. */ ++malloc () {} ++strcmp () {} ++strlen () {} ++memcpy () {} ++memset () {} ++free () {} ++abort () {} ++__bzero () {} ++dl_iterate_phdr () {} ++EOF ++libc_unwind_check="${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame_info \ ++ $LDFLAGS \ ++ -nostdlib -nostartfiles -o conftest conftest.c \ ++ -lgcc" ++# Some platforms' specs put -lgcc first. The second one doesn't hurt. ++if { ac_try='$libc_unwind_check >&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } || ++ { ac_try='$libc_unwind_check -lgcc_eh -lgcc >&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; } ++then ++ if $libc_unwind_check -v 2>&1 >/dev/null \ ++ | grep -q -- --eh-frame-hdr; then ++ libc_cv_gcc_dwarf2_unwind_info=no_registry_needed ++ else ++ libc_cv_gcc_dwarf2_unwind_info=static ++ fi ++else ++ libc_cv_gcc_dwarf2_unwind_info=no ++fi ++if test $libc_cv_gcc_dwarf2_unwind_info = no; then ++ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame ++ $LDFLAGS -nostdlib -nostartfiles ++ -o conftest conftest.c -lgcc >&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_gcc_dwarf2_unwind_info=yes ++ else ++ libc_cv_gcc_dwarf2_unwind_info=no ++ fi ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_gcc_dwarf2_unwind_info" >&5 ++echo "${ECHO_T}$libc_cv_gcc_dwarf2_unwind_info" >&6 ++case $libc_cv_gcc_dwarf2_unwind_info in ++yes) ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_DWARF2_UNWIND_INFO 1 ++_ACEOF ++ ++ ;; ++static) ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_DWARF2_UNWIND_INFO 1 ++_ACEOF ++ ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_DWARF2_UNWIND_INFO_STATIC 1 ++_ACEOF ++ ++ ;; ++esac ++ ++echo "$as_me:$LINENO: checking for __builtin_expect" >&5 ++echo $ECHO_N "checking for __builtin_expect... $ECHO_C" >&6 ++if test "${libc_cv_gcc_builtin_expect+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++#line $LINENO "configure" ++int foo (int a) ++{ ++ a = __builtin_expect (a, 10); ++ return a == 10 ? 0 : 1; ++} ++EOF ++if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles ++ -o conftest conftest.c -lgcc >&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_gcc_builtin_expect=yes ++else ++ libc_cv_gcc_builtin_expect=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_gcc_builtin_expect" >&5 ++echo "${ECHO_T}$libc_cv_gcc_builtin_expect" >&6 ++if test "$libc_cv_gcc_builtin_expect" = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_BUILTIN_EXPECT 1 ++_ACEOF ++ ++fi ++ ++echo "$as_me:$LINENO: checking for __builtin_memset" >&5 ++echo $ECHO_N "checking for __builtin_memset... $ECHO_C" >&6 ++if test "${libc_cv_gcc_builtin_memset+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<\EOF ++void zero (void *x) ++{ ++ __builtin_memset (x, 0, 1000); ++} ++EOF ++if { ac_try='${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; ++then ++ libc_cv_gcc_builtin_memset=no ++else ++ libc_cv_gcc_builtin_memset=yes ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_gcc_builtin_memset" >&5 ++echo "${ECHO_T}$libc_cv_gcc_builtin_memset" >&6 ++if test "$libc_cv_gcc_builtin_memset" = yes ; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_BUILTIN_MEMSET 1 ++_ACEOF ++ ++fi ++ ++echo "$as_me:$LINENO: checking for redirection of built-in functions" >&5 ++echo $ECHO_N "checking for redirection of built-in functions... $ECHO_C" >&6 ++if test "${libc_cv_gcc_builtin_redirection+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<\EOF ++extern char *strstr (const char *, const char *) __asm ("my_strstr"); ++char *foo (const char *a, const char *b) ++{ ++ return __builtin_strstr (a, b); ++} ++EOF ++if { ac_try='${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; ++then ++ libc_cv_gcc_builtin_redirection=yes ++else ++ libc_cv_gcc_builtin_redirection=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_gcc_builtin_redirection" >&5 ++echo "${ECHO_T}$libc_cv_gcc_builtin_redirection" >&6 ++if test "$libc_cv_gcc_builtin_redirection" = yes ; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_BUILTIN_REDIRECTION 1 ++_ACEOF ++ ++fi ++ ++echo "$as_me:$LINENO: checking for local label subtraction" >&5 ++echo $ECHO_N "checking for local label subtraction... $ECHO_C" >&6 ++if test "${libc_cv_gcc_subtract_local_labels+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<EOF ++#line $LINENO "configure" ++int foo (int a) ++{ ++ static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 }; ++ void *p = &&l1 + ar[a]; ++ goto *p; ++ l1: ++ return 1; ++ l2: ++ return 2; ++} ++EOF ++if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles ++ -o conftest conftest.c -lgcc >&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_gcc_subtract_local_labels=yes ++else ++ libc_cv_gcc_subtract_local_labels=no ++fi ++rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_gcc_subtract_local_labels" >&5 ++echo "${ECHO_T}$libc_cv_gcc_subtract_local_labels" >&6 ++if test "$libc_cv_gcc_subtract_local_labels" = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_SUBTRACT_LOCAL_LABELS 1 ++_ACEOF ++ ++fi ++ ++if test "x$use__thread" != xno; then ++ echo "$as_me:$LINENO: checking for __thread" >&5 ++echo $ECHO_N "checking for __thread... $ECHO_C" >&6 ++if test "${libc_cv_gcc___thread+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<\EOF ++__thread int a = 42; ++EOF ++ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -c conftest.c >&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_gcc___thread=yes ++ else ++ libc_cv_gcc___thread=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_gcc___thread" >&5 ++echo "${ECHO_T}$libc_cv_gcc___thread" >&6 ++ if test "$libc_cv_gcc___thread" = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE___THREAD 1 ++_ACEOF ++ ++ fi ++else ++ libc_cv_gcc___thread=no ++fi ++ ++if test "$libc_cv_gcc___thread" = yes; then ++ echo "$as_me:$LINENO: checking for tls_model attribute" >&5 ++echo $ECHO_N "checking for tls_model attribute... $ECHO_C" >&6 ++if test "${libc_cv_gcc_tls_model_attr+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat > conftest.c <<\EOF ++extern __thread int a __attribute__((tls_model ("initial-exec"))); ++EOF ++ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -S -Werror conftest.c >&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ libc_cv_gcc_tls_model_attr=yes ++ else ++ libc_cv_gcc_tls_model_attr=no ++ fi ++ rm -f conftest* ++fi ++echo "$as_me:$LINENO: result: $libc_cv_gcc_tls_model_attr" >&5 ++echo "${ECHO_T}$libc_cv_gcc_tls_model_attr" >&6 ++ if test "$libc_cv_gcc_tls_model_attr" = yes; then ++ cat >>confdefs.h <<\_ACEOF ++@%:@define HAVE_TLS_MODEL_ATTRIBUTE 1 ++_ACEOF ++ ++ fi ++fi ++ ++echo "$as_me:$LINENO: checking for libgd" >&5 ++echo $ECHO_N "checking for libgd... $ECHO_C" >&6 ++if test "$with_gd" != "no"; then ++ old_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $libgd_include" ++ old_LDFLAGS="$LDFLAGS" ++ LDFLAGS="$LDFLAGS $libgd_ldflags" ++ old_LIBS="$LIBS" ++ LIBS="$LIBS -lgd -lpng -lz -lm" ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <gd.h> ++int ++main () ++{ ++gdImagePng (0, 0) ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ LIBGD=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++LIBGD=no ++fi ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ++ CFLAGS="$old_CFLAGS" ++ LDFLAGS="$old_LDFLAGS" ++ LIBS="$old_LIBS" ++else ++ LIBGD=no ++fi ++echo "$as_me:$LINENO: result: $LIBGD" >&5 ++echo "${ECHO_T}$LIBGD" >&6 ++ ++ ++ ++echo "$as_me:$LINENO: checking for egrep" >&5 ++echo $ECHO_N "checking for egrep... $ECHO_C" >&6 ++if test "${ac_cv_prog_egrep+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if echo a | (grep -E '(a|b)') >/dev/null 2>&1 ++ then ac_cv_prog_egrep='grep -E' ++ else ac_cv_prog_egrep='egrep' ++ fi ++fi ++echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 ++echo "${ECHO_T}$ac_cv_prog_egrep" >&6 ++ EGREP=$ac_cv_prog_egrep ++ ++ ++echo "$as_me:$LINENO: checking for ANSI C header files" >&5 ++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 ++if test "${ac_cv_header_stdc+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <stdlib.h> ++#include <stdarg.h> ++#include <string.h> ++#include <float.h> ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_header_stdc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_header_stdc=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ ++if test $ac_cv_header_stdc = yes; then ++ # SunOS 4.x string.h does not declare mem*, contrary to ANSI. ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <string.h> ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "memchr" >/dev/null 2>&1; then ++ : ++else ++ ac_cv_header_stdc=no ++fi ++rm -f conftest* ++ ++fi ++ ++if test $ac_cv_header_stdc = yes; then ++ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <stdlib.h> ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "free" >/dev/null 2>&1; then ++ : ++else ++ ac_cv_header_stdc=no ++fi ++rm -f conftest* ++ ++fi ++ ++if test $ac_cv_header_stdc = yes; then ++ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. ++ if test "$cross_compiling" = yes; then ++ : ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <ctype.h> ++#if ((' ' & 0x0FF) == 0x020) ++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') ++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) ++#else ++# define ISLOWER(c) \ ++ (('a' <= (c) && (c) <= 'i') \ ++ || ('j' <= (c) && (c) <= 'r') \ ++ || ('s' <= (c) && (c) <= 'z')) ++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) ++#endif ++ ++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) ++int ++main () ++{ ++ int i; ++ for (i = 0; i < 256; i++) ++ if (XOR (islower (i), ISLOWER (i)) ++ || toupper (i) != TOUPPER (i)) ++ exit(2); ++ exit (0); ++} ++_ACEOF ++rm -f conftest$ac_exeext ++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ++ (eval $ac_link) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ : ++else ++ echo "$as_me: program exited with status $ac_status" >&5 ++echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++( exit $ac_status ) ++ac_cv_header_stdc=no ++fi ++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ++fi ++fi ++fi ++echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 ++echo "${ECHO_T}$ac_cv_header_stdc" >&6 ++if test $ac_cv_header_stdc = yes; then ++ ++cat >>confdefs.h <<\_ACEOF ++@%:@define STDC_HEADERS 1 ++_ACEOF ++ ++fi ++ ++# On IRIX 5.3, sys/types and inttypes.h are conflicting. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ ++ inttypes.h stdint.h unistd.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ++if eval "test \"\${$as_ac_Header+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++ ++@%:@include <$ac_header> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ eval "$as_ac_Header=yes" ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++eval "$as_ac_Header=no" ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++ ++done ++ ++ ++echo "$as_me:$LINENO: checking for long double" >&5 ++echo $ECHO_N "checking for long double... $ECHO_C" >&6 ++if test "${ac_cv_type_long_double+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++if ((long double *) 0) ++ return 0; ++if (sizeof (long double)) ++ return 0; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_cv_type_long_double=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_cv_type_long_double=no ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++fi ++echo "$as_me:$LINENO: result: $ac_cv_type_long_double" >&5 ++echo "${ECHO_T}$ac_cv_type_long_double" >&6 ++ ++echo "$as_me:$LINENO: checking size of long double" >&5 ++echo $ECHO_N "checking size of long double... $ECHO_C" >&6 ++if test "${ac_cv_sizeof_long_double+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ if test "$ac_cv_type_long_double" = yes; then ++ # The cast to unsigned long works around a bug in the HP C Compiler ++ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects ++ # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. ++ # This bug is HP SR number 8606223364. ++ if test "$cross_compiling" = yes; then ++ # Depending upon the size, compute the lo and hi bounds. ++cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array @<:@1 - 2 * !(((long) (sizeof (long double))) >= 0)@:>@; ++test_array @<:@0@:>@ = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_lo=0 ac_mid=0 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array @<:@1 - 2 * !(((long) (sizeof (long double))) <= $ac_mid)@:>@; ++test_array @<:@0@:>@ = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_hi=$ac_mid; break ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ac_lo=`expr $ac_mid + 1` ++ if test $ac_lo -le $ac_mid; then ++ ac_lo= ac_hi= ++ break ++ fi ++ ac_mid=`expr 2 '*' $ac_mid + 1` ++fi ++rm -f conftest.$ac_objext conftest.$ac_ext ++ done ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array @<:@1 - 2 * !(((long) (sizeof (long double))) < 0)@:>@; ++test_array @<:@0@:>@ = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_hi=-1 ac_mid=-1 ++ while :; do ++ cat >conftest.$ac_ext <<_ACEOF ++#line $LINENO "configure" ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static int test_array @<:@1 - 2 * !(((long) (sizeof (long double))) >= $ac_mid)@:>@; ++test_array @<:@0@:>@ = 0 ++ ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ++ (eval $ac_compile) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ { ac_try='test -s conftest.$ac_objext' ++ { |