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

[commits] r5248 - in /trunk: libc/ libc/bits/ libc/catgets/ libc/conform/data/ libc/conform/data/net/ libc/conform/data/netinet/ libc/...



Author: joseph
Date: Wed Feb 20 04:48:46 2008
New Revision: 5248

Log:
Merge changes between r4014 and r5247 from /fsf/trunk.

Added:
    trunk/libc/elf/tst-tls16.c
      - copied unchanged from r5247, fsf/trunk/libc/elf/tst-tls16.c
    trunk/libc/elf/tst-tlsmod16a.c
      - copied unchanged from r5247, fsf/trunk/libc/elf/tst-tlsmod16a.c
    trunk/libc/elf/tst-tlsmod16b.c
      - copied unchanged from r5247, fsf/trunk/libc/elf/tst-tlsmod16b.c
    trunk/libc/iconvdata/bug-iconv6.c
      - copied unchanged from r5247, fsf/trunk/libc/iconvdata/bug-iconv6.c
    trunk/libc/iconvdata/hp-greek8.c
      - copied unchanged from r5247, fsf/trunk/libc/iconvdata/hp-greek8.c
    trunk/libc/iconvdata/hp-roman9.c
      - copied unchanged from r5247, fsf/trunk/libc/iconvdata/hp-roman9.c
    trunk/libc/iconvdata/hp-thai8.c
      - copied unchanged from r5247, fsf/trunk/libc/iconvdata/hp-thai8.c
    trunk/libc/iconvdata/hp-turkish8.c
      - copied unchanged from r5247, fsf/trunk/libc/iconvdata/hp-turkish8.c
    trunk/libc/iconvdata/tst-iconv7.c
      - copied unchanged from r5247, fsf/trunk/libc/iconvdata/tst-iconv7.c
    trunk/libc/inet/tst-ether_line.c
      - copied unchanged from r5247, fsf/trunk/libc/inet/tst-ether_line.c
    trunk/libc/localedata/charmaps/HP-GREEK8
      - copied unchanged from r5247, fsf/trunk/libc/localedata/charmaps/HP-GREEK8
    trunk/libc/localedata/charmaps/HP-ROMAN9
      - copied unchanged from r5247, fsf/trunk/libc/localedata/charmaps/HP-ROMAN9
    trunk/libc/localedata/charmaps/HP-THAI8
      - copied unchanged from r5247, fsf/trunk/libc/localedata/charmaps/HP-THAI8
    trunk/libc/localedata/charmaps/HP-TURKISH8
      - copied unchanged from r5247, fsf/trunk/libc/localedata/charmaps/HP-TURKISH8
    trunk/libc/localedata/locales/bo_CN
      - copied unchanged from r5247, fsf/trunk/libc/localedata/locales/bo_CN
    trunk/libc/localedata/locales/bo_IN
      - copied unchanged from r5247, fsf/trunk/libc/localedata/locales/bo_IN
    trunk/libc/malloc/tst-trim1.c
      - copied unchanged from r5247, fsf/trunk/libc/malloc/tst-trim1.c
    trunk/libc/nptl/tst-basic7.c
      - copied unchanged from r5247, fsf/trunk/libc/nptl/tst-basic7.c
    trunk/libc/posix/tst-rfc3484-3.c
      - copied unchanged from r5247, fsf/trunk/libc/posix/tst-rfc3484-3.c
    trunk/libc/stdio-common/bug21.c
      - copied unchanged from r5247, fsf/trunk/libc/stdio-common/bug21.c
    trunk/libc/stdio-common/bug22.c
      - copied unchanged from r5247, fsf/trunk/libc/stdio-common/bug22.c
    trunk/libc/stdlib/tst-makecontext2.c
      - copied unchanged from r5247, fsf/trunk/libc/stdlib/tst-makecontext2.c
    trunk/libc/sysdeps/i386/i586/memcpy_chk.S
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/i386/i586/memcpy_chk.S
    trunk/libc/sysdeps/i386/i586/mempcpy_chk.S
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/i386/i586/mempcpy_chk.S
    trunk/libc/sysdeps/i386/i586/memset_chk.S
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/i386/i586/memset_chk.S
    trunk/libc/sysdeps/mach/hurd/kernel-features.h
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/mach/hurd/kernel-features.h
    trunk/libc/sysdeps/unix/sysv/linux/check_native.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/check_native.c
    trunk/libc/sysdeps/unix/sysv/linux/netiucv/
      - copied from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/netiucv/
    trunk/libc/sysdeps/unix/sysv/linux/open64_2.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/open64_2.c
    trunk/libc/sysdeps/unix/sysv/linux/s390/opensock.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/opensock.c
    trunk/libc/sysdeps/unix/sysv/linux/s390/sa_len.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/sa_len.c
    trunk/libc/sysdeps/unix/sysv/linux/sys/timerfd.h
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/timerfd.h
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/aio_read.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/aio_write.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/aio_write.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/creat64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/creat64.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/open64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/open64.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/openat.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/openat.c
    trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/openat64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/openat64.c
    trunk/libc/sysdeps/wordsize-64/alphasort.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/alphasort.c
    trunk/libc/sysdeps/wordsize-64/alphasort64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/alphasort64.c
    trunk/libc/sysdeps/wordsize-64/fseeko.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/fseeko.c
    trunk/libc/sysdeps/wordsize-64/fseeko64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/fseeko64.c
    trunk/libc/sysdeps/wordsize-64/ftello.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/ftello.c
    trunk/libc/sysdeps/wordsize-64/ftello64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/ftello64.c
    trunk/libc/sysdeps/wordsize-64/ftw.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/ftw.c
    trunk/libc/sysdeps/wordsize-64/ftw64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/ftw64.c
    trunk/libc/sysdeps/wordsize-64/iofgetpos.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/iofgetpos.c
    trunk/libc/sysdeps/wordsize-64/iofgetpos64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/iofgetpos64.c
    trunk/libc/sysdeps/wordsize-64/iofopen.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/iofopen.c
    trunk/libc/sysdeps/wordsize-64/iofopen64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/iofopen64.c
    trunk/libc/sysdeps/wordsize-64/iofsetpos.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/iofsetpos.c
    trunk/libc/sysdeps/wordsize-64/iofsetpos64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/iofsetpos64.c
    trunk/libc/sysdeps/wordsize-64/lockf.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/lockf.c
    trunk/libc/sysdeps/wordsize-64/lockf64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/lockf64.c
    trunk/libc/sysdeps/wordsize-64/mkostemp.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/mkostemp.c
    trunk/libc/sysdeps/wordsize-64/mkostemp64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/mkostemp64.c
    trunk/libc/sysdeps/wordsize-64/mkstemp.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/mkstemp.c
    trunk/libc/sysdeps/wordsize-64/mkstemp64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/mkstemp64.c
    trunk/libc/sysdeps/wordsize-64/scandir.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/scandir.c
    trunk/libc/sysdeps/wordsize-64/scandir64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/scandir64.c
    trunk/libc/sysdeps/wordsize-64/tmpfile.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/tmpfile.c
    trunk/libc/sysdeps/wordsize-64/tmpfile64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/tmpfile64.c
    trunk/libc/sysdeps/wordsize-64/versionsort.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/versionsort.c
    trunk/libc/sysdeps/wordsize-64/versionsort64.c
      - copied unchanged from r5247, fsf/trunk/libc/sysdeps/wordsize-64/versionsort64.c
    trunk/libc/time/bug-getdate1.c
      - copied unchanged from r5247, fsf/trunk/libc/time/bug-getdate1.c
Removed:
    trunk/ports/sysdeps/unix/sysv/linux/arm/bits/armsigctx.h
