[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r8721 - in /fsf/glibc-2_10-branch/libc: ./ assert/ csu/ ctype/ dirent/ dlfcn/ elf/ gmon/ gnulib/ grp/ hurd/ include/ inet/ i...



Author: eglibc
Date: Wed Jul 29 08:38:57 2009
New Revision: 8721

Log:
Import glibc-2.10 for 2009-07-29

Added:
    fsf/glibc-2_10-branch/libc/.gitignore
    fsf/glibc-2_10-branch/libc/csu/.gitignore
    fsf/glibc-2_10-branch/libc/elf/tst-audit3.c
    fsf/glibc-2_10-branch/libc/elf/tst-auditmod3a.c
    fsf/glibc-2_10-branch/libc/elf/tst-auditmod3b.c
    fsf/glibc-2_10-branch/libc/manual/.gitignore
    fsf/glibc-2_10-branch/libc/po/.gitignore
    fsf/glibc-2_10-branch/libc/sunrpc/.gitignore
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/i386/internal_accept4.S
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/internal_accept4.S
Removed:
    fsf/glibc-2_10-branch/libc/.cvsignore
    fsf/glibc-2_10-branch/libc/assert/.cvsignore
    fsf/glibc-2_10-branch/libc/csu/.cvsignore
    fsf/glibc-2_10-branch/libc/ctype/.cvsignore
    fsf/glibc-2_10-branch/libc/dirent/.cvsignore
    fsf/glibc-2_10-branch/libc/elf/.cvsignore
    fsf/glibc-2_10-branch/libc/gmon/.cvsignore
    fsf/glibc-2_10-branch/libc/gnulib/.cvsignore
    fsf/glibc-2_10-branch/libc/grp/.cvsignore
    fsf/glibc-2_10-branch/libc/hurd/.cvsignore
    fsf/glibc-2_10-branch/libc/inet/.cvsignore
    fsf/glibc-2_10-branch/libc/intl/.cvsignore
    fsf/glibc-2_10-branch/libc/io/.cvsignore
    fsf/glibc-2_10-branch/libc/libio/.cvsignore
    fsf/glibc-2_10-branch/libc/locale/.cvsignore
    fsf/glibc-2_10-branch/libc/mach/.cvsignore
    fsf/glibc-2_10-branch/libc/manual/.cvsignore
    fsf/glibc-2_10-branch/libc/math/.cvsignore
    fsf/glibc-2_10-branch/libc/misc/.cvsignore
    fsf/glibc-2_10-branch/libc/po/.cvsignore
    fsf/glibc-2_10-branch/libc/posix/.cvsignore
    fsf/glibc-2_10-branch/libc/pwd/.cvsignore
    fsf/glibc-2_10-branch/libc/resolv/.cvsignore
    fsf/glibc-2_10-branch/libc/resource/.cvsignore
    fsf/glibc-2_10-branch/libc/setjmp/.cvsignore
    fsf/glibc-2_10-branch/libc/signal/.cvsignore
    fsf/glibc-2_10-branch/libc/socket/.cvsignore
    fsf/glibc-2_10-branch/libc/stdio-common/.cvsignore
    fsf/glibc-2_10-branch/libc/stdlib/.cvsignore
    fsf/glibc-2_10-branch/libc/string/.cvsignore
    fsf/glibc-2_10-branch/libc/sunrpc/.cvsignore
    fsf/glibc-2_10-branch/libc/sysdeps/mach/hurd/.cvsignore
    fsf/glibc-2_10-branch/libc/sysdeps/unix/common/.cvsignore
    fsf/glibc-2_10-branch/libc/sysvipc/.cvsignore
    fsf/glibc-2_10-branch/libc/termios/.cvsignore
    fsf/glibc-2_10-branch/libc/time/.cvsignore
    fsf/glibc-2_10-branch/libc/wcsmbs/.cvsignore
    fsf/glibc-2_10-branch/libc/wctype/.cvsignore
Modified:
    fsf/glibc-2_10-branch/libc/ChangeLog
    fsf/glibc-2_10-branch/libc/NEWS
    fsf/glibc-2_10-branch/libc/configure
    fsf/glibc-2_10-branch/libc/configure.in
    fsf/glibc-2_10-branch/libc/dlfcn/dlfcn.h
    fsf/glibc-2_10-branch/libc/elf/Makefile
    fsf/glibc-2_10-branch/libc/elf/dl-sysdep.c
    fsf/glibc-2_10-branch/libc/include/atomic.h
    fsf/glibc-2_10-branch/libc/inet/netinet/icmp6.h
    fsf/glibc-2_10-branch/libc/libio/Makefile
    fsf/glibc-2_10-branch/libc/libio/fileops.c
    fsf/glibc-2_10-branch/libc/libio/tst-fgetwc.c
    fsf/glibc-2_10-branch/libc/localedata/ChangeLog
    fsf/glibc-2_10-branch/libc/localedata/locales/de_AT
    fsf/glibc-2_10-branch/libc/mach/err_boot.sub
    fsf/glibc-2_10-branch/libc/mach/err_ipc.sub
    fsf/glibc-2_10-branch/libc/mach/err_mach.sub
    fsf/glibc-2_10-branch/libc/malloc/malloc.c
    fsf/glibc-2_10-branch/libc/manual/charset.texi
    fsf/glibc-2_10-branch/libc/nis/nss_nis/nis-network.c
    fsf/glibc-2_10-branch/libc/nis/nss_nis/nis-pwd.c
    fsf/glibc-2_10-branch/libc/nis/nss_nisplus/nisplus-network.c
    fsf/glibc-2_10-branch/libc/nptl/ChangeLog
    fsf/glibc-2_10-branch/libc/nptl/cancellation.c
    fsf/glibc-2_10-branch/libc/nptl/libc-cancellation.c
    fsf/glibc-2_10-branch/libc/nptl/pthread_cancel.c
    fsf/glibc-2_10-branch/libc/nptl/pthread_mutex_unlock.c
    fsf/glibc-2_10-branch/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
    fsf/glibc-2_10-branch/libc/nptl_db/ChangeLog
    fsf/glibc-2_10-branch/libc/nptl_db/db-symbols.awk
    fsf/glibc-2_10-branch/libc/nscd/cache.c
    fsf/glibc-2_10-branch/libc/nscd/nscd-client.h
    fsf/glibc-2_10-branch/libc/nscd/nscd.c
    fsf/glibc-2_10-branch/libc/nscd/nscd_getai.c
    fsf/glibc-2_10-branch/libc/nscd/nscd_getgr_r.c
    fsf/glibc-2_10-branch/libc/nscd/nscd_gethst_r.c
    fsf/glibc-2_10-branch/libc/nscd/nscd_getpw_r.c
    fsf/glibc-2_10-branch/libc/nscd/nscd_getserv_r.c
    fsf/glibc-2_10-branch/libc/nscd/nscd_helper.c
    fsf/glibc-2_10-branch/libc/nscd/nscd_initgroups.c
    fsf/glibc-2_10-branch/libc/nscd/selinux.c
    fsf/glibc-2_10-branch/libc/nscd/selinux.h
    fsf/glibc-2_10-branch/libc/nss/getent.c
    fsf/glibc-2_10-branch/libc/nss/nss_files/files-network.c
    fsf/glibc-2_10-branch/libc/posix/tst-cpucount.c
    fsf/glibc-2_10-branch/libc/resolv/ns_date.c
    fsf/glibc-2_10-branch/libc/resolv/res_send.c
    fsf/glibc-2_10-branch/libc/stdlib/stdlib.h
    fsf/glibc-2_10-branch/libc/string/test-memchr.c
    fsf/glibc-2_10-branch/libc/sunrpc/auth_des.c
    fsf/glibc-2_10-branch/libc/sunrpc/auth_none.c
    fsf/glibc-2_10-branch/libc/sunrpc/auth_unix.c
    fsf/glibc-2_10-branch/libc/sunrpc/authdes_prot.c
    fsf/glibc-2_10-branch/libc/sunrpc/authuxprot.c
    fsf/glibc-2_10-branch/libc/sunrpc/bindrsvprt.c
    fsf/glibc-2_10-branch/libc/sunrpc/clnt_gen.c
    fsf/glibc-2_10-branch/libc/sunrpc/clnt_perr.c
    fsf/glibc-2_10-branch/libc/sunrpc/clnt_raw.c
    fsf/glibc-2_10-branch/libc/sunrpc/clnt_simp.c
    fsf/glibc-2_10-branch/libc/sunrpc/clnt_tcp.c
    fsf/glibc-2_10-branch/libc/sunrpc/clnt_udp.c
    fsf/glibc-2_10-branch/libc/sunrpc/clnt_unix.c
    fsf/glibc-2_10-branch/libc/sunrpc/des_crypt.c
    fsf/glibc-2_10-branch/libc/sunrpc/des_soft.c
    fsf/glibc-2_10-branch/libc/sunrpc/get_myaddr.c
    fsf/glibc-2_10-branch/libc/sunrpc/getrpcport.c
    fsf/glibc-2_10-branch/libc/sunrpc/key_call.c
    fsf/glibc-2_10-branch/libc/sunrpc/key_prot.c
    fsf/glibc-2_10-branch/libc/sunrpc/openchild.c
    fsf/glibc-2_10-branch/libc/sunrpc/pm_getmaps.c
    fsf/glibc-2_10-branch/libc/sunrpc/pm_getport.c
    fsf/glibc-2_10-branch/libc/sunrpc/pmap_clnt.c
    fsf/glibc-2_10-branch/libc/sunrpc/pmap_prot.c
    fsf/glibc-2_10-branch/libc/sunrpc/pmap_prot2.c
    fsf/glibc-2_10-branch/libc/sunrpc/pmap_rmt.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/auth.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/auth_unix.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/clnt.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/des_crypt.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/key_prot.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/netdb.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/pmap_clnt.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/pmap_prot.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/pmap_rmt.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/rpc.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/rpc_des.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/rpc_msg.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/svc.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/svc_auth.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/types.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc/xdr.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_clntout.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_cmsg.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_common.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_cout.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_dtable.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_hout.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_main.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_parse.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_parse.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_prot.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_sample.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_scan.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_scan.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_svcout.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_tblout.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_util.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpc_util.h
    fsf/glibc-2_10-branch/libc/sunrpc/rpcinfo.c
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/bootparam_prot.x
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/key_prot.x
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/klm_prot.x
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/mount.x
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/nfs_prot.x
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/rex.x
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/rstat.x
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/rusers.x
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/sm_inter.x
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/spray.x
    fsf/glibc-2_10-branch/libc/sunrpc/rpcsvc/yppasswd.x
    fsf/glibc-2_10-branch/libc/sunrpc/rtime.c
    fsf/glibc-2_10-branch/libc/sunrpc/svc.c
    fsf/glibc-2_10-branch/libc/sunrpc/svc_auth.c
    fsf/glibc-2_10-branch/libc/sunrpc/svc_authux.c
    fsf/glibc-2_10-branch/libc/sunrpc/svc_raw.c
    fsf/glibc-2_10-branch/libc/sunrpc/svc_run.c
    fsf/glibc-2_10-branch/libc/sunrpc/svc_simple.c
    fsf/glibc-2_10-branch/libc/sunrpc/svc_tcp.c
    fsf/glibc-2_10-branch/libc/sunrpc/svc_udp.c
    fsf/glibc-2_10-branch/libc/sunrpc/svc_unix.c
    fsf/glibc-2_10-branch/libc/sunrpc/svcauth_des.c
    fsf/glibc-2_10-branch/libc/sunrpc/xcrypt.c
    fsf/glibc-2_10-branch/libc/sunrpc/xdr.c
    fsf/glibc-2_10-branch/libc/sunrpc/xdr_array.c
    fsf/glibc-2_10-branch/libc/sunrpc/xdr_float.c
    fsf/glibc-2_10-branch/libc/sunrpc/xdr_mem.c
    fsf/glibc-2_10-branch/libc/sunrpc/xdr_rec.c
    fsf/glibc-2_10-branch/libc/sunrpc/xdr_ref.c
    fsf/glibc-2_10-branch/libc/sunrpc/xdr_sizeof.c
    fsf/glibc-2_10-branch/libc/sunrpc/xdr_stdio.c
    fsf/glibc-2_10-branch/libc/sysdeps/ia64/memchr.S
    fsf/glibc-2_10-branch/libc/sysdeps/ieee754/ldbl-128/s_cosl.c
    fsf/glibc-2_10-branch/libc/sysdeps/ieee754/ldbl-128/s_expm1l.c
    fsf/glibc-2_10-branch/libc/sysdeps/ieee754/ldbl-128/s_sinl.c
    fsf/glibc-2_10-branch/libc/sysdeps/ieee754/ldbl-128/s_tanl.c
    fsf/glibc-2_10-branch/libc/sysdeps/ieee754/ldbl-128ibm/s_cosl.c
    fsf/glibc-2_10-branch/libc/sysdeps/ieee754/ldbl-128ibm/s_expm1l.c
    fsf/glibc-2_10-branch/libc/sysdeps/ieee754/ldbl-128ibm/s_sinl.c
    fsf/glibc-2_10-branch/libc/sysdeps/ieee754/ldbl-128ibm/s_tanl.c
    fsf/glibc-2_10-branch/libc/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S
    fsf/glibc-2_10-branch/libc/sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S
    fsf/glibc-2_10-branch/libc/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S
    fsf/glibc-2_10-branch/libc/sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S
    fsf/glibc-2_10-branch/libc/sysdeps/powerpc/powerpc32/power6/memcpy.S
    fsf/glibc-2_10-branch/libc/sysdeps/powerpc/powerpc32/power6/memset.S
    fsf/glibc-2_10-branch/libc/sysdeps/powerpc/sysdep.h
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/Makefile
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/accept4.c
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/bits/socket.h
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/eventfd.c
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/grantpt.c
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/i386/accept4.S
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/kernel-features.h
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/net/if_arp.h
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/signalfd.c
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/socketcall.h
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/sparc/bits/socket.h
    fsf/glibc-2_10-branch/libc/sysdeps/unix/sysv/linux/sys/epoll.h
    fsf/glibc-2_10-branch/libc/sysdeps/x86_64/dl-trampoline.S
    fsf/glibc-2_10-branch/libc/sysdeps/x86_64/memchr.S
    fsf/glibc-2_10-branch/libc/time/tzfile.c

Added: fsf/glibc-2_10-branch/libc/.gitignore
==============================================================================
--- fsf/glibc-2_10-branch/libc/.gitignore (added)
+++ fsf/glibc-2_10-branch/libc/.gitignore Wed Jul 29 08:38:57 2009
@@ -1,0 +1,46 @@
+*~
+*.d
+*.o
+*.so
+*.po
+*.go
+*.bo
+stamp.*
+*.stamp
+*.ustamp
+*.udeps
+*.gz
+*.Z
+*.tar
+*.tgz
+*.bz2
+=*
+TODO
+AUTHORS
+copyr-*
+copying.*
+glibc-*
+
+configparms
+
+ieeetest
+regex
+
+gpl2lgpl.sed
+distinfo
+
+test-include
+analysis
+docs
+releases
+
+libc.prj
+.libc.prcs_aux
+libc.proj
+.snprj
+
+TODO.html
+
+autom4te*.cache
+
+rtkaio

Modified: fsf/glibc-2_10-branch/libc/ChangeLog
==============================================================================
--- fsf/glibc-2_10-branch/libc/ChangeLog (original)
+++ fsf/glibc-2_10-branch/libc/ChangeLog Wed Jul 29 08:38:57 2009
@@ -1,3 +1,371 @@
+2009-05-22  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/accept4.c: Include kernel-features.h.
+	(accept4): If __NR_accept4 is not defined, but __NR_socketcall
+	is, either do nothing at all if __ASSUME_ACCEPT4, or
+	call __internal_accept4 and handle EINVAL -> ENOSYS translation.
+	* sysdeps/unix/sysv/linux/internal_accept4.S: New file.
+	* sysdeps/unix/sysv/linux/i386/accept4.S (SOCKOP_accept4): Don't
+	define.
+	* sysdeps/unix/sysv/linux/i386/internal_accept4.S: New file.
+	* sysdeps/unix/sysv/linux/Makefile (sysdep-routines): Add
+	internal_accept4 in socket directory.
+
+2009-07-26  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #10422]
+	* sysdeps/unix/sysv/linux/eventfd.c: Add compatibility for old
+	kernels, dropped when eventfd2 support was added.
+	* sysdeps/unix/sysv/linux/signalfd.c: Add compatibility for old
+	kernels, dropped when signalfd4 support was added.
+	* sysdeps/unix/sysv/linux/kernel-features.h: More CLOEXEC syscalls
+	added, name them.
+
+	[BZ #10452]
+	* resolv/res_send.c (send_dg): Pass full SERVFAIL, NOTIMP, REFUSED
+	replies up.
+
+2009-07-16  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* nscd/cache.c (cache_add): Use atomic_compare_and_exchange_bool_rel
+	instead of atomic_compare_and_exchange_bool_acq to ensure pointer
+	is written before the list head update.
+	Patch by Andreas Schwab <aschwab@xxxxxxxxxx>.
+
+	    Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* malloc/malloc.c [ATOMIC_FASTBINS] (_int_free): Make check for
+	corruption thread-safe.
+
+2009-07-13  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* include/atomic.h (catomic_compare_and_exchange_val_rel): If arch
+	overrides atomic_compare_and_exchange_val_rel, define to
+	atomic_compare_and_exchange_val_rel by default, otherwise default
+	to catomic_compare_and_exchange_val_acq.
+	(catomic_compare_and_exchange_bool_rel): If arch overrides
+	atomic_compare_and_exchange_bool_rel, define to
+	atomic_compare_and_exchange_bool_rel by default.
+	* malloc/malloc.c (_int_free): Revert 2009-07-02 change.
+	Use catomic_compare_and_exchange_val_rel instead of
+	catomic_compare_and_exchange_val_acq.
+
+2009-07-07  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* elf/Makefile: Don't build modules for tst-audit3 for anything
+	but x86-64 targets.
+
+2009-07-10  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/sys/epoll.h: Fix comment.
+
+2009-07-03  Andreas Schwab  <aschwab@xxxxxxxxxx>
+
+	* sysdeps/powerpc/sysdep.h (PPC_FEATURE_ARCH_2_06): Fix value.
+	(PPC_FEATURE_HAS_VSX): Likewise.
+
+2009-06-30  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* elf/Makefile (distribute): Remove tst-audit.sh.  Add
+	tst-audit2.c, tst-audit3.c, tst-auditmod3a.c, tst-auditmod3b.c.
+	(tests): Add tst-audit3 for x86_64.
+	(modules-names): Add tst-auditmod3a, tst-auditmod3b.
+	($(objpfx)tst-audit3): Define.
+	($(objpfx)tst-audit3.out): Define.
+	(tst-audit3-ENV): Define.
+	* elf/tst-audit3.c: New file.
+	* elf/tst-auditmod3a.c: New file.
+	* elf/tst-auditmod3b.c: New file.
+	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Save
+	and restore xmm6.
+
+2009-07-02  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* malloc/malloc.c [ATOMIC_FASTBINS] (_int_free): Add full barrier when
+	adding to fast bin list.
+
+2009-07-01  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* nis/nss_nis/nis-network.c (_nss_nis_getnetbyaddr_r): Don't use
+	inet_makeaddr.  This worked only with class-based networks.
+	* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyaddr_r):
+	Likewise.
+
+	* nss/nss_files/files-network.c (netbyaddr): If type is AF_UNSPEC,
+	recognize all types.
+	* nss/getent.c (networks_keys): Pass AF_UNSPEC instead of AF_UNIX
+	to getnetbyaddr.  Fix network parameter to getnetbyaddr.  It must
+	be in host byte order.
+
+2009-06-24  Andreas Schwab  <aschwab@xxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S: Fix cfa offset
+	for saved registers.
+	* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S: Likewise.
+	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S: Likewise.
+	* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S: Likewise.
+
+2009-06-23  Andreas Schwab  <aschwab@xxxxxxxxxx>
+
+	* time/tzfile.c (__tzfile_read): Don't use an empty TZ string.
+
+2009-06-18  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/bits/socket.h: Define PF_IEEE802154 and
+	AF_IEEE802154.
+	* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise.
+	* sysdeps/unix/sysv/linux/net/if_arp.h: Define ARPHRD_IEEE802154
+	and ARPHRD_IEEE802154_PHY.
+
+	* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Add missing definitions
+	relative to generic Linux version.
+
+2009-06-16  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* sysdeps/x86_64/memchr.S (memchr): Use unsigned instead of signed
+	comparisons.
+	* string/test-memchr.c (do_random_tests): Test very large lengths
+	as well.
+
+2009-04-22  Ryan S. Arnold  <rsa@xxxxxxxxxx>
+
+	[BZ #10107]
+	* sysdeps/powerpc/powerpc32/power6/memcpy.S (memcpy): Replace cmpldi
+	with cmplwi.
+	* sysdeps/powerpc/powerpc32/power6/memset.S (memset): Likewise.
+
+2009-06-15  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #10166]
+	* sysdeps/unix/sysv/linux/grantpt.c: Remove shortcut which was used
+	when the slave device is in devpts or devfs.
+
+	[BZ #10183]
+	* posix/tst-cpucount.c: Don't try more than CPU_SETSIZE bits.
+
+	[BZ #10195]
+	* inet/netinet/icmp6.h (struct nd_opt_home_agent_info): Change type
+	of nd_opt_home_agent_info_preference to uint16_t.
+	Patch by Arnaud Ebalard <arno@xxxxxxxxxxxx>.
+
+	[BZ #10203]
+	* nis/nss_nis/nis-pwd.c (internal_nis_endpwent): Free all buffers,
+	not just the currently used one and those which follow.
+	Patch by Joe Landers <jlanders@xxxxxxxxxx>.
+
+	[BZ #10196]
+	* libio/tst-fgetwc.c (do_test): Use de_DE.UTF-8 as locale name.
+	* libio/Makefile: Run tst-fgetwc with necessary envvar.
+	Patch by Bruce Dubbs <bdubbs@xxxxxxxxxxxxxxxxxxxx>.
+
+	* time/tzfile.c (__tzfile_read): Correct computation of tzspec_len.
+
+	[BZ #10211]
+	* time/tzfile.c (__tzfile_compute): If we use the envvar format still
+	handle leap seconds if they are available.
+	Patch by Akinori Hattori <hattya@xxxxxxxxxx>.
+
+2009-06-11  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* resolv/res_send.c (send_dg): Remember we switched to
+	single-request mode.
+
+2009-06-09  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* dlfcn/dlfcn.h: Remove comma at end of enum.
+	Patch by J.H.M. Dassen <rdassen@xxxxxxxxxx>.
+
+	* libio/fileops.c (_IO_new_file_fopen): Don't prematurely stop
+	parsing mode string.
+
+2009-06-03  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* elf/dl-sysdep.c (_dl_show_auxv): Terminate correct string.
+
+2009-05-30  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* configure.in: Move AC_CANONICAL_HOST before first use of $host
+	and $build.
+	* configure: Regenerated.
+
+2009-05-29  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* sysdeps/ieee754/ldbl-128/s_expm1l.c: Include <errno.h>.
+	(__expm1l): Set errno to ERANGE on overflow.
+	* sysdeps/ieee754/ldbl-128/s_tanl.c: Include <errno.h>.
+	(__tanl): Set errno to EDOM for ±Inf.
+	* sysdeps/ieee754/ldbl-128/s_cosl.c: Include <errno.h>.
+	(__cosl): Set errno to EDOM for ±Inf.
+	* sysdeps/ieee754/ldbl-128/s_sinl.c: Include <errno.h>.
+	(__sinl): Set errno to EDOM for ±Inf.
+
+2009-05-22  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/ieee754/ldbl-128ibm/s_sinl.c: Set errno for ±Inf.
+	* sysdeps/ieee754/ldbl-128ibm/s_cosl.c: Likewise.
+	* sysdeps/ieee754/ldbl-128ibm/s_tanl.c: Likewise.
+	* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c: Set errno for overflow.
+
+2009-05-21  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #10162]
+	* sysdeps/ia64/memchr.S: Use speculative load.
+
+2009-05-21  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/kernel-features.h: Don't define
+	__ASSUME_ACCEPT4 for IA-64.
+
+2009-05-21  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/accept4.c (__NR_accept4): Don't define.
+
+	* sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_paccept): Remove.
+	(SOCKOP_accept4): Define.
+
+2009-05-20  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	Sun approved the change of the license.
+	* sunrpc/auth_des.c: Replace license text.
+	* sunrpc/auth_none.c: Likewise.
+	* sunrpc/auth_unix.c: Likewise.
+	* sunrpc/authdes_prot.c: Likewise.
+	* sunrpc/authuxprot.c: Likewise.
+	* sunrpc/bindrsvprt.c: Likewise.
+	* sunrpc/clnt_gen.c: Likewise.
+	* sunrpc/clnt_perr.c: Likewise.
+	* sunrpc/clnt_raw.c: Likewise.
+	* sunrpc/clnt_simp.c: Likewise.
+	* sunrpc/clnt_tcp.c: Likewise.
+	* sunrpc/clnt_udp.c: Likewise.
+	* sunrpc/clnt_unix.c: Likewise.
+	* sunrpc/des_crypt.c: Likewise.
+	* sunrpc/des_soft.c: Likewise.
+	* sunrpc/get_myaddr.c: Likewise.
+	* sunrpc/getrpcport.c: Likewise.
+	* sunrpc/key_call.c: Likewise.
+	* sunrpc/key_prot.c: Likewise.
+	* sunrpc/openchild.c: Likewise.
+	* sunrpc/pm_getmaps.c: Likewise.
+	* sunrpc/pm_getport.c: Likewise.
+	* sunrpc/pmap_clnt.c: Likewise.
+	* sunrpc/pmap_prot.c: Likewise.
+	* sunrpc/pmap_prot2.c: Likewise.
+	* sunrpc/pmap_rmt.c: Likewise.
+	* sunrpc/rpc/auth.h: Likewise.
+	* sunrpc/rpc/auth_unix.h: Likewise.
+	* sunrpc/rpc/clnt.h: Likewise.
+	* sunrpc/rpc/des_crypt.h: Likewise.
+	* sunrpc/rpc/key_prot.h: Likewise.
+	* sunrpc/rpc/netdb.h: Likewise.
+	* sunrpc/rpc/pmap_clnt.h: Likewise.
+	* sunrpc/rpc/pmap_prot.h: Likewise.
+	* sunrpc/rpc/pmap_rmt.h: Likewise.
+	* sunrpc/rpc/rpc.h: Likewise.
+	* sunrpc/rpc/rpc_des.h: Likewise.
+	* sunrpc/rpc/rpc_msg.h: Likewise.
+	* sunrpc/rpc/svc.h: Likewise.
+	* sunrpc/rpc/svc_auth.h: Likewise.
+	* sunrpc/rpc/types.h: Likewise.
+	* sunrpc/rpc/xdr.h: Likewise.
+	* sunrpc/rpc_clntout.c: Likewise.
+	* sunrpc/rpc_cmsg.c: Likewise.
+	* sunrpc/rpc_common.c: Likewise.
+	* sunrpc/rpc_cout.c: Likewise.
+	* sunrpc/rpc_dtable.c: Likewise.
+	* sunrpc/rpc_hout.c: Likewise.
+	* sunrpc/rpc_main.c: Likewise.
+	* sunrpc/rpc_parse.c: Likewise.
+	* sunrpc/rpc_parse.h: Likewise.
+	* sunrpc/rpc_prot.c: Likewise.
+	* sunrpc/rpc_sample.c: Likewise.
+	* sunrpc/rpc_scan.c: Likewise.
+	* sunrpc/rpc_scan.h: Likewise.
+	* sunrpc/rpc_svcout.c: Likewise.
+	* sunrpc/rpc_tblout.c: Likewise.
+	* sunrpc/rpc_util.c: Likewise.
+	* sunrpc/rpc_util.h: Likewise.
+	* sunrpc/rpcinfo.c: Likewise.
+	* sunrpc/rpcsvc/bootparam_prot.x: Likewise.
+	* sunrpc/rpcsvc/key_prot.x: Likewise.
+	* sunrpc/rpcsvc/klm_prot.x: Likewise.
+	* sunrpc/rpcsvc/mount.x: Likewise.
+	* sunrpc/rpcsvc/nfs_prot.x: Likewise.
+	* sunrpc/rpcsvc/rex.x: Likewise.
+	* sunrpc/rpcsvc/rstat.x: Likewise.
+	* sunrpc/rpcsvc/rusers.x: Likewise.
+	* sunrpc/rpcsvc/sm_inter.x: Likewise.
+	* sunrpc/rpcsvc/spray.x: Likewise.
+	* sunrpc/rpcsvc/yppasswd.x: Likewise.
+	* sunrpc/rtime.c: Likewise.
+	* sunrpc/svc.c: Likewise.
+	* sunrpc/svc_auth.c: Likewise.
+	* sunrpc/svc_authux.c: Likewise.
+	* sunrpc/svc_raw.c: Likewise.
+	* sunrpc/svc_run.c: Likewise.
+	* sunrpc/svc_simple.c: Likewise.
+	* sunrpc/svc_tcp.c: Likewise.
+	* sunrpc/svc_udp.c: Likewise.
+	* sunrpc/svc_unix.c: Likewise.
+	* sunrpc/svcauth_des.c: Likewise.
+	* sunrpc/xcrypt.c: Likewise.
+	* sunrpc/xdr.c: Likewise.
+	* sunrpc/xdr_array.c: Likewise.
+	* sunrpc/xdr_float.c: Likewise.
+	* sunrpc/xdr_mem.c: Likewise.
+	* sunrpc/xdr_rec.c: Likewise.
+	* sunrpc/xdr_ref.c: Likewise.
+	* sunrpc/xdr_sizeof.c: Likewise.
+	* sunrpc/xdr_stdio.c: Likewise.
+
+2009-05-18  Jakub Jelinek  <jakub@xxxxxxxxxx>
+	    Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* nscd/nscd_helper.c (MINIMUM_HASHENTRY_SIZE): Define.
+	(__nscd_cache_search): Assume each entry in the
+	hash chain needs one hashentry and half of datahead.  Use
+	MINIMUM_HASHENTRY_SIZE instead of sizeof(hashentry).
+
+2009-05-16  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #10159]
+	* stdlib/stdlib.h (__WAIT_INT): Match the definition in <sys/wait.h>.
+
+	* nscd/nscd_helper.c (__nscd_cache_search): Fix exit condition in last
+	patch.
+
+2009-05-15  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* nscd/nscd_helper.c (__nscd_cache_search): Introduce loop counter.
+	Use it if we absolutely cannot reach any more correct list elements
+	because that many do not fit into the currently mapped database.
+
+2009-05-14  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* nscd/nscd_helper.c: Include stddef.h.
+	(__nscd_cache_search): Add datalen argument.  Use atomic_forced_read
+	in a couple of places.  Return NULL if trail is not less than
+	datasize, don't consider dataheads with length smaller than
+	offsetof (struct datahead, data) + datalen.
+	* nscd/nscd_client.h (__nscd_cache_search): Adjust prototype.
+	* nscd/nscd_gethst_r.c (nscd_gethst_r): Adjust callers.
+	* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
+	* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
+	* nscd/nscd_getai.c (__nscd_getai): Likewise.
+	* nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise.
+	* nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.
+
+	* nscd/selinux.c (nscd_avc_destroy): Removed.
+	* nscd/selinux.h (nscd_avc_destroy): Likewise.
+	* nscd/nscd.c (termination_handler): Don't call
+	nscd_avc_destroy.
+
+2009-05-12  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* include/atomic.h: Formatting.
+	(catomic_compare_and_exchange_val_acq): Don't define if already
+	defined by bits/atomic.h.
+
 2009-05-10  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* version.h (VERSION): Bump to 2.10.1.

Modified: fsf/glibc-2_10-branch/libc/NEWS
==============================================================================
--- fsf/glibc-2_10-branch/libc/NEWS (original)
+++ fsf/glibc-2_10-branch/libc/NEWS Wed Jul 29 08:38:57 2009
@@ -45,6 +45,13 @@
   Implemented by Ulrich Drepper.
 
 * Handling for group shadow files has been added.
+  Implemented by Ulrich Drepper.
+
+* DNS IPv4-IPv6 parallel lookup now deals better with broken DNS
+  servers (the case, e.g., for some people using the built-in DNS
+  server in ADSL modems/routers).  There is a once-per-process timeout
+  in case of a broken server.  To avoid it, users can run nscd or put
+  'options single-request' in /etc/resolv.conf.
   Implemented by Ulrich Drepper.
 
 

Modified: fsf/glibc-2_10-branch/libc/configure
==============================================================================
--- fsf/glibc-2_10-branch/libc/configure (original)
+++ fsf/glibc-2_10-branch/libc/configure Wed Jul 29 08:38:57 2009
@@ -726,14 +726,6 @@
 add_on_subdirs
 add_ons
 subdirs
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
 libc_cv_nss_crypt
 experimental_malloc
 multi_arch
@@ -756,6 +748,14 @@
 LDFLAGS
 CFLAGS
 CC
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
 target_alias
 host_alias
 build_alias
@@ -2011,6 +2011,90 @@
 
 
 
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -3842,90 +3926,6 @@
 else
   libc_cv_nss_crypt=no
 fi
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
-   { (exit 1); exit 1; }; }
-
-{ $as_echo "$as_me:$LINENO: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
-   { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-$as_echo "$as_me: error: invalid value of canonical build" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:$LINENO: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-$as_echo "$as_me: error: invalid value of canonical host" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
 
 
 # The way shlib-versions is used to generate soversions.mk uses a

Modified: fsf/glibc-2_10-branch/libc/configure.in
==============================================================================
--- fsf/glibc-2_10-branch/libc/configure.in (original)
+++ fsf/glibc-2_10-branch/libc/configure.in Wed Jul 29 08:38:57 2009
@@ -5,6 +5,8 @@
 AC_CONFIG_SRCDIR([include/features.h])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR([scripts])
+
+AC_CANONICAL_HOST
 
 AC_PROG_CC
 if test $host != $build; then
@@ -315,8 +317,6 @@
   libc_cv_nss_crypt=no
 fi
 AC_SUBST(libc_cv_nss_crypt)
-
-AC_CANONICAL_HOST
 
 # The way shlib-versions is used to generate soversions.mk uses a
 # fairly simplistic model for name recognition that can't distinguish

Added: fsf/glibc-2_10-branch/libc/csu/.gitignore
==============================================================================
--- fsf/glibc-2_10-branch/libc/csu/.gitignore (added)
+++ fsf/glibc-2_10-branch/libc/csu/.gitignore Wed Jul 29 08:38:57 2009
@@ -1,0 +1,1 @@
+specs

Modified: fsf/glibc-2_10-branch/libc/dlfcn/dlfcn.h
==============================================================================
--- fsf/glibc-2_10-branch/libc/dlfcn/dlfcn.h (original)
+++ fsf/glibc-2_10-branch/libc/dlfcn/dlfcn.h Wed Jul 29 08:38:57 2009
@@ -1,6 +1,5 @@
 /* User functions for run-time dynamic loading.
-   Copyright (C) 1995-1999,2000,2001,2003,2004,2006
-	Free Software Foundation, Inc.
+   Copyright (C) 1995-2001,2003,2004,2006,2009 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
@@ -164,7 +163,7 @@
        segment, or if the calling thread has not allocated a block for it.  */
     RTLD_DI_TLS_DATA = 10,
 
-    RTLD_DI_MAX = 10,
+    RTLD_DI_MAX = 10
   };
 
 

Modified: fsf/glibc-2_10-branch/libc/elf/Makefile
==============================================================================
--- fsf/glibc-2_10-branch/libc/elf/Makefile (original)
+++ fsf/glibc-2_10-branch/libc/elf/Makefile Wed Jul 29 08:38:57 2009
@@ -89,7 +89,8 @@
 		   unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \
 		   unload6mod1.c unload6mod2.c unload6mod3.c \
 		   unload7mod1.c unload7mod2.c \
-		   tst-auditmod1.c tst-audit.sh \
+		   tst-audit1.c tst-audit2.c tst-audit3.c \
+		   tst-auditmod1.c tst-auditmod3a.c tst-auditmod3b.c \
 		   order2mod1.c order2mod2.c order2mod3.c order2mod4.c \
 		   tst-stackguard1.c tst-stackguard1-static.c \
 		   tst-array5.c tst-array5-static.c tst-array5dep.c \
@@ -176,6 +177,9 @@
 #	 reldep9
 test-srcs = tst-pathopt
 tests-execstack-yes = tst-execstack tst-execstack-needed tst-execstack-prog
+ifeq (x86_64,$(config-machine))
+tests += tst-audit3
+endif
 endif
 ifeq (yesyes,$(have-fpie)$(build-shared))
 tests: $(objpfx)tst-pie1.out
@@ -223,6 +227,9 @@
 endif
 ifeq (yesyes,$(have-fpie)$(build-shared))
 modules-names += tst-piemod1
+endif
+ifeq (x86_64,$(config-machine))
+modules-names += tst-auditmod3a tst-auditmod3b
 endif
 modules-execstack-yes = tst-execstack-mod
 extra-test-objs += $(addsuffix .os,$(strip $(modules-names)))
@@ -914,6 +921,10 @@
 $(objpfx)tst-audit2.out: $(objpfx)tst-auditmod1.so
 tst-audit2-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so
 
+$(objpfx)tst-audit3: $(objpfx)tst-auditmod3a.so
+$(objpfx)tst-audit3.out: $(objpfx)tst-auditmod3b.so
+tst-audit3-ENV = LD_AUDIT=$(objpfx)tst-auditmod3b.so
+
 $(objpfx)tst-global1: $(libdl)
 $(objpfx)tst-global1.out: $(objpfx)testobj6.so $(objpfx)testobj2.so
 

Modified: fsf/glibc-2_10-branch/libc/elf/dl-sysdep.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/elf/dl-sysdep.c (original)
+++ fsf/glibc-2_10-branch/libc/elf/dl-sysdep.c Wed Jul 29 08:38:57 2009
@@ -335,7 +335,7 @@
 
       /* Unknown value: print a generic line.  */
       char buf2[17];
-      buf[sizeof (buf2) - 1] = '\0';
+      buf2[sizeof (buf2) - 1] = '\0';
       const char *val2 = _itoa ((unsigned long int) av->a_un.a_val,
 				buf2 + sizeof buf2 - 1, 16, 0);
       const char *val =  _itoa ((unsigned long int) av->a_type,

Added: fsf/glibc-2_10-branch/libc/elf/tst-audit3.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/elf/tst-audit3.c (added)
+++ fsf/glibc-2_10-branch/libc/elf/tst-audit3.c Wed Jul 29 08:38:57 2009
@@ -1,0 +1,20 @@
+/* Test case for x86-64 preserved registers in dynamic linker.  */
+
+#include <stdlib.h>
+#include <string.h>
+
+#include <emmintrin.h>
+
+extern __m128i audit_test (__m128i, __m128i, __m128i, __m128i,
+			   __m128i, __m128i, __m128i, __m128i);
+int
+main (void)
+{
+  __m128i xmm = _mm_setzero_si128 ();
+  __m128i ret = audit_test (xmm, xmm, xmm, xmm, xmm, xmm, xmm, xmm);
+
+  if (memcmp (&xmm, &ret, sizeof (ret)))
+    abort ();
+
+  return 0;
+}

Added: fsf/glibc-2_10-branch/libc/elf/tst-auditmod3a.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/elf/tst-auditmod3a.c (added)
+++ fsf/glibc-2_10-branch/libc/elf/tst-auditmod3a.c Wed Jul 29 08:38:57 2009
@@ -1,0 +1,24 @@
+/* Test case for x86-64 preserved registers in dynamic linker.  */
+
+#include <stdlib.h>
+#include <string.h>
+#include <emmintrin.h>
+
+__m128i
+audit_test (__m128i x0, __m128i x1, __m128i x2, __m128i x3,
+	    __m128i x4, __m128i x5, __m128i x6, __m128i x7)
+{
+  __m128i xmm = _mm_setzero_si128 ();
+
+  if (memcmp (&xmm, &x0, sizeof (xmm))
+      || memcmp (&xmm, &x1, sizeof (xmm))
+      || memcmp (&xmm, &x2, sizeof (xmm))
+      || memcmp (&xmm, &x3, sizeof (xmm))
+      || memcmp (&xmm, &x4, sizeof (xmm))
+      || memcmp (&xmm, &x5, sizeof (xmm))
+      || memcmp (&xmm, &x6, sizeof (xmm))
+      || memcmp (&xmm, &x7, sizeof (xmm)))
+    abort ();
+
+  return xmm;
+}

Added: fsf/glibc-2_10-branch/libc/elf/tst-auditmod3b.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/elf/tst-auditmod3b.c (added)
+++ fsf/glibc-2_10-branch/libc/elf/tst-auditmod3b.c Wed Jul 29 08:38:57 2009
@@ -1,0 +1,156 @@
+/* Verify that changing xmm registers in audit library won't affect
+   function parameter passing/return.  */
+
+#include <dlfcn.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <bits/wordsize.h>
+#include <gnu/lib-names.h>
+#include <emmintrin.h>
+
+unsigned int
+la_version (unsigned int v)
+{
+  setlinebuf (stdout);
+
+  printf ("version: %u\n", v);
+
+  char buf[20];
+  sprintf (buf, "%u", v);
+
+  return v;
+}
+
+void
+la_activity (uintptr_t *cookie, unsigned int flag)
+{
+  if (flag == LA_ACT_CONSISTENT)
+    printf ("activity: consistent\n");
+  else if (flag == LA_ACT_ADD)
+    printf ("activity: add\n");
+  else if (flag == LA_ACT_DELETE)
+    printf ("activity: delete\n");
+  else
+    printf ("activity: unknown activity %u\n", flag);
+}
+
+char *
+la_objsearch (const char *name, uintptr_t *cookie, unsigned int flag)
+{
+  char buf[100];
+  const char *flagstr;
+  if (flag == LA_SER_ORIG)
+    flagstr = "LA_SET_ORIG";
+  else if (flag == LA_SER_LIBPATH)
+    flagstr = "LA_SER_LIBPATH";
+  else if (flag == LA_SER_RUNPATH)
+    flagstr = "LA_SER_RUNPATH";
+  else if (flag == LA_SER_CONFIG)
+    flagstr = "LA_SER_CONFIG";
+  else if (flag == LA_SER_DEFAULT)
+    flagstr = "LA_SER_DEFAULT";
+  else if (flag == LA_SER_SECURE)
+    flagstr = "LA_SER_SECURE";
+  else
+    {
+       sprintf (buf, "unknown flag %d", flag);
+       flagstr = buf;
+    }
+  printf ("objsearch: %s, %s\n", name, flagstr);
+
+  return (char *) name;
+}
+
+unsigned int
+la_objopen (struct link_map *l, Lmid_t lmid, uintptr_t *cookie)
+{
+  printf ("objopen: %ld, %s\n", lmid, l->l_name);
+
+  return 3;
+}
+
+void
+la_preinit (uintptr_t *cookie)
+{
+  printf ("preinit\n");
+}
+
+unsigned int
+la_objclose  (uintptr_t *cookie)
+{
+  printf ("objclose\n");
+  return 0;
+}
+
+uintptr_t
+la_symbind32 (Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,
+	      uintptr_t *defcook, unsigned int *flags, const char *symname)
+{
+  printf ("symbind32: symname=%s, st_value=%#lx, ndx=%u, flags=%u\n",
+	  symname, (long int) sym->st_value, ndx, *flags);
+
+  return sym->st_value;
+}
+
+uintptr_t
+la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,
+	      uintptr_t *defcook, unsigned int *flags, const char *symname)
+{
+  printf ("symbind64: symname=%s, st_value=%#lx, ndx=%u, flags=%u\n",
+	  symname, (long int) sym->st_value, ndx, *flags);
+
+  return sym->st_value;
+}
+
+#define pltenter la_x86_64_gnu_pltenter
+#define pltexit la_x86_64_gnu_pltexit
+#define La_regs La_x86_64_regs
+#define La_retval La_x86_64_retval
+#define int_retval lrv_rax
+
+#include <tst-audit.h>
+
+ElfW(Addr)
+pltenter (ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
+	  uintptr_t *defcook, La_regs *regs, unsigned int *flags,
+	  const char *symname, long int *framesizep)
+{
+  printf ("pltenter: symname=%s, st_value=%#lx, ndx=%u, flags=%u\n",
+	  symname, (long int) sym->st_value, ndx, *flags);
+
+  __m128i xmm = _mm_set1_epi32 (-1);
+  asm volatile ("movdqa %0, %%xmm0" : : "x" (xmm) : "xmm0" );
+  asm volatile ("movdqa %0, %%xmm1" : : "x" (xmm) : "xmm1" );
+  asm volatile ("movdqa %0, %%xmm2" : : "x" (xmm) : "xmm2" );
+  asm volatile ("movdqa %0, %%xmm3" : : "x" (xmm) : "xmm3" );
+  asm volatile ("movdqa %0, %%xmm4" : : "x" (xmm) : "xmm4" );
+  asm volatile ("movdqa %0, %%xmm5" : : "x" (xmm) : "xmm5" );
+  asm volatile ("movdqa %0, %%xmm6" : : "x" (xmm) : "xmm6" );
+  asm volatile ("movdqa %0, %%xmm7" : : "x" (xmm) : "xmm7" );
+
+  return sym->st_value;
+}
+
+unsigned int
+pltexit (ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
+	 uintptr_t *defcook, const La_regs *inregs, La_retval *outregs,
+	 const char *symname)
+{
+  printf ("pltexit: symname=%s, st_value=%#lx, ndx=%u, retval=%tu\n",
+	  symname, (long int) sym->st_value, ndx, outregs->int_retval);
+
+  __m128i xmm = _mm_set1_epi32 (-1);
+  asm volatile ("movdqa %0, %%xmm0" : : "x" (xmm) : "xmm0" );
+  asm volatile ("movdqa %0, %%xmm1" : : "x" (xmm) : "xmm1" );
+  asm volatile ("movdqa %0, %%xmm2" : : "x" (xmm) : "xmm2" );
+  asm volatile ("movdqa %0, %%xmm3" : : "x" (xmm) : "xmm3" );
+  asm volatile ("movdqa %0, %%xmm4" : : "x" (xmm) : "xmm4" );
+  asm volatile ("movdqa %0, %%xmm5" : : "x" (xmm) : "xmm5" );
+  asm volatile ("movdqa %0, %%xmm6" : : "x" (xmm) : "xmm6" );
+  asm volatile ("movdqa %0, %%xmm7" : : "x" (xmm) : "xmm7" );
+
+  return 0;
+}

Modified: fsf/glibc-2_10-branch/libc/include/atomic.h
==============================================================================
--- fsf/glibc-2_10-branch/libc/include/atomic.h (original)
+++ fsf/glibc-2_10-branch/libc/include/atomic.h Wed Jul 29 08:38:57 2009
@@ -95,25 +95,31 @@
 #endif
 
 
-#if !defined catomic_compare_and_exchange_val_acq \
-    && defined __arch_c_compare_and_exchange_val_32_acq
-# define catomic_compare_and_exchange_val_acq(mem, newval, oldval) \
+#ifndef catomic_compare_and_exchange_val_acq
+# ifdef __arch_c_compare_and_exchange_val_32_acq
+#  define catomic_compare_and_exchange_val_acq(mem, newval, oldval) \
   __atomic_val_bysize (__arch_c_compare_and_exchange_val,acq,		      \
 		       mem, newval, oldval)
-#else
-# define catomic_compare_and_exchange_val_acq(mem, newval, oldval) \
+# else
+#  define catomic_compare_and_exchange_val_acq(mem, newval, oldval) \
   atomic_compare_and_exchange_val_acq (mem, newval, oldval)
+# endif
+#endif
+
+
+#ifndef catomic_compare_and_exchange_val_rel
+# ifndef atomic_compare_and_exchange_val_rel
+#  define catomic_compare_and_exchange_val_rel(mem, newval, oldval)	      \
+  catomic_compare_and_exchange_val_acq (mem, newval, oldval)
+# else
+#  define catomic_compare_and_exchange_val_rel(mem, newval, oldval)	      \
+  atomic_compare_and_exchange_val_rel (mem, newval, oldval)
+# endif
 #endif
 
 
 #ifndef atomic_compare_and_exchange_val_rel
 # define atomic_compare_and_exchange_val_rel(mem, newval, oldval)	      \
-  atomic_compare_and_exchange_val_acq (mem, newval, oldval)
-#endif
-
-
-#ifndef catomic_compare_and_exchange_val_rel
-# define catomic_compare_and_exchange_val_rel(mem, newval, oldval)	      \
   atomic_compare_and_exchange_val_acq (mem, newval, oldval)
 #endif
 
@@ -125,8 +131,8 @@
 #  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) \
+# 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) __atg3_old = (oldval);				      \
@@ -142,8 +148,8 @@
 #  define catomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
   __atomic_bool_bysize (__arch_c_compare_and_exchange_bool,acq,		      \
 		        mem, newval, oldval)
-#  else
-#   define catomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
+# else
+#  define catomic_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) __atg4_old = (oldval);				      \
@@ -154,15 +160,20 @@
 #endif
 
 
+#ifndef catomic_compare_and_exchange_bool_rel
+# ifndef atomic_compare_and_exchange_bool_rel
+#  define catomic_compare_and_exchange_bool_rel(mem, newval, oldval)	      \
+  catomic_compare_and_exchange_bool_acq (mem, newval, oldval)
+# else
+#  define catomic_compare_and_exchange_bool_rel(mem, newval, oldval)	      \
+  atomic_compare_and_exchange_bool_rel (mem, newval, oldval)
+# endif
+#endif
+
+
 #ifndef atomic_compare_and_exchange_bool_rel
 # define atomic_compare_and_exchange_bool_rel(mem, newval, oldval) \
   atomic_compare_and_exchange_bool_acq (mem, newval, oldval)
-#endif
-
-
-#ifndef catomic_compare_and_exchange_bool_rel
-# define catomic_compare_and_exchange_bool_rel(mem, newval, oldval) \
-  catomic_compare_and_exchange_bool_acq (mem, newval, oldval)
 #endif
 
 

Modified: fsf/glibc-2_10-branch/libc/inet/netinet/icmp6.h
==============================================================================
--- fsf/glibc-2_10-branch/libc/inet/netinet/icmp6.h (original)
+++ fsf/glibc-2_10-branch/libc/inet/netinet/icmp6.h Wed Jul 29 08:38:57 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1997,2000,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1997,2000,2006,2009 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
@@ -339,7 +339,7 @@
     uint8_t   nd_opt_home_agent_info_type;
     uint8_t   nd_opt_home_agent_info_len;
     uint16_t  nd_opt_home_agent_info_reserved;
-    int16_t   nd_opt_home_agent_info_preference;
+    uint16_t  nd_opt_home_agent_info_preference;
     uint16_t  nd_opt_home_agent_info_lifetime;
   };
 

Modified: fsf/glibc-2_10-branch/libc/libio/Makefile
==============================================================================
--- fsf/glibc-2_10-branch/libc/libio/Makefile (original)
+++ fsf/glibc-2_10-branch/libc/libio/Makefile Wed Jul 29 08:38:57 2009
@@ -153,6 +153,7 @@
 bug-ungetwc2-ENV = LOCPATH=$(common-objpfx)localedata
 tst-swscanf-ENV = LOCPATH=$(common-objpfx)localedata
 bug-ftell-ENV = LOCPATH=$(common-objpfx)localedata
+tst-fgetwc-ENV = LOCPATH=$(common-objpfx)localedata
 
 generated = tst-fopenloc.mtrace tst-fopenloc.check
 

Modified: fsf/glibc-2_10-branch/libc/libio/fileops.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/libio/fileops.c (original)
+++ fsf/glibc-2_10-branch/libc/libio/fileops.c Wed Jul 29 08:38:57 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997-2005, 2006, 2007, 2008
+/* Copyright (C) 1993, 1995, 1997-2005, 2006, 2007, 2008, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Per Bothner <bothner@xxxxxxxxxx>.
@@ -319,11 +319,11 @@
 	  continue;
 	case 'c':
 	  fp->_flags2 |= _IO_FLAGS2_NOTCANCEL;
-	  break;
+	  continue;
 #ifdef O_CLOEXEC
 	case 'e':
 	  oflags |= O_CLOEXEC;
-	  break;
+	  continue;
 #endif
 	default:
 	  /* Ignore.  */

Modified: fsf/glibc-2_10-branch/libc/libio/tst-fgetwc.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/libio/tst-fgetwc.c (original)
+++ fsf/glibc-2_10-branch/libc/libio/tst-fgetwc.c Wed Jul 29 08:38:57 2009
@@ -6,7 +6,7 @@
 static int
 do_test (void)
 {
-  if (setlocale (LC_ALL, "de_DE.utf8") == NULL)
+  if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL)
     {
       puts ("setlocale failed");
       return 1;

Modified: fsf/glibc-2_10-branch/libc/localedata/ChangeLog
==============================================================================
--- fsf/glibc-2_10-branch/libc/localedata/ChangeLog (original)
+++ fsf/glibc-2_10-branch/libc/localedata/ChangeLog Wed Jul 29 08:38:57 2009
@@ -1,3 +1,9 @@
+2009-06-16  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #10011]
+	* locales/de_AT: Define week, first_weekday, first_workday.
+	Patch by Paul Marcher <flyer@xxxxxxxxx>.
+
 2009-05-04  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* localedata/locales/bn_BD: Remove comment about missing collation

Modified: fsf/glibc-2_10-branch/libc/localedata/locales/de_AT
==============================================================================
--- fsf/glibc-2_10-branch/libc/localedata/locales/de_AT (original)
+++ fsf/glibc-2_10-branch/libc/localedata/locales/de_AT Wed Jul 29 08:38:57 2009
@@ -121,6 +121,9 @@
 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>"
+week    7;19971130;4
+first_weekday 2
+first_workday 2
 END LC_TIME
 
 LC_PAPER

Modified: fsf/glibc-2_10-branch/libc/mach/err_boot.sub
==============================================================================
--- fsf/glibc-2_10-branch/libc/mach/err_boot.sub (original)
+++ fsf/glibc-2_10-branch/libc/mach/err_boot.sub Wed Jul 29 08:38:57 2009
@@ -25,7 +25,7 @@
  */
 /*
  * HISTORY
- * $Log: err_boot.sub,v $
+ * $Log$
  * Revision 1.1  1992/10/06 18:29:52  roland
  * entered into RCS
  *

Modified: fsf/glibc-2_10-branch/libc/mach/err_ipc.sub
==============================================================================
--- fsf/glibc-2_10-branch/libc/mach/err_ipc.sub (original)
+++ fsf/glibc-2_10-branch/libc/mach/err_ipc.sub Wed Jul 29 08:38:57 2009
@@ -25,7 +25,7 @@
  */
 /*
  * HISTORY
- * $Log: err_ipc.sub,v $
+ * $Log$
  * Revision 1.1  1992/10/06 18:29:52  roland
  * entered into RCS
  *

Modified: fsf/glibc-2_10-branch/libc/mach/err_mach.sub
==============================================================================
--- fsf/glibc-2_10-branch/libc/mach/err_mach.sub (original)
+++ fsf/glibc-2_10-branch/libc/mach/err_mach.sub Wed Jul 29 08:38:57 2009
@@ -25,7 +25,7 @@
  */
 /*
  * HISTORY
- * $Log: err_mach.sub,v $
+ * $Log$
  * Revision 1.1  1992/10/06 18:29:52  roland
  * entered into RCS
  *

Modified: fsf/glibc-2_10-branch/libc/malloc/malloc.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/malloc/malloc.c (original)
+++ fsf/glibc-2_10-branch/libc/malloc/malloc.c Wed Jul 29 08:38:57 2009
@@ -4779,8 +4779,29 @@
 	|| __builtin_expect (chunksize (chunk_at_offset (p, size))
 			     >= av->system_mem, 0))
       {
-	errstr = "free(): invalid next size (fast)";
-	goto errout;
+#ifdef ATOMIC_FASTBINS
+	/* We might not have a lock at this point and concurrent modifications
+	   of system_mem might have let to a false positive.  Redo the test
+	   after getting the lock.  */
+	if (have_lock
+	    || ({ assert (locked == 0);
+		  mutex_lock(&av->mutex);
+		  locked = 1;
+		  chunk_at_offset (p, size)->size <= 2 * SIZE_SZ
+		    || chunksize (chunk_at_offset (p, size)) >= av->system_mem;
+	      }))
+#endif
+	  {
+	    errstr = "free(): invalid next size (fast)";
+	    goto errout;
+	  }
+#ifdef ATOMIC_FASTBINS
+	if (! have_lock)
+	  {
+	    (void)mutex_unlock(&av->mutex);
+	    locked = 0;
+	  }
+#endif
       }
 
     if (__builtin_expect (perturb_byte, 0))
@@ -4803,7 +4824,7 @@
 	  }
 	p->fd = fd = old;
       }
-    while ((old = catomic_compare_and_exchange_val_acq (fb, p, fd)) != fd);
+    while ((old = catomic_compare_and_exchange_val_rel (fb, p, fd)) != fd);
 #else
     /* Another simple check: make sure the top of the bin is not the
        record we are going to add (i.e., double free).  */

Added: fsf/glibc-2_10-branch/libc/manual/.gitignore
==============================================================================
--- fsf/glibc-2_10-branch/libc/manual/.gitignore (added)
+++ fsf/glibc-2_10-branch/libc/manual/.gitignore Wed Jul 29 08:38:57 2009
@@ -1,0 +1,29 @@
+*.aux
+*.c.texi
+*.cp
+*.cps
+*.dvi*
+*.fn
+*.fns
+*.info*
+*.ky
+*.kys
+*.log
+*.pdf
+*.pg
+*.pgs
+*.ps
+*.tmp
+*.toc
+*.tp
+*.tps
+*.vr
+*.vrs
+chapters.texi
+dir-add.texi
+dir-add.texinfo
+libm-err.texi
+stamp-*
+summary.texi
+texis
+top-menu.texi

Modified: fsf/glibc-2_10-branch/libc/manual/charset.texi
==============================================================================
--- fsf/glibc-2_10-branch/libc/manual/charset.texi (original)
+++ fsf/glibc-2_10-branch/libc/manual/charset.texi Wed Jul 29 08:38:57 2009
@@ -1234,7 +1234,7 @@
       /* @r{If any characters must be carried forward,}
          @r{put them at the beginning of @code{buffer}.} */
       if (filled > 0)
-        memmove (inp, buffer, filled);
+        memmove (buffer, inp, filled);
     @}
 
   return 1;

Modified: fsf/glibc-2_10-branch/libc/nis/nss_nis/nis-network.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nis/nss_nis/nis-network.c (original)
+++ fsf/glibc-2_10-branch/libc/nis/nss_nis/nis-network.c Wed Jul 29 08:38:57 2009
@@ -241,7 +241,7 @@
   if (__builtin_expect (yp_get_default_domain (&domain), 0))
     return NSS_STATUS_UNAVAIL;
 
-  struct in_addr in = inet_makeaddr (addr, 0);
+  struct in_addr in = { .s_addr = htonl (addr) };
   char *buf = inet_ntoa (in);
   size_t blen = strlen (buf);
 

Modified: fsf/glibc-2_10-branch/libc/nis/nss_nis/nis-pwd.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nis/nss_nis/nis-pwd.c (original)
+++ fsf/glibc-2_10-branch/libc/nis/nss_nis/nis-pwd.c Wed Jul 29 08:38:57 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-1998,2001,2002,2003,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996-1998,2001-2003,2006,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@xxxxxxxxxxxxxxxxxxx>, 1996.
 
@@ -116,7 +116,7 @@
       oldkeylen = 0;
     }
 
-  struct response_t *curr = intern.next;
+  struct response_t *curr = intern.start;
 
   while (curr != NULL)
     {

Modified: fsf/glibc-2_10-branch/libc/nis/nss_nisplus/nisplus-network.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nis/nss_nisplus/nisplus-network.c (original)
+++ fsf/glibc-2_10-branch/libc/nis/nss_nisplus/nisplus-network.c Wed Jul 29 08:38:57 2009
@@ -433,7 +433,7 @@
     char buf2[18];
     int olderr = errno;
 
-    struct in_addr in = inet_makeaddr (addr, 0);
+    struct in_addr in = { .s_addr = htonl (addr) };
     strcpy (buf2, inet_ntoa (in));
     size_t b2len = strlen (buf2);
 

Modified: fsf/glibc-2_10-branch/libc/nptl/ChangeLog
==============================================================================
--- fsf/glibc-2_10-branch/libc/nptl/ChangeLog (original)
+++ fsf/glibc-2_10-branch/libc/nptl/ChangeLog Wed Jul 29 08:38:57 2009
@@ -1,3 +1,29 @@
+2009-07-27  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #10418]
+	* pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Use _rel
+	instead of of _acq variants of cmpxchg.
+
+2009-06-11  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #10262]
+	* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
+	(LOAD_FUTEX_WAIT_ABS): Fix futex parameter in case private futexes
+	cannot be assumed.
+	Patch by Bryan Kadzban <bz-glibc@xxxxxxxxxxxxxxxxxxx>.
+
+2009-05-15  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* cancellation.c (__pthread_disable_asynccancel): Correct the bits
+	to test when deciding on the delay.
+	* libc-cancellation.c (__libc_disable_asynccancel): Likewise.
+	* pthread_cancel.c: Close race between deciding on sending a signal
+	and setting the CANCELING_BIT bit.
+
+	* cancellation.c (__pthread_disable_asynccancel): Don't return if
+	thread is canceled.
+	* libc-cancellation.c (__libc_disable_asynccancel): Likewise.
+
 2009-04-27  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* cancellation.c (__pthread_disable_asynccancel): Use THREAD_ATOMIC_AND

Modified: fsf/glibc-2_10-branch/libc/nptl/cancellation.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nptl/cancellation.c (original)
+++ fsf/glibc-2_10-branch/libc/nptl/cancellation.c Wed Jul 29 08:38:57 2009
@@ -70,15 +70,13 @@
     return;
 
   struct pthread *self = THREAD_SELF;
+  int newval;
 
-#ifdef THREAD_ATOMIC_AND
-  THREAD_ATOMIC_AND (self, cancelhandling, ~CANCELTYPE_BITMASK);
-#else
   int oldval = THREAD_GETMEM (self, cancelhandling);
 
   while (1)
     {
-      int newval = oldval & ~CANCELTYPE_BITMASK;
+      newval = oldval & ~CANCELTYPE_BITMASK;
 
       if (newval == oldval)
 	break;
@@ -91,5 +89,15 @@
       /* Prepare the next round.  */
       oldval = curval;
     }
-#endif
+
+  /* We cannot return when we are being canceled.  Upon return the
+     thread might be things which would have to be undone.  The
+     following loop should loop until the cancellation signal is
+     delivered.  */
+  while (__builtin_expect ((newval & (CANCELING_BITMASK | CANCELED_BITMASK))
+			   == CANCELING_BITMASK, 0))
+    {
+      lll_futex_wait (&self->cancelhandling, newval, LLL_PRIVATE);
+      newval = THREAD_GETMEM (self, cancelhandling);
+    }
 }

Modified: fsf/glibc-2_10-branch/libc/nptl/libc-cancellation.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nptl/libc-cancellation.c (original)
+++ fsf/glibc-2_10-branch/libc/nptl/libc-cancellation.c Wed Jul 29 08:38:57 2009
@@ -86,15 +86,13 @@
     return;
 
   struct pthread *self = THREAD_SELF;
+  int newval;
 
-#ifdef THREAD_ATOMIC_AND
-  THREAD_ATOMIC_AND (self, cancelhandling, ~CANCELTYPE_BITMASK);
-#else
   int oldval = THREAD_GETMEM (self, cancelhandling);
 
   while (1)
     {
-      int newval = oldval & ~CANCELTYPE_BITMASK;
+      newval = oldval & ~CANCELTYPE_BITMASK;
 
       if (newval == oldval)
 	break;
@@ -107,7 +105,17 @@
       /* Prepare the next round.  */
       oldval = curval;
     }
-#endif
+
+  /* We cannot return when we are being canceled.  Upon return the
+     thread might be things which would have to be undone.  The
+     following loop should loop until the cancellation signal is
+     delivered.  */
+  while (__builtin_expect ((newval & (CANCELING_BITMASK | CANCELED_BITMASK))
+			   == CANCELING_BITMASK, 0))
+    {
+      lll_futex_wait (&self->cancelhandling, newval, LLL_PRIVATE);
+      newval = THREAD_GETMEM (self, cancelhandling);
+    }
 }
 
 

