diff options
Diffstat (limited to 'packages/glibc/glibc-2.3.2/glibc-2.3.2-200304020432.patch')
-rw-r--r-- | packages/glibc/glibc-2.3.2/glibc-2.3.2-200304020432.patch | 136135 |
1 files changed, 136135 insertions, 0 deletions
diff --git a/packages/glibc/glibc-2.3.2/glibc-2.3.2-200304020432.patch b/packages/glibc/glibc-2.3.2/glibc-2.3.2-200304020432.patch index e69de29bb2..2fcd1f2da6 100644 --- a/packages/glibc/glibc-2.3.2/glibc-2.3.2-200304020432.patch +++ b/packages/glibc/glibc-2.3.2/glibc-2.3.2-200304020432.patch @@ -0,0 +1,136135 @@ +diff -u -udbrN glibc-2.3.2/ChangeLog glibc-2.3.2-200304020432/ChangeLog +--- glibc-2.3.2/ChangeLog Sat Mar 1 02:10:14 2003 ++++ glibc-2.3.2-200304020432/ChangeLog Wed Apr 2 06:00:15 2003 +@@ -1,3 +1,1581 @@ ++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. +diff -u -udbrN glibc-2.3.2/Makeconfig glibc-2.3.2-200304020432/Makeconfig +--- glibc-2.3.2/Makeconfig Mon Jan 6 06:31:36 2003 ++++ glibc-2.3.2-200304020432/Makeconfig Sun Mar 23 12:17:13 2003 +@@ -621,7 +621,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. +@@ -716,6 +716,12 @@ + 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)) ++endif ++endif + + +gnu-stabs = $(shell echo>&2 '*** BARF ON ME') + +diff -u -udbrN glibc-2.3.2/Makefile glibc-2.3.2-200304020432/Makefile +--- glibc-2.3.2/Makefile Fri Feb 21 07:22:51 2003 ++++ glibc-2.3.2-200304020432/Makefile Fri Mar 28 02:13:00 2003 +@@ -274,6 +274,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 +283,10 @@ + 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 abilist/*.abilist) + + distribute := $(strip $(distribute)) + generated := $(generated) stubs.h +@@ -316,12 +320,6 @@ + $(MAKE) $(PARALLELMFLAGS) -C $(@D) $(@F) + + 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 +diff -u -udbrN glibc-2.3.2/Makerules glibc-2.3.2-200304020432/Makerules +--- glibc-2.3.2/Makerules Sun Feb 23 00:23:31 2003 ++++ glibc-2.3.2-200304020432/Makerules Thu Mar 27 10:47:53 2003 +@@ -396,8 +396,10 @@ + + # 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. +@@ -1188,15 +1190,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 +1221,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,15 +1243,20 @@ + 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. +@@ -1370,13 +1385,15 @@ + .PHONY: stubs # The parent Makefile calls this target. + stubs: $(objpfx)stubs + endif +-s = $(sysdep_dir)/generic + $(objpfx)stubs: $(+depfiles) + # Use /dev/null since `...` might expand to empty. +- (s=`cd $s && $(PWD_P)`; \ ++ (s=`cd $(sysdep_dir) && $(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; }' \ ++ `sed -n -e 's@$(sysdep_dir)/@'"$$s"'/@g' \ ++ -e 's@\$$(common-objpfx)@$(..)@g' -e 's@\$$(objpfx)@@g' \ ++ -e '/: *[^ ]/{s@^.*: *\([^ ]*\) .*$$@\1@; h; }' \ ++ -e '/:$$/d' \ + -e '/stub-tag\.h/{; g; p; }' \ + $(patsubst $(objpfx)%,%,$^) /dev/null` \ + /dev/null) > $@T +diff -u -udbrN glibc-2.3.2/NEWS glibc-2.3.2-200304020432/NEWS +--- glibc-2.3.2/NEWS Mon Jan 13 10:26:13 2003 ++++ glibc-2.3.2-200304020432/NEWS Sun Mar 16 00:16:13 2003 +@@ -1,9 +1,17 @@ +-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-3-15 ++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. + + Version 2.3.2 + +diff -u -udbrN glibc-2.3.2/README-alpha glibc-2.3.2-200304020432/README-alpha +--- glibc-2.3.2/README-alpha Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/README-alpha Thu May 13 12:22:39 1999 +@@ -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 +diff -u -udbrN glibc-2.3.2/README.template glibc-2.3.2-200304020432/README.template +--- glibc-2.3.2/README.template Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/README.template Wed Oct 2 23:16:42 2002 +@@ -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. +diff -u -udbrN glibc-2.3.2/Versions.def glibc-2.3.2-200304020432/Versions.def +--- glibc-2.3.2/Versions.def Tue Dec 10 20:05:17 2002 ++++ glibc-2.3.2-200304020432/Versions.def Tue Mar 25 21:28:24 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/ld.abilist glibc-2.3.2-200304020432/abilist/ld.abilist +--- glibc-2.3.2/abilist/ld.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/ld.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libBrokenLocale.abilist glibc-2.3.2-200304020432/abilist/libBrokenLocale.abilist +--- glibc-2.3.2/abilist/libBrokenLocale.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libBrokenLocale.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libanl.abilist glibc-2.3.2-200304020432/abilist/libanl.abilist +--- glibc-2.3.2/abilist/libanl.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libanl.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libc.abilist glibc-2.3.2-200304020432/abilist/libc.abilist +--- glibc-2.3.2/abilist/libc.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libc.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libcrypt.abilist glibc-2.3.2-200304020432/abilist/libcrypt.abilist +--- glibc-2.3.2/abilist/libcrypt.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libcrypt.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libdl.abilist glibc-2.3.2-200304020432/abilist/libdl.abilist +--- glibc-2.3.2/abilist/libdl.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libdl.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libm.abilist glibc-2.3.2-200304020432/abilist/libm.abilist +--- glibc-2.3.2/abilist/libm.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libm.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libnsl.abilist glibc-2.3.2-200304020432/abilist/libnsl.abilist +--- glibc-2.3.2/abilist/libnsl.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libnsl.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libpthread.abilist glibc-2.3.2-200304020432/abilist/libpthread.abilist +--- glibc-2.3.2/abilist/libpthread.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libpthread.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libresolv.abilist glibc-2.3.2-200304020432/abilist/libresolv.abilist +--- glibc-2.3.2/abilist/libresolv.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libresolv.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/librt.abilist glibc-2.3.2-200304020432/abilist/librt.abilist +--- glibc-2.3.2/abilist/librt.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/librt.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libthread_db.abilist glibc-2.3.2-200304020432/abilist/libthread_db.abilist +--- glibc-2.3.2/abilist/libthread_db.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libthread_db.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/abilist/libutil.abilist glibc-2.3.2-200304020432/abilist/libutil.abilist +--- glibc-2.3.2/abilist/libutil.abilist Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/abilist/libutil.abilist Wed Apr 2 06:39:52 2003 +@@ -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 +diff -u -udbrN glibc-2.3.2/argp/tst-argp1.c glibc-2.3.2-200304020432/argp/tst-argp1.c +--- glibc-2.3.2/argp/tst-argp1.c Wed Dec 4 23:45:02 2002 ++++ glibc-2.3.2-200304020432/argp/tst-argp1.c Mon Mar 17 20:21:04 2003 +@@ -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" +diff -u -udbrN glibc-2.3.2/config.h.in glibc-2.3.2-200304020432/config.h.in +--- glibc-2.3.2/config.h.in Tue Feb 4 09:35:22 2003 ++++ glibc-2.3.2-200304020432/config.h.in Mon Mar 10 10:10:43 2003 +@@ -58,6 +58,9 @@ + /* Define a symbol_name as a global .symbol_name for ld. */ + #undef HAVE_ASM_GLOBAL_DOT_NAME + ++/* Define if the assembler generates debugging information directly. */ ++#undef HAVE_CPP_ASM_DEBUGINFO ++ + /* Define if _Unwind_Find_FDE should be exported from glibc. */ + #undef EXPORT_UNWIND_FIND_FDE + +diff -u -udbrN glibc-2.3.2/config.make.in glibc-2.3.2-200304020432/config.make.in +--- glibc-2.3.2/config.make.in Thu Nov 14 23:53:32 2002 ++++ glibc-2.3.2-200304020432/config.make.in Wed Mar 26 02:15:05 2003 +@@ -1,5 +1,5 @@ + # @configure_input@ +-# From $Id: config.make.in,v 1.90 2002/11/14 03:59:36 roland Exp $. ++# From $Id: config.make.in,v 1.92 2003/03/26 01:15:05 roland Exp $. + # Don't edit this file. Put configuration parameters in configparms instead. + + version = @VERSION@ +@@ -50,6 +50,8 @@ + old-glibc-headers = @old_glibc_headers@ + unwind-find-fde = @libc_cv_gcc_unwind_find_fde@ + have-initfini-array = @libc_cv_initfinit_array@ ++have-cpp-asm-debuginfo = @libc_cv_cpp_asm_debuginfo@ ++enable-check-abi = @enable_check_abi@ + + static-libgcc = @libc_cv_gcc_static_libgcc@ + +diff -u -udbrN glibc-2.3.2/configure glibc-2.3.2-200304020432/configure +--- glibc-2.3.2/configure Wed Feb 26 10:20:48 2003 ++++ glibc-2.3.2-200304020432/configure Tue Apr 1 08:53:27 2003 +@@ -312,7 +312,7 @@ + # 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 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 PWD_P CC MAKE MSGFMT MAKEINFO SED AUTOCONF CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUILD_CC cross_compiling CPP AR OBJDUMP RANLIB ac_ct_RANLIB MIG AS LD 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 libc_cv_z_combreloc libc_cv_have_initfini 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 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 LIBOBJS LTLIBOBJS' ++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 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 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 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 LIBOBJS LTLIBOBJS' + ac_subst_files='' + + # Initialize some variables set by options. +@@ -851,6 +851,8 @@ + --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] +@@ -1479,6 +1481,15 @@ + 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 +@@ -1822,8 +1833,33 @@ + 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 machine=mips/mips64/$machine ;; +-mips*) base_machine=mips machine=mips/$machine ;; ++mips64*) base_machine=mips64 ++ case "$CC $CPPFLAGS $CFLAGS " 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 ;; +@@ -2170,442 +2206,6 @@ + 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 +- +- +- +-if test -n "$critic_missing"; then +-{ { 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; }; } +-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 +- +- +-if test "x$with_cvs" != xyes; then +- 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 +- test "x$AUTOCONF" != xno || aux_missing="$aux_missing autoconf" +-fi +- + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -3801,7 +3401,7 @@ + echo "${ECHO_T}$ac_prog_version" >&6 + fi + if test $ac_verc_fail = yes; then +- AS=: critic_missing=t ++ AS=: critic_missing="$critic_missing as" + fi + + for ac_prog in $LD +@@ -3862,9 +3462,441 @@ + echo "${ECHO_T}$ac_prog_version" >&6 + fi + if test $ac_verc_fail = yes; then +- LD=: critic_missing=t ++ 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 ++ ++ ++if test "x$with_cvs" != xyes; then ++ 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 ++ test "x$AUTOCONF" != xno || 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 +@@ -4357,7 +4389,12 @@ + #include "confdefs.h" + /* Nothing whatsoever. */ + EOF +-if ${CC-cc} $CFLAGS -c conftest.S 2>/dev/null; then ++if { ac_try='${CC-cc} $CFLAGS -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 +@@ -4380,7 +4417,12 @@ + .text + EOF + libc_cv_dot_text= +-if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then ++if { ac_try='${CC-cc} $CFLAGS -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* +@@ -4406,7 +4448,12 @@ + ${ac_globl} foo + foo: + EOF +- if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then ++ if { ac_try='${CC-cc} $CFLAGS -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* +@@ -4441,9 +4488,10 @@ + # (but it doesn't work), so we must do a linking check to be sure. + cat > conftest1.c <<\EOF + extern int glibc_conftest_frobozz; +-main () { printf ("%d\n", 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 +@@ -4475,7 +4523,12 @@ + foo: + .byte 1 + EOF +- if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then ++ if { ac_try='${CC-cc} $CFLAGS -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* +@@ -4692,7 +4745,12 @@ + int bar __attribute__ ((visibility ("protected"))) = 1; + EOF + libc_cv_visibility_attribute=no +- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then ++ 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 +@@ -4724,7 +4782,12 @@ + int bar (int x) { return x; } + EOF + libc_cv_broken_visibility_attribute=yes +- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then ++ 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 +@@ -4756,7 +4819,12 @@ + int dfoo = 1; + EOF + libc_cv_broken_alias_attribute=yes +- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then ++ 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 +@@ -5128,7 +5196,7 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat > conftest.$ac_ext <<EOF +-#line 5131 "configure" ++#line 5199 "configure" + #include "confdefs.h" + void underscore_test(void) { + return; } +@@ -5180,7 +5248,12 @@ + .weak foo + .weak bar; bar = foo + EOF +-if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then ++if { ac_try='${CC-cc} $CFLAGS -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 +@@ -5205,7 +5278,12 @@ + ${libc_cv_asm_global_directive} baz + baz: + EOF +- if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then ++ if { ac_try='${CC-cc} $CFLAGS -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 +@@ -5272,6 +5350,57 @@ + ;; + esac + ++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} $CFLAGS -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 +@@ -5393,7 +5522,7 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat > conftest.c <<EOF +-#line 5396 "configure" ++#line 5525 "configure" + static char *__EH_FRAME_BEGIN__; + _start () + { +@@ -5493,7 +5622,7 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat > conftest.c <<EOF +-#line 5496 "configure" ++#line 5625 "configure" + int foo (int a) + { + a = __builtin_expect (a, 10); +@@ -5561,7 +5690,7 @@ + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat > conftest.c <<EOF +-#line 5564 "configure" ++#line 5693 "configure" + int foo (int a) + { + static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 }; +@@ -6335,8 +6464,8 @@ + *) dest=$srcdir/$dir ;; + esac + if test -r $dest/configure; then +- echo "$as_me:$LINENO: result: running configure fragment for $dest" >&5 +-echo "${ECHO_T}running configure fragment for $dest" >&6 ++ echo "$as_me:$LINENO: result: running configure fragment for $dir" >&5 ++echo "${ECHO_T}running configure fragment for $dir" >&6 + . $dest/configure + fi + +@@ -7176,6 +7305,7 @@ + s,@LIBS@,$LIBS,;t t + s,@with_fp@,$with_fp,;t t + s,@with_cvs@,$with_cvs,;t t ++s,@enable_check_abi@,$enable_check_abi,;t t + s,@oldest_abi@,$oldest_abi,;t t + s,@subdirs@,$subdirs,;t t + s,@force_install@,$force_install,;t t +@@ -7194,13 +7324,7 @@ + s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t + s,@INSTALL_DATA@,$INSTALL_DATA,;t t + s,@LN_S@,$LN_S,;t t +-s,@PWD_P@,$PWD_P,;t t + s,@CC@,$CC,;t t +-s,@MAKE@,$MAKE,;t t +-s,@MSGFMT@,$MSGFMT,;t t +-s,@MAKEINFO@,$MAKEINFO,;t t +-s,@SED@,$SED,;t t +-s,@AUTOCONF@,$AUTOCONF,;t t + s,@CFLAGS@,$CFLAGS,;t t + s,@LDFLAGS@,$LDFLAGS,;t t + s,@CPPFLAGS@,$CPPFLAGS,;t t +@@ -7216,6 +7340,12 @@ + s,@MIG@,$MIG,;t t + s,@AS@,$AS,;t t + s,@LD@,$LD,;t t ++s,@PWD_P@,$PWD_P,;t t ++s,@MAKE@,$MAKE,;t t ++s,@MSGFMT@,$MSGFMT,;t t ++s,@MAKEINFO@,$MAKEINFO,;t t ++s,@SED@,$SED,;t t ++s,@AUTOCONF@,$AUTOCONF,;t t + s,@CCVERSION@,$CCVERSION,;t t + s,@SYSINCLUDES@,$SYSINCLUDES,;t t + s,@libc_cv_gcc_static_libgcc@,$libc_cv_gcc_static_libgcc,;t t +@@ -7237,6 +7367,7 @@ + s,@libc_cv_Bgroup@,$libc_cv_Bgroup,;t t + s,@libc_cv_z_combreloc@,$libc_cv_z_combreloc,;t t + s,@libc_cv_have_initfini@,$libc_cv_have_initfini,;t t ++s,@libc_cv_cpp_asm_debuginfo@,$libc_cv_cpp_asm_debuginfo,;t t + s,@no_whole_archive@,$no_whole_archive,;t t + s,@exceptions@,$exceptions,;t t + s,@LIBGD@,$LIBGD,;t t +diff -u -udbrN glibc-2.3.2/configure.in glibc-2.3.2-200304020432/configure.in +--- glibc-2.3.2/configure.in Wed Feb 26 01:46:31 2003 ++++ glibc-2.3.2-200304020432/configure.in Tue Apr 1 08:53:27 2003 +@@ -113,6 +113,14 @@ + [enable_sanity=$enableval], + [enable_sanity=yes]) + ++AC_SUBST(enable_check_abi) ++AC_ARG_ENABLE([check-abi], ++ AC_HELP_STRING([--enable-check-abi], ++ [do "make check-abi" in "make check" (no/warn/yes) ++ @<:@default=no@:>@]), ++ [enable_check_abi=$enableval], ++ [enable_check_abi=no]) ++ + dnl Arguments to enable or disable building the static, shared, profiled, + dnl and -fomit-frame-pointer libraries. + dnl I've disabled this for now since we cannot build glibc without static +@@ -378,8 +386,33 @@ + 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 machine=mips/mips64/$machine ;; +-mips*) base_machine=mips machine=mips/$machine ;; ++mips64*) base_machine=mips64 ++ case "$CC $CPPFLAGS $CFLAGS " 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 ;; +@@ -637,6 +670,23 @@ + fi + AC_PROG_LN_S + ++AC_PROG_CC ++if test $host != $build; then ++ AC_CHECK_PROGS(BUILD_CC, gcc cc) ++fi ++AC_SUBST(cross_compiling) ++AC_PROG_CPP ++LIBC_PROG_BINUTILS ++AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in ++ ++# Accept binutils 2.13 or newer. ++AC_CHECK_PROG_VER(AS, $AS, --version, ++ [GNU assembler.* \([0-9]*\.[0-9.]*\)], ++ [2.1[3-9]*], AS=: critic_missing="$critic_missing as") ++AC_CHECK_PROG_VER(LD, $LD, --version, ++ [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], ++ [2.1[3-9]*], LD=: critic_missing="$critic_missing ld") ++ + # 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 +@@ -656,14 +706,6 @@ + [GNU Make[^0-9]*\([0-9][0-9.]*\)], + [3.79* | 3.[89]*], critic_missing="$critic_missing make") + +- +-if test -n "$critic_missing"; then +-AC_MSG_ERROR([ +-*** These critical programs are missing or too old:$critic_missing +-*** Check the INSTALL file for required versions.]) +-fi +- +- + AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, + [GNU gettext.* \([0-9]*\.[0-9.]*\)], + [0.10.3[6-9]* | 0.10.[4-9][0-9]* | 0.1[1-9]* | 0.[2-9][0-9]* | [1-9].*], +@@ -695,22 +737,9 @@ + test "x$AUTOCONF" != xno || aux_missing="$aux_missing autoconf" + fi + +-AC_PROG_CC +-if test $host != $build; then +- AC_CHECK_PROGS(BUILD_CC, gcc cc) +-fi +-AC_SUBST(cross_compiling) +-AC_PROG_CPP +-LIBC_PROG_BINUTILS +-AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in +- +-# Accept binutils 2.13 or newer. +-AC_CHECK_PROG_VER(AS, $AS, --version, +- [GNU assembler.* \([0-9]*\.[0-9.]*\)], +- [2.1[3-9]*], AS=: critic_missing=t) +-AC_CHECK_PROG_VER(LD, $LD, --version, +- [GNU ld.* \([0-9][0-9]*\.[0-9.]*\)], +- [2.1[3-9]*], LD=: critic_missing=t) ++test -n "$critic_missing" && AC_MSG_ERROR([ ++*** These critical programs are missing or too old:$critic_missing ++*** Check the INSTALL file for required versions.]) + + test -n "$aux_missing" && AC_MSG_WARN([ + *** These auxiliary programs are missing or incompatible versions:$aux_missing +@@ -889,7 +918,7 @@ + #include "confdefs.h" + /* Nothing whatsoever. */ + EOF +-if ${CC-cc} $CFLAGS -c conftest.S 2>/dev/null; then ++if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.S 1>&AS_MESSAGE_LOG_FD); then + libc_cv_need_minus_P=no + else + libc_cv_need_minus_P=yes +@@ -906,7 +935,7 @@ + .text + EOF + libc_cv_dot_text= +-if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then ++if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then + libc_cv_dot_text=.text + fi + rm -f conftest*]) +@@ -925,7 +954,7 @@ + ${ac_globl} foo + foo: + EOF +- if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then ++ if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then + libc_cv_asm_global_directive=${ac_globl} + fi + rm -f conftest* +@@ -948,9 +977,10 @@ + # (but it doesn't work), so we must do a linking check to be sure. + cat > conftest1.c <<\EOF + extern int glibc_conftest_frobozz; +-main () { printf ("%d\n", 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>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then + libc_cv_asm_set_directive=yes + else +@@ -973,7 +1003,7 @@ + foo: + .byte 1 + EOF +- if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then ++ if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then + libc_cv_asm_type_prefix=${ac_try_prefix} + fi + rm -f conftest* +@@ -1111,7 +1141,7 @@ + int bar __attribute__ ((visibility ("protected"))) = 1; + EOF + libc_cv_visibility_attribute=no +- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then ++ if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then + if grep '\.hidden.*foo' conftest.s >/dev/null; then + if grep '\.protected.*bar' conftest.s >/dev/null; then + libc_cv_visibility_attribute=yes +@@ -1134,7 +1164,7 @@ + int bar (int x) { return x; } + EOF + libc_cv_broken_visibility_attribute=yes +- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then ++ if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s1>&AS_MESSAGE_LOG_FD); then + changequote(,)dnl + if grep '\.hidden[ _]foo' conftest.s >/dev/null; then + changequote([,])dnl +@@ -1159,7 +1189,7 @@ + int dfoo = 1; + EOF + libc_cv_broken_alias_attribute=yes +- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then ++ if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then + if grep 'xyzzy' conftest.s >/dev/null && + grep 'abccb' conftest.s >/dev/null; then + libc_cv_broken_alias_attribute=no +@@ -1398,7 +1428,7 @@ + .weak foo + .weak bar; bar = foo + EOF +-if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then ++if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then + libc_cv_asm_weak_directive=yes + else + libc_cv_asm_weak_directive=no +@@ -1418,7 +1448,7 @@ + ${libc_cv_asm_global_directive} baz + baz: + EOF +- if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then ++ if AC_TRY_COMMAND(${CC-cc} $CFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then + libc_cv_asm_weakext_directive=yes + else + libc_cv_asm_weakext_directive=no +@@ -1462,6 +1492,38 @@ + ;; + esac + ++AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp, ++ libc_cv_cpp_asm_debuginfo, [dnl ++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_COMMAND([${CC-cc} $CFLAGS -g -c conftest.S 1>&AS_MESSAGE_LOG_FD]) && ++ ac_pattern='conftest\.S' ++ AC_TRY_COMMAND([readelf --debug-dump=line conftest.o | ++ grep $ac_pattern 1>&AS_MESSAGE_LOG_FD]); then ++ libc_cv_cpp_asm_debuginfo=yes ++else ++ libc_cv_cpp_asm_debuginfo=no ++fi ++rm -f conftest*])AC_SUBST(libc_cv_cpp_asm_debuginfo) ++if test $libc_cv_cpp_asm_debuginfo = yes; then ++ AC_DEFINE(HAVE_CPP_ASM_DEBUGINFO) ++fi ++ + AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl + cat > conftest.c <<\EOF + _start () {} +@@ -1732,7 +1794,7 @@ + *) dest=$srcdir/$dir ;; + esac + if test -r $dest/configure; then +- AC_MSG_RESULT(running configure fragment for $dest) ++ AC_MSG_RESULT(running configure fragment for $dir) + . $dest/configure + fi + [ +diff -u -udbrN glibc-2.3.2/csu/Makefile glibc-2.3.2-200304020432/csu/Makefile +--- glibc-2.3.2/csu/Makefile Tue Dec 31 23:24:37 2002 ++++ glibc-2.3.2-200304020432/csu/Makefile Sun Mar 23 00:00:17 2003 +@@ -1,5 +1,5 @@ + # Makefile for csu code for GNU C library. +-# Copyright (C) 1995,96,97,98,99,2000,01,2002 Free Software Foundation, Inc. ++# Copyright (C) 1995,96,97,98,99,2000,01,02,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 +@@ -41,6 +41,8 @@ + abi-note.S init.c munch-tmpl.c + generated = version-info.h + before-compile = $(objpfx)version-info.h ++ ++tests := tst-atomic tst-atomic-long + + all: # Make this the default target; it will be defined in Rules. + +diff -u -udbrN glibc-2.3.2/csu/tst-atomic-long.c glibc-2.3.2-200304020432/csu/tst-atomic-long.c +--- glibc-2.3.2/csu/tst-atomic-long.c Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/csu/tst-atomic-long.c Sun Mar 23 00:00:17 2003 +@@ -0,0 +1,28 @@ ++/* Tests for atomic.h macros. ++ Copyright (C) 2003 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Jakub Jelinek <jakub@redhat.com>, 2003. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <bits/wordsize.h> ++ ++#define atomic_t long ++#if __WORDSIZE == 64 ++# define TEST_ATOMIC64 1 ++#endif ++ ++#include "tst-atomic.c" +diff -u -udbrN glibc-2.3.2/csu/tst-atomic.c glibc-2.3.2-200304020432/csu/tst-atomic.c +--- glibc-2.3.2/csu/tst-atomic.c Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/csu/tst-atomic.c Wed Mar 26 05:01:47 2003 +@@ -0,0 +1,373 @@ ++/* Tests for atomic.h macros. ++ Copyright (C) 2003 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ Contributed by Jakub Jelinek <jakub@redhat.com>, 2003. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <stdio.h> ++#include <atomic.h> ++ ++#ifndef atomic_t ++# define atomic_t int ++#endif ++ ++/* Test various atomic.h macros. */ ++static int ++do_test (void) ++{ ++ atomic_t mem; ++ int ret = 0; ++ ++#ifdef atomic_compare_and_exchange_val_acq ++ mem = 24; ++ if (atomic_compare_and_exchange_val_acq (&mem, 35, 24) != 24 ++ || mem != 35) ++ { ++ puts ("atomic_compare_and_exchange_val_acq test 1 failed"); ++ ret = 1; ++ } ++ ++ mem = 12; ++ if (atomic_compare_and_exchange_val_acq (&mem, 10, 15) != 12 ++ || mem != 12) ++ { ++ puts ("atomic_compare_and_exchange_val_acq test 2 failed"); ++ ret = 1; ++ } ++ ++ mem = -15; ++ if (atomic_compare_and_exchange_val_acq (&mem, -56, -15) != -15 ++ || mem != -56) ++ { ++ puts ("atomic_compare_and_exchange_val_acq test 3 failed"); ++ ret = 1; ++ } ++ ++ mem = -1; ++ if (atomic_compare_and_exchange_val_acq (&mem, 17, 0) != -1 ++ || mem != -1) ++ { ++ puts ("atomic_compare_and_exchange_val_acq test 4 failed"); ++ ret = 1; ++ } ++#endif ++ ++ mem = 24; ++ if (atomic_compare_and_exchange_bool_acq (&mem, 35, 24) ++ || mem != 35) ++ { ++ puts ("atomic_compare_and_exchange_bool_acq test 1 failed"); ++ ret = 1; ++ } ++ ++ mem = 12; ++ if (! atomic_compare_and_exchange_bool_acq (&mem, 10, 15) ++ || mem != 12) ++ { ++ puts ("atomic_compare_and_exchange_bool_acq test 2 failed"); ++ ret = 1; ++ } ++ ++ mem = -15; ++ if (atomic_compare_and_exchange_bool_acq (&mem, -56, -15) ++ || mem != -56) ++ { ++ puts ("atomic_compare_and_exchange_bool_acq test 3 failed"); ++ ret = 1; ++ } ++ ++ mem = -1; ++ if (! atomic_compare_and_exchange_bool_acq (&mem, 17, 0) ++ || mem != -1) ++ { ++ puts ("atomic_compare_and_exchange_bool_acq test 4 failed"); ++ ret = 1; ++ } ++ ++ mem = 64; ++ if (atomic_exchange (&mem, 31) != 64 ++ || mem != 31) ++ { ++ puts ("atomic_exchange test failed"); ++ ret = 1; ++ } ++ ++ mem = 2; ++ if (atomic_exchange_and_add (&mem, 11) != 2 ++ || mem != 13) ++ { ++ puts ("atomic_exchange_and_add test failed"); ++ ret = 1; ++ } ++ ++ mem = -21; ++ atomic_add (&mem, 22); ++ if (mem != 1) ++ { ++ puts ("atomic_add test failed"); ++ ret = 1; ++ } ++ ++ mem = -1; ++ atomic_increment (&mem); ++ if (mem != 0) ++ { ++ puts ("atomic_increment test failed"); ++ ret = 1; ++ } ++ ++ mem = 0; ++ if (atomic_increment_and_test (&mem) ++ || mem != 1) ++ { ++ puts ("atomic_increment_and_test test 1 failed"); ++ ret = 1; ++ } ++ ++ mem = 35; ++ if (atomic_increment_and_test (&mem) ++ || mem != 36) ++ { ++ puts ("atomic_increment_and_test test 2 failed"); ++ ret = 1; ++ } ++ ++ mem = -1; ++ if (! atomic_increment_and_test (&mem) ++ || mem != 0) ++ { ++ puts ("atomic_increment_and_test test 3 failed"); ++ ret = 1; ++ } ++ ++ mem = 17; ++ atomic_decrement (&mem); ++ if (mem != 16) ++ { ++ puts ("atomic_decrement test failed"); ++ ret = 1; ++ } ++ ++ mem = 0; ++ if (atomic_decrement_and_test (&mem) ++ || mem != -1) ++ { ++ puts ("atomic_decrement_and_test test 1 failed"); ++ ret = 1; ++ } ++ ++ mem = 15; ++ if (atomic_decrement_and_test (&mem) ++ || mem != 14) ++ { ++ puts ("atomic_decrement_and_test test 2 failed"); ++ ret = 1; ++ } ++ ++ mem = 1; ++ if (! atomic_decrement_and_test (&mem) ++ || mem != 0) ++ { ++ puts ("atomic_decrement_and_test test 3 failed"); ++ ret = 1; ++ } ++ ++ mem = 1; ++ if (atomic_decrement_if_positive (&mem) != 1 ++ || mem != 0) ++ { ++ puts ("atomic_decrement_if_positive test 1 failed"); ++ ret = 1; ++ } ++ ++ mem = 0; ++ if (atomic_decrement_if_positive (&mem) != 0 ++ || mem != 0) ++ { ++ puts ("atomic_decrement_if_positive test 2 failed"); ++ ret = 1; ++ } ++ ++ mem = -1; ++ if (atomic_decrement_if_positive (&mem) != -1 ++ || mem != -1) ++ { ++ puts ("atomic_decrement_if_positive test 3 failed"); ++ ret = 1; ++ } ++ ++ mem = -12; ++ if (! atomic_add_negative (&mem, 10) ++ || mem != -2) ++ { ++ puts ("atomic_add_negative test 1 failed"); ++ ret = 1; ++ } ++ ++ mem = 0; ++ if (atomic_add_negative (&mem, 100) ++ || mem != 100) ++ { ++ puts ("atomic_add_negative test 2 failed"); ++ ret = 1; ++ } ++ ++ mem = 15; ++ if (atomic_add_negative (&mem, -10) ++ || mem != 5) ++ { ++ puts ("atomic_add_negative test 3 failed"); ++ ret = 1; ++ } ++ ++ mem = -12; ++ if (atomic_add_negative (&mem, 14) ++ || mem != 2) ++ { ++ puts ("atomic_add_negative test 4 failed"); ++ ret = 1; ++ } ++ ++ mem = 0; ++ if (! atomic_add_negative (&mem, -1) ++ || mem != -1) ++ { ++ puts ("atomic_add_negative test 5 failed"); ++ ret = 1; ++ } ++ ++ mem = -31; ++ if (atomic_add_negative (&mem, 31) ++ || mem != 0) ++ { ++ puts ("atomic_add_negative test 6 failed"); ++ ret = 1; ++ } ++ ++ mem = -34; ++ if (atomic_add_zero (&mem, 31) ++ || mem != -3) ++ { ++ puts ("atomic_add_zero test 1 failed"); ++ ret = 1; ++ } ++ ++ mem = -36; ++ if (! atomic_add_zero (&mem, 36) ++ || mem != 0) ++ { ++ puts ("atomic_add_zero test 2 failed"); ++ ret = 1; ++ } ++ ++ mem = 113; ++ if (atomic_add_zero (&mem, -13) ++ || mem != 100) ++ { ++ puts ("atomic_add_zero test 3 failed"); ++ ret = 1; ++ } ++ ++ mem = -18; ++ if (atomic_add_zero (&mem, 20) ++ || mem != 2) ++ { ++ puts ("atomic_add_zero test 4 failed"); ++ ret = 1; ++ } ++ ++ mem = 10; ++ if (atomic_add_zero (&mem, -20) ++ || mem != -10) ++ { ++ puts ("atomic_add_zero test 5 failed"); ++ ret = 1; ++ } ++ ++ mem = 10; ++ if (! atomic_add_zero (&mem, -10) ++ || mem != 0) ++ { ++ puts ("atomic_add_zero test 6 failed"); ++ ret = 1; ++ } ++ ++ mem = 0; ++ atomic_bit_set (&mem, 1); ++ if (mem != 2) ++ { ++ puts ("atomic_bit_set test 1 failed"); ++ ret = 1; ++ } ++ ++ mem = 8; ++ atomic_bit_set (&mem, 3); ++ if (mem != 8) ++ { ++ puts ("atomic_bit_set test 2 failed"); ++ ret = 1; ++ } ++ ++#ifdef TEST_ATOMIC64 ++ mem = 16; ++ atomic_bit_set (&mem, 35); ++ if (mem != 0x800000010LL) ++ { ++ puts ("atomic_bit_set test 3 failed"); ++ ret = 1; ++ } ++#endif ++ ++ mem = 0; ++ if (atomic_bit_test_set (&mem, 1) ++ || mem != 2) ++ { ++ puts ("atomic_bit_test_set test 1 failed"); ++ ret = 1; ++ } ++ ++ mem = 8; ++ if (! atomic_bit_test_set (&mem, 3) ++ || mem != 8) ++ { ++ puts ("atomic_bit_test_set test 2 failed"); ++ ret = 1; ++ } ++ ++#ifdef TEST_ATOMIC64 ++ mem = 16; ++ if (atomic_bit_test_set (&mem, 35) ++ || mem != 0x800000010LL) ++ { ++ puts ("atomic_bit_test_set test 3 failed"); ++ ret = 1; ++ } ++ ++ mem = 0x100000000LL; ++ if (! atomic_bit_test_set (&mem, 32) ++ || mem != 0x100000000LL) ++ { ++ puts ("atomic_bit_test_set test 4 failed"); ++ ret = 1; ++ } ++#endif ++ ++ return ret; ++} ++ ++#define TEST_FUNCTION do_test () ++#include "../test-skeleton.c" +diff -u -udbrN glibc-2.3.2/dlfcn/Makefile glibc-2.3.2-200304020432/dlfcn/Makefile +--- glibc-2.3.2/dlfcn/Makefile Wed Feb 26 01:46:32 2003 ++++ glibc-2.3.2-200304020432/dlfcn/Makefile Sun Mar 16 00:14:46 2003 +@@ -19,7 +19,8 @@ + subdir := dlfcn + headers := bits/dlfcn.h dlfcn.h + extra-libs := libdl +-libdl-routines := dlopen dlclose dlsym dlvsym dlerror dladdr eval ++libdl-routines := dlopen dlclose dlsym dlvsym dlerror dladdr dladdr1 dlinfo \ ++ eval + distribute := dlopenold.c glreflib1.c glreflib2.c failtestmod.c eval.c \ + defaultmod1.c defaultmod2.c errmsg1mod.c modatexit.c \ + modcxaatexit.c modstatic.c \ +@@ -37,7 +38,7 @@ + + ifeq (yes,$(build-shared)) + tests = glrefmain failtest tst-dladdr default errmsg1 tstcxaatexit \ +- bug-dlopen1 bug-dlsym1 ++ bug-dlopen1 bug-dlsym1 tst-dlinfo + ifeq (yes,$(have-protected)) + tests += tstatexit + endif +@@ -73,6 +74,9 @@ + + $(objpfx)tst-dladdr: $(libdl) + $(objpfx)tst-dladdr.out: $(objpfx)glreflib1.so ++ ++$(objpfx)tst-dlinfo: $(libdl) ++$(objpfx)tst-dlinfo.out: $(objpfx)glreflib1.so + + LDFLAGS-default = $(LDFLAGS-rdynamic) + $(objpfx)default: $(libdl) $(objpfx)defaultmod1.so $(objpfx)defaultmod2.so +diff -u -udbrN glibc-2.3.2/dlfcn/Versions glibc-2.3.2-200304020432/dlfcn/Versions +--- glibc-2.3.2/dlfcn/Versions Wed Jul 7 20:25:24 1999 ++++ glibc-2.3.2-200304020432/dlfcn/Versions Sun Mar 16 00:14:44 2003 +@@ -5,4 +5,7 @@ + GLIBC_2.1 { + dlopen; dlvsym; + } ++ GLIBC_2.3.3 { ++ dladdr1; dlinfo; ++ } + } +diff -u -udbrN glibc-2.3.2/dlfcn/dladdr.c glibc-2.3.2-200304020432/dlfcn/dladdr.c +--- glibc-2.3.2/dlfcn/dladdr.c Sat Jul 7 21:20:52 2001 ++++ glibc-2.3.2-200304020432/dlfcn/dladdr.c Mon Mar 10 10:12:11 2003 +@@ -1,5 +1,5 @@ + /* Locate the shared object symbol nearest a given address. +- Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. ++ Copyright (C) 1996, 1997, 1998, 1999, 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 +@@ -22,5 +22,5 @@ + int + dladdr (const void *address, Dl_info *info) + { +- return _dl_addr (address, info); ++ return _dl_addr (address, info, NULL, NULL); + } +diff -u -udbrN glibc-2.3.2/dlfcn/dladdr1.c glibc-2.3.2-200304020432/dlfcn/dladdr1.c +--- glibc-2.3.2/dlfcn/dladdr1.c Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/dlfcn/dladdr1.c Mon Mar 10 10:12:11 2003 +@@ -0,0 +1,35 @@ ++/* Locate the shared object symbol nearest a given address. ++ Copyright (C) 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <dlfcn.h> ++ ++int ++dladdr1 (const void *address, Dl_info *info, void **extra, int flags) ++{ ++ switch (flags) ++ { ++ default: /* Make this an error? */ ++ case 0: ++ return _dl_addr (address, info, NULL, NULL); ++ case RTLD_DL_SYMENT: ++ return _dl_addr (address, info, NULL, (const ElfW(Sym) **) extra); ++ case RTLD_DL_LINKMAP: ++ return _dl_addr (address, info, (struct link_map **) extra, NULL); ++ } ++} +diff -u -udbrN glibc-2.3.2/dlfcn/dlerror.c glibc-2.3.2-200304020432/dlfcn/dlerror.c +--- glibc-2.3.2/dlfcn/dlerror.c Tue Nov 19 07:51:37 2002 ++++ glibc-2.3.2-200304020432/dlfcn/dlerror.c Sat Mar 15 21:06:37 2003 +@@ -1,5 +1,5 @@ + /* Return error detail for failing <dlfcn.h> functions. +- Copyright (C) 1995,1996,1997,1998,1999,2000,2002 ++ Copyright (C) 1995,1996,1997,1998,1999,2000,2002, 2003 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + +@@ -69,9 +69,19 @@ + else if (result->errstring != NULL) + { + buf = (char *) result->errstring; +- if (__asprintf (&buf, result->errcode != 0 ? "%s: %s: %s" : "%s: %s", +- result->objname, _(result->errstring), +- strerror (result->errcode)) != -1) ++ int n; ++ if (result->errcode == 0) ++ n = __asprintf (&buf, "%s%s%s", ++ result->objname, ++ result->objname[0] == '\0' ? "" : ": ", ++ _(result->errstring)); ++ else ++ n = __asprintf (&buf, "%s%s%s: %s", ++ result->objname, ++ result->objname[0] == '\0' ? "" : ": ", ++ _(result->errstring), ++ strerror (result->errcode)); ++ if (n != -1) + { + /* We don't need the error string anymore. */ + if (strcmp (result->errstring, "out of memory") != 0) +diff -u -udbrN glibc-2.3.2/dlfcn/dlfcn.h glibc-2.3.2-200304020432/dlfcn/dlfcn.h +--- glibc-2.3.2/dlfcn/dlfcn.h Sat Oct 27 01:58:28 2001 ++++ glibc-2.3.2-200304020432/dlfcn/dlfcn.h Sun Mar 16 00:14:44 2003 +@@ -1,5 +1,5 @@ + /* User functions for run-time dynamic loading. +- Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. ++ Copyright (C) 1995-1999,2000,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 +@@ -21,6 +21,8 @@ + #define _DLFCN_H 1 + + #include <features.h> ++#define __need_size_t ++#include <stddef.h> + + /* Collect various system dependent definitions and declarations. */ + #include <bits/dlfcn.h> +@@ -83,7 +85,74 @@ + /* Fill in *INFO with the following information about ADDRESS. + Returns 0 iff no shared object's segments contain that address. */ + extern int dladdr (__const void *__address, Dl_info *__info) __THROW; +-#endif ++ ++/* Same as `dladdr', but additionally sets *EXTRA_INFO according to FLAGS. */ ++extern int dladdr1 (__const void *__address, Dl_info *__info, ++ void **__extra_info, int __flags) __THROW; ++ ++/* These are the possible values for the FLAGS argument to `dladdr1'. ++ This indicates what extra information is stored at *EXTRA_INFO. ++ It may also be zero, in which case the EXTRA_INFO argument is not used. */ ++enum ++ { ++ /* Matching symbol table entry (const ElfNN_Sym *). */ ++ RTLD_DL_SYMENT = 1, ++ ++ /* The object containing the address (struct link_map *). */ ++ RTLD_DL_LINKMAP = 2 ++ }; ++ ++ ++/* Get information about the shared object HANDLE refers to. ++ REQUEST is from among the values below, and determines the use of ARG. ++ ++ On success, returns zero. On failure, returns -1 and records an error ++ message to be fetched with `dlerror'. */ ++extern int dlinfo (void *__restrict __handle, ++ int __request, void *__restrict __arg); ++ ++/* These are the possible values for the REQUEST argument to `dlinfo'. */ ++enum ++ { ++ /* Treat ARG as `struct link_map **'; ++ store the `struct link_map *' for HANDLE there. */ ++ RTLD_DI_LINKMAP = 2, ++ ++ /* Treat ARG as `Dl_serinfo *' (see below), and fill in to describe the ++ directories that will be searched for dependencies of this object. ++ RTLD_DI_SERINFOSIZE fills in just the `dls_cnt' and `dls_size' ++ entries to indicate the size of the buffer that must be passed to ++ RTLD_DI_SERINFO to fill in the full information. */ ++ RTLD_DI_SERINFO = 4, ++ RTLD_DI_SERINFOSIZE = 5, ++ ++ /* Treat ARG as `char *', and store there the directory name used to ++ expand $ORIGIN in this shared object's dependency file names. */ ++ RTLD_DI_ORIGIN = 6, ++ ++ RTLD_DI_LMID = 1, /* Unsupported, defined by Solaris. */ ++ RTLD_DI_CONFIGADDR = 3 /* Unsupported, defined by Solaris. */ ++ }; ++ ++ ++/* This is the type of elements in `Dl_serinfo', below. ++ The `dls_name' member points to space in the buffer passed to `dlinfo'. */ ++typedef struct ++{ ++ char *dls_name; /* Name of library search path directory. */ ++ unsigned int dls_flags; /* Indicates where this directory came from. */ ++} Dl_serpath; ++ ++/* This is the structure that must be passed (by reference) to `dlinfo' for ++ the RTLD_DI_SERINFO and RTLD_DI_SERINFOSIZE requests. */ ++typedef struct ++{ ++ size_t dls_size; /* Size in bytes of the whole buffer. */ ++ unsigned int dls_cnt; /* Number of elements in `dls_serpath'. */ ++ Dl_serpath dls_serpath[1]; /* Actually longer, dls_cnt elements. */ ++} Dl_serinfo; ++#endif /* __USE_GNU */ ++ + + __END_DECLS + +diff -u -udbrN glibc-2.3.2/dlfcn/dlinfo.c glibc-2.3.2-200304020432/dlfcn/dlinfo.c +--- glibc-2.3.2/dlfcn/dlinfo.c Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/dlfcn/dlinfo.c Sun Mar 16 00:14:44 2003 +@@ -0,0 +1,87 @@ ++/* dlinfo -- Get information from the dynamic linker. ++ Copyright (C) 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <dlfcn.h> ++#include <link.h> ++#include <ldsodefs.h> ++#include <libintl.h> ++ ++struct dlinfo_args ++{ ++ ElfW(Addr) caller; ++ void *handle; ++ int request; ++ void *arg; ++}; ++ ++static void ++dlinfo_doit (void *argsblock) ++{ ++ struct dlinfo_args *const args = argsblock; ++ struct link_map *l = args->handle; ++ ++#if 0 ++ if (args->handle == RTLD_SELF) ++ { ++ ++ /* Find the highest-addressed object that CALLER is not below. */ ++ for (l = GL(dl_loaded); l != NULL; l = l->l_next) ++ if (caller >= l->l_map_start && caller < l->l_map_end) ++ /* There must be exactly one DSO for the range of the virtual ++ memory. Otherwise something is really broken. */ ++ break; ++ ++ if (l == NULL) ++ _dl_signal_error (0, NULL, NULL, N_("\ ++RTLD_SELF used in code not dynamically loaded")); ++ } ++#endif ++ ++ switch (args->request) ++ { ++ case RTLD_DI_LMID: ++ case RTLD_DI_CONFIGADDR: ++ default: ++ _dl_signal_error (0, NULL, NULL, N_("unsupported dlinfo request")); ++ break; ++ ++ case RTLD_DI_LINKMAP: ++ *(struct link_map **) args->arg = l; ++ break; ++ ++ case RTLD_DI_SERINFO: ++ _dl_rtld_di_serinfo (l, args->arg, false); ++ break; ++ case RTLD_DI_SERINFOSIZE: ++ _dl_rtld_di_serinfo (l, args->arg, true); ++ break; ++ ++ case RTLD_DI_ORIGIN: ++ strcpy (args->arg, l->l_origin); ++ break; ++ } ++} ++ ++int ++dlinfo (void *handle, int request, void *arg) ++{ ++ struct dlinfo_args args = { (ElfW(Addr)) RETURN_ADDRESS (0), ++ handle, request, arg }; ++ return _dlerror_run (&dlinfo_doit, &args) ? -1 : 0; ++} +diff -u -udbrN glibc-2.3.2/dlfcn/tst-dlinfo.c glibc-2.3.2-200304020432/dlfcn/tst-dlinfo.c +--- glibc-2.3.2/dlfcn/tst-dlinfo.c Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/dlfcn/tst-dlinfo.c Sun Mar 16 00:14:48 2003 +@@ -0,0 +1,96 @@ ++/* Test for dlinfo. ++ Copyright (C) 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 ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <dlfcn.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <error.h> ++ ++#define TEST_FUNCTION do_test () ++ ++static int ++do_test (void) ++{ ++ int status = 0; ++ ++ void *handle = dlopen ("glreflib1.so", RTLD_NOW); ++ if (handle == NULL) ++ error (EXIT_FAILURE, 0, "cannot load: glreflib1.so: %s", dlerror ()); ++ ++#define TRY(req, arg) \ ++ if (dlinfo (handle, req, arg) != 0) \ ++ { \ ++ printf ("dlinfo failed for %s: %s\n", #req, dlerror ()); \ ++ status = 1; \ ++ } \ ++ else ++ ++ struct link_map *l; ++ TRY (RTLD_DI_LINKMAP, &l) ++ { ++ if (l != handle) ++ { ++ printf ("bogus link_map? %p != %p\n", l, handle); ++ status = 1; ++ } ++ } ++ ++ char origin[8192]; /* >= PATH_MAX, in theory */ ++ TRY (RTLD_DI_ORIGIN, origin) ++ { ++ printf ("origin: %s\n", origin); ++ } ++ ++ Dl_serinfo counts; ++ TRY (RTLD_DI_SERINFOSIZE, &counts) ++ { ++ Dl_serinfo *buf = alloca (counts.dls_size); ++ buf->dls_cnt = counts.dls_cnt; ++ buf->dls_size = counts.dls_size; ++ printf ("%u library directories\n", buf->dls_cnt); ++ TRY (RTLD_DI_SERINFO, buf) ++ { ++ if (counts.dls_cnt != buf->dls_cnt) ++ { ++ printf ("??? became %u library directories\n", buf->dls_cnt); ++ status = 1; ++ } ++ for (unsigned int i = 0; i < buf->dls_cnt; ++i) ++ printf ("\t%#02x\t%s\n", ++ buf->dls_serpath[i].dls_flags, ++ buf->dls_serpath[i].dls_name); ++ } ++ } ++ ++ unsigned long int lmid = 0xdeadbeefUL; ++ if (dlinfo (handle, RTLD_DI_LMID, &lmid) != 0) ++ printf ("dlinfo refuses RTLD_DI_LMID: %s\n", dlerror ()); ++ else ++ { ++ printf ("dlinfo RTLD_DI_LMID worked? %#lx\n", lmid); ++ status = lmid == 0xdeadbeefUL; ++ } ++ ++#undef TRY ++ dlclose (handle); ++ ++ return status; ++} ++ ++#include "../test-skeleton.c" +diff -u -udbrN glibc-2.3.2/elf/Makefile glibc-2.3.2-200304020432/elf/Makefile +--- glibc-2.3.2/elf/Makefile Fri Feb 21 07:28:09 2003 ++++ glibc-2.3.2-200304020432/elf/Makefile Thu Mar 27 10:47:28 2003 +@@ -181,6 +181,9 @@ + + include ../Rules + ++check-abi: check-abi-ld ++update-abi: update-abi-ld ++ + ifeq (yes,$(build-shared)) + # Make sure these things are built in the `make lib' pass so they can be used + # to run programs during the `make others' pass. +@@ -210,7 +213,8 @@ + mv -f $@T $@ + + $(objpfx)librtld.mk: $(objpfx)librtld.map Makefile +- sed -n 's@^$(common-objpfx)\([^(]*\)(\([^)]*\.os\))$$@\1 \2@p' $< | \ ++ sed -n 's@^$(common-objpfx)\([^(]*\)(\([^)]*\.os\)) *.*$$@\1 \2@p' \ ++ $< | \ + while read lib file; do \ + case $$lib in \ + libc_pic.a) \ +diff -u -udbrN glibc-2.3.2/elf/Versions glibc-2.3.2-200304020432/elf/Versions +--- glibc-2.3.2/elf/Versions Wed Dec 4 19:22:02 2002 ++++ glibc-2.3.2-200304020432/elf/Versions Sun Mar 16 00:14:44 2003 +@@ -51,6 +51,6 @@ + _dl_unload_cache; + _rtld_global; _dl_tls_symaddr; _dl_allocate_tls; _dl_deallocate_tls; + _dl_get_tls_static_info; _dl_allocate_tls_init; +- _dl_get_origin; _dl_tls_setup; ++ _dl_get_origin; _dl_tls_setup; _dl_rtld_di_serinfo; + } + } +diff -u -udbrN glibc-2.3.2/elf/cache.c glibc-2.3.2-200304020432/elf/cache.c +--- glibc-2.3.2/elf/cache.c Sun Dec 29 20:14:59 2002 ++++ glibc-2.3.2-200304020432/elf/cache.c Sun Mar 16 02:03:52 2003 +@@ -1,4 +1,5 @@ +-/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ++/* Copyright (C) 1999, 2000, 2001, 2002, 2003 ++ Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Andreas Jaeger <aj@suse.de>, 1999. + +@@ -86,6 +87,11 @@ + case FLAG_POWERPC_LIB64: + fputs(",64bit", stdout); + break; ++ case FLAG_MIPS64_LIBN32: ++ fputs(",N32", stdout); ++ break; ++ case FLAG_MIPS64_LIBN64: ++ fputs(",64bit", stdout); + case 0: + break; + default: +@@ -458,7 +464,7 @@ + { + struct cache_entry *new_entry, *ptr, *prev; + char *full_path; +- int len, i; ++ size_t len, i; + + new_entry = (struct cache_entry *) xmalloc (sizeof (struct cache_entry)); + +diff -u -udbrN glibc-2.3.2/elf/dl-addr.c glibc-2.3.2-200304020432/elf/dl-addr.c +--- glibc-2.3.2/elf/dl-addr.c Sat Sep 28 05:35:22 2002 ++++ glibc-2.3.2-200304020432/elf/dl-addr.c Mon Mar 10 10:12:11 2003 +@@ -1,5 +1,5 @@ + /* Locate the shared object symbol nearest a given address. +- Copyright (C) 1996-2000, 2001, 2002 Free Software Foundation, Inc. ++ Copyright (C) 1996-2000,2001,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 +@@ -24,7 +24,8 @@ + + int + internal_function +-_dl_addr (const void *address, Dl_info *info) ++_dl_addr (const void *address, Dl_info *info, ++ struct link_map **mapp, const ElfW(Sym) **symbolp) + { + const ElfW(Addr) addr = DL_LOOKUP_ADDRESS (address); + struct link_map *l, *match; +@@ -92,6 +93,11 @@ + && (ELFW(ST_BIND) (symtab->st_info) == STB_GLOBAL + || ELFW(ST_BIND) (symtab->st_info) == STB_WEAK)) + matchsym = (ElfW(Sym) *) symtab; ++ ++ if (mapp) ++ *mapp = match; ++ if (symbolp) ++ *symbolp = matchsym; + + if (matchsym) + { +diff -u -udbrN glibc-2.3.2/elf/dl-close.c glibc-2.3.2-200304020432/elf/dl-close.c +--- glibc-2.3.2/elf/dl-close.c Mon Jan 27 21:44:03 2003 ++++ glibc-2.3.2-200304020432/elf/dl-close.c Sun Mar 16 02:03:52 2003 +@@ -371,7 +371,7 @@ + this search list, going in either direction. When the + whole chunk is at the end of the used area then we can + reclaim it. */ +- if (imap->l_tls_offset == tls_free_end) ++ if ((size_t) imap->l_tls_offset == tls_free_end) + /* Extend the contiguous chunk being reclaimed. */ + tls_free_end += imap->l_tls_blocksize; + else if (imap->l_tls_offset + imap->l_tls_blocksize +diff -u -udbrN glibc-2.3.2/elf/dl-conflict.c glibc-2.3.2-200304020432/elf/dl-conflict.c +--- glibc-2.3.2/elf/dl-conflict.c Thu Oct 17 19:05:51 2002 ++++ glibc-2.3.2-200304020432/elf/dl-conflict.c Fri Mar 14 06:34:36 2003 +@@ -1,5 +1,5 @@ + /* Resolve conflicts against already prelinked libraries. +- Copyright (C) 2001, 2002 Free Software Foundation, Inc. ++ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@redhat.com>, 2001. + +@@ -28,7 +28,7 @@ + #include <sys/types.h> + #include "dynamic-link.h" + +- ++#if ! ELF_MACHINE_NO_RELA + void + _dl_resolve_conflicts (struct link_map *l, ElfW(Rela) *conflict, + ElfW(Rela) *conflictend) +@@ -65,3 +65,4 @@ + elf_machine_rela (l, conflict, NULL, NULL, (void *) conflict->r_offset); + } + } ++#endif +diff -u -udbrN glibc-2.3.2/elf/dl-load.c glibc-2.3.2-200304020432/elf/dl-load.c +--- glibc-2.3.2/elf/dl-load.c Thu Jan 16 19:14:41 2003 ++++ glibc-2.3.2-200304020432/elf/dl-load.c Sun Mar 16 00:14:44 2003 +@@ -1,5 +1,5 @@ + /* Map in a shared object's segments from the file. +- Copyright (C) 1995,96,97,98,99,2000,2001,2002 Free Software Foundation, Inc. ++ Copyright (C) 1995-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 +@@ -26,6 +26,7 @@ + #include <string.h> + #include <unistd.h> + #include <ldsodefs.h> ++#include <bits/wordsize.h> + #include <sys/mman.h> + #include <sys/param.h> + #include <sys/stat.h> +@@ -97,19 +98,26 @@ + /* Type for the buffer we put the ELF header and hopefully the program + header. This buffer does not really have to be too large. In most + cases the program header follows the ELF header directly. If this +- is not the case all bets are off and we can make the header arbitrarily +- large and still won't get it read. This means the only question is +- how large are the ELF and program header combined. The ELF header +- in 64-bit files is 56 bytes long. Each program header entry is again +- 56 bytes long. I.e., even with a file which has 17 program header +- entries we only have to read 1kB. And 17 program header entries is +- plenty, normal files have < 10. If this heuristic should really fail +- for some file the code in `_dl_map_object_from_fd' knows how to +- recover. */ ++ is not the case all bets are off and we can make the header ++ arbitrarily large and still won't get it read. This means the only ++ question is how large are the ELF and program header combined. The ++ ELF header 32-bit files is 52 bytes long and in 64-bit files is 64 ++ bytes long. Each program header entry is again 32 and 56 bytes ++ long respectively. I.e., even with a file which has 7 program ++ header entries we only have to read 512B. Add to this a bit of ++ margin for program notes and reading 512B and 640B for 32-bit and ++ 64-bit files respecitvely is enough. If this heuristic should ++ really fail for some file the code in `_dl_map_object_from_fd' ++ knows how to recover. */ + struct filebuf + { + ssize_t len; +- char buf[1024] __attribute__ ((aligned (__alignof (ElfW(Ehdr))))); ++#if __WORDSIZE == 32 ++# define FILEBUF_SIZE 512 ++#else ++# define FILEBUF_SIZE 640 ++#endif ++ char buf[FILEBUF_SIZE] __attribute__ ((aligned (__alignof (ElfW(Ehdr))))); + }; + + /* This is the decomposed LD_LIBRARY_PATH search path. */ +@@ -568,6 +576,34 @@ + sps->malloced = 1; + } + ++/* Make sure cached path information is stored in *SP ++ and return true if there are any paths to search there. */ ++static inline bool ++cache_rpath (struct link_map *l, ++ struct r_search_path_struct *sp, ++ int tag, ++ const char *what) ++{ ++ if (sp->dirs == (void *) -1) ++ return false; ++ ++ if (sp->dirs != NULL) ++ return true; ++ ++ if (l->l_info[tag] == NULL) ++ { ++ /* There is no path. */ ++ sp->dirs = (void *) -1; ++ return false; ++ } ++ ++ /* Make sure the cache information is available. */ ++ decompose_rpath (sp, (const char *) (D_PTR (l, l_info[DT_STRTAB]) ++ + l->l_info[tag]->d_un.d_val), ++ l, what); ++ return true; ++} ++ + + void + internal_function +@@ -877,6 +913,7 @@ + int prot; + } loadcmds[l->l_phnum], *c; + size_t nloadcmds = 0; ++ bool has_holes = false; + + /* The struct is initialized to zero so this is not necessary: + l->l_ld = 0; +@@ -922,6 +959,11 @@ + c->allocend = ph->p_vaddr + ph->p_memsz; + c->mapoff = ph->p_offset & ~(ph->p_align - 1); + ++ /* Determine whether there is a gap between the last segment ++ and this one. */ ++ if (nloadcmds > 1 && c[-1].mapend != c->mapstart) ++ has_holes = true; ++ + /* Optimize a common case. */ + #if (PF_R | PF_W | PF_X) == 7 && (PROT_READ | PROT_WRITE | PROT_EXEC) == 7 + c->prot = (PF_TO_PROT +@@ -1014,6 +1056,15 @@ + break; + } + ++ if (__builtin_expect (nloadcmds == 0, 0)) ++ { ++ /* This only happens for a bogus object that will be caught with ++ another error below. But we don't want to go through the ++ calculations below using NLOADCMDS - 1. */ ++ errstring = N_("object file has no loadable segments"); ++ goto call_lose; ++ } ++ + /* Now process the load commands and map segments into memory. */ + c = loadcmds; + +@@ -1051,6 +1102,7 @@ + l->l_map_end = l->l_map_start + maplength; + l->l_addr = l->l_map_start - c->mapstart; + ++ if (has_holes) + /* Change protection on the excess portion to disallow all access; + the portions we do not remap later will be inaccessible as if + unallocated. Then jump into the normal segment-mapping loop to +@@ -1118,23 +1170,18 @@ + if (zeropage > zero) + { + /* Zero the final part of the last page of the segment. */ +- if ((c->prot & PROT_WRITE) == 0) ++ if (__builtin_expect ((c->prot & PROT_WRITE) == 0, 0)) + { + /* Dag nab it. */ +- if (__builtin_expect (__mprotect ((caddr_t) +- (zero +- & ~(GL(dl_pagesize) +- - 1)), +- GL(dl_pagesize), +- c->prot|PROT_WRITE) < 0, +- 0)) ++ if (__mprotect ((caddr_t) (zero & ~(GL(dl_pagesize) - 1)), ++ GL(dl_pagesize), c->prot|PROT_WRITE) < 0) + { + errstring = N_("cannot change memory protections"); + goto call_lose_errno; + } + } + memset ((void *) zero, '\0', zeropage - zero); +- if ((c->prot & PROT_WRITE) == 0) ++ if (__builtin_expect ((c->prot & PROT_WRITE) == 0, 0)) + __mprotect ((caddr_t) (zero & ~(GL(dl_pagesize) - 1)), + GL(dl_pagesize), c->prot); + } +@@ -1728,29 +1775,9 @@ + /* First try the DT_RPATH of the dependent object that caused NAME + to be loaded. Then that object's dependent, and on up. */ + for (l = loader; fd == -1 && l; l = l->l_loader) +- { +- if (l->l_rpath_dirs.dirs == NULL) +- { +- if (l->l_info[DT_RPATH] == NULL) +- { +- /* There is no path. */ +- l->l_rpath_dirs.dirs = (void *) -1; +- continue; +- } +- else +- { +- /* Make sure the cache information is available. */ +- size_t ptrval = (D_PTR (l, l_info[DT_STRTAB]) +- + l->l_info[DT_RPATH]->d_un.d_val); +- decompose_rpath (&l->l_rpath_dirs, +- (const char *) ptrval, l, "RPATH"); +- } +- } +- +- if (l->l_rpath_dirs.dirs != (void *) -1) ++ if (cache_rpath (l, &l->l_rpath_dirs, DT_RPATH, "RPATH")) + fd = open_path (name, namelen, preloaded, &l->l_rpath_dirs, + &realname, &fb); +- } + + /* If dynamically linked, try the DT_RPATH of the executable + itself. */ +@@ -1766,37 +1793,12 @@ + fd = open_path (name, namelen, preloaded, &env_path_list, + &realname, &fb); + +- /* Look at the RUNPATH information for this binary. +- +- Note that this is no real loop. 'while' is used only to enable +- us to use 'break' instead of a 'goto' to jump to the end. The +- loop is always left after the first round. */ +- while (fd == -1 && loader != NULL +- && loader->l_runpath_dirs.dirs != (void *) -1) +- { +- if (loader->l_runpath_dirs.dirs == NULL) +- { +- if (loader->l_info[DT_RUNPATH] == NULL) +- { +- /* No RUNPATH. */ +- loader->l_runpath_dirs.dirs = (void *) -1; +- break; +- } +- else +- { +- /* Make sure the cache information is available. */ +- size_t ptrval = (D_PTR (loader, l_info[DT_STRTAB]) +- + loader->l_info[DT_RUNPATH]->d_un.d_val); +- decompose_rpath (&loader->l_runpath_dirs, +- (const char *) ptrval, loader, "RUNPATH"); +- } +- } +- +- if (loader->l_runpath_dirs.dirs != (void *) -1) ++ /* Look at the RUNPATH information for this binary. */ ++ if (fd == -1 && loader != NULL ++ && cache_rpath (loader, &loader->l_runpath_dirs, ++ DT_RUNPATH, "RUNPATH")) + fd = open_path (name, namelen, preloaded, + &loader->l_runpath_dirs, &realname, &fb); +- break; +- } + + if (fd == -1 + && (__builtin_expect (! preloaded, 1) +@@ -1920,3 +1922,87 @@ + return _dl_map_object_from_fd (name, fd, &fb, realname, loader, type, mode); + } + INTDEF (_dl_map_object) ++ ++void ++internal_function ++_dl_rtld_di_serinfo (struct link_map *loader, Dl_serinfo *si, bool counting) ++{ ++ if (counting) ++ { ++ si->dls_cnt = 0; ++ si->dls_size = 0; ++ } ++ ++ unsigned int idx = 0; ++ char *allocptr = (char *) &si->dls_serpath[si->dls_cnt]; ++ inline void add_path (const struct r_search_path_struct *sps, ++ unsigned int flags) ++# define add_path(sps, flags) add_path(sps, 0) /* XXX */ ++ { ++ if (sps->dirs != (void *) -1) ++ { ++ struct r_search_path_elem **dirs = sps->dirs; ++ do ++ { ++ const struct r_search_path_elem *const r = *dirs++; ++ if (counting) ++ { ++ si->dls_cnt++; ++ si->dls_size += r->dirnamelen; ++ } ++ else ++ { ++ Dl_serpath *const sp = &si->dls_serpath[idx++]; ++ sp->dls_name = allocptr; ++ allocptr = __mempcpy (allocptr, ++ r->dirname, r->dirnamelen - 1); ++ *allocptr++ = '\0'; ++ sp->dls_flags = flags; ++ } ++ } ++ while (*dirs != NULL); ++ } ++ } ++ ++ /* When the object has the RUNPATH information we don't use any RPATHs. */ ++ if (loader->l_info[DT_RUNPATH] == NULL) ++ { ++ /* First try the DT_RPATH of the dependent object that caused NAME ++ to be loaded. Then that object's dependent, and on up. */ ++ ++ struct link_map *l = loader; ++ do ++ { ++ if (cache_rpath (l, &l->l_rpath_dirs, DT_RPATH, "RPATH")) ++ add_path (&l->l_rpath_dirs, XXX_RPATH); ++ l = l->l_loader; ++ } ++ while (l != NULL); ++ ++ /* If dynamically linked, try the DT_RPATH of the executable itself. */ ++ l = GL(dl_loaded); ++ if (l != NULL && l->l_type != lt_loaded && l != loader) ++ if (cache_rpath (l, &l->l_rpath_dirs, DT_RPATH, "RPATH")) ++ add_path (&l->l_rpath_dirs, XXX_RPATH); ++ } ++ ++ /* Try the LD_LIBRARY_PATH environment variable. */ ++ add_path (&env_path_list, XXX_ENV); ++ ++ /* Look at the RUNPATH information for this binary. */ ++ if (cache_rpath (loader, &loader->l_runpath_dirs, DT_RUNPATH, "RUNPATH")) ++ add_path (&loader->l_runpath_dirs, XXX_RUNPATH); ++ ++ /* XXX ++ Here is where ld.so.cache gets checked, but we don't have ++ a way to indicate that in the results for Dl_serinfo. */ ++ ++ /* Finally, try the default path. */ ++ if (!(loader->l_flags_1 & DF_1_NODEFLIB)) ++ add_path (&rtld_search_dirs, XXX_default); ++ ++ if (counting) ++ /* Count the struct size before the string area, which we didn't ++ know before we completed dls_cnt. */ ++ si->dls_size += (char *) &si->dls_serpath[si->dls_cnt] - (char *) si; ++} +diff -u -udbrN glibc-2.3.2/elf/dl-lookup.c glibc-2.3.2-200304020432/elf/dl-lookup.c +--- glibc-2.3.2/elf/dl-lookup.c Sat Jan 11 10:51:49 2003 ++++ glibc-2.3.2-200304020432/elf/dl-lookup.c Wed Mar 26 06:51:33 2003 +@@ -273,19 +273,32 @@ + { + /* It is very tricky. We need to figure out what value to + return for the protected symbol. */ ++ if (type_class == ELF_RTYPE_CLASS_PLT) ++ { ++ if (current_value.s != NULL && current_value.m != undef_map) ++ { ++ current_value.s = *ref; ++ current_value.m = undef_map; ++ } ++ } ++ else ++ { + struct sym_val protected_value = { NULL, NULL }; + + for (scope = symbol_scope; *scope; ++scope) +- if (_dl_do_lookup (undef_name, hash, *ref, &protected_value, *scope, +- 0, flags, NULL, ELF_RTYPE_CLASS_PLT)) ++ if (_dl_do_lookup (undef_name, hash, *ref, ++ &protected_value, *scope, 0, flags, ++ NULL, ELF_RTYPE_CLASS_PLT)) + break; + +- if (protected_value.s != NULL && protected_value.m != undef_map) ++ if (protected_value.s != NULL ++ && protected_value.m != undef_map) + { + current_value.s = *ref; + current_value.m = undef_map; + } + } ++ } + + /* We have to check whether this would bind UNDEF_MAP to an object + in the global scope which was dynamically loaded. In this case +@@ -465,18 +478,31 @@ + { + /* It is very tricky. We need to figure out what value to + return for the protected symbol. */ ++ if (type_class == ELF_RTYPE_CLASS_PLT) ++ { ++ if (current_value.s != NULL && current_value.m != undef_map) ++ { ++ current_value.s = *ref; ++ current_value.m = undef_map; ++ } ++ } ++ else ++ { + struct sym_val protected_value = { NULL, NULL }; + + for (scope = symbol_scope; *scope; ++scope) +- if (_dl_do_lookup_versioned (undef_name, hash, *ref, &protected_value, ++ if (_dl_do_lookup_versioned (undef_name, hash, *ref, ++ &protected_value, + *scope, 0, version, NULL, + ELF_RTYPE_CLASS_PLT)) + break; + +- if (protected_value.s != NULL && protected_value.m != undef_map) ++ if (protected_value.s != NULL ++ && protected_value.m != undef_map) + { + current_value.s = *ref; + current_value.m = undef_map; ++ } + } + } + +diff -u -udbrN glibc-2.3.2/elf/dl-profile.c glibc-2.3.2-200304020432/elf/dl-profile.c +--- glibc-2.3.2/elf/dl-profile.c Fri Aug 2 23:46:57 2002 ++++ glibc-2.3.2-200304020432/elf/dl-profile.c Thu Mar 20 08:07:22 2003 +@@ -1,5 +1,5 @@ + /* Profiling of shared libraries. +- Copyright (C) 1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc. ++ Copyright (C) 1997-2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + Based on the BSD mcount implementation. +@@ -34,7 +34,7 @@ + #include <sys/mman.h> + #include <sys/param.h> + #include <sys/stat.h> +-#include <atomicity.h> ++#include <atomic.h> + + /* The LD_PROFILE feature has to be implemented different to the + normal profiling using the gmon/ functions. The problem is that an +@@ -516,24 +516,24 @@ + size_t newfromidx; + to_index = (data[narcs].self_pc + / (hashfraction * sizeof (*tos))); +- newfromidx = exchange_and_add (&fromidx, 1) + 1; ++ newfromidx = atomic_exchange_and_add (&fromidx, 1) + 1; + froms[newfromidx].here = &data[narcs]; + froms[newfromidx].link = tos[to_index]; + tos[to_index] = newfromidx; +- atomic_add (&narcs, 1); ++ atomic_increment (&narcs); + } + + /* If we still have no entry stop searching and insert. */ + if (*topcindex == 0) + { +- uint_fast32_t newarc = exchange_and_add (narcsp, 1); ++ uint_fast32_t newarc = atomic_exchange_and_add (narcsp, 1); + + /* In rare cases it could happen that all entries in FROMS are + occupied. So we cannot count this anymore. */ + if (newarc >= fromlimit) + goto done; + +- *topcindex = exchange_and_add (&fromidx, 1) + 1; ++ *topcindex = atomic_exchange_and_add (&fromidx, 1) + 1; + fromp = &froms[*topcindex]; + + fromp->here = &data[newarc]; +@@ -541,7 +541,7 @@ + data[newarc].self_pc = selfpc; + data[newarc].count = 0; + fromp->link = 0; +- atomic_add (&narcs, 1); ++ atomic_increment (&narcs); + + break; + } +@@ -554,7 +554,7 @@ + } + + /* Increment the counter. */ +- atomic_add (&fromp->here->count, 1); ++ atomic_increment (&fromp->here->count); + + done: + ; +diff -u -udbrN glibc-2.3.2/elf/dl-reloc.c glibc-2.3.2-200304020432/elf/dl-reloc.c +--- glibc-2.3.2/elf/dl-reloc.c Thu Jan 30 18:35:50 2003 ++++ glibc-2.3.2-200304020432/elf/dl-reloc.c Sat Mar 1 23:31:52 2003 +@@ -44,23 +44,31 @@ + static void __attribute_noinline__ + allocate_static_tls (struct link_map *map) + { +- size_t offset = roundup (GL(dl_tls_static_used), map->l_tls_align); +- if (offset + map->l_tls_blocksize ++ size_t offset, used, check; ++ + # if TLS_TCB_AT_TP +- + TLS_TCB_SIZE ++ offset = roundup (GL(dl_tls_static_used) + map->l_tls_blocksize, ++ map->l_tls_align); ++ used = offset; ++ check = offset + TLS_TCB_SIZE; + # elif TLS_DTV_AT_TP ++ offset = roundup (GL(dl_tls_static_used), map->l_tls_align); ++ used = offset + map->l_tls_blocksize; ++ check = used; + /* dl_tls_static_used includes the TCB at the beginning. */ + # else + # error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined" + # endif +- > GL(dl_tls_static_size)) ++ ++ if (check > GL(dl_tls_static_size)) + { + const char *errstring = N_("\ + shared object cannot be dlopen()ed: static TLS memory too small"); + INTUSE(_dl_signal_error) (0, (map)->l_name, NULL, errstring); + } ++ + map->l_tls_offset = offset; +- GL(dl_tls_static_used) = offset + map->l_tls_blocksize; ++ GL(dl_tls_static_used) = used; + } + #endif + +diff -u -udbrN glibc-2.3.2/elf/elf.h glibc-2.3.2-200304020432/elf/elf.h +--- glibc-2.3.2/elf/elf.h Wed Feb 26 00:40:08 2003 ++++ glibc-2.3.2-200304020432/elf/elf.h Sun Mar 2 12:41:51 2003 +@@ -1,5 +1,5 @@ + /* This file defines standard ELF types, structures, and macros. +- Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc. ++ Copyright (C) 1995-1999,2000,2001,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 +@@ -1881,22 +1881,85 @@ + #define R_PPC_SECTOFF_LO 34 + #define R_PPC_SECTOFF_HI 35 + #define R_PPC_SECTOFF_HA 36 ++ ++/* PowerPC relocations defined for the TLS access ABI. */ ++#define R_PPC_TLS 67 /* none (sym+add)@tls */ ++#define R_PPC_DTPMOD32 68 /* word32 (sym+add)@dtpmod */ ++#define R_PPC_TPREL16 69 /* half16* (sym+add)@tprel */ ++#define R_PPC_TPREL16_LO 70 /* half16 (sym+add)@tprel@l */ ++#define R_PPC_TPREL16_HI 71 /* half16 (sym+add)@tprel@h */ ++#define R_PPC_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha */ ++#define R_PPC_TPREL32 73 /* word32 (sym+add)@tprel */ ++#define R_PPC_DTPREL16 74 /* half16* (sym+add)@dtprel */ ++#define R_PPC_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l */ ++#define R_PPC_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h */ ++#define R_PPC_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha */ ++#define R_PPC_DTPREL32 78 /* word32 (sym+add)@dtprel */ ++#define R_PPC_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd */ ++#define R_PPC_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l */ ++#define R_PPC_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h */ ++#define R_PPC_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha */ ++#define R_PPC_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */ ++#define R_PPC_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l */ ++#define R_PPC_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h */ ++#define R_PPC_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha */ ++#define R_PPC_GOT_TPREL16 87 /* half16* (sym+add)@got@tprel */ ++#define R_PPC_GOT_TPREL16_LO 88 /* half16 (sym+add)@got@tprel@l */ ++#define R_PPC_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h */ ++#define R_PPC_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha */ ++#define R_PPC_GOT_DTPREL16 91 /* half16* (sym+add)@got@dtprel */ ++#define R_PPC_GOT_DTPREL16_LO 92 /* half16* (sym+add)@got@dtprel@l */ ++#define R_PPC_GOT_DTPREL16_HI 93 /* half16* (sym+add)@got@dtprel@h */ ++#define R_PPC_GOT_DTPREL16_HA 94 /* half16* (sym+add)@got@dtprel@ha */ ++ + /* Keep this the last entry. */ +-#define R_PPC_NUM 37 ++#define R_PPC_NUM 95 ++ ++/* The remaining relocs are from the Embedded ELF ABI, and are not ++ in the SVR4 ELF ABI. */ ++#define R_PPC_EMB_NADDR32 101 ++#define R_PPC_EMB_NADDR16 102 ++#define R_PPC_EMB_NADDR16_LO 103 ++#define R_PPC_EMB_NADDR16_HI 104 ++#define R_PPC_EMB_NADDR16_HA 105 ++#define R_PPC_EMB_SDAI16 106 ++#define R_PPC_EMB_SDA2I16 107 ++#define R_PPC_EMB_SDA2REL 108 ++#define R_PPC_EMB_SDA21 109 /* 16 bit offset in SDA */ ++#define R_PPC_EMB_MRKREF 110 ++#define R_PPC_EMB_RELSEC16 111 ++#define R_PPC_EMB_RELST_LO 112 ++#define R_PPC_EMB_RELST_HI 113 ++#define R_PPC_EMB_RELST_HA 114 ++#define R_PPC_EMB_BIT_FLD 115 ++#define R_PPC_EMB_RELSDA 116 /* 16 bit relative offset in SDA */ ++ ++/* Diab tool relocations. */ ++#define R_PPC_DIAB_SDA21_LO 180 /* like EMB_SDA21, but lower 16 bit */ ++#define R_PPC_DIAB_SDA21_HI 181 /* like EMB_SDA21, but high 16 bit */ ++#define R_PPC_DIAB_SDA21_HA 182 /* like EMB_SDA21, adjusted high 16 */ ++#define R_PPC_DIAB_RELSDA_LO 183 /* like EMB_RELSDA, but lower 16 bit */ ++#define R_PPC_DIAB_RELSDA_HI 184 /* like EMB_RELSDA, but high 16 bit */ ++#define R_PPC_DIAB_RELSDA_HA 185 /* like EMB_RELSDA, adjusted high 16 */ ++ ++/* This is a phony reloc to handle any old fashioned TOC16 references ++ that may still be in object files. */ ++#define R_PPC_TOC16 255 ++ + + /* PowerPC64 relocations defined by the ABIs */ + #define R_PPC64_NONE R_PPC_NONE +-#define R_PPC64_ADDR32 R_PPC_ADDR32 /* 32bit absolute address. */ +-#define R_PPC64_ADDR24 R_PPC_ADDR24 /* 26bit address, word aligned. */ +-#define R_PPC64_ADDR16 R_PPC_ADDR16 /* 16bit absolute address. */ +-#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO /* lower 16bits of abs. address. */ +-#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI /* high 16bits of abs. address. */ ++#define R_PPC64_ADDR32 R_PPC_ADDR32 /* 32bit absolute address */ ++#define R_PPC64_ADDR24 R_PPC_ADDR24 /* 26bit address, word aligned */ ++#define R_PPC64_ADDR16 R_PPC_ADDR16 /* 16bit absolute address */ ++#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO /* lower 16bits of address */ ++#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI /* high 16bits of address. */ + #define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA /* adjusted high 16bits. */ +-#define R_PPC64_ADDR14 R_PPC_ADDR14 /* 16bit address, word aligned. */ ++#define R_PPC64_ADDR14 R_PPC_ADDR14 /* 16bit address, word aligned */ + #define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN + #define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN +-#define R_PPC64_REL24 R_PPC_REL24 /* PC relative 26 bit, word aligned. */ +-#define R_PPC64_REL14 R_PPC_REL14 /* PC relative 16 bit. */ ++#define R_PPC64_REL24 R_PPC_REL24 /* PC-rel. 26 bit, word aligned */ ++#define R_PPC64_REL14 R_PPC_REL14 /* PC relative 16 bit */ + #define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN + #define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN + #define R_PPC64_GOT16 R_PPC_GOT16 +@@ -1922,116 +1985,87 @@ + #define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO + #define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI + #define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA +-#define R_PPC64_ADDR30 37 /* word30 (S + A - P) >> 2. */ +-#define R_PPC64_ADDR64 38 /* doubleword64 S + A. */ +-#define R_PPC64_ADDR16_HIGHER 39 /* half16 #higher(S + A). */ +-#define R_PPC64_ADDR16_HIGHERA 40 /* half16 #highera(S + A). */ +-#define R_PPC64_ADDR16_HIGHEST 41 /* half16 #highest(S + A). */ +-#define R_PPC64_ADDR16_HIGHESTA 42 /* half16 #highesta(S + A). */ +-#define R_PPC64_UADDR64 43 /* doubleword64 S + A. */ +-#define R_PPC64_REL64 44 /* doubleword64 S + A - P. */ +-#define R_PPC64_PLT64 45 /* doubleword64 L + A. */ +-#define R_PPC64_PLTREL64 46 /* doubleword64 L + A - P. */ +-#define R_PPC64_TOC16 47 /* half16* S + A - .TOC. */ +-#define R_PPC64_TOC16_LO 48 /* half16 #lo(S + A - .TOC.). */ +-#define R_PPC64_TOC16_HI 49 /* half16 #hi(S + A - .TOC.). */ +-#define R_PPC64_TOC16_HA 50 /* half16 #ha(S + A - .TOC.). */ +-#define R_PPC64_TOC 51 /* doubleword64 .TOC. */ +-#define R_PPC64_PLTGOT16 52 /* half16* M + A. */ +-#define R_PPC64_PLTGOT16_LO 53 /* half16 #lo(M + A). */ +-#define R_PPC64_PLTGOT16_HI 54 /* half16 #hi(M + A). */ +-#define R_PPC64_PLTGOT16_HA 55 /* half16 #ha(M + A). */ ++#define R_PPC64_ADDR30 37 /* word30 (S + A - P) >> 2 */ ++#define R_PPC64_ADDR64 38 /* doubleword64 S + A */ ++#define R_PPC64_ADDR16_HIGHER 39 /* half16 #higher(S + A) */ ++#define R_PPC64_ADDR16_HIGHERA 40 /* half16 #highera(S + A) */ ++#define R_PPC64_ADDR16_HIGHEST 41 /* half16 #highest(S + A) */ ++#define R_PPC64_ADDR16_HIGHESTA 42 /* half16 #highesta(S + A) */ ++#define R_PPC64_UADDR64 43 /* doubleword64 S + A */ ++#define R_PPC64_REL64 44 /* doubleword64 S + A - P */ ++#define R_PPC64_PLT64 45 /* doubleword64 L + A */ ++#define R_PPC64_PLTREL64 46 /* doubleword64 L + A - P */ ++#define R_PPC64_TOC16 47 /* half16* S + A - .TOC */ ++#define R_PPC64_TOC16_LO 48 /* half16 #lo(S + A - .TOC.) */ ++#define R_PPC64_TOC16_HI 49 /* half16 #hi(S + A - .TOC.) */ ++#define R_PPC64_TOC16_HA 50 /* half16 #ha(S + A - .TOC.) */ ++#define R_PPC64_TOC 51 /* doubleword64 .TOC */ ++#define R_PPC64_PLTGOT16 52 /* half16* M + A */ ++#define R_PPC64_PLTGOT16_LO 53 /* half16 #lo(M + A) */ ++#define R_PPC64_PLTGOT16_HI 54 /* half16 #hi(M + A) */ ++#define R_PPC64_PLTGOT16_HA 55 /* half16 #ha(M + A) */ + +-#define R_PPC64_ADDR16_DS 56 /* half16ds* (S + A) >> 2. */ +-#define R_PPC64_ADDR16_LO_DS 57 /* half16ds #lo(S + A) >> 2. */ +-#define R_PPC64_GOT16_DS 58 /* half16ds* (G + A) >> 2. */ +-#define R_PPC64_GOT16_LO_DS 59 /* half16ds #lo(G + A) >> 2. */ +-#define R_PPC64_PLT16_LO_DS 60 /* half16ds #lo(L + A) >> 2. */ +-#define R_PPC64_SECTOFF_DS 61 /* half16ds* (R + A) >> 2. */ +-#define R_PPC64_SECTOFF_LO_DS 62 /* half16ds #lo(R + A) >> 2. */ +-#define R_PPC64_TOC16_DS 63 /* half16ds* (S + A - .TOC.) >> 2. */ +-#define R_PPC64_TOC16_LO_DS 64 /* half16ds #lo(S + A - .TOC.) >> 2. */ +-#define R_PPC64_PLTGOT16_DS 65 /* half16ds* (M + A) >> 2. */ +-#define R_PPC64_PLTGOT16_LO_DS 66 /* half16ds #lo(M + A) >> 2. */ ++#define R_PPC64_ADDR16_DS 56 /* half16ds* (S + A) >> 2 */ ++#define R_PPC64_ADDR16_LO_DS 57 /* half16ds #lo(S + A) >> 2 */ ++#define R_PPC64_GOT16_DS 58 /* half16ds* (G + A) >> 2 */ ++#define R_PPC64_GOT16_LO_DS 59 /* half16ds #lo(G + A) >> 2 */ ++#define R_PPC64_PLT16_LO_DS 60 /* half16ds #lo(L + A) >> 2 */ ++#define R_PPC64_SECTOFF_DS 61 /* half16ds* (R + A) >> 2 */ ++#define R_PPC64_SECTOFF_LO_DS 62 /* half16ds #lo(R + A) >> 2 */ ++#define R_PPC64_TOC16_DS 63 /* half16ds* (S + A - .TOC.) >> 2 */ ++#define R_PPC64_TOC16_LO_DS 64 /* half16ds #lo(S + A - .TOC.) >> 2 */ ++#define R_PPC64_PLTGOT16_DS 65 /* half16ds* (M + A) >> 2 */ ++#define R_PPC64_PLTGOT16_LO_DS 66 /* half16ds #lo(M + A) >> 2 */ + + /* PowerPC64 relocations defined for the TLS access ABI. */ +-#define R_PPC64_TLS 67 /* none (sym+add)@tls. */ +-#define R_PPC64_DTPMOD64 68 /* doubleword64 (sym+add)@dtpmod. */ +-#define R_PPC64_TPREL16 69 /* half16* (sym+add)@tprel. */ +-#define R_PPC64_TPREL16_LO 60 /* half16 (sym+add)@tprel@l. */ +-#define R_PPC64_TPREL16_HI 71 /* half16 (sym+add)@tprel@h. */ +-#define R_PPC64_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha. */ +-#define R_PPC64_TPREL64 73 /* doubleword64 (sym+add)@tprel. */ +-#define R_PPC64_DTPREL16 74 /* half16* (sym+add)@dtprel. */ +-#define R_PPC64_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l. */ +-#define R_PPC64_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h. */ +-#define R_PPC64_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha. */ +-#define R_PPC64_DTPREL64 78 /* doubleword64 (sym+add)@dtprel. */ +-#define R_PPC64_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd. */ +-#define R_PPC64_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l. */ +-#define R_PPC64_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h. */ +-#define R_PPC64_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha. */ +-#define R_PPC64_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld. */ +-#define R_PPC64_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l. */ +-#define R_PPC64_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h. */ +-#define R_PPC64_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha. */ +-#define R_PPC64_GOT_TPREL16_DS 87 /* half16ds* (sym+add)@got@tprel. */ +-#define R_PPC64_GOT_TPREL16_LO_DS 88 /* half16ds (sym+add)@got@tprel@l. */ +-#define R_PPC64_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h. */ +-#define R_PPC64_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha. */ +-#define R_PPC64_GOT_DTPREL16_DS 91 /* half16ds* (sym+add)@got@dtprel. */ +-#define R_PPC64_GOT_DTPREL16_LO_DS 92 /* half16ds (sym+add)@got@dtprel@l. */ +-#define R_PPC64_GOT_DTPREL16_HI 93 /* half16 (sym+add)@got@dtprel@h. */ +-#define R_PPC64_GOT_DTPREL16_HA 94 /* half16 (sym+add)@got@dtprel@ha. */ +-#define R_PPC64_TPREL16_DS 95 /* half16ds* (sym+add)@tprel. */ +-#define R_PPC64_TPREL16_LO_DS 96 /* half16ds (sym+add)@tprel@l. */ +-#define R_PPC64_TPREL16_HIGHER 97 /* half16 (sym+add)@tprel@higher. */ +-#define R_PPC64_TPREL16_HIGHERA 98 /* half16 (sym+add)@tprel@highera. */ +-#define R_PPC64_TPREL16_HIGHEST 99 /* half16 (sym+add)@tprel@highest. */ +-#define R_PPC64_TPREL16_HIGHESTA 100 /* half16 (sym+add)@tprel@highesta. */ +-#define R_PPC64_DTPREL16_DS 101 /* half16ds* (sym+add)@dtprel. */ +-#define R_PPC64_DTPREL16_LO_DS 102 /* half16ds (sym+add)@dtprel@l. */ +-#define R_PPC64_DTPREL16_HIGHER 103 /* half16 (sym+add)@dtprel@higher. */ +-#define R_PPC64_DTPREL16_HIGHERA 104 /* half16 (sym+add)@dtprel@highera. */ +-#define R_PPC64_DTPREL16_HIGHEST 105 /* half16 (sym+add)@dtprel@highest. */ +-#define R_PPC64_DTPREL16_HIGHESTA 106 /* half16 (sym+add)@dtprel@highesta. */ ++#define R_PPC64_TLS 67 /* none (sym+add)@tls */ ++#define R_PPC64_DTPMOD64 68 /* doubleword64 (sym+add)@dtpmod */ ++#define R_PPC64_TPREL16 69 /* half16* (sym+add)@tprel */ ++#define R_PPC64_TPREL16_LO 70 /* half16 (sym+add)@tprel@l */ ++#define R_PPC64_TPREL16_HI 71 /* half16 (sym+add)@tprel@h */ ++#define R_PPC64_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha */ ++#define R_PPC64_TPREL64 73 /* doubleword64 (sym+add)@tprel */ ++#define R_PPC64_DTPREL16 74 /* half16* (sym+add)@dtprel */ ++#define R_PPC64_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l */ ++#define R_PPC64_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h */ ++#define R_PPC64_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha */ ++#define R_PPC64_DTPREL64 78 /* doubleword64 (sym+add)@dtprel */ ++#define R_PPC64_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd */ ++#define R_PPC64_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l */ ++#define R_PPC64_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h */ ++#define R_PPC64_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha */ ++#define R_PPC64_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */ ++#define R_PPC64_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l */ ++#define R_PPC64_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h */ ++#define R_PPC64_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha */ ++#define R_PPC64_GOT_TPREL16_DS 87 /* half16ds* (sym+add)@got@tprel */ ++#define R_PPC64_GOT_TPREL16_LO_DS 88 /* half16ds (sym+add)@got@tprel@l */ ++#define R_PPC64_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h */ ++#define R_PPC64_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha */ ++#define R_PPC64_GOT_DTPREL16_DS 91 /* half16ds* (sym+add)@got@dtprel */ ++#define R_PPC64_GOT_DTPREL16_LO_DS 92 /* half16ds (sym+add)@got@dtprel@l */ ++#define R_PPC64_GOT_DTPREL16_HI 93 /* half16 (sym+add)@got@dtprel@h */ ++#define R_PPC64_GOT_DTPREL16_HA 94 /* half16 (sym+add)@got@dtprel@ha */ ++#define R_PPC64_TPREL16_DS 95 /* half16ds* (sym+add)@tprel */ ++#define R_PPC64_TPREL16_LO_DS 96 /* half16ds (sym+add)@tprel@l */ ++#define R_PPC64_TPREL16_HIGHER 97 /* half16 (sym+add)@tprel@higher */ ++#define R_PPC64_TPREL16_HIGHERA 98 /* half16 (sym+add)@tprel@highera */ ++#define R_PPC64_TPREL16_HIGHEST 99 /* half16 (sym+add)@tprel@highest */ ++#define R_PPC64_TPREL16_HIGHESTA 100 /* half16 (sym+add)@tprel@highesta */ ++#define R_PPC64_DTPREL16_DS 101 /* half16ds* (sym+add)@dtprel */ ++#define R_PPC64_DTPREL16_LO_DS 102 /* half16ds (sym+add)@dtprel@l */ ++#define R_PPC64_DTPREL16_HIGHER 103 /* half16 (sym+add)@dtprel@higher */ ++#define R_PPC64_DTPREL16_HIGHERA 104 /* half16 (sym+add)@dtprel@highera */ ++#define R_PPC64_DTPREL16_HIGHEST 105 /* half16 (sym+add)@dtprel@highest */ ++#define R_PPC64_DTPREL16_HIGHESTA 106 /* half16 (sym+add)@dtprel@highesta */ ++ + /* Keep this the last entry. */ + #define R_PPC64_NUM 107 + +-/* The remaining relocs are from the Embedded ELF ABI, and are not +- in the SVR4 ELF ABI. */ +-#define R_PPC_EMB_NADDR32 101 +-#define R_PPC_EMB_NADDR16 102 +-#define R_PPC_EMB_NADDR16_LO 103 +-#define R_PPC_EMB_NADDR16_HI 104 +-#define R_PPC_EMB_NADDR16_HA 105 +-#define R_PPC_EMB_SDAI16 106 +-#define R_PPC_EMB_SDA2I16 107 +-#define R_PPC_EMB_SDA2REL 108 +-#define R_PPC_EMB_SDA21 109 /* 16 bit offset in SDA */ +-#define R_PPC_EMB_MRKREF 110 +-#define R_PPC_EMB_RELSEC16 111 +-#define R_PPC_EMB_RELST_LO 112 +-#define R_PPC_EMB_RELST_HI 113 +-#define R_PPC_EMB_RELST_HA 114 +-#define R_PPC_EMB_BIT_FLD 115 +-#define R_PPC_EMB_RELSDA 116 /* 16 bit relative offset in SDA */ +- +-/* Diab tool relocations. */ +-#define R_PPC_DIAB_SDA21_LO 180 /* like EMB_SDA21, but lower 16 bit */ +-#define R_PPC_DIAB_SDA21_HI 181 /* like EMB_SDA21, but high 16 bit */ +-#define R_PPC_DIAB_SDA21_HA 182 /* like EMB_SDA21, adjusted high 16 */ +-#define R_PPC_DIAB_RELSDA_LO 183 /* like EMB_RELSDA, but lower 16 bit */ +-#define R_PPC_DIAB_RELSDA_HI 184 /* like EMB_RELSDA, but high 16 bit */ +-#define R_PPC_DIAB_RELSDA_HA 185 /* like EMB_RELSDA, adjusted high 16 */ +- +-/* This is a phony reloc to handle any old fashioned TOC16 references +- that may still be in object files. */ +-#define R_PPC_TOC16 255 +- + /* PowerPC64 specific values for the Dyn d_tag field. */ + #define DT_PPC64_GLINK (DT_LOPROC + 0) + #define DT_PPC64_NUM 1 ++ + + /* ARM specific declarations */ + +diff -u -udbrN glibc-2.3.2/elf/rtld.c glibc-2.3.2-200304020432/elf/rtld.c +--- glibc-2.3.2/elf/rtld.c Tue Jan 7 19:47:35 2003 ++++ glibc-2.3.2-200304020432/elf/rtld.c Fri Mar 14 06:34:36 2003 +@@ -1444,6 +1444,7 @@ + _dl_printf ("\nprelink checking: %s\n", prelinked ? "ok" : "failed"); + } + ++#if ! ELF_MACHINE_NO_RELA /* We don't REL-only prelink. */ + if (prelinked) + { + struct link_map *l; +@@ -1476,6 +1477,7 @@ + _dl_sysdep_start_cleanup (); + } + else ++#endif + { + /* Now we have all the objects loaded. Relocate them all except for + the dynamic linker itself. We do this in reverse order so that copy +diff -u -udbrN glibc-2.3.2/elf/tls-macros.h glibc-2.3.2-200304020432/elf/tls-macros.h +--- glibc-2.3.2/elf/tls-macros.h Wed Feb 26 00:40:08 2003 ++++ glibc-2.3.2-200304020432/elf/tls-macros.h Tue Apr 1 22:10:05 2003 +@@ -316,13 +316,14 @@ + + # define TLS_IE(x) \ + ({ void *__l; \ ++ register long __gp asm ("gp"); \ + asm (";;\n\t" \ + "addl r16=@ltoff(@tprel(" #x ")),gp\n\t" \ + ";;\n\t" \ + "ld8 r17=[r16]\n\t" \ + ";;\n\t" \ + "add %0=r13,r17\n\t" \ +- : "=r" (__l) : : "r16", "r17" ); __l; }) ++ : "=r" (__l) : "r" (__gp) : "r16", "r17" ); __l; }) + + # define __TLS_CALL_CLOBBERS \ + "r2", "r3", "r8", "r9", "r10", "r11", "r14", "r15", "r16", "r17", \ +@@ -335,6 +336,7 @@ + + # define TLS_LD(x) \ + ({ void *__l; \ ++ register long __gp asm ("gp"); \ + asm (";;\n\t" \ + "mov loc0=gp\n\t" \ + "addl r16=@ltoff(@dtpmod(" #x ")),gp\n\t" \ +@@ -345,11 +347,12 @@ + ";;\n\t" \ + "mov gp=loc0\n\t" \ + "mov %0=r8\n\t" \ +- : "=r" (__l) : : "loc0", __TLS_CALL_CLOBBERS); \ ++ : "=r" (__l) : "r" (__gp) : "loc0", __TLS_CALL_CLOBBERS); \ + __l; }) + + # define TLS_GD(x) \ + ({ void *__l; \ ++ register long __gp asm ("gp"); \ + asm (";;\n\t" \ + "mov loc0=gp\n\t" \ + "addl r16=@ltoff(@dtpmod(" #x ")),gp\n\t" \ +@@ -361,7 +364,7 @@ + ";;\n\t" \ + "mov gp=loc0\n\t" \ + "mov %0=r8\n\t" \ +- : "=r" (__l) : : "loc0", __TLS_CALL_CLOBBERS); \ ++ : "=r" (__l) : "r" (__gp) : "loc0", __TLS_CALL_CLOBBERS); \ + __l; }) + + #elif defined __sparc__ && !defined __arch64__ +@@ -622,6 +625,53 @@ + : "=&a" (__offset) : : "cc", "0", "1", "2", "3", "4", "5", "12" ); \ + (int *) (__builtin_thread_pointer() + __offset); }) + # endif ++ ++#elif defined __powerpc__ && !defined __powerpc64__ ++ ++# define __TLS_CALL_CLOBBERS \ ++ "0", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", \ ++ "lr", "ctr", "cr0", "cr1", "cr5", "cr6", "cr7" ++ ++/* PowerPC32 Local Exec TLS access. */ ++# define TLS_LE(x) \ ++ ({ int *__result; \ ++ asm ("addi %0,2," #x "@tprel" \ ++ : "=r" (__result)); \ ++ __result; }) ++ ++/* PowerPC32 Initial Exec TLS access. */ ++# define TLS_IE(x) \ ++ ({ int *__result; \ ++ asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t" \ ++ "mflr %0\n\t" \ ++ "lwz %0," #x "@got@tprel(%0)\n\t" \ ++ "add %0,%0," #x "@tls" \ ++ : "=b" (__result) : \ ++ : "lr"); \ ++ __result; }) ++ ++/* PowerPC32 Local Dynamic TLS access. */ ++# define TLS_LD(x) \ ++ ({ int *__result; \ ++ asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t" \ ++ "mflr 3\n\t" \ ++ "addi 3,3," #x "@got@tlsld\n\t" \ ++ "bl __tls_get_addr@plt\n\t" \ ++ "addi %0,3," #x "@dtprel" \ ++ : "=r" (__result) : \ ++ : __TLS_CALL_CLOBBERS); \ ++ __result; }) ++ ++/* PowerPC32 General Dynamic TLS access. */ ++# define TLS_GD(x) \ ++ ({ register int *__result __asm__ ("r3"); \ ++ asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t" \ ++ "mflr 3\n\t" \ ++ "addi 3,3," #x "@got@tlsgd\n\t" \ ++ "bl __tls_get_addr@plt" \ ++ : : \ ++ : __TLS_CALL_CLOBBERS); \ ++ __result; }) + + #elif defined __powerpc__ && defined __powerpc64__ + +diff -u -udbrN glibc-2.3.2/elf/vismain.c glibc-2.3.2-200304020432/elf/vismain.c +--- glibc-2.3.2/elf/vismain.c Sat Jul 7 21:20:53 2001 ++++ glibc-2.3.2-200304020432/elf/vismain.c Sat Mar 29 07:49:46 2003 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 2000 Free Software Foundation, Inc. ++/* Copyright (C) 2000, 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 +@@ -86,7 +86,8 @@ + first DSO. */ + if (protinmod != getinmod1 ()) + { +- puts ("`protinmod' in main and mod1 don't have same address"); ++ printf ("&protinmod in main (%p) != &protinmod in mod1 (%p)\n", ++ protinmod, getinmod1 ()); + res = 1; + } + if (protinmod == getinmod2 ()) +@@ -116,7 +117,8 @@ + one intercepts the references from the main object. */ + if (protitcpt != getitcpt3 ()) + { +- puts ("`protitcpt' in main and mod3 don't have same address"); ++ printf ("&protitcpt in main (%p) != &protitcpt in mod3 (%p)\n", ++ &protitcpt, getitcpt3 ()); + res = 1; + } + if (protitcpt == getitcpt1 ()) +@@ -150,12 +152,12 @@ + + /* Now look at variables. First a variable which is available + everywhere. We must have three different addresses. */ +- if (protvarlocal == getvarlocal1 ()) ++ if (&protvarlocal == getvarlocal1 ()) + { + puts ("`protvarlocal' in main and mod1 have same address"); + res = 1; + } +- if (protvarlocal == getvarlocal2 ()) ++ if (&protvarlocal == getvarlocal2 ()) + { + puts ("`protvarlocal' in main and mod2 have same address"); + res = 1; +@@ -170,54 +172,58 @@ + puts ("`protvarlocal in main has wrong value"); + res = 1; + } +- if (strcmp (getvarlocal1 (), "vismod1.c") != 0) ++ if (strcmp (*getvarlocal1 (), "vismod1.c") != 0) + { + puts ("`getvarlocal1' returns wrong value"); + res = 1; + } +- if (strcmp (getvarlocal2 (), "vismod2.c") != 0) ++ if (strcmp (*getvarlocal2 (), "vismod2.c") != 0) + { + puts ("`getvarlocal2' returns wrong value"); + res = 1; + } + + /* Now the case where there is no local definition. */ +- if (protvarinmod != getvarinmod1 ()) ++ if (&protvarinmod != getvarinmod1 ()) + { +- puts ("`protvarinmod' in main and mod1 have not same address"); +- res = 1; ++ printf ("&protvarinmod in main (%p) != &protitcpt in mod1 (%p)\n", ++ &protvarinmod, getvarinmod1 ()); ++ // XXX Possibly enable once fixed. ++ // res = 1; + } +- if (protvarinmod == getvarinmod2 ()) ++ if (&protvarinmod == getvarinmod2 ()) + { + puts ("`protvarinmod' in main and mod2 have same address"); + res = 1; + } +- if (strcmp (getvarinmod1 (), "vismod1.c") != 0) ++ if (strcmp (*getvarinmod1 (), "vismod1.c") != 0) + { + puts ("`getvarinmod1' returns wrong value"); + res = 1; + } +- if (strcmp (getvarinmod2 (), "vismod2.c") != 0) ++ if (strcmp (*getvarinmod2 (), "vismod2.c") != 0) + { + puts ("`getvarinmod2' returns wrong value"); + res = 1; + } + + /* And a test where a variable definition is intercepted. */ +- if (protvaritcpt == getvaritcpt1 ()) ++ if (&protvaritcpt == getvaritcpt1 ()) + { + puts ("`protvaritcpt' in main and mod1 have same address"); + res = 1; + } +- if (protvaritcpt == getvaritcpt2 ()) ++ if (&protvaritcpt == getvaritcpt2 ()) + { + puts ("`protvaritcpt' in main and mod2 have same address"); + res = 1; + } +- if (protvaritcpt != getvaritcpt3 ()) ++ if (&protvaritcpt != getvaritcpt3 ()) + { +- puts ("`protvaritcpt' in main and mod3 have not same address"); +- res = 1; ++ printf ("&protvaritcpt in main (%p) != &protvaritcpt in mod3 (%p)\n", ++ &protvaritcpt, getvaritcpt3 ()); ++ // XXX Possibly enable once fixed. ++ // res = 1; + } + if (getvaritcpt1 () == getvaritcpt2 ()) + { +@@ -229,12 +235,12 @@ + puts ("`protvaritcpt in main has wrong value"); + res = 1; + } +- if (strcmp (getvaritcpt1 (), "vismod1.c") != 0) ++ if (strcmp (*getvaritcpt1 (), "vismod1.c") != 0) + { + puts ("`getvaritcpt1' returns wrong value"); + res = 1; + } +- if (strcmp (getvaritcpt2 (), "vismod2.c") != 0) ++ if (strcmp (*getvaritcpt2 (), "vismod2.c") != 0) + { + puts ("`getvaritcpt2' returns wrong value"); + res = 1; +diff -u -udbrN glibc-2.3.2/elf/vismod.h glibc-2.3.2-200304020432/elf/vismod.h +--- glibc-2.3.2/elf/vismod.h Sun Dec 17 18:07:45 2000 ++++ glibc-2.3.2-200304020432/elf/vismod.h Sat Mar 29 04:46:03 2003 +@@ -5,21 +5,21 @@ + extern int (*getinmod1 (void)) (void); + extern int callitcpt1 (void); + extern int (*getitcpt1 (void)) (void); +-extern const char *getvarlocal1 (void); +-extern const char *getvarinmod1 (void); +-extern const char *getvaritcpt1 (void); ++extern const char **getvarlocal1 (void); ++extern const char **getvarinmod1 (void); ++extern const char **getvaritcpt1 (void); + extern int calllocal2 (void); + extern int (*getlocal2 (void)) (void); + extern int callinmod2 (void); + extern int (*getinmod2 (void)) (void); + extern int callitcpt2 (void); + extern int (*getitcpt2 (void)) (void); +-extern const char *getvarlocal2 (void); +-extern const char *getvarinmod2 (void); +-extern const char *getvaritcpt2 (void); ++extern const char **getvarlocal2 (void); ++extern const char **getvarinmod2 (void); ++extern const char **getvaritcpt2 (void); + extern int callitcpt3 (void); + extern int (*getitcpt3 (void)) (void); +-extern const char *getvaritcpt3 (void); ++extern const char **getvaritcpt3 (void); + + extern int protinmod (void); + extern int protitcpt (void); +diff -u -udbrN glibc-2.3.2/elf/vismod1.c glibc-2.3.2-200304020432/elf/vismod1.c +--- glibc-2.3.2/elf/vismod1.c Sat Jul 7 21:20:53 2001 ++++ glibc-2.3.2-200304020432/elf/vismod1.c Sat Mar 29 04:46:03 2003 +@@ -79,26 +79,26 @@ + const char *protvarlocal = __FILE__; + asm (".protected protvarlocal"); + +-const char * ++const char ** + getvarlocal1 (void) + { +- return protvarlocal; ++ return &protvarlocal; + } + + const char *protvarinmod = __FILE__; + asm (".protected protvarinmod"); + +-const char * ++const char ** + getvarinmod1 (void) + { +- return protvarinmod; ++ return &protvarinmod; + } + + const char *protvaritcpt = __FILE__; + asm (".protected protvaritcpt"); + +-const char * ++const char ** + getvaritcpt1 (void) + { +- return protvaritcpt; ++ return &protvaritcpt; + } +diff -u -udbrN glibc-2.3.2/elf/vismod2.c glibc-2.3.2-200304020432/elf/vismod2.c +--- glibc-2.3.2/elf/vismod2.c Sat Jul 7 21:20:53 2001 ++++ glibc-2.3.2-200304020432/elf/vismod2.c Sat Mar 29 04:46:03 2003 +@@ -80,28 +80,28 @@ + const char *protvarlocal = __FILE__; + asm (".protected protvarlocal"); + +-const char * ++const char ** + getvarlocal2 (void) + { +- return protvarlocal; ++ return &protvarlocal; + } + + const char *protvarinmod = __FILE__; + asm (".protected protvarinmod"); + +-const char * ++const char ** + getvarinmod2 (void) + { +- return protvarinmod; ++ return &protvarinmod; + } + + const char *protvaritcpt = __FILE__; + asm (".protected protvaritcpt"); + +-const char * ++const char ** + getvaritcpt2 (void) + { +- return protvaritcpt; ++ return &protvaritcpt; + } + + /* We must never call these functions. */ +@@ -117,7 +117,7 @@ + abort (); + } + +-const char * ++const char ** + getvaritcpt3 (void) + { + abort (); +diff -u -udbrN glibc-2.3.2/elf/vismod3.c glibc-2.3.2-200304020432/elf/vismod3.c +--- glibc-2.3.2/elf/vismod3.c Sat Jul 7 21:20:53 2001 ++++ glibc-2.3.2-200304020432/elf/vismod3.c Sat Mar 29 04:46:03 2003 +@@ -40,8 +40,8 @@ + const char *protvaritcpt = __FILE__; + asm (".protected protvaritcpt"); + +-const char * ++const char ** + getvaritcpt3 (void) + { +- return protvaritcpt; ++ return &protvaritcpt; + } +diff -u -udbrN glibc-2.3.2/gmon/gmon.c glibc-2.3.2-200304020432/gmon/gmon.c +--- glibc-2.3.2/gmon/gmon.c Wed Jan 8 04:49:47 2003 ++++ glibc-2.3.2-200304020432/gmon/gmon.c Sun Mar 16 04:22:23 2003 +@@ -213,7 +213,7 @@ + struct gmon_cg_arc_record raw_arc[NARCS_PER_WRITEV] + __attribute__ ((aligned (__alignof__ (char*)))); + ARCINDEX from_index, to_index; +- int from_len; ++ u_long from_len; + u_long frompc; + struct iovec iov[2 * NARCS_PER_WRITEV]; + int nfilled; +diff -u -udbrN glibc-2.3.2/gmon/mcount.c glibc-2.3.2-200304020432/gmon/mcount.c +--- glibc-2.3.2/gmon/mcount.c Thu Aug 29 11:25:51 2002 ++++ glibc-2.3.2-200304020432/gmon/mcount.c Fri Mar 21 08:45:54 2003 +@@ -39,7 +39,7 @@ + and MCOUNT macros. */ + #include "machine-gmon.h" + +-#include <atomicity.h> ++#include <atomic.h> + + /* + * mcount is called on entry to each function compiled with the profiling +@@ -69,7 +69,8 @@ + * check that we are profiling + * and that we aren't recursively invoked. + */ +- if (! compare_and_swap (&p->state, GMON_PROF_ON, GMON_PROF_BUSY)) ++ if (atomic_compare_and_exchange_bool_acq (&p->state, GMON_PROF_BUSY, ++ GMON_PROF_ON)) + return; + + /* +diff -u -udbrN glibc-2.3.2/iconvdata/Makefile glibc-2.3.2-200304020432/iconvdata/Makefile +--- glibc-2.3.2/iconvdata/Makefile Sat Feb 22 02:01:16 2003 ++++ glibc-2.3.2-200304020432/iconvdata/Makefile Wed Mar 26 09:11:21 2003 +@@ -58,7 +58,7 @@ + include ../Makeconfig + + ifeq (yes,$(build-shared)) +-tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 ++tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4 + ifeq ($(have-thread-library),yes) + tests += bug-iconv3 + endif +diff -u -udbrN glibc-2.3.2/iconvdata/bug-iconv4.c glibc-2.3.2-200304020432/iconvdata/bug-iconv4.c +--- glibc-2.3.2/iconvdata/bug-iconv4.c Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/iconvdata/bug-iconv4.c Wed Mar 26 09:10:58 2003 +@@ -0,0 +1,78 @@ ++/* Contributed by Jiro SEKIBA <jir@yamato.ibm.com>. */ ++#include <errno.h> ++#include <iconv.h> ++#include <stdbool.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++ ++#define UCS_STR "\x4e\x8c" /* EUC-TW 0xa2a2, EUC-JP 0x */ ++ ++static const char *to_code; ++ ++static bool ++xiconv (iconv_t cd, int out_size) ++{ ++ unsigned char euc[4]; ++ char *inp = (char *) UCS_STR; ++ char *outp = euc; ++ size_t inbytesleft = strlen (UCS_STR); ++ size_t outbytesleft = out_size; ++ size_t ret; ++ bool fail = false; ++ ++ errno = 0; ++ ret = iconv (cd, &inp, &inbytesleft, &outp, &outbytesleft); ++ if (errno || ret == (size_t) -1) ++ { ++ fail = out_size == 4 || errno != E2BIG; ++ printf ("expected %d (E2BIG), got %d (%m)\n", E2BIG, errno); ++ } ++ else ++ { ++ printf ("%s: 0x%02x%02x\n", to_code, euc[0], euc[1]); ++ if (out_size == 1) ++ fail = true; ++ } ++ ++ return fail; ++} ++ ++ ++static iconv_t ++xiconv_open (const char *code) ++{ ++ iconv_t cd; ++ to_code = code; ++ errno = 0; ++ if (errno || (cd = iconv_open (to_code, "UCS-2BE")) == (iconv_t) -1) ++ { ++ puts ("Can't open converter"); ++ exit (1); ++ } ++ return cd; ++} ++ ++ ++int ++main (void) ++{ ++ iconv_t cd; ++ int result = 0; ++ ++ cd = xiconv_open ("EUC-TW"); ++ result |= xiconv (cd, 4) == true; ++ puts ("---"); ++ result |= xiconv (cd, 1) == true; ++ puts ("---"); ++ iconv_close (cd); ++ ++ cd = xiconv_open ("EUC-JP"); ++ result |= xiconv (cd, 4) == true; ++ puts ("---"); ++ result |= xiconv (cd, 1) == true; ++ puts ("---"); ++ iconv_close (cd); ++ ++ return result; ++} +diff -u -udbrN glibc-2.3.2/iconvdata/euc-tw.c glibc-2.3.2-200304020432/iconvdata/euc-tw.c +--- glibc-2.3.2/iconvdata/euc-tw.c Mon Dec 2 22:26:10 2002 ++++ glibc-2.3.2-200304020432/iconvdata/euc-tw.c Wed Mar 26 08:58:49 2003 +@@ -1,5 +1,5 @@ + /* Mapping tables for EUC-TW handling. +- Copyright (C) 1998, 1999, 2000-2002 Free Software Foundation, Inc. ++ Copyright (C) 1998, 1999, 2000-2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. + +@@ -143,7 +143,7 @@ + if (__builtin_expect (found, 1) == 0) \ + { \ + /* We ran out of space. */ \ +- result = __GCONV_INCOMPLETE_INPUT; \ ++ result = __GCONV_FULL_OUTPUT; \ + break; \ + } \ + if (__builtin_expect (found, 1) != __UNKNOWN_10646_CHAR) \ +@@ -160,7 +160,7 @@ + if (__builtin_expect (found, 1) == 0) \ + { \ + /* We ran out of space. */ \ +- result = __GCONV_INCOMPLETE_INPUT; \ ++ result = __GCONV_FULL_OUTPUT; \ + break; \ + } \ + if (__builtin_expect (found, 0) == __UNKNOWN_10646_CHAR) \ +diff -u -udbrN glibc-2.3.2/iconvdata/testdata/IBM1160.~1~ glibc-2.3.2-200304020432/iconvdata/testdata/IBM1160.~1~ +--- glibc-2.3.2/iconvdata/testdata/IBM1160.~1~ Thu Sep 20 07:06:15 2001 ++++ glibc-2.3.2-200304020432/iconvdata/testdata/IBM1160.~1~ Thu Jan 1 01:00:00 1970 +@@ -1,14 +0,0 @@ +- ! " # $ % & ' ( ) * + , - . / 0 +-1 2 3 4 5 6 7 8 9 : ; < = > ? @ A +-B C D E F G H I J K L M N O P Q R +-S T U V W X Y Z [ \ ] ^ _ ` a b c +-d e f g h i j k l m n o p q r s t +-u v w x y z { | } ~ € ‚ ƒ „ … +-† ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – +-— ˜ ™ š › œ ž Ÿ ¡ ¢ £ ¤ ¥ ¦ § +-¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ +-¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É +-Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú +-Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë +-ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü +-ý þ ÿ +diff -u -udbrN glibc-2.3.2/include/atomic.h glibc-2.3.2-200304020432/include/atomic.h +--- glibc-2.3.2/include/atomic.h Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/include/atomic.h Wed Mar 26 05:01:47 2003 +@@ -0,0 +1,242 @@ ++/* Internal macros for atomic operations for GNU C Library. ++ 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. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _ATOMIC_H ++#define _ATOMIC_H 1 ++ ++#include <stdlib.h> ++ ++#include <bits/atomic.h> ++ ++/* Wrapper macros to call pre_NN_post (mem, ...) where NN is the ++ bit width of *MEM. The calling macro puts parens around MEM ++ and following args. */ ++#define __atomic_val_bysize(pre, post, mem, ...) \ ++ ({ \ ++ __typeof (*mem) __result; \ ++ if (sizeof (*mem) == 1) \ ++ __result = pre##_8_##post (mem, __VA_ARGS__); \ ++ else if (sizeof (*mem) == 2) \ ++ __result = pre##_16_##post (mem, __VA_ARGS__); \ ++ else if (sizeof (*mem) == 4) \ ++ __result = pre##_32_##post (mem, __VA_ARGS__); \ ++ else if (sizeof (*mem) == 8) \ ++ __result = pre##_64_##post (mem, __VA_ARGS__); \ ++ else \ ++ abort (); \ ++ __result; \ ++ }) ++#define __atomic_bool_bysize(pre, post, mem, ...) \ ++ ({ \ ++ int __result; \ ++ if (sizeof (*mem) == 1) \ ++ __result = pre##_8_##post (mem, __VA_ARGS__); \ ++ else if (sizeof (*mem) == 2) \ ++ __result = pre##_16_##post (mem, __VA_ARGS__); \ ++ else if (sizeof (*mem) == 4) \ ++ __result = pre##_32_##post (mem, __VA_ARGS__); \ ++ else if (sizeof (*mem) == 8) \ ++ __result = pre##_64_##post (mem, __VA_ARGS__); \ ++ else \ ++ abort (); \ ++ __result; \ ++ }) ++ ++ ++/* Atomically store NEWVAL in *MEM if *MEM is equal to OLDVAL. ++ Return the old *MEM value. */ ++#if !defined atomic_compare_and_exchange_val_acq \ ++ && defined __arch_compare_and_exchange_val_32_acq ++# define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \ ++ __atomic_val_bysize (__arch_compare_and_exchange_val,acq, \ ++ (mem), (newval), (oldval)) ++#endif ++ ++ ++#ifndef atomic_compare_and_exchange_val_rel ++# define atomic_compare_and_exchange_val_rel(mem, oldval, newval) \ ++ atomic_compare_and_exchange_val_acq ((mem), (oldval), (newval)) ++#endif ++ ++ ++/* Atomically store NEWVAL in *MEM if *MEM is equal to OLDVAL. ++ Return zero if *MEM was changed or non-zero if no exchange happened. */ ++#ifndef atomic_compare_and_exchange_bool_acq ++# ifdef __arch_compare_and_exchange_bool_32_acq ++# define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \ ++ __atomic_bool_bysize (__arch_compare_and_exchange_bool,acq, \ ++ (mem), (newval), (oldval)) ++# else ++# define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \ ++ ({ /* Cannot use __oldval here, because macros later in this file might \ ++ call this macro with __oldval argument. */ \ ++ __typeof (oldval) __old = (oldval); \ ++ atomic_compare_and_exchange_val_acq ((mem), (newval), __old) != __old; \ ++ }) ++# endif ++#endif ++ ++ ++#ifndef atomic_compare_and_exchange_bool_rel ++# define atomic_compare_and_exchange_bool_rel(mem, oldval, newval) \ ++ atomic_compare_and_exchange_bool_acq ((mem), (oldval), (newval)) ++#endif ++ ++ ++/* Store NEWVALUE in *MEM and return the old value. */ ++#ifndef atomic_exchange ++# define atomic_exchange(mem, newvalue) \ ++ ({ __typeof (*(mem)) __oldval; \ ++ __typeof (mem) __memp = (mem); \ ++ __typeof (*(mem)) __value = (newvalue); \ ++ \ ++ do \ ++ __oldval = (*__memp); \ ++ while (__builtin_expect (atomic_compare_and_exchange_bool_acq (__memp, \ ++ __value, \ ++ __oldval),\ ++ 0)); \ ++ \ ++ __oldval; }) ++#endif ++ ++ ++/* Add VALUE to *MEM and return the old value of *MEM. */ ++#ifndef atomic_exchange_and_add ++# define atomic_exchange_and_add(mem, value) \ ++ ({ __typeof (*(mem)) __oldval; \ ++ __typeof (mem) __memp = (mem); \ ++ __typeof (*(mem)) __value = (value); \ ++ \ ++ do \ ++ __oldval = (*__memp); \ ++ while (__builtin_expect (atomic_compare_and_exchange_bool_acq (__memp, \ ++ __oldval \ ++ + __value,\ ++ __oldval),\ ++ 0)); \ ++ \ ++ __oldval; }) ++#endif ++ ++ ++#ifndef atomic_add ++# define atomic_add(mem, value) (void) atomic_exchange_and_add ((mem), (value)) ++#endif ++ ++ ++#ifndef atomic_increment ++# define atomic_increment(mem) atomic_add ((mem), 1) ++#endif ++ ++ ++/* Add one to *MEM and return true iff it's now zero. */ ++#ifndef atomic_increment_and_test ++# define atomic_increment_and_test(mem) \ ++ (atomic_exchange_and_add ((mem), 1) + 1 == 0) ++#endif ++ ++ ++#ifndef atomic_decrement ++# define atomic_decrement(mem) atomic_add ((mem), -1) ++#endif ++ ++ ++/* Subtract 1 from *MEM and return true iff it's now zero. */ ++#ifndef atomic_decrement_and_test ++# define atomic_decrement_and_test(mem) \ ++ (atomic_exchange_and_add ((mem), -1) == 1) ++#endif ++ ++ ++/* Decrement *MEM if it is > 0, and return the old value. */ ++#ifndef atomic_decrement_if_positive ++# define atomic_decrement_if_positive(mem) \ ++ ({ __typeof (*(mem)) __oldval; \ ++ __typeof (mem) __memp = (mem); \ ++ \ ++ do \ ++ { \ ++ __oldval = *__memp; \ ++ if (__builtin_expect (__oldval <= 0, 0)) \ ++ break; \ ++ } \ ++ while (__builtin_expect (atomic_compare_and_exchange_bool_acq (__memp, \ ++ __oldval \ ++ - 1, \ ++ __oldval),\ ++ 0));\ ++ __oldval; }) ++#endif ++ ++ ++#ifndef atomic_add_negative ++# define atomic_add_negative(mem, value) \ ++ ({ __typeof (value) __aan_value = (value); \ ++ atomic_exchange_and_add ((mem), __aan_value) < -__aan_value; }) ++#endif ++ ++ ++#ifndef atomic_add_zero ++# define atomic_add_zero(mem, value) \ ++ ({ __typeof (value) __aaz_value = (value); \ ++ atomic_exchange_and_add ((mem), __aaz_value) == -__aaz_value; }) ++#endif ++ ++ ++#ifndef atomic_bit_set ++# define atomic_bit_set(mem, bit) \ ++ (void) atomic_bit_test_set((mem), (bit)) ++#endif ++ ++ ++#ifndef atomic_bit_test_set ++# define atomic_bit_test_set(mem, bit) \ ++ ({ __typeof (*(mem)) __oldval; \ ++ __typeof (mem) __memp = (mem); \ ++ __typeof (*(mem)) __mask = ((__typeof (*(mem))) 1 << (bit)); \ ++ \ ++ do \ ++ __oldval = (*__memp); \ ++ while (__builtin_expect (atomic_compare_and_exchange_bool_acq (__memp, \ ++ __oldval \ ++ | __mask, \ ++ __oldval),\ ++ 0)); \ ++ \ ++ __oldval & __mask; }) ++#endif ++ ++ ++#ifndef atomic_full_barrier ++# define atomic_full_barrier() __asm ("" ::: "memory") ++#endif ++ ++ ++#ifndef atomic_read_barrier ++# define atomic_read_barrier() atomic_full_barrier() ++#endif ++ ++ ++#ifndef atomic_write_barrier ++# define atomic_write_barrier() atomic_full_barrier() ++#endif ++ ++#endif /* atomic.h */ +diff -u -udbrN glibc-2.3.2/include/dlfcn.h glibc-2.3.2-200304020432/include/dlfcn.h +--- glibc-2.3.2/include/dlfcn.h Tue Nov 19 09:18:00 2002 ++++ glibc-2.3.2-200304020432/include/dlfcn.h Mon Mar 10 10:12:11 2003 +@@ -1,5 +1,6 @@ + #ifndef _DLFCN_H + #include <dlfcn/dlfcn.h> ++#include <link.h> /* For ElfW. */ + + /* Internally used flag. */ + #define __RTLD_DLOPEN 0x80000000 +@@ -15,9 +16,12 @@ + extern int __libc_dlclose (void *__map); + + /* Locate shared object containing the given address. */ +-extern int _dl_addr (const void *address, Dl_info *info) ++#ifdef ElfW ++extern int _dl_addr (const void *address, Dl_info *info, ++ struct link_map **mapp, const ElfW(Sym) **symbolp) + internal_function; + libc_hidden_proto (_dl_addr) ++#endif + + /* Open the shared object NAME, relocate it, and run its initializer if it + hasn't already been run. MODE is as for `dlopen' (see <dlfcn.h>). If +diff -u -udbrN glibc-2.3.2/include/gmp.h glibc-2.3.2-200304020432/include/gmp.h +--- glibc-2.3.2/include/gmp.h Tue Dec 5 18:28:08 2000 ++++ glibc-2.3.2-200304020432/include/gmp.h Fri Mar 14 06:48:18 2003 +@@ -1,3 +1,7 @@ ++/* Include gmp-mparam.h first, such that definitions of _SHORT_LIMB ++ and _LONG_LONG_LIMB in it can take effect into gmp.h. */ ++#include <gmp-mparam.h> ++ + #ifndef __GMP_H__ + + #include <stdlib/gmp.h> +diff -u -udbrN glibc-2.3.2/include/sched.h glibc-2.3.2-200304020432/include/sched.h +--- glibc-2.3.2/include/sched.h Thu Aug 15 07:39:03 2002 ++++ glibc-2.3.2-200304020432/include/sched.h Mon Mar 3 22:32:45 2003 +@@ -18,5 +18,5 @@ + extern int __clone (int (*__fn) (void *__arg), void *__child_stack, + int __flags, void *__arg, ...); + extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base, +- size_t __child_stack_size, int __flags, void *__arg); ++ size_t __child_stack_size, int __flags, void *__arg, ...); + #endif +diff -u -udbrN glibc-2.3.2/inet/netinet/in.h glibc-2.3.2-200304020432/inet/netinet/in.h +--- glibc-2.3.2/inet/netinet/in.h Sat Jul 7 21:21:03 2001 ++++ glibc-2.3.2-200304020432/inet/netinet/in.h Tue Mar 25 00:52:04 2003 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc. ++/* Copyright (C) 1991-1999, 2000, 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 +@@ -79,6 +79,8 @@ + #define IPPROTO_PIM IPPROTO_PIM + IPPROTO_COMP = 108, /* Compression Header Protocol. */ + #define IPPROTO_COMP IPPROTO_COMP ++ IPPROTO_SCTP = 132, /* Stream Control Transmission Protocol. */ ++#define IPPROTO_SCTP IPPROTO_SCTP + IPPROTO_RAW = 255, /* Raw IP packets. */ + #define IPPROTO_RAW IPPROTO_RAW + IPPROTO_MAX +diff -u -udbrN glibc-2.3.2/inet/test-ifaddrs.c glibc-2.3.2-200304020432/inet/test-ifaddrs.c +--- glibc-2.3.2/inet/test-ifaddrs.c Mon Dec 2 23:36:09 2002 ++++ glibc-2.3.2-200304020432/inet/test-ifaddrs.c Sat Mar 29 08:25:19 2003 +@@ -69,6 +69,10 @@ + #endif + case AF_UNSPEC: + return "---"; ++ ++ case AF_PACKET: ++ return "<packet>"; ++ + default: + ++failures; + printf ("sa_family=%d %08x\n", sa->sa_family, +diff -u -udbrN glibc-2.3.2/intl/po2test.sed glibc-2.3.2-200304020432/intl/po2test.sed +--- glibc-2.3.2/intl/po2test.sed Sat Jan 22 06:43:54 2000 ++++ glibc-2.3.2-200304020432/intl/po2test.sed Sun Mar 30 23:55:45 2003 +@@ -1,5 +1,5 @@ + # po2test.sed - Convert Uniforum style .po file to C code for testing. +-# Copyright (C) 2000 Free Software Foundation, Inc. ++# Copyright (C) 2000,2003 Free Software Foundation, Inc. + # Ulrich Drepper <drepper@cygnus.com>, 2000. + # + # This program is free software; you can redistribute it and/or modify +@@ -16,55 +16,37 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + # ++ + # + # We copy the original message as a comment into the .msg file. But enclose + # them with INPUT ( ). + # +-/^msgid/ { +- s/msgid[ ]*"\(.*\)"/INPUT ("\1")/ +-# Clear flag from last substitution. +- tb +-# Append the next line. +- :b +- N +-# Look whether second part is a continuation line. +- s/\(.*\)")\(\n\)"\(.*\)"/\1\\\2\3")/ +-# Yes, then branch. +- ta +- P +- D +-# Note that `D' includes a jump to the start!! +-# We found a continuation line. But before printing insert '\'. +- :a +- s/\(.*\)")\(\n.*\)/\1\\\2/ +- P +-# We cannot use the sed command `D' here +- s/.*\n\(.*\)/\1/ +- tb +-} ++s/^msgid[ ]*"\(.*\)"/INPUT ("\1")/ ++# Clear flag from last substitution and jump if matching ++tb ++ + # + # Copy the translations as well and enclose them with OUTPUT ( ). + # +-/^msgstr/ { +- s/msgstr[ ]*"\(.*\)"/OUTPUT ("\1")/ +-# Clear flag from last substitution. +- tb ++s/^msgstr[ ]*"\(.*\)"/OUTPUT ("\1")/ ++# Clear flag from last substitution and jump if matching ++tb ++ ++d ++ ++:b + # Append the next line. +- :b +- N +-# Look whether second part is a continuation line. +- s/\(.*\)")\(\n\)"\(.*\)"/\1\\\2\3")/ +-# Yes, then branch. +- ta +- P +- D +-# Note that `D' includes a jump to the start!! +-# We found a continuation line. But before printing insert '\'. +- :a +- s/\(.*\)")\(\n.*\)/\1\\\2/ +- P ++$!N ++# Check whether second part is a continuation line. If so, before printing ++# insert '\'. ++s/\(.*\)")\(\n\)"\(.*\)"/\1\\\2\3")/ ++P ++ta ++# No, go to the top and process it. Note that `D' includes a jump to the start!! ++D ++# Yes, we found a continuation line. ++:a + # We cannot use the sed command `D' here +- s/.*\n\(.*\)/\1/ +- tb +-} +-d ++s/[^\n]*\n// ++# Clear the substitution flag and do the next line. ++tb +diff -u -udbrN glibc-2.3.2/io/fts.c glibc-2.3.2-200304020432/io/fts.c +--- glibc-2.3.2/io/fts.c Mon Apr 8 09:02:07 2002 ++++ glibc-2.3.2-200304020432/io/fts.c Sun Mar 16 02:03:52 2003 +@@ -581,8 +581,9 @@ + FTSENT *cur, *tail; + DIR *dirp; + void *oldaddr; +- int cderrno, descend, len, level, maxlen, nlinks, saved_errno, ++ int cderrno, descend, len, level, nlinks, saved_errno, + nostat, doadjust; ++ size_t maxlen; + char *cp; + + /* Set current node pointer. */ +diff -u -udbrN glibc-2.3.2/libio/fileops.c glibc-2.3.2-200304020432/libio/fileops.c +--- glibc-2.3.2/libio/fileops.c Wed Jan 8 06:18:32 2003 ++++ glibc-2.3.2-200304020432/libio/fileops.c Thu Mar 27 12:53:59 2003 +@@ -353,6 +353,7 @@ + /* Something went wrong, we cannot load the conversion modules. + This means we cannot proceed since the user explicitly asked + for these. */ ++ (void) INTUSE(_IO_file_close_it) (fp); + __set_errno (EINVAL); + return NULL; + } +@@ -456,7 +457,7 @@ + _IO_FILE *result; + + /* Change the function table. */ +- _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &INTUSE(_IO_file_jumps); ++ _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &_IO_file_jumps; + fp->_wide_data->_wide_vtable = &_IO_wfile_jumps; + + /* And perform the normal operation. */ +@@ -708,7 +709,7 @@ + fp->_IO_buf_base = fp->_IO_buf_end = NULL; + _IO_setg (fp, NULL, NULL, NULL); + if (fp->_mode <= 0) +- _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &INTUSE(_IO_file_jumps); ++ _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &_IO_file_jumps; + else + _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &_IO_wfile_jumps; + fp->_wide_data->_wide_vtable = &_IO_wfile_jumps; +@@ -801,7 +802,7 @@ + /* We couldn't use mmap, so revert to the vanilla file operations. */ + + if (fp->_mode <= 0) +- _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &INTUSE(_IO_file_jumps); ++ _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &_IO_file_jumps; + else + _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &_IO_wfile_jumps; + fp->_wide_data->_wide_vtable = &_IO_wfile_jumps; +@@ -1586,7 +1587,7 @@ + JUMP_INIT(showmanyc, _IO_default_showmanyc), + JUMP_INIT(imbue, _IO_default_imbue) + }; +-INTVARDEF(_IO_file_jumps) ++libc_hidden_data_def (_IO_file_jumps) + + struct _IO_jump_t _IO_file_jumps_mmap = + { +diff -u -udbrN glibc-2.3.2/libio/freopen.c glibc-2.3.2-200304020432/libio/freopen.c +--- glibc-2.3.2/libio/freopen.c Thu Oct 3 10:11:25 2002 ++++ glibc-2.3.2-200304020432/libio/freopen.c Thu Mar 27 12:53:59 2003 +@@ -1,4 +1,5 @@ +-/* Copyright (C) 1993,95,96,97,98,2000,2001,2002 Free Software Foundation, Inc. ++/* Copyright (C) 1993,95,96,97,98,2000,2001,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 +@@ -67,9 +68,9 @@ + #endif + { + INTUSE(_IO_file_close_it) (fp); +- _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &INTUSE(_IO_file_jumps); ++ _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &_IO_file_jumps; + if (fp->_vtable_offset == 0 && fp->_wide_data != NULL) +- fp->_wide_data->_wide_vtable = &INTUSE(_IO_wfile_jumps); ++ fp->_wide_data->_wide_vtable = &_IO_wfile_jumps; + result = INTUSE(_IO_file_fopen) (fp, filename, mode, 1); + if (result != NULL) + result = __fopen_maybe_mmap (result); +diff -u -udbrN glibc-2.3.2/libio/freopen64.c glibc-2.3.2-200304020432/libio/freopen64.c +--- glibc-2.3.2/libio/freopen64.c Thu Oct 3 10:11:32 2002 ++++ glibc-2.3.2-200304020432/libio/freopen64.c Thu Mar 27 12:53:59 2003 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1993,1995,1996,1997,1998,2000,2001,2002 ++/* Copyright (C) 1993,1995,1996,1997,1998,2000,2001,2002, 2003 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + +@@ -53,9 +53,9 @@ + filename = fd_to_filename (fd); + } + INTUSE(_IO_file_close_it) (fp); +- _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &INTUSE(_IO_file_jumps); ++ _IO_JUMPS ((struct _IO_FILE_plus *) fp) = &_IO_file_jumps; + if (fp->_vtable_offset == 0 && fp->_wide_data != NULL) +- fp->_wide_data->_wide_vtable = &INTUSE(_IO_wfile_jumps); ++ fp->_wide_data->_wide_vtable = &_IO_wfile_jumps; + result = INTUSE(_IO_file_fopen) (fp, filename, mode, 0); + if (result != NULL) + result = __fopen_maybe_mmap (result); +diff -u -udbrN glibc-2.3.2/libio/iofdopen.c glibc-2.3.2-200304020432/libio/iofdopen.c +--- glibc-2.3.2/libio/iofdopen.c Fri Aug 30 08:56:29 2002 ++++ glibc-2.3.2-200304020432/libio/iofdopen.c Thu Mar 27 12:53:59 2003 +@@ -1,4 +1,5 @@ +-/* Copyright (C) 1993,1994,1997-1999,2000,2002 Free Software Foundation, Inc. ++/* Copyright (C) 1993,1994,1997,1998,1999,2000,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 +@@ -152,12 +153,12 @@ + (use_mmap && (read_write & _IO_NO_WRITES)) + ? &_IO_wfile_jumps_maybe_mmap : + #endif +- &INTUSE(_IO_wfile_jumps)); ++ &_IO_wfile_jumps); + _IO_JUMPS (&new_f->fp) = + #ifdef _G_HAVE_MMAP + (use_mmap && (read_write & _IO_NO_WRITES)) ? &_IO_file_jumps_maybe_mmap : + #endif +- &INTUSE(_IO_file_jumps); ++ &_IO_file_jumps; + INTUSE(_IO_file_init) (&new_f->fp); + #if !_IO_UNIFIED_JUMPTABLES + new_f->fp.vtable = NULL; +diff -u -udbrN glibc-2.3.2/libio/iofopen.c glibc-2.3.2-200304020432/libio/iofopen.c +--- glibc-2.3.2/libio/iofopen.c Fri Aug 30 08:45:05 2002 ++++ glibc-2.3.2-200304020432/libio/iofopen.c Thu Mar 27 12:53:59 2003 +@@ -1,4 +1,5 @@ +-/* Copyright (C) 1993,1997,1998,1999,2000,2002 Free Software Foundation, Inc. ++/* Copyright (C) 1993,1997,1998,1999,2000,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 +@@ -80,11 +81,11 @@ + new_f->fp.file._lock = &new_f->lock; + #endif + #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T +- _IO_no_init (&new_f->fp.file, 0, 0, &new_f->wd, &INTUSE(_IO_wfile_jumps)); ++ _IO_no_init (&new_f->fp.file, 0, 0, &new_f->wd, &_IO_wfile_jumps); + #else + _IO_no_init (&new_f->fp.file, 1, 0, NULL, NULL); + #endif +- _IO_JUMPS (&new_f->fp) = &INTUSE(_IO_file_jumps); ++ _IO_JUMPS (&new_f->fp) = &_IO_file_jumps; + INTUSE(_IO_file_init) (&new_f->fp); + #if !_IO_UNIFIED_JUMPTABLES + new_f->fp.vtable = NULL; +diff -u -udbrN glibc-2.3.2/libio/iovdprintf.c glibc-2.3.2-200304020432/libio/iovdprintf.c +--- glibc-2.3.2/libio/iovdprintf.c Fri Aug 2 23:46:58 2002 ++++ glibc-2.3.2-200304020432/libio/iovdprintf.c Thu Mar 27 12:53:59 2003 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1995, 1997-2000, 2001, 2002 Free Software Foundation, Inc. ++/* Copyright (C) 1995,1997-2000,2001,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 +@@ -41,8 +41,8 @@ + #ifdef _IO_MTSAFE_IO + tmpfil.file._lock = NULL; + #endif +- _IO_no_init (&tmpfil.file, _IO_USER_LOCK, 0, &wd, &INTUSE(_IO_wfile_jumps)); +- _IO_JUMPS (&tmpfil) = &INTUSE(_IO_file_jumps); ++ _IO_no_init (&tmpfil.file, _IO_USER_LOCK, 0, &wd, &_IO_wfile_jumps); ++ _IO_JUMPS (&tmpfil) = &_IO_file_jumps; + INTUSE(_IO_file_init) (&tmpfil); + #if !_IO_UNIFIED_JUMPTABLES + tmpfil.vtable = NULL; +diff -u -udbrN glibc-2.3.2/libio/libioP.h glibc-2.3.2-200304020432/libio/libioP.h +--- glibc-2.3.2/libio/libioP.h Wed Jan 8 06:18:05 2003 ++++ glibc-2.3.2-200304020432/libio/libioP.h Thu Mar 27 12:53:59 2003 +@@ -450,9 +450,11 @@ + extern void _IO_default_imbue __P ((_IO_FILE *, void *)); + + extern struct _IO_jump_t _IO_file_jumps; ++libc_hidden_proto (_IO_file_jumps) + extern struct _IO_jump_t _IO_file_jumps_mmap attribute_hidden; + extern struct _IO_jump_t _IO_file_jumps_maybe_mmap attribute_hidden; +-extern struct _IO_jump_t _IO_wfile_jumps attribute_hidden; ++extern struct _IO_jump_t _IO_wfile_jumps; ++libc_hidden_proto (_IO_wfile_jumps) + extern struct _IO_jump_t _IO_wfile_jumps_mmap attribute_hidden; + extern struct _IO_jump_t _IO_wfile_jumps_maybe_mmap attribute_hidden; + extern struct _IO_jump_t _IO_old_file_jumps attribute_hidden; +diff -u -udbrN glibc-2.3.2/libio/stdfiles.c glibc-2.3.2-200304020432/libio/stdfiles.c +--- glibc-2.3.2/libio/stdfiles.c Wed Mar 13 02:05:41 2002 ++++ glibc-2.3.2-200304020432/libio/stdfiles.c Thu Mar 27 12:53:59 2003 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1993-1997,1999,2000,2002 Free Software Foundation, Inc. ++/* Copyright (C) 1993-1997,1999,2000,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 +@@ -39,30 +39,30 @@ + # define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \ + static _IO_lock_t _IO_stdfile_##FD##_lock = _IO_lock_initializer; \ + static struct _IO_wide_data _IO_wide_data_##FD \ +- = { ._wide_vtable = &INTUSE(_IO_wfile_jumps) }; \ ++ = { ._wide_vtable = &_IO_wfile_jumps }; \ + struct _IO_FILE_plus NAME \ + = {FILEBUF_LITERAL(CHAIN, FLAGS, FD, &_IO_wide_data_##FD), \ +- &INTUSE(_IO_file_jumps)}; ++ &_IO_file_jumps}; + # else + # define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \ + static _IO_lock_t _IO_stdfile_##FD##_lock = _IO_lock_initializer; \ + struct _IO_FILE_plus NAME \ + = {FILEBUF_LITERAL(CHAIN, FLAGS, FD, NULL), \ +- &INTUSE(_IO_file_jumps)}; ++ &_IO_file_jumps}; + # endif + #else + # if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T + # define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \ + static struct _IO_wide_data _IO_wide_data_##FD \ +- = { ._wide_vtable = &INTUSE(_IO_wfile_jumps) }; \ ++ = { ._wide_vtable = &_IO_wfile_jumps }; \ + struct _IO_FILE_plus NAME \ + = {FILEBUF_LITERAL(CHAIN, FLAGS, FD, &_IO_wide_data_##FD), \ +- &INTUSE(_IO_file_jumps)}; ++ &_IO_file_jumps}; + # else + # define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \ + struct _IO_FILE_plus NAME \ + = {FILEBUF_LITERAL(CHAIN, FLAGS, FD, NULL), \ +- &INTUSE(_IO_file_jumps)}; ++ &_IO_file_jumps}; + # endif + #endif + +diff -u -udbrN glibc-2.3.2/libio/swprintf.c glibc-2.3.2-200304020432/libio/swprintf.c +--- glibc-2.3.2/libio/swprintf.c Sat Jul 7 21:21:03 2001 ++++ glibc-2.3.2-200304020432/libio/swprintf.c Wed Mar 5 20:58:03 2003 +@@ -1,4 +1,5 @@ +-/* Copyright (C) 1991,1995,1997,1998,1999,2000 Free Software Foundation, Inc. ++/* Copyright (C) 1991,1995,1997,1998,1999,2000,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 +@@ -22,10 +23,7 @@ + /* Write formatted output into S, according to the format string FORMAT. */ + /* VARARGS3 */ + int +-swprintf (s, n, format) +- wchar_t *s; +- size_t n; +- const wchar_t *format; ++swprintf (wchar_t *s, size_t n, const wchar_t *format, ...) + { + va_list arg; + int done; +diff -u -udbrN glibc-2.3.2/libio/swscanf.c glibc-2.3.2-200304020432/libio/swscanf.c +--- glibc-2.3.2/libio/swscanf.c Sat Jul 7 21:21:03 2001 ++++ glibc-2.3.2-200304020432/libio/swscanf.c Wed Mar 5 20:58:03 2003 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1991, 1995, 1996, 1998, 1999 Free Software Foundation, Inc. ++/* Copyright (C) 1991,1995,1996,1998,1999,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 +@@ -22,9 +22,7 @@ + /* Read formatted input from S, according to the format string FORMAT. */ + /* VARARGS2 */ + int +-swscanf (s, format) +- const wchar_t *s; +- const wchar_t *format; ++swscanf (const wchar_t *s, const wchar_t *format, ...) + { + va_list arg; + int done; +diff -u -udbrN glibc-2.3.2/libio/wfileops.c glibc-2.3.2-200304020432/libio/wfileops.c +--- glibc-2.3.2/libio/wfileops.c Tue Nov 5 08:28:51 2002 ++++ glibc-2.3.2-200304020432/libio/wfileops.c Thu Mar 27 12:53:59 2003 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1993,95,97,98,99,2000,2001,2002 Free Software Foundation, Inc. ++/* Copyright (C) 1993,95,97,98,99,2000,2001,2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written by Ulrich Drepper <drepper@cygnus.com>. + Based on the single byte version by Per Bothner <bothner@cygnus.com>. +@@ -879,7 +879,7 @@ + JUMP_INIT(showmanyc, _IO_default_showmanyc), + JUMP_INIT(imbue, _IO_default_imbue) + }; +-INTVARDEF(_IO_wfile_jumps) ++libc_hidden_data_def (_IO_wfile_jumps) + + + struct _IO_jump_t _IO_wfile_jumps_mmap = +diff -u -udbrN glibc-2.3.2/linuxthreads/Banner glibc-2.3.2-200304020432/linuxthreads/Banner +diff -u -udbrN glibc-2.3.2/linuxthreads/ChangeLog glibc-2.3.2-200304020432/linuxthreads/ChangeLog +diff -u -udbrN glibc-2.3.2/linuxthreads/Changes glibc-2.3.2-200304020432/linuxthreads/Changes +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/Makefile glibc-2.3.2-200304020432/linuxthreads/Examples/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex1.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex1.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex10.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex10.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex11.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex11.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex12.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex12.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex13.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex13.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex14.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex14.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex15.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex15.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex16.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex16.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex17.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex17.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex18.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex18.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex2.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex2.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex3.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex3.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex4.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex4.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex5.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex5.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex6.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex6.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex7.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex7.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex8.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex8.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/ex9.c glibc-2.3.2-200304020432/linuxthreads/Examples/ex9.c +diff -u -udbrN glibc-2.3.2/linuxthreads/Examples/tststatic.c glibc-2.3.2-200304020432/linuxthreads/Examples/tststatic.c +diff -u -udbrN glibc-2.3.2/linuxthreads/FAQ.html glibc-2.3.2-200304020432/linuxthreads/FAQ.html +diff -u -udbrN glibc-2.3.2/linuxthreads/LICENSE glibc-2.3.2-200304020432/linuxthreads/LICENSE +diff -u -udbrN glibc-2.3.2/linuxthreads/Makeconfig glibc-2.3.2-200304020432/linuxthreads/Makeconfig +diff -u -udbrN glibc-2.3.2/linuxthreads/Makefile glibc-2.3.2-200304020432/linuxthreads/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/README glibc-2.3.2-200304020432/linuxthreads/README +diff -u -udbrN glibc-2.3.2/linuxthreads/README.Xfree3.2 glibc-2.3.2-200304020432/linuxthreads/README.Xfree3.2 +diff -u -udbrN glibc-2.3.2/linuxthreads/Versions glibc-2.3.2-200304020432/linuxthreads/Versions +diff -u -udbrN glibc-2.3.2/linuxthreads/alloca_cutoff.c glibc-2.3.2-200304020432/linuxthreads/alloca_cutoff.c +diff -u -udbrN glibc-2.3.2/linuxthreads/attr.c glibc-2.3.2-200304020432/linuxthreads/attr.c +diff -u -udbrN glibc-2.3.2/linuxthreads/barrier.c glibc-2.3.2-200304020432/linuxthreads/barrier.c +diff -u -udbrN glibc-2.3.2/linuxthreads/bug-sleep.c glibc-2.3.2-200304020432/linuxthreads/bug-sleep.c +diff -u -udbrN glibc-2.3.2/linuxthreads/cancel.c glibc-2.3.2-200304020432/linuxthreads/cancel.c +diff -u -udbrN glibc-2.3.2/linuxthreads/condvar.c glibc-2.3.2-200304020432/linuxthreads/condvar.c +diff -u -udbrN glibc-2.3.2/linuxthreads/configure glibc-2.3.2-200304020432/linuxthreads/configure +diff -u -udbrN glibc-2.3.2/linuxthreads/descr.h glibc-2.3.2-200304020432/linuxthreads/descr.h +diff -u -udbrN glibc-2.3.2/linuxthreads/ecmutex.c glibc-2.3.2-200304020432/linuxthreads/ecmutex.c +diff -u -udbrN glibc-2.3.2/linuxthreads/errno.c glibc-2.3.2-200304020432/linuxthreads/errno.c +diff -u -udbrN glibc-2.3.2/linuxthreads/events.c glibc-2.3.2-200304020432/linuxthreads/events.c +diff -u -udbrN glibc-2.3.2/linuxthreads/forward.c glibc-2.3.2-200304020432/linuxthreads/forward.c +diff -u -udbrN glibc-2.3.2/linuxthreads/internals.h glibc-2.3.2-200304020432/linuxthreads/internals.h +diff -u -udbrN glibc-2.3.2/linuxthreads/join.c glibc-2.3.2-200304020432/linuxthreads/join.c +diff -u -udbrN glibc-2.3.2/linuxthreads/joinrace.c glibc-2.3.2-200304020432/linuxthreads/joinrace.c +diff -u -udbrN glibc-2.3.2/linuxthreads/libc-cancellation.c glibc-2.3.2-200304020432/linuxthreads/libc-cancellation.c +diff -u -udbrN glibc-2.3.2/linuxthreads/libc-tls-loc.c glibc-2.3.2-200304020432/linuxthreads/libc-tls-loc.c +diff -u -udbrN glibc-2.3.2/linuxthreads/libc-tsd.c glibc-2.3.2-200304020432/linuxthreads/libc-tsd.c +diff -u -udbrN glibc-2.3.2/linuxthreads/libc_pthread_init.c glibc-2.3.2-200304020432/linuxthreads/libc_pthread_init.c +diff -u -udbrN glibc-2.3.2/linuxthreads/linuxthreads.texi glibc-2.3.2-200304020432/linuxthreads/linuxthreads.texi +diff -u -udbrN glibc-2.3.2/linuxthreads/lockfile.c glibc-2.3.2-200304020432/linuxthreads/lockfile.c +diff -u -udbrN glibc-2.3.2/linuxthreads/man/Makefile glibc-2.3.2-200304020432/linuxthreads/man/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_atfork.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_atfork.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_attr_init.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_attr_init.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_cancel.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_cancel.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_cleanup_push.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_cleanup_push.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_cond_init.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_cond_init.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_condattr_init.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_condattr_init.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_create.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_create.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_detach.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_detach.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_equal.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_equal.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_exit.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_exit.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_join.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_join.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_key_create.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_key_create.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_kill_other_threads_np.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_kill_other_threads_np.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_mutex_init.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_mutex_init.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_mutexattr_init.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_mutexattr_init.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_mutexattr_setkind_np.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_mutexattr_setkind_np.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_once.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_once.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_self.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_self.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_setschedparam.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_setschedparam.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/pthread_sigmask.man glibc-2.3.2-200304020432/linuxthreads/man/pthread_sigmask.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/sem_init.man glibc-2.3.2-200304020432/linuxthreads/man/sem_init.man +diff -u -udbrN glibc-2.3.2/linuxthreads/man/troffprepro glibc-2.3.2-200304020432/linuxthreads/man/troffprepro +diff -u -udbrN glibc-2.3.2/linuxthreads/manager.c glibc-2.3.2-200304020432/linuxthreads/manager.c +diff -u -udbrN glibc-2.3.2/linuxthreads/mutex.c glibc-2.3.2-200304020432/linuxthreads/mutex.c +diff -u -udbrN glibc-2.3.2/linuxthreads/old_pthread_atfork.c glibc-2.3.2-200304020432/linuxthreads/old_pthread_atfork.c +diff -u -udbrN glibc-2.3.2/linuxthreads/oldsemaphore.c glibc-2.3.2-200304020432/linuxthreads/oldsemaphore.c +diff -u -udbrN glibc-2.3.2/linuxthreads/pt-allocrtsig.c glibc-2.3.2-200304020432/linuxthreads/pt-allocrtsig.c +diff -u -udbrN glibc-2.3.2/linuxthreads/pt-machine.c glibc-2.3.2-200304020432/linuxthreads/pt-machine.c +diff -u -udbrN glibc-2.3.2/linuxthreads/pt-system.c glibc-2.3.2-200304020432/linuxthreads/pt-system.c +diff -u -udbrN glibc-2.3.2/linuxthreads/ptclock_gettime.c glibc-2.3.2-200304020432/linuxthreads/ptclock_gettime.c +diff -u -udbrN glibc-2.3.2/linuxthreads/ptclock_settime.c glibc-2.3.2-200304020432/linuxthreads/ptclock_settime.c +diff -u -udbrN glibc-2.3.2/linuxthreads/ptfork.c glibc-2.3.2-200304020432/linuxthreads/ptfork.c +diff -u -udbrN glibc-2.3.2/linuxthreads/pthandles.c glibc-2.3.2-200304020432/linuxthreads/pthandles.c +diff -u -udbrN glibc-2.3.2/linuxthreads/pthread.c glibc-2.3.2-200304020432/linuxthreads/pthread.c +diff -u -udbrN glibc-2.3.2/linuxthreads/pthread_atfork.c glibc-2.3.2-200304020432/linuxthreads/pthread_atfork.c +diff -u -udbrN glibc-2.3.2/linuxthreads/ptlongjmp.c glibc-2.3.2-200304020432/linuxthreads/ptlongjmp.c +diff -u -udbrN glibc-2.3.2/linuxthreads/queue.h glibc-2.3.2-200304020432/linuxthreads/queue.h +diff -u -udbrN glibc-2.3.2/linuxthreads/restart.h glibc-2.3.2-200304020432/linuxthreads/restart.h +diff -u -udbrN glibc-2.3.2/linuxthreads/rwlock.c glibc-2.3.2-200304020432/linuxthreads/rwlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/semaphore.c glibc-2.3.2-200304020432/linuxthreads/semaphore.c +diff -u -udbrN glibc-2.3.2/linuxthreads/semaphore.h glibc-2.3.2-200304020432/linuxthreads/semaphore.h +diff -u -udbrN glibc-2.3.2/linuxthreads/shlib-versions glibc-2.3.2-200304020432/linuxthreads/shlib-versions +diff -u -udbrN glibc-2.3.2/linuxthreads/sighandler.c glibc-2.3.2-200304020432/linuxthreads/sighandler.c +diff -u -udbrN glibc-2.3.2/linuxthreads/signals.c glibc-2.3.2-200304020432/linuxthreads/signals.c +diff -u -udbrN glibc-2.3.2/linuxthreads/specific.c glibc-2.3.2-200304020432/linuxthreads/specific.c +diff -u -udbrN glibc-2.3.2/linuxthreads/spinlock.c glibc-2.3.2-200304020432/linuxthreads/spinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/spinlock.h glibc-2.3.2-200304020432/linuxthreads/spinlock.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/alpha/elf/pt-initfini.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/alpha/elf/pt-initfini.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/alpha/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/alpha/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/alpha/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/alpha/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/alpha/tls.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/alpha/tls.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/arm/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/arm/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/arm/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/arm/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/cris/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/cris/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/cris/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/cris/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/hppa/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/hppa/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/hppa/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/hppa/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/i386/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/i386/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/i386/i586/Versions glibc-2.3.2-200304020432/linuxthreads/sysdeps/i386/i586/Versions +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/i386/i686/Versions glibc-2.3.2-200304020432/linuxthreads/sysdeps/i386/i686/Versions +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/i386/i686/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/i386/i686/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/i386/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/i386/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/i386/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/i386/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/i386/tcb-offsets.sym glibc-2.3.2-200304020432/linuxthreads/sysdeps/i386/tcb-offsets.sym +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/i386/tls.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/i386/tls.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/i386/useldt.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/i386/useldt.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/ia64/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/ia64/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/ia64/Versions glibc-2.3.2-200304020432/linuxthreads/sysdeps/ia64/Versions +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/ia64/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/ia64/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/ia64/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/ia64/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/ia64/tcb-offsets.sym glibc-2.3.2-200304020432/linuxthreads/sysdeps/ia64/tcb-offsets.sym +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/ia64/tls.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/ia64/tls.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/m68k/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/m68k/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/m68k/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/m68k/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/m68k/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/m68k/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/mips/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/mips/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/mips/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/mips/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/powerpc/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/powerpc/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/powerpc/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/powerpc/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/powerpc/tcb-offsets.sym glibc-2.3.2-200304020432/linuxthreads/sysdeps/powerpc/tcb-offsets.sym +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/powerpc/tls.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/powerpc/tls.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/Subdirs glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/Subdirs +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/initspin.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/bits/initspin.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/libc-lock.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/bits/libc-lock.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/libc-tsd.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/bits/libc-tsd.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/bits/pthreadtypes.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/bits/typesizes.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/bits/typesizes.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/errno-loc.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/errno-loc.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/flockfile.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/flockfile.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/ftrylockfile.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/ftrylockfile.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/funlockfile.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/funlockfile.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/getcpuclockid.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/getcpuclockid.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/herrno-loc.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/herrno-loc.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/list.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/list.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/posix-timer.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/posix-timer.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/pt-initfini.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/pt-initfini.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/pthread.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/pthread.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/res-state.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/res-state.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/semaphore.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/semaphore.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/sigaction.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/sigaction.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/tcb-offsets.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/tcb-offsets.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/timer_create.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/timer_create.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/timer_delete.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/timer_delete.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/timer_getoverr.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/timer_getoverr.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/timer_gettime.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/timer_gettime.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/timer_routines.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/timer_routines.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/timer_settime.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/timer_settime.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/pthread/tst-timer.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/pthread/tst-timer.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/s390/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/s390/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/s390/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/s390/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/s390/s390-32/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/s390/s390-32/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/s390/s390-64/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/s390/s390-64/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/s390/tcb-offsets.sym glibc-2.3.2-200304020432/linuxthreads/sysdeps/s390/tcb-offsets.sym +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/s390/tls.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/s390/tls.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sh/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/sh/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sh/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/sh/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sh/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/sh/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sh/tcb-offsets.sym glibc-2.3.2-200304020432/linuxthreads/sysdeps/sh/tcb-offsets.sym +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sh/tls.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/sh/tls.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sparc/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/sparc/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sparc/sparc32/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/sparc/sparc32/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sparc/sparc32/sparcv9/Versions glibc-2.3.2-200304020432/linuxthreads/sysdeps/sparc/sparc32/sparcv9/Versions +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sparc/sparc32/sparcv9/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/sparc/sparc32/sparcv9/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sparc/sparc64/Versions glibc-2.3.2-200304020432/linuxthreads/sysdeps/sparc/sparc64/Versions +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sparc/sparc64/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/sparc/sparc64/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sparc/tcb-offsets.sym glibc-2.3.2-200304020432/linuxthreads/sysdeps/sparc/tcb-offsets.sym +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/sparc/tls.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/sparc/tls.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/Implies glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/Implies +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/Versions glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/Versions +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/allocalim.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/allocalim.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/allocrtsig.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/allocrtsig.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/alpha/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/aio_cancel.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/alpha/aio_cancel.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/pt-sigsuspend.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/alpha/pt-sigsuspend.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/arm/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/arm/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/bits/local_lim.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/bits/sigthread.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/execve.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/execve.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/fork.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/fork.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/fork.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/fork.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/aio_cancel.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/hppa/aio_cancel.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/hppa/pt-initfini.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/hppa/pt-initfini.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/i386/dl-sysdep.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/i386/dl-sysdep.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/i386/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/ia64/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/ia64/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/ia64/fork.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/ia64/fork.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-sigsuspend.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-sigsuspend.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/ia64/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/ia64/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/jmp-unwind.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/jmp-unwind.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/m68k/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/mips/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/mips/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/mips/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/powerpc/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/powerpc/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/raise.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/raise.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/register-atfork.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/register-atfork.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-sigsuspend.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-sigsuspend.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sh/pt-initfini.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sh/smp.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sh/smp.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sh/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sh/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sigwait.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sigwait.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/smp.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/smp.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sparc/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/aio_cancel.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sparc/aio_cancel.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/fork.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sparc/fork.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/pt-sigsuspend.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/pt-sigsuspend.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/unregister-atfork.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/unregister-atfork.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/x86_64/Makefile glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/x86_64/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/x86_64/pt-sigsuspend.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/x86_64/pt-sigsuspend.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/unix/sysv/linux/x86_64/vfork.S glibc-2.3.2-200304020432/linuxthreads/sysdeps/unix/sysv/linux/x86_64/vfork.S +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/x86_64/pspinlock.c glibc-2.3.2-200304020432/linuxthreads/sysdeps/x86_64/pspinlock.c +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/x86_64/pt-machine.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/x86_64/pt-machine.h +diff -u -udbrN glibc-2.3.2/linuxthreads/sysdeps/x86_64/tls.h glibc-2.3.2-200304020432/linuxthreads/sysdeps/x86_64/tls.h +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-cancel-static.c glibc-2.3.2-200304020432/linuxthreads/tst-cancel-static.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-cancel-wrappers.sh glibc-2.3.2-200304020432/linuxthreads/tst-cancel-wrappers.sh +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-cancel.c glibc-2.3.2-200304020432/linuxthreads/tst-cancel.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-cancel1.c glibc-2.3.2-200304020432/linuxthreads/tst-cancel1.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-cancel2.c glibc-2.3.2-200304020432/linuxthreads/tst-cancel2.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-cancel3.c glibc-2.3.2-200304020432/linuxthreads/tst-cancel3.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-cancel4.c glibc-2.3.2-200304020432/linuxthreads/tst-cancel4.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-cancel5.c glibc-2.3.2-200304020432/linuxthreads/tst-cancel5.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-cancel6.c glibc-2.3.2-200304020432/linuxthreads/tst-cancel6.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-cancel7.c glibc-2.3.2-200304020432/linuxthreads/tst-cancel7.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-context.c glibc-2.3.2-200304020432/linuxthreads/tst-context.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-popen.c glibc-2.3.2-200304020432/linuxthreads/tst-popen.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-popen2.c glibc-2.3.2-200304020432/linuxthreads/tst-popen2.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-signal.c glibc-2.3.2-200304020432/linuxthreads/tst-signal.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-signal.sh glibc-2.3.2-200304020432/linuxthreads/tst-signal.sh +diff -u -udbrN glibc-2.3.2/linuxthreads/tst-static-locale.c glibc-2.3.2-200304020432/linuxthreads/tst-static-locale.c +diff -u -udbrN glibc-2.3.2/linuxthreads/tststack.c glibc-2.3.2-200304020432/linuxthreads/tststack.c +diff -u -udbrN glibc-2.3.2/linuxthreads/unload.c glibc-2.3.2-200304020432/linuxthreads/unload.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/Banner glibc-2.3.2-200304020432/linuxthreads_db/Banner +diff -u -udbrN glibc-2.3.2/linuxthreads_db/ChangeLog glibc-2.3.2-200304020432/linuxthreads_db/ChangeLog +diff -u -udbrN glibc-2.3.2/linuxthreads_db/Makefile glibc-2.3.2-200304020432/linuxthreads_db/Makefile +diff -u -udbrN glibc-2.3.2/linuxthreads_db/Versions glibc-2.3.2-200304020432/linuxthreads_db/Versions +diff -u -udbrN glibc-2.3.2/linuxthreads_db/proc_service.h glibc-2.3.2-200304020432/linuxthreads_db/proc_service.h +diff -u -udbrN glibc-2.3.2/linuxthreads_db/shlib-versions glibc-2.3.2-200304020432/linuxthreads_db/shlib-versions +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_init.c glibc-2.3.2-200304020432/linuxthreads_db/td_init.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_log.c glibc-2.3.2-200304020432/linuxthreads_db/td_log.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_symbol_list.c glibc-2.3.2-200304020432/linuxthreads_db/td_symbol_list.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_clear_event.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_clear_event.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_delete.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_delete.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_enable_stats.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_enable_stats.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_event_addr.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_event_addr.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_event_getmsg.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_event_getmsg.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_get_nthreads.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_get_nthreads.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_get_ph.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_get_ph.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_get_stats.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_get_stats.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_map_id2thr.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_map_id2thr.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_map_lwp2thr.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_map_lwp2thr.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_new.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_new.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_reset_stats.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_reset_stats.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_set_event.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_set_event.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_setconcurrency.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_setconcurrency.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_thr_iter.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_thr_iter.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_ta_tsd_iter.c glibc-2.3.2-200304020432/linuxthreads_db/td_ta_tsd_iter.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_clear_event.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_clear_event.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_dbresume.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_dbresume.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_dbsuspend.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_dbsuspend.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_event_enable.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_event_enable.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_event_getmsg.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_event_getmsg.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_get_info.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_get_info.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_getfpregs.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_getfpregs.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_getgregs.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_getgregs.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_getxregs.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_getxregs.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_getxregsize.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_getxregsize.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_set_event.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_set_event.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_setfpregs.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_setfpregs.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_setgregs.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_setgregs.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_setprio.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_setprio.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_setsigpending.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_setsigpending.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_setxregs.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_setxregs.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_sigsetmask.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_sigsetmask.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_tls_get_addr.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_tls_get_addr.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_tlsbase.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_tlsbase.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_tsd.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_tsd.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/td_thr_validate.c glibc-2.3.2-200304020432/linuxthreads_db/td_thr_validate.c +diff -u -udbrN glibc-2.3.2/linuxthreads_db/thread_db.h glibc-2.3.2-200304020432/linuxthreads_db/thread_db.h +diff -u -udbrN glibc-2.3.2/linuxthreads_db/thread_dbP.h glibc-2.3.2-200304020432/linuxthreads_db/thread_dbP.h +diff -u -udbrN glibc-2.3.2/locale/Versions glibc-2.3.2-200304020432/locale/Versions +--- glibc-2.3.2/locale/Versions Wed Aug 28 03:04:45 2002 ++++ glibc-2.3.2-200304020432/locale/Versions Mon Mar 3 10:45:12 2003 +@@ -59,13 +59,12 @@ + iswcntrl_l; iswctype_l; iswdigit_l; iswgraph_l; iswlower_l; + iswprint_l; iswpunct_l; iswspace_l; iswupper_l; iswxdigit_l; + isxdigit_l; strcasecmp_l; strcoll_l; strfmon_l; strncasecmp_l; +- strtod_l; strtof_l; strtol_l; strtold_l; strtoll_l; strtoul_l; +- strtoull_l; strxfrm_l; toascii_l; tolower_l; toupper_l; ++ strtod_l; strtof_l; strtol_l; strtold_l; strtoul_l; ++ strxfrm_l; toascii_l; tolower_l; toupper_l; + towctrans_l; towlower_l; towupper_l; wcscasecmp_l; wcscoll_l; + wcsncasecmp_l; wcstod_l; wcstof_l; wcstol_l; wcstold_l; + wcstoll_l; wcstoul_l; wcstoull_l; wcsxfrm_l; wctype_l; + wctrans_l; nl_langinfo_l; +- + } + GLIBC_PRIVATE { + # global variables +diff -u -udbrN glibc-2.3.2/locale/programs/locarchive.c glibc-2.3.2-200304020432/locale/programs/locarchive.c +--- glibc-2.3.2/locale/programs/locarchive.c Wed Oct 23 08:21:17 2002 ++++ glibc-2.3.2-200304020432/locale/programs/locarchive.c Sun Mar 16 02:03:52 2003 +@@ -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. + +@@ -1402,8 +1402,7 @@ + struct locarhead *head; + struct namehashent *namehashtab; + struct nameent *names; +- int cnt; +- int used; ++ size_t cnt, used; + + /* Open the archive. This call never returns if we cannot + successfully open the archive. */ +diff -u -udbrN glibc-2.3.2/locale/tst-C-locale.c glibc-2.3.2-200304020432/locale/tst-C-locale.c +--- glibc-2.3.2/locale/tst-C-locale.c Tue Sep 3 20:39:41 2002 ++++ glibc-2.3.2-200304020432/locale/tst-C-locale.c Mon Mar 17 20:11:36 2003 +@@ -1,5 +1,5 @@ + /* Tests of C and POSIX locale contents. +- Copyright (C) 2000,01,02 Free Software Foundation, Inc. ++ Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2000. + +@@ -450,8 +450,8 @@ + } + + +-int +-main (void) ++static int ++do_test (void) + { + int result; + +@@ -475,3 +475,6 @@ + + return result; + } ++ ++#define TEST_FUNCTION do_test () ++#include "../test-skeleton.c" +diff -u -udbrN glibc-2.3.2/localedata/ChangeLog glibc-2.3.2-200304020432/localedata/ChangeLog +--- glibc-2.3.2/localedata/ChangeLog Thu Jan 30 21:21:47 2003 ++++ glibc-2.3.2-200304020432/localedata/ChangeLog Mon Mar 17 11:16:36 2003 +@@ -1,3 +1,17 @@ ++2003-03-17 Ulrich Drepper <drepper@redhat.com> ++ ++ * localedata/en_ZA: Changed %x for LC_TIME to use dd/mm/ccyy. ++ Added ^ to LC_MESSAGES regex "^[yY].*". ++ Confirmed LC_PAPER adn LC_MEASUREMENT settings. ++ Added country and language names to LC_ADDRESS. ++ Added missing info for LC_TELEPHONE. ++ Patch by Dwayne Bailey <dwayne@obsidian.co.za>. ++ ++2003-03-14 Ulrich Drepper <drepper@redhat.com> ++ ++ * localedata/mn_MN: New file. ++ Contributed by Sanlig Badral <badral@chinggis.com>. ++ + 2003-01-30 Ulrich Drepper <drepper@redhat.com> + + * Makefile (LOCALES): Add vi_VN.TCVN5712-1. +diff -u -udbrN glibc-2.3.2/localedata/locales/en_ZA glibc-2.3.2-200304020432/localedata/locales/en_ZA +--- glibc-2.3.2/localedata/locales/en_ZA Thu Oct 26 19:48:46 2000 ++++ glibc-2.3.2-200304020432/localedata/locales/en_ZA Mon Mar 17 11:08:52 2003 +@@ -2,44 +2,54 @@ + comment_char % + + % English language locale for South Africa +-% Source: RAP +-% Email: nic@sig.co.za +-% Tel: +27 83 7659503 +-% Fax: +27 12 3478098 ++% Source: Zuza Software Foundation ++% Email: dwayne@translate.org.za ++% Tel: +27 21 4487827 ++% Fax: +27 21 4489574 + % Language: en + % Territory: ZA +-% Revision: 1.0 +-% Date: 1999-03-28 ++% Revision: 1.1 ++% Date: 2003-03-14 + % Users: general + % Repertoiremap: mnemonic,ds + % Charset: ISO-8859-1 + % Distribution and use is free, also + % for commercial purposes. ++% ++% Changelog ++% 1.1 (2003-03-14): ++% - Updated maintainer to Zuza Sofware Foundation ++% - Changed %x for LC_TIME to use dd/mm/ccyy ++% - Added ^ to LC_MESSAGES regex "^[yY].*" ++% - Confirmed LC_PAPER and LC_MEASUREMENT settings ++% - Added country and language names to LC_ADDRESS ++% - Added missing info for LC_TELEPHONE + + LC_IDENTIFICATION + title "English locale for South Africa" +-source "RAP" +-address "" +-contact "" +-email "bug-glibc@gnu.org" +-tel "" +-fax "" ++source "Zuza Software Foundation" ++address "Box 13412, Mowbray, 7701, South Africa" ++contact "Dwayne Bailey" ++email "dwayne@translate.org.za" ++tel "+27 21 448 7827" ++fax "+27 21 448 9574" + language "English" + territory "South Africa" +-revision "1.0" +-date "2000-06-29" ++revision "1.1" ++date "2003-03-14" + % +-category "en_ZA:2000";LC_IDENTIFICATION ++category "en_ZA:2003";LC_IDENTIFICATION + category "en_ZA:2000";LC_CTYPE + category "en_ZA:2000";LC_COLLATE +-category "en_ZA:2000";LC_TIME ++category "en_ZA:2003";LC_TIME + category "en_ZA:2000";LC_NUMERIC + category "en_ZA:2000";LC_MONETARY +-category "en_ZA:2000";LC_MESSAGES ++category "en_ZA:2003";LC_MESSAGES + category "en_ZA:2000";LC_PAPER ++category "en_ZA:2000";LC_MEASUREMENT + category "en_ZA:2000";LC_NAME +-category "en_ZA:2000";LC_ADDRESS +-category "en_ZA:2000";LC_TELEPHONE ++category "en_ZA:2003";LC_ADDRESS ++category "en_ZA:2003";LC_TELEPHONE + + END LC_IDENTIFICATION + +@@ -106,7 +116,7 @@ + "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/ + "<U0044><U0065><U0063><U0065><U006D><U0062><U0065><U0072>" + d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" +-d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" ++d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>" + t_fmt "<U0025><U0054>" + am_pm "";"" + t_fmt_ampm "" +@@ -116,25 +126,25 @@ + END LC_TIME + + LC_MESSAGES +-yesexpr "<U005B><U0079><U0059><U005D><U002E><U002A>" +-noexpr "<U005B><U006E><U004E><U005D><U002E><U002A>" ++yesexpr "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>" ++noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" + END LC_MESSAGES + + LC_PAPER +-% FIXME + height 297 +-% FIXME + width 210 + END LC_PAPER + + LC_TELEPHONE + tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/ + <U006C>" ++tel_dom_fmt "<U0028><U0025><U0041><U0029><U0020><U0025><U006C>" ++int_select "<U0030><U0039>" + int_prefix "<U0032><U0037>" ++ + END LC_TELEPHONE + + LC_MEASUREMENT +-% FIXME + measurement 1 + END LC_MEASUREMENT + +@@ -149,4 +159,7 @@ + <U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/ + <U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/ + <U004E><U0025><U0063><U0025><U004E>" ++country_name "<U0053><U006F><U0075><U0074><U0068><U0020>/ ++<U0041><U0066><U0072><U0069><U0063><U0061>" ++lang_name "<U0045><U006E><U0067><U006C><U0069><U0073><U0068>" + END LC_ADDRESS +diff -u -udbrN glibc-2.3.2/localedata/locales/mn_MN glibc-2.3.2-200304020432/localedata/locales/mn_MN +--- glibc-2.3.2/localedata/locales/mn_MN Thu Jan 1 01:00:00 1970 ++++ glibc-2.3.2-200304020432/localedata/locales/mn_MN Fri Mar 14 22:26:23 2003 +@@ -0,0 +1,196 @@ ++comment_char % ++escape_char / ++% Mongolian language (cyrillic) locale for Mongolia ++% Sanlig Badral <badral@chinggis.com> ++% Revision: 0.9 (2003-2-27) ++% Charsets: UTF-8 ++% Distribution and use is free, also ++% for commercial purposes. ++ ++LC_IDENTIFICATION ++title "Mongolian locale for Mongolia" ++source "OPENMN" ++address "" ++contact "" ++email "bug-glibc@gnu.org" ++tel "" ++fax "" ++language "Mongolian" ++territory "Mongolia" ++revision "0.9" ++date "2003-02-27" ++ ++category "mn_MN:2000";LC_IDENTIFICATION ++category "mn_MN:2000";LC_CTYPE ++category "mn_MN:2000";LC_COLLATE ++category "mn_MN:2000";LC_TIME ++category "mn_MN:2000";LC_NUMERIC ++category "mn_MN:2000";LC_MONETARY ++category "mn_MN:2000";LC_MESSAGES ++category "mn_MN:2000";LC_PAPER ++category "mn_MN:2000";LC_NAME ++category "mn_MN:2000";LC_ADDRESS ++category "mn_MN:2000";LC_TELEPHONE ++ ++END LC_IDENTIFICATION ++ ++LC_COLLATE ++copy "iso14651_t1" ++ ++% iso14651_t1 is missing Mongolian ue(straight u), oe(barred o) ++% like russian, but with <o-=> (<barred-o>) after <o=> and ++% <u'=>(straight u) after <u=> ++ ++collating-symbol <o-=> ++collating-symbol <u'=> ++ ++reorder-after <CYR-O> ++<o-=> ++reorder-after <CYR-OUBRE> ++<u'=> ++ ++reorder-after <U043E> ++<U04E9> <o-=>;<PCL>;<MIN>;IGNORE ++reorder-after <U041E> ++<U04E8> <o-=>;<PCL>;<CAP>;IGNORE ++ ++reorder-after <U0443> ++<U04AF> <u'=>;<PCL>;<MIN>;IGNORE ++reorder-after <U0423> ++<U04AE> <u'=>;<PCL>;<CAP>;IGNORE ++ ++reorder-end ++END LC_COLLATE ++ ++LC_CTYPE ++copy "i18n" ++END LC_CTYPE ++ ++LC_MONETARY ++int_curr_symbol "<U004D><U004E><U0054><U0020>" ++currency_symbol "<U20AE>" ++mon_decimal_point "<U002E>" ++mon_thousands_sep "<U0020>" ++mon_grouping 3;3 ++positive_sign "" ++negative_sign "<U002D>" ++int_frac_digits 2 ++frac_digits 2 ++p_cs_precedes 0 ++p_sep_by_space 1 ++n_cs_precedes 0 ++n_sep_by_space 1 ++p_sign_posn 1 ++n_sign_posn 1 ++ ++END LC_MONETARY ++ ++LC_NUMERIC ++decimal_point "<U002C>" ++thousands_sep "<U002E>" ++grouping 3;3 ++END LC_NUMERIC ++ ++LC_TIME ++% Abbreviated weekday names (%a) ++abday "<U041D><U044F>";"<U0414><U0430>";/ ++ "<U041C><U044F>";"<U041B><U0445>";/ ++ "<U041F><U04AF>";"<U0411><U0430>";/ ++ "<U0411><U044F>" ++% Full weekday names (%A) ++day "<U041D><U044F><U043C>";/ ++ "<U0414><U0430><U0432><U0430><U0430>";/ ++ "<U041C><U044F><U0433><U043C><U0430><U0440>";/ ++ "<U041B><U0445><U0430><U0433><U0432><U0430>";/ ++ "<U041F><U04AF><U0440><U044D><U0432>";/ ++ "<U0411><U0430><U0430><U0441><U0430><U043D>";/ ++ "<U0411><U044F><U043C><U0431><U0430>" ++% Abbreviated month names (%b) ++abmon "<U0031><U002D><U0440>";"<U0032><U002D><U0440>";/ ++ "<U0033><U002D><U0440>";"<U0034><U002D><U0440>";/ ++ "<U0035><U002D><U0440>";"<U0036><U002D><U0440>";/ ++ "<U0037><U002D><U0440>";"<U0038><U002D><U0440>";/ ++ "<U0039><U002D><U0440>";"<U0031><U0030><U002D><U0440>";/ ++ "<U0031><U0031><U002D><U0440>";"<U0031><U0032><U002D><U0440>" ++% Full month names (%B) ++mon "<U041D><U044D><U0433><U0434><U04AF><U0433><U044D><U044D><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U0425><U043E><U0451><U0440><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U0413><U0443><U0440><U0430><U0432><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U0414><U04E9><U0440><U04E9><U0432><U0434><U04AF><U0433><U044D><U044D><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U0422><U0430><U0432><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U0417><U0443><U0440><U0433><U0430><U0430><U0434><U0443><U0433><U0430><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U0414><U043E><U043B><U043E><U043E><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U041D><U0430><U0439><U043C><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U0415><U0441><U0434><U04AF><U0433><U044D><U044D><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U0410><U0440><U0430><U0432><U0434><U0443><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U0410><U0440><U0432><U0430><U043D><U043D><U044D><U0433><U0434><U04AF><U0433><U044D><U044D><U0440><U0020><U0441><U0430><U0440>";/ ++ "<U0410><U0440><U0432><U0430><U043D><U0445><U043E><U0451><U0440><U0434><U0433><U0430><U0430><U0440><U0020><U0441><U0430><U0440>" ++% Appropriate date and time representation ++% "%a %d %b %Y %T %Z" ++d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" ++ ++% Appropriate date representation ++% "%Y.%m.%d" ++d_fmt "<U0025><U0059><U002E><U0025><U006D><U002E><U0025><U0064>" ++% Appropriate time representation ++% "%T" ++t_fmt "<U0025><U0054>" ++% Appropriate 12 h time representation (%r) ++am_pm "";"" ++t_fmt_ampm "" ++% Full date and time representation ++% "%a %b %e %H:%M:%S %Z %Y" ++date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U0020><U0025><U0059>" ++END LC_TIME ++ ++LC_MESSAGES ++yesexpr "<U005E><U005B><U0442><U0422><U0079><U0059><U005D><U002E><U002A>" ++noexpr "<U005E><U005B><U04AF><U04AE><U006E><U004E><U005D><U002E><U002A>" ++END LC_MESSAGES ++ ++% Paper format ++LC_PAPER ++height 297 ++width 210 ++END LC_PAPER ++ ++LC_NAME ++name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/ ++<U0025><U006D><U0025><U0074><U0025><U0066>" ++ ++name_miss "<U0425><U0430><U0442><U0430><U0433><U0442><U0430><U0439>" ++name_mr "<U041D><U043E><U0451><U043D>" ++name_mrs "<U0425><U0430><U0442><U0430><U0433><U0442><U0430><U0439>" ++name_ms "<U0425><U0430><U0442><U0430><U0433><U0442><U0430><U0439>" ++END LC_NAME ++ ++LC_ADDRESS ++postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ ++<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/ ++<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/ ++<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/ ++<U004E><U0025><U0063><U0025><U004E>" ++ ++country_name "<U004D><U006F><U006E><U0067><U006F><U006C><U0069><U0061>" ++country_post "<U004D><U006E>" ++country_ab2 "<U004D><U006E>" ++country_ab3 "<U004D><U004E><U0047>" ++country_num 496 ++country_car "<U004D><U0047><U004C>" ++country_isbn 99929 ++lang_name "<U004D><U006F><U006E><U0067><U006F><U006C><U0069><U0061><U006E>" ++lang_ab "<U006D><U006E>" ++lang_term "<U006D><U006F><U006E>" ++lang_lib "<U006D><U006F><U006E>" ++END LC_ADDRESS ++ ++LC_TELEPHONE ++tel_int_fmt "<U0028><U002B><U0025><U0063><U0020><U0025><U0061><U0029><U0020><U0025><U006C>" ++tel_dom_fmt "<U0028><U0030><U0025><U0061><U0029><U0020><U0025><U006C>" ++int_select "<U0030><U0030>" ++int_prefix "<U0039><U0037><U0036>" ++END LC_TELEPHONE ++ ++LC_MEASUREMENT ++measurement 1 ++END LC_MEASUREMENT +diff -u -udbrN glibc-2.3.2/malloc/memusagestat.c glibc-2.3.2-200304020432/malloc/memusagestat.c +--- glibc-2.3.2/malloc/memusagestat.c Sat Jul 7 21:21:06 2001 ++++ glibc-2.3.2-200304020432/malloc/memusagestat.c Sun Mar 23 00:00:25 2003 +@@ -405,7 +405,7 @@ + } + + +- snprintf (buf, sizeof (buf), "%llu", total); ++ snprintf (buf, sizeof (buf), "%llu", (unsigned long long) total); + gdImageString (im_out, gdFontSmall, xsize - 50, ysize - 14, buf, blue); + + if (!time_based) +diff -u -udbrN glibc-2.3.2/malloc/mtrace.c glibc-2.3.2-200304020432/malloc/mtrace.c +--- glibc-2.3.2/malloc/mtrace.c Tue Dec 31 22:18:43 2002 ++++ glibc-2.3.2-200304020432/malloc/mtrace.c Mon Mar 10 10:12:11 2003 +@@ -1,5 +1,5 @@ + /* More debugging hooks for `malloc'. +- Copyright (C) 1991-1994,1996-2001,2002 Free Software Foundation, Inc. ++ Copyright (C) 1991-1994,1996-2001,2002, 2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written April 2, 1991 by John Gilmore of Cygnus Support. + Based on mcheck.c by Mike Haertel. +@@ -103,7 +103,7 @@ + { + #ifdef HAVE_ELF + Dl_info info; +- if (_dl_addr (caller, &info)) ++ if (_dl_addr (caller, &info, NULL, NULL)) + { + char *buf = (char *) ""; + if (info.dli_sname != NULL) +diff -u -udbrN glibc-2.3.2/malloc/set-freeres.c glibc-2.3.2-200304020432/malloc/set-freeres.c +--- glibc-2.3.2/malloc/set-freeres.c Sat Nov 2 03:15:52 2002 ++++ glibc-2.3.2-200304020432/malloc/set-freeres.c Fri Mar 21 08:45:55 2003 +@@ -1,4 +1,4 @@ +-/* Copyright (C) 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. ++/* Copyright (C) 1997,1999,2000,2001,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 +@@ -16,7 +16,7 @@ + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +-#include <atomicity.h> ++#include <atomic.h> + #include <stdlib.h> + #include <set-hooks.h> + #include <libc-internal.h> +@@ -36,7 +36,7 @@ + protect for multiple executions since these are fatal. */ + static long int already_called; + +- if (compare_and_swap (&already_called, 0, 1)) ++ if (! atomic_compare_and_exchange_bool_acq (&already_called, 1, 0)) + { + void * const *p; + +diff -u -udbrN glibc-2.3.2/manual/add.c.texi glibc-2.3.2-200304020432/manual/add.c.texi +--- glibc-2.3.2/manual/add.c.texi Wed Dec 9 23:51:54 1998 ++++ glibc-2.3.2-200304020432/manual/add.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,30 +0,0 @@ +-#include <stdarg.h> +-#include <stdio.h> +- +-int +-add_em_up (int count,...) +-@{ +- va_list ap; +- int i, sum; +- +- va_start (ap, count); /* @r{Initialize the argument list.} */ +- +- sum = 0; +- for (i = 0; i < count; i++) +- sum += va_arg (ap, int); /* @r{Get the next argument value.} */ +- +- va_end (ap); /* @r{Clean up.} */ +- return sum; +-@} +- +-int +-main (void) +-@{ +- /* @r{This call prints 16.} */ +- printf ("%d\n", add_em_up (3, 5, 5, 6)); +- +- /* @r{This call prints 55.} */ +- printf ("%d\n", add_em_up (10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); +- +- return 0; +-@} +diff -u -udbrN glibc-2.3.2/manual/argp-ex1.c.texi glibc-2.3.2-200304020432/manual/argp-ex1.c.texi +--- glibc-2.3.2/manual/argp-ex1.c.texi Wed Dec 9 23:51:53 1998 ++++ glibc-2.3.2-200304020432/manual/argp-ex1.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,14 +0,0 @@ +-/* @r{Argp example #1 -- a minimal program using argp} */ +- +-/* @r{This is (probably) the smallest possible program that +- uses argp. It won't do much except give an error +- messages and exit when there are any arguments, and print +- a (rather pointless) messages for --help.} */ +- +-#include <argp.h> +- +-int main (int argc, char **argv) +-@{ +- argp_parse (0, argc, argv, 0, 0, 0); +- exit (0); +-@} +diff -u -udbrN glibc-2.3.2/manual/argp-ex2.c.texi glibc-2.3.2-200304020432/manual/argp-ex2.c.texi +--- glibc-2.3.2/manual/argp-ex2.c.texi Mon Nov 5 21:54:48 2001 ++++ glibc-2.3.2-200304020432/manual/argp-ex2.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,44 +0,0 @@ +-/* @r{Argp example #2 -- a pretty minimal program using argp} */ +- +-/* @r{This program doesn't use any options or arguments, but uses +- argp to be compliant with the GNU standard command line +- format. +- +- In addition to making sure no arguments are given, and +- implementing a --help option, this example will have a +- --version option, and will put the given documentation string +- and bug address in the --help output, as per GNU standards. +- +- The variable ARGP contains the argument parser specification; +- adding fields to this structure is the way most parameters are +- passed to argp_parse (the first three fields are usually used, +- but not in this small program). There are also two global +- variables that argp knows about defined here, +- ARGP_PROGRAM_VERSION and ARGP_PROGRAM_BUG_ADDRESS (they are +- global variables because they will almost always be constant +- for a given program, even if it uses different argument +- parsers for various tasks).} */ +- +-#include <argp.h> +- +-const char *argp_program_version = +- "argp-ex2 1.0"; +-const char *argp_program_bug_address = +- "<bug-gnu-utils@@gnu.org>"; +- +-/* @r{Program documentation.} */ +-static char doc[] = +- "Argp example #2 -- a pretty minimal program using argp"; +- +-/* @r{Our argument parser. The @code{options}, @code{parser}, and +- @code{args_doc} fields are zero because we have neither options or +- arguments; @code{doc} and @code{argp_program_bug_address} will be +- used in the output for @samp{--help}, and the @samp{--version} +- option will print out @code{argp_program_version}.} */ +-static struct argp argp = @{ 0, 0, 0, doc @}; +- +-int main (int argc, char **argv) +-@{ +- argp_parse (&argp, argc, argv, 0, 0, 0); +- exit (0); +-@} +diff -u -udbrN glibc-2.3.2/manual/argp-ex3.c.texi glibc-2.3.2-200304020432/manual/argp-ex3.c.texi +--- glibc-2.3.2/manual/argp-ex3.c.texi Tue Feb 22 09:35:05 2000 ++++ glibc-2.3.2-200304020432/manual/argp-ex3.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,152 +0,0 @@ +-/* @r{Argp example #3 -- a program with options and arguments using argp} */ +- +-/* @r{This program uses the same features as example 2, and uses options and +- arguments. +- +- We now use the first four fields in ARGP, so here's a description of them: +- OPTIONS -- A pointer to a vector of struct argp_option (see below) +- PARSER -- A function to parse a single option, called by argp +- ARGS_DOC -- A string describing how the non-option arguments should look +- DOC -- A descriptive string about this program; if it contains a +- vertical tab character (\v), the part after it will be +- printed *following* the options +- +- The function PARSER takes the following arguments: +- KEY -- An integer specifying which option this is (taken +- from the KEY field in each struct argp_option), or +- a special key specifying something else; the only +- special keys we use here are ARGP_KEY_ARG, meaning +- a non-option argument, and ARGP_KEY_END, meaning +- that all arguments have been parsed +- ARG -- For an option KEY, the string value of its +- argument, or NULL if it has none +- STATE-- A pointer to a struct argp_state, containing +- various useful information about the parsing state; used here +- are the INPUT field, which reflects the INPUT argument to +- argp_parse, and the ARG_NUM field, which is the number of the +- current non-option argument being parsed +- It should return either 0, meaning success, ARGP_ERR_UNKNOWN, meaning the +- given KEY wasn't recognized, or an errno value indicating some other +- error. +- +- Note that in this example, main uses a structure to communicate with the +- parse_opt function, a pointer to which it passes in the INPUT argument to +- argp_parse. Of course, it's also possible to use global variables +- instead, but this is somewhat more flexible. +- +- The OPTIONS field contains a pointer to a vector of struct argp_option's; +- that structure has the following fields (if you assign your option +- structures using array initialization like this example, unspecified +- fields will be defaulted to 0, and need not be specified): +- NAME -- The name of this option's long option (may be zero) +- KEY -- The KEY to pass to the PARSER function when parsing this option, +- *and* the name of this option's short option, if it is a +- printable ascii character +- ARG -- The name of this option's argument, if any +- FLAGS -- Flags describing this option; some of them are: +- OPTION_ARG_OPTIONAL -- The argument to this option is optional +- OPTION_ALIAS -- This option is an alias for the +- previous option +- OPTION_HIDDEN -- Don't show this option in --help output +- DOC -- A documentation string for this option, shown in --help output +- +- An options vector should be terminated by an option with all fields zero.} */ +- +-#include <argp.h> +- +-const char *argp_program_version = +- "argp-ex3 1.0"; +-const char *argp_program_bug_address = +- "<bug-gnu-utils@@gnu.org>"; +- +-/* @r{Program documentation.} */ +-static char doc[] = +- "Argp example #3 -- a program with options and arguments using argp"; +- +-/* @r{A description of the arguments we accept.} */ +-static char args_doc[] = "ARG1 ARG2"; +- +-/* @r{The options we understand.} */ +-static struct argp_option options[] = @{ +- @{"verbose", 'v', 0, 0, "Produce verbose output" @}, +- @{"quiet", 'q', 0, 0, "Don't produce any output" @}, +- @{"silent", 's', 0, OPTION_ALIAS @}, +- @{"output", 'o', "FILE", 0, +- "Output to FILE instead of standard output" @}, +- @{ 0 @} +-@}; +- +-/* @r{Used by @code{main} to communicate with @code{parse_opt}.} */ +-struct arguments +-@{ +- char *args[2]; /* @r{@var{arg1} & @var{arg2}} */ +- int silent, verbose; +- char *output_file; +-@}; +- +-/* @r{Parse a single option.} */ +-static error_t +-parse_opt (int key, char *arg, struct argp_state *state) +-@{ +- /* @r{Get the @var{input} argument from @code{argp_parse}, which we +- know is a pointer to our arguments structure.} */ +- struct arguments *arguments = state->input; +- +- switch (key) +- @{ +- case 'q': case 's': +- arguments->silent = 1; +- break; +- case 'v': +- arguments->verbose = 1; +- break; +- case 'o': +- arguments->output_file = arg; +- break; +- +- case ARGP_KEY_ARG: +- if (state->arg_num >= 2) +- /* @r{Too many arguments.} */ +- argp_usage (state); +- +- arguments->args[state->arg_num] = arg; +- +- break; +- +- case ARGP_KEY_END: +- if (state->arg_num < 2) +- /* @r{Not enough arguments.} */ +- argp_usage (state); +- break; +- +- default: +- return ARGP_ERR_UNKNOWN; +- @} +- return 0; +-@} +- +-/* @r{Our argp parser.} */ +-static struct argp argp = @{ options, parse_opt, args_doc, doc @}; +- +-int main (int argc, char **argv) +-@{ +- struct arguments arguments; +- +- /* @r{Default values.} */ +- arguments.silent = 0; +- arguments.verbose = 0; +- arguments.output_file = "-"; +- +- /* @r{Parse our arguments; every option seen by @code{parse_opt} will +- be reflected in @code{arguments}.} */ +- argp_parse (&argp, argc, argv, 0, 0, &arguments); +- +- printf ("ARG1 = %s\nARG2 = %s\nOUTPUT_FILE = %s\n" +- "VERBOSE = %s\nSILENT = %s\n", +- arguments.args[0], arguments.args[1], +- arguments.output_file, +- arguments.verbose ? "yes" : "no", +- arguments.silent ? "yes" : "no"); +- +- exit (0); +-@} +diff -u -udbrN glibc-2.3.2/manual/argp-ex4.c.texi glibc-2.3.2-200304020432/manual/argp-ex4.c.texi +--- glibc-2.3.2/manual/argp-ex4.c.texi Tue Feb 22 09:35:05 2000 ++++ glibc-2.3.2-200304020432/manual/argp-ex4.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,167 +0,0 @@ +-/* @r{Argp example #4 -- a program with somewhat more complicated options} */ +- +-/* @r{This program uses the same features as example 3, but has more +- options, and somewhat more structure in the -help output. It +- also shows how you can `steal' the remainder of the input +- arguments past a certain point, for programs that accept a +- list of items. It also shows the special argp KEY value +- ARGP_KEY_NO_ARGS, which is only given if no non-option +- arguments were supplied to the program. +- +- For structuring the help output, two features are used, +- *headers* which are entries in the options vector with the +- first four fields being zero, and a two part documentation +- string (in the variable DOC), which allows documentation both +- before and after the options; the two parts of DOC are +- separated by a vertical-tab character ('\v', or '\013'). By +- convention, the documentation before the options is just a +- short string saying what the program does, and that afterwards +- is longer, describing the behavior in more detail. All +- documentation strings are automatically filled for output, +- although newlines may be included to force a line break at a +- particular point. All documentation strings are also passed to +- the `gettext' function, for possible translation into the +- current locale.} */ +- +-#include <stdlib.h> +-#include <error.h> +-#include <argp.h> +- +-const char *argp_program_version = +- "argp-ex4 1.0"; +-const char *argp_program_bug_address = +- "<bug-gnu-utils@@prep.ai.mit.edu>"; +- +-/* @r{Program documentation.} */ +-static char doc[] = +- "Argp example #4 -- a program with somewhat more complicated\ +-options\ +-\vThis part of the documentation comes *after* the options;\ +- note that the text is automatically filled, but it's possible\ +- to force a line-break, e.g.\n<-- here."; +- +-/* @r{A description of the arguments we accept.} */ +-static char args_doc[] = "ARG1 [STRING...]"; +- +-/* @r{Keys for options without short-options.} */ +-#define OPT_ABORT 1 /* @r{--abort} */ +- +-/* @r{The options we understand.} */ +-static struct argp_option options[] = @{ +- @{"verbose", 'v', 0, 0, "Produce verbose output" @}, +- @{"quiet", 'q', 0, 0, "Don't produce any output" @}, +- @{"silent", 's', 0, OPTION_ALIAS @}, +- @{"output", 'o', "FILE", 0, +- "Output to FILE instead of standard output" @}, +- +- @{0,0,0,0, "The following options should be grouped together:" @}, +- @{"repeat", 'r', "COUNT", OPTION_ARG_OPTIONAL, +- "Repeat the output COUNT (default 10) times"@}, +- @{"abort", OPT_ABORT, 0, 0, "Abort before showing any output"@}, +- +- @{ 0 @} +-@}; +- +-/* @r{Used by @code{main} to communicate with @code{parse_opt}.} */ +-struct arguments +-@{ +- char *arg1; /* @r{@var{arg1}} */ +- char **strings; /* @r{[@var{string}@dots{}]} */ +- int silent, verbose, abort; /* @r{@samp{-s}, @samp{-v}, @samp{--abort}} */ +- char *output_file; /* @r{@var{file} arg to @samp{--output}} */ +- int repeat_count; /* @r{@var{count} arg to @samp{--repeat}} */ +-@}; +- +-/* @r{Parse a single option.} */ +-static error_t +-parse_opt (int key, char *arg, struct argp_state *state) +-@{ +- /* @r{Get the @code{input} argument from @code{argp_parse}, which we +- know is a pointer to our arguments structure.} */ +- struct arguments *arguments = state->input; +- +- switch (key) +- @{ +- case 'q': case 's': +- arguments->silent = 1; +- break; +- case 'v': +- arguments->verbose = 1; +- break; +- case 'o': +- arguments->output_file = arg; +- break; +- case 'r': +- arguments->repeat_count = arg ? atoi (arg) : 10; +- break; +- case OPT_ABORT: +- arguments->abort = 1; +- break; +- +- case ARGP_KEY_NO_ARGS: +- argp_usage (state); +- +- case ARGP_KEY_ARG: +- /* @r{Here we know that @code{state->arg_num == 0}, since we +- force argument parsing to end before any more arguments can +- get here.} */ +- arguments->arg1 = arg; +- +- /* @r{Now we consume all the rest of the arguments. +- @code{state->next} is the index in @code{state->argv} of the +- next argument to be parsed, which is the first @var{string} +- we're interested in, so we can just use +- @code{&state->argv[state->next]} as the value for +- arguments->strings. +- +- @emph{In addition}, by setting @code{state->next} to the end +- of the arguments, we can force argp to stop parsing here and +- return.} */ +- arguments->strings = &state->argv[state->next]; +- state->next = state->argc; +- +- break; +- +- default: +- return ARGP_ERR_UNKNOWN; +- @} +- return 0; +-@} +- +-/* @r{Our argp parser.} */ +-static struct argp argp = @{ options, parse_opt, args_doc, doc @}; +- +-int main (int argc, char **argv) +-@{ +- int i, j; +- struct arguments arguments; +- +- /* @r{Default values.} */ +- arguments.silent = 0; +- arguments.verbose = 0; +- arguments.output_file = "-"; +- arguments.repeat_count = 1; +- arguments.abort = 0; +- +- /* @r{Parse our arguments; every option seen by @code{parse_opt} will be +- reflected in @code{arguments}.} */ +- argp_parse (&argp, argc, argv, 0, 0, &arguments); +- +- if (arguments.abort) +- error (10, 0, "ABORTED"); +- +- for (i = 0; i < arguments.repeat_count; i++) +- @{ +- printf ("ARG1 = %s\n", arguments.arg1); +- printf ("STRINGS = "); +- for (j = 0; arguments.strings[j]; j++) +- printf (j == 0 ? "%s" : ", %s", arguments.strings[j]); +- printf ("\n"); +- printf ("OUTPUT_FILE = %s\nVERBOSE = %s\nSILENT = %s\n", +- arguments.output_file, +- arguments.verbose ? "yes" : "no", +- arguments.silent ? "yes" : "no"); +- @} +- +- exit (0); +-@} +diff -u -udbrN glibc-2.3.2/manual/atexit.c.texi glibc-2.3.2-200304020432/manual/atexit.c.texi +--- glibc-2.3.2/manual/atexit.c.texi Wed Dec 9 23:51:54 1998 ++++ glibc-2.3.2-200304020432/manual/atexit.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,15 +0,0 @@ +-#include <stdio.h> +-#include <stdlib.h> +- +-void +-bye (void) +-@{ +- puts ("Goodbye, cruel world...."); +-@} +- +-int +-main (void) +-@{ +- atexit (bye); +- exit (EXIT_SUCCESS); +-@} +diff -u -udbrN glibc-2.3.2/manual/db.c.texi glibc-2.3.2-200304020432/manual/db.c.texi +--- glibc-2.3.2/manual/db.c.texi Wed Dec 9 23:51:54 1998 ++++ glibc-2.3.2-200304020432/manual/db.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,52 +0,0 @@ +-#include <grp.h> +-#include <pwd.h> +-#include <sys/types.h> +-#include <unistd.h> +-#include <stdlib.h> +- +-int +-main (void) +-@{ +- uid_t me; +- struct passwd *my_passwd; +- struct group *my_group; +- char **members; +- +- /* @r{Get information about the user ID.} */ +- me = getuid (); +- my_passwd = getpwuid (me); +- if (!my_passwd) +- @{ +- printf ("Couldn't find out about user %d.\n", (int) me); +- exit (EXIT_FAILURE); +- @} +- +- /* @r{Print the information.} */ +- printf ("I am %s.\n", my_passwd->pw_gecos); +- printf ("My login name is %s.\n", my_passwd->pw_name); +- printf ("My uid is %d.\n", (int) (my_passwd->pw_uid)); +- printf ("My home directory is %s.\n", my_passwd->pw_dir); +- printf ("My default shell is %s.\n", my_passwd->pw_shell); +- +- /* @r{Get information about the default group ID.} */ +- my_group = getgrgid (my_passwd->pw_gid); +- if (!my_group) +- @{ +- printf ("Couldn't find out about group %d.\n", +- (int) my_passwd->pw_gid); +- exit (EXIT_FAILURE); +- @} +- +- /* @r{Print the information.} */ +- printf ("My default group is %s (%d).\n", +- my_group->gr_name, (int) (my_passwd->pw_gid)); +- printf ("The members of this group are:\n"); +- members = my_group->gr_mem; +- while (*members) +- @{ +- printf (" %s\n", *(members)); +- members++; +- @} +- +- return EXIT_SUCCESS; +-@} +diff -u -udbrN glibc-2.3.2/manual/dir-add.info glibc-2.3.2-200304020432/manual/dir-add.info +--- glibc-2.3.2/manual/dir-add.info Sat Mar 1 02:39:41 2003 ++++ glibc-2.3.2-200304020432/manual/dir-add.info Thu Jan 1 01:00:00 1970 +@@ -1,1707 +0,0 @@ +-INFO-DIR-SECTION GNU C library functions +-START-INFO-DIR-ENTRY +-* ALTWERASE: (libc)Local Modes. +-* ARGP_ERR_UNKNOWN: (libc)Argp Parser Functions. +-* ARG_MAX: (libc)General Limits. +-* BC_BASE_MAX: (libc)Utility Limits. +-* BC_DIM_MAX: (libc)Utility Limits. +-* BC_SCALE_MAX: (libc)Utility Limits. +-* BC_STRING_MAX: (libc)Utility Limits. +-* BRKINT: (libc)Input Modes. +-* BUFSIZ: (libc)Controlling Buffering. +-* CCTS_OFLOW: (libc)Control Modes. +-* CHILD_MAX: (libc)General Limits. +-* CIGNORE: (libc)Control Modes. +-* CLK_TCK: (libc)CPU Time. +-* CLOCAL: (libc)Control Modes. +-* CLOCKS_PER_SEC: (libc)CPU Time. +-* COLL_WEIGHTS_MAX: (libc)Utility Limits. +-* CREAD: (libc)Control Modes. +-* CRTS_IFLOW: (libc)Control Modes. +-* CS5: (libc)Control Modes. +-* CS6: (libc)Control Modes. +-* CS7: (libc)Control Modes. +-* CS8: (libc)Control Modes. +-* CSIZE: (libc)Control Modes. +-* CSTOPB: (libc)Control Modes. +-* DES_FAILED: (libc)DES Encryption. +-* DTTOIF: (libc)Directory Entries. +-* E2BIG: (libc)Error Codes. +-* EACCES: (libc)Error Codes. +-* EADDRINUSE: (libc)Error Codes. +-* EADDRNOTAVAIL: (libc)Error Codes. +-* EADV: (libc)Error Codes. +-* EAFNOSUPPORT: (libc)Error Codes. +-* EAGAIN: (libc)Error Codes. +-* EALREADY: (libc)Error Codes. +-* EAUTH: (libc)Error Codes. +-* EBACKGROUND: (libc)Error Codes. +-* EBADE: (libc)Error Codes. +-* EBADF: (libc)Error Codes. +-* EBADFD: (libc)Error Codes. +-* EBADMSG: (libc)Error Codes. +-* EBADR: (libc)Error Codes. +-* EBADRPC: (libc)Error Codes. +-* EBADRQC: (libc)Error Codes. +-* EBADSLT: (libc)Error Codes. +-* EBFONT: (libc)Error Codes. +-* EBUSY: (libc)Error Codes. +-* ECANCELED: (libc)Error Codes. +-* ECHILD: (libc)Error Codes. +-* ECHO: (libc)Local Modes. +-* ECHOCTL: (libc)Local Modes. +-* ECHOE: (libc)Local Modes. +-* ECHOK: (libc)Local Modes. +-* ECHOKE: (libc)Local Modes. +-* ECHONL: (libc)Local Modes. +-* ECHOPRT: (libc)Local Modes. +-* ECHRNG: (libc)Error Codes. +-* ECOMM: (libc)Error Codes. +-* ECONNABORTED: (libc)Error Codes. +-* ECONNREFUSED: (libc)Error Codes. +-* ECONNRESET: (libc)Error Codes. +-* ED: (libc)Error Codes. +-* EDEADLK: (libc)Error Codes. +-* EDEADLOCK: (libc)Error Codes. +-* EDESTADDRREQ: (libc)Error Codes. +-* EDIED: (libc)Error Codes. +-* EDOM: (libc)Error Codes. +-* EDOTDOT: (libc)Error Codes. +-* EDQUOT: (libc)Error Codes. +-* EEXIST: (libc)Error Codes. +-* EFAULT: (libc)Error Codes. +-* EFBIG: (libc)Error Codes. +-* EFTYPE: (libc)Error Codes. +-* EGRATUITOUS: (libc)Error Codes. +-* EGREGIOUS: (libc)Error Codes. +-* EHOSTDOWN: (libc)Error Codes. +-* EHOSTUNREACH: (libc)Error Codes. +-* EIDRM: (libc)Error Codes. +-* EIEIO: (libc)Error Codes. +-* EILSEQ: (libc)Error Codes. +-* EINPROGRESS: (libc)Error Codes. +-* EINTR: (libc)Error Codes. +-* EINVAL: (libc)Error Codes. +-* EIO: (libc)Error Codes. +-* EISCONN: (libc)Error Codes. +-* EISDIR: (libc)Error Codes. +-* EISNAM: (libc)Error Codes. +-* EL2HLT: (libc)Error Codes. +-* EL2NSYNC: (libc)Error Codes. +-* EL3HLT: (libc)Error Codes. +-* EL3RST: (libc)Error Codes. +-* ELIBACC: (libc)Error Codes. +-* ELIBBAD: (libc)Error Codes. +-* ELIBEXEC: (libc)Error Codes. +-* ELIBMAX: (libc)Error Codes. +-* ELIBSCN: (libc)Error Codes. +-* ELNRNG: (libc)Error Codes. +-* ELOOP: (libc)Error Codes. +-* EMEDIUMTYPE: (libc)Error Codes. +-* EMFILE: (libc)Error Codes. +-* EMLINK: (libc)Error Codes. +-* EMSGSIZE: (libc)Error Codes. +-* EMULTIHOP: (libc)Error Codes. +-* ENAMETOOLONG: (libc)Error Codes. +-* ENAVAIL: (libc)Error Codes. +-* ENEEDAUTH: (libc)Error Codes. +-* ENETDOWN: (libc)Error Codes. +-* ENETRESET: (libc)Error Codes. +-* ENETUNREACH: (libc)Error Codes. +-* ENFILE: (libc)Error Codes. +-* ENOANO: (libc)Error Codes. +-* ENOBUFS: (libc)Error Codes. +-* ENOCSI: (libc)Error Codes. +-* ENODATA: (libc)Error Codes. +-* ENODEV: (libc)Error Codes. +-* ENOENT: (libc)Error Codes. +-* ENOEXEC: (libc)Error Codes. +-* ENOLCK: (libc)Error Codes. +-* ENOLINK: (libc)Error Codes. +-* ENOMEDIUM: (libc)Error Codes. +-* ENOMEM: (libc)Error Codes. +-* ENOMSG: (libc)Error Codes. +-* ENONET: (libc)Error Codes. +-* ENOPKG: (libc)Error Codes. +-* ENOPROTOOPT: (libc)Error Codes. +-* ENOSPC: (libc)Error Codes. +-* ENOSR: (libc)Error Codes. +-* ENOSTR: (libc)Error Codes. +-* ENOSYS: (libc)Error Codes. +-* ENOTBLK: (libc)Error Codes. +-* ENOTCONN: (libc)Error Codes. +-* ENOTDIR: (libc)Error Codes. +-* ENOTEMPTY: (libc)Error Codes. +-* ENOTNAM: (libc)Error Codes. +-* ENOTSOCK: (libc)Error Codes. +-* ENOTSUP: (libc)Error Codes. +-* ENOTTY: (libc)Error Codes. +-* ENOTUNIQ: (libc)Error Codes. +-* ENXIO: (libc)Error Codes. +-* EOF: (libc)EOF and Errors. +-* EOPNOTSUPP: (libc)Error Codes. +-* EOVERFLOW: (libc)Error Codes. +-* EPERM: (libc)Error Codes. +-* EPFNOSUPPORT: (libc)Error Codes. +-* EPIPE: (libc)Error Codes. +-* EPROCLIM: (libc)Error Codes. +-* EPROCUNAVAIL: (libc)Error Codes. +-* EPROGMISMATCH: (libc)Error Codes. +-* EPROGUNAVAIL: (libc)Error Codes. +-* EPROTO: (libc)Error Codes. +-* EPROTONOSUPPORT: (libc)Error Codes. +-* EPROTOTYPE: (libc)Error Codes. +-* EQUIV_CLASS_MAX: (libc)Utility Limits. +-* ERANGE: (libc)Error Codes. +-* EREMCHG: (libc)Error Codes. +-* EREMOTE: (libc)Error Codes. +-* EREMOTEIO: (libc)Error Codes. +-* ERESTART: (libc)Error Codes. +-* EROFS: (libc)Error Codes. +-* ERPCMISMATCH: (libc)Error Codes. +-* ESHUTDOWN: (libc)Error Codes. +-* ESOCKTNOSUPPORT: (libc)Error Codes. +-* ESPIPE: (libc)Error Codes. +-* ESRCH: (libc)Error Codes. +-* ESRMNT: (libc)Error Codes. +-* ESTALE: (libc)Error Codes. +-* ESTRPIPE: (libc)Error Codes. +-* ETIME: (libc)Error Codes. +-* ETIMEDOUT: (libc)Error Codes. +-* ETOOMANYREFS: (libc)Error Codes. +-* ETXTBSY: (libc)Error Codes. +-* EUCLEAN: (libc)Error Codes. +-* EUNATCH: (libc)Error Codes. +-* EUSERS: (libc)Error Codes. +-* EWOULDBLOCK: (libc)Error Codes. +-* EXDEV: (libc)Error Codes. +-* EXFULL: (libc)Error Codes. +-* EXIT_FAILURE: (libc)Exit Status. +-* EXIT_SUCCESS: (libc)Exit Status. +-* EXPR_NEST_MAX: (libc)Utility Limits. +-* FD_CLOEXEC: (libc)Descriptor Flags. +-* FD_CLR: (libc)Waiting for I/O. +-* FD_ISSET: (libc)Waiting for I/O. +-* FD_SET: (libc)Waiting for I/O. +-* FD_SETSIZE: (libc)Waiting for I/O. +-* FD_ZERO: (libc)Waiting for I/O. +-* FILENAME_MAX: (libc)Limits for Files. +-* FLUSHO: (libc)Local Modes. +-* FOPEN_MAX: (libc)Opening Streams. +-* FP_ILOGB0: (libc)Exponents and Logarithms. +-* FP_ILOGBNAN: (libc)Exponents and Logarithms. +-* F_DUPFD: (libc)Duplicating Descriptors. +-* F_GETFD: (libc)Descriptor Flags. +-* F_GETFL: (libc)Getting File Status Flags. +-* F_GETLK: (libc)File Locks. +-* F_GETOWN: (libc)Interrupt Input. +-* F_OK: (libc)Testing File Access. +-* F_SETFD: (libc)Descriptor Flags. +-* F_SETFL: (libc)Getting File Status Flags. +-* F_SETLK: (libc)File Locks. +-* F_SETLKW: (libc)File Locks. +-* F_SETOWN: (libc)Interrupt Input. +-* HUGE_VAL: (libc)Math Error Reporting. +-* HUGE_VALF: (libc)Math Error Reporting. +-* HUGE_VALL: (libc)Math Error Reporting. +-* HUPCL: (libc)Control Modes. +-* I: (libc)Complex Numbers. +-* ICANON: (libc)Local Modes. +-* ICRNL: (libc)Input Modes. +-* IEXTEN: (libc)Local Modes. +-* IFNAMSIZ: (libc)Interface Naming. +-* IFTODT: (libc)Directory Entries. +-* IGNBRK: (libc)Input Modes. +-* IGNCR: (libc)Input Modes. +-* IGNPAR: (libc)Input Modes. +-* IMAXBEL: (libc)Input Modes. +-* INADDR_ANY: (libc)Host Address Data Type. +-* INADDR_BROADCAST: (libc)Host Address Data Type. +-* INADDR_LOOPBACK: (libc)Host Address Data Type. +-* INADDR_NONE: (libc)Host Address Data Type. +-* INFINITY: (libc)Infinity and NaN. +-* INLCR: (libc)Input Modes. +-* INPCK: (libc)Input Modes. +-* IPPORT_RESERVED: (libc)Ports. +-* IPPORT_USERRESERVED: (libc)Ports. +-* ISIG: (libc)Local Modes. +-* ISTRIP: (libc)Input Modes. +-* IXANY: (libc)Input Modes. +-* IXOFF: (libc)Input Modes. +-* IXON: (libc)Input Modes. +-* LINE_MAX: (libc)Utility Limits. +-* LINK_MAX: (libc)Limits for Files. +-* L_ctermid: (libc)Identifying the Terminal. +-* L_cuserid: (libc)Who Logged In. +-* L_tmpnam: (libc)Temporary Files. +-* MAXNAMLEN: (libc)Limits for Files. +-* MAXSYMLINKS: (libc)Symbolic Links. +-* MAX_CANON: (libc)Limits for Files. +-* MAX_INPUT: (libc)Limits for Files. +-* MB_CUR_MAX: (libc)Selecting the Conversion. +-* MB_LEN_MAX: (libc)Selecting the Conversion. +-* MDMBUF: (libc)Control Modes. +-* MSG_DONTROUTE: (libc)Socket Data Options. +-* MSG_OOB: (libc)Socket Data Options. +-* MSG_PEEK: (libc)Socket Data Options. +-* NAME_MAX: (libc)Limits for Files. +-* NAN: (libc)Infinity and NaN. +-* NCCS: (libc)Mode Data Types. +-* NGROUPS_MAX: (libc)General Limits. +-* NOFLSH: (libc)Local Modes. +-* NOKERNINFO: (libc)Local Modes. +-* NSIG: (libc)Standard Signals. +-* NULL: (libc)Null Pointer Constant. +-* ONLCR: (libc)Output Modes. +-* ONOEOT: (libc)Output Modes. +-* OPEN_MAX: (libc)General Limits. +-* OPOST: (libc)Output Modes. +-* OXTABS: (libc)Output Modes. +-* O_ACCMODE: (libc)Access Modes. +-* O_APPEND: (libc)Operating Modes. +-* O_ASYNC: (libc)Operating Modes. +-* O_CREAT: (libc)Open-time Flags. +-* O_EXCL: (libc)Open-time Flags. +-* O_EXEC: (libc)Access Modes. +-* O_EXLOCK: (libc)Open-time Flags. +-* O_FSYNC: (libc)Operating Modes. +-* O_IGNORE_CTTY: (libc)Open-time Flags. +-* O_NDELAY: (libc)Operating Modes. +-* O_NOATIME: (libc)Operating Modes. +-* O_NOCTTY: (libc)Open-time Flags. +-* O_NOLINK: (libc)Open-time Flags. +-* O_NONBLOCK: (libc)Open-time Flags. +-* O_NONBLOCK: (libc)Operating Modes. +-* O_NOTRANS: (libc)Open-time Flags. +-* O_RDONLY: (libc)Access Modes. +-* O_RDWR: (libc)Access Modes. +-* O_READ: (libc)Access Modes. +-* O_SHLOCK: (libc)Open-time Flags. +-* O_SYNC: (libc)Operating Modes. +-* O_TRUNC: (libc)Open-time Flags. +-* O_WRITE: (libc)Access Modes. +-* O_WRONLY: (libc)Access Modes. +-* PARENB: (libc)Control Modes. +-* PARMRK: (libc)Input Modes. +-* PARODD: (libc)Control Modes. +-* PATH_MAX: (libc)Limits for Files. +-* PA_FLAG_MASK: (libc)Parsing a Template String. +-* PENDIN: (libc)Local Modes. +-* PF_FILE: (libc)Local Namespace Details. +-* PF_INET6: (libc)Internet Namespace. +-* PF_INET: (libc)Internet Namespace. +-* PF_LOCAL: (libc)Local Namespace Details. +-* PF_UNIX: (libc)Local Namespace Details. +-* PIPE_BUF: (libc)Limits for Files. +-* P_tmpdir: (libc)Temporary Files. +-* RAND_MAX: (libc)ISO Random. +-* RE_DUP_MAX: (libc)General Limits. +-* RLIM_INFINITY: (libc)Limits on Resources. +-* R_OK: (libc)Testing File Access. +-* SA_NOCLDSTOP: (libc)Flags for Sigaction. +-* SA_ONSTACK: (libc)Flags for Sigaction. +-* SA_RESTART: (libc)Flags for Sigaction. +-* SEEK_CUR: (libc)File Positioning. +-* SEEK_END: (libc)File Positioning. +-* SEEK_SET: (libc)File Positioning. +-* SIGABRT: (libc)Program Error Signals. +-* SIGALRM: (libc)Alarm Signals. +-* SIGBUS: (libc)Program Error Signals. +-* SIGCHLD: (libc)Job Control Signals. +-* SIGCLD: (libc)Job Control Signals. +-* SIGCONT: (libc)Job Control Signals. +-* SIGEMT: (libc)Program Error Signals. +-* SIGFPE: (libc)Program Error Signals. +-* SIGHUP: (libc)Termination Signals. +-* SIGILL: (libc)Program Error Signals. +-* SIGINFO: (libc)Miscellaneous Signals. +-* SIGINT: (libc)Termination Signals. +-* SIGIO: (libc)Asynchronous I/O Signals. +-* SIGIOT: (libc)Program Error Signals. +-* SIGKILL: (libc)Termination Signals. +-* SIGLOST: (libc)Operation Error Signals. +-* SIGPIPE: (libc)Operation Error Signals. +-* SIGPOLL: (libc)Asynchronous I/O Signals. +-* SIGPROF: (libc)Alarm Signals. +-* SIGQUIT: (libc)Termination Signals. +-* SIGSEGV: (libc)Program Error Signals. +-* SIGSTOP: (libc)Job Control Signals. +-* SIGSYS: (libc)Program Error Signals. +-* SIGTERM: (libc)Termination Signals. +-* SIGTRAP: (libc)Program Error Signals. +-* SIGTSTP: (libc)Job Control Signals. +-* SIGTTIN: (libc)Job Control Signals. +-* SIGTTOU: (libc)Job Control Signals. +-* SIGURG: (libc)Asynchronous I/O Signals. +-* SIGUSR1: (libc)Miscellaneous Signals. +-* SIGUSR2: (libc)Miscellaneous Signals. +-* SIGVTALRM: (libc)Alarm Signals. +-* SIGWINCH: (libc)Miscellaneous Signals. +-* SIGXCPU: (libc)Operation Error Signals. +-* SIGXFSZ: (libc)Operation Error Signals. +-* SIG_ERR: (libc)Basic Signal Handling. +-* SOCK_DGRAM: (libc)Communication Styles. +-* SOCK_RAW: (libc)Communication Styles. +-* SOCK_RDM: (libc)Communication Styles. +-* SOCK_SEQPACKET: (libc)Communication Styles. +-* SOCK_STREAM: (libc)Communication Styles. +-* SOL_SOCKET: (libc)Socket-Level Options. +-* SSIZE_MAX: (libc)General Limits. +-* STREAM_MAX: (libc)General Limits. +-* SUN_LEN: (libc)Local Namespace Details. +-* SV_INTERRUPT: (libc)BSD Handler. +-* SV_ONSTACK: (libc)BSD Handler. +-* SV_RESETHAND: (libc)BSD Handler. +-* S_IFMT: (libc)Testing File Type. +-* S_ISBLK: (libc)Testing File Type. +-* S_ISCHR: (libc)Testing File Type. +-* S_ISDIR: (libc)Testing File Type. +-* S_ISFIFO: (libc)Testing File Type. +-* S_ISLNK: (libc)Testing File Type. +-* S_ISREG: (libc)Testing File Type. +-* S_ISSOCK: (libc)Testing File Type. +-* S_TYPEISMQ: (libc)Testing File Type. +-* S_TYPEISSEM: (libc)Testing File Type. +-* S_TYPEISSHM: (libc)Testing File Type. +-* TMP_MAX: (libc)Temporary Files. +-* TOSTOP: (libc)Local Modes. +-* TZNAME_MAX: (libc)General Limits. +-* VDISCARD: (libc)Other Special. +-* VDSUSP: (libc)Signal Characters. +-* VEOF: (libc)Editing Characters. +-* VEOL2: (libc)Editing Characters. +-* VEOL: (libc)Editing Characters. +-* VERASE: (libc)Editing Characters. +-* VINTR: (libc)Signal Characters. +-* VKILL: (libc)Editing Characters. +-* VLNEXT: (libc)Other Special. +-* VMIN: (libc)Noncanonical Input. +-* VQUIT: (libc)Signal Characters. +-* VREPRINT: (libc)Editing Characters. +-* VSTART: (libc)Start/Stop Characters. +-* VSTATUS: (libc)Other Special. +-* VSTOP: (libc)Start/Stop Characters. +-* VSUSP: (libc)Signal Characters. +-* VTIME: (libc)Noncanonical Input. +-* VWERASE: (libc)Editing Characters. +-* WCHAR_MAX: (libc)Extended Char Intro. +-* WCHAR_MIN: (libc)Extended Char Intro. +-* WCOREDUMP: (libc)Process Completion Status. +-* WEOF: (libc)EOF and Errors. +-* WEOF: (libc)Extended Char Intro. +-* WEXITSTATUS: (libc)Process Completion Status. +-* WIFEXITED: (libc)Process Completion Status. +-* WIFSIGNALED: (libc)Process Completion Status. +-* WIFSTOPPED: (libc)Process Completion Status. +-* WSTOPSIG: (libc)Process Completion Status. +-* WTERMSIG: (libc)Process Completion Status. +-* W_OK: (libc)Testing File Access. +-* X_OK: (libc)Testing File Access. +-* _Complex_I: (libc)Complex Numbers. +-* _Exit: (libc)Termination Internals. +-* _IOFBF: (libc)Controlling Buffering. +-* _IOLBF: (libc)Controlling Buffering. +-* _IONBF: (libc)Controlling Buffering. +-* _Imaginary_I: (libc)Complex Numbers. +-* _PATH_UTMP: (libc)Manipulating the Database. +-* _PATH_WTMP: (libc)Manipulating the Database. +-* _POSIX2_C_DEV: (libc)System Options. +-* _POSIX2_C_VERSION: (libc)Version Supported. +-* _POSIX2_FORT_DEV: (libc)System Options. +-* _POSIX2_FORT_RUN: (libc)System Options. +-* _POSIX2_LOCALEDEF: (libc)System Options. +-* _POSIX2_SW_DEV: (libc)System Options. +-* _POSIX_CHOWN_RESTRICTED: (libc)Options for Files. +-* _POSIX_JOB_CONTROL: (libc)System Options. +-* _POSIX_NO_TRUNC: (libc)Options for Files. +-* _POSIX_SAVED_IDS: (libc)System Options. +-* _POSIX_VDISABLE: (libc)Options for Files. +-* _POSIX_VERSION: (libc)Version Supported. +-* __fbufsize: (libc)Controlling Buffering. +-* __flbf: (libc)Controlling Buffering. +-* __fpending: (libc)Controlling Buffering. +-* __fpurge: (libc)Flushing Buffers. +-* __freadable: (libc)Opening Streams. +-* __freading: (libc)Opening Streams. +-* __fsetlocking: (libc)Streams and Threads. +-* __fwritable: (libc)Opening Streams. +-* __fwriting: (libc)Opening Streams. +-* __va_copy: (libc)Argument Macros. +-* _exit: (libc)Termination Internals. +-* _flushlbf: (libc)Flushing Buffers. +-* _tolower: (libc)Case Conversion. +-* _toupper: (libc)Case Conversion. +-* a64l: (libc)Encode Binary Data. +-* abort: (libc)Aborting a Program. +-* abs: (libc)Absolute Value. +-* accept: (libc)Accepting Connections. +-* access: (libc)Testing File Access. +-* acos: (libc)Inverse Trig Functions. +-* acosf: (libc)Inverse Trig Functions. +-* acosh: (libc)Hyperbolic Functions. +-* acoshf: (libc)Hyperbolic Functions. +-* acoshl: (libc)Hyperbolic Functions. +-* acosl: (libc)Inverse Trig Functions. +-* addmntent: (libc)mtab. +-* addseverity: (libc)Adding Severity Classes. +-* adjtime: (libc)High-Resolution Calendar. +-* adjtimex: (libc)High-Resolution Calendar. +-* aio_cancel64: (libc)Cancel AIO Operations. +-* aio_cancel: (libc)Cancel AIO Operations. +-* aio_error64: (libc)Status of AIO Operations. +-* aio_error: (libc)Status of AIO Operations. +-* aio_fsync64: (libc)Synchronizing AIO Operations. +-* aio_fsync: (libc)Synchronizing AIO Operations. +-* aio_init: (libc)Configuration of AIO. +-* aio_read64: (libc)Asynchronous Reads/Writes. +-* aio_read: (libc)Asynchronous Reads/Writes. +-* aio_return64: (libc)Status of AIO Operations. +-* aio_return: (libc)Status of AIO Operations. +-* aio_suspend64: (libc)Synchronizing AIO Operations. +-* aio_suspend: (libc)Synchronizing AIO Operations. +-* aio_write64: (libc)Asynchronous Reads/Writes. +-* aio_write: (libc)Asynchronous Reads/Writes. +-* alarm: (libc)Setting an Alarm. +-* alloca: (libc)Variable Size Automatic. +-* alphasort64: (libc)Scanning Directory Content. +-* alphasort: (libc)Scanning Directory Content. +-* argp_error: (libc)Argp Helper Functions. +-* argp_failure: (libc)Argp Helper Functions. +-* argp_help: (libc)Argp Help. +-* argp_parse: (libc)Argp. +-* argp_state_help: (libc)Argp Helper Functions. +-* argp_usage: (libc)Argp Helper Functions. +-* argz_add: (libc)Argz Functions. +-* argz_add_sep: (libc)Argz Functions. +-* argz_append: (libc)Argz Functions. +-* argz_count: (libc)Argz Functions. +-* argz_create: (libc)Argz Functions. +-* argz_create_sep: (libc)Argz Functions. +-* argz_delete: (libc)Argz Functions. +-* argz_extract: (libc)Argz Functions. +-* argz_insert: (libc)Argz Functions. +-* argz_next: (libc)Argz Functions. +-* argz_replace: (libc)Argz Functions. +-* argz_stringify: (libc)Argz Functions. +-* asctime: (libc)Formatting Calendar Time. +-* asctime_r: (libc)Formatting Calendar Time. +-* asin: (libc)Inverse Trig Functions. +-* asinf: (libc)Inverse Trig Functions. +-* asinh: (libc)Hyperbolic Functions. +-* asinhf: (libc)Hyperbolic Functions. +-* asinhl: (libc)Hyperbolic Functions. +-* asinl: (libc)Inverse Trig Functions. +-* asprintf: (libc)Dynamic Output. +-* assert: (libc)Consistency Checking. +-* assert_perror: (libc)Consistency Checking. +-* atan2: (libc)Inverse Trig Functions. +-* atan2f: (libc)Inverse Trig Functions. +-* atan2l: (libc)Inverse Trig Functions. +-* atan: (libc)Inverse Trig Functions. +-* atanf: (libc)Inverse Trig Functions. +-* atanh: (libc)Hyperbolic Functions. +-* atanhf: (libc)Hyperbolic Functions. +-* atanhl: (libc)Hyperbolic Functions. +-* atanl: (libc)Inverse Trig Functions. +-* atexit: (libc)Cleanups on Exit. +-* atof: (libc)Parsing of Floats. +-* atoi: (libc)Parsing of Integers. +-* atol: (libc)Parsing of Integers. +-* atoll: (libc)Parsing of Integers. +-* backtrace: (libc)Backtraces. +-* backtrace_symbols: (libc)Backtraces. +-* backtrace_symbols_fd: (libc)Backtraces. +-* basename: (libc)Finding Tokens in a String. +-* basename: (libc)Finding Tokens in a String. +-* bcmp: (libc)String/Array Comparison. +-* bcopy: (libc)Copying and Concatenation. +-* bind: (libc)Setting Address. +-* bind_textdomain_codeset: (libc)Charset conversion in gettext. +-* bindtextdomain: (libc)Locating gettext catalog. +-* brk: (libc)Resizing the Data Segment. +-* bsearch: (libc)Array Search Function. +-* btowc: (libc)Converting a Character. +-* bzero: (libc)Copying and Concatenation. +-* cabs: (libc)Absolute Value. +-* cabsf: (libc)Absolute Value. +-* cabsl: (libc)Absolute Value. +-* cacos: (libc)Inverse Trig Functions. +-* cacosf: (libc)Inverse Trig Functions. +-* cacosh: (libc)Hyperbolic Functions. +-* cacoshf: (libc)Hyperbolic Functions. +-* cacoshl: (libc)Hyperbolic Functions. +-* cacosl: (libc)Inverse Trig Functions. +-* calloc: (libc)Allocating Cleared Space. +-* canonicalize_file_name: (libc)Symbolic Links. +-* carg: (libc)Operations on Complex. +-* cargf: (libc)Operations on Complex. +-* cargl: (libc)Operations on Complex. +-* casin: (libc)Inverse Trig Functions. +-* casinf: (libc)Inverse Trig Functions. +-* casinh: (libc)Hyperbolic Functions. +-* casinhf: (libc)Hyperbolic Functions. +-* casinhl: (libc)Hyperbolic Functions. +-* casinl: (libc)Inverse Trig Functions. +-* catan: (libc)Inverse Trig Functions. +-* catanf: (libc)Inverse Trig Functions. +-* catanh: (libc)Hyperbolic Functions. +-* catanhf: (libc)Hyperbolic Functions. +-* catanhl: (libc)Hyperbolic Functions. +-* catanl: (libc)Inverse Trig Functions. +-* catclose: (libc)The catgets Functions. +-* catgets: (libc)The catgets Functions. +-* catopen: (libc)The catgets Functions. +-* cbc_crypt: (libc)DES Encryption. +-* cbrt: (libc)Exponents and Logarithms. +-* cbrtf: (libc)Exponents and Logarithms. +-* cbrtl: (libc)Exponents and Logarithms. +-* ccos: (libc)Trig Functions. +-* ccosf: (libc)Trig Functions. +-* ccosh: (libc)Hyperbolic Functions. +-* ccoshf: (libc)Hyperbolic Functions. +-* ccoshl: (libc)Hyperbolic Functions. +-* ccosl: (libc)Trig Functions. +-* ceil: (libc)Rounding Functions. +-* ceilf: (libc)Rounding Functions. +-* ceill: (libc)Rounding Functions. +-* cexp: (libc)Exponents and Logarithms. +-* cexpf: (libc)Exponents and Logarithms. +-* cexpl: (libc)Exponents and Logarithms. +-* cfgetispeed: (libc)Line Speed. +-* cfgetospeed: (libc)Line Speed. +-* cfmakeraw: (libc)Noncanonical Input. +-* cfree: (libc)Freeing after Malloc. +-* cfsetispeed: (libc)Line Speed. +-* cfsetospeed: (libc)Line Speed. +-* cfsetspeed: (libc)Line Speed. +-* chdir: (libc)Working Directory. +-* chmod: (libc)Setting Permissions. +-* chown: (libc)File Owner. +-* cimag: (libc)Operations on Complex. +-* cimagf: (libc)Operations on Complex. +-* cimagl: (libc)Operations on Complex. +-* clearenv: (libc)Environment Access. +-* clearerr: (libc)Error Recovery. +-* clearerr_unlocked: (libc)Error Recovery. +-* clock: (libc)CPU Time. +-* clog10: (libc)Exponents and Logarithms. +-* clog10f: (libc)Exponents and Logarithms. +-* clog10l: (libc)Exponents and Logarithms. +-* clog: (libc)Exponents and Logarithms. +-* clogf: (libc)Exponents and Logarithms. +-* clogl: (libc)Exponents and Logarithms. +-* close: (libc)Opening and Closing Files. +-* closedir: (libc)Reading/Closing Directory. +-* closelog: (libc)closelog. +-* confstr: (libc)String Parameters. +-* conj: (libc)Operations on Complex. +-* conjf: (libc)Operations on Complex. +-* conjl: (libc)Operations on Complex. +-* connect: (libc)Connecting. +-* copysign: (libc)FP Bit Twiddling. +-* copysignf: (libc)FP Bit Twiddling. +-* copysignl: (libc)FP Bit Twiddling. +-* cos: (libc)Trig Functions. +-* cosf: (libc)Trig Functions. +-* cosh: (libc)Hyperbolic Functions. +-* coshf: (libc)Hyperbolic Functions. +-* coshl: (libc)Hyperbolic Functions. +-* cosl: (libc)Trig Functions. +-* cpow: (libc)Exponents and Logarithms. +-* cpowf: (libc)Exponents and Logarithms. +-* cpowl: (libc)Exponents and Logarithms. +-* cproj: (libc)Operations on Complex. +-* cprojf: (libc)Operations on Complex. +-* cprojl: (libc)Operations on Complex. +-* creal: (libc)Operations on Complex. +-* crealf: (libc)Operations on Complex. +-* creall: (libc)Operations on Complex. +-* creat64: (libc)Opening and Closing Files. +-* creat: (libc)Opening and Closing Files. +-* crypt: (libc)crypt. +-* crypt_r: (libc)crypt. +-* csin: (libc)Trig Functions. +-* csinf: (libc)Trig Functions. +-* csinh: (libc)Hyperbolic Functions. +-* csinhf: (libc)Hyperbolic Functions. +-* csinhl: (libc)Hyperbolic Functions. +-* csinl: (libc)Trig Functions. +-* csqrt: (libc)Exponents and Logarithms. +-* csqrtf: (libc)Exponents and Logarithms. +-* csqrtl: (libc)Exponents and Logarithms. +-* ctan: (libc)Trig Functions. +-* ctanf: (libc)Trig Functions. +-* ctanh: (libc)Hyperbolic Functions. +-* ctanhf: (libc)Hyperbolic Functions. +-* ctanhl: (libc)Hyperbolic Functions. +-* ctanl: (libc)Trig Functions. +-* ctermid: (libc)Identifying the Terminal. +-* ctime: (libc)Formatting Calendar Time. +-* ctime_r: (libc)Formatting Calendar Time. +-* cuserid: (libc)Who Logged In. +-* dcgettext: (libc)Translation with gettext. +-* dcngettext: (libc)Advanced gettext functions. +-* des_setparity: (libc)DES Encryption. +-* dgettext: (libc)Translation with gettext. +-* difftime: (libc)Elapsed Time. +-* dirfd: (libc)Opening a Directory. +-* dirname: (libc)Finding Tokens in a String. +-* div: (libc)Integer Division. +-* dngettext: (libc)Advanced gettext functions. +-* drand48: (libc)SVID Random. +-* drand48_r: (libc)SVID Random. +-* drem: (libc)Remainder Functions. +-* dremf: (libc)Remainder Functions. +-* dreml: (libc)Remainder Functions. +-* dup2: (libc)Duplicating Descriptors. +-* dup: (libc)Duplicating Descriptors. +-* ecb_crypt: (libc)DES Encryption. +-* ecvt: (libc)System V Number Conversion. +-* ecvt_r: (libc)System V Number Conversion. +-* encrypt: (libc)DES Encryption. +-* encrypt_r: (libc)DES Encryption. +-* endfsent: (libc)fstab. +-* endgrent: (libc)Scanning All Groups. +-* endhostent: (libc)Host Names. +-* endmntent: (libc)mtab. +-* endnetent: (libc)Networks Database. +-* endnetgrent: (libc)Lookup Netgroup. +-* endprotoent: (libc)Protocols Database. +-* endpwent: (libc)Scanning All Users. +-* endservent: (libc)Services Database. +-* endutent: (libc)Manipulating the Database. +-* endutxent: (libc)XPG Functions. +-* envz_add: (libc)Envz Functions. +-* envz_entry: (libc)Envz Functions. +-* envz_get: (libc)Envz Functions. +-* envz_merge: (libc)Envz Functions. +-* envz_strip: (libc)Envz Functions. +-* erand48: (libc)SVID Random. +-* erand48_r: (libc)SVID Random. +-* erf: (libc)Special Functions. +-* erfc: (libc)Special Functions. +-* erfcf: (libc)Special Functions. +-* erfcl: (libc)Special Functions. +-* erff: (libc)Special Functions. +-* erfl: (libc)Special Functions. +-* err: (libc)Error Messages. +-* errno: (libc)Checking for Errors. +-* error: (libc)Error Messages. +-* error_at_line: (libc)Error Messages. +-* errx: (libc)Error Messages. +-* execl: (libc)Executing a File. +-* execle: (libc)Executing a File. +-* execlp: (libc)Executing a File. +-* execv: (libc)Executing a File. +-* execve: (libc)Executing a File. +-* execvp: (libc)Executing a File. +-* exit: (libc)Normal Termination. +-* exp10: (libc)Exponents and Logarithms. +-* exp10f: (libc)Exponents and Logarithms. +-* exp10l: (libc)Exponents and Logarithms. +-* exp2: (libc)Exponents and Logarithms. +-* exp2f: (libc)Exponents and Logarithms. +-* exp2l: (libc)Exponents and Logarithms. +-* exp: (libc)Exponents and Logarithms. +-* expf: (libc)Exponents and Logarithms. +-* expl: (libc)Exponents and Logarithms. +-* expm1: (libc)Exponents and Logarithms. +-* expm1f: (libc)Exponents and Logarithms. +-* expm1l: (libc)Exponents and Logarithms. +-* fabs: (libc)Absolute Value. +-* fabsf: (libc)Absolute Value. +-* fabsl: (libc)Absolute Value. +-* fchdir: (libc)Working Directory. +-* fchmod: (libc)Setting Permissions. +-* fchown: (libc)File Owner. +-* fclean: (libc)Cleaning Streams. +-* fclose: (libc)Closing Streams. +-* fcloseall: (libc)Closing Streams. +-* fcntl: (libc)Control Operations. +-* fcvt: (libc)System V Number Conversion. +-* fcvt_r: (libc)System V Number Conversion. +-* fdatasync: (libc)Synchronizing I/O. +-* fdim: (libc)Misc FP Arithmetic. +-* fdimf: (libc)Misc FP Arithmetic. +-* fdiml: (libc)Misc FP Arithmetic. +-* fdopen: (libc)Descriptors and Streams. +-* feclearexcept: (libc)Status bit operations. +-* fedisableexcept: (libc)Control Functions. +-* feenableexcept: (libc)Control Functions. +-* fegetenv: (libc)Control Functions. +-* fegetexcept: (libc)Control Functions. +-* fegetexceptflag: (libc)Status bit operations. +-* fegetround: (libc)Rounding. +-* feholdexcept: (libc)Control Functions. +-* feof: (libc)EOF and Errors. +-* feof_unlocked: (libc)EOF and Errors. +-* feraiseexcept: (libc)Status bit operations. +-* ferror: (libc)EOF and Errors. +-* ferror_unlocked: (libc)EOF and Errors. +-* fesetenv: (libc)Control Functions. +-* fesetexceptflag: (libc)Status bit operations. +-* fesetround: (libc)Rounding. +-* fetestexcept: (libc)Status bit operations. +-* feupdateenv: (libc)Control Functions. +-* fflush: (libc)Flushing Buffers. +-* fflush_unlocked: (libc)Flushing Buffers. +-* fgetc: (libc)Character Input. +-* fgetc_unlocked: (libc)Character Input. +-* fgetgrent: (libc)Scanning All Groups. +-* fgetgrent_r: (libc)Scanning All Groups. +-* fgetpos64: (libc)Portable Positioning. +-* fgetpos: (libc)Portable Positioning. +-* fgetpwent: (libc)Scanning All Users. +-* fgetpwent_r: (libc)Scanning All Users. +-* fgets: (libc)Line Input. +-* fgets_unlocked: (libc)Line Input. +-* fgetwc: (libc)Character Input. +-* fgetwc_unlocked: (libc)Character Input. +-* fgetws: (libc)Line Input. +-* fgetws_unlocked: (libc)Line Input. +-* fileno: (libc)Descriptors and Streams. +-* fileno_unlocked: (libc)Descriptors and Streams. +-* finite: (libc)Floating Point Classes. +-* finitef: (libc)Floating Point Classes. +-* finitel: (libc)Floating Point Classes. +-* flockfile: (libc)Streams and Threads. +-* floor: (libc)Rounding Functions. +-* floorf: (libc)Rounding Functions. +-* floorl: (libc)Rounding Functions. +-* fma: (libc)Misc FP Arithmetic. +-* fmaf: (libc)Misc FP Arithmetic. +-* fmal: (libc)Misc FP Arithmetic. +-* fmax: (libc)Misc FP Arithmetic. +-* fmaxf: (libc)Misc FP Arithmetic. +-* fmaxl: (libc)Misc FP Arithmetic. +-* fmemopen: (libc)String Streams. +-* fmin: (libc)Misc FP Arithmetic. +-* fminf: (libc)Misc FP Arithmetic. +-* fminl: (libc)Misc FP Arithmetic. +-* fmod: (libc)Remainder Functions. +-* fmodf: (libc)Remainder Functions. +-* fmodl: (libc)Remainder Functions. +-* fmtmsg: (libc)Printing Formatted Messages. +-* fnmatch: (libc)Wildcard Matching. +-* fopen64: (libc)Opening Streams. +-* fopen: (libc)Opening Streams. +-* fopencookie: (libc)Streams and Cookies. +-* fork: (libc)Creating a Process. +-* forkpty: (libc)Pseudo-Terminal Pairs. +-* fpathconf: (libc)Pathconf. +-* fpclassify: (libc)Floating Point Classes. +-* fprintf: (libc)Formatted Output Functions. +-* fputc: (libc)Simple Output. +-* fputc_unlocked: (libc)Simple Output. +-* fputs: (libc)Simple Output. +-* fputs_unlocked: (libc)Simple Output. +-* fputwc: (libc)Simple Output. +-* fputwc_unlocked: (libc)Simple Output. +-* fputws: (libc)Simple Output. +-* fputws_unlocked: (libc)Simple Output. +-* fread: (libc)Block Input/Output. +-* fread_unlocked: (libc)Block Input/Output. +-* free: (libc)Freeing after Malloc. +-* freopen64: (libc)Opening Streams. +-* freopen: (libc)Opening Streams. +-* frexp: (libc)Normalization Functions. +-* frexpf: (libc)Normalization Functions. +-* frexpl: (libc)Normalization Functions. +-* fscanf: (libc)Formatted Input Functions. +-* fseek: (libc)File Positioning. +-* fseeko64: (libc)File Positioning. +-* fseeko: (libc)File Positioning. +-* fsetpos64: (libc)Portable Positioning. +-* fsetpos: (libc)Portable Positioning. +-* fstat64: (libc)Reading Attributes. +-* fstat: (libc)Reading Attributes. +-* fsync: (libc)Synchronizing I/O. +-* ftell: (libc)File Positioning. +-* ftello64: (libc)File Positioning. +-* ftello: (libc)File Positioning. +-* ftruncate64: (libc)File Size. +-* ftruncate: (libc)File Size. +-* ftrylockfile: (libc)Streams and Threads. +-* ftw64: (libc)Working with Directory Trees. +-* ftw: (libc)Working with Directory Trees. +-* funlockfile: (libc)Streams and Threads. +-* futimes: (libc)File Times. +-* fwide: (libc)Streams and I18N. +-* fwprintf: (libc)Formatted Output Functions. +-* fwrite: (libc)Block Input/Output. +-* fwrite_unlocked: (libc)Block Input/Output. +-* fwscanf: (libc)Formatted Input Functions. +-* gamma: (libc)Special Functions. +-* gammaf: (libc)Special Functions. +-* gammal: (libc)Special Functions. +-* gcvt: (libc)System V Number Conversion. +-* get_avphys_pages: (libc)Query Memory Parameters. +-* get_current_dir_name: (libc)Working Directory. +-* get_nprocs: (libc)Processor Resources. +-* get_nprocs_conf: (libc)Processor Resources. +-* get_phys_pages: (libc)Query Memory Parameters. +-* getc: (libc)Character Input. +-* getc_unlocked: (libc)Character Input. +-* getchar: (libc)Character Input. +-* getchar_unlocked: (libc)Character Input. +-* getcontext: (libc)System V contexts. +-* getcwd: (libc)Working Directory. +-* getdate: (libc)General Time String Parsing. +-* getdate_r: (libc)General Time String Parsing. +-* getdelim: (libc)Line Input. +-* getdomainnname: (libc)Host Identification. +-* getegid: (libc)Reading Persona. +-* getenv: (libc)Environment Access. +-* geteuid: (libc)Reading Persona. +-* getfsent: (libc)fstab. +-* getfsfile: (libc)fstab. +-* getfsspec: (libc)fstab. +-* getgid: (libc)Reading Persona. +-* getgrent: (libc)Scanning All Groups. +-* getgrent_r: (libc)Scanning All Groups. +-* getgrgid: (libc)Lookup Group. +-* getgrgid_r: (libc)Lookup Group. +-* getgrnam: (libc)Lookup Group. +-* getgrnam_r: (libc)Lookup Group. +-* getgrouplist: (libc)Setting Groups. +-* getgroups: (libc)Reading Persona. +-* gethostbyaddr: (libc)Host Names. +-* gethostbyaddr_r: (libc)Host Names. +-* gethostbyname2: (libc)Host Names. +-* gethostbyname2_r: (libc)Host Names. +-* gethostbyname: (libc)Host Names. +-* gethostbyname_r: (libc)Host Names. +-* gethostent: (libc)Host Names. +-* gethostid: (libc)Host Identification. +-* gethostname: (libc)Host Identification. +-* getitimer: (libc)Setting an Alarm. +-* getline: (libc)Line Input. +-* getloadavg: (libc)Processor Resources. +-* getlogin: (libc)Who Logged In. +-* getmntent: (libc)mtab. +-* getmntent_r: (libc)mtab. +-* getnetbyaddr: (libc)Networks Database. +-* getnetbyname: (libc)Networks Database. +-* getnetent: (libc)Networks Database. +-* getnetgrent: (libc)Lookup Netgroup. +-* getnetgrent_r: (libc)Lookup Netgroup. +-* getopt: (libc)Using Getopt. +-* getopt_long: (libc)Getopt Long Options. +-* getopt_long_only: (libc)Getopt Long Options. +-* getpagesize: (libc)Query Memory Parameters. +-* getpass: (libc)getpass. +-* getpeername: (libc)Who is Connected. +-* getpgid: (libc)Process Group Functions. +-* getpgrp: (libc)Process Group Functions. +-* getpgrp: (libc)Process Group Functions. +-* getpid: (libc)Process Identification. +-* getppid: (libc)Process Identification. +-* getpriority: (libc)Traditional Scheduling Functions. +-* getprotobyname: (libc)Protocols Database. +-* getprotobynumber: (libc)Protocols Database. +-* getprotoent: (libc)Protocols Database. +-* getpt: (libc)Allocation. +-* getpwent: (libc)Scanning All Users. +-* getpwent_r: (libc)Scanning All Users. +-* getpwnam: (libc)Lookup User. +-* getpwnam_r: (libc)Lookup User. +-* getpwuid: (libc)Lookup User. +-* getpwuid_r: (libc)Lookup User. +-* getrlimit64: (libc)Limits on Resources. +-* getrlimit: (libc)Limits on Resources. +-* getrusage: (libc)Resource Usage. +-* gets: (libc)Line Input. +-* getservbyname: (libc)Services Database. +-* getservbyport: (libc)Services Database. +-* getservent: (libc)Services Database. +-* getsid: (libc)Process Group Functions. +-* getsockname: (libc)Reading Address. +-* getsockopt: (libc)Socket Option Functions. +-* getsubopt: (libc)Suboptions. +-* gettext: (libc)Translation with gettext. +-* gettimeofday: (libc)High-Resolution Calendar. +-* getuid: (libc)Reading Persona. +-* getumask: (libc)Setting Permissions. +-* getutent: (libc)Manipulating the Database. +-* getutent_r: (libc)Manipulating the Database. +-* getutid: (libc)Manipulating the Database. +-* getutid_r: (libc)Manipulating the Database. +-* getutline: (libc)Manipulating the Database. +-* getutline_r: (libc)Manipulating the Database. +-* getutmp: (libc)XPG Functions. +-* getutmpx: (libc)XPG Functions. +-* getutxent: (libc)XPG Functions. +-* getutxid: (libc)XPG Functions. +-* getutxline: (libc)XPG Functions. +-* getw: (libc)Character Input. +-* getwc: (libc)Character Input. +-* getwc_unlocked: (libc)Character Input. +-* getwchar: (libc)Character Input. +-* getwchar_unlocked: (libc)Character Input. +-* getwd: (libc)Working Directory. +-* glob64: (libc)Calling Glob. +-* glob: (libc)Calling Glob. +-* globfree64: (libc)More Flags for Globbing. +-* globfree: (libc)More Flags for Globbing. +-* gmtime: (libc)Broken-down Time. +-* gmtime_r: (libc)Broken-down Time. +-* grantpt: (libc)Allocation. +-* gsignal: (libc)Signaling Yourself. +-* gtty: (libc)BSD Terminal Modes. +-* hasmntopt: (libc)mtab. +-* hcreate: (libc)Hash Search Function. +-* hcreate_r: (libc)Hash Search Function. +-* hdestroy: (libc)Hash Search Function. +-* hdestroy_r: (libc)Hash Search Function. +-* hsearch: (libc)Hash Search Function. +-* hsearch_r: (libc)Hash Search Function. +-* htonl: (libc)Byte Order. +-* htons: (libc)Byte Order. +-* hypot: (libc)Exponents and Logarithms. +-* hypotf: (libc)Exponents and Logarithms. +-* hypotl: (libc)Exponents and Logarithms. +-* iconv: (libc)Generic Conversion Interface. +-* iconv_close: (libc)Generic Conversion Interface. +-* iconv_open: (libc)Generic Conversion Interface. +-* if_freenameindex: (libc)Interface Naming. +-* if_indextoname: (libc)Interface Naming. +-* if_nameindex: (libc)Interface Naming. +-* if_nametoindex: (libc)Interface Naming. +-* ilogb: (libc)Exponents and Logarithms. +-* ilogbf: (libc)Exponents and Logarithms. +-* ilogbl: (libc)Exponents and Logarithms. +-* imaxabs: (libc)Absolute Value. +-* imaxdiv: (libc)Integer Division. +-* in6addr_any: (libc)Host Address Data Type. +-* in6addr_loopback: (libc)Host Address Data Type. +-* index: (libc)Search Functions. +-* inet_addr: (libc)Host Address Functions. +-* inet_aton: (libc)Host Address Functions. +-* inet_lnaof: (libc)Host Address Functions. +-* inet_makeaddr: (libc)Host Address Functions. +-* inet_netof: (libc)Host Address Functions. +-* inet_network: (libc)Host Address Functions. +-* inet_ntoa: (libc)Host Address Functions. +-* inet_ntop: (libc)Host Address Functions. +-* inet_pton: (libc)Host Address Functions. +-* initgroups: (libc)Setting Groups. +-* initstate: (libc)BSD Random. +-* initstate_r: (libc)BSD Random. +-* innetgr: (libc)Netgroup Membership. +-* ioctl: (libc)IOCTLs. +-* isalnum: (libc)Classification of Characters. +-* isalpha: (libc)Classification of Characters. +-* isascii: (libc)Classification of Characters. +-* isatty: (libc)Is It a Terminal. +-* isblank: (libc)Classification of Characters. +-* iscntrl: (libc)Classification of Characters. +-* isdigit: (libc)Classification of Characters. +-* isfinite: (libc)Floating Point Classes. +-* isgraph: (libc)Classification of Characters. +-* isgreater: (libc)FP Comparison Functions. +-* isgreaterequal: (libc)FP Comparison Functions. +-* isinf: (libc)Floating Point Classes. +-* isinff: (libc)Floating Point Classes. +-* isinfl: (libc)Floating Point Classes. +-* isless: (libc)FP Comparison Functions. +-* islessequal: (libc)FP Comparison Functions. +-* islessgreater: (libc)FP Comparison Functions. +-* islower: (libc)Classification of Characters. +-* isnan: (libc)Floating Point Classes. +-* isnan: (libc)Floating Point Classes. +-* isnanf: (libc)Floating Point Classes. +-* isnanl: (libc)Floating Point Classes. +-* isnormal: (libc)Floating Point Classes. +-* isprint: (libc)Classification of Characters. +-* ispunct: (libc)Classification of Characters. +-* isspace: (libc)Classification of Characters. +-* isunordered: (libc)FP Comparison Functions. +-* isupper: (libc)Classification of Characters. +-* iswalnum: (libc)Classification of Wide Characters. +-* iswalpha: (libc)Classification of Wide Characters. +-* iswblank: (libc)Classification of Wide Characters. +-* iswcntrl: (libc)Classification of Wide Characters. +-* iswctype: (libc)Classification of Wide Characters. +-* iswdigit: (libc)Classification of Wide Characters. +-* iswgraph: (libc)Classification of Wide Characters. +-* iswlower: (libc)Classification of Wide Characters. +-* iswprint: (libc)Classification of Wide Characters. +-* iswpunct: (libc)Classification of Wide Characters. +-* iswspace: (libc)Classification of Wide Characters. +-* iswupper: (libc)Classification of Wide Characters. +-* iswxdigit: (libc)Classification of Wide Characters. +-* isxdigit: (libc)Classification of Characters. +-* j0: (libc)Special Functions. +-* j0f: (libc)Special Functions. +-* j0l: (libc)Special Functions. +-* j1: (libc)Special Functions. +-* j1f: (libc)Special Functions. +-* j1l: (libc)Special Functions. +-* jn: (libc)Special Functions. +-* jnf: (libc)Special Functions. +-* jnl: (libc)Special Functions. +-* jrand48: (libc)SVID Random. +-* jrand48_r: (libc)SVID Random. +-* kill: (libc)Signaling Another Process. +-* killpg: (libc)Signaling Another Process. +-* l64a: (libc)Encode Binary Data. +-* labs: (libc)Absolute Value. +-* lcong48: (libc)SVID Random. +-* lcong48_r: (libc)SVID Random. +-* ldexp: (libc)Normalization Functions. +-* ldexpf: (libc)Normalization Functions. +-* ldexpl: (libc)Normalization Functions. +-* ldiv: (libc)Integer Division. +-* lfind: (libc)Array Search Function. +-* lgamma: (libc)Special Functions. +-* lgamma_r: (libc)Special Functions. +-* lgammaf: (libc)Special Functions. +-* lgammaf_r: (libc)Special Functions. +-* lgammal: (libc)Special Functions. +-* lgammal_r: (libc)Special Functions. +-* link: (libc)Hard Links. +-* lio_listio64: (libc)Asynchronous Reads/Writes. +-* lio_listio: (libc)Asynchronous Reads/Writes. +-* listen: (libc)Listening. +-* llabs: (libc)Absolute Value. +-* lldiv: (libc)Integer Division. +-* llrint: (libc)Rounding Functions. +-* llrintf: (libc)Rounding Functions. +-* llrintl: (libc)Rounding Functions. +-* llround: (libc)Rounding Functions. +-* llroundf: (libc)Rounding Functions. +-* llroundl: (libc)Rounding Functions. +-* localeconv: (libc)The Lame Way to Locale Data. +-* localtime: (libc)Broken-down Time. +-* localtime_r: (libc)Broken-down Time. +-* log10: (libc)Exponents and Logarithms. +-* log10f: (libc)Exponents and Logarithms. +-* log10l: (libc)Exponents and Logarithms. +-* log1p: (libc)Exponents and Logarithms. +-* log1pf: (libc)Exponents and Logarithms. +-* log1pl: (libc)Exponents and Logarithms. +-* log2: (libc)Exponents and Logarithms. +-* log2f: (libc)Exponents and Logarithms. +-* log2l: (libc)Exponents and Logarithms. +-* log: (libc)Exponents and Logarithms. +-* logb: (libc)Exponents and Logarithms. +-* logbf: (libc)Exponents and Logarithms. +-* logbl: (libc)Exponents and Logarithms. +-* logf: (libc)Exponents and Logarithms. +-* login: (libc)Logging In and Out. +-* login_tty: (libc)Logging In and Out. +-* logl: (libc)Exponents and Logarithms. +-* logout: (libc)Logging In and Out. +-* logwtmp: (libc)Logging In and Out. +-* longjmp: (libc)Non-Local Details. +-* lrand48: (libc)SVID Random. +-* lrand48_r: (libc)SVID Random. +-* lrint: (libc)Rounding Functions. +-* lrintf: (libc)Rounding Functions. +-* lrintl: (libc)Rounding Functions. +-* lround: (libc)Rounding Functions. +-* lroundf: (libc)Rounding Functions. +-* lroundl: (libc)Rounding Functions. +-* lsearch: (libc)Array Search Function. +-* lseek64: (libc)File Position Primitive. +-* lseek: (libc)File Position Primitive. +-* lstat64: (libc)Reading Attributes. +-* lstat: (libc)Reading Attributes. +-* lutimes: (libc)File Times. +-* madvise: (libc)Memory-mapped I/O. +-* makecontext: (libc)System V contexts. +-* mallinfo: (libc)Statistics of Malloc. +-* malloc: (libc)Basic Allocation. +-* mallopt: (libc)Malloc Tunable Parameters. +-* mblen: (libc)Non-reentrant Character Conversion. +-* mbrlen: (libc)Converting a Character. +-* mbrtowc: (libc)Converting a Character. +-* mbsinit: (libc)Keeping the state. +-* mbsnrtowcs: (libc)Converting Strings. +-* mbsrtowcs: (libc)Converting Strings. +-* mbstowcs: (libc)Non-reentrant String Conversion. +-* mbtowc: (libc)Non-reentrant Character Conversion. +-* mcheck: (libc)Heap Consistency Checking. +-* memalign: (libc)Aligned Memory Blocks. +-* memccpy: (libc)Copying and Concatenation. +-* memchr: (libc)Search Functions. +-* memcmp: (libc)String/Array Comparison. +-* memcpy: (libc)Copying and Concatenation. +-* memfrob: (libc)Trivial Encryption. +-* memmem: (libc)Search Functions. +-* memmove: (libc)Copying and Concatenation. +-* mempcpy: (libc)Copying and Concatenation. +-* memrchr: (libc)Search Functions. +-* memset: (libc)Copying and Concatenation. +-* mkdir: (libc)Creating Directories. +-* mkdtemp: (libc)Temporary Files. +-* mkfifo: (libc)FIFO Special Files. +-* mknod: (libc)Making Special Files. +-* mkstemp: (libc)Temporary Files. +-* mktemp: (libc)Temporary Files. +-* mktime: (libc)Broken-down Time. +-* mlock: (libc)Page Lock Functions. +-* mlockall: (libc)Page Lock Functions. +-* mmap64: (libc)Memory-mapped I/O. +-* mmap: (libc)Memory-mapped I/O. +-* modf: (libc)Rounding Functions. +-* modff: (libc)Rounding Functions. +-* modfl: (libc)Rounding Functions. +-* mount: (libc)Mount-Unmount-Remount. +-* mprobe: (libc)Heap Consistency Checking. +-* mrand48: (libc)SVID Random. +-* mrand48_r: (libc)SVID Random. +-* mremap: (libc)Memory-mapped I/O. +-* msync: (libc)Memory-mapped I/O. +-* mtrace: (libc)Tracing malloc. +-* munlock: (libc)Page Lock Functions. +-* munlockall: (libc)Page Lock Functions. +-* munmap: (libc)Memory-mapped I/O. +-* muntrace: (libc)Tracing malloc. +-* nan: (libc)FP Bit Twiddling. +-* nanf: (libc)FP Bit Twiddling. +-* nanl: (libc)FP Bit Twiddling. +-* nanosleep: (libc)Sleeping. +-* nearbyint: (libc)Rounding Functions. +-* nearbyintf: (libc)Rounding Functions. +-* nearbyintl: (libc)Rounding Functions. +-* nextafter: (libc)FP Bit Twiddling. +-* nextafterf: (libc)FP Bit Twiddling. +-* nextafterl: (libc)FP Bit Twiddling. +-* nexttoward: (libc)FP Bit Twiddling. +-* nexttowardf: (libc)FP Bit Twiddling. +-* nexttowardl: (libc)FP Bit Twiddling. +-* nftw64: (libc)Working with Directory Trees. +-* nftw: (libc)Working with Directory Trees. +-* ngettext: (libc)Advanced gettext functions. +-* nice: (libc)Traditional Scheduling Functions. +-* nl_langinfo: (libc)The Elegant and Fast Way. +-* nrand48: (libc)SVID Random. +-* nrand48_r: (libc)SVID Random. +-* ntohl: (libc)Byte Order. +-* ntohs: (libc)Byte Order. +-* ntp_adjtime: (libc)High Accuracy Clock. +-* ntp_gettime: (libc)High Accuracy Clock. +-* obstack_1grow: (libc)Growing Objects. +-* obstack_1grow_fast: (libc)Extra Fast Growing. +-* obstack_alignment_mask: (libc)Obstacks Data Alignment. +-* obstack_alloc: (libc)Allocation in an Obstack. +-* obstack_base: (libc)Status of an Obstack. +-* obstack_blank: (libc)Growing Objects. +-* obstack_blank_fast: (libc)Extra Fast Growing. +-* obstack_chunk_size: (libc)Obstack Chunks. +-* obstack_copy0: (libc)Allocation in an Obstack. +-* obstack_copy: (libc)Allocation in an Obstack. +-* obstack_finish: (libc)Growing Objects. +-* obstack_free: (libc)Freeing Obstack Objects. +-* obstack_grow0: (libc)Growing Objects. +-* obstack_grow: (libc)Growing Objects. +-* obstack_init: (libc)Preparing for Obstacks. +-* obstack_int_grow: (libc)Growing Objects. +-* obstack_int_grow_fast: (libc)Extra Fast Growing. +-* obstack_next_free: (libc)Status of an Obstack. +-* obstack_object_size: (libc)Growing Objects. +-* obstack_object_size: (libc)Status of an Obstack. +-* obstack_printf: (libc)Dynamic Output. +-* obstack_ptr_grow: (libc)Growing Objects. +-* obstack_ptr_grow_fast: (libc)Extra Fast Growing. +-* obstack_room: (libc)Extra Fast Growing. +-* obstack_vprintf: (libc)Variable Arguments Output. +-* offsetof: (libc)Structure Measurement. +-* on_exit: (libc)Cleanups on Exit. +-* open64: (libc)Opening and Closing Files. +-* open: (libc)Opening and Closing Files. +-* open_memstream: (libc)String Streams. +-* open_obstack_stream: (libc)Obstack Streams. +-* opendir: (libc)Opening a Directory. +-* openlog: (libc)openlog. +-* openpty: (libc)Pseudo-Terminal Pairs. +-* parse_printf_format: (libc)Parsing a Template String. +-* pathconf: (libc)Pathconf. +-* pause: (libc)Using Pause. +-* pclose: (libc)Pipe to a Subprocess. +-* perror: (libc)Error Messages. +-* pipe: (libc)Creating a Pipe. +-* popen: (libc)Pipe to a Subprocess. +-* posix_memalign: (libc)Aligned Memory Blocks. +-* pow10: (libc)Exponents and Logarithms. +-* pow10f: (libc)Exponents and Logarithms. +-* pow10l: (libc)Exponents and Logarithms. +-* pow: (libc)Exponents and Logarithms. +-* powf: (libc)Exponents and Logarithms. +-* powl: (libc)Exponents and Logarithms. +-* pread64: (libc)I/O Primitives. +-* pread: (libc)I/O Primitives. +-* printf: (libc)Formatted Output Functions. +-* printf_size: (libc)Predefined Printf Handlers. +-* printf_size_info: (libc)Predefined Printf Handlers. +-* psignal: (libc)Signal Messages. +-* pthread_atfork: (libc)Threads and Fork. +-* pthread_attr_destroy: (libc)Thread Attributes. +-* pthread_attr_getattr: (libc)Thread Attributes. +-* pthread_attr_init: (libc)Thread Attributes. +-* pthread_attr_setattr: (libc)Thread Attributes. +-* pthread_cancel: (libc)Basic Thread Operations. +-* pthread_cleanup_pop: (libc)Cleanup Handlers. +-* pthread_cleanup_pop_restore_np: (libc)Cleanup Handlers. +-* pthread_cleanup_push: (libc)Cleanup Handlers. +-* pthread_cleanup_push_defer_np: (libc)Cleanup Handlers. +-* pthread_cond_broadcast: (libc)Condition Variables. +-* pthread_cond_destroy: (libc)Condition Variables. +-* pthread_cond_init: (libc)Condition Variables. +-* pthread_cond_signal: (libc)Condition Variables. +-* pthread_cond_timedwait: (libc)Condition Variables. +-* pthread_cond_wait: (libc)Condition Variables. +-* pthread_condattr_destroy: (libc)Condition Variables. +-* pthread_condattr_init: (libc)Condition Variables. +-* pthread_create: (libc)Basic Thread Operations. +-* pthread_detach: (libc)Miscellaneous Thread Functions. +-* pthread_equal: (libc)Miscellaneous Thread Functions. +-* pthread_exit: (libc)Basic Thread Operations. +-* pthread_getconcurrency: (libc)Miscellaneous Thread Functions. +-* pthread_getschedparam: (libc)Miscellaneous Thread Functions. +-* pthread_getspecific: (libc)Thread-Specific Data. +-* pthread_join: (libc)Basic Thread Operations. +-* pthread_key_create: (libc)Thread-Specific Data. +-* pthread_key_delete: (libc)Thread-Specific Data. +-* pthread_kill: (libc)Threads and Signal Handling. +-* pthread_kill_other_threads_np: (libc)Miscellaneous Thread Functions. +-* pthread_mutex_destroy: (libc)Mutexes. +-* pthread_mutex_init: (libc)Mutexes. +-* pthread_mutex_lock: (libc)Mutexes. +-* pthread_mutex_timedlock: (libc)Mutexes. +-* pthread_mutex_trylock: (libc)Mutexes. +-* pthread_mutex_unlock: (libc)Mutexes. +-* pthread_mutexattr_destroy: (libc)Mutexes. +-* pthread_mutexattr_gettype: (libc)Mutexes. +-* pthread_mutexattr_init: (libc)Mutexes. +-* pthread_mutexattr_settype: (libc)Mutexes. +-* pthread_once: (libc)Miscellaneous Thread Functions. +-* pthread_self: (libc)Miscellaneous Thread Functions. +-* pthread_setcancelstate: (libc)Cancellation. +-* pthread_setcanceltype: (libc)Cancellation. +-* pthread_setconcurrency: (libc)Miscellaneous Thread Functions. +-* pthread_setschedparam: (libc)Miscellaneous Thread Functions. +-* pthread_setspecific: (libc)Thread-Specific Data. +-* pthread_sigmask: (libc)Threads and Signal Handling. +-* pthread_testcancel: (libc)Cancellation. +-* ptsname: (libc)Allocation. +-* ptsname_r: (libc)Allocation. +-* putc: (libc)Simple Output. +-* putc_unlocked: (libc)Simple Output. +-* putchar: (libc)Simple Output. +-* putchar_unlocked: (libc)Simple Output. +-* putenv: (libc)Environment Access. +-* putpwent: (libc)Writing a User Entry. +-* puts: (libc)Simple Output. +-* pututline: (libc)Manipulating the Database. +-* pututxline: (libc)XPG Functions. +-* putw: (libc)Simple Output. +-* putwc: (libc)Simple Output. +-* putwc_unlocked: (libc)Simple Output. +-* putwchar: (libc)Simple Output. +-* putwchar_unlocked: (libc)Simple Output. +-* pwrite64: (libc)I/O Primitives. +-* pwrite: (libc)I/O Primitives. +-* qecvt: (libc)System V Number Conversion. +-* qecvt_r: (libc)System V Number Conversion. +-* qfcvt: (libc)System V Number Conversion. +-* qfcvt_r: (libc)System V Number Conversion. +-* qgcvt: (libc)System V Number Conversion. +-* qsort: (libc)Array Sort Function. +-* raise: (libc)Signaling Yourself. +-* rand: (libc)ISO Random. +-* rand_r: (libc)ISO Random. +-* random: (libc)BSD Random. +-* random_r: (libc)BSD Random. +-* rawmemchr: (libc)Search Functions. +-* read: (libc)I/O Primitives. +-* readdir64: (libc)Reading/Closing Directory. +-* readdir64_r: (libc)Reading/Closing Directory. +-* readdir: (libc)Reading/Closing Directory. +-* readdir_r: (libc)Reading/Closing Directory. +-* readlink: (libc)Symbolic Links. +-* readv: (libc)Scatter-Gather. +-* realloc: (libc)Changing Block Size. +-* realpath: (libc)Symbolic Links. +-* recv: (libc)Receiving Data. +-* recvfrom: (libc)Receiving Datagrams. +-* recvmsg: (libc)Receiving Datagrams. +-* regcomp: (libc)POSIX Regexp Compilation. +-* regerror: (libc)Regexp Cleanup. +-* regexec: (libc)Matching POSIX Regexps. +-* regfree: (libc)Regexp Cleanup. +-* register_printf_function: (libc)Registering New Conversions. +-* remainder: (libc)Remainder Functions. +-* remainderf: (libc)Remainder Functions. +-* remainderl: (libc)Remainder Functions. +-* remove: (libc)Deleting Files. +-* rename: (libc)Renaming Files. +-* rewind: (libc)File Positioning. +-* rewinddir: (libc)Random Access Directory. +-* rindex: (libc)Search Functions. +-* rint: (libc)Rounding Functions. +-* rintf: (libc)Rounding Functions. +-* rintl: (libc)Rounding Functions. +-* rmdir: (libc)Deleting Files. +-* round: (libc)Rounding Functions. +-* roundf: (libc)Rounding Functions. +-* roundl: (libc)Rounding Functions. +-* rpmatch: (libc)Yes-or-No Questions. +-* sbrk: (libc)Resizing the Data Segment. +-* scalb: (libc)Normalization Functions. +-* scalbf: (libc)Normalization Functions. +-* scalbl: (libc)Normalization Functions. +-* scalbln: (libc)Normalization Functions. +-* scalblnf: (libc)Normalization Functions. +-* scalblnl: (libc)Normalization Functions. +-* scalbn: (libc)Normalization Functions. +-* scalbnf: (libc)Normalization Functions. +-* scalbnl: (libc)Normalization Functions. +-* scandir64: (libc)Scanning Directory Content. +-* scandir: (libc)Scanning Directory Content. +-* scanf: (libc)Formatted Input Functions. +-* sched_get_priority_max: (libc)Basic Scheduling Functions. +-* sched_get_priority_min: (libc)Basic Scheduling Functions. +-* sched_getparam: (libc)Basic Scheduling Functions. +-* sched_getscheduler: (libc)Basic Scheduling Functions. +-* sched_rr_get_interval: (libc)Basic Scheduling Functions. +-* sched_setparam: (libc)Basic Scheduling Functions. +-* sched_setscheduler: (libc)Basic Scheduling Functions. +-* sched_yield: (libc)Basic Scheduling Functions. +-* seed48: (libc)SVID Random. +-* seed48_r: (libc)SVID Random. +-* seekdir: (libc)Random Access Directory. +-* select: (libc)Waiting for I/O. +-* sem_destroy: (libc)POSIX Semaphores. +-* sem_getvalue: (libc)POSIX Semaphores. +-* sem_init: (libc)POSIX Semaphores. +-* sem_post: (libc)POSIX Semaphores. +-* sem_trywait: (libc)POSIX Semaphores. +-* sem_wait: (libc)POSIX Semaphores. +-* send: (libc)Sending Data. +-* sendmsg: (libc)Receiving Datagrams. +-* sendto: (libc)Sending Datagrams. +-* setbuf: (libc)Controlling Buffering. +-* setbuffer: (libc)Controlling Buffering. +-* setcontext: (libc)System V contexts. +-* setdomainname: (libc)Host Identification. +-* setegid: (libc)Setting Groups. +-* setenv: (libc)Environment Access. +-* seteuid: (libc)Setting User ID. +-* setfsent: (libc)fstab. +-* setgid: (libc)Setting Groups. +-* setgrent: (libc)Scanning All Groups. +-* setgroups: (libc)Setting Groups. +-* sethostent: (libc)Host Names. +-* sethostid: (libc)Host Identification. +-* sethostname: (libc)Host Identification. +-* setitimer: (libc)Setting an Alarm. +-* setjmp: (libc)Non-Local Details. +-* setkey: (libc)DES Encryption. +-* setkey_r: (libc)DES Encryption. +-* setlinebuf: (libc)Controlling Buffering. +-* setlocale: (libc)Setting the Locale. +-* setlogmask: (libc)setlogmask. +-* setmntent: (libc)mtab. +-* setnetent: (libc)Networks Database. +-* setnetgrent: (libc)Lookup Netgroup. +-* setpgid: (libc)Process Group Functions. +-* setpgrp: (libc)Process Group Functions. +-* setpriority: (libc)Traditional Scheduling Functions. +-* setprotoent: (libc)Protocols Database. +-* setpwent: (libc)Scanning All Users. +-* setregid: (libc)Setting Groups. +-* setreuid: (libc)Setting User ID. +-* setrlimit64: (libc)Limits on Resources. +-* setrlimit: (libc)Limits on Resources. +-* setservent: (libc)Services Database. +-* setsid: (libc)Process Group Functions. +-* setsockopt: (libc)Socket Option Functions. +-* setstate: (libc)BSD Random. +-* setstate_r: (libc)BSD Random. +-* settimeofday: (libc)High-Resolution Calendar. +-* setuid: (libc)Setting User ID. +-* setutent: (libc)Manipulating the Database. +-* setutxent: (libc)XPG Functions. +-* setvbuf: (libc)Controlling Buffering. +-* shutdown: (libc)Closing a Socket. +-* sigaction: (libc)Advanced Signal Handling. +-* sigaddset: (libc)Signal Sets. +-* sigaltstack: (libc)Signal Stack. +-* sigblock: (libc)Blocking in BSD. +-* sigdelset: (libc)Signal Sets. +-* sigemptyset: (libc)Signal Sets. +-* sigfillset: (libc)Signal Sets. +-* siginterrupt: (libc)BSD Handler. +-* sigismember: (libc)Signal Sets. +-* siglongjmp: (libc)Non-Local Exits and Signals. +-* sigmask: (libc)Blocking in BSD. +-* signal: (libc)Basic Signal Handling. +-* signbit: (libc)FP Bit Twiddling. +-* significand: (libc)Normalization Functions. +-* significandf: (libc)Normalization Functions. +-* significandl: (libc)Normalization Functions. +-* sigpause: (libc)Blocking in BSD. +-* sigpending: (libc)Checking for Pending Signals. +-* sigprocmask: (libc)Process Signal Mask. +-* sigsetjmp: (libc)Non-Local Exits and Signals. +-* sigsetmask: (libc)Blocking in BSD. +-* sigstack: (libc)Signal Stack. +-* sigsuspend: (libc)Sigsuspend. +-* sigvec: (libc)BSD Handler. +-* sigwait: (libc)Threads and Signal Handling. +-* sin: (libc)Trig Functions. +-* sincos: (libc)Trig Functions. +-* sincosf: (libc)Trig Functions. +-* sincosl: (libc)Trig Functions. +-* sinf: (libc)Trig Functions. +-* sinh: (libc)Hyperbolic Functions. +-* sinhf: (libc)Hyperbolic Functions. +-* sinhl: (libc)Hyperbolic Functions. +-* sinl: (libc)Trig Functions. +-* sleep: (libc)Sleeping. +-* snprintf: (libc)Formatted Output Functions. +-* socket: (libc)Creating a Socket. +-* socketpair: (libc)Socket Pairs. +-* sprintf: (libc)Formatted Output Functions. +-* sqrt: (libc)Exponents and Logarithms. +-* sqrtf: (libc)Exponents and Logarithms. +-* sqrtl: (libc)Exponents and Logarithms. +-* srand48: (libc)SVID Random. +-* srand48_r: (libc)SVID Random. +-* srand: (libc)ISO Random. +-* srandom: (libc)BSD Random. +-* srandom_r: (libc)BSD Random. +-* sscanf: (libc)Formatted Input Functions. +-* ssignal: (libc)Basic Signal Handling. +-* stat64: (libc)Reading Attributes. +-* stat: (libc)Reading Attributes. +-* stime: (libc)Simple Calendar Time. +-* stpcpy: (libc)Copying and Concatenation. +-* stpncpy: (libc)Copying and Concatenation. +-* strcasecmp: (libc)String/Array Comparison. +-* strcasestr: (libc)Search Functions. +-* strcat: (libc)Copying and Concatenation. +-* strchr: (libc)Search Functions. +-* strchrnul: (libc)Search Functions. +-* strcmp: (libc)String/Array Comparison. +-* strcoll: (libc)Collation Functions. +-* strcpy: (libc)Copying and Concatenation. +-* strcspn: (libc)Search Functions. +-* strdup: (libc)Copying and Concatenation. +-* strdupa: (libc)Copying and Concatenation. +-* strerror: (libc)Error Messages. +-* strerror_r: (libc)Error Messages. +-* strfmon: (libc)Formatting Numbers. +-* strfry: (libc)strfry. +-* strftime: (libc)Formatting Calendar Time. +-* strlen: (libc)String Length. +-* strncasecmp: (libc)String/Array Comparison. +-* strncat: (libc)Copying and Concatenation. +-* strncmp: (libc)String/Array Comparison. +-* strncpy: (libc)Copying and Concatenation. +-* strndup: (libc)Copying and Concatenation. +-* strndupa: (libc)Copying and Concatenation. +-* strnlen: (libc)String Length. +-* strpbrk: (libc)Search Functions. +-* strptime: (libc)Low-Level Time String Parsing. +-* strrchr: (libc)Search Functions. +-* strsep: (libc)Finding Tokens in a String. +-* strsignal: (libc)Signal Messages. +-* strspn: (libc)Search Functions. +-* strstr: (libc)Search Functions. +-* strtod: (libc)Parsing of Floats. +-* strtof: (libc)Parsing of Floats. +-* strtoimax: (libc)Parsing of Integers. +-* strtok: (libc)Finding Tokens in a String. +-* strtok_r: (libc)Finding Tokens in a String. +-* strtol: (libc)Parsing of Integers. +-* strtold: (libc)Parsing of Floats. +-* strtoll: (libc)Parsing of Integers. +-* strtoq: (libc)Parsing of Integers. +-* strtoul: (libc)Parsing of Integers. +-* strtoull: (libc)Parsing of Integers. +-* strtoumax: (libc)Parsing of Integers. +-* strtouq: (libc)Parsing of Integers. +-* strverscmp: (libc)String/Array Comparison. +-* strxfrm: (libc)Collation Functions. +-* stty: (libc)BSD Terminal Modes. +-* swapcontext: (libc)System V contexts. +-* swprintf: (libc)Formatted Output Functions. +-* swscanf: (libc)Formatted Input Functions. +-* symlink: (libc)Symbolic Links. +-* sync: (libc)Synchronizing I/O. +-* syscall: (libc)System Calls. +-* sysconf: (libc)Sysconf Definition. +-* sysctl: (libc)System Parameters. +-* syslog: (libc)syslog; vsyslog. +-* system: (libc)Running a Command. +-* sysv_signal: (libc)Basic Signal Handling. +-* tan: (libc)Trig Functions. +-* tanf: (libc)Trig Functions. +-* tanh: (libc)Hyperbolic Functions. +-* tanhf: (libc)Hyperbolic Functions. +-* tanhl: (libc)Hyperbolic Functions. +-* tanl: (libc)Trig Functions. +-* tcdrain: (libc)Line Control. +-* tcflow: (libc)Line Control. +-* tcflush: (libc)Line Control. +-* tcgetattr: (libc)Mode Functions. +-* tcgetpgrp: (libc)Terminal Access Functions. +-* tcgetsid: (libc)Terminal Access Functions. +-* tcsendbreak: (libc)Line Control. +-* tcsetattr: (libc)Mode Functions. +-* tcsetpgrp: (libc)Terminal Access Functions. +-* tdelete: (libc)Tree Search Function. +-* tdestroy: (libc)Tree Search Function. +-* telldir: (libc)Random Access Directory. +-* tempnam: (libc)Temporary Files. +-* textdomain: (libc)Locating gettext catalog. +-* tfind: (libc)Tree Search Function. +-* tgamma: (libc)Special Functions. +-* tgammaf: (libc)Special Functions. +-* tgammal: (libc)Special Functions. +-* time: (libc)Simple Calendar Time. +-* timegm: (libc)Broken-down Time. +-* timelocal: (libc)Broken-down Time. +-* times: (libc)Processor Time. +-* tmpfile64: (libc)Temporary Files. +-* tmpfile: (libc)Temporary Files. +-* tmpnam: (libc)Temporary Files. +-* tmpnam_r: (libc)Temporary Files. +-* toascii: (libc)Case Conversion. +-* tolower: (libc)Case Conversion. +-* toupper: (libc)Case Conversion. +-* towctrans: (libc)Wide Character Case Conversion. +-* towlower: (libc)Wide Character Case Conversion. +-* towupper: (libc)Wide Character Case Conversion. +-* trunc: (libc)Rounding Functions. +-* truncate64: (libc)File Size. +-* truncate: (libc)File Size. +-* truncf: (libc)Rounding Functions. +-* truncl: (libc)Rounding Functions. +-* tsearch: (libc)Tree Search Function. +-* ttyname: (libc)Is It a Terminal. +-* ttyname_r: (libc)Is It a Terminal. +-* twalk: (libc)Tree Search Function. +-* tzset: (libc)Time Zone Functions. +-* ulimit: (libc)Limits on Resources. +-* umask: (libc)Setting Permissions. +-* umount2: (libc)Mount-Unmount-Remount. +-* umount: (libc)Mount-Unmount-Remount. +-* uname: (libc)Platform Type. +-* ungetc: (libc)How Unread. +-* ungetwc: (libc)How Unread. +-* unlink: (libc)Deleting Files. +-* unlockpt: (libc)Allocation. +-* unsetenv: (libc)Environment Access. +-* updwtmp: (libc)Manipulating the Database. +-* utime: (libc)File Times. +-* utimes: (libc)File Times. +-* utmpname: (libc)Manipulating the Database. +-* utmpxname: (libc)XPG Functions. +-* va_arg: (libc)Argument Macros. +-* va_end: (libc)Argument Macros. +-* va_start: (libc)Argument Macros. +-* va_start: (libc)Old Varargs. +-* valloc: (libc)Aligned Memory Blocks. +-* vasprintf: (libc)Variable Arguments Output. +-* verr: (libc)Error Messages. +-* verrx: (libc)Error Messages. +-* versionsort64: (libc)Scanning Directory Content. +-* versionsort: (libc)Scanning Directory Content. +-* vfork: (libc)Creating a Process. +-* vfprintf: (libc)Variable Arguments Output. +-* vfscanf: (libc)Variable Arguments Input. +-* vfwprintf: (libc)Variable Arguments Output. +-* vfwscanf: (libc)Variable Arguments Input. +-* vlimit: (libc)Limits on Resources. +-* vprintf: (libc)Variable Arguments Output. +-* vscanf: (libc)Variable Arguments Input. +-* vsnprintf: (libc)Variable Arguments Output. +-* vsprintf: (libc)Variable Arguments Output. +-* vsscanf: (libc)Variable Arguments Input. +-* vswprintf: (libc)Variable Arguments Output. +-* vswscanf: (libc)Variable Arguments Input. +-* vsyslog: (libc)syslog; vsyslog. +-* vtimes: (libc)Resource Usage. +-* vwarn: (libc)Error Messages. +-* vwarnx: (libc)Error Messages. +-* vwprintf: (libc)Variable Arguments Output. +-* vwscanf: (libc)Variable Arguments Input. +-* wait3: (libc)BSD Wait Functions. +-* wait4: (libc)Process Completion. +-* wait: (libc)Process Completion. +-* waitpid: (libc)Process Completion. +-* warn: (libc)Error Messages. +-* warnx: (libc)Error Messages. +-* wcpcpy: (libc)Copying and Concatenation. +-* wcpncpy: (libc)Copying and Concatenation. +-* wcrtomb: (libc)Converting a Character. +-* wcscasecmp: (libc)String/Array Comparison. +-* wcscat: (libc)Copying and Concatenation. +-* wcschr: (libc)Search Functions. +-* wcschrnul: (libc)Search Functions. +-* wcscmp: (libc)String/Array Comparison. +-* wcscoll: (libc)Collation Functions. +-* wcscpy: (libc)Copying and Concatenation. +-* wcscspn: (libc)Search Functions. +-* wcsdup: (libc)Copying and Concatenation. +-* wcsftime: (libc)Formatting Calendar Time. +-* wcslen: (libc)String Length. +-* wcsncasecmp: (libc)String/Array Comparison. +-* wcsncat: (libc)Copying and Concatenation. +-* wcsncmp: (libc)String/Array Comparison. +-* wcsncpy: (libc)Copying and Concatenation. +-* wcsnlen: (libc)String Length. +-* wcsnrtombs: (libc)Converting Strings. +-* wcspbrk: (libc)Search Functions. +-* wcsrchr: (libc)Search Functions. +-* wcsrtombs: (libc)Converting Strings. +-* wcsspn: (libc)Search Functions. +-* wcsstr: (libc)Search Functions. +-* wcstod: (libc)Parsing of Floats. +-* wcstof: (libc)Parsing of Floats. +-* wcstoimax: (libc)Parsing of Integers. +-* wcstok: (libc)Finding Tokens in a String. +-* wcstol: (libc)Parsing of Integers. +-* wcstold: (libc)Parsing of Floats. +-* wcstoll: (libc)Parsing of Integers. +-* wcstombs: (libc)Non-reentrant String Conversion. +-* wcstoq: (libc)Parsing of Integers. +-* wcstoul: (libc)Parsing of Integers. +-* wcstoull: (libc)Parsing of Integers. +-* wcstoumax: (libc)Parsing of Integers. +-* wcstouq: (libc)Parsing of Integers. +-* wcswcs: (libc)Search Functions. +-* wcsxfrm: (libc)Collation Functions. +-* wctob: (libc)Converting a Character. +-* wctomb: (libc)Non-reentrant Character Conversion. +-* wctrans: (libc)Wide Character Case Conversion. +-* wctype: (libc)Classification of Wide Characters. +-* wmemchr: (libc)Search Functions. +-* wmemcmp: (libc)String/Array Comparison. +-* wmemcpy: (libc)Copying and Concatenation. +-* wmemmove: (libc)Copying and Concatenation. +-* wmempcpy: (libc)Copying and Concatenation. +-* wmemset: (libc)Copying and Concatenation. +-* wordexp: (libc)Calling Wordexp. +-* wordfree: (libc)Calling Wordexp. +-* wprintf: (libc)Formatted Output Functions. +-* write: (libc)I/O Primitives. +-* writev: (libc)Scatter-Gather. +-* wscanf: (libc)Formatted Input Functions. +-* y0: (libc)Special Functions. +-* y0f: (libc)Special Functions. +-* y0l: (libc)Special Functions. +-* y1: (libc)Special Functions. +-* y1f: (libc)Special Functions. +-* y1l: (libc)Special Functions. +-* yn: (libc)Special Functions. +-* ynf: (libc)Special Functions. +-* ynl: (libc)Special Functions. +-* {(*__gconv_end_fct)}: (libc)glibc iconv Implementation. +-* {(*__gconv_fct)}: (libc)glibc iconv Implementation. +-* {(*__gconv_init_fct)}: (libc)glibc iconv Implementation. +-END-INFO-DIR-ENTRY +diff -u -udbrN glibc-2.3.2/manual/dir.c.texi glibc-2.3.2-200304020432/manual/dir.c.texi +--- glibc-2.3.2/manual/dir.c.texi Mon Nov 18 20:37:19 2002 ++++ glibc-2.3.2-200304020432/manual/dir.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,24 +0,0 @@ +-@group +-#include <stdio.h> +-#include <sys/types.h> +-#include <dirent.h> +-@end group +- +-int +-main (void) +-@{ +- DIR *dp; +- struct dirent *ep; +- +- dp = opendir ("./"); +- if (dp != NULL) +- @{ +- while (ep = readdir (dp)) +- puts (ep->d_name); +- (void) closedir (dp); +- @} +- else +- perror ("Couldn't open the directory"); +- +- return 0; +-@} +diff -u -udbrN glibc-2.3.2/manual/dir2.c.texi glibc-2.3.2-200304020432/manual/dir2.c.texi +--- glibc-2.3.2/manual/dir2.c.texi Wed Dec 9 23:51:53 1998 ++++ glibc-2.3.2-200304020432/manual/dir2.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,29 +0,0 @@ +-@group +-#include <stdio.h> +-#include <dirent.h> +-@end group +- +-static int +-one (struct dirent *unused) +-@{ +- return 1; +-@} +- +-int +-main (void) +-@{ +- struct dirent **eps; +- int n; +- +- n = scandir ("./", &eps, one, alphasort); +- if (n >= 0) +- @{ +- int cnt; +- for (cnt = 0; cnt < n; ++cnt) +- puts (eps[cnt]->d_name); +- @} +- else +- perror ("Couldn't open the directory"); +- +- return 0; +-@} +diff -u -udbrN glibc-2.3.2/manual/execinfo.c.texi glibc-2.3.2-200304020432/manual/execinfo.c.texi +--- glibc-2.3.2/manual/execinfo.c.texi Wed Jan 17 17:41:01 2001 ++++ glibc-2.3.2-200304020432/manual/execinfo.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,37 +0,0 @@ +-#include <execinfo.h> +-#include <stdio.h> +-#include <stdlib.h> +- +-/* @r{Obtain a backtrace and print it to @code{stdout}.} */ +-void +-print_trace (void) +-@{ +- void *array[10]; +- size_t size; +- char **strings; +- size_t i; +- +- size = backtrace (array, 10); +- strings = backtrace_symbols (array, size); +- +- printf ("Obtained %zd stack frames.\n", size); +- +- for (i = 0; i < size; i++) +- printf ("%s\n", strings[i]); +- +- free (strings); +-@} +- +-/* @r{A dummy function to make the backtrace more interesting.} */ +-void +-dummy_function (void) +-@{ +- print_trace (); +-@} +- +-int +-main (void) +-@{ +- dummy_function (); +- return 0; +-@} +diff -u -udbrN glibc-2.3.2/manual/filecli.c.texi glibc-2.3.2-200304020432/manual/filecli.c.texi +--- glibc-2.3.2/manual/filecli.c.texi Wed Dec 9 23:51:53 1998 ++++ glibc-2.3.2-200304020432/manual/filecli.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,54 +0,0 @@ +-#include <stdio.h> +-#include <errno.h> +-#include <unistd.h> +-#include <stdlib.h> +-#include <sys/socket.h> +-#include <sys/un.h> +- +-#define SERVER "/tmp/serversocket" +-#define CLIENT "/tmp/mysocket" +-#define MAXMSG 512 +-#define MESSAGE "Yow!!! Are we having fun yet?!?" +- +-int +-main (void) +-@{ +- extern int make_named_socket (const char *name); +- int sock; +- char message[MAXMSG]; +- struct sockaddr_un name; +- size_t size; +- int nbytes; +- +- /* @r{Make the socket.} */ +- sock = make_named_socket (CLIENT); +- +- /* @r{Initialize the server socket address.} */ +- name.sun_family = AF_LOCAL; +- strcpy (name.sun_path, SERVER); +- size = strlen (name.sun_path) + sizeof (name.sun_family); +- +- /* @r{Send the datagram.} */ +- nbytes = sendto (sock, MESSAGE, strlen (MESSAGE) + 1, 0, +- (struct sockaddr *) & name, size); +- if (nbytes < 0) +- @{ +- perror ("sendto (client)"); +- exit (EXIT_FAILURE); +- @} +- +- /* @r{Wait for a reply.} */ +- nbytes = recvfrom (sock, message, MAXMSG, 0, NULL, 0); +- if (nbytes < 0) +- @{ +- perror ("recfrom (client)"); +- exit (EXIT_FAILURE); +- @} +- +- /* @r{Print a diagnostic message.} */ +- fprintf (stderr, "Client: got message: %s\n", message); +- +- /* @r{Clean up.} */ +- remove (CLIENT); +- close (sock); +-@} +diff -u -udbrN glibc-2.3.2/manual/filesrv.c.texi glibc-2.3.2-200304020432/manual/filesrv.c.texi +--- glibc-2.3.2/manual/filesrv.c.texi Wed Dec 9 23:51:53 1998 ++++ glibc-2.3.2-200304020432/manual/filesrv.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,48 +0,0 @@ +-#include <stdio.h> +-#include <errno.h> +-#include <stdlib.h> +-#include <sys/socket.h> +-#include <sys/un.h> +- +-#define SERVER "/tmp/serversocket" +-#define MAXMSG 512 +- +-int +-main (void) +-@{ +- int sock; +- char message[MAXMSG]; +- struct sockaddr_un name; +- size_t size; +- int nbytes; +- +- /* @r{Remove the filename first, it's ok if the call fails} */ +- unlink (SERVER); +- +- /* @r{Make the socket, then loop endlessly.} */ +- sock = make_named_socket (SERVER); +- while (1) +- @{ +- /* @r{Wait for a datagram.} */ +- size = sizeof (name); +- nbytes = recvfrom (sock, message, MAXMSG, 0, +- (struct sockaddr *) & name, &size); +- if (nbytes < 0) +- @{ +- perror ("recfrom (server)"); +- exit (EXIT_FAILURE); +- @} +- +- /* @r{Give a diagnostic message.} */ +- fprintf (stderr, "Server: got message: %s\n", message); +- +- /* @r{Bounce the message back to the sender.} */ +- nbytes = sendto (sock, message, nbytes, 0, +- (struct sockaddr *) & name, size); +- if (nbytes < 0) +- @{ +- perror ("sendto (server)"); +- exit (EXIT_FAILURE); +- @} +- @} +-@} +diff -u -udbrN glibc-2.3.2/manual/fmtmsgexpl.c.texi glibc-2.3.2-200304020432/manual/fmtmsgexpl.c.texi +--- glibc-2.3.2/manual/fmtmsgexpl.c.texi Wed Dec 9 23:51:53 1998 ++++ glibc-2.3.2-200304020432/manual/fmtmsgexpl.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,12 +0,0 @@ +-#include <fmtmsg.h> +- +-int +-main (void) +-@{ +- addseverity (5, "NOTE2"); +- fmtmsg (MM_PRINT, "only1field", MM_INFO, "text2", "action2", "tag2"); +- fmtmsg (MM_PRINT, "UX:cat", 5, "invalid syntax", "refer to manual", +- "UX:cat:001"); +- fmtmsg (MM_PRINT, "label:foo", 6, "text", "action", "tag"); +- return 0; +-@} +diff -u -udbrN glibc-2.3.2/manual/genpass.c.texi glibc-2.3.2-200304020432/manual/genpass.c.texi +--- glibc-2.3.2/manual/genpass.c.texi Tue Apr 18 06:13:59 2000 ++++ glibc-2.3.2-200304020432/manual/genpass.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,32 +0,0 @@ +-#include <stdio.h> +-#include <time.h> +-#include <unistd.h> +-#include <crypt.h> +- +-int +-main(void) +-@{ +- unsigned long seed[2]; +- char salt[] = "$1$........"; +- const char *const seedchars = +- "./0123456789ABCDEFGHIJKLMNOPQRST" +- "UVWXYZabcdefghijklmnopqrstuvwxyz"; +- char *password; +- int i; +- +- /* @r{Generate a (not very) random seed. +- You should do it better than this...} */ +- seed[0] = time(NULL); +- seed[1] = getpid() ^ (seed[0] >> 14 & 0x30000); +- +- /* @r{Turn it into printable characters from `seedchars'.} */ +- for (i = 0; i < 8; i++) +- salt[3+i] = seedchars[(seed[i/5] >> (i%5)*6) & 0x3f]; +- +- /* @r{Read in the user's password and encrypt it.} */ +- password = crypt(getpass("Password:"), salt); +- +- /* @r{Print the results.} */ +- puts(password); +- return 0; +-@} +diff -u -udbrN glibc-2.3.2/manual/inetcli.c.texi glibc-2.3.2-200304020432/manual/inetcli.c.texi +--- glibc-2.3.2/manual/inetcli.c.texi Wed Dec 9 23:51:53 1998 ++++ glibc-2.3.2-200304020432/manual/inetcli.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,59 +0,0 @@ +-#include <stdio.h> +-#include <errno.h> +-#include <stdlib.h> +-#include <unistd.h> +-#include <sys/types.h> +-#include <sys/socket.h> +-#include <netinet/in.h> +-#include <netdb.h> +- +-#define PORT 5555 +-#define MESSAGE "Yow!!! Are we having fun yet?!?" +-#define SERVERHOST "mescaline.gnu.org" +- +-void +-write_to_server (int filedes) +-@{ +- int nbytes; +- +- nbytes = write (filedes, MESSAGE, strlen (MESSAGE) + 1); +- if (nbytes < 0) +- @{ +- perror ("write"); +- exit (EXIT_FAILURE); +- @} +-@} +- +- +-int +-main (void) +-@{ +- extern void init_sockaddr (struct sockaddr_in *name, +- const char *hostname, +- uint16_t port); +- int sock; +- struct sockaddr_in servername; +- +- /* @r{Create the socket.} */ +- sock = socket (PF_INET, SOCK_STREAM, 0); +- if (sock < 0) +- @{ +- perror ("socket (client)"); +- exit (EXIT_FAILURE); +- @} +- +- /* @r{Connect to the server.} */ +- init_sockaddr (&servername, SERVERHOST, PORT); +- if (0 > connect (sock, +- (struct sockaddr *) &servername, +- sizeof (servername))) +- @{ +- perror ("connect (client)"); +- exit (EXIT_FAILURE); +- @} +- +- /* @r{Send data to the server.} */ +- write_to_server (sock); +- close (sock); +- exit (EXIT_SUCCESS); +-@} +diff -u -udbrN glibc-2.3.2/manual/inetsrv.c.texi glibc-2.3.2-200304020432/manual/inetsrv.c.texi +--- glibc-2.3.2/manual/inetsrv.c.texi Wed Dec 9 23:51:53 1998 ++++ glibc-2.3.2-200304020432/manual/inetsrv.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,103 +0,0 @@ +-#include <stdio.h> +-#include <errno.h> +-#include <stdlib.h> +-#include <unistd.h> +-#include <sys/types.h> +-#include <sys/socket.h> +-#include <netinet/in.h> +-#include <netdb.h> +- +-#define PORT 5555 +-#define MAXMSG 512 +- +-int +-read_from_client (int filedes) +-@{ +- char buffer[MAXMSG]; +- int nbytes; +- +- nbytes = read (filedes, buffer, MAXMSG); +- if (nbytes < 0) +- @{ +- /* @r{Read error.} */ +- perror ("read"); +- exit (EXIT_FAILURE); +- @} +- else if (nbytes == 0) +- /* @r{End-of-file.} */ +- return -1; +- else +- @{ +- /* @r{Data read.} */ +- fprintf (stderr, "Server: got message: `%s'\n", buffer); +- return 0; +- @} +-@} +- +-int +-main (void) +-@{ +- extern int make_socket (uint16_t port); +- int sock; +- fd_set active_fd_set, read_fd_set; +- int i; +- struct sockaddr_in clientname; +- size_t size; +- +- /* @r{Create the socket and set it up to accept connections.} */ +- sock = make_socket (PORT); +- if (listen (sock, 1) < 0) +- @{ +- perror ("listen"); +- exit (EXIT_FAILURE); +- @} +- +- /* @r{Initialize the set of active sockets.} */ +- FD_ZERO (&active_fd_set); +- FD_SET (sock, &active_fd_set); +- +- while (1) +- @{ +- /* @r{Block until input arrives on one or more active sockets.} */ +- read_fd_set = active_fd_set; +- if (select (FD_SETSIZE, &read_fd_set, NULL, NULL, NULL) < 0) +- @{ +- perror ("select"); +- exit (EXIT_FAILURE); +- @} +- +- /* @r{Service all the sockets with input pending.} */ +- for (i = 0; i < FD_SETSIZE; ++i) +- if (FD_ISSET (i, &read_fd_set)) +- @{ +- if (i == sock) +- @{ +- /* @r{Connection request on original socket.} */ +- int new; +- size = sizeof (clientname); +- new = accept (sock, +- (struct sockaddr *) &clientname, +- &size); +- if (new < 0) +- @{ +- perror ("accept"); +- exit (EXIT_FAILURE); +- @} +- fprintf (stderr, +- "Server: connect from host %s, port %hd.\n", +- inet_ntoa (clientname.sin_addr), +- ntohs (clientname.sin_port)); +- FD_SET (new, &active_fd_set); +- @} +- else +- @{ +- /* @r{Data arriving on an already-connected socket.} */ +- if (read_from_client (i) < 0) +- @{ +- close (i); +- FD_CLR (i, &active_fd_set); +- @} +- @} +- @} +- @} +-@} +diff -u -udbrN glibc-2.3.2/manual/isockad.c.texi glibc-2.3.2-200304020432/manual/isockad.c.texi +--- glibc-2.3.2/manual/isockad.c.texi Wed Dec 9 23:51:53 1998 ++++ glibc-2.3.2-200304020432/manual/isockad.c.texi Thu Jan 1 01:00:00 1970 +@@ -1,23 +0,0 @@ +-#include <stdio.h> +-#include <stdlib.h> +-#include <sys/socket.h> +-#include <netinet/in.h> +-#include <netdb.h> +- +-void +-init_sockaddr (struct sockaddr_in *name, +- const char *hostname, +- uint16_t port) +-@{ +- struct hostent *hostinfo; +- +- name->sin_family = AF_INET; +- name->sin_port = htons (port); +- hostinfo = gethostbyname (hostname); +- if (hostinfo == NULL) +- @{ +- fprintf (stderr, "Unknown host %s.\n", hostname); +- exit (EXIT_FAILURE); +- @} +- name->sin_addr = *(struct in_addr *) hostinfo->h_addr; +-@} +diff -u -udbrN glibc-2.3.2/manual/libc.cp glibc-2.3.2-200304020432/manual/libc.cp +--- glibc-2.3.2/manual/libc.cp Tue Feb 25 11:35:07 2003 ++++ glibc-2.3.2-200304020432/manual/libc.cp Thu Jan 1 01:00:00 1970 +@@ -1,1058 +0,0 @@ +-\entry{library}{1}{library} +-\entry{standards}{1}{standards} +-\entry{ISO C}{2}{ISO C} +-\entry{POSIX}{2}{POSIX} +-\entry{POSIX.1}{2}{POSIX.1} +-\entry{IEEE Std 1003.1}{2}{IEEE Std 1003.1} +-\entry{ISO/IEC 9945-1}{2}{ISO/IEC 9945-1} +-\entry{POSIX.2}{2}{POSIX.2} +-\entry{IEEE Std 1003.2}{2}{IEEE Std 1003.2} +-\entry{ISO/IEC 9945-2}{2}{ISO/IEC 9945-2} +-\entry{BSD Unix}{3}{BSD Unix} +-\entry{4.n BSD Unix}{3}{4.\var {n} BSD Unix} +-\entry{Berkeley Unix}{3}{Berkeley Unix} +-\entry{SunOS}{3}{SunOS} +-\entry{Unix, Berkeley}{3}{Unix, Berkeley} +-\entry{SVID}{3}{SVID} +-\entry{System V Unix}{3}{System V Unix} +-\entry{Unix, System V}{3}{Unix, System V} +-\entry{header files}{4}{header files} +-\entry{definition (compared to declaration)}{4}{definition (compared to declaration)} +-\entry{declaration (compared to definition)}{4}{declaration (compared to definition)} +-\entry{shadowing functions with macros}{5}{shadowing functions with macros} +-\entry{removing macros that shadow functions}{5}{removing macros that shadow functions} +-\entry{undefining macros that shadow functions}{5}{undefining macros that shadow functions} +-\entry{reserved names}{6}{reserved names} +-\entry{name space}{6}{name space} +-\entry{feature test macros}{7}{feature test macros} +-\entry{BSD compatibility library.}{8}{BSD compatibility library.} +-\entry{error reporting}{15}{error reporting} +-\entry{reporting errors}{15}{reporting errors} +-\entry{error codes}{15}{error codes} +-\entry{status codes}{15}{status codes} +-\entry{program name}{27}{program name} +-\entry{name of running program}{27}{name of running program} +-\entry{memory allocation}{31}{memory allocation} +-\entry{storage allocation}{31}{storage allocation} +-\entry{page frame}{31}{page frame} +-\entry{frame, real memory}{31}{frame, real memory} +-\entry{swap space}{31}{swap space} +-\entry{page, virtual memory}{31}{page, virtual memory} +-\entry{page fault}{31}{page fault} +-\entry{paging}{31}{paging} +-\entry{executable}{32}{executable} +-\entry{literals}{32}{literals} +-\entry{constants}{32}{constants} +-\entry{memory mapped I/O}{32}{memory mapped I/O} +-\entry{memory mapped file}{32}{memory mapped file} +-\entry{files, accessing}{32}{files, accessing} +-\entry{execing a program}{32}{execing a program} +-\entry{freeing memory}{32}{freeing memory} +-\entry{exiting a program}{32}{exiting a program} +-\entry{static memory allocation}{33}{static memory allocation} +-\entry{static storage class}{33}{static storage class} +-\entry{automatic memory allocation}{33}{automatic memory allocation} +-\entry{automatic storage class}{33}{automatic storage class} +-\entry{dynamic memory allocation}{33}{dynamic memory allocation} +-\entry{dynamic memory allocation}{33}{dynamic memory allocation} +-\entry{unconstrained memory allocation}{34}{unconstrained memory allocation} +-\entry{malloc function}{34}{\code {malloc} function} +-\entry{heap, dynamic allocation from}{34}{heap, dynamic allocation from} +-\entry{allocation of memory with malloc}{34}{allocation of memory with \code {malloc}} +-\entry{freeing memory allocated with malloc}{35}{freeing memory allocated with \code {malloc}} +-\entry{heap, freeing memory from}{35}{heap, freeing memory from} +-\entry{changing the size of a block (malloc)}{36}{changing the size of a block (\code {malloc})} +-\entry{efficiency and malloc}{37}{efficiency and \code {malloc}} +-\entry{page boundary}{38}{page boundary} +-\entry{alignment (with malloc)}{38}{alignment (with \code {malloc})} +-\entry{heap consistency checking}{39}{heap consistency checking} +-\entry{consistency checking, of heap}{39}{consistency checking, of heap} +-\entry{allocation hooks, for malloc}{41}{allocation hooks, for \code {malloc}} +-\entry{allocation statistics}{43}{allocation statistics} +-\entry{allocation debugging}{45}{allocation debugging} +-\entry{malloc debugger}{45}{malloc debugger} +-\entry{obstacks}{49}{obstacks} +-\entry{allocation (obstacks)}{51}{allocation (obstacks)} +-\entry{freeing (obstacks)}{52}{freeing (obstacks)} +-\entry{macros}{52}{macros} +-\entry{growing objects (in obstacks)}{53}{growing objects (in obstacks)} +-\entry{changing the size of a block (obstacks)}{53}{changing the size of a block (obstacks)} +-\entry{shrinking objects}{54}{shrinking objects} +-\entry{efficiency and obstacks}{55}{efficiency and obstacks} +-\entry{obstack status}{56}{obstack status} +-\entry{status of obstack}{56}{status of obstack} +-\entry{alignment (in obstacks)}{56}{alignment (in obstacks)} +-\entry{efficiency of chunks}{57}{efficiency of chunks} +-\entry{chunks}{57}{chunks} +-\entry{automatic freeing}{59}{automatic freeing} +-\entry{alloca function}{59}{\code {alloca} function} +-\entry{automatic storage with variable size}{59}{automatic storage with variable size} +-\entry{longjmp}{60}{longjmp} +-\entry{alloca disadvantages}{61}{\code {alloca} disadvantages} +-\entry{disadvantages of alloca}{61}{disadvantages of \code {alloca}} +-\entry{variable-sized arrays}{61}{variable-sized arrays} +-\entry{locking pages}{62}{locking pages} +-\entry{memory lock}{62}{memory lock} +-\entry{paging}{62}{paging} +-\entry{realtime processing}{62}{realtime processing} +-\entry{speed of execution}{62}{speed of execution} +-\entry{copy-on-write page fault}{63}{copy-on-write page fault} +-\entry{page fault, copy-on-write}{63}{page fault, copy-on-write} +-\entry{character testing}{67}{character testing} +-\entry{classification of characters}{67}{classification of characters} +-\entry{predicates on characters}{67}{predicates on characters} +-\entry{character predicates}{67}{character predicates} +-\entry{lower-case character}{67}{lower-case character} +-\entry{upper-case character}{67}{upper-case character} +-\entry{alphabetic character}{67}{alphabetic character} +-\entry{digit character}{67}{digit character} +-\entry{decimal digit character}{67}{decimal digit character} +-\entry{alphanumeric character}{68}{alphanumeric character} +-\entry{hexadecimal digit character}{68}{hexadecimal digit character} +-\entry{punctuation character}{68}{punctuation character} +-\entry{whitespace character}{68}{whitespace character} +-\entry{blank character}{68}{blank character} +-\entry{graphic character}{68}{graphic character} +-\entry{printing character}{68}{printing character} +-\entry{control character}{68}{control character} +-\entry{ASCII character}{68}{ASCII character} +-\entry{character case conversion}{69}{character case conversion} +-\entry{case conversion of characters}{69}{case conversion of characters} +-\entry{converting case of characters}{69}{converting case of characters} +-\entry{alphanumeric character}{70}{alphanumeric character} +-\entry{alphabetic character}{70}{alphabetic character} +-\entry{control character}{71}{control character} +-\entry{digit character}{71}{digit character} +-\entry{graphic character}{71}{graphic character} +-\entry{lower-case character}{71}{lower-case character} +-\entry{printing character}{71}{printing character} +-\entry{punctuation character}{72}{punctuation character} +-\entry{whitespace character}{72}{whitespace character} +-\entry{upper-case character}{72}{upper-case character} +-\entry{hexadecimal digit character}{72}{hexadecimal digit character} +-\entry{blank character}{72}{blank character} +-\entry{string, representation of}{75}{string, representation of} +-\entry{string}{75}{string} +-\entry{multibyte character string}{75}{multibyte character string} +-\entry{wide character string}{75}{wide character string} +-\entry{null character}{75}{null character} +-\entry{null wide character}{75}{null wide character} +-\entry{string literal}{75}{string literal} +-\entry{length of string}{76}{length of string} +-\entry{allocation size of string}{76}{allocation size of string} +-\entry{size of string}{76}{size of string} +-\entry{string length}{76}{string length} +-\entry{string allocation}{76}{string allocation} +-\entry{single-byte string}{76}{single-byte string} +-\entry{multibyte string}{76}{multibyte string} +-\entry{wide character string}{76}{wide character string} +-\entry{wint_t}{77}{wint_t} +-\entry{parameter promotion}{77}{parameter promotion} +-\entry{copying strings and arrays}{79}{copying strings and arrays} +-\entry{string copy functions}{79}{string copy functions} +-\entry{array copy functions}{79}{array copy functions} +-\entry{concatenating strings}{79}{concatenating strings} +-\entry{string concatenation functions}{79}{string concatenation functions} +-\entry{__va_copy}{85}{__va_copy} +-\entry{va_copy}{85}{va_copy} +-\entry{comparing strings and arrays}{89}{comparing strings and arrays} +-\entry{string comparison functions}{89}{string comparison functions} +-\entry{array comparison functions}{89}{array comparison functions} +-\entry{predicates on strings}{89}{predicates on strings} +-\entry{predicates on arrays}{89}{predicates on arrays} +-\entry{collating strings}{92}{collating strings} +-\entry{string collation functions}{92}{string collation functions} +-\entry{converting string to collation order}{93}{converting string to collation order} +-\entry{search functions (for strings)}{96}{search functions (for strings)} +-\entry{string search functions}{96}{string search functions} +-\entry{tokenizing strings}{100}{tokenizing strings} +-\entry{breaking a string into tokens}{100}{breaking a string into tokens} +-\entry{parsing tokens from a string}{100}{parsing tokens from a string} +-\entry{encryption}{105}{encryption} +-\entry{Rot13}{105}{Rot13} +-\entry{argz vectors (string vectors)}{107}{argz vectors (string vectors)} +-\entry{string vectors, null-character separated}{107}{string vectors, null-character separated} +-\entry{argument vectors, null-character separated}{107}{argument vectors, null-character separated} +-\entry{envz vectors (environment vectors)}{107}{envz vectors (environment vectors)} +-\entry{environment vectors, null-character separated}{107}{environment vectors, null-character separated} +-\entry{internal representation}{111}{internal representation} +-\entry{wide character}{111}{wide character} +-\entry{Unicode}{111}{Unicode} +-\entry{ISO 10646}{111}{ISO 10646} +-\entry{UCS-2}{111}{UCS-2} +-\entry{UCS-4}{111}{UCS-4} +-\entry{UTF-8}{111}{UTF-8} +-\entry{UTF-16}{111}{UTF-16} +-\entry{multibyte character}{113}{multibyte character} +-\entry{EBCDIC}{113}{EBCDIC} +-\entry{ISO 2022}{113}{ISO 2022} +-\entry{EUC}{113}{EUC} +-\entry{Shift_JIS}{113}{Shift_JIS} +-\entry{SJIS}{113}{SJIS} +-\entry{ISO 6937}{114}{ISO 6937} +-\entry{UTF-8}{114}{UTF-8} +-\entry{UTF-7}{114}{UTF-7} +-\entry{stateful}{116}{stateful} +-\entry{shift state}{116}{shift state} +-\entry{stateful}{119}{stateful} +-\entry{stateful}{124}{stateful} +-\entry{stateful}{134}{stateful} +-\entry{stateful}{136}{stateful} +-\entry{triangulation}{139}{triangulation} +-\entry{ISO-2022-JP}{139}{ISO-2022-JP} +-\entry{EUC-JP}{139}{EUC-JP} +-\entry{stateful}{148}{stateful} +-\entry{internationalization}{153}{internationalization} +-\entry{locales}{153}{locales} +-\entry{combining locales}{154}{combining locales} +-\entry{categories for locales}{154}{categories for locales} +-\entry{locale categories}{154}{locale categories} +-\entry{changing the locale}{155}{changing the locale} +-\entry{locale, changing}{155}{locale, changing} +-\entry{monetary value formatting}{158}{monetary value formatting} +-\entry{numeric value formatting}{158}{numeric value formatting} +-\entry{decimal-point separator}{158}{decimal-point separator} +-\entry{grouping of digits}{158}{grouping of digits} +-\entry{currency symbols}{159}{currency symbols} +-\entry{NLSPATH environment variable}{172}{NLSPATH environment variable} +-\entry{LC_ALL environment variable}{173}{LC_ALL environment variable} +-\entry{LC_MESSAGES environment variable}{173}{LC_MESSAGES environment variable} +-\entry{LANG environment variable}{173}{LANG environment variable} +-\entry{gencat}{176}{gencat} +-\entry{sgettext}{190}{sgettext} +-\entry{sgettext}{190}{sgettext} +-\entry{Comparison Function}{195}{Comparison Function} +-\entry{search function (for arrays)}{195}{search function (for arrays)} +-\entry{binary search function (for arrays)}{195}{binary search function (for arrays)} +-\entry{array search function}{195}{array search function} +-\entry{sort function (for arrays)}{196}{sort function (for arrays)} +-\entry{quick sort function (for arrays)}{196}{quick sort function (for arrays)} +-\entry{array sort function}{196}{array sort function} +-\entry{stable sorting}{196}{stable sorting} +-\entry{Kermit the frog}{199}{Kermit the frog} +-\entry{Korn Shell}{206}{Korn Shell} +-\entry{globbing}{206}{globbing} +-\entry{word expansion}{218}{word expansion} +-\entry{expansion of shell words}{218}{expansion of shell words} +-\entry{tilde expansion}{219}{tilde expansion} +-\entry{variable substitution}{219}{variable substitution} +-\entry{substitution of variables and commands}{219}{substitution of variables and commands} +-\entry{command substitution}{219}{command substitution} +-\entry{arithmetic expansion}{219}{arithmetic expansion} +-\entry{field splitting}{219}{field splitting} +-\entry{wildcard expansion}{219}{wildcard expansion} +-\entry{quote removal}{219}{quote removal} +-\entry{removal of quotes}{219}{removal of quotes} +-\entry{opening a file}{225}{opening a file} +-\entry{file position}{226}{file position} +-\entry{sequential-access files}{226}{sequential-access files} +-\entry{random-access files}{226}{random-access files} +-\entry{append-access files}{227}{append-access files} +-\entry{file name}{227}{file name} +-\entry{directory}{227}{directory} +-\entry{link}{227}{link} +-\entry{directory entry}{227}{directory entry} +-\entry{file name component}{227}{file name component} +-\entry{file name resolution}{228}{file name resolution} +-\entry{root directory}{228}{root directory} +-\entry{absolute file name}{228}{absolute file name} +-\entry{relative file name}{228}{relative file name} +-\entry{parent directory}{228}{parent directory} +-\entry{file name errors}{229}{file name errors} +-\entry{usual file name errors}{229}{usual file name errors} +-\entry{file pointer}{231}{file pointer} +-\entry{standard streams}{231}{standard streams} +-\entry{streams, standard}{231}{streams, standard} +-\entry{standard input stream}{231}{standard input stream} +-\entry{standard output stream}{231}{standard output stream} +-\entry{standard error stream}{232}{standard error stream} +-\entry{opening a stream}{232}{opening a stream} +-\entry{stream orientation}{233}{stream orientation} +-\entry{orientation, stream}{233}{orientation, stream} +-\entry{closing a stream}{235}{closing a stream} +-\entry{threads}{236}{threads} +-\entry{multi-threaded application}{236}{multi-threaded application} +-\entry{C++ streams}{239}{C++ streams} +-\entry{streams, C++}{239}{streams, C++} +-\entry{orientation, stream}{240}{orientation, stream} +-\entry{stream orientation}{240}{stream orientation} +-\entry{writing to a stream, by characters}{241}{writing to a stream, by characters} +-\entry{reading from a stream, by characters}{243}{reading from a stream, by characters} +-\entry{peeking at input}{247}{peeking at input} +-\entry{unreading characters}{247}{unreading characters} +-\entry{pushing input back}{247}{pushing input back} +-\entry{binary I/O to a stream}{249}{binary I/O to a stream} +-\entry{block I/O to a stream}{249}{block I/O to a stream} +-\entry{reading from a stream, by blocks}{249}{reading from a stream, by blocks} +-\entry{writing to a stream, by blocks}{249}{writing to a stream, by blocks} +-\entry{format string, for printf}{250}{format string, for \code {printf}} +-\entry{template, for printf}{250}{template, for \code {printf}} +-\entry{formatted output to a stream}{250}{formatted output to a stream} +-\entry{writing to a stream, formatted}{250}{writing to a stream, formatted} +-\entry{conversion specifications (printf)}{250}{conversion specifications (\code {printf})} +-\entry{flag character (printf)}{252}{flag character (\code {printf})} +-\entry{minimum field width (printf)}{252}{minimum field width (\code {printf})} +-\entry{precision (printf)}{252}{precision (\code {printf})} +-\entry{type modifier character (printf)}{252}{type modifier character (\code {printf})} +-\entry{output conversions, for printf}{252}{output conversions, for \code {printf}} +-\entry{parsing a template string}{263}{parsing a template string} +-\entry{customizing printf}{266}{customizing \code {printf}} +-\entry{defining new printf conversions}{266}{defining new \code {printf} conversions} +-\entry{extending printf}{266}{extending \code {printf}} +-\entry{formatted input from a stream}{272}{formatted input from a stream} +-\entry{reading from a stream, formatted}{272}{reading from a stream, formatted} +-\entry{format string, for scanf}{272}{format string, for \code {scanf}} +-\entry{template, for scanf}{272}{template, for \code {scanf}} +-\entry{conversion specifications (scanf)}{272}{conversion specifications (\code {scanf})} +-\entry{matching failure, in scanf}{272}{matching failure, in \code {scanf}} +-\entry{flag character (scanf)}{273}{flag character (\code {scanf})} +-\entry{maximum field width (scanf)}{273}{maximum field width (\code {scanf})} +-\entry{type modifier character (scanf)}{273}{type modifier character (\code {scanf})} +-\entry{input conversions, for scanf}{274}{input conversions, for \code {scanf}} +-\entry{end of file, on a stream}{281}{end of file, on a stream} +-\entry{text stream}{283}{text stream} +-\entry{binary stream}{283}{binary stream} +-\entry{lines (in a text file)}{283}{lines (in a text file)} +-\entry{file positioning on a stream}{284}{file positioning on a stream} +-\entry{positioning a stream}{284}{positioning a stream} +-\entry{seeking on a stream}{284}{seeking on a stream} +-\entry{buffering of streams}{288}{buffering of streams} +-\entry{unbuffered stream}{288}{unbuffered stream} +-\entry{line buffered stream}{288}{line buffered stream} +-\entry{fully buffered stream}{288}{fully buffered stream} +-\entry{flushing a stream}{289}{flushing a stream} +-\entry{buffering, controlling}{290}{buffering, controlling} +-\entry{stream, for I/O to a string}{292}{stream, for I/O to a string} +-\entry{string stream}{292}{string stream} +-\entry{custom streams}{295}{custom streams} +-\entry{programming your own streams}{295}{programming your own streams} +-\entry{cookie, for custom stream}{295}{cookie, for custom stream} +-\entry{hook functions (of custom streams)}{296}{hook functions (of custom streams)} +-\entry{formatted messages}{297}{formatted messages} +-\entry{severity class}{298}{severity class} +-\entry{severity class}{300}{severity class} +-\entry{opening a file descriptor}{303}{opening a file descriptor} +-\entry{closing a file descriptor}{303}{closing a file descriptor} +-\entry{reading from a file descriptor}{306}{reading from a file descriptor} +-\entry{end-of-file, on a file descriptor}{306}{end-of-file, on a file descriptor} +-\entry{writing to a file descriptor}{308}{writing to a file descriptor} +-\entry{file positioning on a file descriptor}{310}{file positioning on a file descriptor} +-\entry{positioning a file descriptor}{310}{positioning a file descriptor} +-\entry{seeking on a file descriptor}{310}{seeking on a file descriptor} +-\entry{sparse files}{311}{sparse files} +-\entry{holes in files}{311}{holes in files} +-\entry{streams, and file descriptors}{313}{streams, and file descriptors} +-\entry{converting file descriptor to stream}{313}{converting file descriptor to stream} +-\entry{extracting file descriptor from stream}{313}{extracting file descriptor from stream} +-\entry{standard file descriptors}{313}{standard file descriptors} +-\entry{file descriptors, standard}{313}{file descriptors, standard} +-\entry{standard input file descriptor}{313}{standard input file descriptor} +-\entry{standard output file descriptor}{313}{standard output file descriptor} +-\entry{standard error file descriptor}{313}{standard error file descriptor} +-\entry{channels}{314}{channels} +-\entry{streams and descriptors}{314}{streams and descriptors} +-\entry{descriptors and streams}{314}{descriptors and streams} +-\entry{mixing descriptors and streams}{314}{mixing descriptors and streams} +-\entry{linked channels}{314}{linked channels} +-\entry{cleaning up a stream}{314}{cleaning up a stream} +-\entry{independent channels}{314}{independent channels} +-\entry{scatter-gather}{315}{scatter-gather} +-\entry{waiting for input or output}{321}{waiting for input or output} +-\entry{multiplexing input}{321}{multiplexing input} +-\entry{input from multiple files}{321}{input from multiple files} +-\entry{file descriptor sets, for select}{321}{file descriptor sets, for \code {select}} +-\entry{synchronizing}{323}{synchronizing} +-\entry{synchronizing}{332}{synchronizing} +-\entry{control operations on files}{336}{control operations on files} +-\entry{fcntl function}{336}{\code {fcntl} function} +-\entry{duplicating file descriptors}{337}{duplicating file descriptors} +-\entry{redirecting input and output}{337}{redirecting input and output} +-\entry{file descriptor flags}{339}{file descriptor flags} +-\entry{close-on-exec (file descriptor flag)}{339}{close-on-exec (file descriptor flag)} +-\entry{file status flags}{340}{file status flags} +-\entry{file name translation flags}{341}{file name translation flags} +-\entry{flags, file name translation}{341}{flags, file name translation} +-\entry{open-time action flags}{342}{open-time action flags} +-\entry{flags, open-time action}{342}{flags, open-time action} +-\entry{create on open (file status flag)}{342}{create on open (file status flag)} +-\entry{non-blocking open}{342}{non-blocking open} +-\entry{controlling terminal, setting}{342}{controlling terminal, setting} +-\entry{symbolic link, opening}{342}{symbolic link, opening} +-\entry{file locks}{345}{file locks} +-\entry{record locking}{345}{record locking} +-\entry{exclusive lock}{345}{exclusive lock} +-\entry{write lock}{345}{write lock} +-\entry{shared lock}{345}{shared lock} +-\entry{read lock}{345}{read lock} +-\entry{interrupt-driven input}{348}{interrupt-driven input} +-\entry{generic i/o control operations}{349}{generic i/o control operations} +-\entry{IOCTLs}{349}{IOCTLs} +-\entry{current working directory}{351}{current working directory} +-\entry{working directory}{351}{working directory} +-\entry{change working directory}{351}{change working directory} +-\entry{accessing directories}{353}{accessing directories} +-\entry{reading from a directory}{353}{reading from a directory} +-\entry{directories, accessing}{353}{directories, accessing} +-\entry{directory stream}{353}{directory stream} +-\entry{directory hierarchy}{360}{directory hierarchy} +-\entry{hierarchy, directory}{360}{hierarchy, directory} +-\entry{tree, directory}{360}{tree, directory} +-\entry{hard link}{363}{hard link} +-\entry{link, hard}{363}{link, hard} +-\entry{multiple names for one file}{363}{multiple names for one file} +-\entry{file names, multiple}{363}{file names, multiple} +-\entry{soft link}{364}{soft link} +-\entry{link, soft}{364}{link, soft} +-\entry{symbolic link}{364}{symbolic link} +-\entry{link, symbolic}{364}{link, symbolic} +-\entry{deleting a file}{367}{deleting a file} +-\entry{removing a file}{367}{removing a file} +-\entry{unlinking a file}{367}{unlinking a file} +-\entry{directories, deleting}{368}{directories, deleting} +-\entry{deleting a directory}{368}{deleting a directory} +-\entry{renaming a file}{368}{renaming a file} +-\entry{creating a directory}{369}{creating a directory} +-\entry{directories, creating}{369}{directories, creating} +-\entry{status of a file}{370}{status of a file} +-\entry{attributes of a file}{370}{attributes of a file} +-\entry{file attributes}{370}{file attributes} +-\entry{inode number}{373}{inode number} +-\entry{file owner}{377}{file owner} +-\entry{owner of a file}{377}{owner of a file} +-\entry{group owner of a file}{377}{group owner of a file} +-\entry{file permission bits}{378}{file permission bits} +-\entry{sticky bit}{379}{sticky bit} +-\entry{permission to access a file}{380}{permission to access a file} +-\entry{access permission for a file}{380}{access permission for a file} +-\entry{file access permission}{380}{file access permission} +-\entry{file creation mask}{380}{file creation mask} +-\entry{umask}{380}{umask} +-\entry{testing access permission}{382}{testing access permission} +-\entry{access, testing for}{382}{access, testing for} +-\entry{setuid programs and file access}{382}{setuid programs and file access} +-\entry{file access time}{383}{file access time} +-\entry{file modification time}{383}{file modification time} +-\entry{file attribute modification time}{383}{file attribute modification time} +-\entry{creating special files}{388}{creating special files} +-\entry{special files}{388}{special files} +-\entry{TMPDIR environment variable}{390}{TMPDIR environment variable} +-\entry{pipe}{393}{pipe} +-\entry{FIFO special file}{393}{FIFO special file} +-\entry{creating a pipe}{393}{creating a pipe} +-\entry{opening a pipe}{393}{opening a pipe} +-\entry{interprocess communication, with pipes}{393}{interprocess communication, with pipes} +-\entry{creating a pipe to a subprocess}{395}{creating a pipe to a subprocess} +-\entry{pipe to a subprocess}{395}{pipe to a subprocess} +-\entry{filtering i/o through subprocess}{395}{filtering i/o through subprocess} +-\entry{creating a FIFO special file}{396}{creating a FIFO special file} +-\entry{interprocess communication, with FIFO}{396}{interprocess communication, with FIFO} +-\entry{socket}{399}{socket} +-\entry{interprocess communication, with sockets}{399}{interprocess communication, with sockets} +-\entry{communication style (of a socket)}{399}{communication style (of a socket)} +-\entry{style of communication (of a socket)}{399}{style of communication (of a socket)} +-\entry{packet}{399}{packet} +-\entry{byte stream}{399}{byte stream} +-\entry{stream (sockets)}{399}{stream (sockets)} +-\entry{loss of data on sockets}{399}{loss of data on sockets} +-\entry{data loss on sockets}{399}{data loss on sockets} +-\entry{namespace (of socket)}{399}{namespace (of socket)} +-\entry{domain (of socket)}{399}{domain (of socket)} +-\entry{socket namespace}{399}{socket namespace} +-\entry{socket domain}{399}{socket domain} +-\entry{network protocol}{399}{network protocol} +-\entry{protocol (of socket)}{399}{protocol (of socket)} +-\entry{socket protocol}{399}{socket protocol} +-\entry{protocol family}{399}{protocol family} +-\entry{address of socket}{401}{address of socket} +-\entry{name of socket}{401}{name of socket} +-\entry{binding a socket address}{401}{binding a socket address} +-\entry{socket address (name) binding}{401}{socket address (name) binding} +-\entry{local namespace, for sockets}{405}{local namespace, for sockets} +-\entry{Internet namespace, for sockets}{407}{Internet namespace, for sockets} +-\entry{host address, Internet}{409}{host address, Internet} +-\entry{Internet host address}{409}{Internet host address} +-\entry{network number}{409}{network number} +-\entry{local network address number}{409}{local network address number} +-\entry{standard dot notation, for Internet addresses}{409}{standard dot notation, for Internet addresses} +-\entry{dot notation, for Internet addresses}{409}{dot notation, for Internet addresses} +-\entry{hosts database}{413}{hosts database} +-\entry{converting host name to address}{413}{converting host name to address} +-\entry{converting host address to name}{413}{converting host address to name} +-\entry{port number}{416}{port number} +-\entry{services database}{417}{services database} +-\entry{converting service name to port number}{417}{converting service name to port number} +-\entry{converting port number to service name}{417}{converting port number to service name} +-\entry{byte order conversion, for socket}{418}{byte order conversion, for socket} +-\entry{converting byte order}{418}{converting byte order} +-\entry{big-endian}{418}{big-endian} +-\entry{little-endian}{418}{little-endian} +-\entry{network byte order}{418}{network byte order} +-\entry{protocols database}{419}{protocols database} +-\entry{TCP (Internet protocol)}{419}{TCP (Internet protocol)} +-\entry{creating a socket}{422}{creating a socket} +-\entry{socket, creating}{422}{socket, creating} +-\entry{opening a socket}{422}{opening a socket} +-\entry{socket, closing}{422}{socket, closing} +-\entry{closing a socket}{422}{closing a socket} +-\entry{shutting down a socket}{422}{shutting down a socket} +-\entry{socket shutdown}{422}{socket shutdown} +-\entry{creating a socket pair}{423}{creating a socket pair} +-\entry{socket pair}{423}{socket pair} +-\entry{opening a socket pair}{423}{opening a socket pair} +-\entry{connection}{424}{connection} +-\entry{client}{424}{client} +-\entry{server}{424}{server} +-\entry{connecting a socket}{424}{connecting a socket} +-\entry{socket, connecting}{424}{socket, connecting} +-\entry{socket, initiating a connection}{424}{socket, initiating a connection} +-\entry{socket, client actions}{424}{socket, client actions} +-\entry{listening (sockets)}{425}{listening (sockets)} +-\entry{sockets, server actions}{425}{sockets, server actions} +-\entry{sockets, listening}{425}{sockets, listening} +-\entry{sockets, accepting connections}{426}{sockets, accepting connections} +-\entry{accepting connections}{426}{accepting connections} +-\entry{reading from a socket}{427}{reading from a socket} +-\entry{writing to a socket}{427}{writing to a socket} +-\entry{out-of-band data}{433}{out-of-band data} +-\entry{high-priority data}{433}{high-priority data} +-\entry{urgent socket condition}{433}{urgent socket condition} +-\entry{datagram socket}{435}{datagram socket} +-\entry{sending a datagram}{436}{sending a datagram} +-\entry{transmitting datagrams}{436}{transmitting datagrams} +-\entry{datagrams, transmitting}{436}{datagrams, transmitting} +-\entry{receiving datagrams}{436}{receiving datagrams} +-\entry{socket options}{441}{socket options} +-\entry{level, for socket options}{441}{level, for socket options} +-\entry{socket option level}{441}{socket option level} +-\entry{networks database}{443}{networks database} +-\entry{converting network number to network name}{443}{converting network number to network name} +-\entry{converting network name to network number}{443}{converting network name to network number} +-\entry{terminal identification}{445}{terminal identification} +-\entry{identifying terminals}{445}{identifying terminals} +-\entry{terminal input queue}{446}{terminal input queue} +-\entry{typeahead buffer}{446}{typeahead buffer} +-\entry{terminal output queue}{446}{terminal output queue} +-\entry{canonical input processing}{446}{canonical input processing} +-\entry{noncanonical input processing}{446}{noncanonical input processing} +-\entry{terminal mode data types}{447}{terminal mode data types} +-\entry{terminal mode functions}{448}{terminal mode functions} +-\entry{parity checking}{450}{parity checking} +-\entry{break condition, detecting}{451}{break condition, detecting} +-\entry{modem status lines}{453}{modem status lines} +-\entry{carrier detect}{453}{carrier detect} +-\entry{modem disconnect}{453}{modem disconnect} +-\entry{echo of terminal input}{455}{echo of terminal input} +-\entry{interactive signals, from terminal}{456}{interactive signals, from terminal} +-\entry{line speed}{457}{line speed} +-\entry{baud rate}{457}{baud rate} +-\entry{terminal line speed}{457}{terminal line speed} +-\entry{terminal line speed}{457}{terminal line speed} +-\entry{EOF character}{458}{EOF character} +-\entry{EOL character}{459}{EOL character} +-\entry{EOL2 character}{459}{EOL2 character} +-\entry{ERASE character}{459}{ERASE character} +-\entry{WERASE character}{459}{WERASE character} +-\entry{KILL character}{460}{KILL character} +-\entry{REPRINT character}{460}{REPRINT character} +-\entry{INTR character}{460}{INTR character} +-\entry{interrupt character}{460}{interrupt character} +-\entry{QUIT character}{460}{QUIT character} +-\entry{SUSP character}{460}{SUSP character} +-\entry{suspend character}{460}{suspend character} +-\entry{DSUSP character}{461}{DSUSP character} +-\entry{delayed suspend character}{461}{delayed suspend character} +-\entry{START character}{461}{START character} +-\entry{STOP character}{461}{STOP character} +-\entry{LNEXT character}{462}{LNEXT character} +-\entry{DISCARD character}{462}{DISCARD character} +-\entry{STATUS character}{462}{STATUS character} +-\entry{MIN termios slot}{463}{MIN termios slot} +-\entry{TIME termios slot}{463}{TIME termios slot} +-\entry{terminal modes, BSD}{464}{terminal modes, BSD} +-\entry{terminal line control functions}{465}{terminal line control functions} +-\entry{break condition, generating}{465}{break condition, generating} +-\entry{flushing terminal output queue}{465}{flushing terminal output queue} +-\entry{terminal output queue, flushing}{465}{terminal output queue, flushing} +-\entry{clearing terminal input queue}{465}{clearing terminal input queue} +-\entry{terminal input queue, clearing}{465}{terminal input queue, clearing} +-\entry{flow control, terminal}{466}{flow control, terminal} +-\entry{terminal flow control}{466}{terminal flow control} +-\entry{pseudo-terminals}{468}{pseudo-terminals} +-\entry{allocating pseudo-terminals}{468}{allocating pseudo-terminals} +-\entry{opening a pseudo-terminal pair}{470}{opening a pseudo-terminal pair} +-\entry{constants}{479}{constants} +-\entry{mathematical constants}{479}{mathematical constants} +-\entry{trigonometric functions}{480}{trigonometric functions} +-\entry{pi (trigonometric constant)}{480}{pi (trigonometric constant)} +-\entry{complex trigonometric functions}{481}{complex trigonometric functions} +-\entry{inverse trigonometric functions}{481}{inverse trigonometric functions} +-\entry{inverse complex trigonometric functions}{482}{inverse complex trigonometric functions} +-\entry{exponentiation functions}{483}{exponentiation functions} +-\entry{power functions}{483}{power functions} +-\entry{logarithm functions}{483}{logarithm functions} +-\entry{square root function}{485}{square root function} +-\entry{cube root function}{485}{cube root function} +-\entry{complex exponentiation functions}{485}{complex exponentiation functions} +-\entry{complex logarithm functions}{485}{complex logarithm functions} +-\entry{hyperbolic functions}{486}{hyperbolic functions} +-\entry{hyperbolic functions}{487}{hyperbolic functions} +-\entry{inverse hyperbolic functions}{487}{inverse hyperbolic functions} +-\entry{inverse complex hyperbolic functions}{487}{inverse complex hyperbolic functions} +-\entry{special functions}{488}{special functions} +-\entry{Bessel functions}{488}{Bessel functions} +-\entry{gamma function}{488}{gamma function} +-\entry{math errors}{490}{math errors} +-\entry{ulps}{490}{ulps} +-\entry{random numbers}{508}{random numbers} +-\entry{pseudo-random numbers}{508}{pseudo-random numbers} +-\entry{seed (for random numbers)}{508}{seed (for random numbers)} +-\entry{Optimization}{515}{Optimization} +-\entry{integer}{517}{integer} +-\entry{signedness}{517}{signedness} +-\entry{maximum possible integer}{518}{maximum possible integer} +-\entry{minimum possible integer}{518}{minimum possible integer} +-\entry{integer division functions}{518}{integer division functions} +-\entry{floating point}{520}{floating point} +-\entry{IEEE 754}{520}{IEEE 754} +-\entry{IEEE floating point}{520}{IEEE floating point} +-\entry{floating-point classes}{520}{floating-point classes} +-\entry{classes, floating-point}{520}{classes, floating-point} +-\entry{exception}{522}{exception} +-\entry{signal}{522}{signal} +-\entry{zero divide}{522}{zero divide} +-\entry{division by zero}{522}{division by zero} +-\entry{inexact exception}{522}{inexact exception} +-\entry{invalid exception}{522}{invalid exception} +-\entry{overflow exception}{522}{overflow exception} +-\entry{underflow exception}{522}{underflow exception} +-\entry{infinity}{524}{infinity} +-\entry{not a number}{524}{not a number} +-\entry{NaN}{524}{NaN} +-\entry{errors, mathematical}{526}{errors, mathematical} +-\entry{domain error}{526}{domain error} +-\entry{range error}{526}{range error} +-\entry{absolute value functions}{530}{absolute value functions} +-\entry{normalization functions (floating-point)}{531}{normalization functions (floating-point)} +-\entry{converting floats to integers}{532}{converting floats to integers} +-\entry{FP arithmetic}{535}{FP arithmetic} +-\entry{NaN}{536}{NaN} +-\entry{unordered comparison}{536}{unordered comparison} +-\entry{minimum}{537}{minimum} +-\entry{maximum}{537}{maximum} +-\entry{positive difference}{537}{positive difference} +-\entry{multiply-add}{537}{multiply-add} +-\entry{butterfly}{538}{butterfly} +-\entry{complex numbers}{538}{complex numbers} +-\entry{project complex numbers}{539}{project complex numbers} +-\entry{conjugate complex numbers}{539}{conjugate complex numbers} +-\entry{decompose complex numbers}{539}{decompose complex numbers} +-\entry{parsing numbers (in formatted input)}{539}{parsing numbers (in formatted input)} +-\entry{converting strings to numbers}{539}{converting strings to numbers} +-\entry{number syntax, parsing}{539}{number syntax, parsing} +-\entry{syntax, for reading numbers}{539}{syntax, for reading numbers} +-\entry{gcvt_r}{546}{gcvt_r} +-\entry{time}{549}{time} +-\entry{calendar time}{549}{calendar time} +-\entry{date}{549}{date} +-\entry{interval}{549}{interval} +-\entry{elapsed time}{549}{elapsed time} +-\entry{time, elapsed}{549}{time, elapsed} +-\entry{period of time}{549}{period of time} +-\entry{CPU time}{549}{CPU time} +-\entry{processor time}{549}{processor time} +-\entry{elapsed time}{549}{elapsed time} +-\entry{timeval}{550}{timeval} +-\entry{timespec}{550}{timespec} +-\entry{CPU time}{551}{CPU time} +-\entry{clock ticks}{551}{clock ticks} +-\entry{ticks, clock}{551}{ticks, clock} +-\entry{processor time}{552}{processor time} +-\entry{CPU time}{552}{CPU time} +-\entry{child process}{552}{child process} +-\entry{simple time}{553}{simple time} +-\entry{high-resolution time}{553}{high-resolution time} +-\entry{local time}{553}{local time} +-\entry{broken-down time}{553}{broken-down time} +-\entry{Gregorian calendar}{553}{Gregorian calendar} +-\entry{calendar, Gregorian}{553}{calendar, Gregorian} +-\entry{epoch}{553}{epoch} +-\entry{broken-down time}{556}{broken-down time} +-\entry{calendar time and broken-down time}{556}{calendar time and broken-down time} +-\entry{leap second}{556}{leap second} +-\entry{Daylight Saving Time}{557}{Daylight Saving Time} +-\entry{summer time}{557}{summer time} +-\entry{time, high precision}{559}{time, high precision} +-\entry{clock, high accuracy}{559}{clock, high accuracy} +-\entry{time zone}{575}{time zone} +-\entry{time zone database}{576}{time zone database} +-\entry{setting an alarm}{578}{setting an alarm} +-\entry{interval timer, setting}{578}{interval timer, setting} +-\entry{alarms, setting}{578}{alarms, setting} +-\entry{timers, setting}{578}{timers, setting} +-\entry{real-time timer}{578}{real-time timer} +-\entry{timer, real-time}{578}{timer, real-time} +-\entry{virtual timer}{578}{virtual timer} +-\entry{timer, virtual}{578}{timer, virtual} +-\entry{profiling timer}{578}{profiling timer} +-\entry{timer, profiling}{578}{timer, profiling} +-\entry{resource limits}{585}{resource limits} +-\entry{limits on resource usage}{585}{limits on resource usage} +-\entry{usage limits}{585}{usage limits} +-\entry{limit}{585}{limit} +-\entry{current limit}{585}{current limit} +-\entry{soft limit}{585}{soft limit} +-\entry{maximum limit}{585}{maximum limit} +-\entry{hard limit}{585}{hard limit} +-\entry{process priority}{589}{process priority} +-\entry{cpu priority}{589}{cpu priority} +-\entry{priority of a process}{589}{priority of a process} +-\entry{absolute priority}{589}{absolute priority} +-\entry{priority, absolute}{589}{priority, absolute} +-\entry{realtime CPU scheduling}{589}{realtime CPU scheduling} +-\entry{ready to run}{590}{ready to run} +-\entry{preemptive scheduling}{590}{preemptive scheduling} +-\entry{runnable process}{590}{runnable process} +-\entry{realtime scheduling}{591}{realtime scheduling} +-\entry{scheduling, traditional}{595}{scheduling, traditional} +-\entry{address space}{598}{address space} +-\entry{physical memory}{598}{physical memory} +-\entry{physical address}{598}{physical address} +-\entry{shared memory}{598}{shared memory} +-\entry{thrashing}{598}{thrashing} +-\entry{memory page}{598}{memory page} +-\entry{page, memory}{598}{page, memory} +-\entry{sysconf}{599}{sysconf} +-\entry{sysconf}{599}{sysconf} +-\entry{sysconf}{600}{sysconf} +-\entry{sysconf}{600}{sysconf} +-\entry{load average}{600}{load average} +-\entry{non-local exits}{601}{non-local exits} +-\entry{long jumps}{601}{long jumps} +-\entry{signal}{611}{signal} +-\entry{generation of signals}{612}{generation of signals} +-\entry{delivery of signals}{612}{delivery of signals} +-\entry{pending signals}{612}{pending signals} +-\entry{blocked signals}{612}{blocked signals} +-\entry{specified action (for a signal)}{612}{specified action (for a signal)} +-\entry{default action (for a signal)}{612}{default action (for a signal)} +-\entry{signal action}{612}{signal action} +-\entry{catching signals}{612}{catching signals} +-\entry{signal names}{613}{signal names} +-\entry{names of signals}{613}{names of signals} +-\entry{signal number}{613}{signal number} +-\entry{program error signals}{613}{program error signals} +-\entry{exception}{614}{exception} +-\entry{floating-point exception}{614}{floating-point exception} +-\entry{illegal instruction}{615}{illegal instruction} +-\entry{segmentation violation}{615}{segmentation violation} +-\entry{bus error}{616}{bus error} +-\entry{abort signal}{616}{abort signal} +-\entry{program termination signals}{616}{program termination signals} +-\entry{termination signal}{616}{termination signal} +-\entry{interrupt signal}{616}{interrupt signal} +-\entry{quit signal}{616}{quit signal} +-\entry{quit signal}{616}{quit signal} +-\entry{kill signal}{617}{kill signal} +-\entry{hangup signal}{617}{hangup signal} +-\entry{alarm signal}{617}{alarm signal} +-\entry{virtual time alarm signal}{618}{virtual time alarm signal} +-\entry{profiling alarm signal}{618}{profiling alarm signal} +-\entry{input available signal}{618}{input available signal} +-\entry{output possible signal}{618}{output possible signal} +-\entry{urgent data signal}{618}{urgent data signal} +-\entry{job control signals}{618}{job control signals} +-\entry{child process signal}{618}{child process signal} +-\entry{continue signal}{619}{continue signal} +-\entry{stop signal}{619}{stop signal} +-\entry{interactive stop signal}{619}{interactive stop signal} +-\entry{terminal input signal}{619}{terminal input signal} +-\entry{terminal output signal}{619}{terminal output signal} +-\entry{pipe signal}{620}{pipe signal} +-\entry{broken pipe signal}{620}{broken pipe signal} +-\entry{lost resource signal}{620}{lost resource signal} +-\entry{user signals}{621}{user signals} +-\entry{signal messages}{621}{signal messages} +-\entry{signal actions}{622}{signal actions} +-\entry{establishing a handler}{622}{establishing a handler} +-\entry{signal function}{622}{\code {signal} function} +-\entry{default action for a signal}{622}{default action for a signal} +-\entry{ignore action for a signal}{622}{ignore action for a signal} +-\entry{sigaction function}{624}{\code {sigaction} function} +-\entry{signal flags}{627}{signal flags} +-\entry{flags for sigaction}{627}{flags for \code {sigaction}} +-\entry{sigaction flags}{627}{\code {sigaction} flags} +-\entry{initial signal actions}{627}{initial signal actions} +-\entry{signal handler function}{628}{signal handler function} +-\entry{non-local exit, from signal handler}{630}{non-local exit, from signal handler} +-\entry{race conditions, relating to signals}{631}{race conditions, relating to signals} +-\entry{handling multiple signals}{632}{handling multiple signals} +-\entry{successive signals}{632}{successive signals} +-\entry{merging of signals}{632}{merging of signals} +-\entry{restrictions on signal handler functions}{634}{restrictions on signal handler functions} +-\entry{volatile declarations}{634}{\code {volatile} declarations} +-\entry{reentrant functions}{635}{reentrant functions} +-\entry{EINTR, and restarting interrupted primitives}{639}{EINTR, and restarting interrupted primitives} +-\entry{restarting interrupted primitives}{639}{restarting interrupted primitives} +-\entry{interrupting primitives}{639}{interrupting primitives} +-\entry{primitives, interrupting}{639}{primitives, interrupting} +-\entry{sending signals}{639}{sending signals} +-\entry{raising signals}{639}{raising signals} +-\entry{signals, generating}{639}{signals, generating} +-\entry{killing a process}{640}{killing a process} +-\entry{interprocess communication, with signals}{642}{interprocess communication, with signals} +-\entry{blocking signals}{643}{blocking signals} +-\entry{signal set}{644}{signal set} +-\entry{signal mask}{645}{signal mask} +-\entry{process signal mask}{645}{process signal mask} +-\entry{blocking signals, in a handler}{646}{blocking signals, in a handler} +-\entry{pending signals, checking for}{647}{pending signals, checking for} +-\entry{blocked signals, checking for}{647}{blocked signals, checking for} +-\entry{checking for pending signals}{647}{checking for pending signals} +-\entry{timing error in signal handling}{649}{timing error in signal handling} +-\entry{waiting for a signal}{650}{waiting for a signal} +-\entry{pause function}{650}{\code {pause} function} +-\entry{process}{657}{process} +-\entry{program}{657}{program} +-\entry{address space}{657}{address space} +-\entry{thread of control}{657}{thread of control} +-\entry{program arguments}{657}{program arguments} +-\entry{command line arguments}{657}{command line arguments} +-\entry{arguments, to program}{657}{arguments, to program} +-\entry{program startup}{657}{program startup} +-\entry{startup of program}{657}{startup of program} +-\entry{invocation of program}{657}{invocation of program} +-\entry{main function}{657}{\code {main} function} +-\entry{argc (program argument count)}{657}{argc (program argument count)} +-\entry{argv (program argument vector)}{657}{argv (program argument vector)} +-\entry{program argument syntax}{658}{program argument syntax} +-\entry{syntax, for program arguments}{658}{syntax, for program arguments} +-\entry{command argument syntax}{658}{command argument syntax} +-\entry{long-named options}{658}{long-named options} +-\entry{program arguments, parsing}{659}{program arguments, parsing} +-\entry{command arguments, parsing}{659}{command arguments, parsing} +-\entry{parsing program arguments}{659}{parsing program arguments} +-\entry{argp (program argument parser)}{666}{argp (program argument parser)} +-\entry{argument parsing with argp}{666}{argument parsing with argp} +-\entry{option parsing with argp}{666}{option parsing with argp} +-\entry{argp parser functions}{671}{argp parser functions} +-\entry{usage messages, in argp}{673}{usage messages, in argp} +-\entry{syntax error messages, in argp}{674}{syntax error messages, in argp} +-\entry{error messages, in argp}{674}{error messages, in argp} +-\entry{ARGP_HELP_FMT environment variable}{688}{ARGP_HELP_FMT environment variable} +-\entry{environment variable}{691}{environment variable} +-\entry{environment}{691}{environment} +-\entry{environment access}{691}{environment access} +-\entry{environment representation}{691}{environment representation} +-\entry{standard environment variables}{693}{standard environment variables} +-\entry{HOME environment variable}{693}{\code {HOME} environment variable} +-\entry{home directory}{693}{home directory} +-\entry{LOGNAME environment variable}{693}{\code {LOGNAME} environment variable} +-\entry{PATH environment variable}{693}{\code {PATH} environment variable} +-\entry{TERM environment variable}{694}{\code {TERM} environment variable} +-\entry{TZ environment variable}{694}{\code {TZ} environment variable} +-\entry{LANG environment variable}{694}{\code {LANG} environment variable} +-\entry{LC_ALL environment variable}{694}{\code {LC_ALL} environment variable} +-\entry{LC_COLLATE environment variable}{694}{\code {LC_COLLATE} environment variable} +-\entry{LC_CTYPE environment variable}{694}{\code {LC_CTYPE} environment variable} +-\entry{LC_MESSAGES environment variable}{694}{\code {LC_MESSAGES} environment variable} +-\entry{LC_MONETARY environment variable}{694}{\code {LC_MONETARY} environment variable} +-\entry{LC_NUMERIC environment variable}{694}{\code {LC_NUMERIC} environment variable} +-\entry{LC_TIME environment variable}{694}{\code {LC_TIME} environment variable} +-\entry{NLSPATH environment variable}{694}{\code {NLSPATH} environment variable} +-\entry{_POSIX_OPTION_ORDER environment variable.}{695}{\code {_POSIX_OPTION_ORDER} environment variable.} +-\entry{system call}{695}{system call} +-\entry{kernel call}{695}{kernel call} +-\entry{system call number}{695}{system call number} +-\entry{errno}{695}{errno} +-\entry{program termination}{696}{program termination} +-\entry{process termination}{696}{process termination} +-\entry{exit status value}{696}{exit status value} +-\entry{exit status}{697}{exit status} +-\entry{aborting a program}{699}{aborting a program} +-\entry{process}{701}{process} +-\entry{child process}{701}{child process} +-\entry{parent process}{701}{parent process} +-\entry{running a command}{701}{running a command} +-\entry{process ID}{702}{process ID} +-\entry{process lifetime}{702}{process lifetime} +-\entry{creating a process}{702}{creating a process} +-\entry{forking a process}{702}{forking a process} +-\entry{child process}{702}{child process} +-\entry{parent process}{702}{parent process} +-\entry{process image}{702}{process image} +-\entry{executing a file}{704}{executing a file} +-\entry{exec functions}{704}{\code {exec} functions} +-\entry{process completion}{706}{process completion} +-\entry{waiting for completion of child process}{706}{waiting for completion of child process} +-\entry{testing exit status of child process}{706}{testing exit status of child process} +-\entry{process groups}{713}{process groups} +-\entry{job control}{713}{job control} +-\entry{job}{713}{job} +-\entry{session}{713}{session} +-\entry{shell}{713}{shell} +-\entry{session}{713}{session} +-\entry{session leader}{713}{session leader} +-\entry{controlling terminal}{713}{controlling terminal} +-\entry{foreground job}{713}{foreground job} +-\entry{background job}{713}{background job} +-\entry{stopped job}{714}{stopped job} +-\entry{job control is optional}{714}{job control is optional} +-\entry{controlling process}{714}{controlling process} +-\entry{controlling terminal, access to}{714}{controlling terminal, access to} +-\entry{SIGTTIN, from background job}{714}{\code {SIGTTIN}, from background job} +-\entry{SIGTTOU, from background job}{715}{\code {SIGTTOU}, from background job} +-\entry{orphaned process group}{715}{orphaned process group} +-\entry{job control, enabling}{717}{job control, enabling} +-\entry{subshell}{717}{subshell} +-\entry{job control, enabling}{717}{job control, enabling} +-\entry{launching jobs}{718}{launching jobs} +-\entry{process group leader}{719}{process group leader} +-\entry{process group ID}{719}{process group ID} +-\entry{race conditions, relating to job control}{719}{race conditions, relating to job control} +-\entry{foreground job, launching}{722}{foreground job, launching} +-\entry{background job, launching}{722}{background job, launching} +-\entry{stopped jobs, detecting}{723}{stopped jobs, detecting} +-\entry{terminated jobs, detecting}{723}{terminated jobs, detecting} +-\entry{SIGCHLD, handling of}{723}{\code {SIGCHLD}, handling of} +-\entry{stopped jobs, continuing}{726}{stopped jobs, continuing} +-\entry{process group functions}{728}{process group functions} +-\entry{job control functions}{728}{job control functions} +-\entry{controlling terminal, determining}{728}{controlling terminal, determining} +-\entry{BSD compatibility library}{729}{BSD compatibility library} +-\entry{Name Service Switch}{733}{Name Service Switch} +-\entry{NSS}{733}{NSS} +-\entry{databases}{733}{databases} +-\entry{ethers}{733}{ethers} +-\entry{group}{733}{group} +-\entry{hosts}{733}{hosts} +-\entry{netgroup}{733}{netgroup} +-\entry{networks}{733}{networks} +-\entry{protocols}{733}{protocols} +-\entry{passwd}{733}{passwd} +-\entry{rpc}{733}{rpc} +-\entry{services}{733}{services} +-\entry{shadow}{733}{shadow} +-\entry{/etc/nsswitch.conf}{734}{\file {/etc/nsswitch.conf}} +-\entry{nsswitch.conf}{734}{\file {nsswitch.conf}} +-\entry{DNS server unavailable}{735}{DNS server unavailable} +-\entry{nisplus, and completeness}{735}{nisplus, and completeness} +-\entry{nisplus, and booting}{735}{nisplus, and booting} +-\entry{bootstrapping, and services}{735}{bootstrapping, and services} +-\entry{default value, and NSS}{736}{default value, and NSS} +-\entry{optimizing NSS}{736}{optimizing NSS} +-\entry{reentrant NSS functions}{737}{reentrant NSS functions} +-\entry{login name}{743}{login name} +-\entry{user name}{743}{user name} +-\entry{user ID}{743}{user ID} +-\entry{group name}{743}{group name} +-\entry{group ID}{743}{group ID} +-\entry{persona}{743}{persona} +-\entry{effective user ID}{743}{effective user ID} +-\entry{effective group ID}{743}{effective group ID} +-\entry{supplementary group IDs}{743}{supplementary group IDs} +-\entry{real user ID}{743}{real user ID} +-\entry{real group ID}{743}{real group ID} +-\entry{setuid programs}{744}{\code {setuid} programs} +-\entry{saved set-user-ID}{744}{saved set-user-ID} +-\entry{saved set-group-ID}{744}{saved set-group-ID} +-\entry{_POSIX_SAVED_IDS}{744}{\code {_POSIX_SAVED_IDS}} +-\entry{login name, determining}{753}{login name, determining} +-\entry{user ID, determining}{753}{user ID, determining} +-\entry{user accounting database}{753}{user accounting database} +-\entry{user database}{761}{user database} +-\entry{password database}{761}{password database} +-\entry{converting user ID to user name}{762}{converting user ID to user name} +-\entry{converting user name to user ID}{762}{converting user name to user ID} +-\entry{scanning the user list}{762}{scanning the user list} +-\entry{group database}{764}{group database} +-\entry{converting group name to group ID}{764}{converting group name to group ID} +-\entry{converting group ID to group name}{764}{converting group ID to group name} +-\entry{scanning the group list}{765}{scanning the group list} +-\entry{Netgroup}{767}{Netgroup} +-\entry{host name}{771}{host name} +-\entry{DNS}{771}{DNS} +-\entry{Domain Name System}{771}{Domain Name System} +-\entry{hostname}{771}{hostname} +-\entry{domain name}{771}{domain name} +-\entry{FQDN}{771}{FQDN} +-\entry{YP}{771}{YP} +-\entry{NIS}{771}{NIS} +-\entry{NIS domain name}{771}{NIS domain name} +-\entry{YP domain name}{771}{YP domain name} +-\entry{/etc/hostname}{772}{/etc/hostname} +-\entry{NIS domain name}{772}{NIS domain name} +-\entry{YP domain name}{772}{YP domain name} +-\entry{NIS domain name}{772}{NIS domain name} +-\entry{YP domain name}{772}{YP domain name} +-\entry{POSIX capacity limits}{787}{POSIX capacity limits} +-\entry{limits, POSIX}{787}{limits, POSIX} +-\entry{capacity limits, POSIX}{787}{capacity limits, POSIX} +-\entry{limits, program argument size}{787}{limits, program argument size} +-\entry{limits, number of processes}{787}{limits, number of processes} +-\entry{limits, number of open files}{787}{limits, number of open files} +-\entry{limits, time zone name length}{787}{limits, time zone name length} +-\entry{limits, number of supplementary group IDs}{787}{limits, number of supplementary group IDs} +-\entry{POSIX optional features}{788}{POSIX optional features} +-\entry{optional POSIX features}{788}{optional POSIX features} +-\entry{limits, link count of files}{799}{limits, link count of files} +-\entry{limits, terminal input queue}{799}{limits, terminal input queue} +-\entry{limits, file name length}{800}{limits, file name length} +-\entry{limits, pipe buffer size}{800}{limits, pipe buffer size} +-\entry{backtrace}{817}{backtrace} +-\entry{backtrace_symbols}{817}{backtrace_symbols} +-\entry{backtrace_fd}{817}{backtrace_fd} +-\entry{consistency checking}{841}{consistency checking} +-\entry{impossible events}{841}{impossible events} +-\entry{assertions}{841}{assertions} +-\entry{variable number of arguments}{842}{variable number of arguments} +-\entry{variadic functions}{842}{variadic functions} +-\entry{optional arguments}{842}{optional arguments} +-\entry{function prototypes (variadic)}{843}{function prototypes (variadic)} +-\entry{prototypes for variadic functions}{843}{prototypes for variadic functions} +-\entry{variadic function prototypes}{843}{variadic function prototypes} +-\entry{variadic function argument access}{844}{variadic function argument access} +-\entry{arguments (variadic functions)}{844}{arguments (variadic functions)} +-\entry{number of arguments passed}{844}{number of arguments passed} +-\entry{how many arguments}{844}{how many arguments} +-\entry{arguments, how many}{844}{arguments, how many} +-\entry{variadic functions, calling}{845}{variadic functions, calling} +-\entry{calling variadic functions}{845}{calling variadic functions} +-\entry{declaring variadic functions}{845}{declaring variadic functions} +-\entry{default argument promotions}{845}{default argument promotions} +-\entry{argument promotion}{845}{argument promotion} +-\entry{null pointer constant}{848}{null pointer constant} +-\entry{integer type width}{850}{integer type width} +-\entry{width of integer type}{850}{width of integer type} +-\entry{type measurements, integer}{850}{type measurements, integer} +-\entry{integer type range}{850}{integer type range} +-\entry{range of integer type}{850}{range of integer type} +-\entry{limits, integer types}{850}{limits, integer types} +-\entry{floating type measurements}{851}{floating type measurements} +-\entry{measurements of floating types}{851}{measurements of floating types} +-\entry{type measurements, floating}{851}{type measurements, floating} +-\entry{limits, floating types}{851}{limits, floating types} +-\entry{sign (of floating point number)}{852}{sign (of floating point number)} +-\entry{base (of floating point number)}{852}{base (of floating point number)} +-\entry{radix (of floating point number)}{852}{radix (of floating point number)} +-\entry{exponent (of floating point number)}{852}{exponent (of floating point number)} +-\entry{bias (of floating point number exponent)}{852}{bias (of floating point number exponent)} +-\entry{mantissa (of floating point number)}{852}{mantissa (of floating point number)} +-\entry{significand (of floating point number)}{852}{significand (of floating point number)} +-\entry{precision (of floating point number)}{852}{precision (of floating point number)} +-\entry{hidden bit (of floating point number mantissa)}{852}{hidden bit (of floating point number mantissa)} +-\entry{normalized floating point number}{852}{normalized floating point number} +-\entry{IEEE floating point representation}{856}{IEEE floating point representation} +-\entry{floating point, IEEE}{856}{floating point, IEEE} +-\entry{configuring}{993}{configuring} +-\entry{compiling}{993}{compiling} +-\entry{installing}{996}{installing} +-\entry{installation tools}{997}{installation tools} +-\entry{tools, for installing library}{997}{tools, for installing library} +-\entry{configurations, all supported}{998}{configurations, all supported} +-\entry{upgrading from libc5}{999}{upgrading from libc5} +-\entry{kernel header files}{999}{kernel header files} +-\entry{reporting bugs}{1000}{reporting bugs} +-\entry{bugs, reporting}{1000}{bugs, reporting} +-\entry{free documentation}{1015}{free documentation} +-\entry{LGPL, Lesser General Public License}{1017}{LGPL, Lesser General Public License} +-\entry{FDL, GNU Free Documentation License}{1027}{FDL, GNU Free Documentation License} +diff -u -udbrN glibc-2.3.2/manual/libc.cps glibc-2.3.2-200304020432/manual/libc.cps +--- glibc-2.3.2/manual/libc.cps Tue Feb 25 11:34:58 2003 ++++ glibc-2.3.2-200304020432/manual/libc.cps Thu Jan 1 01:00:00 1970 +@@ -1,1034 +0,0 @@ +-\initial {/} +-\entry {/etc/hostname}{772} +-\entry {\file {/etc/nsswitch.conf}}{734} +-\initial {_} +-\entry {__va_copy}{85} +-\entry {\code {_POSIX_OPTION_ORDER} environment variable.}{695} +-\entry {\code {_POSIX_SAVED_IDS}}{744} +-\initial {4} +-\entry {4.\var {n} BSD Unix}{3} +-\initial {A} +-\entry {abort signal}{616} +-\entry {aborting a program}{699} +-\entry {absolute file name}{228} +-\entry {absolute priority}{589} +-\entry {absolute value functions}{530} +-\entry {accepting connections}{426} +-\entry {access permission for a file}{380} +-\entry {access, testing for}{382} +-\entry {accessing directories}{353} +-\entry {address of socket}{401} +-\entry {address space}{598, 657} +-\entry {alarm signal}{617} +-\entry {alarms, setting}{578} +-\entry {alignment (in obstacks)}{56} +-\entry {alignment (with \code {malloc})}{38} +-\entry {\code {alloca} disadvantages}{61} +-\entry {\code {alloca} function}{59} +-\entry {allocating pseudo-terminals}{468} +-\entry {allocation (obstacks)}{51} +-\entry {allocation debugging}{45} +-\entry {allocation hooks, for \code {malloc}}{41} +-\entry {allocation of memory with \code {malloc}}{34} +-\entry {allocation size of string}{76} +-\entry {allocation statistics}{43} +-\entry {alphabetic character}{67, 70} +-\entry {alphanumeric character}{68, 70} +-\entry {append-access files}{227} +-\entry {argc (program argument count)}{657} +-\entry {argp (program argument parser)}{666} +-\entry {argp parser functions}{671} +-\entry {ARGP_HELP_FMT environment variable}{688} +-\entry {argument parsing with argp}{666} +-\entry {argument promotion}{845} +-\entry {argument vectors, null-character separated}{107} +-\entry {arguments (variadic functions)}{844} +-\entry {arguments, how many}{844} +-\entry {arguments, to program}{657} +-\entry {argv (program argument vector)}{657} +-\entry {argz vectors (string vectors)}{107} +-\entry {arithmetic expansion}{219} +-\entry {array comparison functions}{89} +-\entry {array copy functions}{79} +-\entry {array search function}{195} +-\entry {array sort function}{196} +-\entry {ASCII character}{68} +-\entry {assertions}{841} +-\entry {attributes of a file}{370} +-\entry {automatic freeing}{59} +-\entry {automatic memory allocation}{33} +-\entry {automatic storage class}{33} +-\entry {automatic storage with variable size}{59} +-\initial {B} +-\entry {background job}{713} +-\entry {background job, launching}{722} +-\entry {backtrace}{817} +-\entry {backtrace_fd}{817} +-\entry {backtrace_symbols}{817} +-\entry {base (of floating point number)}{852} +-\entry {baud rate}{457} +-\entry {Berkeley Unix}{3} +-\entry {Bessel functions}{488} +-\entry {bias (of floating point number exponent)}{852} +-\entry {big-endian}{418} +-\entry {binary I/O to a stream}{249} +-\entry {binary search function (for arrays)}{195} +-\entry {binary stream}{283} +-\entry {binding a socket address}{401} +-\entry {blank character}{68, 72} +-\entry {block I/O to a stream}{249} +-\entry {blocked signals}{612} +-\entry {blocked signals, checking for}{647} +-\entry {blocking signals}{643} +-\entry {blocking signals, in a handler}{646} +-\entry {bootstrapping, and services}{735} +-\entry {break condition, detecting}{451} +-\entry {break condition, generating}{465} +-\entry {breaking a string into tokens}{100} +-\entry {broken pipe signal}{620} +-\entry {broken-down time}{553, 556} +-\entry {BSD compatibility library}{729} +-\entry {BSD compatibility library.}{8} +-\entry {BSD Unix}{3} +-\entry {buffering of streams}{288} +-\entry {buffering, controlling}{290} +-\entry {bugs, reporting}{1000} +-\entry {bus error}{616} +-\entry {butterfly}{538} +-\entry {byte order conversion, for socket}{418} +-\entry {byte stream}{399} +-\initial {C} +-\entry {C++ streams}{239} +-\entry {calendar time}{549} +-\entry {calendar time and broken-down time}{556} +-\entry {calendar, Gregorian}{553} +-\entry {calling variadic functions}{845} +-\entry {canonical input processing}{446} +-\entry {capacity limits, POSIX}{787} +-\entry {carrier detect}{453} +-\entry {case conversion of characters}{69} +-\entry {catching signals}{612} +-\entry {categories for locales}{154} +-\entry {change working directory}{351} +-\entry {changing the locale}{155} +-\entry {changing the size of a block (\code {malloc})}{36} +-\entry {changing the size of a block (obstacks)}{53} +-\entry {channels}{314} +-\entry {character case conversion}{69} +-\entry {character predicates}{67} +-\entry {character testing}{67} +-\entry {checking for pending signals}{647} +-\entry {child process}{552, 701, 702} +-\entry {child process signal}{618} +-\entry {chunks}{57} +-\entry {classes, floating-point}{520} +-\entry {classification of characters}{67} +-\entry {cleaning up a stream}{314} +-\entry {clearing terminal input queue}{465} +-\entry {client}{424} +-\entry {clock ticks}{551} +-\entry {clock, high accuracy}{559} +-\entry {close-on-exec (file descriptor flag)}{339} +-\entry {closing a file descriptor}{303} +-\entry {closing a socket}{422} +-\entry {closing a stream}{235} +-\entry {collating strings}{92} +-\entry {combining locales}{154} +-\entry {command argument syntax}{658} +-\entry {command arguments, parsing}{659} +-\entry {command line arguments}{657} +-\entry {command substitution}{219} +-\entry {communication style (of a socket)}{399} +-\entry {comparing strings and arrays}{89} +-\entry {Comparison Function}{195} +-\entry {compiling}{993} +-\entry {complex exponentiation functions}{485} +-\entry {complex logarithm functions}{485} +-\entry {complex numbers}{538} +-\entry {complex trigonometric functions}{481} +-\entry {concatenating strings}{79} +-\entry {configurations, all supported}{998} +-\entry {configuring}{993} +-\entry {conjugate complex numbers}{539} +-\entry {connecting a socket}{424} +-\entry {connection}{424} +-\entry {consistency checking}{841} +-\entry {consistency checking, of heap}{39} +-\entry {constants}{32, 479} +-\entry {continue signal}{619} +-\entry {control character}{68, 71} +-\entry {control operations on files}{336} +-\entry {controlling process}{714} +-\entry {controlling terminal}{713} +-\entry {controlling terminal, access to}{714} +-\entry {controlling terminal, determining}{728} +-\entry {controlling terminal, setting}{342} +-\entry {conversion specifications (\code {printf})}{250} +-\entry {conversion specifications (\code {scanf})}{272} +-\entry {converting byte order}{418} +-\entry {converting case of characters}{69} +-\entry {converting file descriptor to stream}{313} +-\entry {converting floats to integers}{532} +-\entry {converting group ID to group name}{764} +-\entry {converting group name to group ID}{764} +-\entry {converting host address to name}{413} +-\entry {converting host name to address}{413} +-\entry {converting network name to network number}{443} +-\entry {converting network number to network name}{443} +-\entry {converting port number to service name}{417} +-\entry {converting service name to port number}{417} +-\entry {converting string to collation order}{93} +-\entry {converting strings to numbers}{539} +-\entry {converting user ID to user name}{762} +-\entry {converting user name to user ID}{762} +-\entry {cookie, for custom stream}{295} +-\entry {copy-on-write page fault}{63} +-\entry {copying strings and arrays}{79} +-\entry {cpu priority}{589} +-\entry {CPU time}{549, 551, 552} +-\entry {create on open (file status flag)}{342} +-\entry {creating a directory}{369} +-\entry {creating a FIFO special file}{396} +-\entry {creating a pipe}{393} +-\entry {creating a pipe to a subprocess}{395} +-\entry {creating a process}{702} +-\entry {creating a socket}{422} +-\entry {creating a socket pair}{423} +-\entry {creating special files}{388} +-\entry {cube root function}{485} +-\entry {currency symbols}{159} +-\entry {current limit}{585} +-\entry {current working directory}{351} +-\entry {custom streams}{295} +-\entry {customizing \code {printf}}{266} +-\initial {D} +-\entry {data loss on sockets}{399} +-\entry {databases}{733} +-\entry {datagram socket}{435} +-\entry {datagrams, transmitting}{436} +-\entry {date}{549} +-\entry {Daylight Saving Time}{557} +-\entry {decimal digit character}{67} +-\entry {decimal-point separator}{158} +-\entry {declaration (compared to definition)}{4} +-\entry {declaring variadic functions}{845} +-\entry {decompose complex numbers}{539} +-\entry {default action (for a signal)}{612} +-\entry {default action for a signal}{622} +-\entry {default argument promotions}{845} +-\entry {default value, and NSS}{736} +-\entry {defining new \code {printf} conversions}{266} +-\entry {definition (compared to declaration)}{4} +-\entry {delayed suspend character}{461} +-\entry {deleting a directory}{368} +-\entry {deleting a file}{367} +-\entry {delivery of signals}{612} +-\entry {descriptors and streams}{314} +-\entry {digit character}{67, 71} +-\entry {directories, accessing}{353} +-\entry {directories, creating}{369} +-\entry {directories, deleting}{368} +-\entry {directory}{227} +-\entry {directory entry}{227} +-\entry {directory hierarchy}{360} +-\entry {directory stream}{353} +-\entry {disadvantages of \code {alloca}}{61} +-\entry {DISCARD character}{462} +-\entry {division by zero}{522} +-\entry {DNS}{771} +-\entry {DNS server unavailable}{735} +-\entry {domain (of socket)}{399} +-\entry {domain error}{526} +-\entry {domain name}{771} +-\entry {Domain Name System}{771} +-\entry {dot notation, for Internet addresses}{409} +-\entry {DSUSP character}{461} +-\entry {duplicating file descriptors}{337} +-\entry {dynamic memory allocation}{33} +-\initial {E} +-\entry {EBCDIC}{113} +-\entry {echo of terminal input}{455} +-\entry {effective group ID}{743} +-\entry {effective user ID}{743} +-\entry {efficiency and \code {malloc}}{37} +-\entry {efficiency and obstacks}{55} +-\entry {efficiency of chunks}{57} +-\entry {EINTR, and restarting interrupted primitives}{639} +-\entry {elapsed time}{549} +-\entry {encryption}{105} +-\entry {end of file, on a stream}{281} +-\entry {end-of-file, on a file descriptor}{306} +-\entry {environment}{691} +-\entry {environment access}{691} +-\entry {environment representation}{691} +-\entry {environment variable}{691} +-\entry {environment vectors, null-character separated}{107} +-\entry {envz vectors (environment vectors)}{107} +-\entry {EOF character}{458} +-\entry {EOL character}{459} +-\entry {EOL2 character}{459} +-\entry {epoch}{553} +-\entry {ERASE character}{459} +-\entry {errno}{695} +-\entry {error codes}{15} +-\entry {error messages, in argp}{674} +-\entry {error reporting}{15} +-\entry {errors, mathematical}{526} +-\entry {establishing a handler}{622} +-\entry {ethers}{733} +-\entry {EUC}{113} +-\entry {EUC-JP}{139} +-\entry {exception}{522, 614} +-\entry {exclusive lock}{345} +-\entry {\code {exec} functions}{704} +-\entry {execing a program}{32} +-\entry {executable}{32} +-\entry {executing a file}{704} +-\entry {exit status}{697} +-\entry {exit status value}{696} +-\entry {exiting a program}{32} +-\entry {expansion of shell words}{218} +-\entry {exponent (of floating point number)}{852} +-\entry {exponentiation functions}{483} +-\entry {extending \code {printf}}{266} +-\entry {extracting file descriptor from stream}{313} +-\initial {F} +-\entry {\code {fcntl} function}{336} +-\entry {FDL, GNU Free Documentation License}{1027} +-\entry {feature test macros}{7} +-\entry {field splitting}{219} +-\entry {FIFO special file}{393} +-\entry {file access permission}{380} +-\entry {file access time}{383} +-\entry {file attribute modification time}{383} +-\entry {file attributes}{370} +-\entry {file creation mask}{380} +-\entry {file descriptor flags}{339} +-\entry {file descriptor sets, for \code {select}}{321} +-\entry {file descriptors, standard}{313} +-\entry {file locks}{345} +-\entry {file modification time}{383} +-\entry {file name}{227} +-\entry {file name component}{227} +-\entry {file name errors}{229} +-\entry {file name resolution}{228} +-\entry {file name translation flags}{341} +-\entry {file names, multiple}{363} +-\entry {file owner}{377} +-\entry {file permission bits}{378} +-\entry {file pointer}{231} +-\entry {file position}{226} +-\entry {file positioning on a file descriptor}{310} +-\entry {file positioning on a stream}{284} +-\entry {file status flags}{340} +-\entry {files, accessing}{32} +-\entry {filtering i/o through subprocess}{395} +-\entry {flag character (\code {printf})}{252} +-\entry {flag character (\code {scanf})}{273} +-\entry {flags for \code {sigaction}}{627} +-\entry {flags, file name translation}{341} +-\entry {flags, open-time action}{342} +-\entry {floating point}{520} +-\entry {floating point, IEEE}{856} +-\entry {floating type measurements}{851} +-\entry {floating-point classes}{520} +-\entry {floating-point exception}{614} +-\entry {flow control, terminal}{466} +-\entry {flushing a stream}{289} +-\entry {flushing terminal output queue}{465} +-\entry {foreground job}{713} +-\entry {foreground job, launching}{722} +-\entry {forking a process}{702} +-\entry {format string, for \code {printf}}{250} +-\entry {format string, for \code {scanf}}{272} +-\entry {formatted input from a stream}{272} +-\entry {formatted messages}{297} +-\entry {formatted output to a stream}{250} +-\entry {FP arithmetic}{535} +-\entry {FQDN}{771} +-\entry {frame, real memory}{31} +-\entry {free documentation}{1015} +-\entry {freeing (obstacks)}{52} +-\entry {freeing memory}{32} +-\entry {freeing memory allocated with \code {malloc}}{35} +-\entry {fully buffered stream}{288} +-\entry {function prototypes (variadic)}{843} +-\initial {G} +-\entry {gamma function}{488} +-\entry {gcvt_r}{546} +-\entry {gencat}{176} +-\entry {generation of signals}{612} +-\entry {generic i/o control operations}{349} +-\entry {globbing}{206} +-\entry {graphic character}{68, 71} +-\entry {Gregorian calendar}{553} +-\entry {group}{733} +-\entry {group database}{764} +-\entry {group ID}{743} +-\entry {group name}{743} +-\entry {group owner of a file}{377} +-\entry {grouping of digits}{158} +-\entry {growing objects (in obstacks)}{53} +-\initial {H} +-\entry {handling multiple signals}{632} +-\entry {hangup signal}{617} +-\entry {hard limit}{585} +-\entry {hard link}{363} +-\entry {header files}{4} +-\entry {heap consistency checking}{39} +-\entry {heap, dynamic allocation from}{34} +-\entry {heap, freeing memory from}{35} +-\entry {hexadecimal digit character}{68, 72} +-\entry {hidden bit (of floating point number mantissa)}{852} +-\entry {hierarchy, directory}{360} +-\entry {high-priority data}{433} +-\entry {high-resolution time}{553} +-\entry {holes in files}{311} +-\entry {home directory}{693} +-\entry {\code {HOME} environment variable}{693} +-\entry {hook functions (of custom streams)}{296} +-\entry {host address, Internet}{409} +-\entry {host name}{771} +-\entry {hostname}{771} +-\entry {hosts}{733} +-\entry {hosts database}{413} +-\entry {how many arguments}{844} +-\entry {hyperbolic functions}{486, 487} +-\initial {I} +-\entry {identifying terminals}{445} +-\entry {IEEE 754}{520} +-\entry {IEEE floating point}{520} +-\entry {IEEE floating point representation}{856} +-\entry {IEEE Std 1003.1}{2} +-\entry {IEEE Std 1003.2}{2} +-\entry {ignore action for a signal}{622} +-\entry {illegal instruction}{615} +-\entry {impossible events}{841} +-\entry {independent channels}{314} +-\entry {inexact exception}{522} +-\entry {infinity}{524} +-\entry {initial signal actions}{627} +-\entry {inode number}{373} +-\entry {input available signal}{618} +-\entry {input conversions, for \code {scanf}}{274} +-\entry {input from multiple files}{321} +-\entry {installation tools}{997} +-\entry {installing}{996} +-\entry {integer}{517} +-\entry {integer division functions}{518} +-\entry {integer type range}{850} +-\entry {integer type width}{850} +-\entry {interactive signals, from terminal}{456} +-\entry {interactive stop signal}{619} +-\entry {internal representation}{111} +-\entry {internationalization}{153} +-\entry {Internet host address}{409} +-\entry {Internet namespace, for sockets}{407} +-\entry {interprocess communication, with FIFO}{396} +-\entry {interprocess communication, with pipes}{393} +-\entry {interprocess communication, with signals}{642} +-\entry {interprocess communication, with sockets}{399} +-\entry {interrupt character}{460} +-\entry {interrupt signal}{616} +-\entry {interrupt-driven input}{348} +-\entry {interrupting primitives}{639} +-\entry {interval}{549} +-\entry {interval timer, setting}{578} +-\entry {INTR character}{460} +-\entry {invalid exception}{522} +-\entry {inverse complex hyperbolic functions}{487} +-\entry {inverse complex trigonometric functions}{482} +-\entry {inverse hyperbolic functions}{487} +-\entry {inverse trigonometric functions}{481} +-\entry {invocation of program}{657} +-\entry {IOCTLs}{349} +-\entry {ISO 10646}{111} +-\entry {ISO 2022}{113} +-\entry {ISO 6937}{114} +-\entry {ISO C}{2} +-\entry {ISO-2022-JP}{139} +-\entry {ISO/IEC 9945-1}{2} +-\entry {ISO/IEC 9945-2}{2} +-\initial {J} +-\entry {job}{713} +-\entry {job control}{713} +-\entry {job control functions}{728} +-\entry {job control is optional}{714} +-\entry {job control signals}{618} +-\entry {job control, enabling}{717} +-\initial {K} +-\entry {Kermit the frog}{199} +-\entry {kernel call}{695} +-\entry {kernel header files}{999} +-\entry {KILL character}{460} +-\entry {kill signal}{617} +-\entry {killing a process}{640} +-\entry {Korn Shell}{206} +-\initial {L} +-\entry {LANG environment variable}{173} +-\entry {\code {LANG} environment variable}{694} +-\entry {launching jobs}{718} +-\entry {LC_ALL environment variable}{173} +-\entry {\code {LC_ALL} environment variable}{694} +-\entry {\code {LC_COLLATE} environment variable}{694} +-\entry {\code {LC_CTYPE} environment variable}{694} +-\entry {LC_MESSAGES environment variable}{173} +-\entry {\code {LC_MESSAGES} environment variable}{694} +-\entry {\code {LC_MONETARY} environment variable}{694} +-\entry {\code {LC_NUMERIC} environment variable}{694} +-\entry {\code {LC_TIME} environment variable}{694} +-\entry {leap second}{556} +-\entry {length of string}{76} +-\entry {level, for socket options}{441} +-\entry {LGPL, Lesser General Public License}{1017} +-\entry {library}{1} +-\entry {limit}{585} +-\entry {limits on resource usage}{585} +-\entry {limits, file name length}{800} +-\entry {limits, floating types}{851} +-\entry {limits, integer types}{850} +-\entry {limits, link count of files}{799} +-\entry {limits, number of open files}{787} +-\entry {limits, number of processes}{787} +-\entry {limits, number of supplementary group IDs}{787} +-\entry {limits, pipe buffer size}{800} +-\entry {limits, POSIX}{787} +-\entry {limits, program argument size}{787} +-\entry {limits, terminal input queue}{799} +-\entry {limits, time zone name length}{787} +-\entry {line buffered stream}{288} +-\entry {line speed}{457} +-\entry {lines (in a text file)}{283} +-\entry {link}{227} +-\entry {link, hard}{363} +-\entry {link, soft}{364} +-\entry {link, symbolic}{364} +-\entry {linked channels}{314} +-\entry {listening (sockets)}{425} +-\entry {literals}{32} +-\entry {little-endian}{418} +-\entry {LNEXT character}{462} +-\entry {load average}{600} +-\entry {local namespace, for sockets}{405} +-\entry {local network address number}{409} +-\entry {local time}{553} +-\entry {locale categories}{154} +-\entry {locale, changing}{155} +-\entry {locales}{153} +-\entry {locking pages}{62} +-\entry {logarithm functions}{483} +-\entry {login name}{743} +-\entry {login name, determining}{753} +-\entry {\code {LOGNAME} environment variable}{693} +-\entry {long jumps}{601} +-\entry {long-named options}{658} +-\entry {longjmp}{60} +-\entry {loss of data on sockets}{399} +-\entry {lost resource signal}{620} +-\entry {lower-case character}{67, 71} +-\initial {M} +-\entry {macros}{52} +-\entry {\code {main} function}{657} +-\entry {malloc debugger}{45} +-\entry {\code {malloc} function}{34} +-\entry {mantissa (of floating point number)}{852} +-\entry {matching failure, in \code {scanf}}{272} +-\entry {math errors}{490} +-\entry {mathematical constants}{479} +-\entry {maximum}{537} +-\entry {maximum field width (\code {scanf})}{273} +-\entry {maximum limit}{585} +-\entry {maximum possible integer}{518} +-\entry {measurements of floating types}{851} +-\entry {memory allocation}{31} +-\entry {memory lock}{62} +-\entry {memory mapped file}{32} +-\entry {memory mapped I/O}{32} +-\entry {memory page}{598} +-\entry {merging of signals}{632} +-\entry {MIN termios slot}{463} +-\entry {minimum}{537} +-\entry {minimum field width (\code {printf})}{252} +-\entry {minimum possible integer}{518} +-\entry {mixing descriptors and streams}{314} +-\entry {modem disconnect}{453} +-\entry {modem status lines}{453} +-\entry {monetary value formatting}{158} +-\entry {multi-threaded application}{236} +-\entry {multibyte character}{113} +-\entry {multibyte character string}{75} +-\entry {multibyte string}{76} +-\entry {multiple names for one file}{363} +-\entry {multiplexing input}{321} +-\entry {multiply-add}{537} +-\initial {N} +-\entry {name of running program}{27} +-\entry {name of socket}{401} +-\entry {Name Service Switch}{733} +-\entry {name space}{6} +-\entry {names of signals}{613} +-\entry {namespace (of socket)}{399} +-\entry {NaN}{524, 536} +-\entry {netgroup}{733} +-\entry {Netgroup}{767} +-\entry {network byte order}{418} +-\entry {network number}{409} +-\entry {network protocol}{399} +-\entry {networks}{733} +-\entry {networks database}{443} +-\entry {NIS}{771} +-\entry {NIS domain name}{771, 772} +-\entry {nisplus, and booting}{735} +-\entry {nisplus, and completeness}{735} +-\entry {NLSPATH environment variable}{172} +-\entry {\code {NLSPATH} environment variable}{694} +-\entry {non-blocking open}{342} +-\entry {non-local exit, from signal handler}{630} +-\entry {non-local exits}{601} +-\entry {noncanonical input processing}{446} +-\entry {normalization functions (floating-point)}{531} +-\entry {normalized floating point number}{852} +-\entry {not a number}{524} +-\entry {NSS}{733} +-\entry {\file {nsswitch.conf}}{734} +-\entry {null character}{75} +-\entry {null pointer constant}{848} +-\entry {null wide character}{75} +-\entry {number of arguments passed}{844} +-\entry {number syntax, parsing}{539} +-\entry {numeric value formatting}{158} +-\initial {O} +-\entry {obstack status}{56} +-\entry {obstacks}{49} +-\entry {open-time action flags}{342} +-\entry {opening a file}{225} +-\entry {opening a file descriptor}{303} +-\entry {opening a pipe}{393} +-\entry {opening a pseudo-terminal pair}{470} +-\entry {opening a socket}{422} +-\entry {opening a socket pair}{423} +-\entry {opening a stream}{232} +-\entry {Optimization}{515} +-\entry {optimizing NSS}{736} +-\entry {option parsing with argp}{666} +-\entry {optional arguments}{842} +-\entry {optional POSIX features}{788} +-\entry {orientation, stream}{233, 240} +-\entry {orphaned process group}{715} +-\entry {out-of-band data}{433} +-\entry {output conversions, for \code {printf}}{252} +-\entry {output possible signal}{618} +-\entry {overflow exception}{522} +-\entry {owner of a file}{377} +-\initial {P} +-\entry {packet}{399} +-\entry {page boundary}{38} +-\entry {page fault}{31} +-\entry {page fault, copy-on-write}{63} +-\entry {page frame}{31} +-\entry {page, memory}{598} +-\entry {page, virtual memory}{31} +-\entry {paging}{31, 62} +-\entry {parameter promotion}{77} +-\entry {parent directory}{228} +-\entry {parent process}{701, 702} +-\entry {parity checking}{450} +-\entry {parsing a template string}{263} +-\entry {parsing numbers (in formatted input)}{539} +-\entry {parsing program arguments}{659} +-\entry {parsing tokens from a string}{100} +-\entry {passwd}{733} +-\entry {password database}{761} +-\entry {\code {PATH} environment variable}{693} +-\entry {\code {pause} function}{650} +-\entry {peeking at input}{247} +-\entry {pending signals}{612} +-\entry {pending signals, checking for}{647} +-\entry {period of time}{549} +-\entry {permission to access a file}{380} +-\entry {persona}{743} +-\entry {physical address}{598} +-\entry {physical memory}{598} +-\entry {pi (trigonometric constant)}{480} +-\entry {pipe}{393} +-\entry {pipe signal}{620} +-\entry {pipe to a subprocess}{395} +-\entry {port number}{416} +-\entry {positioning a file descriptor}{310} +-\entry {positioning a stream}{284} +-\entry {positive difference}{537} +-\entry {POSIX}{2} +-\entry {POSIX capacity limits}{787} +-\entry {POSIX optional features}{788} +-\entry {POSIX.1}{2} +-\entry {POSIX.2}{2} +-\entry {power functions}{483} +-\entry {precision (of floating point number)}{852} +-\entry {precision (\code {printf})}{252} +-\entry {predicates on arrays}{89} +-\entry {predicates on characters}{67} +-\entry {predicates on strings}{89} +-\entry {preemptive scheduling}{590} +-\entry {primitives, interrupting}{639} +-\entry {printing character}{68, 71} +-\entry {priority of a process}{589} +-\entry {priority, absolute}{589} +-\entry {process}{657, 701} +-\entry {process completion}{706} +-\entry {process group functions}{728} +-\entry {process group ID}{719} +-\entry {process group leader}{719} +-\entry {process groups}{713} +-\entry {process ID}{702} +-\entry {process image}{702} +-\entry {process lifetime}{702} +-\entry {process priority}{589} +-\entry {process signal mask}{645} +-\entry {process termination}{696} +-\entry {processor time}{549, 552} +-\entry {profiling alarm signal}{618} +-\entry {profiling timer}{578} +-\entry {program}{657} +-\entry {program argument syntax}{658} +-\entry {program arguments}{657} +-\entry {program arguments, parsing}{659} +-\entry {program error signals}{613} +-\entry {program name}{27} +-\entry {program startup}{657} +-\entry {program termination}{696} +-\entry {program termination signals}{616} +-\entry {programming your own streams}{295} +-\entry {project complex numbers}{539} +-\entry {protocol (of socket)}{399} +-\entry {protocol family}{399} +-\entry {protocols}{733} +-\entry {protocols database}{419} +-\entry {prototypes for variadic functions}{843} +-\entry {pseudo-random numbers}{508} +-\entry {pseudo-terminals}{468} +-\entry {punctuation character}{68, 72} +-\entry {pushing input back}{247} +-\initial {Q} +-\entry {quick sort function (for arrays)}{196} +-\entry {QUIT character}{460} +-\entry {quit signal}{616} +-\entry {quote removal}{219} +-\initial {R} +-\entry {race conditions, relating to job control}{719} +-\entry {race conditions, relating to signals}{631} +-\entry {radix (of floating point number)}{852} +-\entry {raising signals}{639} +-\entry {random numbers}{508} +-\entry {random-access files}{226} +-\entry {range error}{526} +-\entry {range of integer type}{850} +-\entry {read lock}{345} +-\entry {reading from a directory}{353} +-\entry {reading from a file descriptor}{306} +-\entry {reading from a socket}{427} +-\entry {reading from a stream, by blocks}{249} +-\entry {reading from a stream, by characters}{243} +-\entry {reading from a stream, formatted}{272} +-\entry {ready to run}{590} +-\entry {real group ID}{743} +-\entry {real user ID}{743} +-\entry {real-time timer}{578} +-\entry {realtime CPU scheduling}{589} +-\entry {realtime processing}{62} +-\entry {realtime scheduling}{591} +-\entry {receiving datagrams}{436} +-\entry {record locking}{345} +-\entry {redirecting input and output}{337} +-\entry {reentrant functions}{635} +-\entry {reentrant NSS functions}{737} +-\entry {relative file name}{228} +-\entry {removal of quotes}{219} +-\entry {removing a file}{367} +-\entry {removing macros that shadow functions}{5} +-\entry {renaming a file}{368} +-\entry {reporting bugs}{1000} +-\entry {reporting errors}{15} +-\entry {REPRINT character}{460} +-\entry {reserved names}{6} +-\entry {resource limits}{585} +-\entry {restarting interrupted primitives}{639} +-\entry {restrictions on signal handler functions}{634} +-\entry {root directory}{228} +-\entry {Rot13}{105} +-\entry {rpc}{733} +-\entry {runnable process}{590} +-\entry {running a command}{701} +-\initial {S} +-\entry {saved set-group-ID}{744} +-\entry {saved set-user-ID}{744} +-\entry {scanning the group list}{765} +-\entry {scanning the user list}{762} +-\entry {scatter-gather}{315} +-\entry {scheduling, traditional}{595} +-\entry {search function (for arrays)}{195} +-\entry {search functions (for strings)}{96} +-\entry {seed (for random numbers)}{508} +-\entry {seeking on a file descriptor}{310} +-\entry {seeking on a stream}{284} +-\entry {segmentation violation}{615} +-\entry {sending a datagram}{436} +-\entry {sending signals}{639} +-\entry {sequential-access files}{226} +-\entry {server}{424} +-\entry {services}{733} +-\entry {services database}{417} +-\entry {session}{713} +-\entry {session leader}{713} +-\entry {setting an alarm}{578} +-\entry {\code {setuid} programs}{744} +-\entry {setuid programs and file access}{382} +-\entry {severity class}{298, 300} +-\entry {sgettext}{190} +-\entry {shadow}{733} +-\entry {shadowing functions with macros}{5} +-\entry {shared lock}{345} +-\entry {shared memory}{598} +-\entry {shell}{713} +-\entry {shift state}{116} +-\entry {Shift_JIS}{113} +-\entry {shrinking objects}{54} +-\entry {shutting down a socket}{422} +-\entry {\code {sigaction} flags}{627} +-\entry {\code {sigaction} function}{624} +-\entry {\code {SIGCHLD}, handling of}{723} +-\entry {sign (of floating point number)}{852} +-\entry {signal}{522, 611} +-\entry {signal action}{612} +-\entry {signal actions}{622} +-\entry {signal flags}{627} +-\entry {\code {signal} function}{622} +-\entry {signal handler function}{628} +-\entry {signal mask}{645} +-\entry {signal messages}{621} +-\entry {signal names}{613} +-\entry {signal number}{613} +-\entry {signal set}{644} +-\entry {signals, generating}{639} +-\entry {signedness}{517} +-\entry {significand (of floating point number)}{852} +-\entry {\code {SIGTTIN}, from background job}{714} +-\entry {\code {SIGTTOU}, from background job}{715} +-\entry {simple time}{553} +-\entry {single-byte string}{76} +-\entry {size of string}{76} +-\entry {SJIS}{113} +-\entry {socket}{399} +-\entry {socket address (name) binding}{401} +-\entry {socket domain}{399} +-\entry {socket namespace}{399} +-\entry {socket option level}{441} +-\entry {socket options}{441} +-\entry {socket pair}{423} +-\entry {socket protocol}{399} +-\entry {socket shutdown}{422} +-\entry {socket, client actions}{424} +-\entry {socket, closing}{422} +-\entry {socket, connecting}{424} +-\entry {socket, creating}{422} +-\entry {socket, initiating a connection}{424} +-\entry {sockets, accepting connections}{426} +-\entry {sockets, listening}{425} +-\entry {sockets, server actions}{425} +-\entry {soft limit}{585} +-\entry {soft link}{364} +-\entry {sort function (for arrays)}{196} +-\entry {sparse files}{311} +-\entry {special files}{388} +-\entry {special functions}{488} +-\entry {specified action (for a signal)}{612} +-\entry {speed of execution}{62} +-\entry {square root function}{485} +-\entry {stable sorting}{196} +-\entry {standard dot notation, for Internet addresses}{409} +-\entry {standard environment variables}{693} +-\entry {standard error file descriptor}{313} +-\entry {standard error stream}{232} +-\entry {standard file descriptors}{313} +-\entry {standard input file descriptor}{313} +-\entry {standard input stream}{231} +-\entry {standard output file descriptor}{313} +-\entry {standard output stream}{231} +-\entry {standard streams}{231} +-\entry {standards}{1} +-\entry {START character}{461} +-\entry {startup of program}{657} +-\entry {stateful}{116, 119, 124, 134, 136, 148} +-\entry {static memory allocation}{33} +-\entry {static storage class}{33} +-\entry {STATUS character}{462} +-\entry {status codes}{15} +-\entry {status of a file}{370} +-\entry {status of obstack}{56} +-\entry {sticky bit}{379} +-\entry {STOP character}{461} +-\entry {stop signal}{619} +-\entry {stopped job}{714} +-\entry {stopped jobs, continuing}{726} +-\entry {stopped jobs, detecting}{723} +-\entry {storage allocation}{31} +-\entry {stream (sockets)}{399} +-\entry {stream orientation}{233, 240} +-\entry {stream, for I/O to a string}{292} +-\entry {streams and descriptors}{314} +-\entry {streams, and file descriptors}{313} +-\entry {streams, C++}{239} +-\entry {streams, standard}{231} +-\entry {string}{75} +-\entry {string allocation}{76} +-\entry {string collation functions}{92} +-\entry {string comparison functions}{89} +-\entry {string concatenation functions}{79} +-\entry {string copy functions}{79} +-\entry {string length}{76} +-\entry {string literal}{75} +-\entry {string search functions}{96} +-\entry {string stream}{292} +-\entry {string vectors, null-character separated}{107} +-\entry {string, representation of}{75} +-\entry {style of communication (of a socket)}{399} +-\entry {subshell}{717} +-\entry {substitution of variables and commands}{219} +-\entry {successive signals}{632} +-\entry {summer time}{557} +-\entry {SunOS}{3} +-\entry {supplementary group IDs}{743} +-\entry {SUSP character}{460} +-\entry {suspend character}{460} +-\entry {SVID}{3} +-\entry {swap space}{31} +-\entry {symbolic link}{364} +-\entry {symbolic link, opening}{342} +-\entry {synchronizing}{323, 332} +-\entry {syntax error messages, in argp}{674} +-\entry {syntax, for program arguments}{658} +-\entry {syntax, for reading numbers}{539} +-\entry {sysconf}{599, 600} +-\entry {system call}{695} +-\entry {system call number}{695} +-\entry {System V Unix}{3} +-\initial {T} +-\entry {TCP (Internet protocol)}{419} +-\entry {template, for \code {printf}}{250} +-\entry {template, for \code {scanf}}{272} +-\entry {\code {TERM} environment variable}{694} +-\entry {terminal flow control}{466} +-\entry {terminal identification}{445} +-\entry {terminal input queue}{446} +-\entry {terminal input queue, clearing}{465} +-\entry {terminal input signal}{619} +-\entry {terminal line control functions}{465} +-\entry {terminal line speed}{457} +-\entry {terminal mode data types}{447} +-\entry {terminal mode functions}{448} +-\entry {terminal modes, BSD}{464} +-\entry {terminal output queue}{446} +-\entry {terminal output queue, flushing}{465} +-\entry {terminal output signal}{619} +-\entry {terminated jobs, detecting}{723} +-\entry {termination signal}{616} +-\entry {testing access permission}{382} +-\entry {testing exit status of child process}{706} +-\entry {text stream}{283} +-\entry {thrashing}{598} +-\entry {thread of control}{657} +-\entry {threads}{236} +-\entry {ticks, clock}{551} +-\entry {tilde expansion}{219} +-\entry {time}{549} +-\entry {TIME termios slot}{463} +-\entry {time zone}{575} +-\entry {time zone database}{576} +-\entry {time, elapsed}{549} +-\entry {time, high precision}{559} +-\entry {timer, profiling}{578} +-\entry {timer, real-time}{578} +-\entry {timer, virtual}{578} +-\entry {timers, setting}{578} +-\entry {timespec}{550} +-\entry {timeval}{550} +-\entry {timing error in signal handling}{649} +-\entry {TMPDIR environment variable}{390} +-\entry {tokenizing strings}{100} +-\entry {tools, for installing library}{997} +-\entry {transmitting datagrams}{436} +-\entry {tree, directory}{360} +-\entry {triangulation}{139} +-\entry {trigonometric functions}{480} +-\entry {type measurements, floating}{851} +-\entry {type measurements, integer}{850} +-\entry {type modifier character (\code {printf})}{252} +-\entry {type modifier character (\code {scanf})}{273} +-\entry {typeahead buffer}{446} +-\entry {\code {TZ} environment variable}{694} +-\initial {U} +-\entry {UCS-2}{111} +-\entry {UCS-4}{111} +-\entry {ulps}{490} +-\entry {umask}{380} +-\entry {unbuffered stream}{288} +-\entry {unconstrained memory allocation}{34} +-\entry {undefining macros that shadow functions}{5} +-\entry {underflow exception}{522} +-\entry {Unicode}{111} +-\entry {Unix, Berkeley}{3} +-\entry {Unix, System V}{3} +-\entry {unlinking a file}{367} +-\entry {unordered comparison}{536} +-\entry {unreading characters}{247} +-\entry {upgrading from libc5}{999} +-\entry {upper-case character}{67, 72} +-\entry {urgent data signal}{618} +-\entry {urgent socket condition}{433} +-\entry {usage limits}{585} +-\entry {usage messages, in argp}{673} +-\entry {user accounting database}{753} +-\entry {user database}{761} +-\entry {user ID}{743} +-\entry {user ID, determining}{753} +-\entry {user name}{743} +-\entry {user signals}{621} +-\entry {usual file name errors}{229} +-\entry {UTF-16}{111} +-\entry {UTF-7}{114} +-\entry {UTF-8}{111, 114} +-\initial {V} +-\entry {va_copy}{85} +-\entry {variable number of arguments}{842} +-\entry {variable substitution}{219} +-\entry {variable-sized arrays}{61} +-\entry {variadic function argument access}{844} +-\entry {variadic function prototypes}{843} +-\entry {variadic functions}{842} +-\entry {variadic functions, calling}{845} +-\entry {virtual time alarm signal}{618} +-\entry {virtual timer}{578} +-\entry {\code {volatile} declarations}{634} +-\initial {W} +-\entry {waiting for a signal}{650} +-\entry {waiting for completion of child process}{706} +-\entry {waiting for input or output}{321} +-\entry {WERASE character}{459} +-\entry {whitespace character}{68, 72} +-\entry {wide character}{111} +-\entry {wide character string}{75, 76} +-\entry {width of integer type}{850} +-\entry {wildcard expansion}{219} +-\entry {wint_t}{77} +-\entry {word expansion}{218} +-\entry {working directory}{351} +-\entry {write lock}{345} +-\entry {writing to a file descriptor}{308} +-\entry {writing to a socket}{427} +-\entry {writing to a stream, by blocks}{249} +-\entry {writing to a stream, by characters}{241} +-\entry {writing to a stream, formatted}{250} +-\initial {Y} +-\entry {YP}{771} +-\entry {YP domain name}{771, 772} +-\initial {Z} +-\entry {zero divide}{522} +diff -u -udbrN glibc-2.3.2/manual/libc.fn glibc-2.3.2-200304020432/manual/libc.fn +--- glibc-2.3.2/manual/libc.fn Tue Feb 25 11:35:07 2003 ++++ glibc-2.3.2-200304020432/manual/libc.fn Thu Jan 1 01:00:00 1970 +@@ -1,1335 +0,0 @@ +-\entry{strerror}{26}{\code {strerror}} +-\entry{strerror_r}{26}{\code {strerror_r}} +-\entry{perror}{26}{\code {perror}} +-\entry{error}{28}{\code {error}} +-\entry{error_at_line}{28}{\code {error_at_line}} +-\entry{warn}{30}{\code {warn}} +-\entry{vwarn}{30}{\code {vwarn}} +-\entry{warnx}{30}{\code {warnx}} +-\entry{vwarnx}{30}{\code {vwarnx}} +-\entry{err}{30}{\code {err}} +-\entry{verr}{30}{\code {verr}} +-\entry{errx}{30}{\code {errx}} +-\entry{verrx}{30}{\code {verrx}} +-\entry{malloc}{34}{\code {malloc}} +-\entry{free}{35}{\code {free}} +-\entry{cfree}{36}{\code {cfree}} +-\entry{realloc}{36}{\code {realloc}} +-\entry{calloc}{37}{\code {calloc}} +-\entry{memalign}{38}{\code {memalign}} +-\entry{posix_memalign}{38}{\code {posix_memalign}} +-\entry{valloc}{38}{\code {valloc}} +-\entry{mallopt}{39}{\code {mallopt}} +-\entry{mcheck}{39}{\code {mcheck}} +-\entry{mprobe}{40}{\code {mprobe}} +-\entry{mallinfo}{44}{\code {mallinfo}} +-\entry{mtrace}{45}{\code {mtrace}} +-\entry{muntrace}{46}{\code {muntrace}} +-\entry{obstack_chunk_alloc}{50}{\code {obstack_chunk_alloc}} +-\entry{obstack_chunk_free}{50}{\code {obstack_chunk_free}} +-\entry{obstack_init}{50}{\code {obstack_init}} +-\entry{obstack_alloc}{51}{\code {obstack_alloc}} +-\entry{obstack_copy}{51}{\code {obstack_copy}} +-\entry{obstack_copy0}{52}{\code {obstack_copy0}} +-\entry{obstack_free}{52}{\code {obstack_free}} +-\entry{obstack_blank}{53}{\code {obstack_blank}} +-\entry{obstack_grow}{53}{\code {obstack_grow}} +-\entry{obstack_grow0}{54}{\code {obstack_grow0}} +-\entry{obstack_1grow}{54}{\code {obstack_1grow}} +-\entry{obstack_ptr_grow}{54}{\code {obstack_ptr_grow}} +-\entry{obstack_int_grow}{54}{\code {obstack_int_grow}} +-\entry{obstack_finish}{54}{\code {obstack_finish}} +-\entry{obstack_object_size}{54}{\code {obstack_object_size}} +-\entry{obstack_room}{55}{\code {obstack_room}} +-\entry{obstack_1grow_fast}{55}{\code {obstack_1grow_fast}} +-\entry{obstack_ptr_grow_fast}{55}{\code {obstack_ptr_grow_fast}} +-\entry{obstack_int_grow_fast}{55}{\code {obstack_int_grow_fast}} +-\entry{obstack_blank_fast}{55}{\code {obstack_blank_fast}} +-\entry{obstack_base}{56}{\code {obstack_base}} +-\entry{obstack_next_free}{56}{\code {obstack_next_free}} +-\entry{obstack_object_size}{56}{\code {obstack_object_size}} +-\entry{obstack_alignment_mask}{57}{\code {obstack_alignment_mask}} +-\entry{obstack_chunk_size}{57}{\code {obstack_chunk_size}} +-\entry{alloca}{59}{\code {alloca}} +-\entry{brk}{62}{\code {brk}} +-\entry{sbrk}{62}{\code {sbrk}} +-\entry{mlock}{64}{\code {mlock}} +-\entry{munlock}{64}{\code {munlock}} +-\entry{mlockall}{64}{\code {mlockall}} +-\entry{munlockall}{65}{\code {munlockall}} +-\entry{islower}{67}{\code {islower}} +-\entry{isupper}{67}{\code {isupper}} +-\entry{isalpha}{67}{\code {isalpha}} +-\entry{isdigit}{68}{\code {isdigit}} +-\entry{isalnum}{68}{\code {isalnum}} +-\entry{isxdigit}{68}{\code {isxdigit}} +-\entry{ispunct}{68}{\code {ispunct}} +-\entry{isspace}{68}{\code {isspace}} +-\entry{isblank}{68}{\code {isblank}} +-\entry{isgraph}{68}{\code {isgraph}} +-\entry{isprint}{68}{\code {isprint}} +-\entry{iscntrl}{68}{\code {iscntrl}} +-\entry{isascii}{68}{\code {isascii}} +-\entry{tolower}{69}{\code {tolower}} +-\entry{toupper}{69}{\code {toupper}} +-\entry{toascii}{69}{\code {toascii}} +-\entry{_tolower}{69}{\code {_tolower}} +-\entry{_toupper}{69}{\code {_toupper}} +-\entry{wctype}{70}{\code {wctype}} +-\entry{iswctype}{70}{\code {iswctype}} +-\entry{iswalnum}{70}{\code {iswalnum}} +-\entry{iswalpha}{70}{\code {iswalpha}} +-\entry{iswcntrl}{71}{\code {iswcntrl}} +-\entry{iswdigit}{71}{\code {iswdigit}} +-\entry{iswgraph}{71}{\code {iswgraph}} +-\entry{iswlower}{71}{\code {iswlower}} +-\entry{iswprint}{71}{\code {iswprint}} +-\entry{iswpunct}{72}{\code {iswpunct}} +-\entry{iswspace}{72}{\code {iswspace}} +-\entry{iswupper}{72}{\code {iswupper}} +-\entry{iswxdigit}{72}{\code {iswxdigit}} +-\entry{iswblank}{72}{\code {iswblank}} +-\entry{wctrans}{74}{\code {wctrans}} +-\entry{towctrans}{74}{\code {towctrans}} +-\entry{towlower}{74}{\code {towlower}} +-\entry{towupper}{74}{\code {towupper}} +-\entry{strlen}{77}{\code {strlen}} +-\entry{wcslen}{78}{\code {wcslen}} +-\entry{strnlen}{78}{\code {strnlen}} +-\entry{wcsnlen}{79}{\code {wcsnlen}} +-\entry{memcpy}{79}{\code {memcpy}} +-\entry{wmemcpy}{79}{\code {wmemcpy}} +-\entry{mempcpy}{80}{\code {mempcpy}} +-\entry{wmempcpy}{80}{\code {wmempcpy}} +-\entry{memmove}{80}{\code {memmove}} +-\entry{wmemmove}{81}{\code {wmemmove}} +-\entry{memccpy}{81}{\code {memccpy}} +-\entry{memset}{81}{\code {memset}} +-\entry{wmemset}{81}{\code {wmemset}} +-\entry{strcpy}{81}{\code {strcpy}} +-\entry{wcscpy}{81}{\code {wcscpy}} +-\entry{strncpy}{81}{\code {strncpy}} +-\entry{wcsncpy}{82}{\code {wcsncpy}} +-\entry{strdup}{82}{\code {strdup}} +-\entry{wcsdup}{82}{\code {wcsdup}} +-\entry{strndup}{82}{\code {strndup}} +-\entry{stpcpy}{83}{\code {stpcpy}} +-\entry{wcpcpy}{83}{\code {wcpcpy}} +-\entry{stpncpy}{83}{\code {stpncpy}} +-\entry{wcpncpy}{84}{\code {wcpncpy}} +-\entry{strdupa}{84}{\code {strdupa}} +-\entry{strndupa}{85}{\code {strndupa}} +-\entry{strcat}{85}{\code {strcat}} +-\entry{wcscat}{85}{\code {wcscat}} +-\entry{strncat}{87}{\code {strncat}} +-\entry{wcsncat}{88}{\code {wcsncat}} +-\entry{bcopy}{88}{\code {bcopy}} +-\entry{bzero}{89}{\code {bzero}} +-\entry{memcmp}{89}{\code {memcmp}} +-\entry{wmemcmp}{89}{\code {wmemcmp}} +-\entry{strcmp}{90}{\code {strcmp}} +-\entry{wcscmp}{90}{\code {wcscmp}} +-\entry{strcasecmp}{90}{\code {strcasecmp}} +-\entry{wcscasecmp}{90}{\code {wcscasecmp}} +-\entry{strncmp}{91}{\code {strncmp}} +-\entry{wcsncmp}{91}{\code {wcsncmp}} +-\entry{strncasecmp}{91}{\code {strncasecmp}} +-\entry{wcsncasecmp}{91}{\code {wcsncasecmp}} +-\entry{strverscmp}{91}{\code {strverscmp}} +-\entry{bcmp}{92}{\code {bcmp}} +-\entry{strcoll}{93}{\code {strcoll}} +-\entry{wcscoll}{93}{\code {wcscoll}} +-\entry{strxfrm}{93}{\code {strxfrm}} +-\entry{wcsxfrm}{94}{\code {wcsxfrm}} +-\entry{memchr}{96}{\code {memchr}} +-\entry{wmemchr}{96}{\code {wmemchr}} +-\entry{rawmemchr}{96}{\code {rawmemchr}} +-\entry{memrchr}{97}{\code {memrchr}} +-\entry{strchr}{97}{\code {strchr}} +-\entry{wcschr}{97}{\code {wcschr}} +-\entry{strchrnul}{97}{\code {strchrnul}} +-\entry{wcschrnul}{97}{\code {wcschrnul}} +-\entry{strrchr}{98}{\code {strrchr}} +-\entry{wcsrchr}{98}{\code {wcsrchr}} +-\entry{strstr}{98}{\code {strstr}} +-\entry{wcsstr}{98}{\code {wcsstr}} +-\entry{wcswcs}{98}{\code {wcswcs}} +-\entry{strcasestr}{98}{\code {strcasestr}} +-\entry{memmem}{99}{\code {memmem}} +-\entry{strspn}{99}{\code {strspn}} +-\entry{wcsspn}{99}{\code {wcsspn}} +-\entry{strcspn}{99}{\code {strcspn}} +-\entry{wcscspn}{99}{\code {wcscspn}} +-\entry{strpbrk}{99}{\code {strpbrk}} +-\entry{wcspbrk}{100}{\code {wcspbrk}} +-\entry{index}{100}{\code {index}} +-\entry{rindex}{100}{\code {rindex}} +-\entry{strtok}{100}{\code {strtok}} +-\entry{wcstok}{101}{\code {wcstok}} +-\entry{strtok_r}{102}{\code {strtok_r}} +-\entry{strsep}{102}{\code {strsep}} +-\entry{basename}{103}{\code {basename}} +-\entry{basename}{104}{\code {basename}} +-\entry{dirname}{104}{\code {dirname}} +-\entry{strfry}{105}{\code {strfry}} +-\entry{memfrob}{105}{\code {memfrob}} +-\entry{l64a}{105}{\code {l64a}} +-\entry{a64l}{106}{\code {a64l}} +-\entry{argz_create}{108}{\code {argz_create}} +-\entry{argz_create_sep}{108}{\code {argz_create_sep}} +-\entry{argz_count}{108}{\code {argz_count}} +-\entry{argz_extract}{108}{\code {argz_extract}} +-\entry{argz_stringify}{108}{\code {argz_stringify}} +-\entry{argz_add}{108}{\code {argz_add}} +-\entry{argz_add_sep}{108}{\code {argz_add_sep}} +-\entry{argz_append}{108}{\code {argz_append}} +-\entry{argz_delete}{109}{\code {argz_delete}} +-\entry{argz_insert}{109}{\code {argz_insert}} +-\entry{argz_next}{109}{\code {argz_next}} +-\entry{argz_replace}{109}{\code {argz_replace}} +-\entry{envz_entry}{110}{\code {envz_entry}} +-\entry{envz_get}{110}{\code {envz_get}} +-\entry{envz_add}{110}{\code {envz_add}} +-\entry{envz_merge}{110}{\code {envz_merge}} +-\entry{envz_strip}{110}{\code {envz_strip}} +-\entry{mbsinit}{117}{\code {mbsinit}} +-\entry{btowc}{118}{\code {btowc}} +-\entry{wctob}{118}{\code {wctob}} +-\entry{mbrtowc}{119}{\code {mbrtowc}} +-\entry{mbrlen}{120}{\code {mbrlen}} +-\entry{wcrtomb}{121}{\code {wcrtomb}} +-\entry{mbsrtowcs}{123}{\code {mbsrtowcs}} +-\entry{wcsrtombs}{124}{\code {wcsrtombs}} +-\entry{mbsnrtowcs}{125}{\code {mbsnrtowcs}} +-\entry{wcsnrtombs}{126}{\code {wcsnrtombs}} +-\entry{mbtowc}{128}{\code {mbtowc}} +-\entry{wctomb}{128}{\code {wctomb}} +-\entry{mblen}{129}{\code {mblen}} +-\entry{mbstowcs}{129}{\code {mbstowcs}} +-\entry{wcstombs}{130}{\code {wcstombs}} +-\entry{iconv_open}{132}{\code {iconv_open}} +-\entry{iconv_close}{133}{\code {iconv_close}} +-\entry{iconv}{134}{\code {iconv}} +-\entry{setlocale}{155}{\code {setlocale}} +-\entry{localeconv}{158}{\code {localeconv}} +-\entry{nl_langinfo}{161}{\code {nl_langinfo}} +-\entry{strfmon}{167}{\code {strfmon}} +-\entry{rpmatch}{170}{\code {rpmatch}} +-\entry{catopen}{171}{\code {catopen}} +-\entry{catgets}{174}{\code {catgets}} +-\entry{catclose}{174}{\code {catclose}} +-\entry{gettext}{181}{\code {gettext}} +-\entry{dgettext}{182}{\code {dgettext}} +-\entry{dcgettext}{182}{\code {dcgettext}} +-\entry{textdomain}{184}{\code {textdomain}} +-\entry{bindtextdomain}{184}{\code {bindtextdomain}} +-\entry{ngettext}{186}{\code {ngettext}} +-\entry{dngettext}{186}{\code {dngettext}} +-\entry{dcngettext}{186}{\code {dcngettext}} +-\entry{bind_textdomain_codeset}{189}{\code {bind_textdomain_codeset}} +-\entry{lfind}{195}{\code {lfind}} +-\entry{lsearch}{196}{\code {lsearch}} +-\entry{bsearch}{196}{\code {bsearch}} +-\entry{qsort}{196}{\code {qsort}} +-\entry{hcreate}{199}{\code {hcreate}} +-\entry{hdestroy}{200}{\code {hdestroy}} +-\entry{hsearch}{200}{\code {hsearch}} +-\entry{hcreate_r}{201}{\code {hcreate_r}} +-\entry{hdestroy_r}{201}{\code {hdestroy_r}} +-\entry{hsearch_r}{201}{\code {hsearch_r}} +-\entry{tsearch}{202}{\code {tsearch}} +-\entry{tfind}{202}{\code {tfind}} +-\entry{tdelete}{202}{\code {tdelete}} +-\entry{tdestroy}{203}{\code {tdestroy}} +-\entry{twalk}{203}{\code {twalk}} +-\entry{fnmatch}{205}{\code {fnmatch}} +-\entry{glob}{209}{\code {glob}} +-\entry{glob64}{209}{\code {glob64}} +-\entry{globfree}{213}{\code {globfree}} +-\entry{globfree64}{213}{\code {globfree64}} +-\entry{regcomp}{214}{\code {regcomp}} +-\entry{regexec}{216}{\code {regexec}} +-\entry{regfree}{218}{\code {regfree}} +-\entry{regerror}{218}{\code {regerror}} +-\entry{wordexp}{220}{\code {wordexp}} +-\entry{wordfree}{220}{\code {wordfree}} +-\entry{fopen}{232}{\code {fopen}} +-\entry{fopen64}{233}{\code {fopen64}} +-\entry{freopen}{234}{\code {freopen}} +-\entry{freopen64}{234}{\code {freopen64}} +-\entry{__freadable}{235}{\code {__freadable}} +-\entry{__fwritable}{235}{\code {__fwritable}} +-\entry{__freading}{235}{\code {__freading}} +-\entry{__fwriting}{235}{\code {__fwriting}} +-\entry{fclose}{235}{\code {fclose}} +-\entry{fcloseall}{236}{\code {fcloseall}} +-\entry{flockfile}{236}{\code {flockfile}} +-\entry{ftrylockfile}{237}{\code {ftrylockfile}} +-\entry{funlockfile}{237}{\code {funlockfile}} +-\entry{__fsetlocking}{238}{\code {__fsetlocking}} +-\entry{fwide}{240}{\code {fwide}} +-\entry{fputc}{241}{\code {fputc}} +-\entry{fputwc}{241}{\code {fputwc}} +-\entry{fputc_unlocked}{241}{\code {fputc_unlocked}} +-\entry{fputwc_unlocked}{241}{\code {fputwc_unlocked}} +-\entry{putc}{241}{\code {putc}} +-\entry{putwc}{242}{\code {putwc}} +-\entry{putc_unlocked}{242}{\code {putc_unlocked}} +-\entry{putwc_unlocked}{242}{\code {putwc_unlocked}} +-\entry{putchar}{242}{\code {putchar}} +-\entry{putwchar}{242}{\code {putwchar}} +-\entry{putchar_unlocked}{242}{\code {putchar_unlocked}} +-\entry{putwchar_unlocked}{242}{\code {putwchar_unlocked}} +-\entry{fputs}{242}{\code {fputs}} +-\entry{fputws}{242}{\code {fputws}} +-\entry{fputs_unlocked}{243}{\code {fputs_unlocked}} +-\entry{fputws_unlocked}{243}{\code {fputws_unlocked}} +-\entry{puts}{243}{\code {puts}} +-\entry{putw}{243}{\code {putw}} +-\entry{fgetc}{243}{\code {fgetc}} +-\entry{fgetwc}{243}{\code {fgetwc}} +-\entry{fgetc_unlocked}{244}{\code {fgetc_unlocked}} +-\entry{fgetwc_unlocked}{244}{\code {fgetwc_unlocked}} +-\entry{getc}{244}{\code {getc}} +-\entry{getwc}{244}{\code {getwc}} +-\entry{getc_unlocked}{244}{\code {getc_unlocked}} +-\entry{getwc_unlocked}{244}{\code {getwc_unlocked}} +-\entry{getchar}{244}{\code {getchar}} +-\entry{getwchar}{244}{\code {getwchar}} +-\entry{getchar_unlocked}{244}{\code {getchar_unlocked}} +-\entry{getwchar_unlocked}{244}{\code {getwchar_unlocked}} +-\entry{getw}{245}{\code {getw}} +-\entry{getline}{245}{\code {getline}} +-\entry{getdelim}{246}{\code {getdelim}} +-\entry{fgets}{246}{\code {fgets}} +-\entry{fgetws}{246}{\code {fgetws}} +-\entry{fgets_unlocked}{247}{\code {fgets_unlocked}} +-\entry{fgetws_unlocked}{247}{\code {fgetws_unlocked}} +-\entry{gets}{247}{\code {gets}} +-\entry{ungetc}{248}{\code {ungetc}} +-\entry{ungetwc}{248}{\code {ungetwc}} +-\entry{fread}{249}{\code {fread}} +-\entry{fread_unlocked}{249}{\code {fread_unlocked}} +-\entry{fwrite}{250}{\code {fwrite}} +-\entry{fwrite_unlocked}{250}{\code {fwrite_unlocked}} +-\entry{printf}{259}{\code {printf}} +-\entry{wprintf}{259}{\code {wprintf}} +-\entry{fprintf}{259}{\code {fprintf}} +-\entry{fwprintf}{259}{\code {fwprintf}} +-\entry{sprintf}{259}{\code {sprintf}} +-\entry{swprintf}{259}{\code {swprintf}} +-\entry{snprintf}{260}{\code {snprintf}} +-\entry{asprintf}{261}{\code {asprintf}} +-\entry{obstack_printf}{261}{\code {obstack_printf}} +-\entry{vprintf}{262}{\code {vprintf}} +-\entry{vwprintf}{262}{\code {vwprintf}} +-\entry{vfprintf}{262}{\code {vfprintf}} +-\entry{vfwprintf}{262}{\code {vfwprintf}} +-\entry{vsprintf}{262}{\code {vsprintf}} +-\entry{vswprintf}{262}{\code {vswprintf}} +-\entry{vsnprintf}{263}{\code {vsnprintf}} +-\entry{vasprintf}{263}{\code {vasprintf}} +-\entry{obstack_vprintf}{263}{\code {obstack_vprintf}} +-\entry{parse_printf_format}{264}{\code {parse_printf_format}} +-\entry{register_printf_function}{267}{\code {register_printf_function}} +-\entry{printf_size}{271}{\code {printf_size}} +-\entry{printf_size_info}{271}{\code {printf_size_info}} +-\entry{scanf}{279}{\code {scanf}} +-\entry{wscanf}{280}{\code {wscanf}} +-\entry{fscanf}{280}{\code {fscanf}} +-\entry{fwscanf}{280}{\code {fwscanf}} +-\entry{sscanf}{280}{\code {sscanf}} +-\entry{swscanf}{280}{\code {swscanf}} +-\entry{vscanf}{281}{\code {vscanf}} +-\entry{vwscanf}{281}{\code {vwscanf}} +-\entry{vfscanf}{281}{\code {vfscanf}} +-\entry{vfwscanf}{281}{\code {vfwscanf}} +-\entry{vsscanf}{281}{\code {vsscanf}} +-\entry{vswscanf}{281}{\code {vswscanf}} +-\entry{feof}{282}{\code {feof}} +-\entry{feof_unlocked}{282}{\code {feof_unlocked}} +-\entry{ferror}{282}{\code {ferror}} +-\entry{ferror_unlocked}{282}{\code {ferror_unlocked}} +-\entry{clearerr}{282}{\code {clearerr}} +-\entry{clearerr_unlocked}{283}{\code {clearerr_unlocked}} +-\entry{ftell}{284}{\code {ftell}} +-\entry{ftello}{284}{\code {ftello}} +-\entry{ftello64}{285}{\code {ftello64}} +-\entry{fseek}{285}{\code {fseek}} +-\entry{fseeko}{285}{\code {fseeko}} +-\entry{fseeko64}{285}{\code {fseeko64}} +-\entry{rewind}{286}{\code {rewind}} +-\entry{fgetpos}{287}{\code {fgetpos}} +-\entry{fgetpos64}{287}{\code {fgetpos64}} +-\entry{fsetpos}{288}{\code {fsetpos}} +-\entry{fsetpos64}{288}{\code {fsetpos64}} +-\entry{fflush}{289}{\code {fflush}} +-\entry{fflush_unlocked}{289}{\code {fflush_unlocked}} +-\entry{_flushlbf}{289}{\code {_flushlbf}} +-\entry{__fpurge}{290}{\code {__fpurge}} +-\entry{setvbuf}{290}{\code {setvbuf}} +-\entry{setbuf}{291}{\code {setbuf}} +-\entry{setbuffer}{291}{\code {setbuffer}} +-\entry{setlinebuf}{291}{\code {setlinebuf}} +-\entry{__flbf}{291}{\code {__flbf}} +-\entry{__fbufsize}{292}{\code {__fbufsize}} +-\entry{__fpending}{292}{\code {__fpending}} +-\entry{fmemopen}{292}{\code {fmemopen}} +-\entry{open_memstream}{293}{\code {open_memstream}} +-\entry{open_obstack_stream}{294}{\code {open_obstack_stream}} +-\entry{fopencookie}{296}{\code {fopencookie}} +-\entry{fmtmsg}{298}{\code {fmtmsg}} +-\entry{addseverity}{300}{\code {addseverity}} +-\entry{open}{303}{\code {open}} +-\entry{open64}{304}{\code {open64}} +-\entry{creat}{304}{\code {creat}} +-\entry{creat64}{305}{\code {creat64}} +-\entry{close}{305}{\code {close}} +-\entry{read}{306}{\code {read}} +-\entry{pread}{307}{\code {pread}} +-\entry{pread64}{307}{\code {pread64}} +-\entry{write}{308}{\code {write}} +-\entry{pwrite}{309}{\code {pwrite}} +-\entry{pwrite64}{310}{\code {pwrite64}} +-\entry{lseek}{310}{\code {lseek}} +-\entry{lseek64}{311}{\code {lseek64}} +-\entry{fdopen}{313}{\code {fdopen}} +-\entry{fileno}{313}{\code {fileno}} +-\entry{fileno_unlocked}{313}{\code {fileno_unlocked}} +-\entry{fclean}{315}{\code {fclean}} +-\entry{readv}{316}{\code {readv}} +-\entry{writev}{316}{\code {writev}} +-\entry{mmap}{317}{\code {mmap}} +-\entry{mmap64}{318}{\code {mmap64}} +-\entry{munmap}{318}{\code {munmap}} +-\entry{msync}{319}{\code {msync}} +-\entry{mremap}{319}{\code {mremap}} +-\entry{madvise}{320}{\code {madvise}} +-\entry{FD_ZERO}{321}{\code {FD_ZERO}} +-\entry{FD_SET}{321}{\code {FD_SET}} +-\entry{FD_CLR}{321}{\code {FD_CLR}} +-\entry{FD_ISSET}{322}{\code {FD_ISSET}} +-\entry{select}{322}{\code {select}} +-\entry{sync}{323}{\code {sync}} +-\entry{fsync}{324}{\code {fsync}} +-\entry{fdatasync}{324}{\code {fdatasync}} +-\entry{aio_read}{327}{\code {aio_read}} +-\entry{aio_read64}{328}{\code {aio_read64}} +-\entry{aio_write}{328}{\code {aio_write}} +-\entry{aio_write64}{329}{\code {aio_write64}} +-\entry{lio_listio}{330}{\code {lio_listio}} +-\entry{lio_listio64}{331}{\code {lio_listio64}} +-\entry{aio_error}{331}{\code {aio_error}} +-\entry{aio_error64}{331}{\code {aio_error64}} +-\entry{aio_return}{332}{\code {aio_return}} +-\entry{aio_return64}{332}{\code {aio_return64}} +-\entry{aio_fsync}{332}{\code {aio_fsync}} +-\entry{aio_fsync64}{333}{\code {aio_fsync64}} +-\entry{aio_suspend}{333}{\code {aio_suspend}} +-\entry{aio_suspend64}{334}{\code {aio_suspend64}} +-\entry{aio_cancel}{334}{\code {aio_cancel}} +-\entry{aio_cancel64}{335}{\code {aio_cancel64}} +-\entry{aio_init}{336}{\code {aio_init}} +-\entry{fcntl}{336}{\code {fcntl}} +-\entry{dup}{337}{\code {dup}} +-\entry{dup2}{337}{\code {dup2}} +-\entry{ioctl}{349}{\code {ioctl}} +-\entry{getcwd}{351}{\code {getcwd}} +-\entry{getwd}{352}{\code {getwd}} +-\entry{get_current_dir_name}{352}{\code {get_current_dir_name}} +-\entry{chdir}{352}{\code {chdir}} +-\entry{fchdir}{352}{\code {fchdir}} +-\entry{IFTODT}{354}{\code {IFTODT}} +-\entry{DTTOIF}{354}{\code {DTTOIF}} +-\entry{opendir}{354}{\code {opendir}} +-\entry{dirfd}{355}{\code {dirfd}} +-\entry{readdir}{355}{\code {readdir}} +-\entry{readdir_r}{355}{\code {readdir_r}} +-\entry{readdir64}{356}{\code {readdir64}} +-\entry{readdir64_r}{356}{\code {readdir64_r}} +-\entry{closedir}{356}{\code {closedir}} +-\entry{rewinddir}{357}{\code {rewinddir}} +-\entry{telldir}{357}{\code {telldir}} +-\entry{seekdir}{357}{\code {seekdir}} +-\entry{scandir}{358}{\code {scandir}} +-\entry{alphasort}{358}{\code {alphasort}} +-\entry{versionsort}{358}{\code {versionsort}} +-\entry{scandir64}{358}{\code {scandir64}} +-\entry{alphasort64}{359}{\code {alphasort64}} +-\entry{versionsort64}{359}{\code {versionsort64}} +-\entry{ftw}{361}{\code {ftw}} +-\entry{ftw64}{362}{\code {ftw64}} +-\entry{nftw}{362}{\code {nftw}} +-\entry{nftw64}{363}{\code {nftw64}} +-\entry{link}{364}{\code {link}} +-\entry{symlink}{365}{\code {symlink}} +-\entry{readlink}{365}{\code {readlink}} +-\entry{canonicalize_file_name}{366}{\code {canonicalize_file_name}} +-\entry{realpath}{367}{\code {realpath}} +-\entry{unlink}{367}{\code {unlink}} +-\entry{rmdir}{368}{\code {rmdir}} +-\entry{remove}{368}{\code {remove}} +-\entry{rename}{368}{\code {rename}} +-\entry{mkdir}{369}{\code {mkdir}} +-\entry{stat}{374}{\code {stat}} +-\entry{stat64}{374}{\code {stat64}} +-\entry{fstat}{375}{\code {fstat}} +-\entry{fstat64}{375}{\code {fstat64}} +-\entry{lstat}{375}{\code {lstat}} +-\entry{lstat64}{375}{\code {lstat64}} +-\entry{S_ISDIR}{376}{\code {S_ISDIR}} +-\entry{S_ISCHR}{376}{\code {S_ISCHR}} +-\entry{S_ISBLK}{376}{\code {S_ISBLK}} +-\entry{S_ISREG}{376}{\code {S_ISREG}} +-\entry{S_ISFIFO}{376}{\code {S_ISFIFO}} +-\entry{S_ISLNK}{376}{\code {S_ISLNK}} +-\entry{S_ISSOCK}{376}{\code {S_ISSOCK}} +-\entry{S_TYPEISMQ}{377}{\code {S_TYPEISMQ}} +-\entry{S_TYPEISSEM}{377}{\code {S_TYPEISSEM}} +-\entry{S_TYPEISSHM}{377}{\code {S_TYPEISSHM}} +-\entry{chown}{377}{\code {chown}} +-\entry{fchown}{378}{\code {fchown}} +-\entry{chmod}{381}{\code {chmod}} +-\entry{umask}{381}{\code {umask}} +-\entry{getumask}{381}{\code {getumask}} +-\entry{chmod}{381}{\code {chmod}} +-\entry{fchmod}{382}{\code {fchmod}} +-\entry{access}{383}{\code {access}} +-\entry{utime}{384}{\code {utime}} +-\entry{utimes}{385}{\code {utimes}} +-\entry{lutimes}{385}{\code {lutimes}} +-\entry{futimes}{385}{\code {futimes}} +-\entry{truncate}{386}{\code {truncate}} +-\entry{truncate64}{386}{\code {truncate64}} +-\entry{ftruncate}{386}{\code {ftruncate}} +-\entry{ftruncate64}{387}{\code {ftruncate64}} +-\entry{mknod}{388}{\code {mknod}} +-\entry{tmpfile}{389}{\code {tmpfile}} +-\entry{tmpfile64}{389}{\code {tmpfile64}} +-\entry{tmpnam}{389}{\code {tmpnam}} +-\entry{tmpnam_r}{389}{\code {tmpnam_r}} +-\entry{tempnam}{390}{\code {tempnam}} +-\entry{mktemp}{390}{\code {mktemp}} +-\entry{mkstemp}{391}{\code {mkstemp}} +-\entry{mkdtemp}{391}{\code {mkdtemp}} +-\entry{pipe}{393}{\code {pipe}} +-\entry{popen}{395}{\code {popen}} +-\entry{pclose}{395}{\code {pclose}} +-\entry{mkfifo}{396}{\code {mkfifo}} +-\entry{bind}{403}{\code {bind}} +-\entry{getsockname}{403}{\code {getsockname}} +-\entry{if_nametoindex}{404}{\code {if_nametoindex}} +-\entry{if_indextoname}{404}{\code {if_indextoname}} +-\entry{if_nameindex}{405}{\code {if_nameindex}} +-\entry{if_freenameindex}{405}{\code {if_freenameindex}} +-\entry{SUN_LEN}{406}{\code {SUN_LEN}} +-\entry{inet_aton}{412}{\code {inet_aton}} +-\entry{inet_addr}{412}{\code {inet_addr}} +-\entry{inet_network}{412}{\code {inet_network}} +-\entry{inet_ntoa}{412}{\code {inet_ntoa}} +-\entry{inet_makeaddr}{412}{\code {inet_makeaddr}} +-\entry{inet_lnaof}{412}{\code {inet_lnaof}} +-\entry{inet_netof}{412}{\code {inet_netof}} +-\entry{inet_pton}{412}{\code {inet_pton}} +-\entry{inet_ntop}{413}{\code {inet_ntop}} +-\entry{gethostbyname}{414}{\code {gethostbyname}} +-\entry{gethostbyname2}{414}{\code {gethostbyname2}} +-\entry{gethostbyaddr}{414}{\code {gethostbyaddr}} +-\entry{gethostbyname_r}{415}{\code {gethostbyname_r}} +-\entry{gethostbyname2_r}{415}{\code {gethostbyname2_r}} +-\entry{gethostbyaddr_r}{415}{\code {gethostbyaddr_r}} +-\entry{sethostent}{416}{\code {sethostent}} +-\entry{gethostent}{416}{\code {gethostent}} +-\entry{endhostent}{416}{\code {endhostent}} +-\entry{getservbyname}{417}{\code {getservbyname}} +-\entry{getservbyport}{418}{\code {getservbyport}} +-\entry{setservent}{418}{\code {setservent}} +-\entry{getservent}{418}{\code {getservent}} +-\entry{endservent}{418}{\code {endservent}} +-\entry{htons}{418}{\code {htons}} +-\entry{ntohs}{419}{\code {ntohs}} +-\entry{htonl}{419}{\code {htonl}} +-\entry{ntohl}{419}{\code {ntohl}} +-\entry{getprotobyname}{420}{\code {getprotobyname}} +-\entry{getprotobynumber}{420}{\code {getprotobynumber}} +-\entry{setprotoent}{420}{\code {setprotoent}} +-\entry{getprotoent}{420}{\code {getprotoent}} +-\entry{endprotoent}{420}{\code {endprotoent}} +-\entry{socket}{422}{\code {socket}} +-\entry{shutdown}{422}{\code {shutdown}} +-\entry{socketpair}{423}{\code {socketpair}} +-\entry{connect}{424}{\code {connect}} +-\entry{listen}{425}{\code {listen}} +-\entry{accept}{426}{\code {accept}} +-\entry{getpeername}{427}{\code {getpeername}} +-\entry{send}{428}{\code {send}} +-\entry{recv}{429}{\code {recv}} +-\entry{sendto}{436}{\code {sendto}} +-\entry{recvfrom}{436}{\code {recvfrom}} +-\entry{getsockopt}{441}{\code {getsockopt}} +-\entry{setsockopt}{441}{\code {setsockopt}} +-\entry{getnetbyname}{443}{\code {getnetbyname}} +-\entry{getnetbyaddr}{444}{\code {getnetbyaddr}} +-\entry{setnetent}{444}{\code {setnetent}} +-\entry{getnetent}{444}{\code {getnetent}} +-\entry{endnetent}{444}{\code {endnetent}} +-\entry{isatty}{445}{\code {isatty}} +-\entry{ttyname}{445}{\code {ttyname}} +-\entry{ttyname_r}{445}{\code {ttyname_r}} +-\entry{tcgetattr}{448}{\code {tcgetattr}} +-\entry{tcsetattr}{448}{\code {tcsetattr}} +-\entry{cfgetospeed}{457}{\code {cfgetospeed}} +-\entry{cfgetispeed}{457}{\code {cfgetispeed}} +-\entry{cfsetospeed}{457}{\code {cfsetospeed}} +-\entry{cfsetispeed}{457}{\code {cfsetispeed}} +-\entry{cfsetspeed}{457}{\code {cfsetspeed}} +-\entry{cfmakeraw}{464}{\code {cfmakeraw}} +-\entry{gtty}{464}{\code {gtty}} +-\entry{stty}{464}{\code {stty}} +-\entry{tcsendbreak}{465}{\code {tcsendbreak}} +-\entry{tcdrain}{465}{\code {tcdrain}} +-\entry{tcflush}{465}{\code {tcflush}} +-\entry{tcflow}{466}{\code {tcflow}} +-\entry{getpt}{468}{\code {getpt}} +-\entry{grantpt}{468}{\code {grantpt}} +-\entry{unlockpt}{469}{\code {unlockpt}} +-\entry{ptsname}{469}{\code {ptsname}} +-\entry{ptsname_r}{469}{\code {ptsname_r}} +-\entry{openpty}{470}{\code {openpty}} +-\entry{forkpty}{470}{\code {forkpty}} +-\entry{openlog}{472}{\code {openlog}} +-\entry{syslog}{474}{\code {syslog}} +-\entry{vsyslog}{476}{\code {vsyslog}} +-\entry{closelog}{476}{\code {closelog}} +-\entry{setlogmask}{477}{\code {setlogmask}} +-\entry{sin}{480}{\code {sin}} +-\entry{sinf}{480}{\code {sinf}} +-\entry{sinl}{480}{\code {sinl}} +-\entry{cos}{480}{\code {cos}} +-\entry{cosf}{480}{\code {cosf}} +-\entry{cosl}{480}{\code {cosl}} +-\entry{tan}{480}{\code {tan}} +-\entry{tanf}{480}{\code {tanf}} +-\entry{tanl}{480}{\code {tanl}} +-\entry{sincos}{480}{\code {sincos}} +-\entry{sincosf}{480}{\code {sincosf}} +-\entry{sincosl}{480}{\code {sincosl}} +-\entry{csin}{481}{\code {csin}} +-\entry{csinf}{481}{\code {csinf}} +-\entry{csinl}{481}{\code {csinl}} +-\entry{ccos}{481}{\code {ccos}} +-\entry{ccosf}{481}{\code {ccosf}} +-\entry{ccosl}{481}{\code {ccosl}} +-\entry{ctan}{481}{\code {ctan}} +-\entry{ctanf}{481}{\code {ctanf}} +-\entry{ctanl}{481}{\code {ctanl}} +-\entry{asin}{481}{\code {asin}} +-\entry{asinf}{481}{\code {asinf}} +-\entry{asinl}{481}{\code {asinl}} +-\entry{acos}{482}{\code {acos}} +-\entry{acosf}{482}{\code {acosf}} +-\entry{acosl}{482}{\code {acosl}} +-\entry{atan}{482}{\code {atan}} +-\entry{atanf}{482}{\code {atanf}} +-\entry{atanl}{482}{\code {atanl}} +-\entry{atan2}{482}{\code {atan2}} +-\entry{atan2f}{482}{\code {atan2f}} +-\entry{atan2l}{482}{\code {atan2l}} +-\entry{casin}{482}{\code {casin}} +-\entry{casinf}{482}{\code {casinf}} +-\entry{casinl}{482}{\code {casinl}} +-\entry{cacos}{482}{\code {cacos}} +-\entry{cacosf}{482}{\code {cacosf}} +-\entry{cacosl}{482}{\code {cacosl}} +-\entry{catan}{482}{\code {catan}} +-\entry{catanf}{482}{\code {catanf}} +-\entry{catanl}{482}{\code {catanl}} +-\entry{exp}{483}{\code {exp}} +-\entry{expf}{483}{\code {expf}} +-\entry{expl}{483}{\code {expl}} +-\entry{exp2}{483}{\code {exp2}} +-\entry{exp2f}{483}{\code {exp2f}} +-\entry{exp2l}{483}{\code {exp2l}} +-\entry{exp10}{483}{\code {exp10}} +-\entry{exp10f}{483}{\code {exp10f}} +-\entry{exp10l}{483}{\code {exp10l}} +-\entry{pow10}{483}{\code {pow10}} +-\entry{pow10f}{483}{\code {pow10f}} +-\entry{pow10l}{483}{\code {pow10l}} +-\entry{log}{483}{\code {log}} +-\entry{logf}{483}{\code {logf}} +-\entry{logl}{483}{\code {logl}} +-\entry{log10}{483}{\code {log10}} +-\entry{log10f}{483}{\code {log10f}} +-\entry{log10l}{483}{\code {log10l}} +-\entry{log2}{483}{\code {log2}} +-\entry{log2f}{483}{\code {log2f}} +-\entry{log2l}{483}{\code {log2l}} +-\entry{logb}{483}{\code {logb}} +-\entry{logbf}{484}{\code {logbf}} +-\entry{logbl}{484}{\code {logbl}} +-\entry{ilogb}{484}{\code {ilogb}} +-\entry{ilogbf}{484}{\code {ilogbf}} +-\entry{ilogbl}{484}{\code {ilogbl}} +-\entry{pow}{484}{\code {pow}} +-\entry{powf}{484}{\code {powf}} +-\entry{powl}{484}{\code {powl}} +-\entry{sqrt}{485}{\code {sqrt}} +-\entry{sqrtf}{485}{\code {sqrtf}} +-\entry{sqrtl}{485}{\code {sqrtl}} +-\entry{cbrt}{485}{\code {cbrt}} +-\entry{cbrtf}{485}{\code {cbrtf}} +-\entry{cbrtl}{485}{\code {cbrtl}} +-\entry{hypot}{485}{\code {hypot}} +-\entry{hypotf}{485}{\code {hypotf}} +-\entry{hypotl}{485}{\code {hypotl}} +-\entry{expm1}{485}{\code {expm1}} +-\entry{expm1f}{485}{\code {expm1f}} +-\entry{expm1l}{485}{\code {expm1l}} +-\entry{log1p}{485}{\code {log1p}} +-\entry{log1pf}{485}{\code {log1pf}} +-\entry{log1pl}{485}{\code {log1pl}} +-\entry{cexp}{485}{\code {cexp}} +-\entry{cexpf}{485}{\code {cexpf}} +-\entry{cexpl}{485}{\code {cexpl}} +-\entry{clog}{485}{\code {clog}} +-\entry{clogf}{486}{\code {clogf}} +-\entry{clogl}{486}{\code {clogl}} +-\entry{clog10}{486}{\code {clog10}} +-\entry{clog10f}{486}{\code {clog10f}} +-\entry{clog10l}{486}{\code {clog10l}} +-\entry{csqrt}{486}{\code {csqrt}} +-\entry{csqrtf}{486}{\code {csqrtf}} +-\entry{csqrtl}{486}{\code {csqrtl}} +-\entry{cpow}{486}{\code {cpow}} +-\entry{cpowf}{486}{\code {cpowf}} +-\entry{cpowl}{486}{\code {cpowl}} +-\entry{sinh}{486}{\code {sinh}} +-\entry{sinhf}{486}{\code {sinhf}} +-\entry{sinhl}{486}{\code {sinhl}} +-\entry{cosh}{486}{\code {cosh}} +-\entry{coshf}{486}{\code {coshf}} +-\entry{coshl}{486}{\code {coshl}} +-\entry{tanh}{487}{\code {tanh}} +-\entry{tanhf}{487}{\code {tanhf}} +-\entry{tanhl}{487}{\code {tanhl}} +-\entry{csinh}{487}{\code {csinh}} +-\entry{csinhf}{487}{\code {csinhf}} +-\entry{csinhl}{487}{\code {csinhl}} +-\entry{ccosh}{487}{\code {ccosh}} +-\entry{ccoshf}{487}{\code {ccoshf}} +-\entry{ccoshl}{487}{\code {ccoshl}} +-\entry{ctanh}{487}{\code {ctanh}} +-\entry{ctanhf}{487}{\code {ctanhf}} +-\entry{ctanhl}{487}{\code {ctanhl}} +-\entry{asinh}{487}{\code {asinh}} +-\entry{asinhf}{487}{\code {asinhf}} +-\entry{asinhl}{487}{\code {asinhl}} +-\entry{acosh}{487}{\code {acosh}} +-\entry{acoshf}{487}{\code {acoshf}} +-\entry{acoshl}{487}{\code {acoshl}} +-\entry{atanh}{487}{\code {atanh}} +-\entry{atanhf}{487}{\code {atanhf}} +-\entry{atanhl}{487}{\code {atanhl}} +-\entry{casinh}{487}{\code {casinh}} +-\entry{casinhf}{487}{\code {casinhf}} +-\entry{casinhl}{487}{\code {casinhl}} +-\entry{cacosh}{488}{\code {cacosh}} +-\entry{cacoshf}{488}{\code {cacoshf}} +-\entry{cacoshl}{488}{\code {cacoshl}} +-\entry{catanh}{488}{\code {catanh}} +-\entry{catanhf}{488}{\code {catanhf}} +-\entry{catanhl}{488}{\code {catanhl}} +-\entry{erf}{488}{\code {erf}} +-\entry{erff}{488}{\code {erff}} +-\entry{erfl}{488}{\code {erfl}} +-\entry{erfc}{488}{\code {erfc}} +-\entry{erfcf}{488}{\code {erfcf}} +-\entry{erfcl}{488}{\code {erfcl}} +-\entry{lgamma}{488}{\code {lgamma}} +-\entry{lgammaf}{488}{\code {lgammaf}} +-\entry{lgammal}{488}{\code {lgammal}} +-\entry{lgamma_r}{489}{\code {lgamma_r}} +-\entry{lgammaf_r}{489}{\code {lgammaf_r}} +-\entry{lgammal_r}{489}{\code {lgammal_r}} +-\entry{gamma}{489}{\code {gamma}} +-\entry{gammaf}{489}{\code {gammaf}} +-\entry{gammal}{489}{\code {gammal}} +-\entry{tgamma}{489}{\code {tgamma}} +-\entry{tgammaf}{489}{\code {tgammaf}} +-\entry{tgammal}{489}{\code {tgammal}} +-\entry{j0}{489}{\code {j0}} +-\entry{j0f}{489}{\code {j0f}} +-\entry{j0l}{489}{\code {j0l}} +-\entry{j1}{489}{\code {j1}} +-\entry{j1f}{489}{\code {j1f}} +-\entry{j1l}{489}{\code {j1l}} +-\entry{jn}{489}{\code {jn}} +-\entry{jnf}{489}{\code {jnf}} +-\entry{jnl}{489}{\code {jnl}} +-\entry{y0}{489}{\code {y0}} +-\entry{y0f}{489}{\code {y0f}} +-\entry{y0l}{489}{\code {y0l}} +-\entry{y1}{490}{\code {y1}} +-\entry{y1f}{490}{\code {y1f}} +-\entry{y1l}{490}{\code {y1l}} +-\entry{yn}{490}{\code {yn}} +-\entry{ynf}{490}{\code {ynf}} +-\entry{ynl}{490}{\code {ynl}} +-\entry{rand}{508}{\code {rand}} +-\entry{srand}{508}{\code {srand}} +-\entry{rand_r}{509}{\code {rand_r}} +-\entry{random}{509}{\code {random}} +-\entry{srandom}{509}{\code {srandom}} +-\entry{initstate}{509}{\code {initstate}} +-\entry{setstate}{509}{\code {setstate}} +-\entry{random_r}{510}{\code {random_r}} +-\entry{srandom_r}{510}{\code {srandom_r}} +-\entry{initstate_r}{510}{\code {initstate_r}} +-\entry{setstate_r}{510}{\code {setstate_r}} +-\entry{drand48}{511}{\code {drand48}} +-\entry{erand48}{511}{\code {erand48}} +-\entry{lrand48}{511}{\code {lrand48}} +-\entry{nrand48}{511}{\code {nrand48}} +-\entry{mrand48}{511}{\code {mrand48}} +-\entry{jrand48}{512}{\code {jrand48}} +-\entry{srand48}{512}{\code {srand48}} +-\entry{seed48}{512}{\code {seed48}} +-\entry{lcong48}{512}{\code {lcong48}} +-\entry{drand48_r}{513}{\code {drand48_r}} +-\entry{erand48_r}{513}{\code {erand48_r}} +-\entry{lrand48_r}{513}{\code {lrand48_r}} +-\entry{nrand48_r}{513}{\code {nrand48_r}} +-\entry{mrand48_r}{514}{\code {mrand48_r}} +-\entry{jrand48_r}{514}{\code {jrand48_r}} +-\entry{srand48_r}{514}{\code {srand48_r}} +-\entry{seed48_r}{514}{\code {seed48_r}} +-\entry{lcong48_r}{515}{\code {lcong48_r}} +-\entry{div}{519}{\code {div}} +-\entry{ldiv}{519}{\code {ldiv}} +-\entry{lldiv}{519}{\code {lldiv}} +-\entry{imaxdiv}{520}{\code {imaxdiv}} +-\entry{fpclassify}{520}{\code {fpclassify}} +-\entry{isfinite}{521}{\code {isfinite}} +-\entry{isnormal}{521}{\code {isnormal}} +-\entry{isnan}{521}{\code {isnan}} +-\entry{isinf}{521}{\code {isinf}} +-\entry{isinff}{521}{\code {isinff}} +-\entry{isinfl}{521}{\code {isinfl}} +-\entry{isnan}{522}{\code {isnan}} +-\entry{isnanf}{522}{\code {isnanf}} +-\entry{isnanl}{522}{\code {isnanl}} +-\entry{finite}{522}{\code {finite}} +-\entry{finitef}{522}{\code {finitef}} +-\entry{finitel}{522}{\code {finitel}} +-\entry{matherr}{522}{\code {matherr}} +-\entry{feclearexcept}{525}{\code {feclearexcept}} +-\entry{feraiseexcept}{525}{\code {feraiseexcept}} +-\entry{fetestexcept}{526}{\code {fetestexcept}} +-\entry{fegetexceptflag}{526}{\code {fegetexceptflag}} +-\entry{fesetexceptflag}{526}{\code {fesetexceptflag}} +-\entry{fegetround}{528}{\code {fegetround}} +-\entry{fesetround}{528}{\code {fesetround}} +-\entry{fegetenv}{529}{\code {fegetenv}} +-\entry{feholdexcept}{529}{\code {feholdexcept}} +-\entry{fesetenv}{529}{\code {fesetenv}} +-\entry{feupdateenv}{530}{\code {feupdateenv}} +-\entry{feenableexcept}{530}{\code {feenableexcept}} +-\entry{fedisableexcept}{530}{\code {fedisableexcept}} +-\entry{fegetexcept}{530}{\code {fegetexcept}} +-\entry{abs}{531}{\code {abs}} +-\entry{labs}{531}{\code {labs}} +-\entry{llabs}{531}{\code {llabs}} +-\entry{imaxabs}{531}{\code {imaxabs}} +-\entry{fabs}{531}{\code {fabs}} +-\entry{fabsf}{531}{\code {fabsf}} +-\entry{fabsl}{531}{\code {fabsl}} +-\entry{cabs}{531}{\code {cabs}} +-\entry{cabsf}{531}{\code {cabsf}} +-\entry{cabsl}{531}{\code {cabsl}} +-\entry{frexp}{531}{\code {frexp}} +-\entry{frexpf}{531}{\code {frexpf}} +-\entry{frexpl}{531}{\code {frexpl}} +-\entry{ldexp}{532}{\code {ldexp}} +-\entry{ldexpf}{532}{\code {ldexpf}} +-\entry{ldexpl}{532}{\code {ldexpl}} +-\entry{scalb}{532}{\code {scalb}} +-\entry{scalbf}{532}{\code {scalbf}} +-\entry{scalbl}{532}{\code {scalbl}} +-\entry{scalbn}{532}{\code {scalbn}} +-\entry{scalbnf}{532}{\code {scalbnf}} +-\entry{scalbnl}{532}{\code {scalbnl}} +-\entry{scalbln}{532}{\code {scalbln}} +-\entry{scalblnf}{532}{\code {scalblnf}} +-\entry{scalblnl}{532}{\code {scalblnl}} +-\entry{significand}{532}{\code {significand}} +-\entry{significandf}{532}{\code {significandf}} +-\entry{significandl}{532}{\code {significandl}} +-\entry{ceil}{533}{\code {ceil}} +-\entry{ceilf}{533}{\code {ceilf}} +-\entry{ceill}{533}{\code {ceill}} +-\entry{floor}{533}{\code {floor}} +-\entry{floorf}{533}{\code {floorf}} +-\entry{floorl}{533}{\code {floorl}} +-\entry{trunc}{533}{\code {trunc}} +-\entry{truncf}{533}{\code {truncf}} +-\entry{truncl}{533}{\code {truncl}} +-\entry{rint}{533}{\code {rint}} +-\entry{rintf}{533}{\code {rintf}} +-\entry{rintl}{533}{\code {rintl}} +-\entry{nearbyint}{533}{\code {nearbyint}} +-\entry{nearbyintf}{533}{\code {nearbyintf}} +-\entry{nearbyintl}{533}{\code {nearbyintl}} +-\entry{round}{533}{\code {round}} +-\entry{roundf}{533}{\code {roundf}} +-\entry{roundl}{533}{\code {roundl}} +-\entry{lrint}{533}{\code {lrint}} +-\entry{lrintf}{533}{\code {lrintf}} +-\entry{lrintl}{533}{\code {lrintl}} +-\entry{llrint}{533}{\code {llrint}} +-\entry{llrintf}{534}{\code {llrintf}} +-\entry{llrintl}{534}{\code {llrintl}} +-\entry{lround}{534}{\code {lround}} +-\entry{lroundf}{534}{\code {lroundf}} +-\entry{lroundl}{534}{\code {lroundl}} +-\entry{llround}{534}{\code {llround}} +-\entry{llroundf}{534}{\code {llroundf}} +-\entry{llroundl}{534}{\code {llroundl}} +-\entry{modf}{534}{\code {modf}} +-\entry{modff}{534}{\code {modff}} +-\entry{modfl}{534}{\code {modfl}} +-\entry{fmod}{534}{\code {fmod}} +-\entry{fmodf}{534}{\code {fmodf}} +-\entry{fmodl}{534}{\code {fmodl}} +-\entry{drem}{534}{\code {drem}} +-\entry{dremf}{535}{\code {dremf}} +-\entry{dreml}{535}{\code {dreml}} +-\entry{remainder}{535}{\code {remainder}} +-\entry{remainderf}{535}{\code {remainderf}} +-\entry{remainderl}{535}{\code {remainderl}} +-\entry{copysign}{535}{\code {copysign}} +-\entry{copysignf}{535}{\code {copysignf}} +-\entry{copysignl}{535}{\code {copysignl}} +-\entry{signbit}{535}{\code {signbit}} +-\entry{nextafter}{535}{\code {nextafter}} +-\entry{nextafterf}{535}{\code {nextafterf}} +-\entry{nextafterl}{535}{\code {nextafterl}} +-\entry{nexttoward}{536}{\code {nexttoward}} +-\entry{nexttowardf}{536}{\code {nexttowardf}} +-\entry{nexttowardl}{536}{\code {nexttowardl}} +-\entry{nan}{536}{\code {nan}} +-\entry{nanf}{536}{\code {nanf}} +-\entry{nanl}{536}{\code {nanl}} +-\entry{isgreater}{536}{\code {isgreater}} +-\entry{isgreaterequal}{536}{\code {isgreaterequal}} +-\entry{isless}{536}{\code {isless}} +-\entry{islessequal}{537}{\code {islessequal}} +-\entry{islessgreater}{537}{\code {islessgreater}} +-\entry{isunordered}{537}{\code {isunordered}} +-\entry{fmin}{537}{\code {fmin}} +-\entry{fminf}{537}{\code {fminf}} +-\entry{fminl}{537}{\code {fminl}} +-\entry{fmax}{537}{\code {fmax}} +-\entry{fmaxf}{537}{\code {fmaxf}} +-\entry{fmaxl}{537}{\code {fmaxl}} +-\entry{fdim}{537}{\code {fdim}} +-\entry{fdimf}{537}{\code {fdimf}} +-\entry{fdiml}{537}{\code {fdiml}} +-\entry{fma}{538}{\code {fma}} +-\entry{fmaf}{538}{\code {fmaf}} +-\entry{fmal}{538}{\code {fmal}} +-\entry{creal}{539}{\code {creal}} +-\entry{crealf}{539}{\code {crealf}} +-\entry{creall}{539}{\code {creall}} +-\entry{cimag}{539}{\code {cimag}} +-\entry{cimagf}{539}{\code {cimagf}} +-\entry{cimagl}{539}{\code {cimagl}} +-\entry{conj}{539}{\code {conj}} +-\entry{conjf}{539}{\code {conjf}} +-\entry{conjl}{539}{\code {conjl}} +-\entry{carg}{539}{\code {carg}} +-\entry{cargf}{539}{\code {cargf}} +-\entry{cargl}{539}{\code {cargl}} +-\entry{cproj}{539}{\code {cproj}} +-\entry{cprojf}{539}{\code {cprojf}} +-\entry{cprojl}{539}{\code {cprojl}} +-\entry{strtol}{540}{\code {strtol}} +-\entry{wcstol}{540}{\code {wcstol}} +-\entry{strtoul}{541}{\code {strtoul}} +-\entry{wcstoul}{541}{\code {wcstoul}} +-\entry{strtoll}{541}{\code {strtoll}} +-\entry{wcstoll}{541}{\code {wcstoll}} +-\entry{strtoq}{541}{\code {strtoq}} +-\entry{wcstoq}{541}{\code {wcstoq}} +-\entry{strtoull}{542}{\code {strtoull}} +-\entry{wcstoull}{542}{\code {wcstoull}} +-\entry{strtouq}{542}{\code {strtouq}} +-\entry{wcstouq}{542}{\code {wcstouq}} +-\entry{strtoimax}{542}{\code {strtoimax}} +-\entry{wcstoimax}{542}{\code {wcstoimax}} +-\entry{strtoumax}{542}{\code {strtoumax}} +-\entry{wcstoumax}{543}{\code {wcstoumax}} +-\entry{atol}{543}{\code {atol}} +-\entry{atoi}{543}{\code {atoi}} +-\entry{atoll}{543}{\code {atoll}} +-\entry{strtod}{544}{\code {strtod}} +-\entry{strtof}{545}{\code {strtof}} +-\entry{strtold}{545}{\code {strtold}} +-\entry{wcstod}{545}{\code {wcstod}} +-\entry{wcstof}{545}{\code {wcstof}} +-\entry{wcstold}{545}{\code {wcstold}} +-\entry{atof}{545}{\code {atof}} +-\entry{ecvt}{546}{\code {ecvt}} +-\entry{fcvt}{546}{\code {fcvt}} +-\entry{gcvt}{546}{\code {gcvt}} +-\entry{qecvt}{546}{\code {qecvt}} +-\entry{qfcvt}{546}{\code {qfcvt}} +-\entry{qgcvt}{546}{\code {qgcvt}} +-\entry{ecvt_r}{547}{\code {ecvt_r}} +-\entry{fcvt_r}{547}{\code {fcvt_r}} +-\entry{qecvt_r}{547}{\code {qecvt_r}} +-\entry{qfcvt_r}{547}{\code {qfcvt_r}} +-\entry{difftime}{549}{\code {difftime}} +-\entry{clock}{552}{\code {clock}} +-\entry{times}{553}{\code {times}} +-\entry{time}{554}{\code {time}} +-\entry{stime}{554}{\code {stime}} +-\entry{gettimeofday}{555}{\code {gettimeofday}} +-\entry{settimeofday}{555}{\code {settimeofday}} +-\entry{adjtime}{555}{\code {adjtime}} +-\entry{adjtimex}{556}{\code {adjtimex}} +-\entry{localtime}{557}{\code {localtime}} +-\entry{localtime_r}{558}{\code {localtime_r}} +-\entry{gmtime}{558}{\code {gmtime}} +-\entry{gmtime_r}{558}{\code {gmtime_r}} +-\entry{mktime}{558}{\code {mktime}} +-\entry{timelocal}{558}{\code {timelocal}} +-\entry{timegm}{559}{\code {timegm}} +-\entry{ntp_gettime}{559}{\code {ntp_gettime}} +-\entry{ntp_adjtime}{561}{\code {ntp_adjtime}} +-\entry{asctime}{562}{\code {asctime}} +-\entry{asctime_r}{562}{\code {asctime_r}} +-\entry{ctime}{562}{\code {ctime}} +-\entry{ctime_r}{562}{\code {ctime_r}} +-\entry{strftime}{563}{\code {strftime}} +-\entry{wcsftime}{567}{\code {wcsftime}} +-\entry{strptime}{567}{\code {strptime}} +-\entry{getdate}{573}{\code {getdate}} +-\entry{getdate_r}{574}{\code {getdate_r}} +-\entry{tzset}{577}{\code {tzset}} +-\entry{setitimer}{579}{\code {setitimer}} +-\entry{getitimer}{579}{\code {getitimer}} +-\entry{alarm}{579}{\code {alarm}} +-\entry{sleep}{580}{\code {sleep}} +-\entry{nanosleep}{581}{\code {nanosleep}} +-\entry{getrusage}{583}{\code {getrusage}} +-\entry{vtimes}{584}{\code {vtimes}} +-\entry{getrlimit}{586}{\code {getrlimit}} +-\entry{getrlimit64}{586}{\code {getrlimit64}} +-\entry{setrlimit}{586}{\code {setrlimit}} +-\entry{setrlimit64}{586}{\code {setrlimit64}} +-\entry{ulimit}{588}{\code {ulimit}} +-\entry{vlimit}{588}{\code {vlimit}} +-\entry{sched_setscheduler}{593}{\code {sched_setscheduler}} +-\entry{sched_getscheduler}{593}{\code {sched_getscheduler}} +-\entry{sched_setparam}{594}{\code {sched_setparam}} +-\entry{sched_getparam}{594}{\code {sched_getparam}} +-\entry{sched_get_priority_min}{594}{\code {sched_get_priority_min}} +-\entry{sched_get_priority_max}{594}{\code {sched_get_priority_max}} +-\entry{sched_rr_get_interval}{594}{\code {sched_rr_get_interval}} +-\entry{sched_yield}{594}{\code {sched_yield}} +-\entry{getpriority}{597}{\code {getpriority}} +-\entry{setpriority}{597}{\code {setpriority}} +-\entry{nice}{597}{\code {nice}} +-\entry{getpagesize}{599}{\code {getpagesize}} +-\entry{get_phys_pages}{599}{\code {get_phys_pages}} +-\entry{get_avphys_pages}{600}{\code {get_avphys_pages}} +-\entry{get_nprocs_conf}{600}{\code {get_nprocs_conf}} +-\entry{get_nprocs}{600}{\code {get_nprocs}} +-\entry{getloadavg}{600}{\code {getloadavg}} +-\entry{setjmp}{602}{\code {setjmp}} +-\entry{longjmp}{602}{\code {longjmp}} +-\entry{sigsetjmp}{603}{\code {sigsetjmp}} +-\entry{siglongjmp}{604}{\code {siglongjmp}} +-\entry{getcontext}{604}{\code {getcontext}} +-\entry{makecontext}{605}{\code {makecontext}} +-\entry{setcontext}{605}{\code {setcontext}} +-\entry{swapcontext}{606}{\code {swapcontext}} +-\entry{strsignal}{621}{\code {strsignal}} +-\entry{psignal}{621}{\code {psignal}} +-\entry{signal}{622}{\code {signal}} +-\entry{sysv_signal}{624}{\code {sysv_signal}} +-\entry{ssignal}{624}{\code {ssignal}} +-\entry{sigaction}{625}{\code {sigaction}} +-\entry{TEMP_FAILURE_RETRY}{638}{\code {TEMP_FAILURE_RETRY}} +-\entry{raise}{639}{\code {raise}} +-\entry{gsignal}{639}{\code {gsignal}} +-\entry{kill}{640}{\code {kill}} +-\entry{killpg}{641}{\code {killpg}} +-\entry{sigemptyset}{644}{\code {sigemptyset}} +-\entry{sigfillset}{644}{\code {sigfillset}} +-\entry{sigaddset}{644}{\code {sigaddset}} +-\entry{sigdelset}{644}{\code {sigdelset}} +-\entry{sigismember}{645}{\code {sigismember}} +-\entry{sigprocmask}{645}{\code {sigprocmask}} +-\entry{sigpending}{647}{\code {sigpending}} +-\entry{pause}{650}{\code {pause}} +-\entry{sigsuspend}{651}{\code {sigsuspend}} +-\entry{sigaltstack}{653}{\code {sigaltstack}} +-\entry{sigstack}{653}{\code {sigstack}} +-\entry{sigvec}{655}{\code {sigvec}} +-\entry{siginterrupt}{655}{\code {siginterrupt}} +-\entry{sigmask}{655}{\code {sigmask}} +-\entry{sigblock}{655}{\code {sigblock}} +-\entry{sigsetmask}{655}{\code {sigsetmask}} +-\entry{sigpause}{656}{\code {sigpause}} +-\entry{main}{657}{\code {main}} +-\entry{getopt}{659}{\code {getopt}} +-\entry{getopt_long}{663}{\code {getopt_long}} +-\entry{getopt_long_only}{663}{\code {getopt_long_only}} +-\entry{argp_parse}{666}{\code {argp_parse}} +-\entry{argp_usage}{674}{\code {argp_usage}} +-\entry{argp_error}{674}{\code {argp_error}} +-\entry{argp_failure}{674}{\code {argp_failure}} +-\entry{argp_state_help}{674}{\code {argp_state_help}} +-\entry{argp_help}{679}{\code {argp_help}} +-\entry{getsubopt}{689}{\code {getsubopt}} +-\entry{getenv}{691}{\code {getenv}} +-\entry{putenv}{692}{\code {putenv}} +-\entry{setenv}{692}{\code {setenv}} +-\entry{unsetenv}{692}{\code {unsetenv}} +-\entry{clearenv}{692}{\code {clearenv}} +-\entry{syscall}{695}{\code {syscall}} +-\entry{exit}{696}{\code {exit}} +-\entry{atexit}{698}{\code {atexit}} +-\entry{on_exit}{698}{\code {on_exit}} +-\entry{abort}{699}{\code {abort}} +-\entry{_exit}{699}{\code {_exit}} +-\entry{_Exit}{699}{\code {_Exit}} +-\entry{system}{701}{\code {system}} +-\entry{getpid}{702}{\code {getpid}} +-\entry{getppid}{702}{\code {getppid}} +-\entry{fork}{703}{\code {fork}} +-\entry{vfork}{703}{\code {vfork}} +-\entry{execv}{704}{\code {execv}} +-\entry{execl}{704}{\code {execl}} +-\entry{execve}{704}{\code {execve}} +-\entry{execle}{704}{\code {execle}} +-\entry{execvp}{705}{\code {execvp}} +-\entry{execlp}{705}{\code {execlp}} +-\entry{waitpid}{706}{\code {waitpid}} +-\entry{wait}{708}{\code {wait}} +-\entry{wait4}{708}{\code {wait4}} +-\entry{WIFEXITED}{709}{\code {WIFEXITED}} +-\entry{WEXITSTATUS}{709}{\code {WEXITSTATUS}} +-\entry{WIFSIGNALED}{709}{\code {WIFSIGNALED}} +-\entry{WTERMSIG}{70 |