Modified:
    trunk/libc/ChangeLog
    trunk/libc/Makeconfig
    trunk/libc/Makerules
    trunk/libc/NEWS
    trunk/libc/Versions.def
    trunk/libc/bits/shm.h
    trunk/libc/catgets/gencat.c
    trunk/libc/configure
    trunk/libc/configure.in
    trunk/libc/conform/data/fcntl.h-data
    trunk/libc/conform/data/fmtmsg.h-data
    trunk/libc/conform/data/ftw.h-data
    trunk/libc/conform/data/inttypes.h-data
    trunk/libc/conform/data/limits.h-data
    trunk/libc/conform/data/math.h-data
    trunk/libc/conform/data/mqueue.h-data
    trunk/libc/conform/data/net/if.h-data
    trunk/libc/conform/data/netdb.h-data
    trunk/libc/conform/data/netinet/in.h-data
    trunk/libc/conform/data/pthread.h-data
    trunk/libc/conform/data/semaphore.h-data
    trunk/libc/conform/data/signal.h-data
    trunk/libc/conform/data/stdio.h-data
    trunk/libc/conform/data/stdlib.h-data
    trunk/libc/conform/data/string.h-data
    trunk/libc/conform/data/sys/socket.h-data
    trunk/libc/conform/data/time.h-data
    trunk/libc/conform/data/unistd.h-data
    trunk/libc/crypt/sha256-crypt.c
    trunk/libc/crypt/sha512-crypt.c
    trunk/libc/csu/version.c
    trunk/libc/ctype/ctype.h
    trunk/libc/debug/catchsegv.sh
    trunk/libc/debug/xtrace.sh
    trunk/libc/elf/Makefile
    trunk/libc/elf/dl-close.c
    trunk/libc/elf/dl-reloc.c
    trunk/libc/elf/dl-tls.c
    trunk/libc/elf/elf.h
    trunk/libc/elf/ldconfig.c
    trunk/libc/elf/ldd.bash.in
    trunk/libc/elf/rtld-Rules
    trunk/libc/elf/rtld.c
    trunk/libc/elf/sprof.c
    trunk/libc/elf/tst-execstack.c
    trunk/libc/hurd/hurdsock.c
    trunk/libc/iconv/iconv_prog.c
    trunk/libc/iconv/iconvconfig.c
    trunk/libc/iconv/loop.c
    trunk/libc/iconvdata/Makefile
    trunk/libc/iconvdata/ebcdic-es-a.c
    trunk/libc/iconvdata/ebcdic-es.c
    trunk/libc/iconvdata/ebcdic-is-friss.c
    trunk/libc/iconvdata/ebcdic-uk.c
    trunk/libc/iconvdata/gconv-modules
    trunk/libc/iconvdata/hp-roman8.c
    trunk/libc/iconvdata/ibm1364.c
    trunk/libc/iconvdata/ibm930.c
    trunk/libc/iconvdata/ibm933.c
    trunk/libc/iconvdata/ibm935.c
    trunk/libc/iconvdata/ibm937.c
    trunk/libc/iconvdata/ibm939.c
    trunk/libc/iconvdata/iso-2022-cn-ext.c
    trunk/libc/iconvdata/iso-2022-cn.c
    trunk/libc/iconvdata/iso-2022-jp-3.c
    trunk/libc/iconvdata/iso-2022-jp.c
    trunk/libc/iconvdata/iso-2022-kr.c
    trunk/libc/iconvdata/iso8859-16.c
    trunk/libc/iconvdata/iso8859-9e.c
    trunk/libc/iconvdata/tst-tables.sh
    trunk/libc/iconvdata/viscii.c
    trunk/libc/include/ifaddrs.h
    trunk/libc/include/langinfo.h
    trunk/libc/include/link.h
    trunk/libc/include/stdlib.h
    trunk/libc/inet/Makefile
    trunk/libc/inet/ether_line.c
    trunk/libc/inet/netinet/in.h
    trunk/libc/intl/dcigettext.c
    trunk/libc/io/fchmodat.c
    trunk/libc/libio/stdio.h
    trunk/libc/locale/nl_langinfo.c
    trunk/libc/locale/nl_langinfo_l.c
    trunk/libc/locale/programs/ld-collate.c
    trunk/libc/locale/programs/locale.c
    trunk/libc/locale/programs/localedef.c
    trunk/libc/localedata/ChangeLog
    trunk/libc/localedata/SUPPORTED
    trunk/libc/localedata/charmaps/UTF-8
    trunk/libc/localedata/locales/as_IN
    trunk/libc/localedata/locales/dz_BT
    trunk/libc/localedata/locales/ga_IE
    trunk/libc/localedata/locales/lo_LA
    trunk/libc/localedata/locales/si_LK
    trunk/libc/localedata/locales/ug_CN
    trunk/libc/login/forkpty.c
    trunk/libc/login/openpty.c
    trunk/libc/login/pty.h
    trunk/libc/malloc/Makefile
    trunk/libc/malloc/arena.c
    trunk/libc/malloc/malloc.c
    trunk/libc/malloc/memusage.sh
    trunk/libc/malloc/mtrace.pl
    trunk/libc/manual/arith.texi
    trunk/libc/manual/libc.texinfo
    trunk/libc/manual/terminal.texi
    trunk/libc/nis/nss_compat/compat-initgroups.c
    trunk/libc/nptl/ChangeLog
    trunk/libc/nptl/Makeconfig
    trunk/libc/nptl/Makefile
    trunk/libc/nptl/allocatestack.c
    trunk/libc/nptl/pthread-errnos.sym
    trunk/libc/nptl/sysdeps/pthread/createthread.c
    trunk/libc/nptl/sysdeps/pthread/pthread.h
    trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
    trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S
    trunk/libc/nptl/sysdeps/unix/sysv/linux/lowlevellock.c
    trunk/libc/nptl/sysdeps/unix/sysv/linux/register-atfork.c
    trunk/libc/nptl/sysdeps/unix/sysv/linux/sem_post.c
    trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
    trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
    trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S
    trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S
    trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S
    trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S
    trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S
    trunk/libc/nptl/sysdeps/unix/sysv/linux/structsem.sym
    trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
    trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
    trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
    trunk/libc/nptl/sysdeps/x86_64/pthreaddef.h
    trunk/libc/nptl/tst-eintr2.c
    trunk/libc/nscd/aicache.c
    trunk/libc/nscd/cache.c
    trunk/libc/nscd/connections.c
    trunk/libc/nscd/gai.c
    trunk/libc/nscd/grpcache.c
    trunk/libc/nscd/hstcache.c
    trunk/libc/nscd/initgrcache.c
    trunk/libc/nscd/mem.c
    trunk/libc/nscd/nscd.c
    trunk/libc/nscd/nscd.conf
    trunk/libc/nscd/nscd.h
    trunk/libc/nscd/nscd_setup_thread.c
    trunk/libc/nscd/pwdcache.c
    trunk/libc/nscd/selinux.c
    trunk/libc/nscd/servicescache.c
    trunk/libc/nss/getent.c
    trunk/libc/nss/nsswitch.c
    trunk/libc/po/ca.po
    trunk/libc/po/cs.po
    trunk/libc/po/ko.po
    trunk/libc/po/nl.po
    trunk/libc/po/pl.po
    trunk/libc/po/sv.po
    trunk/libc/po/tr.po
    trunk/libc/po/zh_CN.po
    trunk/libc/posix/Makefile
    trunk/libc/posix/gai.conf
    trunk/libc/posix/getconf.c
    trunk/libc/posix/regcomp.c
    trunk/libc/posix/regex.h
    trunk/libc/posix/tst-rfc3484-2.c
    trunk/libc/posix/tst-rfc3484.c
    trunk/libc/posix/unistd.h
    trunk/libc/resolv/netdb.h
    trunk/libc/resolv/res_hconf.c
    trunk/libc/stdio-common/Makefile
    trunk/libc/stdio-common/printf_fp.c
    trunk/libc/stdio-common/vfprintf.c
    trunk/libc/stdio-common/vfscanf.c
    trunk/libc/stdlib/Makefile
    trunk/libc/stdlib/Versions
    trunk/libc/stdlib/msort.c
    trunk/libc/stdlib/qsort.c
    trunk/libc/stdlib/stdlib.h
    trunk/libc/stdlib/tst-setcontext.c
    trunk/libc/string/bits/string2.h
    trunk/libc/string/tester.c
    trunk/libc/sunrpc/bindrsvprt.c
    trunk/libc/sunrpc/clnt_perr.c
    trunk/libc/sunrpc/rpc_thread.c
    trunk/libc/sysdeps/gnu/bits/shm.h
    trunk/libc/sysdeps/i386/i486/bits/string.h
    trunk/libc/sysdeps/ieee754/dbl-64/sincos.tbl
    trunk/libc/sysdeps/mach/hurd/bits/fcntl.h
    trunk/libc/sysdeps/posix/getaddrinfo.c
    trunk/libc/sysdeps/pthread/aio_misc.c
    trunk/libc/sysdeps/s390/bits/string.h
    trunk/libc/sysdeps/unix/Makefile
    trunk/libc/sysdeps/unix/make-syscalls.sh
    trunk/libc/sysdeps/unix/sysv/linux/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/Versions
    trunk/libc/sysdeps/unix/sysv/linux/adjtime.c
    trunk/libc/sysdeps/unix/sysv/linux/alpha/bits/shm.h
    trunk/libc/sysdeps/unix/sysv/linux/bits/in.h
    trunk/libc/sysdeps/unix/sysv/linux/bits/sched.h
    trunk/libc/sysdeps/unix/sysv/linux/bits/shm.h
    trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h
    trunk/libc/sysdeps/unix/sysv/linux/check_pf.c
    trunk/libc/sysdeps/unix/sysv/linux/cmsg_nxthdr.c
    trunk/libc/sysdeps/unix/sysv/linux/i386/makecontext.S
    trunk/libc/sysdeps/unix/sysv/linux/i386/sysconf.c
    trunk/libc/sysdeps/unix/sysv/linux/ia64/bits/shm.h
    trunk/libc/sysdeps/unix/sysv/linux/ia64/syscalls.list
    trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h
    trunk/libc/sysdeps/unix/sysv/linux/nscd_setup_thread.c
    trunk/libc/sysdeps/unix/sysv/linux/open64.c
    trunk/libc/sysdeps/unix/sysv/linux/opensock.c
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/shm.h
    trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
    trunk/libc/sysdeps/unix/sysv/linux/s390/bits/shm.h
    trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
    trunk/libc/sysdeps/unix/sysv/linux/sa_len.c
    trunk/libc/sysdeps/unix/sysv/linux/sh/bits/shm.h
    trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/shm.h
    trunk/libc/sysdeps/unix/sysv/linux/sys/signalfd.h
    trunk/libc/sysdeps/unix/sysv/linux/sys/timex.h
    trunk/libc/sysdeps/unix/sysv/linux/syscalls.list
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/shm.h
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/stat.h
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/init-first.c
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/epoll.h
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list
    trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysdep.h
    trunk/libc/sysdeps/x86_64/cacheinfo.c
    trunk/libc/sysdeps/x86_64/dl-trampoline.S
    trunk/libc/sysdeps/x86_64/memset.S
    trunk/libc/time/Makefile
    trunk/libc/time/getdate.c
    trunk/libc/time/mktime.c
    trunk/libc/time/tzfile.c
    trunk/libc/wcsmbs/wchar.h
    trunk/ports/ChangeLog.arm
    trunk/ports/ChangeLog.hppa
    trunk/ports/sysdeps/unix/sysv/linux/arm/profil-counter.h
    trunk/ports/sysdeps/unix/sysv/linux/arm/register-dump.h
    trunk/ports/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
    trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h

Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Wed Feb 20 04:48:46 2008
@@ -1,3 +1,791 @@
+2008-02-19  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* elf/elf.h (SHT_GNU_ATTRIBUTES): New macro.
+
+2008-02-15  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5737]
+	* resolv/netdb.h: Make NI_MAXHOST and NI_MAXSERV available when
+	__USE_MISC is defined.
+
+2008-02-10  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/sys/timerfd.h: New file.
+	* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add
+	sys/timerfd.h.
+	* sysdeps/unix/sysv/linux/syscalls.list: Add timerfd_create,
+	timerfd_gettime, timerfd_settime.
+	* sysdeps/unix/sysv/linux/Versions: Add timerfd_create,
+	timerfd_gettime, timerfd_settime for GLIBC_2.8.
+
+2008-02-08  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* elf/elf.h (NT_PPC_SPE): New macro.
+
+2008-02-06  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* Makerules ($(common-objpfx)sysd-rules):
+	Depend on $(sysdep-makeconfigs).
+
+2008-01-31  Roland McGrath  <roland@xxxxxxxxxx>
+
+	[BZ #5442]
+	* configure.in: Use -print-file-name if it yields a directory,
+	for each of include and include-fixed.
+	* configure: Regenerated.
+
+	* Makeconfig (sysd-rules-targets): New variable.
+	* sysdeps/unix/make-syscalls.sh: Use it in the rules emitted.
+	* sysdeps/unix/Makefile (omit-deps): Append variants for each target.
+
+2008-01-30  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* manual/libc.texinfo: Update back-cover text.
+
+	* elf/elf.h (NT_386_TLS): New macro.
+
+2008-01-29  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* Makeconfig (sysd-rules-patterns): New variable.
+	* Makerules ($(common-objpfx)sysd-rules): Drive the loop from that.
+	(check-inhibit-asm): New canned sequence, replaces ...
+	(open-check-inhibit-asm, close-check-inhibit-asm): ... these, removed.
+	* elf/rtld-Rules ($(objpfx)rtld-%.os): Use $(rtld-CPPFLAGS) in commands.
+	(rtld-CPPFLAGS): Renamed from CPPFLAGS-rtld.
+	(CFLAGS-rtld): Variable removed.
+
+2008-01-24  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* configure.in: Let configure fragments set base_os.
+	* configure: Regenerated.
+
+2008-01-22  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* po/ko.po: Update from translation team.
+
+2008-01-12  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/i386/fpu/ftestexcept.c (fetestexcept): Use short for fnstsw.
+
+2008-01-12  Andreas Jaeger  <aj@xxxxxxx>
+
+	[BZ #5040]
+	* sysdeps/unix/sysv/linux/x86_64/sys/epoll.h (enum EPOLL_EVENTS):
+	Add EPOLLRDHUP.
+
+2008-01-20  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* hurd/hurdsock.c (_hurd_socket_server): Return the standard
+	error EAFNOSUPPORT rather than non-standard EPFNOSUPPORT.
+	* sunrpc/bindrsvprt.c (bindresvport): Likewise.
+
+2007-10-23  Alexandre Oliva  <aoliva@xxxxxxxxxx>
+
+	* include/link.h (FORCED_DYNAMIC_TLS_OFFSET): Define.
+	* elf/dl-close.c (_dl_close): Check for it.
+	* elf/dl-reloc.c (CHECK_STATIC_TLS): Likewise.
+	(_dl_allocate_static_tls): Likewise.
+	* elf/dl-tls.c (_dl_allocate_tls_init): Likewise.
+	(__tls_get_addr): Protect from race conditions in setting l_tls_offset
+	to it.
+	* elf/tst-tls16.c: New file.
+	* elf/tst-tlsmod16a.c: New file.
+	* elf/tst-tlsmod16b.c: New file.
+	* elf/Makefile: Add rules to build and run tst-tls16.
+
+2008-01-16  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5628]
+	* bits/shm.h: Fix comment describing shmid_ds.
+	* sysdeps/gnu/bits/shm.h: Likewise.
+	* sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
+	* sysdeps/unix/sysv/linux/sh/bits/shm.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
+	Patch by Hareesh Nagarajan <hareesh.nagarajan@xxxxxxxxx>.
+
+	[BZ #5607]
+	* conform/data/fcntl.h-data: Fix posix_fadvise and posix_fallocate
+	prototypes.
+	* conform/data/limits.h-data: Adjust limits changed in v6 and add
+	additional suffixes.
+	* conform/data/mqueue.h-data: Fix typo in mq_curmsgs entry.
+	Add optional functions mq_timedreceive and mq_timedsend.
+	* conform/data/netdb.h-data: Add more AI_* and EAI_* constants.
+	* conform/data/pthread.h-data: Fix prototype of
+	pthread_condattr_setclock.  pthread_sigmask is not required in v6.
+	* conform/data/semaphore.h-data: Allow time.h definitions.
+	* conform/data/signal.h-data: Likewise.
+	* conform/data/stdio.h-data: getw and putw are not required in v6.
+	* conform/data/stdlib.h-data: Change setstate prototype.
+	* conform/data/string.h-data: Fix strerror_r prototype.
+	* conform/data/time.h-data: Fix typo in TIMER_ABSTIME definition.
+	* conform/data/unistd.h-data: pthread_atfork not required in v6.
+	Fix readlink prototype.
+	* conform/data/netinet/in.h-data: Add const to in6addr_any and
+	in6addr_loopback.
+	* inet/netinet/in.h: Cleanup namespace.
+	* posix/regex.h: Likewise.
+	* resolv/netdb.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/in.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
+	* sysdeps/posix/getaddrinfo.c (default_labels): Adjust for change
+	of names of in in6_addr.
+	(default_precedence): Likewise.
+	* sysdeps/unix/sysv/linux/cmsg_nxthdr.c: Include <stddef.h> for
+	NULL definition.
+
+2008-01-15  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* conform/data/fmtmsg.h-data: Add missing allows.
+	* conform/data/ftw.h-data: Likewise.
+	* conform/data/inttypes.h-data: Likewise.
+	* conform/data/math.h-data: Likewise.
+	* conform/data/signal.h-data: Likewise.
+	* conform/data/net/if.h-data: Likewise.
+	* conform/data/netinet/in.h-data: Likewise.
+	* conform/data/sys/socket.h-data: Likewise.
+
+	[BZ #5614]
+	* string/bits/string2.h (__strtok_r_1c): Always update *__NEXTP.
+	(__strtok_r): Simplify.
+	* string/tester.c (test_strtok_r): Add test case for futile search
+	with single-character seach string.
+
+2008-01-12  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* po/ko.po: Update from translation team.
+
+2008-01-11  Andreas Jaeger  <aj@xxxxxxx>
+
+	[BZ #5600]
+	* sysdeps/unix/sysv/linux/sys/signalfd.h (struct
+	signalfd_siginfo): Use 64-bit type for ssi_ptr to sync with Linux
+	kernel header.
+
+2008-01-10  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/posix/getaddrinfo.c (rfc3484_sort): Store result of
+	native interface lookup in all the relevant places.
+
+2008-01-10  Jakub Jelinek  <jakub@xxxxxxxxxx>
+	    Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/posix/getaddrinfo.c (sort_results): Remove service_order
+	field.  Use sockaddr_in6 for source_addr.
+	(get_scope): Change type of parameter to sockaddr_in6.  Adjust.
+	(match_prefix): Likewise.
+	(get_label): Likewise.
+	(get_precedence): Likewise.
+	(rfc3484_sort): Change to use indirect access to results array.
+	Adjust to use of sockaddr_in6.  Replace service_order test with
+	simple index comparison.
+	(getaddrinfo): Define order array.  Initialize it.  Don't initialize
+	service_order field.  Adjust qsort_t calls.  Access sorted result
+	array indirectly through order array.
+	* posix/tst-rfc3484.c: Adjust for change of rfc3484_sort.
+	* posix/tst-rfc3484-2.c: Likewise.
+	* posix/tst-rfc3484-3.c: Likewise.
+
+2008-01-09  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5541]
+	* sunrpc/rpc_thread.c (__rpc_thread_destroy): Also free xports and
+	pollfd structures.
+	Patch by André Cruz.
+
+	[BZ #5545]
+	* sunrpc/clnt_perr.c (clnt_sperror): Don't use fixed size buffer.
+	(clnt_spcreateerror): Likewise.
+
+	[BZ #5553]
+	* malloc/malloc.c (public_mALLOc): Set ar_ptr when trying main_arena.
+	(public_mEMALIGn): Likewise.
+	Patch mostly by Daniel Jacobowitz.
+
+2008-01-09  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/i386/makecontext.S (__makecontext): Avoid
+	clobbering memory at or above uc_stack.ss_sp + uc_stack.ss_size.
+	* stdlib/Makefile: Add rules to build and run tst-makecontext2.
+	* stdlib/tst-makecontext2.c: New test.
+
+008-01-08  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* iconv/loop.c (UPDATE_PARAMS): Define to empty statement if not
+	defined.
+	(REINIT_PARAMS): Likewise.  Undefine before end of file.
+	(STANDARD_TO_LOOP_ERR_HANDLER): Use UPDATE_PARAMS before calling
+	transliteration hooks and REINIT_PARAMS afterwards.
+	* iconvdata/iso-2022-jp.c (BODY): Use a separate variable for
+	status.
+	(REINIT_PARAMS): Define.
+	* iconvdata/ibm1364.c (REINIT_PARAMS): Likewise.
+	* iconvdata/ibm930.c (REINIT_PARAMS): Likewise.
+	* iconvdata/ibm933.c (REINIT_PARAMS): Likewise.
+	* iconvdata/ibm935.c (REINIT_PARAMS): Likewise.
+	* iconvdata/ibm937.c (REINIT_PARAMS): Likewise.
+	* iconvdata/ibm939.c (REINIT_PARAMS): Likewise.
+	* iconvdata/iso-2022-cn.c (REINIT_PARAMS): Likewise.
+	* iconvdata/iso-2022-cn-ext.c (REINIT_PARAMS): Likewise.
+	* iconvdata/iso-2022-jp-3.c (REINIT_PARAMS): Likewise.
+	* iconvdata/iso-2022-kr.c (REINIT_PARAMS): Likewise.
+	* iconvdata/Makefile: Add rules to build and run tst-iconv7.c.
+	* iconvdata/tst-iconv7.c: New test.
+
+2008-01-07  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* libio/stdio.h (vscanf): Fix definition for loser compilers.
+
+2008-01-05  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	[BZ #5112]
+	* nscd/connections.c (restart): Fix condition.
+
+2008-01-03  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* ctype/ctype.h (__ctype_b_loc, __ctype_tolower_loc,
+	__ctype_toupper_loc): Add __THROW.
+
+2008-01-02  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Fix
+	recognition of interface family.
+
+	* posix/getconf.c: Update copyright year.
+	* nss/getent.c: Likewise.
+	* iconv/iconvconfig.c: Likewise.
+	* iconv/iconv_prog.c: Likewise.
+	* elf/ldconfig.c: Likewise.
+	* catgets/gencat.c: Likewise.
+	* csu/version.c: Likewise.
+	* elf/ldd.bash.in: Likewise.
+	* elf/sprof.c (print_version): Likewise.
+	* locale/programs/locale.c: Likewise.
+	* locale/programs/localedef.c: Likewise.
+	* nscd/nscd.c (print_version): Likewise.
+	* debug/xtrace.sh: Likewise.
+	* malloc/memusage.sh: Likewise.
+	* malloc/mtrace.pl: Likewise.
+	* debug/catchsegv.sh: Likewise.
+
+2007-12-26  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* nss/nsswitch.c (__nss_lookup): Actually use alternative name in
+	second lookup.
+
+2007-12-23  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/x86_64/cacheinfo.c (intel_02_known): New entry 0x3f.
+	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Likewise.
+
+2007-12-17  Roland McGrath  <roland@xxxxxxxxxx>
+
+	* inet/ether_line.c (ether_line): Remove unused variable.
+
+2007-12-17  Samuel Thibault  <samuel.thibault@xxxxxxxxxxxx>
+
+	* login/forkpty.c (forkpty): Add const qualifier to parameters termp
+	and winp.
+	* login/openpty.c (openpty): Likewise.
+	* login/pty.h (openpty, forkpty): Likewise.
+	* manual/terminal.texi (openpty, forkpty): Likewise.
+
+2007-12-17  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* malloc/malloc.c (public_cALLOc): For arena other than
+	main_arena, count all bytes inside the mprotect_size range of the
+	heap as uninitialized.
+
+2007-12-16  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* elf/tst-execstack.c (do_test): Don't fail if SELinux forbids
+	executable stacks.
+
+	* malloc/malloc.c (public_mTRIm): Iterate over all arenas and call
+	mTRIm for all of them.
+	(mTRIm): Additionally iterate over all free blocks and use madvise
+	to free memory for all those blocks which contain at least one
+	memory page.
+	* malloc/tst-trim1.c: New file.
+	* malloc/Makefile (tests): Add tst-trim1.
+
+	* malloc/malloc.c (do_check_malloc_state): Minimal cleanups.
+
+2007-12-14  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL_ERROR_P):
+	First cast argument to long
+	* sysdeps/unix/sysv/linux/x86_64/init-first.c (__vdso_gettimeofday):
+	Return long.
+	(__vdso_clock_gettime): Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h: Functions
+	return long.
+
+2007-12-13  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* locale/nl_langinfo.c (nl_langinfo): Just call __nl_langinfo_l.
+	* locale/nl_langinfo_l.c: Real implementation, copied from
+	nl_langinfo.c.
+	* include/langinfo.h: Add libc_hidden_proto for __nl_langinfo_l.
+
+2007-12-01  Jim Meyering  <meyering@xxxxxxxxxx>
+
+	* posix/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
+	that would inhibit utf8-optimization of a regexp containing line-
+	or buffer-anchors, e.g., `^', `$'.
+
+2007-12-12  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* time/bug-getdate1.c (do_test): Don't use century values which
+	aren't valid on 32-bit systems.
+
+2007-12-12  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* sysdeps/i386/i486/bits/string.h (memmove): Define as macro.
+	(memmove): Rename to __memmove_g, with __asm__ ("memmove").
+	* sysdeps/s390/bits/string.h (__strlen_g, __strcpy_g, __strncpy_g,
+	__strcat_g, __strncat_g): Add __asm__.
+
+2007-12-12  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5477]
+	* io/fchmodat.c: Fix typo in stub_warning use.
+	Patch by Petr Salinger.
+
+2007-12-11  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* iconvdata/hp-thai8.c: New file.
+	* iconvdata/Makefile: Add rules for hp-thai8.c.
+	* iconvdata/tst-tables.sh: Add entry for HP-THAI8.
+	* iconvdata/gconv-modules: Likewise.
+
+	[BZ #5464]
+	* iconvdata/hp-greek8.c: New file.
+	* iconvdata/Makefile: Add rules for hp-greek8.c.
+	* iconvdata/tst-tables.sh: Add entry for HP-GREEK8.
+	* iconvdata/gconv-modules: Likewise.
+
+	[BZ #5463]
+	* iconvdata/hp-turkish8.c: New file.
+	* iconvdata/Makefile: Add rules for hp-turkish8.c.
+	* iconvdata/tst-tables.sh: Add entry for HP-TURKISH8.
+	* iconvdata/gconv-modules: Likewise.
+
+	* malloc/arena.c (grow_heap): Split out code to shrink heap into...
+	(shrink_heap): ... this new function.
+	(heap_trim): Call shrink_heap instead of grow_heap.
+
+	* malloc/malloc.c (_int_malloc): sYSMALLOc might fail, in this
+	case don't call alloc_perturb.
+
+2007-12-10  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/adjtime.c: Use ADJ_OFFSET_SS_READ if
+	possible.
+	* sysdeps/unix/sysv/linux/kernel-features.h
+	(__ASSUME_ADJ_OFFSET_SS_READ): Define for 2.6.24.
+	* sysdeps/unix/sysv/linux/sys/timex.h (ADJ_OFFSET_SS_READ): Define.
+
+2007-12-08  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5424]
+	* stdio-common/vfprintf.c: Do not overflow when adding to done.
+	* stdio-common/Makefile (tests): Add bug22.
+	* stdio-common/bug22.c: New file.
+
+	[BZ #5451]
+	* time/getdate.c: Fix filling in default values.
+	* time/bug-getdate1.c: New file.
+	* time/Makefile: Add rules to build and run bug-getdate1.
+
+	* iconvdata/ebcdic-is-friss.c: Use 8bit-gap instead of 8bit-generic.
+	* iconvdata/ebcdic-es.c: Likewise.
+	* iconvdata/ebcdic-es-a.c: Likewise.
+	* iconvdata/ebcdic-uk.c: Likewise.
+	* iconvdata/iso8859-16.c: Likewise.
+	* iconvdata/viscii.c: Likewise.
+	* iconvdata/iso8859-9e.c: Likewise.
+	* iconvdata/Makefile: Adjust appropriately.
+
+	[BZ #5428]
+	* wcsmbs/wchar.h: Unconditionally undefine __need_mbstate and
+	__need_wint_t.
+
+2007-12-07  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5427]
+	* iconvdata/hp-roman9.c: New file.
+	* iconvdata/Makefile: Add rules for hp-roman9.c.
+	* iconvdata/tst-tables.sh: Add HP-ROMAN9.
+	* iconvdata/gconv-modules: Likewise.
+
+	* iconvdata/hp-roman8.c: Use 8bit-gap instead of 8bit-generic.
+	* iconvdata/Makefile: Adjust appropriately.
+
+	[BZ #5441]
+	* stdio-common/vfscanf.c (_IO_vfwscanf): Don't free ptrs_to_free
+	structure, it's allocated with alloca.
+	* stdio-common/Makefile (tests): Add bug21.
+	* stdio-common/bug21.c: New file.
+
+2007-12-06  Aurelien Jarno  <aurelien@xxxxxxxxxxx>
+
+	[BZ #5452]
+	* sysdeps/unix/sysv/linux/bits/sched.h: Use __extension__
+	keyword for gcc's braced-groups.
+
+2007-12-07  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5454]
+	* inet/ether_line.c: Strip hostname of whitespaces.
+	* inet/Makefile (tests): Add tst-ether_line.
+	* inet/tst-ether_line.c: New file.
+
+2007-12-03  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5439]
+	* sysdeps/unix/sysv/linux/sys/signalfd.h: Fix use of __nonnull.
+
+	[BZ #5435]
+	* sysdeps/unix/sysv/linux/i386/makecontext.S: Align stack.
+
+	* stdlib/tst-setcontext.c: Catch the case where the links gets
+	messed up and we do not reach main again.
+
+	* po/ca.po: Update from translation team.
+
+2007-11-26  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* posix/unistd.h: Declare fsync also for __USE_XOPEN2K.
+	* posix/regex.h (REG_ENOSYS): Likewise.
+	* wcsmbs/wchar.h: Define __need_file also for __USE_XOPEN2K.
+
+2007-11-25  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* nscd/nscd.h (MAX_STACK_USE): Define.
+	* nscd/mem.c (MAX_STACK_USE): Remove definition here.
+	(gc): Initialize stack_used based on allocation in prune_cache.
+	* nscd/cache.c (prune_cache): Use heap for mark array if necessary.
+	Clear array before use.
+
+	* nscd/aicache.c (addhstaiX): Update statistics counter in case
+	memory allocation failed.
+	* nscd/hstcache.c (cache_addhst): Likewise.
+	* nscd/grpcache.c (cache_addgr): Likewise.
+	* nscd/servicescache.c (cache_addserv): Likewise.
+	* nscd/pwdcache.c (cache_addpw): Likewise.
+	* nscd/initgrcache.c (addinitgroupsX): Likewise.
+
+2007-11-23  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Add open
+	and creat system calls.
+
+	* sysdeps/unix/sysv/linux/check_native.c: Include <asm/types.h>.
+
+2007-11-23  Martin Schwidefsky  <schwidefsky@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/Makefile [subdir=inet] (sysdep_headers):
+	Add netiucv/iucv.h.
+	* sysdeps/unix/sysv/linux/netiucv/iucv.h: New file.
+	* sysdeps/unix/sysv/linux/opensock.c (__opensock): Add AF_IUCV
+	protocol.
+	* sysdeps/unix/sysv/linux/sa_len.c (__libc_sa_len): Likewise.
+	* sysdeps/unix/sysv/linux/s390/opensock.c: New file.
+	* sysdeps/unix/sysv/linux/s390/sa_len.c: New file.
+
+2007-11-22  Martin Schwidefsky  <schwidefsky@xxxxxxxxxx>
+
+	* sysdeps/s390/bits/string.h (strlen, strcpy, strncpy, strcat,
+	strncat): Define as macros to avoid compile errors.
+
+	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list:  Add open and
+	creat entries.
+
+2007-11-22  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5382]
+	* nscd/nscd.h (NSCD_THREAD_STACKSIZE): Define.
+	* nscd/connections.c (start_threads): Use NSCD_THREAD_STACKSIZE.
+	* nscd/mem.c (gc): Don't allocate arrays on the stack if they can
+	overflow it.
+	Partially based on a patch by Petr Baudis <pasky@xxxxxxx>.
+
+	* sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
+	Return zero in case the thread library is not NPTL.
+
+	[BZ #5375]
+	* resolv/res_hconf.c (_res_hconf_reorder_addrs): Fix locking when
+	initializing interface list.
+
+	[BZ #5378]
+	* nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't
+	use result of nss_getgrgid_r if nothing was found.  For other
+	error return with a failure.
+	Partially based on a patch by Petr Baudis <pasky@xxxxxxx>.
+
+	* locale/programs/ld-collate.c (collate_read): Fix loop to match
+	macro name.
+
+2007-11-19  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/posix/getaddrinfo.c (defaults_scopes, scopes): New variables.
+	(get_scope): For IPv4 scope, use scopes table.
+	(fini): Free scopes table if necessary.
+	(free_scopelist): New function.
+	(scopecmp): New function.
+	(gaiconf_init): Also handle scopev4 entries.
+	* posix/tst-rfc3484.c (do_test): Initialize scopes.
+	* posix/tst-rfc3484-2.c (do_test): Likewise.
+	* posix/gai.conf: Document scopev4 defaults.
+	* posix/Makefile (tests): Add tst-rfc3484-3.
+	* posix/tst-rfc3484-3.c: New file.
+
+	* sysdeps/posix/getaddrinfo.c (default_labels): Describe entry for
+	Teredo tunnels.
+	* posix/gai.conf: Update for current default tables.
+
+2007-11-19  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* po/tr.po: Update from translation team.
+
+2007-11-18  Roland McGrath  <roland@xxxxxxxx>
+
+	* manual/arith.texi (Remainder Functions): Spelling fix.
+	From Shaun Silk <genix@xxxxxxxxxxxxx>.
+
+	* sysdeps/mach/hurd/bits/fcntl.h (O_CLOEXEC): Fix value.
+
+2007-11-17  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* po/zh_CN.po: Update from translation team.
+
+	* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
+	Add sys/signalfd.h and sys/eventfd.h.
+
+2007-11-15  Bruno Haible  <bruno@xxxxxxxxx>
+
+	[BZ #5346]
+	* intl/dcigettext.c (struct known_translation_t): Turn msgid into a
+	union.
+	(transcmp): Use the appropriate part of s1->msgid and s2->msgid.
+	(DCIGETTEXT): Change the allocation of the 'search' variable so that
+	it needs only fixed stack space. Delay the initialization of
+	msgid_len until it is needed.
+
+2007-11-15  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/ieee754/dbl-64/sincos.tbl: Fix size of union.
+	Reported by Christoph Quirin Lauter <christoph.lauter@xxxxxxxxxxx>.
+
+2007-11-15  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* po/ko.po: Update from translation team.
+
+2007-11-14  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/check_native.c (__check_native): Simplify
+	significantly.  The device type is also part of the ifinfomsg data.
+
+	* po/sv.po: Update from translation team.
+	* po/nl.po: Likewise.
+
+	* nscd/cache.c (prune_cache): If cache is empty, instruct caller
+	to wake up in 24 hours.
+
+	* nscd/gai.c (__ioctl): Define.  Include check_native.c.
+
+2007-11-13  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* po/cs.po: Update from translation team.
+	* po/pl.po: Likewise.
+
+	* include/ifaddrs.h: Remove in6ai_temporary.
+	(struct in6addrinfo): Add index element.
+	Declare __check_native.
+	* inet/Makefile (aux): Add check_native.
+	* sysdeps/unix/sysv/linux/check_native.c: New file.
+	* sysdeps/unix/sysv/linux/check_pf.c: No need to recognize
+	IFA_F_TEMPORARY.  Pass back ifa_index.
+	* sysdeps/posix/getaddrinfo.c: Remove netlink compatibility code.
+	(rfc3484_sort): Add new parameter.  Implement rule 7 correctly:
+	call __check_native if necessary.
+	(getaddrinfo): Fill in index field.  Use qsort_r instead of qsort
+	to sort addresses.  Pass information about the results.
+	* posix/tst-rfc3484.c: Adjust for addition of index field and change
+	of rfc3484_sort interface.
+	* posix/tst-rfc3484-2.c: Likewise.
+
+	* stdlib/stdlib.h: Define __compar_d_fn_t.  Declare qsort_r.
+	* include/stdlib.h: Add hidden_proto for qsort_t and adjust protoype
+	for _quicksort.
+	* stdlib/msort.c (qsort): Now a wrapper around qsort_r.
+	(qsort_r): Renamed from qsort.  Take additional parameter and pass it
+	on as third parameter to compare function and _quicksort.
+	* stdlib/qsort.c (_quicksort): Take additional parameter and pass on
+	to the compare function.
+	* stdlib/Versions [libc] (GLIBC_2.8): Add qsort_r.
+	* Versions.def: Add GLIBC_2.8 for libc.
+
+	* posix/tst-rfc3484.c: Adjust for addition of prefixlen field.
+	* posix/tst-rfc3484-2.c: Likewise.
+
+	* include/kernel-features.h: Moved to...
+	* sysdeps/mach/hurd/kernel-features.h: ...here.
+
+2007-09-13  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/i386/i586/memcpy_chk.S: New file.
+	* sysdeps/i386/i586/mempcpy_chk.S: Likewise.
+	* sysdeps/i386/i586/memset_chk.S: Likewise.
+
+2007-11-12  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* include/ifaddrs.c (struct in6addrinfo): Add prefixlen field.
+	* sysdeps/unix/sysv/linux/check_pf.c (make_request): Always return
+	list of interfaces.  Also store prefix length.
+	* sysdeps/posix/getaddrinfo.c (sort_result): Add prefixlen element.
+	(rfc3484_sort): In rule 9, for IPv4 addresses count only matching
+	prefix if source and destination address are in the same subnet.
+	(getaddrinfo): Always call __check_pf.  Fill in prefixlen field.
+	Always look for matching record in in6ai list.
+	Correct source_addr_len value for IPv6->IPv4 converted records.
+
+2007-11-11  Roland McGrath  <roland@xxxxxxxx>
+
+	* include/kernel-features.h: New file.
+
+2007-11-10  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/pthread/aio_misc.c (handle_fildes_io): Avoid unnecessary
+	complications for 64-bit platforms.
+
+	* sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to..
+	* sysdeps/unix/sysv/linux/open64_2.c: ...here.  New file.
+	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add
+	open64_2.
+	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Add open and creat
+	entries.
+	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
+	* sysdeps/wordsize-64/alphasort.c: New file.
+	* sysdeps/wordsize-64/alphasort64.c: New file.
+	* sysdeps/wordsize-64/fseeko.c: New file.
+	* sysdeps/wordsize-64/fseeko64.c: New file.
+	* sysdeps/wordsize-64/ftello.c: New file.
+	* sysdeps/wordsize-64/ftello64.c: New file.
+	* sysdeps/wordsize-64/ftw.c: New file.
+	* sysdeps/wordsize-64/ftw64.c: New file.
+	* sysdeps/wordsize-64/iofgetpos.c: New file.
+	* sysdeps/wordsize-64/iofgetpos64.c: New file.
+	* sysdeps/wordsize-64/iofopen.c: New file.
+	* sysdeps/wordsize-64/iofopen64.c: New file.
+	* sysdeps/wordsize-64/iofsetpos.c: New file.
+	* sysdeps/wordsize-64/iofsetpos64.c: New file.
+	* sysdeps/wordsize-64/lockf.c: New file.
+	* sysdeps/wordsize-64/lockf64.c: New file.
+	* sysdeps/wordsize-64/mkostemp.c: New file.
+	* sysdeps/wordsize-64/mkostemp64.c: New file.
+	* sysdeps/wordsize-64/mkstemp.c: New file.
+	* sysdeps/wordsize-64/mkstemp64.c: New file.
+	* sysdeps/wordsize-64/scandir.c: New file.
+	* sysdeps/wordsize-64/scandir64.c: New file.
+	* sysdeps/wordsize-64/tmpfile.c: New file.
+	* sysdeps/wordsize-64/tmpfile64.c: New file.
+	* sysdeps/wordsize-64/versionsort.c: New file.
+	* sysdeps/wordsize-64/versionsort64.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/aio_read.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/aio_write.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/creat64.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/open64.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/openat.c: New file.
+	* sysdeps/unix/sysv/linux/wordsize-64/openat64.c: New file.
+
+	* crypt/sha256-crypt.c: Fix a comment.
+	* crypt/sha512-crypt.c: Likewise.
+
+2007-11-07  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/x86_64/memset.S: Add sfence after movnti.
+
+2007-11-07  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	[BZ #5277]
+	* iconv/loop.c (STANDARD_TO_LOOP_ERR_HANDLER): If conversion failed
+	because output buffer is too small break, don't loop.
+	* iconvdata/Makefile (tests): Add bug-iconv6.
+	* iconvdata/bug-iconv6.c: New file.
+
+2007-11-06  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* stdio-common/vfprintf.c (vfprintf): Compute necessary buffer size
+	with size_t type.
+	* stdio-common/printf_fp.c (__print_fp): Change chars_needed type to
+	size_t.  Add casts where needed.
+
+	* nscd/selinux.c (nscd_request_avc_has_perm): When compiled with
+	old headers, don't call avc_has_perm if we don't have the
+	permission information.
+
+2007-11-05  Daniel Jacobowitz  <dan@xxxxxxxxxxxxxxxx>
+
+	* elf/rtld.c (dl_main): Use the page size to find the map start.
+
+2007-11-05  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* time/tzfile.c (__tzfile_read): Fix check for version 0 data files.
+	Patch by Szymon Siwek <sls@xxxxxxxxxxxx>.
+
+	* nscd/aicache.c (addhstaiX): Check herrno after IPv4 lookup only
+	when the lookup call failed.
+
+	* nscd/nscd.h (struct database_dyn): Rename prunelock to prune_lock.
+	Add prune_cond and wakeup_time.
+	(CACHE_PRUNE_INTERNAL): Define.
+	Update declarations of prune_cache and setup_thread.
+	* nscd/connections.c (dbs): Update initializers.
+	(CACHE_PRUNE_INTERNAL): Moved to nscd.h.
+	(nscd_init): Default number of threads is now 4.
+	(invalidate_cache): Take lock before calling prune_cache.
+	(handle_request): If SELinux forbids the request, say so.
+	(readylist_cond): Use static initializer.
+	(nscd_run_prune): New function.  Used only by pruning threads.
+	(nscd_run_worder): Renamed from nscd_run.  Remove support for pruning
+	here.
+	(fd_ready): Update nscd_run reference.
+	(start_threads): No need to initialize readylist_cond.
+	Start pruning threads separately.
+	* nscd/nscd_setup_thread.c: Change return value type to int and always
+	return 0.
+	* sysdeps/unix/sysv/linux/nscd_setup_thread.c: Change return value type
+	to int and return nonzero value if we can use the TID address hack.
+	* nscd/cache.c (cache_add): If next wakeup time of cleanup thread for
+	the database is later than the new entry's timeout, update the
+	wakeup time and wake the cleanup thread.
+	(prune_cache): Return seconds the next entry in the database is still
+	valid.  Remove locking for pruning here.
+	* nscd/nscd.conf: Document default number of threads.
+
+2007-10-31  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Make sure
+	stack is properly aligned for the target function.
+	Correct unwind info.
+
+	* elf/rtld.c (dl_main): Initialize stack and pointer guard early
+	when using auditing libraries.
+
 2007-10-29  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* resolv/Versions [libresolv] (GLIBC_PRIVATE): Add

Modified: trunk/libc/Makeconfig
==============================================================================
--- trunk/libc/Makeconfig (original)
+++ trunk/libc/Makeconfig Wed Feb 20 04:48:46 2008
@@ -1,4 +1,5 @@
-# Copyright (C) 1991-2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+# Copyright (C) 1991-2003,2004,2005,2006,2007,2008
+#	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
@@ -957,12 +958,21 @@
 $(all-Depend-files): ;
 endif
 
+# This gives partial TARGET:SOURCE pattern pairs to have rules
+# emitted into sysd-rules.  A sysdeps Makeconfig fragment can
+# add its own special object file prefix to this list with e.g. foo-%:%
+# to have foo-*.? compiled from *.? using $(foo-CPPFLAGS).
+sysd-rules-patterns := %:% rtld-%:% m_%:s_%
+
 # Let sysdeps/ subdirs contain a Makeconfig fragment for us to include here.
 sysdep-makeconfigs := $(wildcard $(+sysdep_dirs:=/Makeconfig))
 ifneq (,$(sysdep-makeconfigs))
 include $(sysdep-makeconfigs)
 endif
 
+# Compute just the target patterns.  Makeconfig has set sysd-rules-patterns.
+sysd-rules-targets := $(foreach p,$(sysd-rules-patterns),\
+		      		$(firstword $(subst :, ,$p)))
 
 endif # Makeconfig not yet included
 

Modified: trunk/libc/Makerules
==============================================================================
--- trunk/libc/Makerules (original)
+++ trunk/libc/Makerules Wed Feb 20 04:48:46 2008
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1991-2006, 2007, 2008 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
@@ -207,10 +207,9 @@
 # patterns matching sysdep directories whose assembly source files should
 # be suppressed.
 ifdef inhibit-sysdep-asm
-define open-check-inhibit-asm
-case $$sysdir in $(subst $(empty) ,|,$(inhibit-sysdep-asm))) : ;; *)
-endef
-close-check-inhibit-asm = ;; esac ;
+define check-inhibit-asm
+case $$sysdir in $(subst $(empty) ,|,$(inhibit-sysdep-asm))) asm= ;; esac;
+endef
 endif
 
 -include $(common-objpfx)sysd-rules
@@ -221,7 +220,8 @@
 FORCE:
 endif
 $(common-objpfx)sysd-rules: $(common-objpfx)config.make $(..)Makerules \
-			    $(sysdep-makefiles) $(sysd-rules-force)
+			    $(sysdep-makefiles) $(sysdep-makeconfigs) \
+			    $(sysd-rules-force)
 	-@rm -f $@T
 	(echo 'sysd-rules-sysdirs := $(config-sysdirs)';		      \
 	 for dir in $(config-sysdirs); do				      \
@@ -229,36 +229,22 @@
 	   /*) ;;							      \
 	   *) dir="\$$(..)$$dir" ;;					      \
 	   esac;							      \
-	   for o in $(all-object-suffixes); do \
-	     $(open-check-inhibit-asm) \
-	     echo "\$$(objpfx)%$$o: $$dir/%.S \$$(before-compile); \
-		  \$$(compile-command.S)";				      \
-	     echo "\$$(objpfx)%$$o: $$dir/%.s \$$(before-compile); \
-		  \$$(compile-command.s)";			              \
-	     echo "\$$(objpfx)rtld-%$$o: $$dir/%.S \$$(before-compile); \
-		  \$$(compile-command.S)";				      \
-	     echo "\$$(objpfx)rtld-%$$o: $$dir/%.s \$$(before-compile); \
-		  \$$(compile-command.s)";			              \
-	     echo "\$$(objpfx)ptw-%$$o: $$dir/%.S \$$(before-compile); \
-		  \$$(compile-command.S) -DPTW";			      \
-	     echo "\$$(objpfx)ptw-%$$o: $$dir/%.s \$$(before-compile); \
-		  \$$(compile-command.s) -DPTW";		              \
-	     echo "\$$(objpfx)m_%$$o: $$dir/s_%.S \$$(before-compile); \
-		  \$$(compile-command.S)";				      \
-	     echo "\$$(objpfx)m_%$$o: $$dir/s_%.s \$$(before-compile); \
-		  \$$(compile-command.s)";			              \
-	     $(close-check-inhibit-asm)	\
-	     echo "\$$(objpfx)%$$o: $$dir/%.c \$$(before-compile); \
-		  \$$(compile-command.c)";				      \
-	     echo "\$$(objpfx)rtld-%$$o: $$dir/%.c \$$(before-compile); \
-		  \$$(compile-command.c)";				      \
-	     echo "\$$(objpfx)ptw-%$$o: $$dir/%.c \$$(before-compile); \
-		  \$$(compile-command.c) -DPTW";			      \
-	     echo "\$$(objpfx)m_%$$o: $$dir/s_%.c \$$(before-compile); \
-		  \$$(compile-command.c)";				      \
-	   done; \
-	   echo "\$$(inst_includedir)/%.h: $$dir/%.h \$$(+force); \
-	   	 	\$$(do-install)"; 				      \
+	   asm='.S .s';							      \
+	   $(check-inhibit-asm)						      \
+	   for o in $(all-object-suffixes); do				      \
+	     set $(subst :, ,$(sysd-rules-patterns));			      \
+	     while [ $$# -ge 2 ]; do					      \
+	       t=$$1; shift; 						      \
+	       d=$$1; shift;						      \
+	       v=$${t%%%}; [ x"$$v" = x ] || v="\$$($${v}CPPFLAGS)";	      \
+	       for s in $$asm .c; do					      \
+		 echo "\$$(objpfx)$$t$$o: $$dir/$$d$$s \$$(before-compile)";  \
+		 echo "	\$$(compile-command$$s) $$v";			      \
+	       done;							      \
+	     done;							      \
+	   done;							      \
+	   echo "\$$(inst_includedir)/%.h: $$dir/%.h \$$(+force)";	      \
+	   echo "	\$$(do-install)"; 				      \
 	 done;								      \
 	 echo 'sysd-rules-done = t') > $@T
 	mv -f $@T $@

Modified: trunk/libc/NEWS
==============================================================================
--- trunk/libc/NEWS (original)
+++ trunk/libc/NEWS Wed Feb 20 04:48:46 2008
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2007-10-17
+GNU C Library NEWS -- history of user-visible changes.  2007-12-12
 Copyright (C) 1992-2006, 2007 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -7,6 +7,9 @@
 
 Version 2.8
 
+* New locales: bo_CN, bo_IN.
+
+* New encoding: HP-ROMAN9, HP-GREEK8, HP-THAI8, HP-TURKISH8.
 
 Version 2.7
 

Modified: trunk/libc/Versions.def
==============================================================================
--- trunk/libc/Versions.def (original)
+++ trunk/libc/Versions.def Wed Feb 20 04:48:46 2008
@@ -24,6 +24,7 @@
   GLIBC_2.5
   GLIBC_2.6
   GLIBC_2.7
+  GLIBC_2.8
 %ifdef USE_IN_LIBIO
   HURD_CTHREADS_0.3
 %endif

Modified: trunk/libc/bits/shm.h
==============================================================================
--- trunk/libc/bits/shm.h (original)
+++ trunk/libc/bits/shm.h Wed Feb 20 04:48:46 2008
@@ -42,7 +42,7 @@
 /* Type to count number of attaches.  */
 typedef unsigned short int shmatt_t;
 
-/* Data structure describing a set of semaphores.  */
+/* Data structure describing a shared memory segment.  */
 struct shmid_ds
   {
     struct ipc_perm shm_perm;		/* operation permission struct */

Modified: trunk/libc/catgets/gencat.c
==============================================================================
--- trunk/libc/catgets/gencat.c (original)
+++ trunk/libc/catgets/gencat.c Wed Feb 20 04:48:46 2008
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1996.
 
@@ -247,7 +247,7 @@
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2007");
+"), "2008");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 

Modified: trunk/libc/configure
==============================================================================
--- trunk/libc/configure (original)
+++ trunk/libc/configure Wed Feb 20 04:48:46 2008
@@ -1791,6 +1791,7 @@
 machine=$config_machine
 vendor=$config_vendor
 os=$config_os
+base_os=''
 
 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
 # Unify this here.
@@ -2048,7 +2049,7 @@
 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
 
-case "$os" in
+test "x$base_os" != x || case "$os" in
 gnu*)
   base_os=mach/hurd ;;
 netbsd* | 386bsd* | freebsd* | bsdi*)
@@ -2067,8 +2068,6 @@
   base_os=unix/sysv/aix/aix4.3 ;;
 none)
   base_os=standalone ;;
-*)
-  base_os='' ;;
 esac
 
 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
@@ -4569,8 +4568,12 @@
 # header directory and add that to the list.  NOTE: Only does the right
 # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
 if test -n "$sysheaders"; then
-  ccheaders=`$CC -print-file-name=include`
-  SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $ccheaders-fixed \
+  SYSINCLUDES=-nostdinc
+  for d in include include-fixed; do
+    i=`$CC -print-file-name="$d"` && test "x$i" != "x$d" &&
+    SYSINCLUDES="$SYSINCLUDES -isystem $i"
+  done
+  SYSINCLUDES="$SYSINCLUDES \
 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
   if test -n "$CXX"; then
     cxxversion=`$CXX -dumpversion 2>&5` &&

Modified: trunk/libc/configure.in
==============================================================================
--- trunk/libc/configure.in (original)
+++ trunk/libc/configure.in Wed Feb 20 04:48:46 2008
@@ -300,6 +300,7 @@
 machine=$config_machine
 vendor=$config_vendor
 os=$config_os
+base_os=''
 
 # config.guess on some IBM machines says `rs6000' instead of `powerpc'.
 # Unify this here.
@@ -535,7 +536,7 @@
 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
 
-case "$os" in
+test "x$base_os" != x || case "$os" in
 gnu*)
   base_os=mach/hurd ;;
 netbsd* | 386bsd* | freebsd* | bsdi*)
@@ -554,8 +555,6 @@
   base_os=unix/sysv/aix/aix4.3 ;;
 none)
   base_os=standalone ;;
-*)
-  base_os='' ;;
 esac
 
 # For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
@@ -918,8 +917,12 @@
 # header directory and add that to the list.  NOTE: Only does the right
 # thing on a system that doesn't need fixincludes.  (Not presently a problem.)
 if test -n "$sysheaders"; then
-  ccheaders=`$CC -print-file-name=include`
-  SYSINCLUDES="-nostdinc -isystem $ccheaders -isystem $ccheaders-fixed \
+  SYSINCLUDES=-nostdinc
+  for d in include include-fixed; do
+    i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
+    SYSINCLUDES="$SYSINCLUDES -isystem $i"
+  done
+  SYSINCLUDES="$SYSINCLUDES \
 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
   if test -n "$CXX"; then
     cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&

Modified: trunk/libc/conform/data/fcntl.h-data
==============================================================================
--- trunk/libc/conform/data/fcntl.h-data (original)
+++ trunk/libc/conform/data/fcntl.h-data Wed Feb 20 04:48:46 2008
@@ -87,8 +87,8 @@
 function int fcntl (int, int, ...)
 function int open (const char*, int, ...)
 #ifdef XOPEN2K
-function int posix_fadvise (int, off_t, size_t, int)
-function int posix_fallocate (int, off_t, size_t)
+function int posix_fadvise (int, off_t, off_t, int)
+function int posix_fallocate (int, off_t, off_t)
 #endif
 
 allow-header sys/stat.h

Modified: trunk/libc/conform/data/fmtmsg.h-data
==============================================================================
--- trunk/libc/conform/data/fmtmsg.h-data (original)
+++ trunk/libc/conform/data/fmtmsg.h-data Wed Feb 20 04:48:46 2008
@@ -59,4 +59,5 @@
 function int fmtmsg (long, const char*, int, const char*, const char*, const char*)
 
 allow *_t
+allow MM_*
 #endif

Modified: trunk/libc/conform/data/ftw.h-data
==============================================================================
--- trunk/libc/conform/data/ftw.h-data (original)
+++ trunk/libc/conform/data/ftw.h-data Wed Feb 20 04:48:46 2008
@@ -22,4 +22,5 @@
 allow-header sys/stat.h
 
 allow *_t
+allow FTW*
 #endif

Modified: trunk/libc/conform/data/inttypes.h-data
==============================================================================
--- trunk/libc/conform/data/inttypes.h-data (original)
+++ trunk/libc/conform/data/inttypes.h-data Wed Feb 20 04:48:46 2008
@@ -136,6 +136,8 @@
 macro UINTMAX_C
 
 // The following expressions are not entirely correct but the current
-// fnamtch implementation doesn't grok the right form.
+// poorfnmatch implementation doesn't grok the right form.
 allow INT*
 allow UINT*
+allow PRI[Xa-z]*
+allow SCN[Xa-z]*

Modified: trunk/libc/conform/data/limits.h-data
==============================================================================
--- trunk/libc/conform/data/limits.h-data (original)
+++ trunk/libc/conform/data/limits.h-data Wed Feb 20 04:48:46 2008
@@ -57,7 +57,11 @@
 optional-constant _POSIX_AIO_LISTIO_MAX	2
 optional-constant _POSIX_AIO_MAX 1
 optional-constant _POSIX_ARG_MAX 4096
+#ifdef XOPEN2K
+optional-constant _POSIX_CHILD_MAX 25
+#else
 optional-constant _POSIX_CHILD_MAX 6
+#endif
 optional-constant _POSIX_DELAYTIMER_MAX 32
 optional-constant _POSIX_LINK_MAX 8
 optional-constant _POSIX_LOGIN_NAME_MAX 9
@@ -66,8 +70,16 @@
 optional-constant _POSIX_MQ_OPEN_MAX 8
 optional-constant _POSIX_MQ_PRIO_MAX 32
 optional-constant _POSIX_NAME_MAX 14
+#ifdef XOPEN2K
+optional-constant _POSIX_NGROUPS_MAX 8
+#else
 optional-constant _POSIX_NGROUPS_MAX 0
+#endif
+#ifdef XOPEN2K
+optional-constant _POSIX_OPEN_MAX 20
+#else
 optional-constant _POSIX_OPEN_MAX 16
+#endif
 optional-constant _POSIX_PATH_MAX 256
 optional-constant _POSIX_PIPE_BUF 512
 optional-constant _POSIX2_RE_DUP_MAX 255
@@ -126,3 +138,6 @@
 optional-constant NL_TEXTMAX
 optional-constant NZERO >= 20
 optional-constant TMP_MAX >= 10000
+
+allow *_MAX
+allow *_MIN

Modified: trunk/libc/conform/data/math.h-data
==============================================================================
--- trunk/libc/conform/data/math.h-data (original)
+++ trunk/libc/conform/data/math.h-data Wed Feb 20 04:48:46 2008
@@ -357,4 +357,6 @@
 #endif
 
 allow *_t
+// The following expressions are not entirely correct but the current
+// poorfnmatch implementation doesn't grok the right form.
 allow FP_*

Modified: trunk/libc/conform/data/mqueue.h-data
==============================================================================
--- trunk/libc/conform/data/mqueue.h-data (original)
+++ trunk/libc/conform/data/mqueue.h-data Wed Feb 20 04:48:46 2008
@@ -8,7 +8,7 @@
 element {struct mq_attr} long mq_flags
 element {struct mq_attr} long mq_maxmsg
 element {struct mq_attr} long mq_msgsize
-element {struct mq_attr} long mq_curmsg
+element {struct mq_attr} long mq_curmsgs
 
 function int mq_close (mqd_t)
 function int mq_getattr (mqd_t, struct mq_attr*)
@@ -18,6 +18,10 @@
 function int mq_send (mqd_t, const char*, size_t, unsigned int)
 function int mq_setattr (mqd_t, const struct mq_attr*, struct mq_attr*)
 function int mq_unlink (const char*)
+#ifdef XOPEN2K
+optional-function ssize_t mq_timedreceive (mqd_t, char*, size_t, unsigned int*, const struct timespec*)
+optional-function int mq_timedsend (mqd_t, const char*, size_t, unsigned int, const struct timespec*)
+#endif
 
 allow-header fcntl.h
 allow-header signal.h

Modified: trunk/libc/conform/data/net/if.h-data
==============================================================================
--- trunk/libc/conform/data/net/if.h-data (original)
+++ trunk/libc/conform/data/net/if.h-data Wed Feb 20 04:48:46 2008
@@ -12,4 +12,5 @@
 function void if_freenameindex (struct if_nameindex*)
 
 allow *_t
+allow IF_*
 #endif

Modified: trunk/libc/conform/data/netdb.h-data
==============================================================================
--- trunk/libc/conform/data/netdb.h-data (original)
+++ trunk/libc/conform/data/netdb.h-data Wed Feb 20 04:48:46 2008
@@ -55,6 +55,10 @@
 macro AI_PASSIVE
 macro AI_CANONNAME
 macro AI_NUMERICHOST
+macro AI_V4MAPPED
+macro AI_ALL
+macro AI_ADDRCONFIG
+macro AI_NUMERICSERV
 
 macro NI_NOFQDN
 macro NI_NUMERICHOST
@@ -71,6 +75,7 @@
 macro EAI_SERVICE
 macro EAI_SOCKTYPE
 macro EAI_SYSTEM
+macro EAI_OVERFLOW
 
 function void endhostent (void)
 function void endnetent (void)

Modified: trunk/libc/conform/data/netinet/in.h-data
==============================================================================
--- trunk/libc/conform/data/netinet/in.h-data (original)
+++ trunk/libc/conform/data/netinet/in.h-data Wed Feb 20 04:48:46 2008
@@ -27,12 +27,12 @@
 element {struct sockaddr_in6} {struct in6_addr} sin6_addr
 element {struct sockaddr_in6} uint32_t sin6_scope_id
 
-variable {struct in6_addr} in6addr_any
+variable {const struct in6_addr} in6addr_any
 
 // constant IN6ADDR_ANY_INIT
 macro IN6ADDR_ANY_INIT
 
-variable {struct in6_addr} in6addr_loopback
+variable {const struct in6_addr} in6addr_loopback
 
 // constant IN6ADDR_LOOPBACK_INIT
 macro IN6ADDR_LOOPBACK_INIT
@@ -59,7 +59,7 @@
 function uint16_t ntohs (uint16_t)
 
 allow-header inttypes.h
-allow-header arpa/inet.h
+allow-header sys/socket.h
 
 constant INET6_ADDRSTRLEN 46
 
@@ -83,8 +83,12 @@
 macro IN6_IS_ADDR_MC_ORGLOCAL
 macro IN6_IS_ADDR_MC_GLOBAL
 
+allow IMPLINK_*
 allow IN_*
+allow IN6_*
+allow INADDR_*
 allow IP_*
+allow IPV6_*
 allow IPPORT_*
 allow IPPROTO_*
 allow SOCK_*

Modified: trunk/libc/conform/data/pthread.h-data
==============================================================================
--- trunk/libc/conform/data/pthread.h-data (original)
+++ trunk/libc/conform/data/pthread.h-data Wed Feb 20 04:48:46 2008
@@ -84,7 +84,7 @@
 optional-function int pthread_condattr_getclock (const pthread_condattr_t*, clockid_t*)
 function int pthread_condattr_getpshared (const pthread_condattr_t*, int*)
 function int pthread_condattr_init (pthread_condattr_t*)
-optional-function int pthread_condattr_setclock (const pthread_condattr_t*, clockid_t*)
+optional-function int pthread_condattr_setclock (pthread_condattr_t*, clockid_t)
 function int pthread_condattr_setpshared (pthread_condattr_t*, int)
 function int pthread_create (pthread_t*, const pthread_attr_t*, void *(*) (void*), void*)
 function int pthread_detach (pthread_t)
@@ -140,7 +140,9 @@
 # endif
 function int pthread_setschedparam (pthread_t, int, const struct sched_param*)
 function int pthread_setspecific (pthread_key_t, const void*)
+#ifndef XOPEN2K
 function int pthread_sigmask (int, const sigset_t*, sigset_t*)
+#endif
 function int pthread_spin_destroy (pthread_spinlock_t*)
 function int pthread_spin_init (pthread_spinlock_t*, int)
 function int pthread_spin_lock (pthread_spinlock_t*)

Modified: trunk/libc/conform/data/semaphore.h-data
==============================================================================
--- trunk/libc/conform/data/semaphore.h-data (original)
+++ trunk/libc/conform/data/semaphore.h-data Wed Feb 20 04:48:46 2008
@@ -18,6 +18,7 @@
 allow-header fcntl.h
 allow-header sys/types.h
 # endif
+allow-header time.h
 
 allow sem_*
 allow SEM_*

Modified: trunk/libc/conform/data/signal.h-data
==============================================================================
--- trunk/libc/conform/data/signal.h-data (original)
+++ trunk/libc/conform/data/signal.h-data Wed Feb 20 04:48:46 2008
@@ -180,6 +180,8 @@
 function int sigwait (const sigset_t*, int*)
 function int sigwaitinfo (const sigset_t*, siginfo_t*)
 
+// The following expressions are not entirely correct but the current
+// poorfnmatch implementation doesn't grok the right form.
 allow SIG*
 allow sa_*
 allow uc_*
@@ -201,3 +203,5 @@
 allow SV_*
 allow TRAP_*
 allow *_t
+
+allow-header time.h

Modified: trunk/libc/conform/data/stdio.h-data
==============================================================================
--- trunk/libc/conform/data/stdio.h-data (original)
+++ trunk/libc/conform/data/stdio.h-data Wed Feb 20 04:48:46 2008
@@ -67,7 +67,9 @@
 function int getopt (int, char *const[], const char *)
 #endif
 function {char*} gets (char*)
+#ifndef XOPEN2K
 function int getw (FILE*)
+#endif
 function int pclose (FILE*)
 function void perror (const char*)
 function {FILE*} popen (const char*, const char*)
@@ -77,7 +79,9 @@
 function int putc_unlocked (int, FILE*)
 function int putchar_unlocked (int)
 function int puts (const char*)
+#ifndef XOPEN2K
 function int putw (int, FILE*)
+#endif
 function int remove (const char*)
 function int rename (const char*, const char*)
 function void rewind (FILE*)

Modified: trunk/libc/conform/data/stdlib.h-data
==============================================================================
--- trunk/libc/conform/data/stdlib.h-data (original)
+++ trunk/libc/conform/data/stdlib.h-data Wed Feb 20 04:48:46 2008
@@ -86,7 +86,7 @@
 function {unsigned short int*} seed48 (unsigned short int[3])
 function int setenv (const char*, const char*, int)
 function void setkey (const char*)
-function {char*} setstate (const char*)
+function {char*} setstate (char*)
 function void srand (unsigned int)
 function void srand48 (long int)
 function void srandom (unsigned)

Modified: trunk/libc/conform/data/string.h-data
==============================================================================
--- trunk/libc/conform/data/string.h-data (original)
+++ trunk/libc/conform/data/string.h-data Wed Feb 20 04:48:46 2008
@@ -17,7 +17,7 @@
 function {char*} strdup (const char*)
 function {char*} strerror (int)
 #ifdef XOPEN2K
-function {char*} strerror_r (int, char*, size_t)
+function int strerror_r (int, char*, size_t)
 #endif
 function size_t strlen (const char*)
 function {char*} strncat (char*, const char*, size_t)

Modified: trunk/libc/conform/data/sys/socket.h-data
==============================================================================
--- trunk/libc/conform/data/sys/socket.h-data (original)
+++ trunk/libc/conform/data/sys/socket.h-data Wed Feb 20 04:48:46 2008
@@ -118,4 +118,10 @@
 allow cmsg_*
 allow l_*
 allow SO*
+allow AF_*
+allow CMSG_*
+allow MSG_*
+allow PF_*
+allow SCM_*
+allow SHUT_*
 #endif

Modified: trunk/libc/conform/data/time.h-data
==============================================================================
--- trunk/libc/conform/data/time.h-data (original)
+++ trunk/libc/conform/data/time.h-data Wed Feb 20 04:48:46 2008
@@ -29,7 +29,7 @@
 element {struct itimerspec} {struct timespec} it_value
 
 constant CLOCK_REALTIME
-constant TIME_ABSTIME
+constant TIMER_ABSTIME
 constant CLOCK_MONOTONIC
 
 type clock_t

Modified: trunk/libc/conform/data/unistd.h-data
==============================================================================
--- trunk/libc/conform/data/unistd.h-data (original)
+++ trunk/libc/conform/data/unistd.h-data Wed Feb 20 04:48:46 2008
@@ -337,10 +337,12 @@
 function int pause (void)
 function int pipe (int[2])
 function ssize_t pread (int, void*, size_t, off_t)
+#ifndef XOPEN2K
 function int pthread_atfork (void(*)(void), void(*)(void), void(*)(void))
+#endif
 function ssize_t pwrite (int, const void*, size_t, off_t)
 function ssize_t read (int, void*, size_t)
-function int readlink (const char*, char*, size_t)
+function ssize_t readlink (const char*, char*, size_t)
 function int rmdir (const char*)
 function {void*} sbrk (intptr_t)
 function int setegid (gid_t)

Modified: trunk/libc/crypt/sha256-crypt.c
==============================================================================
--- trunk/libc/crypt/sha256-crypt.c (original)
+++ trunk/libc/crypt/sha256-crypt.c Wed Feb 20 04:48:46 2008
@@ -129,9 +129,8 @@
   /* Add the key string.  */
   __sha256_process_bytes (key, key_len, &ctx);
 
-  /* The last part is the salt string.  This must be at most 8
-     characters and it ends at the first `$' character (for
-     compatibility with existing implementations).  */
+  /* The last part is the salt string.  This must be at most 16
+     characters and it ends at the first `$' character.  */
   __sha256_process_bytes (salt, salt_len, &ctx);
 
 

Modified: trunk/libc/crypt/sha512-crypt.c
==============================================================================
--- trunk/libc/crypt/sha512-crypt.c (original)
+++ trunk/libc/crypt/sha512-crypt.c Wed Feb 20 04:48:46 2008
@@ -129,9 +129,8 @@
   /* Add the key string.  */
   __sha512_process_bytes (key, key_len, &ctx);
 
-  /* The last part is the salt string.  This must be at most 8
-     characters and it ends at the first `$' character (for
-     compatibility with existing implementations).  */
+  /* The last part is the salt string.  This must be at most 16
+     characters and it ends at the first `$' character.  */
   __sha512_process_bytes (salt, salt_len, &ctx);
 
 

Modified: trunk/libc/csu/version.c
==============================================================================
--- trunk/libc/csu/version.c (original)
+++ trunk/libc/csu/version.c Wed Feb 20 04:48:46 2008
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2006, 2007, 2008 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
@@ -25,7 +25,7 @@
 
 static const char banner[] =
 "GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\
-Copyright (C) 2007 Free Software Foundation, Inc.\n\
+Copyright (C) 2008 Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.\n\
 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
 PARTICULAR PURPOSE.\n\

Modified: trunk/libc/ctype/ctype.h
==============================================================================
--- trunk/libc/ctype/ctype.h (original)
+++ trunk/libc/ctype/ctype.h Wed Feb 20 04:48:46 2008
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007
+/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007,2008
    	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -79,11 +79,11 @@
    doesn't fit into an `unsigned char'.  But today more important is that
    the arrays are also used for multi-byte character sets.  */
 extern __const unsigned short int **__ctype_b_loc (void)
-     __attribute__ ((__const));
+     __THROW __attribute__ ((__const));
 extern __const __int32_t **__ctype_tolower_loc (void)
-     __attribute__ ((__const));
+     __THROW __attribute__ ((__const));
 extern __const __int32_t **__ctype_toupper_loc (void)
-     __attribute__ ((__const));
+     __THROW __attribute__ ((__const));
 
 #define __isctype(c, type) \
   ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type)