Modified: fsf/glibc-2_10-branch/libc/nptl/pthread_cancel.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nptl/pthread_cancel.c (original)
+++ fsf/glibc-2_10-branch/libc/nptl/pthread_cancel.c Wed Jul 29 08:38:57 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
 
@@ -44,6 +44,7 @@
   int newval;
   do
     {
+    again:
       oldval = pd->cancelhandling;
       newval = oldval | CANCELING_BITMASK | CANCELED_BITMASK;
 
@@ -59,7 +60,10 @@
       if (CANCEL_ENABLED_AND_CANCELED_AND_ASYNCHRONOUS (newval))
 	{
 	  /* Mark the cancellation as "in progress".  */
-	  atomic_bit_set (&pd->cancelhandling, CANCELING_BIT);
+	  if (atomic_compare_and_exchange_bool_acq (&pd->cancelhandling,
+						    oldval | CANCELING_BITMASK,
+						    oldval))
+	    goto again;
 
 	  /* The cancellation handler will take care of marking the
 	     thread as canceled.  */

Modified: fsf/glibc-2_10-branch/libc/nptl/pthread_mutex_unlock.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nptl/pthread_mutex_unlock.c (original)
+++ fsf/glibc-2_10-branch/libc/nptl/pthread_mutex_unlock.c Wed Jul 29 08:38:57 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005-2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
 
@@ -213,7 +213,7 @@
 
       /* Unlock.  */
       if ((mutex->__data.__lock & FUTEX_WAITERS) != 0
-	  || atomic_compare_and_exchange_bool_acq (&mutex->__data.__lock, 0,
+	  || atomic_compare_and_exchange_bool_rel (&mutex->__data.__lock, 0,
 						   THREAD_GETMEM (THREAD_SELF,
 								  tid)))
 	{
@@ -263,7 +263,7 @@
 	  oldval = mutex->__data.__lock;
 	  newval = oldval & PTHREAD_MUTEX_PRIO_CEILING_MASK;
 	}
-      while (atomic_compare_and_exchange_bool_acq (&mutex->__data.__lock,
+      while (atomic_compare_and_exchange_bool_rel (&mutex->__data.__lock,
 						   newval, oldval));
 
       if ((oldval & ~PTHREAD_MUTEX_PRIO_CEILING_MASK) > 1)

Modified: fsf/glibc-2_10-branch/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
==============================================================================
--- fsf/glibc-2_10-branch/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S (original)
+++ fsf/glibc-2_10-branch/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S Wed Jul 29 08:38:57 2009
@@ -60,7 +60,7 @@
 # define LOAD_FUTEX_WAIT_ABS(reg) \
 	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
 	andl	%gs:PRIVATE_FUTEX, reg ; \
-	orl	$FUTEX_WAIT | FUTEX_CLOCK_REALTIME, reg
+	orl	$FUTEX_WAIT_BITSET | FUTEX_CLOCK_REALTIME, reg
 # define LOAD_FUTEX_WAKE(reg) \
 	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
 	andl	%gs:PRIVATE_FUTEX, reg ; \

Modified: fsf/glibc-2_10-branch/libc/nptl_db/ChangeLog
==============================================================================
--- fsf/glibc-2_10-branch/libc/nptl_db/ChangeLog (original)
+++ fsf/glibc-2_10-branch/libc/nptl_db/ChangeLog Wed Jul 29 08:38:57 2009
@@ -1,3 +1,9 @@
+2009-05-25  Aurelien Jarno  <aurelien@xxxxxxxxxxx>
+
+	[BZ #10200]
+	* db-symbols.awk: Use the last field for the symbol name instead
+	of the 8th one.
+
 2009-03-19  Roland McGrath  <roland@xxxxxxxxxx>
 
 	* td_symbol_list.c (DB_LOOKUP_NAME, DB_LOOKUP_NAME_TH_UNIQUE):

Modified: fsf/glibc-2_10-branch/libc/nptl_db/db-symbols.awk
==============================================================================
--- fsf/glibc-2_10-branch/libc/nptl_db/db-symbols.awk (original)
+++ fsf/glibc-2_10-branch/libc/nptl_db/db-symbols.awk Wed Jul 29 08:38:57 2009
@@ -14,7 +14,7 @@
 
 !in_symtab { next }
 
-NF >= 8 && $7 != "UND" { seen[$8] = 1 }
+NF >= 8 && $7 != "UND" { seen[$NF] = 1 }
 
 END {
   status = 0;

Modified: fsf/glibc-2_10-branch/libc/nscd/cache.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/cache.c (original)
+++ fsf/glibc-2_10-branch/libc/nscd/cache.c Wed Jul 29 08:38:57 2009
@@ -179,7 +179,7 @@
   /* Put the new entry in the first position.  */
   do
     newp->next = table->head->array[hash];
-  while (atomic_compare_and_exchange_bool_acq (&table->head->array[hash],
+  while (atomic_compare_and_exchange_bool_rel (&table->head->array[hash],
 					       (ref_t) ((char *) newp
 							- table->data),
 					       (ref_t) newp->next));

Modified: fsf/glibc-2_10-branch/libc/nscd/nscd-client.h
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/nscd-client.h (original)
+++ fsf/glibc-2_10-branch/libc/nscd/nscd-client.h Wed Jul 29 08:38:57 2009
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998, 1999, 2000, 2003, 2004, 2005, 2006, 2007
+/* Copyright (c) 1998, 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@xxxxxxx>, 1998.
@@ -44,7 +44,7 @@
 /* Path for the configuration file.  */
 #define _PATH_NSCDCONF	 "/etc/nscd.conf"
 
-/* Maximu allowed length for the key.  */
+/* Maximum allowed length for the key.  */
 #define MAXKEYLEN 1024
 
 
@@ -329,7 +329,8 @@
 extern struct datahead *__nscd_cache_search (request_type type,
 					     const char *key,
 					     size_t keylen,
-					     const struct mapped_database *mapped);
+					     const struct mapped_database *mapped,
+					     size_t datalen);
 
 /* Wrappers around read, readv and write that only read/write less than LEN
    bytes on error or EOF.  */

Modified: fsf/glibc-2_10-branch/libc/nscd/nscd.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/nscd.c (original)
+++ fsf/glibc-2_10-branch/libc/nscd/nscd.c Wed Jul 29 08:38:57 2009
@@ -488,10 +488,6 @@
 	msync (dbs[cnt].head, dbs[cnt].memsize, MS_ASYNC);
     }
 
-  /* Shutdown the SELinux AVC.  */
-  if (selinux_enabled)
-    nscd_avc_destroy ();
-
   _exit (EXIT_SUCCESS);
 }
 

Modified: fsf/glibc-2_10-branch/libc/nscd/nscd_getai.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/nscd_getai.c (original)
+++ fsf/glibc-2_10-branch/libc/nscd/nscd_getai.c Wed Jul 29 08:38:57 2009
@@ -1,4 +1,5 @@
-/* Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2004.
 
@@ -75,7 +76,7 @@
   if (mapped != NO_MAPPING)
     {
       struct datahead *found = __nscd_cache_search (GETAI, key, keylen,
-						    mapped);
+						    mapped, sizeof ai_resp);
       if (found != NULL)
 	{
 	  respdata = (char *) (&found->data[0].aidata + 1);

Modified: fsf/glibc-2_10-branch/libc/nscd/nscd_getgr_r.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/nscd_getgr_r.c (original)
+++ fsf/glibc-2_10-branch/libc/nscd/nscd_getgr_r.c Wed Jul 29 08:38:57 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2000, 2002-2005, 2006, 2007
+/* Copyright (C) 1998-2000, 2002-2005, 2006, 2007, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@xxxxxxxxxxxxxxxx>, 1998.
@@ -107,7 +107,8 @@
 
   if (mapped != NO_MAPPING)
     {
-      struct datahead *found = __nscd_cache_search (type, key, keylen, mapped);
+      struct datahead *found = __nscd_cache_search (type, key, keylen, mapped,
+						    sizeof gr_resp);
       if (found != NULL)
 	{
 	  len = (const uint32_t *) (&found->data[0].grdata + 1);

Modified: fsf/glibc-2_10-branch/libc/nscd/nscd_gethst_r.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/nscd_gethst_r.c (original)
+++ fsf/glibc-2_10-branch/libc/nscd/nscd_gethst_r.c Wed Jul 29 08:38:57 2009
@@ -1,4 +1,5 @@
-/* Copyright (C) 1998-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2005, 2006, 2007, 2008, 2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
 
@@ -137,7 +138,8 @@
   if (mapped != NO_MAPPING)
     {
       /* No const qualifier, as it can change during garbage collection.  */
-      struct datahead *found = __nscd_cache_search (type, key, keylen, mapped);
+      struct datahead *found = __nscd_cache_search (type, key, keylen, mapped,
+						    sizeof hst_resp);
       if (found != NULL)
 	{
 	  h_name = (char *) (&found->data[0].hstdata + 1);

Modified: fsf/glibc-2_10-branch/libc/nscd/nscd_getpw_r.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/nscd_getpw_r.c (original)
+++ fsf/glibc-2_10-branch/libc/nscd/nscd_getpw_r.c Wed Jul 29 08:38:57 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2003, 2004, 2005, 2007
+/* Copyright (C) 1998, 1999, 2003, 2004, 2005, 2007, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@xxxxxxxxxxxxxxxx>, 1998.
@@ -104,7 +104,8 @@
 
   if (mapped != NO_MAPPING)
     {
-      struct datahead *found = __nscd_cache_search (type, key, keylen, mapped);
+      struct datahead *found = __nscd_cache_search (type, key, keylen, mapped,
+						    sizeof pw_resp);
       if (found != NULL)
 	{
 	  pw_name = (const char *) (&found->data[0].pwdata + 1);

Modified: fsf/glibc-2_10-branch/libc/nscd/nscd_getserv_r.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/nscd_getserv_r.c (original)
+++ fsf/glibc-2_10-branch/libc/nscd/nscd_getserv_r.c Wed Jul 29 08:38:57 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2007.
 
@@ -104,7 +104,8 @@
 
   if (mapped != NO_MAPPING)
     {
-      struct datahead *found = __nscd_cache_search (type, key, keylen, mapped);
+      struct datahead *found = __nscd_cache_search (type, key, keylen, mapped,
+						    sizeof serv_resp);
 
       if (found != NULL)
 	{

Modified: fsf/glibc-2_10-branch/libc/nscd/nscd_helper.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/nscd_helper.c (original)
+++ fsf/glibc-2_10-branch/libc/nscd/nscd_helper.c Wed Jul 29 08:38:57 2009
@@ -21,6 +21,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <stdbool.h>
+#include <stddef.h>
 #include <string.h>
 #include <time.h>
 #include <unistd.h>
@@ -467,23 +468,36 @@
 }
 
 
+/* Using sizeof (hashentry) is not always correct to determine the size of
+   the data structure as found in the nscd cache.  The program could be
+   a 64-bit process and nscd could be a 32-bit process.  In this case
+   sizeof (hashentry) would overestimate the size.  The following is
+   the minimum size of such an entry, good enough for our tests here.  */
+#define MINIMUM_HASHENTRY_SIZE \
+  (offsetof (struct hashentry, dellist) + sizeof (int32_t))
+
+
 /* Don't return const struct datahead *, as eventhough the record
    is normally constant, it can change arbitrarily during nscd
    garbage collection.  */
 struct datahead *
 __nscd_cache_search (request_type type, const char *key, size_t keylen,
-		     const struct mapped_database *mapped)
+		     const struct mapped_database *mapped, size_t datalen)
 {
   unsigned long int hash = __nis_hash (key, keylen) % mapped->head->module;
   size_t datasize = mapped->datasize;
 
   ref_t trail = mapped->head->array[hash];
+  trail = atomic_forced_read (trail);
   ref_t work = trail;
+  size_t loop_cnt = datasize / (MINIMUM_HASHENTRY_SIZE
+				+ offsetof (struct datahead, data) / 2);
   int tick = 0;
 
-  while (work != ENDREF && work + sizeof (struct hashentry) <= datasize)
+  while (work != ENDREF && work + MINIMUM_HASHENTRY_SIZE <= datasize)
     {
       struct hashentry *here = (struct hashentry *) (mapped->data + work);
+      ref_t here_key, here_packet;
 
 #ifndef _STRING_ARCH_unaligned
       /* Although during garbage collection when moving struct hashentry
@@ -498,13 +512,14 @@
 
       if (type == here->type
 	  && keylen == here->len
-	  && here->key + keylen <= datasize
-	  && memcmp (key, mapped->data + here->key, keylen) == 0
-	  && here->packet + sizeof (struct datahead) <= datasize)
+	  && (here_key = atomic_forced_read (here->key)) + keylen <= datasize
+	  && memcmp (key, mapped->data + here_key, keylen) == 0
+	  && ((here_packet = atomic_forced_read (here->packet))
+	      + sizeof (struct datahead) <= datasize))
 	{
 	  /* We found the entry.  Increment the appropriate counter.  */
 	  struct datahead *dh
-	    = (struct datahead *) (mapped->data + here->packet);
+	    = (struct datahead *) (mapped->data + here_packet);
 
 #ifndef _STRING_ARCH_unaligned
 	  if ((uintptr_t) dh & (__alignof__ (*dh) - 1))
@@ -513,14 +528,17 @@
 
 	  /* See whether we must ignore the entry or whether something
 	     is wrong because garbage collection is in progress.  */
-	  if (dh->usable && here->packet + dh->allocsize <= datasize)
+	  if (dh->usable
+	      && here_packet + dh->allocsize <= datasize
+	      && (here_packet + offsetof (struct datahead, data) + datalen
+		  <= datasize))
 	    return dh;
 	}
 
-      work = here->next;
+      work = atomic_forced_read (here->next);
       /* Prevent endless loops.  This should never happen but perhaps
 	 the database got corrupted, accidentally or deliberately.  */
-      if (work == trail)
+      if (work == trail || loop_cnt-- == 0)
 	break;
       if (tick)
 	{
@@ -532,7 +550,11 @@
 	  if ((uintptr_t) trailelem & (__alignof__ (*trailelem) - 1))
 	    return NULL;
 #endif
-	  trail = trailelem->next;
+
+	  if (trail + MINIMUM_HASHENTRY_SIZE > datasize)
+	    return NULL;
+
+	  trail = atomic_forced_read (trailelem->next);
 	}
       tick = 1 - tick;
     }

Modified: fsf/glibc-2_10-branch/libc/nscd/nscd_initgroups.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/nscd_initgroups.c (original)
+++ fsf/glibc-2_10-branch/libc/nscd/nscd_initgroups.c Wed Jul 29 08:38:57 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2004.
 
@@ -55,7 +55,8 @@
   if (mapped != NO_MAPPING)
     {
       struct datahead *found = __nscd_cache_search (INITGROUPS, user,
-						    userlen, mapped);
+						    userlen, mapped,
+						    sizeof initgr_resp);
       if (found != NULL)
 	{
 	  respdata = (char *) (&found->data[0].initgrdata + 1);

Modified: fsf/glibc-2_10-branch/libc/nscd/selinux.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/selinux.c (original)
+++ fsf/glibc-2_10-branch/libc/nscd/selinux.c Wed Jul 29 08:38:57 2009
@@ -1,5 +1,5 @@
 /* SELinux access controls for nscd.
-   Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Matthew Rickard <mjricka@xxxxxxxxxxxxxx>, 2004.
 
@@ -418,15 +418,4 @@
 	  cstats->cav_probes, cstats->cav_misses);
 }
 
-
-/* Clean up the AVC before exiting.  */
-void
-nscd_avc_destroy (void)
-{
-  avc_destroy ();
-#ifdef HAVE_LIBAUDIT
-  audit_close (audit_fd);
-#endif
-}
-
 #endif /* HAVE_SELINUX */

Modified: fsf/glibc-2_10-branch/libc/nscd/selinux.h
==============================================================================
--- fsf/glibc-2_10-branch/libc/nscd/selinux.h (original)
+++ fsf/glibc-2_10-branch/libc/nscd/selinux.h Wed Jul 29 08:38:57 2009
@@ -1,5 +1,5 @@
 /* Header for nscd SELinux access controls.
-   Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006, 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Matthew Rickard <mjricka@xxxxxxxxxxxxxx>, 2004.
 
@@ -35,8 +35,6 @@
 
 /* Initialize the userspace AVC.  */
 extern void nscd_avc_init (void);
-/* Destroy the userspace AVC.  */
-extern void nscd_avc_destroy (void);
 /* Determine if we are running on an SELinux kernel.  */
 extern void nscd_selinux_enabled (int *selinux_enabled);
 /* Check if the client has permission for the request type.  */
@@ -55,7 +53,6 @@
 #else
 # define selinux_enabled 0
 # define nscd_avc_init() (void) 0
-# define nscd_avc_destroy() (void) 0
 # define nscd_selinux_enabled(selinux_enabled) (void) 0
 # define nscd_request_avc_has_perm(fd, req) 0
 # define nscd_avc_cache_stats(cstats) (void) 0

Modified: fsf/glibc-2_10-branch/libc/nss/getent.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nss/getent.c (original)
+++ fsf/glibc-2_10-branch/libc/nss/getent.c Wed Jul 29 08:38:57 2009
@@ -469,7 +469,7 @@
   for (i = 0; i < number; ++i)
     {
       if (isdigit (key[i][0]))
-	net = getnetbyaddr (inet_addr (key[i]), AF_UNIX);
+	net = getnetbyaddr (ntohl (inet_addr (key[i])), AF_UNSPEC);
       else
 	net = getnetbyname (key[i]);
 

Modified: fsf/glibc-2_10-branch/libc/nss/nss_files/files-network.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/nss/nss_files/files-network.c (original)
+++ fsf/glibc-2_10-branch/libc/nss/nss_files/files-network.c Wed Jul 29 08:38:57 2009
@@ -1,5 +1,5 @@
 /* Networks file parser in nss_files module.
-   Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1996-1998, 2000, 2001, 2009 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
@@ -81,7 +81,8 @@
 
 DB_LOOKUP (netbyaddr, ,,
 	   {
-	     if (result->n_addrtype == type && result->n_net == net)
+	     if ((type == AF_UNSPEC || result->n_addrtype == type)
+		 && result->n_net == net)
 	       /* Bingo!  */
 	       break;
 	   }, uint32_t net, int type)

Added: fsf/glibc-2_10-branch/libc/po/.gitignore
==============================================================================
--- fsf/glibc-2_10-branch/libc/po/.gitignore (added)
+++ fsf/glibc-2_10-branch/libc/po/.gitignore Wed Jul 29 08:38:57 2009
@@ -1,0 +1,2 @@
+*.mo
+libc.pot.files

Modified: fsf/glibc-2_10-branch/libc/posix/tst-cpucount.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/posix/tst-cpucount.c (original)
+++ fsf/glibc-2_10-branch/libc/posix/tst-cpucount.c Wed Jul 29 08:38:57 2009
@@ -1,5 +1,6 @@
 #include <sched.h>
 #include <stdio.h>
+#include <sys/param.h>
 
 static int
 do_test (void)
@@ -8,7 +9,7 @@
 
   CPU_ZERO (&c);
 
-  for (int cnt = 0; cnt < 130; ++cnt)
+  for (int cnt = 0; cnt < MIN (CPU_SETSIZE, 130); ++cnt)
     {
       int n = CPU_COUNT (&c);
       if (n != cnt)

Modified: fsf/glibc-2_10-branch/libc/resolv/ns_date.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/resolv/ns_date.c (original)
+++ fsf/glibc-2_10-branch/libc/resolv/ns_date.c Wed Jul 29 08:38:57 2009
@@ -16,7 +16,7 @@
  */
 
 #if !defined(_LIBC) && !defined(lint)
-static const char rcsid[] = "$Id: ns_date.c,v 1.1 2008/08/01 17:15:09 drepper Exp $";
+static const char rcsid[] = "$Id$";
 #endif
 
 /* Import. */

Modified: fsf/glibc-2_10-branch/libc/resolv/res_send.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/resolv/res_send.c (original)
+++ fsf/glibc-2_10-branch/libc/resolv/res_send.c Wed Jul 29 08:38:57 2009
@@ -1008,7 +1008,7 @@
 		seconds /= statp->nscount;
 	if (seconds <= 0)
 		seconds = 1;
-	bool single_request = ((statp->options) & RES_SNGLKUP) != 0;// XXX
+	bool single_request = (statp->options & RES_SNGLKUP) != 0;// XXX
 	int save_gotsomewhere = *gotsomewhere;
  retry:
 	evNowTime(&now);
@@ -1059,6 +1059,7 @@
 		       have received the first answer.  */
 		    if (!single_request)
 		      {
+			statp->options |= RES_SNGLKUP;
 			single_request = true;
 			*gotsomewhere = save_gotsomewhere;
 			goto retry;
@@ -1254,14 +1255,10 @@
 				? *thisanssiz : *thisresplen);
 
 			if (recvresp1 || (buf2 != NULL && recvresp2))
-			  {
-			    *resplen2 = 1;
-			    return resplen;
-			  }
+			  return resplen;
 			if (buf2 != NULL)
 			  {
 			    /* We are waiting for a possible second reply.  */
-			    resplen = 1;
 			    if (hp->id == anhp->id)
 			      recvresp1 = 1;
 			    else

Modified: fsf/glibc-2_10-branch/libc/stdlib/stdlib.h
==============================================================================
--- fsf/glibc-2_10-branch/libc/stdlib/stdlib.h (original)
+++ fsf/glibc-2_10-branch/libc/stdlib/stdlib.h Wed Jul 29 08:38:57 2009
@@ -48,9 +48,9 @@
    as well as POSIX.1 use of `int' for the status word.  */
 
 #  if defined __GNUC__ && !defined __cplusplus
-#   define __WAIT_INT(status)						      \
-  (__extension__ ({ union { __typeof(status) __in; int __i; } __u;	      \
-		    __u.__in = (status); __u.__i; }))
+#   define __WAIT_INT(status) \
+  (__extension__ (((union { __typeof(status) __in; int __i; }) \
+                   { .__in = (status) }).__i))
 #  else
 #   define __WAIT_INT(status)	(*(int *) &(status))
 #  endif

Modified: fsf/glibc-2_10-branch/libc/string/test-memchr.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/string/test-memchr.c (original)
+++ fsf/glibc-2_10-branch/libc/string/test-memchr.c Wed Jul 29 08:38:57 2009
@@ -1,5 +1,5 @@
 /* Test and measure memchr functions.
-   Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jakub Jelinek <jakub@xxxxxxxxxx>, 1999.
 
@@ -144,7 +144,12 @@
 	}
 
       if (pos < len)
-	result = (char *) (p + pos + align);
+	{
+	  size_t r = random ();
+	  if ((r & 31) == 0)
+	    len = ~(uintptr_t) (p + align) - ((r >> 5) & 31);
+	  result = (char *) (p + pos + align);
+	}
       else
 	result = NULL;
 

Added: fsf/glibc-2_10-branch/libc/sunrpc/.gitignore
==============================================================================
--- fsf/glibc-2_10-branch/libc/sunrpc/.gitignore (added)
+++ fsf/glibc-2_10-branch/libc/sunrpc/.gitignore Wed Jul 29 08:38:57 2009
@@ -1,0 +1,1 @@
+rpcsrc-4.0

Modified: fsf/glibc-2_10-branch/libc/sunrpc/auth_des.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/sunrpc/auth_des.c (original)
+++ fsf/glibc-2_10-branch/libc/sunrpc/auth_des.c Wed Jul 29 08:38:57 2009
@@ -1,33 +1,32 @@
 /*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
+ * Copyright (c) 1988 by Sun Microsystems, Inc.
  *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
  *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials
+ *       provided with the distribution.
+ *     * Neither the name of Sun Microsystems, Inc. nor the names of its
+ *       contributors may be used to endorse or promote products derived
+ *       from this software without specific prior written permission.
  *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-/*
- * Copyright (c) 1988 by Sun Microsystems, Inc.
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 /*
  * auth_des.c, client-side implementation of DES authentication

Modified: fsf/glibc-2_10-branch/libc/sunrpc/auth_none.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/sunrpc/auth_none.c (original)
+++ fsf/glibc-2_10-branch/libc/sunrpc/auth_none.c Wed Jul 29 08:38:57 2009
@@ -1,33 +1,32 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
 /*
  * Copyright (C) 1984, Sun Microsystems, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials
+ *       provided with the distribution.
+ *     * Neither the name of Sun Microsystems, Inc. nor the names of its
+ *       contributors may be used to endorse or promote products derived
+ *       from this software without specific prior written permission.
+ *
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 /*
  * auth_none.c

Modified: fsf/glibc-2_10-branch/libc/sunrpc/auth_unix.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/sunrpc/auth_unix.c (original)
+++ fsf/glibc-2_10-branch/libc/sunrpc/auth_unix.c Wed Jul 29 08:38:57 2009
@@ -1,33 +1,32 @@
 /*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
+ * Copyright (C) 1984, Sun Microsystems, Inc.
  *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
  *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials
+ *       provided with the distribution.
+ *     * Neither the name of Sun Microsystems, Inc. nor the names of its
+ *       contributors may be used to endorse or promote products derived
+ *       from this software without specific prior written permission.
  *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-/*
- * Copyright (C) 1984, Sun Microsystems, Inc.
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 /*
  * auth_unix.c, Implements UNIX style authentication parameters.

Modified: fsf/glibc-2_10-branch/libc/sunrpc/authdes_prot.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/sunrpc/authdes_prot.c (original)
+++ fsf/glibc-2_10-branch/libc/sunrpc/authdes_prot.c Wed Jul 29 08:38:57 2009
@@ -1,33 +1,32 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
 /*
  * Copyright (c) 1988 by Sun Microsystems, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials
+ *       provided with the distribution.
+ *     * Neither the name of Sun Microsystems, Inc. nor the names of its
+ *       contributors may be used to endorse or promote products derived
+ *       from this software without specific prior written permission.
+ *
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 /*
  * authdes_prot.c, XDR routines for DES authentication

Modified: fsf/glibc-2_10-branch/libc/sunrpc/authuxprot.c
==============================================================================
--- fsf/glibc-2_10-branch/libc/sunrpc/authuxprot.c (original)
+++ fsf/glibc-2_10-branch/libc/sunrpc/authuxprot.c Wed Jul 29 08:38:57 2009
@@ -1,33 +1,32 @@
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
 /*
  * Copyright (C) 1984, Sun Microsystems, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials
+ *       provided with the distribution.
+ *     * Neither the name of Sun Microsystems, Inc. nor the names of its
+ *       contributors may be used to endorse or promote products derived
+ *       from this software without specific prior written permission.
+ *
+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

[... 7554 lines stripped ...]