Modified: trunk/libc/debug/catchsegv.sh
==============================================================================
--- trunk/libc/debug/catchsegv.sh (original)
+++ trunk/libc/debug/catchsegv.sh Wed Feb 20 04:48:46 2008
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1998,1999,2001,2003,2004,2006,2007
+# Copyright (C) 1998,1999,2001,2003,2004,2006,2007,2008
 # Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -40,7 +40,7 @@
       ;;
     --v | --ve | --ver | --vers | --versi | --versio | --version)
       echo 'catchsegv (GNU libc) @VERSION@'
-      echo 'Copyright (C) 2007 Free Software Foundation, Inc.
+      echo 'Copyright (C) 2008 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 Written by Ulrich Drepper.'

Modified: trunk/libc/debug/xtrace.sh
==============================================================================
--- trunk/libc/debug/xtrace.sh (original)
+++ trunk/libc/debug/xtrace.sh Wed Feb 20 04:48:46 2008
@@ -1,5 +1,5 @@
 #! @BASH@
-# Copyright (C) 1999, 2001-2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2001-2006, 2007, 2008 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1999.
 
@@ -64,7 +64,7 @@
   printf $"Copyright (C) %s Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-" "2007"
+" "2008"
   printf $"Written by %s.
 " "Ulrich Drepper"
   exit 0

Modified: trunk/libc/elf/Makefile
==============================================================================
--- trunk/libc/elf/Makefile (original)
+++ trunk/libc/elf/Makefile Wed Feb 20 04:48:46 2008
@@ -166,7 +166,7 @@
 	 restest2 next dblload dblunload reldep5 reldep6 reldep7 reldep8 \
 	 circleload1 tst-tls3 tst-tls4 tst-tls5 tst-tls6 tst-tls7 tst-tls8 \
 	 tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-tls15 \
-	 tst-tls-dlinfo \
+	 tst-tls16 tst-tls-dlinfo \
 	 tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \
 	 tst-dlmodcount tst-dlopenrpath tst-deep1 \
 	 tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
@@ -200,7 +200,7 @@
 		tst-tlsmod5 tst-tlsmod6 tst-tlsmod7 tst-tlsmod8 \
 		tst-tlsmod9 tst-tlsmod10 tst-tlsmod11 tst-tlsmod12 \
 		tst-tlsmod13 tst-tlsmod13a tst-tlsmod14a tst-tlsmod14b \
-		tst-tlsmod15a tst-tlsmod15b \
+		tst-tlsmod15a tst-tlsmod15b tst-tlsmod16a tst-tlsmod16b \
 		circlemod1 circlemod1a circlemod2 circlemod2a \
 		circlemod3 circlemod3a \
 		reldep8mod1 reldep8mod2 reldep8mod3 \
@@ -493,6 +493,7 @@
 tst-tlsmod14a.so-no-z-defs = yes
 tst-tlsmod14b.so-no-z-defs = yes
 tst-tlsmod15a.so-no-z-defs = yes
+tst-tlsmod16b.so-no-z-defs = yes
 circlemod2.so-no-z-defs = yes
 circlemod3.so-no-z-defs = yes
 circlemod3a.so-no-z-defs = yes
@@ -715,6 +716,9 @@
 $(objpfx)tst-tls-dlinfo.out: $(objpfx)tst-tlsmod2.so
 
 
+
+$(objpfx)tst-tls16: $(libdl)
+$(objpfx)tst-tls16.out: $(objpfx)tst-tlsmod16a.so $(objpfx)tst-tlsmod16b.so
 
 CFLAGS-tst-align.c = $(stack-align-test-flags)
 CFLAGS-tst-align2.c = $(stack-align-test-flags)

Modified: trunk/libc/elf/dl-close.c
==============================================================================
--- trunk/libc/elf/dl-close.c (original)
+++ trunk/libc/elf/dl-close.c Wed Feb 20 04:48:46 2008
@@ -531,7 +531,8 @@
 		/* All dynamically loaded modules with TLS are unloaded.  */
 		GL(dl_tls_max_dtv_idx) = GL(dl_tls_static_nelem);
 
-	      if (imap->l_tls_offset != NO_TLS_OFFSET)
+	      if (imap->l_tls_offset != NO_TLS_OFFSET
+		  && imap->l_tls_offset != FORCED_DYNAMIC_TLS_OFFSET)
 		{
 		  /* Collect a contiguous chunk built from the objects in
 		     this search list, going in either direction.  When the

Modified: trunk/libc/elf/dl-reloc.c
==============================================================================
--- trunk/libc/elf/dl-reloc.c (original)
+++ trunk/libc/elf/dl-reloc.c Wed Feb 20 04:48:46 2008
@@ -47,8 +47,10 @@
 internal_function __attribute_noinline__
 _dl_allocate_static_tls (struct link_map *map)
 {
-  /* If the alignment requirements are too high fail.  */
-  if (map->l_tls_align > GL(dl_tls_static_align))
+  /* If we've already used the variable with dynamic access, or if the
+     alignment requirements are too high, fail.  */
+  if (map->l_tls_offset == FORCED_DYNAMIC_TLS_OFFSET
+      || map->l_tls_align > GL(dl_tls_static_align))
     {
     fail:
       _dl_signal_error (0, map->l_name, NULL, N_("\
@@ -255,10 +257,12 @@
        an attempt to allocate it in surplus space on the fly.  If that
        can't be done, we fall back to the error that DF_STATIC_TLS is
        intended to produce.  */
-#define CHECK_STATIC_TLS(map, sym_map)					      \
-    do {								      \
-      if (__builtin_expect ((sym_map)->l_tls_offset == NO_TLS_OFFSET, 0))     \
-	_dl_allocate_static_tls (sym_map);				      \
+#define CHECK_STATIC_TLS(map, sym_map)					\
+    do {								\
+      if (__builtin_expect ((sym_map)->l_tls_offset == NO_TLS_OFFSET	\
+			    || ((sym_map)->l_tls_offset			\
+				== FORCED_DYNAMIC_TLS_OFFSET), 0))	\
+	_dl_allocate_static_tls (sym_map);				\
     } while (0)
 
 #include "dynamic-link.h"

Modified: trunk/libc/elf/dl-tls.c
==============================================================================
--- trunk/libc/elf/dl-tls.c (original)
+++ trunk/libc/elf/dl-tls.c Wed Feb 20 04:48:46 2008
@@ -413,7 +413,8 @@
 	     not be the generation counter.  */
 	  maxgen = MAX (maxgen, listp->slotinfo[cnt].gen);
 
-	  if (map->l_tls_offset == NO_TLS_OFFSET)
+	  if (map->l_tls_offset == NO_TLS_OFFSET
+	      || map->l_tls_offset == FORCED_DYNAMIC_TLS_OFFSET)
 	    {
 	      /* For dynamically loaded modules we simply store
 		 the value indicating deferred allocation.  */
@@ -702,6 +703,7 @@
   if (__builtin_expect (dtv[0].counter != GL(dl_tls_generation), 0))
     the_map = _dl_update_slotinfo (GET_ADDR_MODULE);
 
+ retry:
   p = dtv[GET_ADDR_MODULE].pointer.val;
 
   if (__builtin_expect (p == TLS_DTV_UNALLOCATED, 0))
@@ -722,6 +724,28 @@
 	  the_map = listp->slotinfo[idx].map;
 	}
 
+      /* Make sure that, if a dlopen running in parallel forces the
+	 variable into static storage, we'll wait until the address in
+	 the static TLS block is set up, and use that.  If we're
+	 undecided yet, make sure we make the decision holding the
+	 lock as well.  */
+      if (__builtin_expect (the_map->l_tls_offset
+			    != FORCED_DYNAMIC_TLS_OFFSET, 0))
+	{
+	  __rtld_lock_lock_recursive (GL(dl_load_lock));
+	  if (__builtin_expect (the_map->l_tls_offset == NO_TLS_OFFSET, 1))
+	    {
+	      the_map->l_tls_offset = FORCED_DYNAMIC_TLS_OFFSET;
+	      __rtld_lock_unlock_recursive (GL(dl_load_lock));
+	    }
+	  else
+	    {
+	      __rtld_lock_unlock_recursive (GL(dl_load_lock));
+	      if (__builtin_expect (the_map->l_tls_offset
+				    != FORCED_DYNAMIC_TLS_OFFSET, 1))
+		goto retry;
+	    }
+	}
       p = dtv[GET_ADDR_MODULE].pointer.val = allocate_and_init (the_map);
       dtv[GET_ADDR_MODULE].pointer.is_static = false;
     }

Modified: trunk/libc/elf/elf.h
==============================================================================
--- trunk/libc/elf/elf.h (original)
+++ trunk/libc/elf/elf.h Wed Feb 20 04:48:46 2008
@@ -1,5 +1,6 @@
 /* This file defines standard ELF types, structures, and macros.
-   Copyright (C) 1995-2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 1995-2003,2004,2005,2006,2007,2008
+	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
@@ -330,6 +331,7 @@
 #define SHT_SYMTAB_SHNDX  18		/* Extended section indeces */
 #define	SHT_NUM		  19		/* Number of defined types.  */
 #define SHT_LOOS	  0x60000000	/* Start OS-specific.  */
+#define SHT_GNU_ATTRIBUTES 0x6ffffff5	/* Object attributes.  */
 #define SHT_GNU_HASH	  0x6ffffff6	/* GNU-style hash table.  */
 #define SHT_GNU_LIBLIST	  0x6ffffff7	/* Prelink library list */
 #define SHT_CHECKSUM	  0x6ffffff8	/* Checksum for DSO content.  */
@@ -605,6 +607,8 @@
 #define NT_PRFPXREG	20		/* Contains copy of fprxregset struct */
 #define NT_PRXFPREG	0x46e62b7f	/* Contains copy of user_fxsr_struct */
 #define NT_PPC_VMX	0x100		/* PowerPC Altivec/VMX registers */
+#define NT_PPC_SPE	0x101		/* PowerPC SPE/EVR registers */
+#define NT_386_TLS	0x200		/* i386 TLS slots (struct user_desc) */
 
 /* Legal values for the note segment descriptor types for object files.  */
 

Modified: trunk/libc/elf/ldconfig.c
==============================================================================
--- trunk/libc/elf/ldconfig.c (original)
+++ trunk/libc/elf/ldconfig.c Wed Feb 20 04:48:46 2008
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@xxxxxxx>, 1999.
 
@@ -297,7 +297,7 @@
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2007");
+"), "2008");
   fprintf (stream, gettext ("Written by %s.\n"),
 	   "Andreas Jaeger");
 }

Modified: trunk/libc/elf/ldd.bash.in
==============================================================================
--- trunk/libc/elf/ldd.bash.in (original)
+++ trunk/libc/elf/ldd.bash.in Wed Feb 20 04:48:46 2008
@@ -1,5 +1,5 @@
 #! @BASH@
-# Copyright (C) 1996-2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1996-2007, 2008 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -39,7 +39,7 @@
     printf $"Copyright (C) %s Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-" "2007"
+" "2008"
     printf $"Written by %s and %s.
 " "Roland McGrath" "Ulrich Drepper"
     exit 0

Modified: trunk/libc/elf/rtld-Rules
==============================================================================
--- trunk/libc/elf/rtld-Rules (original)
+++ trunk/libc/elf/rtld-Rules Wed Feb 20 04:48:46 2008
@@ -1,6 +1,6 @@
 # Subroutine makefile for compiling libc modules linked into dynamic linker.
 
-# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2008 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
@@ -93,9 +93,12 @@
 # These are the basic compilation rules corresponding to the Makerules ones.
 # The sysd-rules generated makefile already defines pattern rules for rtld-%
 # targets built from sysdeps source files.
-$(objpfx)rtld-%.os: %.S $(before-compile); $(compile-command.S)
-$(objpfx)rtld-%.os: %.s $(before-compile); $(compile-command.s)
-$(objpfx)rtld-%.os: %.c $(before-compile); $(compile-command.c)
+$(objpfx)rtld-%.os: %.S $(before-compile)
+	$(compile-command.S) $(rtld-CPPFLAGS)
+$(objpfx)rtld-%.os: %.s $(before-compile)
+	$(compile-command.s) $(rtld-CPPFLAGS)
+$(objpfx)rtld-%.os: %.c $(before-compile)
+	$(compile-command.c) $(rtld-CPPFLAGS)
 
 # The rules for generated source files.
 $(objpfx)rtld-%.os: $(objpfx)%.S $(before-compile); $(compile-command.S)
@@ -118,16 +121,7 @@
 -include $(rtld-depfiles)
 endif
 
-# Just in case we wind up e.g. regenerating dependencies for non-rtld objects,
-# we don't unconditionally modify the flags.  For rtld-% targets, use the
-# special flags set below.
-CFLAGS   += $(if $(filter rtld-%,$(@F)),$(CFLAGS-rtld))
-CPPFLAGS += $(if $(filter rtld-%,$(@F)),$(CPPFLAGS-rtld))
-
-
 # This here is the whole point of all the shenanigans.
-CPPFLAGS-rtld := -DNOT_IN_libc=1 -DIS_IN_rtld=1
-CFLAGS-rtld := # blah
-
+rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1
 
 endif

Modified: trunk/libc/elf/rtld.c
==============================================================================
--- trunk/libc/elf/rtld.c (original)
+++ trunk/libc/elf/rtld.c Wed Feb 20 04:48:46 2008
@@ -831,6 +831,35 @@
   __rtld_lock_default_unlock_recursive (lock);
 }
 #endif
+
+
+static void
+security_init (void)
+{
+  /* Set up the stack checker's canary.  */
+  uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
+#ifdef THREAD_SET_STACK_GUARD
+  THREAD_SET_STACK_GUARD (stack_chk_guard);
+#else
+  __stack_chk_guard = stack_chk_guard;
+#endif
+
+  /* Set up the pointer guard as well, if necessary.  */
+  if (GLRO(dl_pointer_guard))
+    {
+      // XXX If it is cheap, we should use a separate value.
+      uintptr_t pointer_chk_guard = stack_chk_guard;
+#ifndef HP_TIMING_NONAVAIL
+      hp_timing_t now;
+      HP_TIMING_NOW (now);
+      pointer_chk_guard ^= now;
+#endif
+#ifdef THREAD_SET_POINTER_GUARD
+      THREAD_SET_POINTER_GUARD (pointer_chk_guard);
+#endif
+      __pointer_chk_guard_local = pointer_chk_guard;
+    }
+}
 
 
 /* The library search path.  */
@@ -1137,7 +1166,8 @@
 	  ElfW(Addr) allocend;
 
 	  /* Remember where the main program starts in memory.  */
-	  mapstart = (main_map->l_addr + (ph->p_vaddr & ~(ph->p_align - 1)));
+	  mapstart = (main_map->l_addr
+		      + (ph->p_vaddr & ~(GLRO(dl_pagesize) - 1)));
 	  if (main_map->l_map_start > mapstart)
 	    main_map->l_map_start = mapstart;
 
@@ -1405,6 +1435,12 @@
 	 initialize the data structures now.  */
       tcbp = init_tls ();
 
+      /* Initialize security features.  We need to do it this early
+	 since otherwise the constructors of the audit libraries will
+	 use different values (especially the pointer guard) and will
+	 fail later on.  */
+      security_init ();
+
       do
 	{
 	  int tls_idx = GL(dl_tls_max_dtv_idx);
@@ -1815,29 +1851,10 @@
   if (tcbp == NULL)
     tcbp = init_tls ();
 
-  /* Set up the stack checker's canary.  */
-  uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
-#ifdef THREAD_SET_STACK_GUARD
-  THREAD_SET_STACK_GUARD (stack_chk_guard);
-#else
-  __stack_chk_guard = stack_chk_guard;
-#endif
-
-  /* Set up the pointer guard as well, if necessary.  */
-  if (GLRO(dl_pointer_guard))
-    {
-      // XXX If it is cheap, we should use a separate value.
-      uintptr_t pointer_chk_guard = stack_chk_guard;
-#ifndef HP_TIMING_NONAVAIL
-      hp_timing_t now;
-      HP_TIMING_NOW (now);
-      pointer_chk_guard ^= now;
-#endif
-#ifdef THREAD_SET_POINTER_GUARD
-      THREAD_SET_POINTER_GUARD (pointer_chk_guard);
-#endif
-      __pointer_chk_guard_local = pointer_chk_guard;
-    }
+  if (__builtin_expect (audit_list == NULL, 1))
+    /* Initialize security features.  But only if we have not done it
+       earlier.  */
+    security_init ();
 
   if (__builtin_expect (mode, normal) != normal)
     {

Modified: trunk/libc/elf/sprof.c
==============================================================================
--- trunk/libc/elf/sprof.c (original)
+++ trunk/libc/elf/sprof.c Wed Feb 20 04:48:46 2008
@@ -1,5 +1,5 @@
 /* Read and display shared object profiling data.
-   Copyright (C) 1997-2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1997-2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
 
@@ -357,7 +357,7 @@
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
 "),
-	   "2007");
+	   "2008");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 

Modified: trunk/libc/elf/tst-execstack.c
==============================================================================
--- trunk/libc/elf/tst-execstack.c (original)
+++ trunk/libc/elf/tst-execstack.c Wed Feb 20 04:48:46 2008
@@ -2,6 +2,7 @@
    on load of a DSO that requires executable stacks.  */
 
 #include <dlfcn.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
@@ -45,9 +46,43 @@
 }
 #endif
 
+
+static bool allow_execstack = true;
+
+
 static int
 do_test (void)
 {
+  /* Check whether SELinux is enabled and disallows executable stacks.  */
+  FILE *fp = fopen ("/selinux/enforce", "r");
+  if (fp != NULL)
+    {
+      char *line = NULL;
+      size_t linelen = 0;
+
+      bool enabled = false;
+      ssize_t n = getline (&line, &linelen, fp);
+      if (n > 0 && line[0] != '0')
+	enabled = true;
+
+      fclose (fp);
+
+      if (enabled)
+	{
+	  fp = fopen ("/selinux/booleans/allow_execstack", "r");
+	  if (fp != NULL)
+	    {
+	      n = getline (&line, &linelen, fp);
+	      if (n > 0 && line[0] == '0')
+		allow_execstack = false;
+	    }
+
+	  fclose (fp);
+	}
+    }
+
+  printf ("executable stacks %sallowed\n", allow_execstack ? "" : "not ");
+
   static void *f;		/* Address of this is used in other threads. */
 
 #if USE_PTHREADS
@@ -77,7 +112,7 @@
   if (h == NULL)
     {
       printf ("cannot load: %s\n", dlerror ());
-      return 1;
+      return allow_execstack;
     }
 
   f = dlsym (h, "tryme");
@@ -113,10 +148,10 @@
      Let them run to test it.  */
   pthread_barrier_wait (&go_barrier);
 
-  pthread_exit (0);
+  pthread_exit (! allow_execstack);
 #endif
 
-  return 0;
+  return ! allow_execstack;
 }
 
 static void

Modified: trunk/libc/hurd/hurdsock.c
==============================================================================
--- trunk/libc/hurd/hurdsock.c (original)
+++ trunk/libc/hurd/hurdsock.c Wed Feb 20 04:48:46 2008
@@ -92,7 +92,7 @@
 
   if (server == MACH_PORT_NULL && errno == ENOENT)
     /* If the server node is absent, we don't support that protocol.  */
-    errno = EPFNOSUPPORT;
+    errno = EAFNOSUPPORT;
 
   __mutex_unlock (&lock);
   HURD_CRITICAL_END;

Modified: trunk/libc/iconv/iconv_prog.c
==============================================================================
--- trunk/libc/iconv/iconv_prog.c (original)
+++ trunk/libc/iconv/iconv_prog.c Wed Feb 20 04:48:46 2008
@@ -1,5 +1,5 @@
 /* Convert text in given files from the specified from-set to the to-set.
-   Copyright (C) 1998-2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1998-2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
 
@@ -435,7 +435,7 @@
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2007");
+"), "2008");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 

Modified: trunk/libc/iconv/iconvconfig.c
==============================================================================
--- trunk/libc/iconv/iconvconfig.c (original)
+++ trunk/libc/iconv/iconvconfig.c Wed Feb 20 04:48:46 2008
@@ -1,5 +1,5 @@
 /* Generate fastloading iconv module configuration files.
-   Copyright (C) 2000-2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2000-2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2000.
 
@@ -396,7 +396,7 @@
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2007");
+"), "2008");
   fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
 }
 

Modified: trunk/libc/iconv/loop.c
==============================================================================
--- trunk/libc/iconv/loop.c (original)
+++ trunk/libc/iconv/loop.c Wed Feb 20 04:48:46 2008
@@ -1,5 +1,5 @@
 /* Conversion loop frame work.
-   Copyright (C) 1998-2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1998-2002, 2003, 2005, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
 
@@ -174,6 +174,15 @@
 # define EXTRA_LOOP_DECLS
 #endif
 
+/* Allow using UPDATE_PARAMS in macros where #ifdef UPDATE_PARAMS test
+   isn't possible.  */
+#ifndef UPDATE_PARAMS
+# define UPDATE_PARAMS do { } while (0)
+#endif
+#ifndef REINIT_PARAMS
+# define REINIT_PARAMS do { } while (0)
+#endif
+
 
 /* To make it easier for the writers of the modules, we define a macro
    to test whether we have to ignore errors.  */
@@ -213,6 +222,10 @@
       /* This means we are in call from __gconv_transliterate.  In this	      \
 	 case we are not doing any error recovery outself.  */		      \
       break;								      \
+									      \
+    /* If needed, flush any conversion state, so that __gconv_transliterate   \
+       starts with current shift state.  */				      \
+    UPDATE_PARAMS;							      \
 									      \
     /* First try the transliteration methods.  */			      \
     for (trans = step_data->__trans; trans != NULL; trans = trans->__next)    \
@@ -223,9 +236,17 @@
 	if (result != __GCONV_ILLEGAL_INPUT)				      \
 	  break;							      \
       }									      \
+									      \
+    REINIT_PARAMS;							      \
+									      \
     /* If any of them recognized the input continue with the loop.  */	      \
     if (result != __GCONV_ILLEGAL_INPUT)				      \
-      continue;								      \
+      {									      \
+	if (__builtin_expect (result == __GCONV_FULL_OUTPUT, 0))	      \
+	  break;							      \
+									      \
+	continue;							      \
+      }									      \
 									      \
     /* Next see whether we have to ignore the error.  If not, stop.  */	      \
     if (! ignore_errors_p ())						      \
@@ -314,9 +335,7 @@
   /* Update the pointers pointed to by the parameters.  */
   *inptrp = inptr;
   *outptrp = outptr;
-#ifdef UPDATE_PARAMS
   UPDATE_PARAMS;
-#endif
 
   return result;
 }
@@ -487,6 +506,7 @@
 #undef EXTRA_LOOP_DECLS
 #undef INIT_PARAMS
 #undef UPDATE_PARAMS
+#undef REINIT_PARAMS
 #undef ONEBYTE_BODY
 #undef UNPACK_BYTES
 #undef CLEAR_STATE

Modified: trunk/libc/iconvdata/Makefile
==============================================================================
--- trunk/libc/iconvdata/Makefile (original)
+++ trunk/libc/iconvdata/Makefile Wed Feb 20 04:48:46 2008
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2004,2005,2006,2007 Free Software Foundation, Inc.
+# Copyright (C) 1997-2004,2005,2006,2007,2008 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -28,14 +28,14 @@
 	:= ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5		 \
 	   ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10		 \
 	   ISO8859-11 ISO8859-13 ISO8859-14 ISO8859-15 ISO8859-16	 \
-	   T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 EBCDIC-AT-DE		 \
+	   T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 HP-ROMAN9 EBCDIC-AT-DE	 \
 	   EBCDIC-AT-DE-A EBCDIC-CA-FR EUC-KR UHC JOHAB libJIS libKSC	 \
 	   BIG5 EUC-JP libGB EUC-CN libCNS EUC-TW ISO646 EBCDIC-DK-NO	 \
 	   EBCDIC-DK-NO-A EBCDIC-ES EBCDIC-ES-A EBCDIC-ES-S EBCDIC-FI-SE \
 	   EBCDIC-FI-SE-A EBCDIC-FR EBCDIC-IS-FRISS EBCDIC-IT EBCDIC-PT	 \
 	   EBCDIC-UK EBCDIC-US IBM037 IBM038 IBM274 IBM275 IBM423	 \
 	   IBM500 IBM870 IBM871 IBM891 IBM903 IBM904 IBM905 IBM1047	 \
-	   IBM874 CP737 CP775 ISO-2022-KR				 \
+	   IBM874 CP737 CP775 ISO-2022-KR HP-TURKISH8 HP-THAI8 HP-GREEK8 \
 	   KOI8-R LATIN-GREEK LATIN-GREEK-1 IBM256 IBM273 IBM277 IBM278	 \
 	   IBM280 IBM281 IBM284 IBM285 IBM290 IBM297 IBM420 IBM424	 \
 	   IBM437 IBM850 IBM851 IBM852 IBM855 IBM857 IBM860 IBM861	 \
@@ -70,7 +70,7 @@
 
 ifeq (yes,$(build-shared))
 tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4 \
-	tst-iconv6 bug-iconv5
+	tst-iconv6 bug-iconv5 bug-iconv6 tst-iconv7
 ifeq ($(have-thread-library),yes)
 tests += bug-iconv3
 endif
@@ -201,7 +201,8 @@
 	      ibm12712.c ibm12712.h ibm16804.c ibm16804.h                   \
 	      ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h   \
 	      ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c mik.c   \
-	      brf.c mac-centraleurope.c
+	      brf.c mac-centraleurope.c hp-roman9.c hp-turkish8.c	    \
+	      hp-thai8.c hp-greek8.c
 
 # We build the transformation modules only when we build shared libs.
 ifeq (yes,$(build-shared))
@@ -220,13 +221,11 @@
 # We can build the conversion tables for numerous charsets automatically.
 
 gen-8bit-modules := iso8859-2 iso8859-3 iso8859-4 iso8859-6 iso8859-9 koi-8 \
-		    hp-roman8 ebcdic-at-de ebcdic-at-de-a ebcdic-ca-fr	    \
-		    ebcdic-dk-no ebcdic-dk-no-a ebcdic-es ebcdic-es-a	    \
-		    ebcdic-es-s ebcdic-fi-se ebcdic-fi-se-a ebcdic-fr	    \
-		    ebcdic-is-friss ebcdic-it ebcdic-pt ebcdic-uk ebcdic-us \
+		    ebcdic-at-de ebcdic-at-de-a ebcdic-ca-fr ebcdic-dk-no   \

[... 47330 lines stripped ...]