summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2012-01-07 23:57:22 -0500
committerUlrich Drepper <drepper@gmail.com>2012-01-07 23:57:22 -0500
commita784e502472fb3a1afa4d01a47c66b52d23e00f6 (patch)
tree5ebaa084119dcffe41671a62e2e799b172c57d24
parent33808bf1164be2e7c8535bdd5ac398c75c33ed49 (diff)
downloadglibc-a784e502472fb3a1afa4d01a47c66b52d23e00f6.tar.gz
glibc-a784e502472fb3a1afa4d01a47c66b52d23e00f6.tar.xz
glibc-a784e502472fb3a1afa4d01a47c66b52d23e00f6.zip
Remove pre-ISO C support
No more __const.
-rw-r--r--ChangeLog202
-rw-r--r--NEWS2
-rw-r--r--argp/argp-fmtstream.h22
-rw-r--r--argp/argp.h86
-rw-r--r--assert/assert.h11
-rw-r--r--bits/fenv.h4
-rw-r--r--bits/sched.h12
-rw-r--r--bits/sigset.h6
-rw-r--r--bits/sigthread.h4
-rw-r--r--catgets/nl_types.h6
-rw-r--r--conform/data/pthread.h-data2
-rw-r--r--crypt/crypt-private.h16
-rw-r--r--crypt/crypt.h11
-rw-r--r--crypt/crypt_util.c10
-rw-r--r--ctype/ctype.h14
-rw-r--r--debug/execinfo.h6
-rw-r--r--debug/mbsnrtowcs_chk.c4
-rw-r--r--debug/mbsrtowcs_chk.c4
-rw-r--r--debug/wcsnrtombs_chk.c4
-rw-r--r--debug/wcsrtombs_chk.c4
-rw-r--r--debug/wcstombs_chk.c4
-rw-r--r--dirent/dirent.h76
-rw-r--r--dlfcn/dlfcn.h21
-rw-r--r--elf/neededtest4.c6
-rw-r--r--grp/grp.h14
-rw-r--r--gshadow/gshadow.h12
-rw-r--r--iconv/gconv.h16
-rw-r--r--iconv/gconv_int.h6
-rw-r--r--iconv/gconv_simple.c2
-rw-r--r--iconv/iconv.h4
-rw-r--r--iconv/loop.c28
-rw-r--r--iconv/skeleton.c64
-rw-r--r--include/aio.h2
-rw-r--r--include/aliases.h8
-rw-r--r--include/argz.h2
-rw-r--r--include/arpa/inet.h2
-rw-r--r--include/assert.h8
-rw-r--r--include/dirent.h12
-rw-r--r--include/dlfcn.h4
-rw-r--r--include/execinfo.h4
-rw-r--r--include/fcntl.h16
-rw-r--r--include/fenv.h6
-rw-r--r--include/glob.h6
-rw-r--r--include/grp.h12
-rw-r--r--include/libintl.h40
-rw-r--r--include/mntent.h9
-rw-r--r--include/netdb.h36
-rw-r--r--include/pwd.h10
-rw-r--r--include/rpc/netdb.h4
-rw-r--r--include/sched.h4
-rw-r--r--include/search.h8
-rw-r--r--include/shadow.h10
-rw-r--r--include/signal.h22
-rw-r--r--include/stdio.h38
-rw-r--r--include/stdlib.h37
-rw-r--r--include/string.h30
-rw-r--r--include/sys/socket.h16
-rw-r--r--include/sys/stat.h14
-rw-r--r--include/sys/statfs.h4
-rw-r--r--include/sys/statvfs.h2
-rw-r--r--include/sys/syslog.h2
-rw-r--r--include/sys/time.h12
-rw-r--r--include/sys/uio.h8
-rw-r--r--include/time.h14
-rw-r--r--include/unistd.h38
-rw-r--r--include/utmp.h15
-rw-r--r--include/wchar.h74
-rw-r--r--include/wctype.h2
-rw-r--r--inet/aliases.h6
-rw-r--r--inet/arpa/inet.h22
-rw-r--r--inet/netinet/ether.h16
-rw-r--r--inet/netinet/in.h94
-rw-r--r--intl/libintl.h36
-rw-r--r--io/bits/fcntl2.h34
-rw-r--r--io/fcntl.h20
-rw-r--r--io/ftw.h30
-rw-r--r--io/sys/poll.h6
-rw-r--r--io/sys/stat.h82
-rw-r--r--io/sys/statfs.h8
-rw-r--r--io/sys/statvfs.h8
-rw-r--r--io/utime.h6
-rw-r--r--libio/bits/stdio.h4
-rw-r--r--libio/bits/stdio2.h60
-rw-r--r--libio/libio.h5
-rw-r--r--libio/libioP.h8
-rw-r--r--libio/stdio.h138
-rw-r--r--locale/lc-ctype.c8
-rw-r--r--locale/locale.h7
-rw-r--r--login/utmp.h24
-rw-r--r--malloc/arena.c6
-rw-r--r--malloc/malloc.c18
-rw-r--r--malloc/malloc.h12
-rw-r--r--malloc/mcheck.c6
-rw-r--r--malloc/mtrace.c2
-rw-r--r--math/bits/mathcalls.h4
-rw-r--r--math/fenv.h8
-rw-r--r--math/math_private.h6
-rw-r--r--misc/bits/error.h20
-rw-r--r--misc/bits/syslog.h10
-rw-r--r--misc/err.h18
-rw-r--r--misc/error.h8
-rw-r--r--misc/fstab.h4
-rw-r--r--misc/mntent.h10
-rw-r--r--misc/regexp.h12
-rw-r--r--misc/search.h18
-rw-r--r--misc/sgtty.h4
-rw-r--r--misc/sys/cdefs.h6
-rw-r--r--misc/sys/mman.h10
-rw-r--r--misc/sys/syslog.h6
-rw-r--r--misc/sys/uio.h19
-rw-r--r--misc/sys/xattr.h28
-rw-r--r--misc/ttyent.h2
-rw-r--r--nis/rpcsvc/ypclnt.h32
-rw-r--r--nptl/ChangeLog7
-rw-r--r--nptl/pthreadP.h12
-rw-r--r--nptl/semaphore.h8
-rw-r--r--nptl/sysdeps/pthread/bits/libc-lock.h20
-rw-r--r--nptl/sysdeps/pthread/bits/sigthread.h4
-rw-r--r--nptl/sysdeps/pthread/pthread.h84
-rw-r--r--nss/nss.h6
-rw-r--r--posix/bits/unistd.h18
-rw-r--r--posix/fnmatch.h14
-rw-r--r--posix/glob.h36
-rw-r--r--posix/sched.h8
-rw-r--r--posix/spawn.h38
-rw-r--r--posix/sys/wait.h4
-rw-r--r--posix/unistd.h94
-rw-r--r--posix/wordexp.h5
-rw-r--r--pwd/pwd.h9
-rw-r--r--resolv/netdb.h95
-rw-r--r--resource/sys/resource.h9
-rw-r--r--rt/aio.h28
-rw-r--r--rt/bits/mqueue2.h10
-rw-r--r--rt/mqueue.h18
-rw-r--r--shadow/shadow.h12
-rw-r--r--signal/signal.h42
-rw-r--r--socket/send.c4
-rw-r--r--socket/sendto.c4
-rw-r--r--socket/sys/socket.h14
-rw-r--r--stdio-common/printf.h20
-rw-r--r--stdlib/bits/stdlib.h26
-rw-r--r--stdlib/fmtmsg.h10
-rw-r--r--stdlib/monetary.h6
-rw-r--r--stdlib/stdlib.h86
-rw-r--r--stdlib/ucontext.h6
-rw-r--r--streams/stropts.h14
-rw-r--r--string/argz.h62
-rw-r--r--string/bits/string2.h321
-rw-r--r--string/bits/string3.h27
-rw-r--r--string/envz.h18
-rw-r--r--string/string.h176
-rw-r--r--string/strings.h31
-rw-r--r--sunrpc/rpc/auth.h8
-rw-r--r--sunrpc/rpc/auth_des.h10
-rw-r--r--sunrpc/rpc/clnt.h34
-rw-r--r--sunrpc/rpc/netdb.h4
-rw-r--r--sunrpc/rpc/pmap_clnt.h20
-rw-r--r--sunrpc/rpc/xdr.h22
-rw-r--r--sysdeps/generic/inttypes.h44
-rw-r--r--sysdeps/generic/net/if.h4
-rw-r--r--sysdeps/generic/sys/swap.h6
-rw-r--r--sysdeps/gnu/net/if.h4
-rw-r--r--sysdeps/gnu/utmpx.h19
-rw-r--r--sysdeps/i386/fpu/bits/fenv.h4
-rw-r--r--sysdeps/i386/i486/bits/string.h227
-rw-r--r--sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c2
-rw-r--r--sysdeps/s390/bits/string.h84
-rw-r--r--sysdeps/s390/fpu/bits/fenv.h8
-rw-r--r--sysdeps/sparc/fpu/bits/fenv.h6
-rw-r--r--sysdeps/sparc/fpu/bits/mathinline.h10
-rw-r--r--sysdeps/unix/sysv/linux/bits/resource.h8
-rw-r--r--sysdeps/unix/sysv/linux/bits/sched.h12
-rw-r--r--sysdeps/unix/sysv/linux/bits/sigset.h6
-rw-r--r--sysdeps/unix/sysv/linux/bits/socket.h4
-rw-r--r--sysdeps/unix/sysv/linux/bits/sys_errlist.h6
-rw-r--r--sysdeps/unix/sysv/linux/bits/uio.h10
-rw-r--r--sysdeps/unix/sysv/linux/i386/glob64.c4
-rw-r--r--sysdeps/unix/sysv/linux/i386/olddirent.h12
-rw-r--r--sysdeps/unix/sysv/linux/preadv.c4
-rw-r--r--sysdeps/unix/sysv/linux/prlimit.c6
-rw-r--r--sysdeps/unix/sysv/linux/pwritev.c4
-rw-r--r--sysdeps/unix/sysv/linux/readv.c5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h6
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h17
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/socket.h4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c7
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c9
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sys/epoll.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sys/timerfd.h4
-rw-r--r--sysdeps/unix/sysv/linux/sys/acct.h4
-rw-r--r--sysdeps/unix/sysv/linux/sys/epoll.h2
-rw-r--r--sysdeps/unix/sysv/linux/sys/mount.h12
-rw-r--r--sysdeps/unix/sysv/linux/sys/swap.h6
-rw-r--r--sysdeps/unix/sysv/linux/sys/timerfd.h4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sys/epoll.h2
-rw-r--r--sysdeps/x86_64/fpu/bits/fenv.h6
-rw-r--r--sysdeps/x86_64/strcasecmp_l-nonascii.c2
-rw-r--r--sysdeps/x86_64/strncase_l-nonascii.c2
-rw-r--r--sysvipc/sys/ipc.h4
-rw-r--r--sysvipc/sys/msg.h4
-rw-r--r--sysvipc/sys/sem.h4
-rw-r--r--sysvipc/sys/shm.h6
-rw-r--r--termios/termios.h9
-rw-r--r--time/sys/time.h28
-rw-r--r--time/time.h52
-rw-r--r--wcsmbs/bits/wchar2.h126
-rw-r--r--wcsmbs/uchar.h4
-rw-r--r--wcsmbs/wchar.h218
-rw-r--r--wctype/wctype.h12
209 files changed, 2420 insertions, 2244 deletions
diff --git a/ChangeLog b/ChangeLog
index 24d3ddf6f7..1d04fca2bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,207 @@
 2012-01-07  Ulrich Drepper  <drepper@gmail.com>
 
+	[BZ #13553]
+	* misc/sys/cdefs.h: Remove __const, __signed, and __volatile definition
+	for non-gcc.
+	* argp/argp-fmtstream.h: Use const instead __const.
+	* argp/argp.h: Likewise.
+	* assert/assert.h: Likewise.
+	* bits/fenv.h: Likewise.
+	* bits/sched.h: Likewise.
+	* bits/sigset.h: Likewise.
+	* bits/sigthread.h: Likewise.
+	* catgets/nl_types.h: Likewise.
+	* conform/data/pthread.h-data: Likewise.
+	* crypt/crypt-private.h: Likewise.
+	* crypt/crypt.h: Likewise.
+	* crypt/crypt_util.c: Likewise.
+	* ctype/ctype.h: Likewise.
+	* debug/execinfo.h: Likewise.
+	* debug/mbsnrtowcs_chk.c: Likewise.
+	* debug/mbsrtowcs_chk.c: Likewise.
+	* debug/wcsnrtombs_chk.c: Likewise.
+	* debug/wcsrtombs_chk.c: Likewise.
+	* debug/wcstombs_chk.c: Likewise.
+	* dirent/dirent.h: Likewise.
+	* dlfcn/dlfcn.h: Likewise.
+	* elf/neededtest4.c: Likewise.
+	* grp/grp.h: Likewise.
+	* gshadow/gshadow.h: Likewise.
+	* iconv/gconv.h: Likewise.
+	* iconv/gconv_int.h: Likewise.
+	* iconv/gconv_simple.c: Likewise.
+	* iconv/iconv.h: Likewise.
+	* iconv/loop.c: Likewise.
+	* iconv/skeleton.c: Likewise.
+	* include/aio.h: Likewise.
+	* include/aliases.h: Likewise.
+	* include/argz.h: Likewise.
+	* include/arpa/inet.h: Likewise.
+	* include/assert.h: Likewise.
+	* include/dirent.h: Likewise.
+	* include/dlfcn.h: Likewise.
+	* include/execinfo.h: Likewise.
+	* include/fcntl.h: Likewise.
+	* include/fenv.h: Likewise.
+	* include/glob.h: Likewise.
+	* include/grp.h: Likewise.
+	* include/libintl.h: Likewise.
+	* include/mntent.h: Likewise.
+	* include/netdb.h: Likewise.
+	* include/pwd.h: Likewise.
+	* include/rpc/netdb.h: Likewise.
+	* include/sched.h: Likewise.
+	* include/search.h: Likewise.
+	* include/shadow.h: Likewise.
+	* include/signal.h: Likewise.
+	* include/stdio.h: Likewise.
+	* include/stdlib.h: Likewise.
+	* include/string.h: Likewise.
+	* include/sys/socket.h: Likewise.
+	* include/sys/stat.h: Likewise.
+	* include/sys/statfs.h: Likewise.
+	* include/sys/statvfs.h: Likewise.
+	* include/sys/syslog.h: Likewise.
+	* include/sys/time.h: Likewise.
+	* include/sys/uio.h: Likewise.
+	* include/time.h: Likewise.
+	* include/unistd.h: Likewise.
+	* include/utmp.h: Likewise.
+	* include/wchar.h: Likewise.
+	* include/wctype.h: Likewise.
+	* inet/aliases.h: Likewise.
+	* inet/arpa/inet.h: Likewise.
+	* inet/netinet/ether.h: Likewise.
+	* inet/netinet/in.h: Likewise.
+	* intl/libintl.h: Likewise.
+	* io/bits/fcntl2.h: Likewise.
+	* io/fcntl.h: Likewise.
+	* io/ftw.h: Likewise.
+	* io/sys/poll.h: Likewise.
+	* io/sys/stat.h: Likewise.
+	* io/sys/statfs.h: Likewise.
+	* io/sys/statvfs.h: Likewise.
+	* io/utime.h: Likewise.
+	* libio/bits/stdio.h: Likewise.
+	* libio/bits/stdio2.h: Likewise.
+	* libio/libio.h: Likewise.
+	* libio/libioP.h: Likewise.
+	* libio/stdio.h: Likewise.
+	* locale/lc-ctype.c: Likewise.
+	* locale/locale.h: Likewise.
+	* login/utmp.h: Likewise.
+	* malloc/arena.c: Likewise.
+	* malloc/malloc.c: Likewise.
+	* malloc/malloc.h: Likewise.
+	* malloc/mcheck.c: Likewise.
+	* malloc/mtrace.c: Likewise.
+	* math/bits/mathcalls.h: Likewise.
+	* math/fenv.h: Likewise.
+	* math/math_private.h: Likewise.
+	* misc/bits/error.h: Likewise.
+	* misc/bits/syslog.h: Likewise.
+	* misc/err.h: Likewise.
+	* misc/error.h: Likewise.
+	* misc/fstab.h: Likewise.
+	* misc/mntent.h: Likewise.
+	* misc/regexp.h: Likewise.
+	* misc/search.h: Likewise.
+	* misc/sgtty.h: Likewise.
+	* misc/sys/mman.h: Likewise.
+	* misc/sys/syslog.h: Likewise.
+	* misc/sys/uio.h: Likewise.
+	* misc/sys/xattr.h: Likewise.
+	* misc/ttyent.h: Likewise.
+	* nis/rpcsvc/ypclnt.h: Likewise.
+	* nss/nss.h: Likewise.
+	* posix/bits/unistd.h: Likewise.
+	* posix/fnmatch.h: Likewise.
+	* posix/glob.h: Likewise.
+	* posix/sched.h: Likewise.
+	* posix/spawn.h: Likewise.
+	* posix/sys/wait.h: Likewise.
+	* posix/unistd.h: Likewise.
+	* posix/wordexp.h: Likewise.
+	* pwd/pwd.h: Likewise.
+	* resolv/netdb.h: Likewise.
+	* resource/sys/resource.h: Likewise.
+	* rt/aio.h: Likewise.
+	* rt/bits/mqueue2.h: Likewise.
+	* rt/mqueue.h: Likewise.
+	* shadow/shadow.h: Likewise.
+	* signal/signal.h: Likewise.
+	* socket/send.c: Likewise.
+	* socket/sendto.c: Likewise.
+	* socket/sys/socket.h: Likewise.
+	* stdio-common/printf.h: Likewise.
+	* stdlib/bits/stdlib.h: Likewise.
+	* stdlib/fmtmsg.h: Likewise.
+	* stdlib/monetary.h: Likewise.
+	* stdlib/stdlib.h: Likewise.
+	* stdlib/ucontext.h: Likewise.
+	* streams/stropts.h: Likewise.
+	* string/argz.h: Likewise.
+	* string/bits/string2.h: Likewise.
+	* string/string.h: Likewise.
+	* string/strings.h: Likewise.
+	* sunrpc/rpc/auth.h: Likewise.
+	* sunrpc/rpc/auth_des.h: Likewise.
+	* sunrpc/rpc/clnt.h: Likewise.
+	* sunrpc/rpc/netdb.h: Likewise.
+	* sunrpc/rpc/pmap_clnt.h: Likewise.
+	* sunrpc/rpc/xdr.h: Likewise.
+	* sysdeps/generic/inttypes.h: Likewise.
+	* sysdeps/generic/net/if.h: Likewise.
+	* sysdeps/generic/sys/swap.h: Likewise.
+	* sysdeps/gnu/net/if.h: Likewise.
+	* sysdeps/gnu/utmpx.h: Likewise.
+	* sysdeps/i386/fpu/bits/fenv.h: Likewise.
+	* sysdeps/i386/i486/bits/string.h: Likewise.
+	* sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c: Likewise.
+	* sysdeps/s390/bits/string.h: Likewise.
+	* sysdeps/s390/fpu/bits/fenv.h: Likewise.
+	* sysdeps/sparc/fpu/bits/fenv.h: Likewise.
+	* sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/resource.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/sys_errlist.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/uio.h: Likewise.
+	* sysdeps/unix/sysv/linux/i386/glob64.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/olddirent.h: Likewise.
+	* sysdeps/unix/sysv/linux/preadv.c: Likewise.
+	* sysdeps/unix/sysv/linux/prlimit.c: Likewise.
+	* sysdeps/unix/sysv/linux/pwritev.c: Likewise.
+	* sysdeps/unix/sysv/linux/readv.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sys/epoll.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sys/timerfd.h: Likewise.
+	* sysdeps/unix/sysv/linux/sys/acct.h: Likewise.
+	* sysdeps/unix/sysv/linux/sys/epoll.h: Likewise.
+	* sysdeps/unix/sysv/linux/sys/mount.h: Likewise.
+	* sysdeps/unix/sysv/linux/sys/swap.h: Likewise.
+	* sysdeps/unix/sysv/linux/sys/timerfd.h: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Likewise.
+	* sysdeps/x86_64/fpu/bits/fenv.h: Likewise.
+	* sysdeps/x86_64/strcasecmp_l-nonascii.c: Likewise.
+	* sysdeps/x86_64/strncase_l-nonascii.c: Likewise.
+	* sysvipc/sys/ipc.h: Likewise.
+	* sysvipc/sys/msg.h: Likewise.
+	* sysvipc/sys/sem.h: Likewise.
+	* sysvipc/sys/shm.h: Likewise.
+	* termios/termios.h: Likewise.
+	* time/sys/time.h: Likewise.
+	* time/time.h: Likewise.
+	* wcsmbs/bits/wchar2.h: Likewise.
+	* wcsmbs/uchar.h: Likewise.
+	* wcsmbs/wchar.h: Likewise.
+	* wctype/wctype.h: Likewise.
+
 	[BZ #13551]
 	* Makeconfig: Remove all but ELF support including AIX support.
 	* Makerules: Likewise.
diff --git a/NEWS b/NEWS
index 08aa01e722..a85caef8cd 100644
--- a/NEWS
+++ b/NEWS
@@ -10,7 +10,7 @@ Version 2.16
 * The following bugs are resolved with this release:
 
   13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13551, 13552,
-  13555, 13559
+  13553, 13555, 13559
 
 * ISO C11 support:
 
diff --git a/argp/argp-fmtstream.h b/argp/argp-fmtstream.h
index aa8842132f..9264c0de55 100644
--- a/argp/argp-fmtstream.h
+++ b/argp/argp-fmtstream.h
@@ -1,5 +1,5 @@
 /* Word-wrapping and line-truncating streams.
-   Copyright (C) 1997, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2011, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
@@ -90,9 +90,6 @@ typedef FILE *argp_fmtstream_t;
 #else /* !ARGP_FMTSTREAM_USE_LINEWRAP */
 /* Guess we have to define our own version.  */
 
-#ifndef __const
-#define __const const
-#endif
 
 struct argp_fmtstream
 {
@@ -133,22 +130,22 @@ extern void __argp_fmtstream_free (argp_fmtstream_t __fs);
 extern void argp_fmtstream_free (argp_fmtstream_t __fs);
 
 extern ssize_t __argp_fmtstream_printf (argp_fmtstream_t __fs,
-				       __const char *__fmt, ...)
+					const char *__fmt, ...)
      __attribute__ ((__format__ (printf, 2, 3)));
 extern ssize_t argp_fmtstream_printf (argp_fmtstream_t __fs,
-				      __const char *__fmt, ...)
+				      const char *__fmt, ...)
      __attribute__ ((__format__ (printf, 2, 3)));
 
 extern int __argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch);
 extern int argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch);
 
-extern int __argp_fmtstream_puts (argp_fmtstream_t __fs, __const char *__str);
-extern int argp_fmtstream_puts (argp_fmtstream_t __fs, __const char *__str);
+extern int __argp_fmtstream_puts (argp_fmtstream_t __fs, const char *__str);
+extern int argp_fmtstream_puts (argp_fmtstream_t __fs, const char *__str);
 
 extern size_t __argp_fmtstream_write (argp_fmtstream_t __fs,
-				      __const char *__str, size_t __len);
+				      const char *__str, size_t __len);
 extern size_t argp_fmtstream_write (argp_fmtstream_t __fs,
-				    __const char *__str, size_t __len);
+				    const char *__str, size_t __len);
 
 /* Access macros for various bits of state.  */
 #define argp_fmtstream_lmargin(__fs) ((__fs)->lmargin)
@@ -206,8 +203,7 @@ extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
 #endif
 
 ARGP_FS_EI size_t
-__argp_fmtstream_write (argp_fmtstream_t __fs,
-			__const char *__str, size_t __len)
+__argp_fmtstream_write (argp_fmtstream_t __fs, const char *__str, size_t __len)
 {
   if (__fs->p + __len <= __fs->end || __argp_fmtstream_ensure (__fs, __len))
     {
@@ -220,7 +216,7 @@ __argp_fmtstream_write (argp_fmtstream_t __fs,
 }
 
 ARGP_FS_EI int
-__argp_fmtstream_puts (argp_fmtstream_t __fs, __const char *__str)
+__argp_fmtstream_puts (argp_fmtstream_t __fs, const char *__str)
 {
   size_t __len = strlen (__str);
   if (__len)
diff --git a/argp/argp.h b/argp/argp.h
index 97a954ea5d..34c2082f68 100644
--- a/argp/argp.h
+++ b/argp/argp.h
@@ -1,5 +1,5 @@
 /* Hierarchial argument parsing, layered over getopt.
-   Copyright (C) 1995-1999, 2003, 2004, 2005, 2006, 2007, 2009
+   Copyright (C) 1995-1999, 2003, 2004, 2005, 2006, 2007, 2009, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
@@ -30,10 +30,6 @@
 #define __need_error_t
 #include <errno.h>
 
-#ifndef __const
-# define __const const
-#endif
-
 #ifndef __THROW
 # define __THROW
 #endif
@@ -84,7 +80,7 @@ struct argp_option
 {
   /* The long option name.  For more than one name for the same option, you
      can use following options with the OPTION_ALIAS flag set.  */
-  __const char *name;
+  const char *name;
 
   /* What key is returned for this option.  If > 0 and printable, then it's
      also accepted as a short option.  */
@@ -92,7 +88,7 @@ struct argp_option
 
   /* If non-NULL, this is the name of the argument associated with this
      option, which is required unless the OPTION_ARG_OPTIONAL flag is set. */
-  __const char *arg;
+  const char *arg;
 
   /* OPTION_ flags.  */
   int flags;
@@ -101,7 +97,7 @@ struct argp_option
      will be printed outdented from the normal option column, making it
      useful as a group header (it will be the first thing printed in its
      group); in this usage, it's conventional to end the string with a `:'.  */
-  __const char *doc;
+  const char *doc;
 
   /* The group this option is in.  In a long help message, options are sorted
      alphabetically within each group, and the groups presented in the order
@@ -223,7 +219,7 @@ struct argp
 {
   /* An array of argp_option structures, terminated by an entry with both
      NAME and KEY having a value of 0.  */
-  __const struct argp_option *options;
+  const struct argp_option *options;
 
   /* What to do with an option from this structure.  KEY is the key
      associated with the option, and ARG is any associated argument (NULL if
@@ -239,12 +235,12 @@ struct argp
      contains newlines, the strings separated by them are considered
      alternative usage patterns, and printed on separate lines (lines after
      the first are prefix by `  or: ' instead of `Usage:').  */
-  __const char *args_doc;
+  const char *args_doc;
 
   /* If non-NULL, a string containing extra text to be printed before and
      after the options in a long help message (separated by a vertical tab
      `\v' character).  */
-  __const char *doc;
+  const char *doc;
 
   /* A vector of argp_children structures, terminated by a member with a 0
      argp field, pointing to child argps should be parsed with this one.  Any
@@ -252,7 +248,7 @@ struct argp
      CHILDREN list.  This field is useful if you use libraries that supply
      their own argp structure, which you want to use in conjunction with your
      own.  */
-  __const struct argp_child *children;
+  const struct argp_child *children;
 
   /* If non-zero, this should be a function to filter the output of help
      messages.  KEY is either a key from an option, in which case TEXT is
@@ -264,7 +260,7 @@ struct argp
      has been done, so if any of the replacement text also needs translation,
      that should be done by the filter function.  INPUT is either the input
      supplied to argp_parse, or NULL, if argp_help was called directly.  */
-  char *(*help_filter) (int __key, __const char *__text, void *__input);
+  char *(*help_filter) (int __key, const char *__text, void *__input);
 
   /* If non-zero the strings used in the argp library are translated using
      the domain described by this string.  Otherwise the currently installed
@@ -288,7 +284,7 @@ struct argp
 struct argp_child
 {
   /* The child parser.  */
-  __const struct argp *argp;
+  const struct argp *argp;
 
   /* Flags for this child.  */
   int flags;
@@ -297,7 +293,7 @@ struct argp_child
      child options.  As a side-effect, a non-zero value forces the child
      options to be grouped together; to achieve this effect without actually
      printing a header string, use a value of "".  */
-  __const char *header;
+  const char *header;
 
   /* Where to group the child options relative to the other (`consolidated')
      options in the parent argp; the values are the same as the GROUP field
@@ -313,7 +309,7 @@ struct argp_child
 struct argp_state
 {
   /* The top level ARGP being parsed.  */
-  __const struct argp *root_argp;
+  const struct argp *root_argp;
 
   /* The argument vector being parsed.  May be modified.  */
   int argc;
@@ -407,11 +403,11 @@ struct argp_state
    routine returned a non-zero value, it is returned; otherwise 0 is
    returned.  This function may also call exit unless the ARGP_NO_HELP flag
    is set.  INPUT is a pointer to a value to be passed in to the parser.  */
-extern error_t argp_parse (__const struct argp *__restrict __argp,
+extern error_t argp_parse (const struct argp *__restrict __argp,
 			   int __argc, char **__restrict __argv,
 			   unsigned __flags, int *__restrict __arg_index,
 			   void *__restrict __input);
-extern error_t __argp_parse (__const struct argp *__restrict __argp,
+extern error_t __argp_parse (const struct argp *__restrict __argp,
 			     int __argc, char **__restrict __argv,
 			     unsigned __flags, int *__restrict __arg_index,
 			     void *__restrict __input);
@@ -422,7 +418,7 @@ extern error_t __argp_parse (__const struct argp *__restrict __argp,
    option --version is added (unless the ARGP_NO_HELP flag is used), which
    will print this string followed by a newline and exit (unless the
    ARGP_NO_EXIT flag is used).  Overridden by ARGP_PROGRAM_VERSION_HOOK.  */
-extern __const char *argp_program_version;
+extern const char *argp_program_version;
 
 /* If defined or set by the user program to a non-zero value, then a default
    option --version is added (unless the ARGP_NO_HELP flag is used), which
@@ -438,7 +434,7 @@ extern void (*argp_program_version_hook) (FILE *__restrict __stream,
    argp_help if the ARGP_HELP_BUG_ADDR flag is set (as it is by various
    standard help messages), embedded in a sentence that says something like
    `Report bugs to ADDR.'.  */
-extern __const char *argp_program_bug_address;
+extern const char *argp_program_bug_address;
 
 /* The exit status that argp will use when exiting due to a parsing error.
    If not defined or set by the user program, this defaults to EX_USAGE from
@@ -476,10 +472,10 @@ extern error_t argp_err_exit_status;
 
 /* Output a usage message for ARGP to STREAM.  FLAGS are from the set
    ARGP_HELP_*.  */
-extern void argp_help (__const struct argp *__restrict __argp,
+extern void argp_help (const struct argp *__restrict __argp,
 		       FILE *__restrict __stream,
 		       unsigned __flags, char *__restrict __name);
-extern void __argp_help (__const struct argp *__restrict __argp,
+extern void __argp_help (const struct argp *__restrict __argp,
 			 FILE *__restrict __stream, unsigned __flags,
 			 char *__name);
 
@@ -493,25 +489,25 @@ extern void __argp_help (__const struct argp *__restrict __argp,
 
 /* Output, if appropriate, a usage message for STATE to STREAM.  FLAGS are
    from the set ARGP_HELP_*.  */
-extern void argp_state_help (__const struct argp_state *__restrict __state,
+extern void argp_state_help (const struct argp_state *__restrict __state,
 			     FILE *__restrict __stream,
 			     unsigned int __flags);
-extern void __argp_state_help (__const struct argp_state *__restrict __state,
+extern void __argp_state_help (const struct argp_state *__restrict __state,
 			       FILE *__restrict __stream,
 			       unsigned int __flags);
 
 /* Possibly output the standard usage message for ARGP to stderr and exit.  */
-extern void argp_usage (__const struct argp_state *__state);
-extern void __argp_usage (__const struct argp_state *__state);
+extern void argp_usage (const struct argp_state *__state);
+extern void __argp_usage (const struct argp_state *__state);
 
 /* If appropriate, print the printf string FMT and following args, preceded
    by the program name and `:', to stderr, and followed by a `Try ... --help'
    message, then exit (1).  */
-extern void argp_error (__const struct argp_state *__restrict __state,
-			__const char *__restrict __fmt, ...)
+extern void argp_error (const struct argp_state *__restrict __state,
+			const char *__restrict __fmt, ...)
      __attribute__ ((__format__ (__printf__, 2, 3)));
-extern void __argp_error (__const struct argp_state *__restrict __state,
-			  __const char *__restrict __fmt, ...)
+extern void __argp_error (const struct argp_state *__restrict __state,
+			  const char *__restrict __fmt, ...)
      __attribute__ ((__format__ (__printf__, 2, 3)));
 
 /* Similar to the standard gnu error-reporting function error(), but will
@@ -522,31 +518,31 @@ extern void __argp_error (__const struct argp_state *__restrict __state,
    difference between this function and argp_error is that the latter is for
    *parsing errors*, and the former is for other problems that occur during
    parsing but don't reflect a (syntactic) problem with the input.  */
-extern void argp_failure (__const struct argp_state *__restrict __state,
+extern void argp_failure (const struct argp_state *__restrict __state,
 			  int __status, int __errnum,
-			  __const char *__restrict __fmt, ...)
+			  const char *__restrict __fmt, ...)
      __attribute__ ((__format__ (__printf__, 4, 5)));
-extern void __argp_failure (__const struct argp_state *__restrict __state,
+extern void __argp_failure (const struct argp_state *__restrict __state,
 			    int __status, int __errnum,
-			    __const char *__restrict __fmt, ...)
+			    const char *__restrict __fmt, ...)
      __attribute__ ((__format__ (__printf__, 4, 5)));
 
 /* Returns true if the option OPT is a valid short option.  */
-extern int _option_is_short (__const struct argp_option *__opt) __THROW;
-extern int __option_is_short (__const struct argp_option *__opt) __THROW;
+extern int _option_is_short (const struct argp_option *__opt) __THROW;
+extern int __option_is_short (const struct argp_option *__opt) __THROW;
 
 /* Returns true if the option OPT is in fact the last (unused) entry in an
    options array.  */
-extern int _option_is_end (__const struct argp_option *__opt) __THROW;
-extern int __option_is_end (__const struct argp_option *__opt) __THROW;
+extern int _option_is_end (const struct argp_option *__opt) __THROW;
+extern int __option_is_end (const struct argp_option *__opt) __THROW;
 
 /* Return the input field for ARGP in the parser corresponding to STATE; used
    by the help routines.  */
-extern void *_argp_input (__const struct argp *__restrict __argp,
-			  __const struct argp_state *__restrict __state)
+extern void *_argp_input (const struct argp *__restrict __argp,
+			  const struct argp_state *__restrict __state)
      __THROW;
-extern void *__argp_input (__const struct argp *__restrict __argp,
-			   __const struct argp_state *__restrict __state)
+extern void *__argp_input (const struct argp *__restrict __argp,
+			   const struct argp_state *__restrict __state)
      __THROW;
 
 #ifdef __USE_EXTERN_INLINES
@@ -563,13 +559,13 @@ extern void *__argp_input (__const struct argp *__restrict __argp,
 # endif
 
 ARGP_EI void
-__argp_usage (__const struct argp_state *__state)
+__argp_usage (const struct argp_state *__state)
 {
   __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE);
 }
 
 ARGP_EI int
-__NTH (__option_is_short (__const struct argp_option *__opt))
+__NTH (__option_is_short (const struct argp_option *__opt))
 {
   if (__opt->flags & OPTION_DOC)
     return 0;
@@ -581,7 +577,7 @@ __NTH (__option_is_short (__const struct argp_option *__opt))
 }
 
 ARGP_EI int
-__NTH (__option_is_end (__const struct argp_option *__opt))
+__NTH (__option_is_end (const struct argp_option *__opt))
 {
   return !__opt->key && !__opt->name && !__opt->doc && !__opt->group;
 }
diff --git a/assert/assert.h b/assert/assert.h
index 2e3e2b568a..315487117f 100644
--- a/assert/assert.h
+++ b/assert/assert.h
@@ -66,14 +66,13 @@
 __BEGIN_DECLS
 
 /* This prints an "Assertion failed" message and aborts.  */
-extern void __assert_fail (__const char *__assertion, __const char *__file,
-			   unsigned int __line, __const char *__function)
+extern void __assert_fail (const char *__assertion, const char *__file,
+			   unsigned int __line, const char *__function)
      __THROW __attribute__ ((__noreturn__));
 
 /* Likewise, but prints the error text for ERRNUM.  */
-extern void __assert_perror_fail (int __errnum, __const char *__file,
-				  unsigned int __line,
-				  __const char *__function)
+extern void __assert_perror_fail (int __errnum, const char *__file,
+				  unsigned int __line, const char *__function)
      __THROW __attribute__ ((__noreturn__));
 
 
@@ -108,7 +107,7 @@ __END_DECLS
 #  if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
 #   define __ASSERT_FUNCTION	__func__
 #  else
-#   define __ASSERT_FUNCTION	((__const char *) 0)
+#   define __ASSERT_FUNCTION	((const char *) 0)
 #  endif
 # endif
 
diff --git a/bits/fenv.h b/bits/fenv.h
index a9cb53b40e..61f31ab5f4 100644
--- a/bits/fenv.h
+++ b/bits/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2001, 2012 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
@@ -53,4 +53,4 @@ typedef struct
 fenv_t;
 
 /* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((__const fenv_t *) -1l)
+#define FE_DFL_ENV	((const fenv_t *) -1l)
diff --git a/bits/sched.h b/bits/sched.h
index 6fb5ab2205..14f94bd891 100644
--- a/bits/sched.h
+++ b/bits/sched.h
@@ -1,6 +1,6 @@
 /* Definitions of constants and data structure for POSIX 1003.1b-1993
    scheduling interface.
-   Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009,2011
+   Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -102,7 +102,7 @@ typedef struct
   (__extension__							      \
    ({ size_t __cpu = (cpu);						      \
       __cpu < 8 * (setsize)						      \
-      ? ((((__const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]      \
+      ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]      \
 	  & __CPUMASK (__cpu))) != 0					      \
       : 0; }))
 
@@ -115,8 +115,8 @@ typedef struct
 # else
 #  define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
   (__extension__							      \
-   ({ __const __cpu_mask *__arr1 = (cpusetp1)->__bits;			      \
-      __const __cpu_mask *__arr2 = (cpusetp2)->__bits;			      \
+   ({ const __cpu_mask *__arr1 = (cpusetp1)->__bits;			      \
+      const __cpu_mask *__arr2 = (cpusetp2)->__bits;			      \
       size_t __imax = (setsize) / sizeof (__cpu_mask);			      \
       size_t __i;							      \
       for (__i = 0; __i < __imax; ++__i)				      \
@@ -128,8 +128,8 @@ typedef struct
 # define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
   (__extension__							      \
    ({ cpu_set_t *__dest = (destset);					      \
-      __const __cpu_mask *__arr1 = (srcset1)->__bits;			      \
-      __const __cpu_mask *__arr2 = (srcset2)->__bits;			      \
+      const __cpu_mask *__arr1 = (srcset1)->__bits;			      \
+      const __cpu_mask *__arr2 = (srcset2)->__bits;			      \
       size_t __imax = (setsize) / sizeof (__cpu_mask);			      \
       size_t __i;							      \
       for (__i = 0; __i < __imax; ++__i)				      \
diff --git a/bits/sigset.h b/bits/sigset.h
index d6f9311e71..1d90a996f7 100644
--- a/bits/sigset.h
+++ b/bits/sigset.h
@@ -1,5 +1,5 @@
 /* __sig_atomic_t, __sigset_t, and related definitions.  Generic/BSD version.
-   Copyright (C) 1991, 1992, 1994, 1996, 1997, 2007
+   Copyright (C) 1991, 1992, 1994, 1996, 1997, 2007, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -60,7 +60,7 @@ typedef unsigned long int __sigset_t;
 /* These functions needn't check for a bogus signal number -- error
    checking is done in the non __ versions.  */
 
-extern int __sigismember (__const __sigset_t *, int);
+extern int __sigismember (const __sigset_t *, int);
 extern int __sigaddset (__sigset_t *, int);
 extern int __sigdelset (__sigset_t *, int);
 
@@ -73,7 +73,7 @@ extern int __sigdelset (__sigset_t *, int);
     return BODY;							      \
   }
 
-__SIGSETFN (__sigismember, (*__set & __mask) ? 1 : 0, __const)
+__SIGSETFN (__sigismember, (*__set & __mask) ? 1 : 0, const)
 __SIGSETFN (__sigaddset, ((*__set |= __mask), 0), )
 __SIGSETFN (__sigdelset, ((*__set &= ~__mask), 0), )
 
diff --git a/bits/sigthread.h b/bits/sigthread.h
index 2edb58cd51..2756cc06dd 100644
--- a/bits/sigthread.h
+++ b/bits/sigthread.h
@@ -1,5 +1,5 @@
 /* Signal handling function for threaded programs.  Generic version.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2012 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,7 +28,7 @@
    same meaning as for sigprocmask; in fact, this and sigprocmask might be
    the same function.  We declare this the same on all platforms, since it
    doesn't use any thread-related types.  */
-extern int pthread_sigmask (int __how, __const __sigset_t *__newmask,
+extern int pthread_sigmask (int __how, const __sigset_t *__newmask,
 			    __sigset_t *__oldmask) __THROW;
 
 
diff --git a/catgets/nl_types.h b/catgets/nl_types.h
index c1190b58f8..6cb5b22e07 100644
--- a/catgets/nl_types.h
+++ b/catgets/nl_types.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1999, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,1999,2003,2004,2012 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
@@ -40,12 +40,12 @@ typedef int nl_item;
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern nl_catd catopen (__const char *__cat_name, int __flag) __nonnull ((1));
+extern nl_catd catopen (const char *__cat_name, int __flag) __nonnull ((1));
 
 /* Return translation with NUMBER in SET of CATALOG; if not found
    return STRING.  */
 extern char *catgets (nl_catd __catalog, int __set, int __number,
-		      __const char *__string) __THROW __nonnull ((1));
+		      const char *__string) __THROW __nonnull ((1));
 
 /* Close message CATALOG.  */
 extern int catclose (nl_catd __catalog) __THROW __nonnull ((1));
diff --git a/conform/data/pthread.h-data b/conform/data/pthread.h-data
index 5a536c7bf9..70486cc1ed 100644
--- a/conform/data/pthread.h-data
+++ b/conform/data/pthread.h-data
@@ -155,7 +155,7 @@ function int pthread_spin_unlock (pthread_spinlock_t*)
 function void pthread_testcancel (void)
 # if defined XOPEN2K8 || defined POSIX2008
 function int pthread_mutex_consistent (pthread_mutex_t *)
-function int pthread_mutexattr_getrobust (__const pthread_mutexattr_t*, int*)
+function int pthread_mutexattr_getrobust (const pthread_mutexattr_t*, int*)
 function int pthread_mutexattr_setrobust (pthread_mutexattr_t*, int)
 # endif
 
diff --git a/crypt/crypt-private.h b/crypt/crypt-private.h
index 3dd26bc59f..d79dade4f7 100644
--- a/crypt/crypt-private.h
+++ b/crypt/crypt-private.h
@@ -1,7 +1,7 @@
 /*
  * UFC-crypt: ultra fast crypt(3) implementation
  *
- * Copyright (C) 1991, 92, 93, 96, 97, 98 Free Software Foundation, Inc.
+ * Copyright (C) 1991-1993, 1996-1998, 2012 Free Software Foundation, Inc.
  *
  * The GNU C Library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -37,24 +37,24 @@ extern void _ufc_doit_r (ufc_long itr, struct crypt_data * __restrict __data,
 extern void __init_des_r (struct crypt_data * __restrict __data);
 extern void __init_des (void);
 
-extern void _ufc_setup_salt_r (__const char *s, 
+extern void _ufc_setup_salt_r (const char *s,
 			       struct crypt_data * __restrict __data);
-extern void _ufc_mk_keytab_r (__const char *key, 
+extern void _ufc_mk_keytab_r (const char *key,
 			      struct crypt_data * __restrict __data);
-extern void _ufc_dofinalperm_r (ufc_long *res, 
+extern void _ufc_dofinalperm_r (ufc_long *res,
 				struct crypt_data * __restrict __data);
 extern void _ufc_output_conversion_r (ufc_long v1, ufc_long v2,
-				      __const char *salt,
+				      const char *salt,
 				      struct crypt_data * __restrict __data);
 
-extern void __setkey_r (__const char *__key,
+extern void __setkey_r (const char *__key,
 			     struct crypt_data * __restrict __data);
 extern void __encrypt_r (char * __restrict __block, int __edflag,
 			      struct crypt_data * __restrict __data);
 
 /* crypt-entry.c */
-extern char *__crypt_r (__const char *__key, __const char *__salt,
+extern char *__crypt_r (const char *__key, const char *__salt,
 			     struct crypt_data * __restrict __data);
-extern char *fcrypt (__const char *key, __const char *salt);
+extern char *fcrypt (const char *key, const char *salt);
 
 #endif  /* crypt-private.h */
diff --git a/crypt/crypt.h b/crypt/crypt.h
index dcb89d813c..57fb5c62d9 100644
--- a/crypt/crypt.h
+++ b/crypt/crypt.h
@@ -1,7 +1,8 @@
 /*
  * UFC-crypt: ultra fast crypt(3) implementation
  *
- * Copyright (C) 1991,92,93,96,97,98,2000,2004 Free Software Foundation, Inc.
+ * Copyright (C) 1991-1993,1996-1998,2000,2004,2012
+ * Free Software Foundation, Inc.
  *
  * The GNU C Library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -30,11 +31,11 @@
 __BEGIN_DECLS
 
 /* Encrypt at most 8 characters from KEY using salt to perturb DES.  */
-extern char *crypt (__const char *__key, __const char *__salt)
+extern char *crypt (const char *__key, const char *__salt)
      __THROW __nonnull ((1, 2));
 
 /* Setup DES tables according KEY.  */
-extern void setkey (__const char *__key) __THROW __nonnull ((1));
+extern void setkey (const char *__key) __THROW __nonnull ((1));
 
 /* Encrypt data in BLOCK in place if EDFLAG is zero; otherwise decrypt
    block in place.  */
@@ -57,11 +58,11 @@ struct crypt_data
     int  direction, initialized;
   };
 
-extern char *crypt_r (__const char *__key, __const char *__salt,
+extern char *crypt_r (const char *__key, const char *__salt,
 		      struct crypt_data * __restrict __data)
      __THROW __nonnull ((1, 2, 3));
 
-extern void setkey_r (__const char *__key,
+extern void setkey_r (const char *__key,
 		      struct crypt_data * __restrict __data)
      __THROW __nonnull ((1, 2));
 
diff --git a/crypt/crypt_util.c b/crypt/crypt_util.c
index 04b262d9c8..62c87908ff 100644
--- a/crypt/crypt_util.c
+++ b/crypt/crypt_util.c
@@ -1,7 +1,7 @@
 /*
  * UFC-crypt: ultra fast crypt(3) implementation
  *
- * Copyright (C) 1991-1993,1996-1998,2000,2010,2011
+ * Copyright (C) 1991-1993,1996-1998,2000,2010,2011,2012
  * Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -605,7 +605,7 @@ shuffle_sb(k, saltbits)
 
 void
 _ufc_setup_salt_r(s, __data)
-     __const char *s;
+     const char *s;
      struct crypt_data * __restrict __data;
 {
   ufc_long i, j, saltbits;
@@ -758,7 +758,7 @@ _ufc_dofinalperm_r(res, __data)
 void
 _ufc_output_conversion_r(v1, v2, salt, __data)
      ufc_long v1, v2;
-     __const char *salt;
+     const char *salt;
      struct crypt_data * __restrict __data;
 {
   int i, s, shf;
@@ -902,7 +902,7 @@ encrypt(__block, __edflag)
 
 void
 __setkey_r(__key, __data)
-     __const char *__key;
+     const char *__key;
      struct crypt_data * __restrict __data;
 {
   int i,j;
@@ -922,7 +922,7 @@ weak_alias (__setkey_r, setkey_r)
 
 void
 setkey(__key)
-     __const char *__key;
+     const char *__key;
 {
   __setkey_r(__key, &_ufc_foobar);
 }
diff --git a/ctype/ctype.h b/ctype/ctype.h
index 1f3052abff..4e3f167611 100644
--- a/ctype/ctype.h
+++ b/ctype/ctype.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007,2008,2009,2011
+/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007-2009,2011,2012
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -78,12 +78,12 @@ enum
    rather than `unsigned char's because tolower (EOF) must be EOF, which
    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)
-     __THROW __attribute__ ((__const));
-extern __const __int32_t **__ctype_tolower_loc (void)
-     __THROW __attribute__ ((__const));
-extern __const __int32_t **__ctype_toupper_loc (void)
-     __THROW __attribute__ ((__const));
+extern const unsigned short int **__ctype_b_loc (void)
+     __THROW __attribute__ ((__const__));
+extern const __int32_t **__ctype_tolower_loc (void)
+     __THROW __attribute__ ((__const__));
+extern const __int32_t **__ctype_toupper_loc (void)
+     __THROW __attribute__ ((__const__));
 
 
 #ifndef __cplusplus
diff --git a/debug/execinfo.h b/debug/execinfo.h
index c1614cc1f0..04189a1abb 100644
--- a/debug/execinfo.h
+++ b/debug/execinfo.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2004, 2005, 2012 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
@@ -30,13 +30,13 @@ extern int backtrace (void **__array, int __size) __nonnull ((1));
 
 /* Return names of functions from the backtrace list in ARRAY in a newly
    malloc()ed memory block.  */
-extern char **backtrace_symbols (void *__const *__array, int __size)
+extern char **backtrace_symbols (void *const *__array, int __size)
      __THROW __nonnull ((1));
 
 
 /* This function is similar to backtrace_symbols() but it writes the result
    immediately to a file.  */
-extern void backtrace_symbols_fd (void *__const *__array, int __size, int __fd)
+extern void backtrace_symbols_fd (void *const *__array, int __size, int __fd)
      __THROW __nonnull ((1));
 
 __END_DECLS
diff --git a/debug/mbsnrtowcs_chk.c b/debug/mbsnrtowcs_chk.c
index 8872540ee0..fdad043c8d 100644
--- a/debug/mbsnrtowcs_chk.c
+++ b/debug/mbsnrtowcs_chk.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,7 +21,7 @@
 
 
 size_t
-__mbsnrtowcs_chk (wchar_t *dst, __const char **src, size_t nmc, size_t len,
+__mbsnrtowcs_chk (wchar_t *dst, const char **src, size_t nmc, size_t len,
 		  mbstate_t *ps, size_t dstlen)
 {
   if (__builtin_expect (dstlen < len, 0))
diff --git a/debug/mbsrtowcs_chk.c b/debug/mbsrtowcs_chk.c
index 22d5a35580..73d87978ef 100644
--- a/debug/mbsrtowcs_chk.c
+++ b/debug/mbsrtowcs_chk.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,7 +21,7 @@
 
 
 size_t
-__mbsrtowcs_chk (wchar_t *dst, __const char **src, size_t len,
+__mbsrtowcs_chk (wchar_t *dst, const char **src, size_t len,
 		 mbstate_t *ps, size_t dstlen)
 {
   if (__builtin_expect (dstlen < len, 0))
diff --git a/debug/wcsnrtombs_chk.c b/debug/wcsnrtombs_chk.c
index 67644bd557..a38c3240fa 100644
--- a/debug/wcsnrtombs_chk.c
+++ b/debug/wcsnrtombs_chk.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,7 +21,7 @@
 
 
 size_t
-__wcsnrtombs_chk (char *dst, __const wchar_t **src, size_t nwc, size_t len,
+__wcsnrtombs_chk (char *dst, const wchar_t **src, size_t nwc, size_t len,
 		  mbstate_t *ps, size_t dstlen)
 {
   if (__builtin_expect (dstlen < len, 0))
diff --git a/debug/wcsrtombs_chk.c b/debug/wcsrtombs_chk.c
index 9334267bae..6c36a1f8aa 100644
--- a/debug/wcsrtombs_chk.c
+++ b/debug/wcsrtombs_chk.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,7 +21,7 @@
 
 
 size_t
-__wcsrtombs_chk (char *dst, __const wchar_t **src, size_t len,
+__wcsrtombs_chk (char *dst, const wchar_t **src, size_t len,
 		 mbstate_t *ps, size_t dstlen)
 {
   if (__builtin_expect (dstlen < len, 0))
diff --git a/debug/wcstombs_chk.c b/debug/wcstombs_chk.c
index 0da48f9803..dbbc6a4ebf 100644
--- a/debug/wcstombs_chk.c
+++ b/debug/wcstombs_chk.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,7 +22,7 @@
 
 
 size_t
-__wcstombs_chk (char *dst, __const wchar_t *src, size_t len, size_t dstlen)
+__wcstombs_chk (char *dst, const wchar_t *src, size_t len, size_t dstlen)
 {
   if (__builtin_expect (dstlen < len, 0))
     __chk_fail ();
diff --git a/dirent/dirent.h b/dirent/dirent.h
index 6a5a0ef81c..56d9701472 100644
--- a/dirent/dirent.h
+++ b/dirent/dirent.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2000,2003-2005,2009,2010,2011
+/* Copyright (C) 1991-2000,2003-2005,2009,2010,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -133,7 +133,7 @@ typedef struct __dirstream DIR;
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern DIR *opendir (__const char *__name) __nonnull ((1));
+extern DIR *opendir (const char *__name) __nonnull ((1));
 
 #ifdef __USE_XOPEN2K8
 /* Same as opendir, but open the stream on the file descriptor FD.
@@ -253,20 +253,20 @@ extern int dirfd (DIR *__dirp) __THROW __nonnull ((1));
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 # ifndef __USE_FILE_OFFSET64
-extern int scandir (__const char *__restrict __dir,
+extern int scandir (const char *__restrict __dir,
 		    struct dirent ***__restrict __namelist,
-		    int (*__selector) (__const struct dirent *),
-		    int (*__cmp) (__const struct dirent **,
-				  __const struct dirent **))
+		    int (*__selector) (const struct dirent *),
+		    int (*__cmp) (const struct dirent **,
+				  const struct dirent **))
      __nonnull ((1, 2));
 # else
 #  ifdef __REDIRECT
 extern int __REDIRECT (scandir,
-		       (__const char *__restrict __dir,
+		       (const char *__restrict __dir,
 			struct dirent ***__restrict __namelist,
-			int (*__selector) (__const struct dirent *),
-			int (*__cmp) (__const struct dirent **,
-				      __const struct dirent **)),
+			int (*__selector) (const struct dirent *),
+			int (*__cmp) (const struct dirent **,
+				      const struct dirent **)),
 		       scandir64) __nonnull ((1, 2));
 #  else
 #   define scandir scandir64
@@ -276,11 +276,11 @@ extern int __REDIRECT (scandir,
 # if defined __USE_GNU && defined __USE_LARGEFILE64
 /* This function is like `scandir' but it uses the 64bit dirent structure.
    Please note that the CMP function must now work with struct dirent64 **.  */
-extern int scandir64 (__const char *__restrict __dir,
+extern int scandir64 (const char *__restrict __dir,
 		      struct dirent64 ***__restrict __namelist,
-		      int (*__selector) (__const struct dirent64 *),
-		      int (*__cmp) (__const struct dirent64 **,
-				    __const struct dirent64 **))
+		      int (*__selector) (const struct dirent64 *),
+		      int (*__cmp) (const struct dirent64 **,
+				    const struct dirent64 **))
      __nonnull ((1, 2));
 # endif
 
@@ -291,20 +291,20 @@ extern int scandir64 (__const char *__restrict __dir,
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 #  ifndef __USE_FILE_OFFSET64
-extern int scandirat (int __dfd, __const char *__restrict __dir,
+extern int scandirat (int __dfd, const char *__restrict __dir,
 		      struct dirent ***__restrict __namelist,
-		      int (*__selector) (__const struct dirent *),
-		      int (*__cmp) (__const struct dirent **,
-				    __const struct dirent **))
+		      int (*__selector) (const struct dirent *),
+		      int (*__cmp) (const struct dirent **,
+				    const struct dirent **))
      __nonnull ((2, 3));
 #  else
 #   ifdef __REDIRECT
 extern int __REDIRECT (scandirat,
-		       (int __dfd, __const char *__restrict __dir,
+		       (int __dfd, const char *__restrict __dir,
 			struct dirent ***__restrict __namelist,
-			int (*__selector) (__const struct dirent *),
-			int (*__cmp) (__const struct dirent **,
-				      __const struct dirent **)),
+			int (*__selector) (const struct dirent *),
+			int (*__cmp) (const struct dirent **,
+				      const struct dirent **)),
 		       scandirat64) __nonnull ((2, 3));
 #   else
 #    define scandirat scandirat64
@@ -313,24 +313,24 @@ extern int __REDIRECT (scandirat,
 
 /* This function is like `scandir' but it uses the 64bit dirent structure.
    Please note that the CMP function must now work with struct dirent64 **.  */
-extern int scandirat64 (int __dfd, __const char *__restrict __dir,
+extern int scandirat64 (int __dfd, const char *__restrict __dir,
 			struct dirent64 ***__restrict __namelist,
-			int (*__selector) (__const struct dirent64 *),
-			int (*__cmp) (__const struct dirent64 **,
-				      __const struct dirent64 **))
+			int (*__selector) (const struct dirent64 *),
+			int (*__cmp) (const struct dirent64 **,
+				      const struct dirent64 **))
      __nonnull ((2, 3));
 # endif
 
 /* Function to compare two `struct dirent's alphabetically.  */
 # ifndef __USE_FILE_OFFSET64
-extern int alphasort (__const struct dirent **__e1,
-		      __const struct dirent **__e2)
+extern int alphasort (const struct dirent **__e1,
+		      const struct dirent **__e2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 # else
 #  ifdef __REDIRECT
 extern int __REDIRECT_NTH (alphasort,
-			   (__const struct dirent **__e1,
-			    __const struct dirent **__e2),
+			   (const struct dirent **__e1,
+			    const struct dirent **__e2),
 			   alphasort64) __attribute_pure__ __nonnull ((1, 2));
 #  else
 #   define alphasort alphasort64
@@ -338,8 +338,8 @@ extern int __REDIRECT_NTH (alphasort,
 # endif
 
 # if defined __USE_GNU && defined __USE_LARGEFILE64
-extern int alphasort64 (__const struct dirent64 **__e1,
-			__const struct dirent64 **__e2)
+extern int alphasort64 (const struct dirent64 **__e1,
+			const struct dirent64 **__e2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 # endif
 #endif /* Use BSD or misc or XPG7.  */
@@ -378,14 +378,14 @@ extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf,
 #ifdef __USE_GNU
 /* Function to compare two `struct dirent's by name & version.  */
 # ifndef __USE_FILE_OFFSET64
-extern int versionsort (__const struct dirent **__e1,
-			__const struct dirent **__e2)
+extern int versionsort (const struct dirent **__e1,
+			const struct dirent **__e2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 # else
 #  ifdef __REDIRECT
 extern int __REDIRECT_NTH (versionsort,
-			   (__const struct dirent **__e1,
-			    __const struct dirent **__e2),
+			   (const struct dirent **__e1,
+			    const struct dirent **__e2),
 			   versionsort64)
      __attribute_pure__ __nonnull ((1, 2));
 #  else
@@ -394,8 +394,8 @@ extern int __REDIRECT_NTH (versionsort,
 # endif
 
 # ifdef __USE_LARGEFILE64
-extern int versionsort64 (__const struct dirent64 **__e1,
-			  __const struct dirent64 **__e2)
+extern int versionsort64 (const struct dirent64 **__e1,
+			  const struct dirent64 **__e2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 # endif
 #endif /* Use GNU.  */
diff --git a/dlfcn/dlfcn.h b/dlfcn/dlfcn.h
index 3e461dfec0..6fab44fac0 100644
--- a/dlfcn/dlfcn.h
+++ b/dlfcn/dlfcn.h
@@ -1,5 +1,6 @@
 /* User functions for run-time dynamic loading.
-   Copyright (C) 1995-2001,2003,2004,2006,2009 Free Software Foundation, Inc.
+   Copyright (C) 1995-2001,2003,2004,2006,2009,2012
+   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
@@ -54,7 +55,7 @@ __BEGIN_DECLS
 
 /* Open the shared object FILE and map it in; return a handle that can be
    passed to `dlsym' to get symbol values from it.  */
-extern void *dlopen (__const char *__file, int __mode) __THROW;
+extern void *dlopen (const char *__file, int __mode) __THROW;
 
 /* Unmap and close a shared object opened by `dlopen'.
    The handle cannot be used again after calling `dlclose'.  */
@@ -63,17 +64,17 @@ extern int dlclose (void *__handle) __THROW __nonnull ((1));
 /* Find the run-time address in the shared object HANDLE refers to
    of the symbol called NAME.  */
 extern void *dlsym (void *__restrict __handle,
-		    __const char *__restrict __name) __THROW __nonnull ((2));
+		    const char *__restrict __name) __THROW __nonnull ((2));
 
 #ifdef __USE_GNU
 /* Like `dlopen', but request object to be allocated in a new namespace.  */
-extern void *dlmopen (Lmid_t __nsid, __const char *__file, int __mode) __THROW;
+extern void *dlmopen (Lmid_t __nsid, const char *__file, int __mode) __THROW;
 
 /* Find the run-time address in the shared object HANDLE refers to
    of the symbol called NAME with VERSION.  */
 extern void *dlvsym (void *__restrict __handle,
-		     __const char *__restrict __name,
-		     __const char *__restrict __version)
+		     const char *__restrict __name,
+		     const char *__restrict __version)
      __THROW __nonnull ((2, 3));
 #endif
 
@@ -88,19 +89,19 @@ extern char *dlerror (void) __THROW;
    `dladdr'.  */
 typedef struct
 {
-  __const char *dli_fname;	/* File name of defining object.  */
+  const char *dli_fname;	/* File name of defining object.  */
   void *dli_fbase;		/* Load address of that object.  */
-  __const char *dli_sname;	/* Name of nearest symbol.  */
+  const char *dli_sname;	/* Name of nearest symbol.  */
   void *dli_saddr;		/* Exact value of nearest symbol.  */
 } Dl_info;
 
 /* Fill in *INFO with the following information about ADDRESS.
    Returns 0 iff no shared object's segments contain that address.  */
-extern int dladdr (__const void *__address, Dl_info *__info)
+extern int dladdr (const void *__address, Dl_info *__info)
      __THROW __nonnull ((2));
 
 /* Same as `dladdr', but additionally sets *EXTRA_INFO according to FLAGS.  */
-extern int dladdr1 (__const void *__address, Dl_info *__info,
+extern int dladdr1 (const void *__address, Dl_info *__info,
 		    void **__extra_info, int __flags) __THROW __nonnull ((2));
 
 /* These are the possible values for the FLAGS argument to `dladdr1'.
diff --git a/elf/neededtest4.c b/elf/neededtest4.c
index bd79341fb2..0ae0b7ff47 100644
--- a/elf/neededtest4.c
+++ b/elf/neededtest4.c
@@ -36,7 +36,7 @@ check_loaded_objects (const char **loaded)
 	  for (n = 0; loaded[n] != NULL; n++)
 	    {
 	      if (strcmp (basename (loaded[n]), basename (lm->l_name)) == 0)
-	        {
+		{
 		  found[n] = 1;
 		  match = 1;
 		  break;
@@ -54,7 +54,7 @@ check_loaded_objects (const char **loaded)
   for (n = 0; loaded[n] != NULL; n++)
     {
       if (found[n] == 0)
-        {
+	{
 	  ++errors;
 	  printf ("ERRORS: %s is not loaded\n", loaded[n]);
 	}
@@ -64,7 +64,7 @@ check_loaded_objects (const char **loaded)
 }
 
 extern void c_function (void);
-extern char *dirname (__const char *__filename);
+extern char *dirname (const char *__filename);
 
 int
 main (int argc, char **argv)
diff --git a/grp/grp.h b/grp/grp.h
index c06ef03ae6..556dc847cb 100644
--- a/grp/grp.h
+++ b/grp/grp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1995-2001,2003,2004,2010
+/* Copyright (C) 1991,1992,1995-2001,2003,2004,2010,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -96,7 +96,7 @@ extern struct group *fgetgrent (FILE *__stream);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int putgrent (__const struct group *__restrict __p,
+extern int putgrent (const struct group *__restrict __p,
 		     FILE *__restrict __f);
 #endif
 
@@ -110,7 +110,7 @@ extern struct group *getgrgid (__gid_t __gid);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct group *getgrnam (__const char *__name);
+extern struct group *getgrnam (const char *__name);
 
 #if defined __USE_POSIX || defined __USE_MISC
 
@@ -151,7 +151,7 @@ extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf,
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int getgrnam_r (__const char *__restrict __name,
+extern int getgrnam_r (const char *__restrict __name,
 		       struct group *__restrict __resultbuf,
 		       char *__restrict __buffer, size_t __buflen,
 		       struct group **__restrict __result);
@@ -179,7 +179,7 @@ extern int fgetgrent_r (FILE *__restrict __stream,
 # include <stddef.h>
 
 /* Set the group set for the current user to GROUPS (N of them).  */
-extern int setgroups (size_t __n, __const __gid_t *__groups) __THROW;
+extern int setgroups (size_t __n, const __gid_t *__groups) __THROW;
 
 /* Store at most *NGROUPS members of the group set for USER into
    *GROUPS.  Also include GROUP.  The actual number of groups found is
@@ -189,7 +189,7 @@ extern int setgroups (size_t __n, __const __gid_t *__groups) __THROW;
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int getgrouplist (__const char *__user, __gid_t __group,
+extern int getgrouplist (const char *__user, __gid_t __group,
 			 __gid_t *__groups, int *__ngroups);
 
 /* Initialize the group set for the current user
@@ -200,7 +200,7 @@ extern int getgrouplist (__const char *__user, __gid_t __group,
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int initgroups (__const char *__user, __gid_t __group);
+extern int initgroups (const char *__user, __gid_t __group);
 
 #endif /* Use BSD.  */
 
diff --git a/gshadow/gshadow.h b/gshadow/gshadow.h
index d0b28aeaa3..5179bde639 100644
--- a/gshadow/gshadow.h
+++ b/gshadow/gshadow.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2012 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
@@ -76,7 +76,7 @@ extern struct sgrp *getsgent (void);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern struct sgrp *getsgnam (__const char *__name);
+extern struct sgrp *getsgnam (const char *__name);
 
 /* Read shadow entry from STRING.
 
@@ -84,7 +84,7 @@ extern struct sgrp *getsgnam (__const char *__name);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern struct sgrp *sgetsgent (__const char *__string);
+extern struct sgrp *sgetsgent (const char *__string);
 
 /* Read next shadow entry from STREAM.
 
@@ -100,7 +100,7 @@ extern struct sgrp *fgetsgent (FILE *__stream);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int putsgent (__const struct sgrp *__g, FILE *__stream);
+extern int putsgent (const struct sgrp *__g, FILE *__stream);
 
 
 #ifdef __USE_MISC
@@ -113,11 +113,11 @@ extern int putsgent (__const struct sgrp *__g, FILE *__stream);
 extern int getsgent_r (struct sgrp *__result_buf, char *__buffer,
 		       size_t __buflen, struct sgrp **__result);
 
-extern int getsgnam_r (__const char *__name, struct sgrp *__result_buf,
+extern int getsgnam_r (const char *__name, struct sgrp *__result_buf,
 		       char *__buffer, size_t __buflen,
 		       struct sgrp **__result);
 
-extern int sgetsgent_r (__const char *__string, struct sgrp *__result_buf,
+extern int sgetsgent_r (const char *__string, struct sgrp *__result_buf,
 			char *__buffer, size_t __buflen,
 			struct sgrp **__result);
 
diff --git a/iconv/gconv.h b/iconv/gconv.h
index bc6d381aa0..24e2c0f3b7 100644
--- a/iconv/gconv.h
+++ b/iconv/gconv.h
@@ -70,7 +70,7 @@ struct __gconv_trans_data;
 
 /* Type of a conversion function.  */
 typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
-			    __const unsigned char **, __const unsigned char *,
+			    const unsigned char **, const unsigned char *,
 			    unsigned char **, size_t *, int, int);
 
 /* Type of a specialized conversion function for a single byte to INTERNAL.  */
@@ -84,18 +84,18 @@ typedef void (*__gconv_end_fct) (struct __gconv_step *);
 /* Type of a transliteration/transscription function.  */
 typedef int (*__gconv_trans_fct) (struct __gconv_step *,
 				  struct __gconv_step_data *, void *,
-				  __const unsigned char *,
-				  __const unsigned char **,
-				  __const unsigned char *, unsigned char **,
+				  const unsigned char *,
+				  const unsigned char **,
+				  const unsigned char *, unsigned char **,
 				  size_t *);
 
 /* Function to call to provide transliteration module with context.  */
-typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
-					  __const unsigned char *,
+typedef int (*__gconv_trans_context_fct) (void *, const unsigned char *,
+					  const unsigned char *,
 					  unsigned char *, unsigned char *);
 
 /* Function to query module about supported encoded character sets.  */
-typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
+typedef int (*__gconv_trans_query_fct) (const char *, const char ***,
 					size_t *);
 
 /* Constructor and destructor for local data for transliteration.  */
@@ -117,7 +117,7 @@ struct __gconv_trans_data
 struct __gconv_step
 {
   struct __gconv_loaded_object *__shlib_handle;
-  __const char *__modname;
+  const char *__modname;
 
   int __counter;
 
diff --git a/iconv/gconv_int.h b/iconv/gconv_int.h
index 79de975410..7508372707 100644
--- a/iconv/gconv_int.h
+++ b/iconv/gconv_int.h
@@ -267,9 +267,9 @@ extern int __gconv_translit_find (struct trans_struct *trans)
 extern int __gconv_transliterate (struct __gconv_step *step,
 				  struct __gconv_step_data *step_data,
 				  void *trans_data,
-				  __const unsigned char *inbufstart,
-				  __const unsigned char **inbufp,
-				  __const unsigned char *inbufend,
+				  const unsigned char *inbufstart,
+				  const unsigned char **inbufp,
+				  const unsigned char *inbufend,
 				  unsigned char **outbufstart,
 				  size_t *irreversible) attribute_hidden;
 
diff --git a/iconv/gconv_simple.c b/iconv/gconv_simple.c
index d145a3e5ff..028822c918 100644
--- a/iconv/gconv_simple.c
+++ b/iconv/gconv_simple.c
@@ -34,7 +34,7 @@
 #define BUILTIN_TRANSFORMATION(From, To, Cost, Name, Fct, BtowcFct, \
 			       MinF, MaxF, MinT, MaxT) \
   extern int Fct (struct __gconv_step *, struct __gconv_step_data *,	      \
-		  __const unsigned char **, __const unsigned char *,	      \
+		  const unsigned char **, const unsigned char *,	      \
 		  unsigned char **, size_t *, int, int);
 #include "gconv_builtin.h"
 
diff --git a/iconv/iconv.h b/iconv/iconv.h
index 1d9b79bbae..774b0f1b4a 100644
--- a/iconv/iconv.h
+++ b/iconv/iconv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2000, 2003, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2000, 2003, 2011, 2012 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
@@ -35,7 +35,7 @@ typedef void *iconv_t;
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode);
+extern iconv_t iconv_open (const char *__tocode, const char *__fromcode);
 
 /* Convert at most *INBYTESLEFT bytes from *INBUF according to the
    code conversion algorithm specified by CD and place up to
diff --git a/iconv/loop.c b/iconv/loop.c
index 2e88b1deef..e129261d71 100644
--- a/iconv/loop.c
+++ b/iconv/loop.c
@@ -66,8 +66,8 @@
 #undef FCTNAME2
 #if defined _STRING_ARCH_unaligned || !defined DEFINE_UNALIGNED
 /* We can handle unaligned memory access.  */
-# define get16(addr) *((__const uint16_t *) (addr))
-# define get32(addr) *((__const uint32_t *) (addr))
+# define get16(addr) *((const uint16_t *) (addr))
+# define get32(addr) *((const uint32_t *) (addr))
 
 /* We need no special support for writing values either.  */
 # define put16(addr, val) *((uint16_t *) (addr)) = (val)
@@ -78,13 +78,13 @@
 /* Distinguish between big endian and little endian.  */
 # if __BYTE_ORDER == __LITTLE_ENDIAN
 #  define get16(addr) \
-     (((__const unsigned char *) (addr))[1] << 8			      \
-      | ((__const unsigned char *) (addr))[0])
+     (((const unsigned char *) (addr))[1] << 8				      \
+      | ((const unsigned char *) (addr))[0])
 #  define get32(addr) \
-     (((((__const unsigned char *) (addr))[3] << 8			      \
-	| ((__const unsigned char *) (addr))[2]) << 8			      \
-       | ((__const unsigned char *) (addr))[1]) << 8			      \
-      | ((__const unsigned char *) (addr))[0])
+     (((((const unsigned char *) (addr))[3] << 8			      \
+	| ((const unsigned char *) (addr))[2]) << 8			      \
+       | ((const unsigned char *) (addr))[1]) << 8			      \
+      | ((const unsigned char *) (addr))[0])
 
 #  define put16(addr, val) \
      ({ uint16_t __val = (val);						      \
@@ -103,13 +103,13 @@
 	(void) 0; })
 # else
 #  define get16(addr) \
-     (((__const unsigned char *) (addr))[0] << 8			      \
-      | ((__const unsigned char *) (addr))[1])
+     (((const unsigned char *) (addr))[0] << 8				      \
+      | ((const unsigned char *) (addr))[1])
 #  define get32(addr) \
-     (((((__const unsigned char *) (addr))[0] << 8			      \
-	| ((__const unsigned char *) (addr))[1]) << 8			      \
-       | ((__const unsigned char *) (addr))[2]) << 8			      \
-      | ((__const unsigned char *) (addr))[3])
+     (((((const unsigned char *) (addr))[0] << 8			      \
+	| ((const unsigned char *) (addr))[1]) << 8			      \
+       | ((const unsigned char *) (addr))[2]) << 8			      \
+      | ((const unsigned char *) (addr))[3])
 
 #  define put16(addr, val) \
      ({ uint16_t __val = (val);						      \
diff --git a/iconv/skeleton.c b/iconv/skeleton.c
index baace6b3fb..72ac53641f 100644
--- a/iconv/skeleton.c
+++ b/iconv/skeleton.c
@@ -1,5 +1,5 @@
 /* Skeleton for a conversion module.
-   Copyright (C) 1998-2002, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1998-2002, 2005, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -39,24 +39,24 @@
 
      FROM_LOOP_MIN_NEEDED_FROM
      FROM_LOOP_MAX_NEEDED_FROM
-                        minimal/maximal number of bytes needed on input
-                        of one round through the FROM_LOOP.  Defaults
-                        to MIN_NEEDED_FROM and MAX_NEEDED_FROM, respectively.
+			minimal/maximal number of bytes needed on input
+			of one round through the FROM_LOOP.  Defaults
+			to MIN_NEEDED_FROM and MAX_NEEDED_FROM, respectively.
      FROM_LOOP_MIN_NEEDED_TO
      FROM_LOOP_MAX_NEEDED_TO
-                        minimal/maximal number of bytes needed on output
-                        of one round through the FROM_LOOP.  Defaults
-                        to MIN_NEEDED_TO and MAX_NEEDED_TO, respectively.
+			minimal/maximal number of bytes needed on output
+			of one round through the FROM_LOOP.  Defaults
+			to MIN_NEEDED_TO and MAX_NEEDED_TO, respectively.
      TO_LOOP_MIN_NEEDED_FROM
      TO_LOOP_MAX_NEEDED_FROM
-                        minimal/maximal number of bytes needed on input
-                        of one round through the TO_LOOP.  Defaults
-                        to MIN_NEEDED_TO and MAX_NEEDED_TO, respectively.
+			minimal/maximal number of bytes needed on input
+			of one round through the TO_LOOP.  Defaults
+			to MIN_NEEDED_TO and MAX_NEEDED_TO, respectively.
      TO_LOOP_MIN_NEEDED_TO
      TO_LOOP_MAX_NEEDED_TO
-                        minimal/maximal number of bytes needed on output
-                        of one round through the TO_LOOP.  Defaults
-                        to MIN_NEEDED_FROM and MAX_NEEDED_FROM, respectively.
+			minimal/maximal number of bytes needed on output
+			of one round through the TO_LOOP.  Defaults
+			to MIN_NEEDED_FROM and MAX_NEEDED_FROM, respectively.
 
      FROM_DIRECTION	this macro is supposed to return a value != 0
 			if we convert from the current character set,
@@ -206,8 +206,8 @@
    loops we have other definitions which allow optimized access.  */
 #ifdef _STRING_ARCH_unaligned
 /* We can handle unaligned memory access.  */
-# define get16u(addr) *((__const uint16_t *) (addr))
-# define get32u(addr) *((__const uint32_t *) (addr))
+# define get16u(addr) *((const uint16_t *) (addr))
+# define get32u(addr) *((const uint32_t *) (addr))
 
 /* We need no special support for writing values either.  */
 # define put16u(addr, val) *((uint16_t *) (addr)) = (val)
@@ -216,13 +216,13 @@
 /* Distinguish between big endian and little endian.  */
 # if __BYTE_ORDER == __LITTLE_ENDIAN
 #  define get16u(addr) \
-     (((__const unsigned char *) (addr))[1] << 8			      \
-      | ((__const unsigned char *) (addr))[0])
+     (((const unsigned char *) (addr))[1] << 8				      \
+      | ((const unsigned char *) (addr))[0])
 #  define get32u(addr) \
-     (((((__const unsigned char *) (addr))[3] << 8			      \
-	| ((__const unsigned char *) (addr))[2]) << 8			      \
-       | ((__const unsigned char *) (addr))[1]) << 8			      \
-      | ((__const unsigned char *) (addr))[0])
+     (((((const unsigned char *) (addr))[3] << 8			      \
+	| ((const unsigned char *) (addr))[2]) << 8			      \
+       | ((const unsigned char *) (addr))[1]) << 8			      \
+      | ((const unsigned char *) (addr))[0])
 
 #  define put16u(addr, val) \
      ({ uint16_t __val = (val);						      \
@@ -241,13 +241,13 @@
 	(void) 0; })
 # else
 #  define get16u(addr) \
-     (((__const unsigned char *) (addr))[0] << 8			      \
-      | ((__const unsigned char *) (addr))[1])
+     (((const unsigned char *) (addr))[0] << 8				      \
+      | ((const unsigned char *) (addr))[1])
 #  define get32u(addr) \
-     (((((__const unsigned char *) (addr))[0] << 8			      \
-	| ((__const unsigned char *) (addr))[1]) << 8			      \
-       | ((__const unsigned char *) (addr))[2]) << 8			      \
-      | ((__const unsigned char *) (addr))[3])
+     (((((const unsigned char *) (addr))[0] << 8			      \
+	| ((const unsigned char *) (addr))[1]) << 8			      \
+       | ((const unsigned char *) (addr))[2]) << 8			      \
+      | ((const unsigned char *) (addr))[3])
 
 #  define put16u(addr, val) \
      ({ uint16_t __val = (val);						      \
@@ -554,8 +554,8 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
 	  && consume_incomplete && (data->__statep->__count & 7) != 0)
 	{
 	  /* Yep, we have some bytes left over.  Process them now.
-             But this must not happen while we are called from an
-             error handler.  */
+	     But this must not happen while we are called from an
+	     error handler.  */
 	  assert (outbufstart == NULL);
 
 # if FROM_LOOP_MAX_NEEDED_FROM > 1
@@ -652,14 +652,14 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
 	  ++data->__invocation_counter;
 
 	  /* If this is the last step leave the loop, there is nothing
-             we can do.  */
+	     we can do.  */
 	  if (__builtin_expect (data->__flags & __GCONV_IS_LAST, 0))
 	    {
 	      /* Store information about how many bytes are available.  */
 	      data->__outbuf = outbuf;
 
 	      /* Remember how many non-identical characters we
-                 converted in a irreversible way.  */
+		 converted in a irreversible way.  */
 	      *irreversible += lirreversible;
 
 	      break;
@@ -782,7 +782,7 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
 	  STORE_REST
 # else
 	  /* Make sure the remaining bytes fit into the state objects
-             buffer.  */
+	     buffer.  */
 	  assert (inend - *inptrp < 4);
 
 	  size_t cnt;
diff --git a/include/aio.h b/include/aio.h
index be40c0bcef..c81dae9706 100644
--- a/include/aio.h
+++ b/include/aio.h
@@ -2,7 +2,7 @@
 #include <rt/aio.h>
 
 /* Now define the internal interfaces.  */
-extern void __aio_init (__const struct aioinit *__init);
+extern void __aio_init (const struct aioinit *__init);
 
 /* Flag to signal we need to be compatible with glibc < 2.4 in
    lio_listio and we do not issue events for each individual list
diff --git a/include/aliases.h b/include/aliases.h
index 84c832fdd1..f7cfafcd6c 100644
--- a/include/aliases.h
+++ b/include/aliases.h
@@ -9,11 +9,11 @@ extern int __old_getaliasent_r (struct aliasent *__restrict __result_buf,
 				char *__restrict __buffer, size_t __buflen,
 				struct aliasent **__restrict __result);
 
-extern int __getaliasbyname_r (__const char *__restrict __name,
+extern int __getaliasbyname_r (const char *__restrict __name,
 			       struct aliasent *__restrict __result_buf,
 			       char *__restrict __buffer, size_t __buflen,
 			       struct aliasent **__restrict __result);
-extern int __old_getaliasbyname_r (__const char *__restrict __name,
+extern int __old_getaliasbyname_r (const char *__restrict __name,
 				   struct aliasent *__restrict __result_buf,
 				   char *__restrict __buffer, size_t __buflen,
 				   struct aliasent **__restrict __result);
@@ -22,10 +22,10 @@ extern int __old_getaliasbyname_r (__const char *__restrict __name,
 extern enum nss_status _nss_ ## service ## _setaliasent (void);		     \
 extern enum nss_status _nss_ ## service ## _endaliasent (void);		     \
 extern enum nss_status _nss_ ## service ## _getaliasent_r		     \
-                       (struct aliasent *alias, char *buffer, size_t buflen, \
+		       (struct aliasent *alias, char *buffer, size_t buflen, \
 			int *errnop);					     \
 extern enum nss_status _nss_ ## service ## _getaliasbyname_r		     \
-                       (const char *name, struct aliasent *alias,	     \
+		       (const char *name, struct aliasent *alias,	     \
 			char *buffer, size_t buflen, int *errnop);
 
 
diff --git a/include/argz.h b/include/argz.h
index 1b97ed308d..4f45b0bf17 100644
--- a/include/argz.h
+++ b/include/argz.h
@@ -4,7 +4,7 @@
 
 libc_hidden_proto (argz_delete)
 
-extern size_t __argz_count_internal (__const char *__argz, size_t __len)
+extern size_t __argz_count_internal (const char *__argz, size_t __len)
      __attribute_pure__ attribute_hidden;
 extern void __argz_stringify_internal (char *__argz, size_t __len, int __sep)
      attribute_hidden;
diff --git a/include/arpa/inet.h b/include/arpa/inet.h
index 4e2c62390b..dc44341140 100644
--- a/include/arpa/inet.h
+++ b/include/arpa/inet.h
@@ -1,6 +1,6 @@
 #include <inet/arpa/inet.h>
 
-extern int __inet_aton (__const char *__cp, struct in_addr *__inp);
+extern int __inet_aton (const char *__cp, struct in_addr *__inp);
 libc_hidden_proto (__inet_aton)
 
 libc_hidden_proto (inet_aton)
diff --git a/include/assert.h b/include/assert.h
index 4b022342ef..573eb404ec 100644
--- a/include/assert.h
+++ b/include/assert.h
@@ -3,14 +3,14 @@
 /* This prints an "Assertion failed" message and aborts.
    In installed assert.h this is only conditionally declared,
    so it has to be repeated here.  */
-extern void __assert_fail (__const char *__assertion, __const char *__file,
-			   unsigned int __line, __const char *__function)
+extern void __assert_fail (const char *__assertion, const char *__file,
+			   unsigned int __line, const char *__function)
      __THROW __attribute__ ((__noreturn__));
 
 /* Likewise, but prints the error text for ERRNUM.  */
-extern void __assert_perror_fail (int __errnum, __const char *__file,
+extern void __assert_perror_fail (int __errnum, const char *__file,
 				  unsigned int __line,
-				  __const char *__function)
+				  const char *__function)
      __THROW __attribute__ ((__noreturn__));
 
 /* The real implementation of the two functions above.  */
diff --git a/include/dirent.h b/include/dirent.h
index 7dbf622bbb..28bf432301 100644
--- a/include/dirent.h
+++ b/include/dirent.h
@@ -12,8 +12,8 @@ struct scandir_cancel_struct
 };
 
 /* Now define the internal interfaces.  */
-extern DIR *__opendir (__const char *__name);
-extern DIR *__opendirat (int dfd, __const char *__name) internal_function;
+extern DIR *__opendir (const char *__name);
+extern DIR *__opendirat (int dfd, const char *__name) internal_function;
 extern DIR *__fdopendir (int __fd);
 extern int __closedir (DIR *__dirp);
 extern struct dirent *__readdir (DIR *__dirp);
@@ -22,11 +22,11 @@ extern int __readdir_r (DIR *__dirp, struct dirent *__entry,
 			struct dirent **__result);
 extern int __readdir64_r (DIR *__dirp, struct dirent64 *__entry,
 			  struct dirent64 **__result);
-extern int __scandir64 (__const char * __dir,
+extern int __scandir64 (const char * __dir,
 			struct dirent64 *** __namelist,
-			int (*__selector) (__const struct dirent64 *),
-			int (*__cmp) (__const struct dirent64 **,
-				      __const struct dirent64 **));
+			int (*__selector) (const struct dirent64 *),
+			int (*__cmp) (const struct dirent64 **,
+				      const struct dirent64 **));
 extern __ssize_t __getdents (int __fd, char *__buf, size_t __nbytes)
      internal_function;
 extern __ssize_t __getdents64 (int __fd, char *__buf, size_t __nbytes)
diff --git a/include/dlfcn.h b/include/dlfcn.h
index 9e76d35600..ae9c886087 100644
--- a/include/dlfcn.h
+++ b/include/dlfcn.h
@@ -32,8 +32,8 @@ extern char **__libc_argv attribute_hidden;
 
 #define __libc_dlopen(name) \
   __libc_dlopen_mode (name, RTLD_LAZY | __RTLD_DLOPEN)
-extern void *__libc_dlopen_mode  (__const char *__name, int __mode);
-extern void *__libc_dlsym   (void *__map, __const char *__name);
+extern void *__libc_dlopen_mode  (const char *__name, int __mode);
+extern void *__libc_dlsym   (void *__map, const char *__name);
 extern int   __libc_dlclose (void *__map);
 libc_hidden_proto (__libc_dlopen_mode)
 libc_hidden_proto (__libc_dlsym)
diff --git a/include/execinfo.h b/include/execinfo.h
index 840a0818cb..c929821e8c 100644
--- a/include/execinfo.h
+++ b/include/execinfo.h
@@ -4,9 +4,9 @@
 extern int __backtrace (void **__array, int __size);
 libc_hidden_proto (__backtrace)
 
-extern char **__backtrace_symbols (void *__const *__array, int __size);
+extern char **__backtrace_symbols (void *const *__array, int __size);
 
-extern void __backtrace_symbols_fd (void *__const *__array, int __size,
+extern void __backtrace_symbols_fd (void *const *__array, int __size,
 				    int __fd);
 libc_hidden_proto (__backtrace_symbols_fd)
 
diff --git a/include/fcntl.h b/include/fcntl.h
index d5e5ddff02..7afbd1c74c 100644
--- a/include/fcntl.h
+++ b/include/fcntl.h
@@ -2,7 +2,7 @@
 #include <io/fcntl.h>
 
 /* Now define the internal interfaces.  */
-extern int __open64 (__const char *__file, int __oflag, ...);
+extern int __open64 (const char *__file, int __oflag, ...);
 libc_hidden_proto (__open64)
 extern int __libc_open64 (const char *file, int oflag, ...);
 extern int __libc_open (const char *file, int oflag, ...);
@@ -13,21 +13,21 @@ extern int __libc_fcntl (int fd, int cmd, ...);
 extern int __fcntl_nocancel (int fd, int cmd, ...) attribute_hidden;
 libc_hidden_proto (__libc_fcntl)
 #endif
-extern int __open (__const char *__file, int __oflag, ...);
+extern int __open (const char *__file, int __oflag, ...);
 libc_hidden_proto (__open)
 extern int __fcntl (int __fd, int __cmd, ...);
 libc_hidden_proto (__fcntl)
-extern int __openat (int __fd, __const char *__file, int __oflag, ...)
+extern int __openat (int __fd, const char *__file, int __oflag, ...)
   __nonnull ((2));
 libc_hidden_proto (__openat)
-extern int __openat64 (int __fd, __const char *__file, int __oflag, ...)
+extern int __openat64 (int __fd, const char *__file, int __oflag, ...)
   __nonnull ((2));
 libc_hidden_proto (__openat64)
 
-extern int __open_2 (__const char *__path, int __oflag);
-extern int __open64_2 (__const char *__path, int __oflag);
-extern int __openat_2 (int __fd, __const char *__path, int __oflag);
-extern int __openat64_2 (int __fd, __const char *__path, int __oflag);
+extern int __open_2 (const char *__path, int __oflag);
+extern int __open64_2 (const char *__path, int __oflag);
+extern int __openat_2 (int __fd, const char *__path, int __oflag);
+extern int __openat64_2 (int __fd, const char *__path, int __oflag);
 
 
 /* Helper functions for the various *at functions.  For Linux.  */
diff --git a/include/fenv.h b/include/fenv.h
index 3605f8150e..59d4c3f63c 100644
--- a/include/fenv.h
+++ b/include/fenv.h
@@ -7,10 +7,10 @@ extern int __feclearexcept (int __excepts);
 extern int __fegetexcept (void);
 extern int __fegetexceptflag (fexcept_t *__flagp, int __excepts);
 extern int __feraiseexcept (int __excepts);
-extern int __fesetexceptflag (__const fexcept_t *__flagp, int __excepts);
+extern int __fesetexceptflag (const fexcept_t *__flagp, int __excepts);
 extern int __fegetenv (fenv_t *__envp);
-extern int __fesetenv (__const fenv_t *__envp);
-extern int __feupdateenv (__const fenv_t *__envp);
+extern int __fesetenv (const fenv_t *__envp);
+extern int __feupdateenv (const fenv_t *__envp);
 
 libm_hidden_proto (feraiseexcept)
 libm_hidden_proto (fegetenv)
diff --git a/include/glob.h b/include/glob.h
index 821568e1fe..a0c05977f7 100644
--- a/include/glob.h
+++ b/include/glob.h
@@ -7,9 +7,9 @@ libc_hidden_proto (globfree)
 libc_hidden_proto (globfree64)
 
 /* Now define the internal interfaces.  */
-extern int __glob_pattern_p (__const char *__pattern, int __quote);
-extern int __glob64 (__const char *__pattern, int __flags,
-		     int (*__errfunc) (__const char *, int),
+extern int __glob_pattern_p (const char *__pattern, int __quote);
+extern int __glob64 (const char *__pattern, int __flags,
+		     int (*__errfunc) (const char *, int),
 		     glob64_t *__pglob);
 
 #endif
diff --git a/include/grp.h b/include/grp.h
index 5ed9c972f0..9fa71eac75 100644
--- a/include/grp.h
+++ b/include/grp.h
@@ -22,10 +22,10 @@ extern int __old_getgrgid_r (__gid_t __gid, struct group *__resultbuf,
 			     struct group **__result);
 
 /* Search for an entry with a matching group name.  */
-extern int __getgrnam_r (__const char *__name, struct group *__resultbuf,
+extern int __getgrnam_r (const char *__name, struct group *__resultbuf,
 			 char *__buffer, size_t __buflen,
 			 struct group **__result);
-extern int __old_getgrnam_r (__const char *__name, struct group *__resultbuf,
+extern int __old_getgrnam_r (const char *__name, struct group *__resultbuf,
 			     char *__buffer, size_t __buflen,
 			     struct group **__result);
 
@@ -39,16 +39,16 @@ libc_hidden_proto (_nss_files_parse_grent)
 extern enum nss_status _nss_ ## service ## _setgrent (int);		   \
 extern enum nss_status _nss_ ## service ## _endgrent (void);		   \
 extern enum nss_status _nss_ ## service ## _getgrgid_r			   \
-                       (gid_t gid, struct group *grp, char *buffer,	   \
+		       (gid_t gid, struct group *grp, char *buffer,	   \
 			size_t buflen, int *errnop);			   \
 extern enum nss_status _nss_ ## service ## _getgrnam_r			   \
-                       (const char *name, struct group *grp,		   \
+		       (const char *name, struct group *grp,		   \
 			char *buffer, size_t buflen, int *errnop);	   \
 extern enum nss_status _nss_ ## service ##_getgrent_r			   \
-                       (struct group *result, char *buffer, size_t buflen, \
+		       (struct group *result, char *buffer, size_t buflen, \
 			int *errnop);					   \
 extern enum nss_status _nss_ ## service ##_initgroups_dyn		   \
-                       (const char *user, gid_t group, long int *start,	   \
+		       (const char *user, gid_t group, long int *start,	   \
 			long int *size, gid_t **groupsp, long int limit,   \
 			int *errnop);
 
diff --git a/include/libintl.h b/include/libintl.h
index 8875c9444f..d15a6c0a05 100644
--- a/include/libintl.h
+++ b/include/libintl.h
@@ -3,43 +3,43 @@
 #include <locale.h>
 
 /* Now define the internal interfaces.  */
-extern char *__gettext (__const char *__msgid)
+extern char *__gettext (const char *__msgid)
      __attribute_format_arg__ (1);
-extern char *__dgettext (__const char *__domainname,
-			 __const char *__msgid)
+extern char *__dgettext (const char *__domainname,
+			 const char *__msgid)
      __attribute_format_arg__ (2);
-extern char *__dcgettext (__const char *__domainname,
-			  __const char *__msgid, int __category)
+extern char *__dcgettext (const char *__domainname,
+			  const char *__msgid, int __category)
      __attribute_format_arg__ (2);
 libc_hidden_proto (__dcgettext)
-extern char *__dcgettext_internal (__const char *__domainname,
-				   __const char *__msgid, int __category)
+extern char *__dcgettext_internal (const char *__domainname,
+				   const char *__msgid, int __category)
      __attribute_format_arg__ (2)
      attribute_hidden;
 
-extern char *__ngettext (__const char *__msgid1, __const char *__msgid2,
+extern char *__ngettext (const char *__msgid1, const char *__msgid2,
 			 unsigned long int __n)
      __attribute_format_arg__ (1) __attribute_format_arg__ (2);
-extern char *__dngettext (__const char *__domainname,
-			  __const char *__msgid1, __const char *__msgid2,
+extern char *__dngettext (const char *__domainname,
+			  const char *__msgid1, const char *__msgid2,
 			  unsigned long int __n)
      __attribute_format_arg__ (2) __attribute_format_arg__ (3);
-extern char *__dcngettext (__const char *__domainname,
-			   __const char *__msgid1, __const char *__msgid2,
+extern char *__dcngettext (const char *__domainname,
+			   const char *__msgid1, const char *__msgid2,
 			   unsigned long int __n, int __category)
      __attribute_format_arg__ (2) __attribute_format_arg__ (3);
-extern char *__dcngettext_internal (__const char *__domainname,
-				    __const char *__msgid1,
-				    __const char *__msgid2,
+extern char *__dcngettext_internal (const char *__domainname,
+				    const char *__msgid1,
+				    const char *__msgid2,
 				    unsigned long int __n, int __category)
      __attribute_format_arg__ (2) __attribute_format_arg__ (3)
      attribute_hidden;
 
-extern char *__textdomain (__const char *__domainname);
-extern char *__bindtextdomain (__const char *__domainname,
-			       __const char *__dirname);
-extern char *__bind_textdomain_codeset (__const char *__domainname,
-					__const char *__codeset);
+extern char *__textdomain (const char *__domainname);
+extern char *__bindtextdomain (const char *__domainname,
+			       const char *__dirname);
+extern char *__bind_textdomain_codeset (const char *__domainname,
+					const char *__codeset);
 
 extern const char _libc_intl_domainname[];
 libc_hidden_proto (_libc_intl_domainname)
diff --git a/include/mntent.h b/include/mntent.h
index 421f1df5de..3a75f0ddfd 100644
--- a/include/mntent.h
+++ b/include/mntent.h
@@ -2,8 +2,8 @@
 #include <misc/mntent.h>
 
 /* Now define the internal interfaces.  */
-extern FILE *__setmntent (__const char *__file, __const char *__mode);
-extern FILE *__setmntent_internal (__const char *__file, __const char *__mode);
+extern FILE *__setmntent (const char *__file, const char *__mode);
+extern FILE *__setmntent_internal (const char *__file, const char *__mode);
 extern struct mntent *__getmntent_r (FILE *__stream,
 				     struct mntent *__result,
 				     char *__buffer, int __bufsize);
@@ -11,11 +11,10 @@ extern struct mntent *__getmntent_r_internal (FILE *__stream,
 					      struct mntent *__result,
 					      char *__buffer, int __bufsize)
      attribute_hidden;
-extern int __addmntent (FILE *__stream, __const struct mntent *__mnt);
+extern int __addmntent (FILE *__stream, const struct mntent *__mnt);
 extern int __endmntent (FILE *__stream);
 extern int __endmntent_internal (FILE *__stream) attribute_hidden;
-extern char *__hasmntopt (__const struct mntent *__mnt,
-			  __const char *__opt);
+extern char *__hasmntopt (const struct mntent *__mnt, const char *__opt);
 
 #ifndef NOT_IN_libc
 # define __setmntent(file, mode) INTUSE(__setmntent) (file, mode)
diff --git a/include/netdb.h b/include/netdb.h
index d5154c51d9..0db3579259 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -39,20 +39,20 @@ extern int __old_gethostent_r (struct hostent *__restrict __result_buf,
 			       struct hostent **__restrict __result,
 			       int *__restrict __h_errnop);
 
-extern int __gethostbyaddr_r (__const void *__restrict __addr,
+extern int __gethostbyaddr_r (const void *__restrict __addr,
 			      socklen_t __len, int __type,
 			      struct hostent *__restrict __result_buf,
 			      char *__restrict __buf, size_t __buflen,
 			      struct hostent **__restrict __result,
 			      int *__restrict __h_errnop);
-extern int __old_gethostbyaddr_r (__const void *__restrict __addr,
+extern int __old_gethostbyaddr_r (const void *__restrict __addr,
 				  socklen_t __len, int __type,
 				  struct hostent *__restrict __result_buf,
 				  char *__restrict __buf, size_t __buflen,
 				  struct hostent **__restrict __result,
 				  int *__restrict __h_errnop);
 
-extern int __gethostbyaddr2_r (__const void *__restrict __addr,
+extern int __gethostbyaddr2_r (const void *__restrict __addr,
 			       socklen_t __len, int __type,
 			       struct hostent *__restrict __result_buf,
 			       char *__restrict __buf, size_t __buflen,
@@ -60,29 +60,29 @@ extern int __gethostbyaddr2_r (__const void *__restrict __addr,
 			       int *__restrict __h_errnop,
 			       int32_t *ttlp);
 
-extern int __gethostbyname_r (__const char *__restrict __name,
+extern int __gethostbyname_r (const char *__restrict __name,
 			      struct hostent *__restrict __result_buf,
 			      char *__restrict __buf, size_t __buflen,
 			      struct hostent **__restrict __result,
 			      int *__restrict __h_errnop);
-extern int __old_gethostbyname_r (__const char *__restrict __name,
+extern int __old_gethostbyname_r (const char *__restrict __name,
 				  struct hostent *__restrict __result_buf,
 				  char *__restrict __buf, size_t __buflen,
 				  struct hostent **__restrict __result,
 				  int *__restrict __h_errnop);
 
-extern int __gethostbyname2_r (__const char *__restrict __name, int __af,
+extern int __gethostbyname2_r (const char *__restrict __name, int __af,
 			       struct hostent *__restrict __result_buf,
 			       char *__restrict __buf, size_t __buflen,
 			       struct hostent **__restrict __result,
 			       int *__restrict __h_errnop);
-extern int __old_gethostbyname2_r (__const char *__restrict __name, int __af,
+extern int __old_gethostbyname2_r (const char *__restrict __name, int __af,
 				   struct hostent *__restrict __result_buf,
 				   char *__restrict __buf, size_t __buflen,
 				   struct hostent **__restrict __result,
 				   int *__restrict __h_errnop);
 
-extern int __gethostbyname3_r (__const char *__restrict __name, int __af,
+extern int __gethostbyname3_r (const char *__restrict __name, int __af,
 			       struct hostent *__restrict __result_buf,
 			       char *__restrict __buf, size_t __buflen,
 			       struct hostent **__restrict __result,
@@ -109,12 +109,12 @@ extern int __old_getnetbyaddr_r (uint32_t __net, int __type,
 				 struct netent **__restrict __result,
 				 int *__restrict __h_errnop);
 
-extern int __getnetbyname_r (__const char *__restrict __name,
+extern int __getnetbyname_r (const char *__restrict __name,
 			     struct netent *__restrict __result_buf,
 			     char *__restrict __buf, size_t __buflen,
 			     struct netent **__restrict __result,
 			     int *__restrict __h_errnop);
-extern int __old_getnetbyname_r (__const char *__restrict __name,
+extern int __old_getnetbyname_r (const char *__restrict __name,
 				 struct netent *__restrict __result_buf,
 				 char *__restrict __buf, size_t __buflen,
 				 struct netent **__restrict __result,
@@ -128,24 +128,24 @@ extern int __old_getservent_r (struct servent *__restrict __result_buf,
 			       char *__restrict __buf, size_t __buflen,
 			       struct servent **__restrict __result);
 
-extern int __getservbyname_r (__const char *__restrict __name,
-			      __const char *__restrict __proto,
+extern int __getservbyname_r (const char *__restrict __name,
+			      const char *__restrict __proto,
 			      struct servent *__restrict __result_buf,
 			      char *__restrict __buf, size_t __buflen,
 			      struct servent **__restrict __result);
-extern int __old_getservbyname_r (__const char *__restrict __name,
-				  __const char *__restrict __proto,
+extern int __old_getservbyname_r (const char *__restrict __name,
+				  const char *__restrict __proto,
 				  struct servent *__restrict __result_buf,
 				  char *__restrict __buf, size_t __buflen,
 				  struct servent **__restrict __result);
 
 extern int __getservbyport_r (int __port,
-			      __const char *__restrict __proto,
+			      const char *__restrict __proto,
 			      struct servent *__restrict __result_buf,
 			      char *__restrict __buf, size_t __buflen,
 			      struct servent **__restrict __result);
 extern int __old_getservbyport_r (int __port,
-				  __const char *__restrict __proto,
+				  const char *__restrict __proto,
 				  struct servent *__restrict __result_buf,
 				  char *__restrict __buf, size_t __buflen,
 				  struct servent **__restrict __result);
@@ -158,11 +158,11 @@ extern int __old_getprotoent_r (struct protoent *__restrict __result_buf,
 				char *__restrict __buf, size_t __buflen,
 				struct protoent **__restrict __result);
 
-extern int __getprotobyname_r (__const char *__restrict __name,
+extern int __getprotobyname_r (const char *__restrict __name,
 			       struct protoent *__restrict __result_buf,
 			       char *__restrict __buf, size_t __buflen,
 			       struct protoent **__restrict __result);
-extern int __old_getprotobyname_r (__const char *__restrict __name,
+extern int __old_getprotobyname_r (const char *__restrict __name,
 				   struct protoent *__restrict __result_buf,
 				   char *__restrict __buf, size_t __buflen,
 				   struct protoent **__restrict __result);
diff --git a/include/pwd.h b/include/pwd.h
index ef9b61a614..465c17c50c 100644
--- a/include/pwd.h
+++ b/include/pwd.h
@@ -13,10 +13,10 @@ extern int __getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
 extern int __old_getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
 			     char *__buffer, size_t __buflen,
 			     struct passwd **__result);
-extern int __getpwnam_r (__const char *__name, struct passwd *__resultbuf,
+extern int __getpwnam_r (const char *__name, struct passwd *__resultbuf,
 			 char *__buffer, size_t __buflen,
 			 struct passwd **__result);
-extern int __old_getpwnam_r (__const char *__name, struct passwd *__resultbuf,
+extern int __old_getpwnam_r (const char *__name, struct passwd *__resultbuf,
 			     char *__buffer, size_t __buflen,
 			     struct passwd **__result);
 extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf,
@@ -35,13 +35,13 @@ libc_hidden_proto (_nss_files_parse_pwent)
 extern enum nss_status _nss_ ## service ## _setpwent (int);		\
 extern enum nss_status _nss_ ## service ## _endpwent (void);		\
 extern enum nss_status _nss_ ## service ## _getpwnam_r			\
-                       (const char *name, struct passwd *pwd,		\
+		       (const char *name, struct passwd *pwd,		\
 			char *buffer, size_t buflen, int *errnop);	\
 extern enum nss_status _nss_ ## service ## _getpwuid_r			\
-                       (uid_t uid, struct passwd *pwd,			\
+		       (uid_t uid, struct passwd *pwd,			\
 			char *buffer, size_t buflen, int *errnop);	\
 extern enum nss_status _nss_ ## service ##_getpwent_r			\
-                       (struct passwd *result, char *buffer,		\
+		       (struct passwd *result, char *buffer,		\
 			size_t buflen, int *errnop);
 
 DECLARE_NSS_PROTOTYPES (compat)
diff --git a/include/rpc/netdb.h b/include/rpc/netdb.h
index f7021e7aba..65af237e50 100644
--- a/include/rpc/netdb.h
+++ b/include/rpc/netdb.h
@@ -1,10 +1,10 @@
 #ifndef _RPC_NETDB_H
 #include <sunrpc/rpc/netdb.h>
 
-extern int __getrpcbyname_r (__const char *__name, struct rpcent *__result_buf,
+extern int __getrpcbyname_r (const char *__name, struct rpcent *__result_buf,
 			     char *__buffer, size_t __buflen,
 			     struct rpcent **__result);
-extern int __old_getrpcbyname_r (__const char *__name,
+extern int __old_getrpcbyname_r (const char *__name,
 				 struct rpcent *__result_buf,
 				 char *__buffer, size_t __buflen,
 				 struct rpcent **__result);
diff --git a/include/sched.h b/include/sched.h
index 7b057ea833..1eae9f72ff 100644
--- a/include/sched.h
+++ b/include/sched.h
@@ -3,10 +3,10 @@
 
 /* Now define the internal interfaces.  */
 extern int __sched_setparam (__pid_t __pid,
-			     __const struct sched_param *__param);
+			     const struct sched_param *__param);
 extern int __sched_getparam (__pid_t __pid, struct sched_param *__param);
 extern int __sched_setscheduler (__pid_t __pid, int __policy,
-				 __const struct sched_param *__param);
+				 const struct sched_param *__param);
 libc_hidden_proto (__sched_setscheduler)
 extern int __sched_getscheduler (__pid_t __pid);
 extern int __sched_yield (void);
diff --git a/include/search.h b/include/search.h
index e82f02832b..d1f3a92e83 100644
--- a/include/search.h
+++ b/include/search.h
@@ -8,12 +8,12 @@ libc_hidden_proto (lfind)
 
 /* Now define the internal interfaces.  */
 extern void __hdestroy (void);
-extern void *__tsearch (__const void *__key, void **__rootp,
+extern void *__tsearch (const void *__key, void **__rootp,
 			__compar_fn_t compar);
-extern void *__tfind (__const void *__key, void *__const *__rootp,
+extern void *__tfind (const void *__key, void *const *__rootp,
 		      __compar_fn_t compar);
-extern void *__tdelete (__const void *__key, void **__rootp,
+extern void *__tdelete (const void *__key, void **__rootp,
 			__compar_fn_t compar);
-extern void __twalk (__const void *__root, __action_fn_t action);
+extern void __twalk (const void *__root, __action_fn_t action);
 extern void __tdestroy (void *__root, __free_fn_t freefct);
 #endif
diff --git a/include/shadow.h b/include/shadow.h
index 166f6846b2..a3f897cba1 100644
--- a/include/shadow.h
+++ b/include/shadow.h
@@ -7,13 +7,13 @@ extern int __getspent_r (struct spwd *__result_buf, char *__buffer,
      attribute_hidden;
 extern int __old_getspent_r (struct spwd *__result_buf, char *__buffer,
 			     size_t __buflen, struct spwd **__result);
-extern int __getspnam_r (__const char *__name, struct spwd *__result_buf,
+extern int __getspnam_r (const char *__name, struct spwd *__result_buf,
 			 char *__buffer, size_t __buflen,
 			 struct spwd **__result);
-extern int __old_getspnam_r (__const char *__name, struct spwd *__result_buf,
+extern int __old_getspnam_r (const char *__name, struct spwd *__result_buf,
 			     char *__buffer, size_t __buflen,
 			     struct spwd **__result);
-extern int __sgetspent_r (__const char *__string,
+extern int __sgetspent_r (const char *__string,
 			  struct spwd *__result_buf, char *__buffer,
 			  size_t __buflen, struct spwd **__result);
 extern int __fgetspent_r (FILE *__stream, struct spwd *__result_buf,
@@ -32,10 +32,10 @@ libc_hidden_proto (_nss_files_parse_spent)
 extern enum nss_status _nss_ ## service ## _setspent (int);		\
 extern enum nss_status _nss_ ## service ## _endspent (void);		\
 extern enum nss_status _nss_ ## service ## _getspent_r			\
-                       (struct spwd *pwd, char *buffer, size_t buflen,	\
+		       (struct spwd *pwd, char *buffer, size_t buflen,	\
 			int *errnop);					\
 extern enum nss_status _nss_ ## service ## _getspnam_r			\
-                       (const char *name, struct spwd *pwd,		\
+		       (const char *name, struct spwd *pwd,		\
 			char *buffer, size_t buflen, int *errnop);
 
 DECLARE_NSS_PROTOTYPES (compat)
diff --git a/include/signal.h b/include/signal.h
index 6bbfbcf808..6250d30f77 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -17,31 +17,31 @@ libc_hidden_proto (__libc_current_sigrtmax)
 /* Now define the internal interfaces.  */
 extern __sighandler_t __bsd_signal (int __sig, __sighandler_t __handler);
 extern int __kill (__pid_t __pid, int __sig);
-extern int __sigaction (int __sig, __const struct sigaction *__restrict __act,
+extern int __sigaction (int __sig, const struct sigaction *__restrict __act,
 			struct sigaction *__restrict __oact);
 libc_hidden_proto (__sigaction)
 extern int __sigblock (int __mask);
 extern int __sigsetmask (int __mask);
 extern int __sigprocmask (int __how,
-			  __const sigset_t *__set, sigset_t *__oset);
-extern int __sigsuspend (__const sigset_t *__set);
+			  const sigset_t *__set, sigset_t *__oset);
+extern int __sigsuspend (const sigset_t *__set);
 libc_hidden_proto (__sigsuspend)
 #ifndef NO_CANCELLATION
-extern int __sigsuspend_nocancel (__const sigset_t *__set) attribute_hidden;
+extern int __sigsuspend_nocancel (const sigset_t *__set) attribute_hidden;
 #endif
-extern int __sigwait (__const sigset_t *__set, int *__sig);
+extern int __sigwait (const sigset_t *__set, int *__sig);
 libc_hidden_proto (__sigwait)
-extern int __sigwaitinfo (__const sigset_t *__set, siginfo_t *__info);
+extern int __sigwaitinfo (const sigset_t *__set, siginfo_t *__info);
 libc_hidden_proto (__sigwaitinfo)
-extern int __sigtimedwait (__const sigset_t *__set, siginfo_t *__info,
-			   __const struct timespec *__timeout);
+extern int __sigtimedwait (const sigset_t *__set, siginfo_t *__info,
+			   const struct timespec *__timeout);
 libc_hidden_proto (__sigtimedwait)
 extern int __sigqueue (__pid_t __pid, int __sig,
-		       __const union sigval __val);
-extern int __sigvec (int __sig, __const struct sigvec *__vec,
+		       const union sigval __val);
+extern int __sigvec (int __sig, const struct sigvec *__vec,
 		     struct sigvec *__ovec);
 extern int __sigreturn (struct sigcontext *__scp);
-extern int __sigaltstack (__const struct sigaltstack *__ss,
+extern int __sigaltstack (const struct sigaltstack *__ss,
 			  struct sigaltstack *__oss);
 extern int __libc_sigaction (int sig, const struct sigaction *act,
 			     struct sigaction *oact);
diff --git a/include/stdio.h b/include/stdio.h
index 6b053b8aee..5f4495d0d0 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -7,23 +7,23 @@
 /* Now define the internal interfaces.  */
 extern int __fcloseall (void);
 extern int __snprintf (char *__restrict __s, size_t __maxlen,
-		       __const char *__restrict __format, ...)
+		       const char *__restrict __format, ...)
      __attribute__ ((__format__ (__printf__, 3, 4)));
 extern int __vsnprintf (char *__restrict __s, size_t __maxlen,
-			__const char *__restrict __format, _G_va_list __arg)
+			const char *__restrict __format, _G_va_list __arg)
      __attribute__ ((__format__ (__printf__, 3, 0)));
 extern int __vfscanf (FILE *__restrict __s,
-		      __const char *__restrict __format,
+		      const char *__restrict __format,
 		      _G_va_list __arg)
      __attribute__ ((__format__ (__scanf__, 2, 0)));
 libc_hidden_proto (__vfscanf)
-extern int __vscanf (__const char *__restrict __format,
+extern int __vscanf (const char *__restrict __format,
 		     _G_va_list __arg)
      __attribute__ ((__format__ (__scanf__, 1, 0)));
 extern _IO_ssize_t __getline (char **__lineptr, size_t *__n,
 			      FILE *__stream);
-extern int __vsscanf (__const char *__restrict __s,
-		      __const char *__restrict __format,
+extern int __vsscanf (const char *__restrict __s,
+		      const char *__restrict __format,
 		      _G_va_list __arg)
      __attribute__ ((__format__ (__scanf__, 2, 0)));
 
@@ -52,17 +52,17 @@ extern int __obstack_vprintf_chk (struct obstack *, int, const char *,
 #endif
 
 extern int __isoc99_fscanf (FILE *__restrict __stream,
-			    __const char *__restrict __format, ...) __wur;
-extern int __isoc99_scanf (__const char *__restrict __format, ...) __wur;
-extern int __isoc99_sscanf (__const char *__restrict __s,
-			    __const char *__restrict __format, ...) __THROW;
+			    const char *__restrict __format, ...) __wur;
+extern int __isoc99_scanf (const char *__restrict __format, ...) __wur;
+extern int __isoc99_sscanf (const char *__restrict __s,
+			    const char *__restrict __format, ...) __THROW;
 extern int __isoc99_vfscanf (FILE *__restrict __s,
-			     __const char *__restrict __format,
+			     const char *__restrict __format,
 			     _G_va_list __arg) __wur;
-extern int __isoc99_vscanf (__const char *__restrict __format,
+extern int __isoc99_vscanf (const char *__restrict __format,
 			    _G_va_list __arg) __wur;
-extern int __isoc99_vsscanf (__const char *__restrict __s,
-			     __const char *__restrict __format,
+extern int __isoc99_vsscanf (const char *__restrict __s,
+			     const char *__restrict __format,
 			     _G_va_list __arg) __THROW;
 libc_hidden_proto (__isoc99_vsscanf)
 libc_hidden_proto (__isoc99_vfscanf)
@@ -77,7 +77,7 @@ extern FILE *__old_tmpfile (void);
 #  include <stddef.h>
 /* Generate a unique file name (and possibly open it).  */
 extern int __path_search (char *__tmpl, size_t __tmpl_len,
-			  __const char *__dir, __const char *__pfx,
+			  const char *__dir, const char *__pfx,
 			  int __try_tempdir);
 
 extern int __gen_tempname (char *__tmpl, int __suffixlen, int __flags,
@@ -88,9 +88,9 @@ extern int __gen_tempname (char *__tmpl, int __suffixlen, int __flags,
 #  define __GT_NOCREATE	2	/* just find a name not currently in use */
 
 /* Print out MESSAGE on the error output and abort.  */
-extern void __libc_fatal (__const char *__message)
+extern void __libc_fatal (const char *__message)
      __attribute__ ((__noreturn__));
-extern void __libc_message (int do_abort, __const char *__fnt, ...);
+extern void __libc_message (int do_abort, const char *__fnt, ...);
 extern void __fortify_fail (const char *msg)
      __attribute__ ((__noreturn__)) internal_function;
 libc_hidden_proto (__fortify_fail)
@@ -111,11 +111,11 @@ extern wint_t __getwc_unlocked (FILE *__fp);
 extern int __fxprintf (FILE *__fp, const char *__fmt, ...)
      __attribute__ ((__format__ (__printf__, 2, 3)));
 
-extern __const char *__const _sys_errlist_internal[] attribute_hidden;
+extern const char *const _sys_errlist_internal[] attribute_hidden;
 extern int _sys_nerr_internal attribute_hidden;
 
 extern int __asprintf_internal (char **__restrict __ptr,
-				__const char *__restrict __fmt, ...)
+				const char *__restrict __fmt, ...)
      attribute_hidden __attribute__ ((__format__ (__printf__, 2, 3)));
 #  if !defined NOT_IN_libc && !defined _ISOMAC
 #    define __asprintf(ptr, fmt, args...) \
diff --git a/include/stdlib.h b/include/stdlib.h
index 816f8ffc2e..fc9ef7f5d6 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -73,12 +73,11 @@ extern int __drand48_iterate (unsigned short int __xsubi[3],
 /* Global state for non-reentrant functions.  Defined in drand48-iter.c.  */
 extern struct drand48_data __libc_drand48_data attribute_hidden;
 
-extern int __setenv (__const char *__name, __const char *__value,
-		     int __replace);
-extern int __unsetenv (__const char *__name);
+extern int __setenv (const char *__name, const char *__value, int __replace);
+extern int __unsetenv (const char *__name);
 extern int __clearenv (void);
-extern char *__canonicalize_file_name (__const char *__name);
-extern char *__realpath (__const char *__name, char *__resolved);
+extern char *__canonicalize_file_name (const char *__name);
+extern char *__realpath (const char *__name, char *__resolved);
 extern int __ptsname_r (int __fd, char *__buf, size_t __buflen);
 # ifndef _ISOMAC
 extern int __ptsname_internal (int fd, char *buf, size_t buflen,
@@ -109,31 +108,31 @@ extern void *__libc_memalign (size_t alignment, size_t size)
 extern int __libc_system (const char *line);
 
 
-extern double __strtod_internal (__const char *__restrict __nptr,
+extern double __strtod_internal (const char *__restrict __nptr,
 				 char **__restrict __endptr, int __group)
      __THROW __nonnull ((1)) __wur;
-extern float __strtof_internal (__const char *__restrict __nptr,
+extern float __strtof_internal (const char *__restrict __nptr,
 				char **__restrict __endptr, int __group)
      __THROW __nonnull ((1)) __wur;
-extern long double __strtold_internal (__const char *__restrict __nptr,
+extern long double __strtold_internal (const char *__restrict __nptr,
 				       char **__restrict __endptr,
 				       int __group)
      __THROW __nonnull ((1)) __wur;
-extern long int __strtol_internal (__const char *__restrict __nptr,
+extern long int __strtol_internal (const char *__restrict __nptr,
 				   char **__restrict __endptr,
 				   int __base, int __group)
      __THROW __nonnull ((1)) __wur;
-extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
+extern unsigned long int __strtoul_internal (const char *__restrict __nptr,
 					     char **__restrict __endptr,
 					     int __base, int __group)
      __THROW __nonnull ((1)) __wur;
 __extension__
-extern long long int __strtoll_internal (__const char *__restrict __nptr,
+extern long long int __strtoll_internal (const char *__restrict __nptr,
 					 char **__restrict __endptr,
 					 int __base, int __group)
      __THROW __nonnull ((1)) __wur;
 __extension__
-extern unsigned long long int __strtoull_internal (__const char *
+extern unsigned long long int __strtoull_internal (const char *
 						   __restrict __nptr,
 						   char **__restrict __endptr,
 						   int __base, int __group)
@@ -146,31 +145,31 @@ libc_hidden_proto (__strtoll_internal)
 libc_hidden_proto (__strtoul_internal)
 libc_hidden_proto (__strtoull_internal)
 
-extern double ____strtod_l_internal (__const char *__restrict __nptr,
+extern double ____strtod_l_internal (const char *__restrict __nptr,
 				     char **__restrict __endptr, int __group,
 				     __locale_t __loc);
-extern float ____strtof_l_internal (__const char *__restrict __nptr,
+extern float ____strtof_l_internal (const char *__restrict __nptr,
 				    char **__restrict __endptr, int __group,
 				    __locale_t __loc);
-extern long double ____strtold_l_internal (__const char *__restrict __nptr,
+extern long double ____strtold_l_internal (const char *__restrict __nptr,
 					   char **__restrict __endptr,
 					   int __group, __locale_t __loc);
-extern long int ____strtol_l_internal (__const char *__restrict __nptr,
+extern long int ____strtol_l_internal (const char *__restrict __nptr,
 				       char **__restrict __endptr,
 				       int __base, int __group,
 				       __locale_t __loc);
-extern unsigned long int ____strtoul_l_internal (__const char *
+extern unsigned long int ____strtoul_l_internal (const char *
 						 __restrict __nptr,
 						 char **__restrict __endptr,
 						 int __base, int __group,
 						 __locale_t __loc);
 __extension__
-extern long long int ____strtoll_l_internal (__const char *__restrict __nptr,
+extern long long int ____strtoll_l_internal (const char *__restrict __nptr,
 					     char **__restrict __endptr,
 					     int __base, int __group,
 					     __locale_t __loc);
 __extension__
-extern unsigned long long int ____strtoull_l_internal (__const char *
+extern unsigned long long int ____strtoull_l_internal (const char *
 						       __restrict __nptr,
 						       char **
 						       __restrict __endptr,
diff --git a/include/string.h b/include/string.h
index f73bbf9f43..0b49b8fe7c 100644
--- a/include/string.h
+++ b/include/string.h
@@ -2,42 +2,42 @@
 
 #include <sys/types.h>
 
-extern void *__memccpy (void *__dest, __const void *__src,
+extern void *__memccpy (void *__dest, const void *__src,
 			int __c, size_t __n);
 
-extern size_t __strnlen (__const char *__string, size_t __maxlen)
+extern size_t __strnlen (const char *__string, size_t __maxlen)
      __attribute_pure__;
 
-extern char *__strsep (char **__stringp, __const char *__delim);
+extern char *__strsep (char **__stringp, const char *__delim);
 
-extern int __strverscmp (__const char *__s1, __const char *__s2)
+extern int __strverscmp (const char *__s1, const char *__s2)
      __attribute_pure__;
 
-extern int __strncasecmp (__const char *__s1, __const char *__s2,
+extern int __strncasecmp (const char *__s1, const char *__s2,
 			  size_t __n)
      __attribute_pure__;
 
-extern int __strcasecmp (__const char *__s1, __const char *__s2)
+extern int __strcasecmp (const char *__s1, const char *__s2)
      __attribute_pure__;
 
-extern char *__strcasestr (__const char *__haystack, __const char *__needle)
+extern char *__strcasestr (const char *__haystack, const char *__needle)
      __attribute_pure__;
 
-extern char *__strdup (__const char *__string)
+extern char *__strdup (const char *__string)
      __attribute_malloc__;
-extern char *__strndup (__const char *__string, size_t __n)
+extern char *__strndup (const char *__string, size_t __n)
      __attribute_malloc__;
 
-extern void *__rawmemchr (__const void *__s, int __c)
+extern void *__rawmemchr (const void *__s, int __c)
      __attribute_pure__;
 
-extern char *__strchrnul (__const char *__s, int __c)
+extern char *__strchrnul (const char *__s, int __c)
      __attribute_pure__;
 
-extern void *__memrchr (__const void *__s, int __c, size_t __n)
+extern void *__memrchr (const void *__s, int __c, size_t __n)
      __attribute_pure__;
 
-extern void *__memchr (__const void *__s, int __c, size_t __n)
+extern void *__memchr (const void *__s, int __c, size_t __n)
      __attribute_pure__;
 
 extern int __ffs (int __i) __attribute__ ((const));
@@ -59,7 +59,7 @@ extern __typeof (strncasecmp_l) __strncasecmp_l;
 # define strndupa(s, n)							      \
   (__extension__							      \
     ({									      \
-      __const char *__old = (s);					      \
+      const char *__old = (s);						      \
       size_t __len = __strnlen (__old, (n));				      \
       char *__new = (char *) __builtin_alloca (__len + 1);		      \
       __new[__len] = '\0';						      \
@@ -83,7 +83,7 @@ libc_hidden_proto (strcoll)
 libc_hidden_proto (__strcoll_l)
 libc_hidden_proto (__strxfrm_l)
 libc_hidden_proto (__strtok_r)
-extern char *__strsep_g (char **__stringp, __const char *__delim);
+extern char *__strsep_g (char **__stringp, const char *__delim);
 libc_hidden_proto (__strsep_g)
 libc_hidden_proto (strnlen)
 
diff --git a/include/sys/socket.h b/include/sys/socket.h
index df892783a0..d45c99d1cf 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -26,9 +26,9 @@ extern int __getpeername (int __fd, __SOCKADDR_ARG __addr,
 			  socklen_t *__len) attribute_hidden;
 
 /* Send N bytes of BUF to socket FD.  Returns the number sent or -1.  */
-extern ssize_t __libc_send (int __fd, __const void *__buf, size_t __n,
+extern ssize_t __libc_send (int __fd, const void *__buf, size_t __n,
 			    int __flags);
-extern ssize_t __send (int __fd, __const void *__buf, size_t __n, int __flags);
+extern ssize_t __send (int __fd, const void *__buf, size_t __n, int __flags);
 libc_hidden_proto (__send)
 
 /* Read N bytes into BUF from socket FD.
@@ -37,7 +37,7 @@ extern ssize_t __libc_recv (int __fd, void *__buf, size_t __n, int __flags);
 
 /* Send N bytes of BUF on socket FD to peer at address ADDR (which is
    ADDR_LEN bytes long).  Returns the number sent, or -1 for errors.  */
-extern ssize_t __libc_sendto (int __fd, __const void *__buf, size_t __n,
+extern ssize_t __libc_sendto (int __fd, const void *__buf, size_t __n,
 			      int __flags, __CONST_SOCKADDR_ARG __addr,
 			      socklen_t __addr_len);
 
@@ -69,10 +69,10 @@ extern ssize_t __recv (int __fd, void *__buf, size_t __n, int __flags)
 
 /* Send N bytes of BUF on socket FD to peer at address ADDR (which is
    ADDR_LEN bytes long).  Returns the number sent, or -1 for errors.  */
-extern ssize_t __libc_sendto (int __fd, __const void *__buf, size_t __n,
+extern ssize_t __libc_sendto (int __fd, const void *__buf, size_t __n,
 			      int __flags, __CONST_SOCKADDR_ARG __addr,
 			      socklen_t __addr_len);
-extern ssize_t __sendto (int __fd, __const void *__buf, size_t __n,
+extern ssize_t __sendto (int __fd, const void *__buf, size_t __n,
 			 int __flags, __CONST_SOCKADDR_ARG __addr,
 			 socklen_t __addr_len) attribute_hidden;
 
@@ -86,9 +86,9 @@ extern ssize_t __recvfrom (int __fd, void *__restrict __buf, size_t __n,
 
 /* Send a message described MESSAGE on socket FD.
    Returns the number of bytes sent, or -1 for errors.  */
-extern ssize_t __libc_sendmsg (int __fd, __const struct msghdr *__message,
+extern ssize_t __libc_sendmsg (int __fd, const struct msghdr *__message,
 			       int __flags);
-extern ssize_t __sendmsg (int __fd, __const struct msghdr *__message,
+extern ssize_t __sendmsg (int __fd, const struct msghdr *__message,
 			  int __flags) attribute_hidden;
 
 /* Receive a message as described by MESSAGE from socket FD.
@@ -102,7 +102,7 @@ extern ssize_t __recvmsg (int __fd, struct msghdr *__message,
    to *OPTVAL (which is OPTLEN bytes long).
    Returns 0 on success, -1 for errors.  */
 extern int __setsockopt (int __fd, int __level, int __optname,
-			 __const void *__optval,
+			 const void *__optval,
 			 socklen_t __optlen) attribute_hidden;
 
 /* Put the current value for socket FD's option OPTNAME at protocol level LEVEL
diff --git a/include/sys/stat.h b/include/sys/stat.h
index cca0500ec2..a6cf60f401 100644
--- a/include/sys/stat.h
+++ b/include/sys/stat.h
@@ -2,14 +2,14 @@
 #include <io/sys/stat.h>
 
 /* Now define the internal interfaces. */
-extern int __stat (__const char *__file, struct stat *__buf);
+extern int __stat (const char *__file, struct stat *__buf);
 extern int __fstat (int __fd, struct stat *__buf);
-extern int __lstat (__const char *__file, struct stat *__buf);
-extern int __chmod (__const char *__file, __mode_t __mode);
+extern int __lstat (const char *__file, struct stat *__buf);
+extern int __chmod (const char *__file, __mode_t __mode);
 extern int __fchmod (int __fd, __mode_t __mode);
 extern __mode_t __umask (__mode_t __mask);
-extern int __mkdir (__const char *__path, __mode_t __mode);
-extern int __mknod (__const char *__path,
+extern int __mkdir (const char *__path, __mode_t __mode);
+extern int __mknod (const char *__path,
 		    __mode_t __mode, __dev_t __dev);
 #if !defined NOT_IN_libc || defined IS_IN_rtld
 hidden_proto (__fxstat)
@@ -19,12 +19,12 @@ hidden_proto (__lxstat64)
 hidden_proto (__xstat)
 hidden_proto (__xstat64)
 #endif
-extern __inline__ int __stat (__const char *__path, struct stat *__statbuf)
+extern __inline__ int __stat (const char *__path, struct stat *__statbuf)
 {
   return __xstat (_STAT_VER, __path, __statbuf);
 }
 libc_hidden_proto (__xmknod)
-extern __inline__ int __mknod (__const char *__path, __mode_t __mode,
+extern __inline__ int __mknod (const char *__path, __mode_t __mode,
 			       __dev_t __dev)
 {
   return __xmknod (_MKNOD_VER, __path, __mode, &__dev);
diff --git a/include/sys/statfs.h b/include/sys/statfs.h
index 80786a71f8..e34ad02965 100644
--- a/include/sys/statfs.h
+++ b/include/sys/statfs.h
@@ -2,9 +2,9 @@
 #include <io/sys/statfs.h>
 
 /* Now define the internal interfaces.  */
-extern int __statfs (__const char *__file, struct statfs *__buf);
+extern int __statfs (const char *__file, struct statfs *__buf);
 libc_hidden_proto (__statfs)
 extern int __fstatfs (int __fildes, struct statfs *__buf);
-extern int __statfs64 (__const char *__file, struct statfs64 *__buf);
+extern int __statfs64 (const char *__file, struct statfs64 *__buf);
 extern int __fstatfs64 (int __fildes, struct statfs64 *__buf);
 #endif
diff --git a/include/sys/statvfs.h b/include/sys/statvfs.h
index b3c6a35c64..74ef2db45d 100644
--- a/include/sys/statvfs.h
+++ b/include/sys/statvfs.h
@@ -2,7 +2,7 @@
 #include <io/sys/statvfs.h>
 
 /* Now define the internal interfaces.  */
-extern int __statvfs64 (__const char *__file, struct statvfs64 *__buf);
+extern int __statvfs64 (const char *__file, struct statvfs64 *__buf);
 extern int __fstatvfs64 (int __fildes, struct statvfs64 *__buf);
 
 libc_hidden_proto (statvfs)
diff --git a/include/sys/syslog.h b/include/sys/syslog.h
index 8b0d59dad6..c08cfcd1fa 100644
--- a/include/sys/syslog.h
+++ b/include/sys/syslog.h
@@ -3,7 +3,7 @@
 libc_hidden_proto (syslog)
 libc_hidden_proto (vsyslog)
 
-extern void __vsyslog_chk (int __pri, int __flag, __const char *__fmt,
+extern void __vsyslog_chk (int __pri, int __flag, const char *__fmt,
 			   __gnuc_va_list __ap)
      __attribute__ ((__format__ (__printf__, 3, 0)));
 libc_hidden_proto (__vsyslog_chk)
diff --git a/include/sys/time.h b/include/sys/time.h
index ec4055276e..a5ec500cde 100644
--- a/include/sys/time.h
+++ b/include/sys/time.h
@@ -7,20 +7,20 @@ extern int __gettimeofday (struct timeval *__tv,
 extern int __gettimeofday_internal (struct timeval *__tv,
 				    struct timezone *__tz)
 	attribute_hidden;
-extern int __settimeofday (__const struct timeval *__tv,
-			   __const struct timezone *__tz)
+extern int __settimeofday (const struct timeval *__tv,
+			   const struct timezone *__tz)
 	attribute_hidden;
-extern int __adjtime (__const struct timeval *__delta,
+extern int __adjtime (const struct timeval *__delta,
 		      struct timeval *__olddelta);
 extern int __getitimer (enum __itimer_which __which,
 			struct itimerval *__value);
 extern int __setitimer (enum __itimer_which __which,
-			__const struct itimerval *__restrict __new,
+			const struct itimerval *__restrict __new,
 			struct itimerval *__restrict __old)
 	attribute_hidden;
-extern int __utimes (__const char *__file, const struct timeval __tvp[2])
+extern int __utimes (const char *__file, const struct timeval __tvp[2])
 	attribute_hidden;
-extern int __futimes (int fd, __const struct timeval tvp[2]) attribute_hidden;
+extern int __futimes (int fd, const struct timeval tvp[2]) attribute_hidden;
 
 #ifndef NOT_IN_libc
 # define __gettimeofday(tv, tz) INTUSE(__gettimeofday) (tv, tz)
diff --git a/include/sys/uio.h b/include/sys/uio.h
index 8c2b0167c1..1e5d64e47e 100644
--- a/include/sys/uio.h
+++ b/include/sys/uio.h
@@ -2,12 +2,12 @@
 #include <misc/sys/uio.h>
 
 /* Now define the internal interfaces.  */
-extern ssize_t __readv (int __fd, __const struct iovec *__vector,
+extern ssize_t __readv (int __fd, const struct iovec *__vector,
 			int __count);
-extern ssize_t __libc_readv (int __fd, __const struct iovec *__vector,
+extern ssize_t __libc_readv (int __fd, const struct iovec *__vector,
 			     int __count);
-extern ssize_t __writev (int __fd, __const struct iovec *__vector,
+extern ssize_t __writev (int __fd, const struct iovec *__vector,
 			 int __count);
-extern ssize_t __libc_writev (int __fd, __const struct iovec *__vector,
+extern ssize_t __libc_writev (int __fd, const struct iovec *__vector,
 			      int __count);
 #endif
diff --git a/include/time.h b/include/time.h
index e896406db4..0bda094cb4 100644
--- a/include/time.h
+++ b/include/time.h
@@ -57,10 +57,10 @@ extern time_t __mktime_internal (struct tm *__tp,
 				 struct tm *(*__func) (const time_t *,
 						       struct tm *),
 				 time_t *__offset);
-extern struct tm *__localtime_r (__const time_t *__timer,
+extern struct tm *__localtime_r (const time_t *__timer,
 				 struct tm *__tp) attribute_hidden;
 
-extern struct tm *__gmtime_r (__const time_t *__restrict __timer,
+extern struct tm *__gmtime_r (const time_t *__restrict __timer,
 			      struct tm *__restrict __tp);
 libc_hidden_proto (__gmtime_r)
 
@@ -68,11 +68,11 @@ libc_hidden_proto (__gmtime_r)
    offset OFFSET seconds east of UTC,
    and store year, yday, mon, mday, wday, hour, min, sec into *TP.
    Return nonzero if successful.  */
-extern int __offtime (__const time_t *__timer,
+extern int __offtime (const time_t *__timer,
 		      long int __offset,
 		      struct tm *__tp);
 
-extern char *__asctime_r (__const struct tm *__tp, char *__buf);
+extern char *__asctime_r (const struct tm *__tp, char *__buf);
 extern void __tzset (void);
 
 /* Prototype for the internal function to get information based on TZ.  */
@@ -82,13 +82,13 @@ extern struct tm *__tz_convert (const time_t *timer, int use_localtime, struct t
    This is what `sysconf (_SC_TZNAME_MAX)' does.  */
 extern long int __tzname_max (void);
 
-extern int __nanosleep (__const struct timespec *__requested_time,
+extern int __nanosleep (const struct timespec *__requested_time,
 			struct timespec *__remaining);
 libc_hidden_proto (__nanosleep)
-extern int __nanosleep_nocancel (__const struct timespec *__requested_time,
+extern int __nanosleep_nocancel (const struct timespec *__requested_time,
 				 struct timespec *__remaining)
   attribute_hidden;
-extern int __getdate_r (__const char *__string, struct tm *__resbufp);
+extern int __getdate_r (const char *__string, struct tm *__resbufp);
 
 
 /* Determine CLK_TCK value.  */
diff --git a/include/unistd.h b/include/unistd.h
index 3231943b02..4664dc2852 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -20,8 +20,8 @@ libc_hidden_proto (tcgetpgrp)
 libc_hidden_proto (readlinkat)
 
 /* Now define the internal interfaces.  */
-extern int __access (__const char *__name, int __type);
-extern int __euidaccess (__const char *__name, int __type);
+extern int __access (const char *__name, int __type);
+extern int __euidaccess (const char *__name, int __type);
 extern __off64_t __lseek64 (int __fd, __off64_t __offset, int __whence);
 extern __off_t __lseek (int __fd, __off_t __offset, int __whence);
 libc_hidden_proto (__lseek)
@@ -35,31 +35,31 @@ extern ssize_t __pread64 (int __fd, void *__buf, size_t __nbytes,
 			  __off64_t __offset);
 extern ssize_t __libc_pread64 (int __fd, void *__buf, size_t __nbytes,
 			       __off64_t __offset);
-extern ssize_t __pwrite (int __fd, __const void *__buf, size_t __n,
+extern ssize_t __pwrite (int __fd, const void *__buf, size_t __n,
 			 __off_t __offset);
-extern ssize_t __libc_pwrite (int __fd, __const void *__buf, size_t __n,
+extern ssize_t __libc_pwrite (int __fd, const void *__buf, size_t __n,
 			      __off_t __offset);
-extern ssize_t __pwrite64 (int __fd, __const void *__buf, size_t __n,
+extern ssize_t __pwrite64 (int __fd, const void *__buf, size_t __n,
 			   __off64_t __offset);
 libc_hidden_proto (__pwrite64)
-extern ssize_t __libc_pwrite64 (int __fd, __const void *__buf, size_t __n,
+extern ssize_t __libc_pwrite64 (int __fd, const void *__buf, size_t __n,
 				__off64_t __offset);
 extern ssize_t __libc_read (int __fd, void *__buf, size_t __n);
 libc_hidden_proto (__libc_read)
-extern ssize_t __libc_write (int __fd, __const void *__buf, size_t __n);
+extern ssize_t __libc_write (int __fd, const void *__buf, size_t __n);
 libc_hidden_proto (__libc_write)
 extern int __pipe (int __pipedes[2]);
 libc_hidden_proto (__pipe)
 extern int __pipe2 (int __pipedes[2], int __flags);
 extern unsigned int __sleep (unsigned int __seconds);
-extern int __chown (__const char *__file,
+extern int __chown (const char *__file,
 		    __uid_t __owner, __gid_t __group);
 libc_hidden_proto (__chown)
 extern int __fchown (int __fd,
 		     __uid_t __owner, __gid_t __group);
-extern int __lchown (__const char *__file, __uid_t __owner,
+extern int __lchown (const char *__file, __uid_t __owner,
 		     __gid_t __group);
-extern int __chdir (__const char *__path);
+extern int __chdir (const char *__path);
 extern int __fchdir (int __fd);
 extern char *__getcwd (char *__buf, size_t __size);
 extern int __rmdir (const char *__path);
@@ -72,7 +72,7 @@ extern int __execvpe (const char *file, char *const argv[],
    NULL, an array is allocated with `malloc'; the array is SIZE bytes long,
    unless SIZE <= 0, in which case it is as big as necessary.  */
 
-char *__canonicalize_directory_name_internal (__const char *__thisdir,
+char *__canonicalize_directory_name_internal (const char *__thisdir,
 					      char *__buf,
 					      size_t __size) attribute_hidden;
 
@@ -80,9 +80,9 @@ extern int __dup (int __fd);
 extern int __dup2 (int __fd, int __fd2);
 libc_hidden_proto (__dup2)
 libc_hidden_proto (dup3)
-extern int __execve (__const char *__path, char *__const __argv[],
-		     char *__const __envp[]);
-extern long int __pathconf (__const char *__path, int __name);
+extern int __execve (const char *__path, char *const __argv[],
+		     char *const __envp[]);
+extern long int __pathconf (const char *__path, int __name);
 extern long int __fpathconf (int __fd, int __name);
 extern long int __sysconf (int __name);
 libc_hidden_proto (__sysconf)
@@ -115,10 +115,10 @@ extern __pid_t __vfork (void);
 libc_hidden_proto (__vfork)
 extern int __ttyname_r (int __fd, char *__buf, size_t __buflen);
 extern int __isatty (int __fd);
-extern int __link (__const char *__from, __const char *__to);
-extern int __symlink (__const char *__from, __const char *__to);
-extern ssize_t __readlink (__const char *__path, char *__buf, size_t __len);
-extern int __unlink (__const char *__name);
+extern int __link (const char *__from, const char *__to);
+extern int __symlink (const char *__from, const char *__to);
+extern ssize_t __readlink (const char *__path, char *__buf, size_t __len);
+extern int __unlink (const char *__name);
 extern int __gethostname (char *__name, size_t __len);
 extern int __profil (unsigned short int *__sample_buffer, size_t __size,
 		     size_t __offset, unsigned int __scale);
@@ -129,7 +129,7 @@ libc_hidden_proto (__close)
 extern int __libc_close (int __fd);
 extern ssize_t __read (int __fd, void *__buf, size_t __nbytes);
 libc_hidden_proto (__read)
-extern ssize_t __write (int __fd, __const void *__buf, size_t __n);
+extern ssize_t __write (int __fd, const void *__buf, size_t __n);
 libc_hidden_proto (__write)
 extern __pid_t __fork (void);
 libc_hidden_proto (__fork)
diff --git a/include/utmp.h b/include/utmp.h
index 3a35c599e5..28207d1282 100644
--- a/include/utmp.h
+++ b/include/utmp.h
@@ -2,19 +2,18 @@
 #include <login/utmp.h>
 
 /* Now define the internal interfaces.  */
-extern void __updwtmp (__const char *__wtmp_file,
-		       __const struct utmp *__utmp);
-extern int __utmpname (__const char *__file);
+extern void __updwtmp (const char *__wtmp_file, const struct utmp *__utmp);
+extern int __utmpname (const char *__file);
 extern struct utmp *__getutent (void);
 extern void __setutent (void);
 extern void __endutent (void);
-extern struct utmp *__getutid (__const struct utmp *__id);
-extern struct utmp *__getutline (__const struct utmp *__line);
-extern struct utmp *__pututline (__const struct utmp *__utmp_ptr);
+extern struct utmp *__getutid (const struct utmp *__id);
+extern struct utmp *__getutline (const struct utmp *__line);
+extern struct utmp *__pututline (const struct utmp *__utmp_ptr);
 extern int __getutent_r (struct utmp *__buffer, struct utmp **__result);
-extern int __getutid_r (__const struct utmp *__id, struct utmp *__buffer,
+extern int __getutid_r (const struct utmp *__id, struct utmp *__buffer,
 			struct utmp **__result);
-extern int __getutline_r (__const struct utmp *__line,
+extern int __getutline_r (const struct utmp *__line,
 			  struct utmp *__buffer, struct utmp **__result);
 
 libutil_hidden_proto (login_tty)
diff --git a/include/wchar.h b/include/wchar.h
index 3afe0b6e2e..d2f9e0d166 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -25,27 +25,27 @@ libc_hidden_proto (__wcstold_l)
 libc_hidden_proto (__wcsftime_l)
 
 
-extern double __wcstod_internal (__const wchar_t *__restrict __nptr,
+extern double __wcstod_internal (const wchar_t *__restrict __nptr,
 				 wchar_t **__restrict __endptr, int __group)
      __THROW;
-extern float __wcstof_internal (__const wchar_t *__restrict __nptr,
+extern float __wcstof_internal (const wchar_t *__restrict __nptr,
 				wchar_t **__restrict __endptr, int __group)
      __THROW;
-extern long double __wcstold_internal (__const wchar_t *__restrict __nptr,
+extern long double __wcstold_internal (const wchar_t *__restrict __nptr,
 				       wchar_t **__restrict __endptr,
 				       int __group) __THROW;
-extern long int __wcstol_internal (__const wchar_t *__restrict __nptr,
+extern long int __wcstol_internal (const wchar_t *__restrict __nptr,
 				   wchar_t **__restrict __endptr,
 				   int __base, int __group) __THROW;
-extern unsigned long int __wcstoul_internal (__const wchar_t *__restrict __npt,
+extern unsigned long int __wcstoul_internal (const wchar_t *__restrict __npt,
 					     wchar_t **__restrict __endptr,
 					     int __base, int __group) __THROW;
 __extension__
-extern long long int __wcstoll_internal (__const wchar_t *__restrict __nptr,
+extern long long int __wcstoll_internal (const wchar_t *__restrict __nptr,
 					 wchar_t **__restrict __endptr,
 					 int __base, int __group) __THROW;
 __extension__
-extern unsigned long long int __wcstoull_internal (__const wchar_t *
+extern unsigned long long int __wcstoull_internal (const wchar_t *
 						   __restrict __nptr,
 						   wchar_t **
 						   __restrict __endptr,
@@ -91,65 +91,65 @@ libc_hidden_proto (wmemchr)
 libc_hidden_proto (wmemset)
 
 /* Now define the internal interfaces.  */
-extern int __wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2)
+extern int __wcscasecmp (const wchar_t *__s1, const wchar_t *__s2)
      __attribute_pure__;
-extern int __wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
+extern int __wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
 			  size_t __n)
      __attribute_pure__;
-extern size_t __wcslen (__const wchar_t *__s) __attribute_pure__;
-extern size_t __wcsnlen (__const wchar_t *__s, size_t __maxlen)
+extern size_t __wcslen (const wchar_t *__s) __attribute_pure__;
+extern size_t __wcsnlen (const wchar_t *__s, size_t __maxlen)
      __attribute_pure__;
 extern wchar_t *__wcscat (wchar_t *dest, const wchar_t *src);
 extern wint_t __btowc (int __c);
-extern int __mbsinit (__const __mbstate_t *__ps);
+extern int __mbsinit (const __mbstate_t *__ps);
 extern size_t __mbrtowc (wchar_t *__restrict __pwc,
-			 __const char *__restrict __s, size_t __n,
+			 const char *__restrict __s, size_t __n,
 			 __mbstate_t *__restrict __p);
 libc_hidden_proto (__mbrtowc)
 libc_hidden_proto (__mbrlen)
 extern size_t __wcrtomb (char *__restrict __s, wchar_t __wc,
 			 __mbstate_t *__restrict __ps);
 extern size_t __mbsrtowcs (wchar_t *__restrict __dst,
-			   __const char **__restrict __src,
+			   const char **__restrict __src,
 			   size_t __len, __mbstate_t *__restrict __ps);
 extern size_t __wcsrtombs (char *__restrict __dst,
-			   __const wchar_t **__restrict __src,
+			   const wchar_t **__restrict __src,
 			   size_t __len, __mbstate_t *__restrict __ps);
 extern size_t __mbsnrtowcs (wchar_t *__restrict __dst,
-			    __const char **__restrict __src, size_t __nmc,
+			    const char **__restrict __src, size_t __nmc,
 			    size_t __len, __mbstate_t *__restrict __ps);
 extern size_t __wcsnrtombs (char *__restrict __dst,
-			    __const wchar_t **__restrict __src,
+			    const wchar_t **__restrict __src,
 			    size_t __nwc, size_t __len,
 			    __mbstate_t *__restrict __ps);
 extern wchar_t *__wcsncpy (wchar_t *__restrict __dest,
-			 __const wchar_t *__restrict __src, size_t __n);
-extern wchar_t *__wcpcpy (wchar_t *__dest, __const wchar_t *__src);
-extern wchar_t *__wcpncpy (wchar_t *__dest, __const wchar_t *__src,
+			   const wchar_t *__restrict __src, size_t __n);
+extern wchar_t *__wcpcpy (wchar_t *__dest, const wchar_t *__src);
+extern wchar_t *__wcpncpy (wchar_t *__dest, const wchar_t *__src,
 			   size_t __n);
-extern wchar_t *__wmemcpy (wchar_t *__s1, __const wchar_t *s2,
+extern wchar_t *__wmemcpy (wchar_t *__s1, const wchar_t *s2,
 			   size_t __n);
 extern wchar_t *__wmempcpy (wchar_t *__restrict __s1,
-			    __const wchar_t *__restrict __s2,
+			    const wchar_t *__restrict __s2,
 			    size_t __n);
-extern wchar_t *__wmemmove (wchar_t *__s1, __const wchar_t *__s2,
+extern wchar_t *__wmemmove (wchar_t *__s1, const wchar_t *__s2,
 			    size_t __n);
-extern wchar_t *__wcschrnul (__const wchar_t *__s, wchar_t __wc)
+extern wchar_t *__wcschrnul (const wchar_t *__s, wchar_t __wc)
      __attribute_pure__;
 
 extern int __vfwscanf (__FILE *__restrict __s,
-		       __const wchar_t *__restrict __format,
+		       const wchar_t *__restrict __format,
 		       __gnuc_va_list __arg)
      /* __attribute__ ((__format__ (__wscanf__, 2, 0)) */;
 extern int __vswprintf (wchar_t *__restrict __s, size_t __n,
-			__const wchar_t *__restrict __format,
+			const wchar_t *__restrict __format,
 			__gnuc_va_list __arg)
      /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
 extern int __fwprintf (__FILE *__restrict __s,
-		       __const wchar_t *__restrict __format, ...)
+		       const wchar_t *__restrict __format, ...)
      /* __attribute__ ((__format__ (__wprintf__, 2, 3))) */;
 extern int __vfwprintf (__FILE *__restrict __s,
-			__const wchar_t *__restrict __format,
+			const wchar_t *__restrict __format,
 			__gnuc_va_list __arg)
      /* __attribute__ ((__format__ (__wprintf__, 2, 0))) */;
 #ifndef __cplusplus
@@ -159,7 +159,7 @@ extern int __vfwprintf_chk (FILE *__restrict __s, int __flag,
      /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
 extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
 			    int __flag, size_t __s_len,
-			    __const wchar_t *__restrict __format,
+			    const wchar_t *__restrict __format,
 			    __gnuc_va_list __arg)
      /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */;
 libc_hidden_proto (__vfwprintf_chk)
@@ -167,18 +167,18 @@ libc_hidden_proto (__vswprintf_chk)
 #endif
 
 extern int __isoc99_fwscanf (__FILE *__restrict __stream,
-			     __const wchar_t *__restrict __format, ...);
-extern int __isoc99_wscanf (__const wchar_t *__restrict __format, ...);
-extern int __isoc99_swscanf (__const wchar_t *__restrict __s,
-			     __const wchar_t *__restrict __format, ...)
+			     const wchar_t *__restrict __format, ...);
+extern int __isoc99_wscanf (const wchar_t *__restrict __format, ...);
+extern int __isoc99_swscanf (const wchar_t *__restrict __s,
+			     const wchar_t *__restrict __format, ...)
      __THROW;
 extern int __isoc99_vfwscanf (__FILE *__restrict __s,
-			      __const wchar_t *__restrict __format,
+			      const wchar_t *__restrict __format,
 			      __gnuc_va_list __arg);
-extern int __isoc99_vwscanf (__const wchar_t *__restrict __format,
+extern int __isoc99_vwscanf (const wchar_t *__restrict __format,
 			     __gnuc_va_list __arg);
-extern int __isoc99_vswscanf (__const wchar_t *__restrict __s,
-			      __const wchar_t *__restrict __format,
+extern int __isoc99_vswscanf (const wchar_t *__restrict __s,
+			      const wchar_t *__restrict __format,
 			      __gnuc_va_list __arg) __THROW;
 libc_hidden_proto (__isoc99_vswscanf)
 libc_hidden_proto (__isoc99_vfwscanf)
diff --git a/include/wctype.h b/include/wctype.h
index 2828c3ad3d..9833f958dd 100644
--- a/include/wctype.h
+++ b/include/wctype.h
@@ -48,7 +48,7 @@ extern int __iswxdigit_l_internal (wint_t __wc, __locale_t __locale)
 extern int __iswspace (wint_t __wc);
 extern int __iswctype (wint_t __wc, wctype_t __desc);
 extern int __iswctype_internal (wint_t __wc, wctype_t __desc) attribute_hidden;
-extern wctype_t __wctype (__const char *__property);
+extern wctype_t __wctype (const char *__property);
 extern wctrans_t __wctrans (const char *__property);
 extern wint_t __towctrans (wint_t __wc, wctrans_t __desc);
 
diff --git a/inet/aliases.h b/inet/aliases.h
index 58dd8f0fc5..073b1ada2a 100644
--- a/inet/aliases.h
+++ b/inet/aliases.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 2012 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
@@ -51,10 +51,10 @@ extern int getaliasent_r (struct aliasent *__restrict __result_buf,
 			  struct aliasent **__restrict __result) __THROW;
 
 /* Get alias entry corresponding to NAME.  */
-extern struct aliasent *getaliasbyname (__const char *__name) __THROW;
+extern struct aliasent *getaliasbyname (const char *__name) __THROW;
 
 /* Get alias entry corresponding to NAME and put it in RESULT_BUF.  */
-extern int getaliasbyname_r (__const char *__restrict __name,
+extern int getaliasbyname_r (const char *__restrict __name,
 			     struct aliasent *__restrict __result_buf,
 			     char *__restrict __buffer, size_t __buflen,
 			     struct aliasent **__restrict __result) __THROW;
diff --git a/inet/arpa/inet.h b/inet/arpa/inet.h
index 5b1154e6f8..0a0179faa2 100644
--- a/inet/arpa/inet.h
+++ b/inet/arpa/inet.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999-2001, 2004, 2012 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
@@ -32,7 +32,7 @@ __BEGIN_DECLS
 
 /* Convert Internet host address from numbers-and-dots notation in CP
    into binary data in network byte order.  */
-extern in_addr_t inet_addr (__const char *__cp) __THROW;
+extern in_addr_t inet_addr (const char *__cp) __THROW;
 
 /* Return the local host address part of the Internet address in IN.  */
 extern in_addr_t inet_lnaof (struct in_addr __in) __THROW;
@@ -47,7 +47,7 @@ extern in_addr_t inet_netof (struct in_addr __in) __THROW;
 
 /* Extract the network number in network byte order from the address
    in numbers-and-dots natation starting at CP.  */
-extern in_addr_t inet_network (__const char *__cp) __THROW;
+extern in_addr_t inet_network (const char *__cp) __THROW;
 
 /* Convert Internet number in IN to ASCII representation.  The return value
    is a pointer to an internal array containing the string.  */
@@ -56,14 +56,14 @@ extern char *inet_ntoa (struct in_addr __in) __THROW;
 /* Convert from presentation format of an Internet number in buffer
    starting at CP to the binary network format and store result for
    interface type AF in buffer starting at BUF.  */
-extern int inet_pton (int __af, __const char *__restrict __cp,
+extern int inet_pton (int __af, const char *__restrict __cp,
 		      void *__restrict __buf) __THROW;
 
 /* Convert a Internet address in binary network format for interface
    type AF in buffer starting at CP to presentation form and place
    result in buffer of length LEN astarting at BUF.  */
-extern __const char *inet_ntop (int __af, __const void *__restrict __cp,
-				char *__restrict __buf, socklen_t __len)
+extern const char *inet_ntop (int __af, const void *__restrict __cp,
+			      char *__restrict __buf, socklen_t __len)
      __THROW;
 
 
@@ -71,7 +71,7 @@ extern __const char *inet_ntop (int __af, __const void *__restrict __cp,
 #ifdef __USE_MISC
 /* Convert Internet host address from numbers-and-dots notation in CP
    into binary data and store the result in the structure INP.  */
-extern int inet_aton (__const char *__cp, struct in_addr *__inp) __THROW;
+extern int inet_aton (const char *__cp, struct in_addr *__inp) __THROW;
 
 /* Format a network number NET into presentation format and place result
    in buffer starting at BUF with length of LEN bytes.  */
@@ -80,24 +80,24 @@ extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __THROW;
 /* Convert network number for interface type AF in buffer starting at
    CP to presentation format.  The result will specifiy BITS bits of
    the number.  */
-extern char *inet_net_ntop (int __af, __const void *__cp, int __bits,
+extern char *inet_net_ntop (int __af, const void *__cp, int __bits,
 			    char *__buf, size_t __len) __THROW;
 
 /* Convert network number for interface type AF from presentation in
    buffer starting at CP to network format and store result int
    buffer starting at BUF of size LEN.  */
-extern int inet_net_pton (int __af, __const char *__cp,
+extern int inet_net_pton (int __af, const char *__cp,
 			  void *__buf, size_t __len) __THROW;
 
 /* Convert ASCII representation in hexadecimal form of the Internet
    address to binary form and place result in buffer of length LEN
    starting at BUF.  */
-extern unsigned int inet_nsap_addr (__const char *__cp,
+extern unsigned int inet_nsap_addr (const char *__cp,
 				    unsigned char *__buf, int __len) __THROW;
 
 /* Convert internet address in binary form in LEN bytes starting at CP
    a presentation form and place result in BUF.  */
-extern char *inet_nsap_ntoa (int __len, __const unsigned char *__cp,
+extern char *inet_nsap_ntoa (int __len, const unsigned char *__cp,
 			     char *__buf) __THROW;
 #endif
 
diff --git a/inet/netinet/ether.h b/inet/netinet/ether.h
index ca780e2d0c..0c2a9d9bbb 100644
--- a/inet/netinet/ether.h
+++ b/inet/netinet/ether.h
@@ -1,5 +1,5 @@
 /* Functions for storing Ethernet addresses in ASCII and mapping to hostnames.
-   Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 2012 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,25 +28,25 @@
 __BEGIN_DECLS
 
 /* Convert 48 bit Ethernet ADDRess to ASCII.  */
-extern char *ether_ntoa (__const struct ether_addr *__addr) __THROW;
-extern char *ether_ntoa_r (__const struct ether_addr *__addr, char *__buf)
+extern char *ether_ntoa (const struct ether_addr *__addr) __THROW;
+extern char *ether_ntoa_r (const struct ether_addr *__addr, char *__buf)
      __THROW;
 
 /* Convert ASCII string S to 48 bit Ethernet address.  */
-extern struct ether_addr *ether_aton (__const char *__asc) __THROW;
-extern struct ether_addr *ether_aton_r (__const char *__asc,
+extern struct ether_addr *ether_aton (const char *__asc) __THROW;
+extern struct ether_addr *ether_aton_r (const char *__asc,
 					struct ether_addr *__addr) __THROW;
 
 /* Map 48 bit Ethernet number ADDR to HOSTNAME.  */
-extern int ether_ntohost (char *__hostname, __const struct ether_addr *__addr)
+extern int ether_ntohost (char *__hostname, const struct ether_addr *__addr)
      __THROW;
 
 /* Map HOSTNAME to 48 bit Ethernet address.  */
-extern int ether_hostton (__const char *__hostname, struct ether_addr *__addr)
+extern int ether_hostton (const char *__hostname, struct ether_addr *__addr)
      __THROW;
 
 /* Scan LINE and set ADDR and HOSTNAME.  */
-extern int ether_line (__const char *__line, struct ether_addr *__addr,
+extern int ether_line (const char *__line, struct ether_addr *__addr,
 		       char *__hostname) __THROW;
 
 __END_DECLS
diff --git a/inet/netinet/in.h b/inet/netinet/in.h
index 2c2c1847a2..c975656683 100644
--- a/inet/netinet/in.h
+++ b/inet/netinet/in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2001, 2003, 2004, 2006, 2007, 2008, 2011
+/* Copyright (C) 1991-2001, 2003, 2004, 2006, 2007, 2008, 2011, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -399,7 +399,7 @@ extern uint16_t htons (uint16_t __hostshort)
 #ifdef __GNUC__
 # define IN6_IS_ADDR_UNSPECIFIED(a) \
   (__extension__							      \
-   ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a);	      \
+   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);	      \
       __a->s6_addr32[0] == 0						      \
       && __a->s6_addr32[1] == 0						      \
       && __a->s6_addr32[2] == 0						      \
@@ -407,7 +407,7 @@ extern uint16_t htons (uint16_t __hostshort)
 
 # define IN6_IS_ADDR_LOOPBACK(a) \
   (__extension__							      \
-   ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a);	      \
+   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);	      \
       __a->s6_addr32[0] == 0						      \
       && __a->s6_addr32[1] == 0						      \
       && __a->s6_addr32[2] == 0						      \
@@ -415,24 +415,24 @@ extern uint16_t htons (uint16_t __hostshort)
 
 # define IN6_IS_ADDR_LINKLOCAL(a) \
   (__extension__							      \
-   ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a);	      \
+   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);	      \
       (__a->s6_addr32[0] & htonl (0xffc00000)) == htonl (0xfe800000); }))
 
 # define IN6_IS_ADDR_SITELOCAL(a) \
   (__extension__							      \
-   ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a);	      \
+   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);	      \
       (__a->s6_addr32[0] & htonl (0xffc00000)) == htonl (0xfec00000); }))
 
 # define IN6_IS_ADDR_V4MAPPED(a) \
   (__extension__							      \
-   ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a);	      \
+   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);	      \
       __a->s6_addr32[0] == 0						      \
       && __a->s6_addr32[1] == 0						      \
       && __a->s6_addr32[2] == htonl (0xffff); }))
 
 # define IN6_IS_ADDR_V4COMPAT(a) \
   (__extension__							      \
-   ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a);	      \
+   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);	      \
       __a->s6_addr32[0] == 0						      \
       && __a->s6_addr32[1] == 0						      \
       && __a->s6_addr32[2] == 0						      \
@@ -440,52 +440,52 @@ extern uint16_t htons (uint16_t __hostshort)
 
 # define IN6_ARE_ADDR_EQUAL(a,b) \
   (__extension__							      \
-   ({ __const struct in6_addr *__a = (__const struct in6_addr *) (a);	      \
-      __const struct in6_addr *__b = (__const struct in6_addr *) (b);	      \
+   ({ const struct in6_addr *__a = (const struct in6_addr *) (a);	      \
+      const struct in6_addr *__b = (const struct in6_addr *) (b);	      \
       __a->s6_addr32[0] == __b->s6_addr32[0]				      \
       && __a->s6_addr32[1] == __b->s6_addr32[1]				      \
       && __a->s6_addr32[2] == __b->s6_addr32[2]				      \
       && __a->s6_addr32[3] == __b->s6_addr32[3]; }))
 #else
 # define IN6_IS_ADDR_UNSPECIFIED(a) \
-	(((__const uint32_t *) (a))[0] == 0				      \
-	 && ((__const uint32_t *) (a))[1] == 0				      \
-	 && ((__const uint32_t *) (a))[2] == 0				      \
-	 && ((__const uint32_t *) (a))[3] == 0)
+	(((const uint32_t *) (a))[0] == 0				      \
+	 && ((const uint32_t *) (a))[1] == 0				      \
+	 && ((const uint32_t *) (a))[2] == 0				      \
+	 && ((const uint32_t *) (a))[3] == 0)
 
 # define IN6_IS_ADDR_LOOPBACK(a) \
-	(((__const uint32_t *) (a))[0] == 0				      \
-	 && ((__const uint32_t *) (a))[1] == 0				      \
-	 && ((__const uint32_t *) (a))[2] == 0				      \
-	 && ((__const uint32_t *) (a))[3] == htonl (1))
+	(((const uint32_t *) (a))[0] == 0				      \
+	 && ((const uint32_t *) (a))[1] == 0				      \
+	 && ((const uint32_t *) (a))[2] == 0				      \
+	 && ((const uint32_t *) (a))[3] == htonl (1))
 
 # define IN6_IS_ADDR_LINKLOCAL(a) \
-	((((__const uint32_t *) (a))[0] & htonl (0xffc00000))		      \
+	((((const uint32_t *) (a))[0] & htonl (0xffc00000))		      \
 	 == htonl (0xfe800000))
 
 # define IN6_IS_ADDR_SITELOCAL(a) \
-	((((__const uint32_t *) (a))[0] & htonl (0xffc00000))		      \
+	((((const uint32_t *) (a))[0] & htonl (0xffc00000))		      \
 	 == htonl (0xfec00000))
 
 # define IN6_IS_ADDR_V4MAPPED(a) \
-	((((__const uint32_t *) (a))[0] == 0)				      \
-	 && (((__const uint32_t *) (a))[1] == 0)			      \
-	 && (((__const uint32_t *) (a))[2] == htonl (0xffff)))
+	((((const uint32_t *) (a))[0] == 0)				      \
+	 && (((const uint32_t *) (a))[1] == 0)				      \
+	 && (((const uint32_t *) (a))[2] == htonl (0xffff)))
 
 # define IN6_IS_ADDR_V4COMPAT(a) \
-	((((__const uint32_t *) (a))[0] == 0)				      \
-	 && (((__const uint32_t *) (a))[1] == 0)			      \
-	 && (((__const uint32_t *) (a))[2] == 0)			      \
-	 && (ntohl (((__const uint32_t *) (a))[3]) > 1))
+	((((const uint32_t *) (a))[0] == 0)				      \
+	 && (((const uint32_t *) (a))[1] == 0)				      \
+	 && (((const uint32_t *) (a))[2] == 0)				      \
+	 && (ntohl (((const uint32_t *) (a))[3]) > 1))
 
 # define IN6_ARE_ADDR_EQUAL(a,b) \
-	((((__const uint32_t *) (a))[0] == ((__const uint32_t *) (b))[0])     \
-	 && (((__const uint32_t *) (a))[1] == ((__const uint32_t *) (b))[1])  \
-	 && (((__const uint32_t *) (a))[2] == ((__const uint32_t *) (b))[2])  \
-	 && (((__const uint32_t *) (a))[3] == ((__const uint32_t *) (b))[3]))
+	((((const uint32_t *) (a))[0] == ((const uint32_t *) (b))[0])	      \
+	 && (((const uint32_t *) (a))[1] == ((const uint32_t *) (b))[1])      \
+	 && (((const uint32_t *) (a))[2] == ((const uint32_t *) (b))[2])      \
+	 && (((const uint32_t *) (a))[3] == ((const uint32_t *) (b))[3]))
 #endif
 
-#define IN6_IS_ADDR_MULTICAST(a) (((__const uint8_t *) (a))[0] == 0xff)
+#define IN6_IS_ADDR_MULTICAST(a) (((const uint8_t *) (a))[0] == 0xff)
 
 #if defined __USE_MISC || defined __USE_GNU
 /* Bind socket to a privileged IP port.  */
@@ -499,23 +499,23 @@ extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in)
 
 #define IN6_IS_ADDR_MC_NODELOCAL(a) \
 	(IN6_IS_ADDR_MULTICAST(a)					      \
-	 && ((((__const uint8_t *) (a))[1] & 0xf) == 0x1))
+	 && ((((const uint8_t *) (a))[1] & 0xf) == 0x1))
 
 #define IN6_IS_ADDR_MC_LINKLOCAL(a) \
 	(IN6_IS_ADDR_MULTICAST(a)					      \
-	 && ((((__const uint8_t *) (a))[1] & 0xf) == 0x2))
+	 && ((((const uint8_t *) (a))[1] & 0xf) == 0x2))
 
 #define IN6_IS_ADDR_MC_SITELOCAL(a) \
 	(IN6_IS_ADDR_MULTICAST(a)					      \
-	 && ((((__const uint8_t *) (a))[1] & 0xf) == 0x5))
+	 && ((((const uint8_t *) (a))[1] & 0xf) == 0x5))
 
 #define IN6_IS_ADDR_MC_ORGLOCAL(a) \
 	(IN6_IS_ADDR_MULTICAST(a)					      \
-	 && ((((__const uint8_t *) (a))[1] & 0xf) == 0x8))
+	 && ((((const uint8_t *) (a))[1] & 0xf) == 0x8))
 
 #define IN6_IS_ADDR_MC_GLOBAL(a) \
 	(IN6_IS_ADDR_MULTICAST(a)					      \
-	 && ((((__const uint8_t *) (a))[1] & 0xf) == 0xe))
+	 && ((((const uint8_t *) (a))[1] & 0xf) == 0xe))
 
 
 #ifdef __USE_GNU
@@ -540,15 +540,15 @@ extern int inet6_option_space (int __nbytes)
 extern int inet6_option_init (void *__bp, struct cmsghdr **__cmsgp,
 			      int __type) __THROW __attribute_deprecated__;
 extern int inet6_option_append (struct cmsghdr *__cmsg,
-				__const uint8_t *__typep, int __multx,
+				const uint8_t *__typep, int __multx,
 				int __plusy) __THROW __attribute_deprecated__;
 extern uint8_t *inet6_option_alloc (struct cmsghdr *__cmsg, int __datalen,
 				    int __multx, int __plusy)
      __THROW __attribute_deprecated__;
-extern int inet6_option_next (__const struct cmsghdr *__cmsg,
+extern int inet6_option_next (const struct cmsghdr *__cmsg,
 			      uint8_t **__tptrp)
      __THROW __attribute_deprecated__;
-extern int inet6_option_find (__const struct cmsghdr *__cmsg,
+extern int inet6_option_find (const struct cmsghdr *__cmsg,
 			      uint8_t **__tptrp, int __type)
      __THROW __attribute_deprecated__;
 
@@ -576,10 +576,10 @@ extern int inet6_opt_get_val (void *__databuf, int __offset, void *__val,
 extern socklen_t inet6_rth_space (int __type, int __segments) __THROW;
 extern void *inet6_rth_init (void *__bp, socklen_t __bp_len, int __type,
 			     int __segments) __THROW;
-extern int inet6_rth_add (void *__bp, __const struct in6_addr *__addr) __THROW;
-extern int inet6_rth_reverse (__const void *__in, void *__out) __THROW;
-extern int inet6_rth_segments (__const void *__bp) __THROW;
-extern struct in6_addr *inet6_rth_getaddr (__const void *__bp, int __index)
+extern int inet6_rth_add (void *__bp, const struct in6_addr *__addr) __THROW;
+extern int inet6_rth_reverse (const void *__in, void *__out) __THROW;
+extern int inet6_rth_segments (const void *__bp) __THROW;
+extern struct in6_addr *inet6_rth_getaddr (const void *__bp, int __index)
      __THROW;
 
 
@@ -595,23 +595,23 @@ extern int getipv4sourcefilter (int __s, struct in_addr __interface_addr,
 extern int setipv4sourcefilter (int __s, struct in_addr __interface_addr,
 				struct in_addr __group, uint32_t __fmode,
 				uint32_t __numsrc,
-				__const struct in_addr *__slist)
+				const struct in_addr *__slist)
      __THROW;
 
 
 /* Get source filter.  */
 extern int getsourcefilter (int __s, uint32_t __interface_addr,
-			    __const struct sockaddr *__group,
+			    const struct sockaddr *__group,
 			    socklen_t __grouplen, uint32_t *__fmode,
 			    uint32_t *__numsrc,
 			    struct sockaddr_storage *__slist) __THROW;
 
 /* Set source filter.  */
 extern int setsourcefilter (int __s, uint32_t __interface_addr,
-			    __const struct sockaddr *__group,
+			    const struct sockaddr *__group,
 			    socklen_t __grouplen, uint32_t __fmode,
 			    uint32_t __numsrc,
-			    __const struct sockaddr_storage *__slist) __THROW;
+			    const struct sockaddr_storage *__slist) __THROW;
 #endif	/* use GNU */
 
 __END_DECLS
diff --git a/intl/libintl.h b/intl/libintl.h
index 544dec3533..8f3018926c 100644
--- a/intl/libintl.h
+++ b/intl/libintl.h
@@ -1,5 +1,5 @@
 /* Message catalogs for internationalization.
-   Copyright (C) 1995-2002, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1995-2002, 2004, 2005, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is derived from the file libgettext.h in the GNU gettext package.
 
@@ -37,42 +37,42 @@ __BEGIN_DECLS
 /* Look up MSGID in the current default message catalog for the current
    LC_MESSAGES locale.  If not found, returns MSGID itself (the default
    text).  */
-extern char *gettext (__const char *__msgid)
+extern char *gettext (const char *__msgid)
      __THROW __attribute_format_arg__ (1);
 
 /* Look up MSGID in the DOMAINNAME message catalog for the current
    LC_MESSAGES locale.  */
-extern char *dgettext (__const char *__domainname, __const char *__msgid)
+extern char *dgettext (const char *__domainname, const char *__msgid)
      __THROW __attribute_format_arg__ (2);
-extern char *__dgettext (__const char *__domainname, __const char *__msgid)
+extern char *__dgettext (const char *__domainname, const char *__msgid)
      __THROW __attribute_format_arg__ (2);
 
 /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
    locale.  */
-extern char *dcgettext (__const char *__domainname,
-			__const char *__msgid, int __category)
+extern char *dcgettext (const char *__domainname,
+			const char *__msgid, int __category)
      __THROW __attribute_format_arg__ (2);
-extern char *__dcgettext (__const char *__domainname,
-			  __const char *__msgid, int __category)
+extern char *__dcgettext (const char *__domainname,
+			  const char *__msgid, int __category)
      __THROW __attribute_format_arg__ (2);
 
 
 /* Similar to `gettext' but select the plural form corresponding to the
    number N.  */
-extern char *ngettext (__const char *__msgid1, __const char *__msgid2,
+extern char *ngettext (const char *__msgid1, const char *__msgid2,
 		       unsigned long int __n)
      __THROW __attribute_format_arg__ (1) __attribute_format_arg__ (2);
 
 /* Similar to `dgettext' but select the plural form corresponding to the
    number N.  */
-extern char *dngettext (__const char *__domainname, __const char *__msgid1,
-			__const char *__msgid2, unsigned long int __n)
+extern char *dngettext (const char *__domainname, const char *__msgid1,
+			const char *__msgid2, unsigned long int __n)
      __THROW __attribute_format_arg__ (2) __attribute_format_arg__ (3);
 
 /* Similar to `dcgettext' but select the plural form corresponding to the
    number N.  */
-extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
-			 __const char *__msgid2, unsigned long int __n,
+extern char *dcngettext (const char *__domainname, const char *__msgid1,
+			 const char *__msgid2, unsigned long int __n,
 			 int __category)
      __THROW __attribute_format_arg__ (2) __attribute_format_arg__ (3);
 
@@ -80,17 +80,17 @@ extern char *dcngettext (__const char *__domainname, __const char *__msgid1,
 /* Set the current default message catalog to DOMAINNAME.
    If DOMAINNAME is null, return the current default.
    If DOMAINNAME is "", reset to the default of "messages".  */
-extern char *textdomain (__const char *__domainname) __THROW;
+extern char *textdomain (const char *__domainname) __THROW;
 
 /* Specify that the DOMAINNAME message catalog will be found
    in DIRNAME rather than in the system locale data base.  */
-extern char *bindtextdomain (__const char *__domainname,
-			     __const char *__dirname) __THROW;
+extern char *bindtextdomain (const char *__domainname,
+			     const char *__dirname) __THROW;
 
 /* Specify the character encoding in which the messages from the
    DOMAINNAME message catalog will be returned.  */
-extern char *bind_textdomain_codeset (__const char *__domainname,
-				      __const char *__codeset) __THROW;
+extern char *bind_textdomain_codeset (const char *__domainname,
+				      const char *__codeset) __THROW;
 
 
 /* Optimized version of the function above.  */
diff --git a/io/bits/fcntl2.h b/io/bits/fcntl2.h
index fbe85852cc..715d96a57b 100644
--- a/io/bits/fcntl2.h
+++ b/io/bits/fcntl2.h
@@ -1,5 +1,5 @@
 /* Checking macros for fcntl functions.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -24,13 +24,13 @@
 /* Check that calls to open and openat with O_CREAT set have an
    appropriate third/fourth parameter.  */
 #ifndef __USE_FILE_OFFSET64
-extern int __open_2 (__const char *__path, int __oflag) __nonnull ((1));
-extern int __REDIRECT (__open_alias, (__const char *__path, int __oflag, ...),
+extern int __open_2 (const char *__path, int __oflag) __nonnull ((1));
+extern int __REDIRECT (__open_alias, (const char *__path, int __oflag, ...),
 		       open) __nonnull ((1));
 #else
-extern int __REDIRECT (__open_2, (__const char *__path, int __oflag),
+extern int __REDIRECT (__open_2, (const char *__path, int __oflag),
 		       __open64_2) __nonnull ((1));
-extern int __REDIRECT (__open_alias, (__const char *__path, int __oflag, ...),
+extern int __REDIRECT (__open_alias, (const char *__path, int __oflag, ...),
 		       open64) __nonnull ((1));
 #endif
 __errordecl (__open_too_many_args,
@@ -39,7 +39,7 @@ __errordecl (__open_missing_mode,
 	     "open with O_CREAT in second argument needs 3 arguments");
 
 __extern_always_inline int
-open (__const char *__path, int __oflag, ...)
+open (const char *__path, int __oflag, ...)
 {
   if (__va_arg_pack_len () > 1)
     __open_too_many_args ();
@@ -62,8 +62,8 @@ open (__const char *__path, int __oflag, ...)
 
 
 #ifdef __USE_LARGEFILE64
-extern int __open64_2 (__const char *__path, int __oflag) __nonnull ((1));
-extern int __REDIRECT (__open64_alias, (__const char *__path, int __oflag,
+extern int __open64_2 (const char *__path, int __oflag) __nonnull ((1));
+extern int __REDIRECT (__open64_alias, (const char *__path, int __oflag,
 					...), open64) __nonnull ((1));
 __errordecl (__open64_too_many_args,
 	     "open64 can be called either with 2 or 3 arguments, not more");
@@ -71,7 +71,7 @@ __errordecl (__open64_missing_mode,
 	     "open64 with O_CREAT in second argument needs 3 arguments");
 
 __extern_always_inline int
-open64 (__const char *__path, int __oflag, ...)
+open64 (const char *__path, int __oflag, ...)
 {
   if (__va_arg_pack_len () > 1)
     __open64_too_many_args ();
@@ -96,16 +96,16 @@ open64 (__const char *__path, int __oflag, ...)
 
 #ifdef __USE_ATFILE
 # ifndef __USE_FILE_OFFSET64
-extern int __openat_2 (int __fd, __const char *__path, int __oflag)
+extern int __openat_2 (int __fd, const char *__path, int __oflag)
      __nonnull ((2));
-extern int __REDIRECT (__openat_alias, (int __fd, __const char *__path,
+extern int __REDIRECT (__openat_alias, (int __fd, const char *__path,
 					int __oflag, ...), openat)
      __nonnull ((2));
 # else
-extern int __REDIRECT (__openat_2, (int __fd, __const char *__path,
+extern int __REDIRECT (__openat_2, (int __fd, const char *__path,
 				    int __oflag), __openat64_2)
      __nonnull ((2));
-extern int __REDIRECT (__openat_alias, (int __fd, __const char *__path,
+extern int __REDIRECT (__openat_alias, (int __fd, const char *__path,
 					int __oflag, ...), openat64)
      __nonnull ((2));
 # endif
@@ -115,7 +115,7 @@ __errordecl (__openat_missing_mode,
 	     "openat with O_CREAT in third argument needs 4 arguments");
 
 __extern_always_inline int
-openat (int __fd, __const char *__path, int __oflag, ...)
+openat (int __fd, const char *__path, int __oflag, ...)
 {
   if (__va_arg_pack_len () > 1)
     __openat_too_many_args ();
@@ -138,9 +138,9 @@ openat (int __fd, __const char *__path, int __oflag, ...)
 
 
 # ifdef __USE_LARGEFILE64
-extern int __openat64_2 (int __fd, __const char *__path, int __oflag)
+extern int __openat64_2 (int __fd, const char *__path, int __oflag)
      __nonnull ((2));
-extern int __REDIRECT (__openat64_alias, (int __fd, __const char *__path,
+extern int __REDIRECT (__openat64_alias, (int __fd, const char *__path,
 					  int __oflag, ...), openat64)
      __nonnull ((2));
 __errordecl (__openat64_too_many_args,
@@ -149,7 +149,7 @@ __errordecl (__openat64_missing_mode,
 	     "openat64 with O_CREAT in third argument needs 4 arguments");
 
 __extern_always_inline int
-openat64 (int __fd, __const char *__path, int __oflag, ...)
+openat64 (int __fd, const char *__path, int __oflag, ...)
 {
   if (__va_arg_pack_len () > 1)
     __openat64_too_many_args ();
diff --git a/io/fcntl.h b/io/fcntl.h
index c582a9e6f2..edfbb545dc 100644
--- a/io/fcntl.h
+++ b/io/fcntl.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1994-2001,2003,2004,2005,2006,2007,2009,2010,2011
+/* Copyright (C) 1991,1992,1994-2001,2003-2007,2009-2011,2012
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -131,17 +131,17 @@ extern int fcntl (int __fd, int __cmd, ...);
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 #ifndef __USE_FILE_OFFSET64
-extern int open (__const char *__file, int __oflag, ...) __nonnull ((1));
+extern int open (const char *__file, int __oflag, ...) __nonnull ((1));
 #else
 # ifdef __REDIRECT
-extern int __REDIRECT (open, (__const char *__file, int __oflag, ...), open64)
+extern int __REDIRECT (open, (const char *__file, int __oflag, ...), open64)
      __nonnull ((1));
 # else
 #  define open open64
 # endif
 #endif
 #ifdef __USE_LARGEFILE64
-extern int open64 (__const char *__file, int __oflag, ...) __nonnull ((1));
+extern int open64 (const char *__file, int __oflag, ...) __nonnull ((1));
 #endif
 
 #ifdef __USE_ATFILE
@@ -155,18 +155,18 @@ extern int open64 (__const char *__file, int __oflag, ...) __nonnull ((1));
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 # ifndef __USE_FILE_OFFSET64
-extern int openat (int __fd, __const char *__file, int __oflag, ...)
+extern int openat (int __fd, const char *__file, int __oflag, ...)
      __nonnull ((2));
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (openat, (int __fd, __const char *__file, int __oflag,
+extern int __REDIRECT (openat, (int __fd, const char *__file, int __oflag,
 				...), openat64) __nonnull ((2));
 #  else
 #   define openat openat64
 #  endif
 # endif
 # ifdef __USE_LARGEFILE64
-extern int openat64 (int __fd, __const char *__file, int __oflag, ...)
+extern int openat64 (int __fd, const char *__file, int __oflag, ...)
      __nonnull ((2));
 # endif
 #endif
@@ -177,17 +177,17 @@ extern int openat64 (int __fd, __const char *__file, int __oflag, ...)
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 #ifndef __USE_FILE_OFFSET64
-extern int creat (__const char *__file, __mode_t __mode) __nonnull ((1));
+extern int creat (const char *__file, __mode_t __mode) __nonnull ((1));
 #else
 # ifdef __REDIRECT
-extern int __REDIRECT (creat, (__const char *__file, __mode_t __mode),
+extern int __REDIRECT (creat, (const char *__file, __mode_t __mode),
 		       creat64) __nonnull ((1));
 # else
 #  define creat creat64
 # endif
 #endif
 #ifdef __USE_LARGEFILE64
-extern int creat64 (__const char *__file, __mode_t __mode) __nonnull ((1));
+extern int creat64 (const char *__file, __mode_t __mode) __nonnull ((1));
 #endif
 
 #if !defined F_LOCK && (defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \
diff --git a/io/ftw.h b/io/ftw.h
index 4bdff88c6f..e4c4884144 100644
--- a/io/ftw.h
+++ b/io/ftw.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992,1996-1999,2003,2004 Free Software Foundation, Inc.
+/* Copyright (C) 1992,1996-1999,2003,2004,2012 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
@@ -112,19 +112,19 @@ struct FTW
 
 
 /* Convenient types for callback functions.  */
-typedef int (*__ftw_func_t) (__const char *__filename,
-			     __const struct stat *__status, int __flag);
+typedef int (*__ftw_func_t) (const char *__filename,
+			     const struct stat *__status, int __flag);
 #ifdef __USE_LARGEFILE64
-typedef int (*__ftw64_func_t) (__const char *__filename,
-			       __const struct stat64 *__status, int __flag);
+typedef int (*__ftw64_func_t) (const char *__filename,
+			       const struct stat64 *__status, int __flag);
 #endif
 #ifdef __USE_XOPEN_EXTENDED
-typedef int (*__nftw_func_t) (__const char *__filename,
-			      __const struct stat *__status, int __flag,
+typedef int (*__nftw_func_t) (const char *__filename,
+			      const struct stat *__status, int __flag,
 			      struct FTW *__info);
 # ifdef __USE_LARGEFILE64
-typedef int (*__nftw64_func_t) (__const char *__filename,
-				__const struct stat64 *__status,
+typedef int (*__nftw64_func_t) (const char *__filename,
+				const struct stat64 *__status,
 				int __flag, struct FTW *__info);
 # endif
 #endif
@@ -134,18 +134,18 @@ typedef int (*__nftw64_func_t) (__const char *__filename,
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
 #ifndef __USE_FILE_OFFSET64
-extern int ftw (__const char *__dir, __ftw_func_t __func, int __descriptors)
+extern int ftw (const char *__dir, __ftw_func_t __func, int __descriptors)
      __nonnull ((1, 2));
 #else
 # ifdef __REDIRECT
-extern int __REDIRECT (ftw, (__const char *__dir, __ftw_func_t __func,
+extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
 			     int __descriptors), ftw64) __nonnull ((1, 2));
 # else
 #  define ftw ftw64
 # endif
 #endif
 #ifdef __USE_LARGEFILE64
-extern int ftw64 (__const char *__dir, __ftw64_func_t __func,
+extern int ftw64 (const char *__dir, __ftw64_func_t __func,
 		  int __descriptors) __nonnull ((1, 2));
 #endif
 
@@ -156,11 +156,11 @@ extern int ftw64 (__const char *__dir, __ftw64_func_t __func,
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
 # ifndef __USE_FILE_OFFSET64
-extern int nftw (__const char *__dir, __nftw_func_t __func, int __descriptors,
+extern int nftw (const char *__dir, __nftw_func_t __func, int __descriptors,
 		 int __flag) __nonnull ((1, 2));
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (nftw, (__const char *__dir, __nftw_func_t __func,
+extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
 			      int __descriptors, int __flag), nftw64)
      __nonnull ((1, 2));
 #  else
@@ -168,7 +168,7 @@ extern int __REDIRECT (nftw, (__const char *__dir, __nftw_func_t __func,
 #  endif
 # endif
 # ifdef __USE_LARGEFILE64
-extern int nftw64 (__const char *__dir, __nftw64_func_t __func,
+extern int nftw64 (const char *__dir, __nftw64_func_t __func,
 		   int __descriptors, int __flag) __nonnull ((1, 2));
 # endif
 #endif
diff --git a/io/sys/poll.h b/io/sys/poll.h
index 4085b785ee..a9bd18005a 100644
--- a/io/sys/poll.h
+++ b/io/sys/poll.h
@@ -1,5 +1,5 @@
 /* Compatibility definitions for System V `poll' interface.
-   Copyright (C) 1994,1996-2001,2004,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 1994,1996-2001,2004-2006,2012 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
@@ -65,8 +65,8 @@ extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout);
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 extern int ppoll (struct pollfd *__fds, nfds_t __nfds,
-		  __const struct timespec *__timeout,
-		  __const __sigset_t *__ss);
+		  const struct timespec *__timeout,
+		  const __sigset_t *__ss);
 #endif
 
 __END_DECLS
diff --git a/io/sys/stat.h b/io/sys/stat.h
index ac740cad38..de348bf105 100644
--- a/io/sys/stat.h
+++ b/io/sys/stat.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995-2004, 2005, 2006, 2007, 2009, 2010
+/* Copyright (C) 1991, 1992, 1995-2007, 2009, 2010, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -208,7 +208,7 @@ __BEGIN_DECLS
 
 #ifndef __USE_FILE_OFFSET64
 /* Get file attributes for FILE and put them in BUF.  */
-extern int stat (__const char *__restrict __file,
+extern int stat (const char *__restrict __file,
 		 struct stat *__restrict __buf) __THROW __nonnull ((1, 2));
 
 /* Get file attributes for the file, device, pipe, or socket
@@ -216,7 +216,7 @@ extern int stat (__const char *__restrict __file,
 extern int fstat (int __fd, struct stat *__buf) __THROW __nonnull ((2));
 #else
 # ifdef __REDIRECT_NTH
-extern int __REDIRECT_NTH (stat, (__const char *__restrict __file,
+extern int __REDIRECT_NTH (stat, (const char *__restrict __file,
 				  struct stat *__restrict __buf), stat64)
      __nonnull ((1, 2));
 extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), fstat64)
@@ -227,7 +227,7 @@ extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), fstat64)
 # endif
 #endif
 #ifdef __USE_LARGEFILE64
-extern int stat64 (__const char *__restrict __file,
+extern int stat64 (const char *__restrict __file,
 		   struct stat64 *__restrict __buf) __THROW __nonnull ((1, 2));
 extern int fstat64 (int __fd, struct stat64 *__buf) __THROW __nonnull ((2));
 #endif
@@ -237,12 +237,12 @@ extern int fstat64 (int __fd, struct stat64 *__buf) __THROW __nonnull ((2));
    Relative path names are interpreted relative to FD unless FD is
    AT_FDCWD.  */
 # ifndef __USE_FILE_OFFSET64
-extern int fstatat (int __fd, __const char *__restrict __file,
+extern int fstatat (int __fd, const char *__restrict __file,
 		    struct stat *__restrict __buf, int __flag)
      __THROW __nonnull ((2, 3));
 # else
 #  ifdef __REDIRECT_NTH
-extern int __REDIRECT_NTH (fstatat, (int __fd, __const char *__restrict __file,
+extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
 				     struct stat *__restrict __buf,
 				     int __flag),
 			   fstatat64) __nonnull ((2, 3));
@@ -252,7 +252,7 @@ extern int __REDIRECT_NTH (fstatat, (int __fd, __const char *__restrict __file,
 # endif
 
 # ifdef __USE_LARGEFILE64
-extern int fstatat64 (int __fd, __const char *__restrict __file,
+extern int fstatat64 (int __fd, const char *__restrict __file,
 		      struct stat64 *__restrict __buf, int __flag)
      __THROW __nonnull ((2, 3));
 # endif
@@ -262,12 +262,12 @@ extern int fstatat64 (int __fd, __const char *__restrict __file,
 # ifndef __USE_FILE_OFFSET64
 /* Get file attributes about FILE and put them in BUF.
    If FILE is a symbolic link, do not follow it.  */
-extern int lstat (__const char *__restrict __file,
+extern int lstat (const char *__restrict __file,
 		  struct stat *__restrict __buf) __THROW __nonnull ((1, 2));
 # else
 #  ifdef __REDIRECT_NTH
 extern int __REDIRECT_NTH (lstat,
-			   (__const char *__restrict __file,
+			   (const char *__restrict __file,
 			    struct stat *__restrict __buf), lstat64)
      __nonnull ((1, 2));
 #  else
@@ -275,7 +275,7 @@ extern int __REDIRECT_NTH (lstat,
 #  endif
 # endif
 # ifdef __USE_LARGEFILE64
-extern int lstat64 (__const char *__restrict __file,
+extern int lstat64 (const char *__restrict __file,
 		    struct stat64 *__restrict __buf)
      __THROW __nonnull ((1, 2));
 # endif
@@ -283,14 +283,14 @@ extern int lstat64 (__const char *__restrict __file,
 
 /* Set file access permissions for FILE to MODE.
    If FILE is a symbolic link, this affects its target instead.  */
-extern int chmod (__const char *__file, __mode_t __mode)
+extern int chmod (const char *__file, __mode_t __mode)
      __THROW __nonnull ((1));
 
 #ifdef __USE_BSD
 /* Set file access permissions for FILE to MODE.
    If FILE is a symbolic link, this affects the link itself
    rather than its target.  */
-extern int lchmod (__const char *__file, __mode_t __mode)
+extern int lchmod (const char *__file, __mode_t __mode)
      __THROW __nonnull ((1));
 #endif
 
@@ -302,7 +302,7 @@ extern int fchmod (int __fd, __mode_t __mode) __THROW;
 #ifdef __USE_ATFILE
 /* Set file access permissions of FILE relative to
    the directory FD is open on.  */
-extern int fchmodat (int __fd, __const char *__file, __mode_t __mode,
+extern int fchmodat (int __fd, const char *__file, __mode_t __mode,
 		     int __flag)
      __THROW __nonnull ((2)) __wur;
 #endif /* Use ATFILE.  */
@@ -320,14 +320,14 @@ extern __mode_t getumask (void) __THROW;
 #endif
 
 /* Create a new directory named PATH, with permission bits MODE.  */
-extern int mkdir (__const char *__path, __mode_t __mode)
+extern int mkdir (const char *__path, __mode_t __mode)
      __THROW __nonnull ((1));
 
 #ifdef __USE_ATFILE
 /* Like mkdir, create a new directory with permission bits MODE.  But
    interpret relative PATH names relative to the directory associated
    with FD.  */
-extern int mkdirat (int __fd, __const char *__path, __mode_t __mode)
+extern int mkdirat (int __fd, const char *__path, __mode_t __mode)
      __THROW __nonnull ((2));
 #endif
 
@@ -335,43 +335,43 @@ extern int mkdirat (int __fd, __const char *__path, __mode_t __mode)
    and device number DEV (which can be constructed from major and minor
    device numbers with the `makedev' macro above).  */
 #if defined __USE_MISC || defined __USE_BSD || defined __USE_XOPEN_EXTENDED
-extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
+extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev)
      __THROW __nonnull ((1));
 
 # ifdef __USE_ATFILE
 /* Like mknod, create a new device file with permission bits MODE and
    device number DEV.  But interpret relative PATH names relative to
    the directory associated with FD.  */
-extern int mknodat (int __fd, __const char *__path, __mode_t __mode,
+extern int mknodat (int __fd, const char *__path, __mode_t __mode,
 		    __dev_t __dev) __THROW __nonnull ((2));
 # endif
 #endif
 
 
 /* Create a new FIFO named PATH, with permission bits MODE.  */
-extern int mkfifo (__const char *__path, __mode_t __mode)
+extern int mkfifo (const char *__path, __mode_t __mode)
      __THROW __nonnull ((1));
 
 #ifdef __USE_ATFILE
 /* Like mkfifo, create a new FIFO with permission bits MODE.  But
    interpret relative PATH names relative to the directory associated
    with FD.  */
-extern int mkfifoat (int __fd, __const char *__path, __mode_t __mode)
+extern int mkfifoat (int __fd, const char *__path, __mode_t __mode)
      __THROW __nonnull ((2));
 #endif
 
 #ifdef __USE_ATFILE
 /* Set file access and modification times relative to directory file
    descriptor.  */
-extern int utimensat (int __fd, __const char *__path,
-		      __const struct timespec __times[2],
+extern int utimensat (int __fd, const char *__path,
+		      const struct timespec __times[2],
 		      int __flags)
      __THROW __nonnull ((2));
 #endif
 
 #ifdef __USE_XOPEN2K8
 /* Set file access and modification times of the file associated with FD.  */
-extern int futimens (int __fd, __const struct timespec __times[2]) __THROW;
+extern int futimens (int __fd, const struct timespec __times[2]) __THROW;
 #endif
 
 /* To allow the `struct stat' structure and the file type `mode_t'
@@ -400,11 +400,11 @@ extern int futimens (int __fd, __const struct timespec __times[2]) __THROW;
 #ifndef __USE_FILE_OFFSET64
 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf)
      __THROW __nonnull ((3));
-extern int __xstat (int __ver, __const char *__filename,
+extern int __xstat (int __ver, const char *__filename,
 		    struct stat *__stat_buf) __THROW __nonnull ((2, 3));
-extern int __lxstat (int __ver, __const char *__filename,
+extern int __lxstat (int __ver, const char *__filename,
 		     struct stat *__stat_buf) __THROW __nonnull ((2, 3));
-extern int __fxstatat (int __ver, int __fildes, __const char *__filename,
+extern int __fxstatat (int __ver, int __fildes, const char *__filename,
 		       struct stat *__stat_buf, int __flag)
      __THROW __nonnull ((3, 4));
 #else
@@ -412,14 +412,14 @@ extern int __fxstatat (int __ver, int __fildes, __const char *__filename,
 extern int __REDIRECT_NTH (__fxstat, (int __ver, int __fildes,
 				      struct stat *__stat_buf), __fxstat64)
      __nonnull ((3));
-extern int __REDIRECT_NTH (__xstat, (int __ver, __const char *__filename,
+extern int __REDIRECT_NTH (__xstat, (int __ver, const char *__filename,
 				     struct stat *__stat_buf), __xstat64)
      __nonnull ((2, 3));
-extern int __REDIRECT_NTH (__lxstat, (int __ver, __const char *__filename,
+extern int __REDIRECT_NTH (__lxstat, (int __ver, const char *__filename,
 				      struct stat *__stat_buf), __lxstat64)
      __nonnull ((2, 3));
 extern int __REDIRECT_NTH (__fxstatat, (int __ver, int __fildes,
-					__const char *__filename,
+					const char *__filename,
 					struct stat *__stat_buf, int __flag),
 			   __fxstatat64) __nonnull ((3, 4));
 
@@ -433,18 +433,18 @@ extern int __REDIRECT_NTH (__fxstatat, (int __ver, int __fildes,
 #ifdef __USE_LARGEFILE64
 extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf)
      __THROW __nonnull ((3));
-extern int __xstat64 (int __ver, __const char *__filename,
+extern int __xstat64 (int __ver, const char *__filename,
 		      struct stat64 *__stat_buf) __THROW __nonnull ((2, 3));
-extern int __lxstat64 (int __ver, __const char *__filename,
+extern int __lxstat64 (int __ver, const char *__filename,
 		       struct stat64 *__stat_buf) __THROW __nonnull ((2, 3));
-extern int __fxstatat64 (int __ver, int __fildes, __const char *__filename,
+extern int __fxstatat64 (int __ver, int __fildes, const char *__filename,
 			 struct stat64 *__stat_buf, int __flag)
      __THROW __nonnull ((3, 4));
 #endif
-extern int __xmknod (int __ver, __const char *__path, __mode_t __mode,
+extern int __xmknod (int __ver, const char *__path, __mode_t __mode,
 		     __dev_t *__dev) __THROW __nonnull ((2, 4));
 
-extern int __xmknodat (int __ver, int __fd, __const char *__path,
+extern int __xmknodat (int __ver, int __fd, const char *__path,
 		       __mode_t __mode, __dev_t *__dev)
      __THROW __nonnull ((3, 5));
 
@@ -452,14 +452,14 @@ extern int __xmknodat (int __ver, int __fd, __const char *__path,
 /* Inlined versions of the real stat and mknod functions.  */
 
 __extern_inline int
-__NTH (stat (__const char *__path, struct stat *__statbuf))
+__NTH (stat (const char *__path, struct stat *__statbuf))
 {
   return __xstat (_STAT_VER, __path, __statbuf);
 }
 
 # if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
 __extern_inline int
-__NTH (lstat (__const char *__path, struct stat *__statbuf))
+__NTH (lstat (const char *__path, struct stat *__statbuf))
 {
   return __lxstat (_STAT_VER, __path, __statbuf);
 }
@@ -473,7 +473,7 @@ __NTH (fstat (int __fd, struct stat *__statbuf))
 
 # ifdef __USE_ATFILE
 __extern_inline int
-__NTH (fstatat (int __fd, __const char *__filename, struct stat *__statbuf,
+__NTH (fstatat (int __fd, const char *__filename, struct stat *__statbuf,
 		int __flag))
 {
   return __fxstatat (_STAT_VER, __fd, __filename, __statbuf, __flag);
@@ -482,7 +482,7 @@ __NTH (fstatat (int __fd, __const char *__filename, struct stat *__statbuf,
 
 # if defined __USE_MISC || defined __USE_BSD
 __extern_inline int
-__NTH (mknod (__const char *__path, __mode_t __mode, __dev_t __dev))
+__NTH (mknod (const char *__path, __mode_t __mode, __dev_t __dev))
 {
   return __xmknod (_MKNOD_VER, __path, __mode, &__dev);
 }
@@ -490,7 +490,7 @@ __NTH (mknod (__const char *__path, __mode_t __mode, __dev_t __dev))
 
 # ifdef __USE_ATFILE
 __extern_inline int
-__NTH (mknodat (int __fd, __const char *__path, __mode_t __mode,
+__NTH (mknodat (int __fd, const char *__path, __mode_t __mode,
 		__dev_t __dev))
 {
   return __xmknodat (_MKNOD_VER, __fd, __path, __mode, &__dev);
@@ -501,14 +501,14 @@ __NTH (mknodat (int __fd, __const char *__path, __mode_t __mode,
   && (! defined __USE_FILE_OFFSET64 \
       || (defined __REDIRECT_NTH && defined __OPTIMIZE__))
 __extern_inline int
-__NTH (stat64 (__const char *__path, struct stat64 *__statbuf))
+__NTH (stat64 (const char *__path, struct stat64 *__statbuf))
 {
   return __xstat64 (_STAT_VER, __path, __statbuf);
 }
 
 #  if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
 __extern_inline int
-__NTH (lstat64 (__const char *__path, struct stat64 *__statbuf))
+__NTH (lstat64 (const char *__path, struct stat64 *__statbuf))
 {
   return __lxstat64 (_STAT_VER, __path, __statbuf);
 }
@@ -522,7 +522,7 @@ __NTH (fstat64 (int __fd, struct stat64 *__statbuf))
 
 #  ifdef __USE_ATFILE
 __extern_inline int
-__NTH (fstatat64 (int __fd, __const char *__filename, struct stat64 *__statbuf,
+__NTH (fstatat64 (int __fd, const char *__filename, struct stat64 *__statbuf,
 		  int __flag))
 {
   return __fxstatat64 (_STAT_VER, __fd, __filename, __statbuf, __flag);
diff --git a/io/sys/statfs.h b/io/sys/statfs.h
index 3b2226b41e..0d00276df7 100644
--- a/io/sys/statfs.h
+++ b/io/sys/statfs.h
@@ -1,5 +1,5 @@
 /* Definitions for getting information about a filesystem.
-   Copyright (C) 1996, 1997, 1998, 1999, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1996-1999, 2004, 2012 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
@@ -29,19 +29,19 @@ __BEGIN_DECLS
 
 /* Return information about the filesystem on which FILE resides.  */
 #ifndef __USE_FILE_OFFSET64
-extern int statfs (__const char *__file, struct statfs *__buf)
+extern int statfs (const char *__file, struct statfs *__buf)
      __THROW __nonnull ((1, 2));
 #else
 # ifdef __REDIRECT_NTH
 extern int __REDIRECT_NTH (statfs,
-			   (__const char *__file, struct statfs *__buf),
+			   (const char *__file, struct statfs *__buf),
 			   statfs64) __nonnull ((1, 2));
 # else
 #  define statfs statfs64
 # endif
 #endif
 #ifdef __USE_LARGEFILE64
-extern int statfs64 (__const char *__file, struct statfs64 *__buf)
+extern int statfs64 (const char *__file, struct statfs64 *__buf)
      __THROW __nonnull ((1, 2));
 #endif
 
diff --git a/io/sys/statvfs.h b/io/sys/statvfs.h
index 909662bc50..1440fc051d 100644
--- a/io/sys/statvfs.h
+++ b/io/sys/statvfs.h
@@ -1,5 +1,5 @@
 /* Definitions for getting information about a filesystem.
-   Copyright (C) 1998, 1999, 2000, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2004, 2012 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
@@ -49,13 +49,13 @@ __BEGIN_DECLS
 
 /* Return information about the filesystem on which FILE resides.  */
 #ifndef __USE_FILE_OFFSET64
-extern int statvfs (__const char *__restrict __file,
+extern int statvfs (const char *__restrict __file,
 		    struct statvfs *__restrict __buf)
      __THROW __nonnull ((1, 2));
 #else
 # ifdef __REDIRECT_NTH
 extern int __REDIRECT_NTH (statvfs,
-			   (__const char *__restrict __file,
+			   (const char *__restrict __file,
 			    struct statvfs *__restrict __buf), statvfs64)
      __nonnull ((1, 2));
 # else
@@ -63,7 +63,7 @@ extern int __REDIRECT_NTH (statvfs,
 # endif
 #endif
 #ifdef __USE_LARGEFILE64
-extern int statvfs64 (__const char *__restrict __file,
+extern int statvfs64 (const char *__restrict __file,
 		      struct statvfs64 *__restrict __buf)
      __THROW __nonnull ((1, 2));
 #endif
diff --git a/io/utime.h b/io/utime.h
index dd5d265708..06120a6392 100644
--- a/io/utime.h
+++ b/io/utime.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 96, 97, 98, 99, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1992,1996-1999,2004,2012 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
@@ -43,8 +43,8 @@ struct utimbuf
 
 /* Set the access and modification times of FILE to those given in
    *FILE_TIMES.  If FILE_TIMES is NULL, set them to the current time.  */
-extern int utime (__const char *__file,
-		  __const struct utimbuf *__file_times)
+extern int utime (const char *__file,
+		  const struct utimbuf *__file_times)
      __THROW __nonnull ((1));
 
 __END_DECLS
diff --git a/libio/bits/stdio.h b/libio/bits/stdio.h
index 49303c6900..7fb1b84231 100644
--- a/libio/bits/stdio.h
+++ b/libio/bits/stdio.h
@@ -1,5 +1,5 @@
 /* Optimizing macros and inline functions for stdio functions.
-   Copyright (C) 1998, 2000, 2001, 2004, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1998,2000,2001,2004,2007,2012 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
@@ -34,7 +34,7 @@
 # if !(__USE_FORTIFY_LEVEL > 0 && defined __extern_always_inline)
 /* Write formatted output to stdout from argument list ARG.  */
 __STDIO_INLINE int
-vprintf (__const char *__restrict __fmt, _G_va_list __arg)
+vprintf (const char *__restrict __fmt, _G_va_list __arg)
 {
   return vfprintf (stdout, __fmt, __arg);
 }
diff --git a/libio/bits/stdio2.h b/libio/bits/stdio2.h
index 8c25aaae50..a4166f7555 100644
--- a/libio/bits/stdio2.h
+++ b/libio/bits/stdio2.h
@@ -1,5 +1,5 @@
 /* Checking macros for stdio functions.
-   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2007, 2008, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,14 +22,14 @@
 #endif
 
 extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
-			  __const char *__restrict __format, ...) __THROW;
+			  const char *__restrict __format, ...) __THROW;
 extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
-			   __const char *__restrict __format,
+			   const char *__restrict __format,
 			   _G_va_list __ap) __THROW;
 
 #ifdef __va_arg_pack
 __extern_always_inline int
-__NTH (sprintf (char *__restrict __s, __const char *__restrict __fmt, ...))
+__NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...))
 {
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
 				  __bos (__s), __fmt, __va_arg_pack ());
@@ -41,7 +41,7 @@ __NTH (sprintf (char *__restrict __s, __const char *__restrict __fmt, ...))
 #endif
 
 __extern_always_inline int
-__NTH (vsprintf (char *__restrict __s, __const char *__restrict __fmt,
+__NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt,
 		 _G_va_list __ap))
 {
   return __builtin___vsprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
@@ -51,16 +51,16 @@ __NTH (vsprintf (char *__restrict __s, __const char *__restrict __fmt,
 #if defined __USE_BSD || defined __USE_ISOC99 || defined __USE_UNIX98
 
 extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
-			   size_t __slen, __const char *__restrict __format,
+			   size_t __slen, const char *__restrict __format,
 			   ...) __THROW;
 extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
-			    size_t __slen, __const char *__restrict __format,
+			    size_t __slen, const char *__restrict __format,
 			    _G_va_list __ap) __THROW;
 
 # ifdef __va_arg_pack
 __extern_always_inline int
 __NTH (snprintf (char *__restrict __s, size_t __n,
-		 __const char *__restrict __fmt, ...))
+		 const char *__restrict __fmt, ...))
 {
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
 				   __bos (__s), __fmt, __va_arg_pack ());
@@ -73,7 +73,7 @@ __NTH (snprintf (char *__restrict __s, size_t __n,
 
 __extern_always_inline int
 __NTH (vsnprintf (char *__restrict __s, size_t __n,
-		  __const char *__restrict __fmt, _G_va_list __ap))
+		  const char *__restrict __fmt, _G_va_list __ap))
 {
   return __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
 				    __bos (__s), __fmt, __ap);
@@ -84,23 +84,23 @@ __NTH (vsnprintf (char *__restrict __s, size_t __n,
 #if __USE_FORTIFY_LEVEL > 1
 
 extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
-			  __const char *__restrict __format, ...);
-extern int __printf_chk (int __flag, __const char *__restrict __format, ...);
+			  const char *__restrict __format, ...);
+extern int __printf_chk (int __flag, const char *__restrict __format, ...);
 extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
-			   __const char *__restrict __format, _G_va_list __ap);
-extern int __vprintf_chk (int __flag, __const char *__restrict __format,
+			   const char *__restrict __format, _G_va_list __ap);
+extern int __vprintf_chk (int __flag, const char *__restrict __format,
 			  _G_va_list __ap);
 
 # ifdef __va_arg_pack
 __extern_always_inline int
-fprintf (FILE *__restrict __stream, __const char *__restrict __fmt, ...)
+fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)
 {
   return __fprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt,
 			__va_arg_pack ());
 }
 
 __extern_always_inline int
-printf (__const char *__restrict __fmt, ...)
+printf (const char *__restrict __fmt, ...)
 {
   return __printf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());
 }
@@ -112,7 +112,7 @@ printf (__const char *__restrict __fmt, ...)
 # endif
 
 __extern_always_inline int
-vprintf (__const char *__restrict __fmt, _G_va_list __ap)
+vprintf (const char *__restrict __fmt, _G_va_list __ap)
 {
 #ifdef __USE_EXTERN_INLINES
   return __vfprintf_chk (stdout, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
@@ -123,7 +123,7 @@ vprintf (__const char *__restrict __fmt, _G_va_list __ap)
 
 __extern_always_inline int
 vfprintf (FILE *__restrict __stream,
-	  __const char *__restrict __fmt, _G_va_list __ap)
+	  const char *__restrict __fmt, _G_va_list __ap)
 {
   return __vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
 }
@@ -131,36 +131,36 @@ vfprintf (FILE *__restrict __stream,
 # ifdef __USE_GNU
 
 extern int __asprintf_chk (char **__restrict __ptr, int __flag,
-			   __const char *__restrict __fmt, ...)
+			   const char *__restrict __fmt, ...)
      __THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur;
 extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
-			    __const char *__restrict __fmt, _G_va_list __arg)
+			    const char *__restrict __fmt, _G_va_list __arg)
      __THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur;
-extern int __dprintf_chk (int __fd, int __flag, __const char *__restrict __fmt,
+extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,
 			  ...) __attribute__ ((__format__ (__printf__, 3, 4)));
 extern int __vdprintf_chk (int __fd, int __flag,
-			   __const char *__restrict __fmt, _G_va_list __arg)
+			   const char *__restrict __fmt, _G_va_list __arg)
      __attribute__ ((__format__ (__printf__, 3, 0)));
 extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
-				 int __flag, __const char *__restrict __format,
+				 int __flag, const char *__restrict __format,
 				 ...)
      __THROW __attribute__ ((__format__ (__printf__, 3, 4)));
 extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
 				  int __flag,
-				  __const char *__restrict __format,
+				  const char *__restrict __format,
 				  _G_va_list __args)
      __THROW __attribute__ ((__format__ (__printf__, 3, 0)));
 
 #  ifdef __va_arg_pack
 __extern_always_inline int
-__NTH (asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...))
+__NTH (asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...))
 {
   return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt,
 			 __va_arg_pack ());
 }
 
 __extern_always_inline int
-__NTH (__asprintf (char **__restrict __ptr, __const char *__restrict __fmt,
+__NTH (__asprintf (char **__restrict __ptr, const char *__restrict __fmt,
 		   ...))
 {
   return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt,
@@ -168,7 +168,7 @@ __NTH (__asprintf (char **__restrict __ptr, __const char *__restrict __fmt,
 }
 
 __extern_always_inline int
-dprintf (int __fd, __const char *__restrict __fmt, ...)
+dprintf (int __fd, const char *__restrict __fmt, ...)
 {
   return __dprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt,
 			__va_arg_pack ());
@@ -176,7 +176,7 @@ dprintf (int __fd, __const char *__restrict __fmt, ...)
 
 __extern_always_inline int
 __NTH (obstack_printf (struct obstack *__restrict __obstack,
-		       __const char *__restrict __fmt, ...))
+		       const char *__restrict __fmt, ...))
 {
   return __obstack_printf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,
 			       __va_arg_pack ());
@@ -193,21 +193,21 @@ __NTH (obstack_printf (struct obstack *__restrict __obstack,
 #  endif
 
 __extern_always_inline int
-__NTH (vasprintf (char **__restrict __ptr, __const char *__restrict __fmt,
+__NTH (vasprintf (char **__restrict __ptr, const char *__restrict __fmt,
 		  _G_va_list __ap))
 {
   return __vasprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
 }
 
 __extern_always_inline int
-vdprintf (int __fd, __const char *__restrict __fmt, _G_va_list __ap)
+vdprintf (int __fd, const char *__restrict __fmt, _G_va_list __ap)
 {
   return __vdprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
 }
 
 __extern_always_inline int
 __NTH (obstack_vprintf (struct obstack *__restrict __obstack,
-			__const char *__restrict __fmt, _G_va_list __ap))
+			const char *__restrict __fmt, _G_va_list __ap))
 {
   return __obstack_vprintf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,
 				__ap);
diff --git a/libio/libio.h b/libio/libio.h
index bebc112a3b..3ec2eb3fdf 100644
--- a/libio/libio.h
+++ b/libio/libio.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991-1995,1997-2006,2007,2009,2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1995,1997-2007,2009,2011,2012
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Per Bothner <bothner@cygnus.com>.
 
@@ -371,7 +372,7 @@ typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
    opened for append (__mode.__append set), then set the file pointer
    to the end of the file and then do the write; if not, just write at
    the current file pointer.  */
-typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
+typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf,
 				 size_t __n);
 
 /* Move COOKIE's file position to *POS bytes from the
diff --git a/libio/libioP.h b/libio/libioP.h
index 854f049291..9bbdd28f61 100644
--- a/libio/libioP.h
+++ b/libio/libioP.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1997-2003,2004,2005,2006,2007
+/* Copyright (C) 1993, 1997-2003,2004,2005,2006,2007,2012
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -634,11 +634,11 @@ extern _IO_off64_t _IO_wstr_seekoff (_IO_FILE *, _IO_off64_t, int, int)
 extern _IO_wint_t _IO_wstr_pbackfail (_IO_FILE *, _IO_wint_t) __THROW;
 extern void _IO_wstr_finish (_IO_FILE *, int) __THROW;
 
-extern int _IO_vasprintf (char **result_ptr, __const char *format,
+extern int _IO_vasprintf (char **result_ptr, const char *format,
 			  _IO_va_list args) __THROW;
-extern int _IO_vdprintf (int d, __const char *format, _IO_va_list arg);
+extern int _IO_vdprintf (int d, const char *format, _IO_va_list arg);
 extern int _IO_vsnprintf (char *string, _IO_size_t maxlen,
-			  __const char *format, _IO_va_list args) __THROW;
+			  const char *format, _IO_va_list args) __THROW;
 
 
 extern _IO_size_t _IO_getline (_IO_FILE *,char *, _IO_size_t, int, int);
diff --git a/libio/stdio.h b/libio/stdio.h
index 28c98e9163..e2efcf452a 100644
--- a/libio/stdio.h
+++ b/libio/stdio.h
@@ -176,15 +176,15 @@ extern struct _IO_FILE *stderr;		/* Standard error output stream.  */
 
 __BEGIN_NAMESPACE_STD
 /* Remove file FILENAME.  */
-extern int remove (__const char *__filename) __THROW;
+extern int remove (const char *__filename) __THROW;
 /* Rename file OLD to NEW.  */
-extern int rename (__const char *__old, __const char *__new) __THROW;
+extern int rename (const char *__old, const char *__new) __THROW;
 __END_NAMESPACE_STD
 
 #ifdef __USE_ATFILE
 /* Rename file OLD relative to OLDFD to NEW relative to NEWFD.  */
-extern int renameat (int __oldfd, __const char *__old, int __newfd,
-		     __const char *__new) __THROW;
+extern int renameat (int __oldfd, const char *__old, int __newfd,
+		     const char *__new) __THROW;
 #endif
 
 __BEGIN_NAMESPACE_STD
@@ -225,7 +225,7 @@ extern char *tmpnam_r (char *__s) __THROW __wur;
    If not and if DIR is not NULL, that value is checked.  If that fails,
    P_tmpdir is tried and finally "/tmp".  The storage for the filename
    is allocated by `malloc'.  */
-extern char *tempnam (__const char *__dir, __const char *__pfx)
+extern char *tempnam (const char *__dir, const char *__pfx)
      __THROW __attribute_malloc__ __wur;
 #endif
 
@@ -270,22 +270,22 @@ __BEGIN_NAMESPACE_STD
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern FILE *fopen (__const char *__restrict __filename,
-		    __const char *__restrict __modes) __wur;
+extern FILE *fopen (const char *__restrict __filename,
+		    const char *__restrict __modes) __wur;
 /* Open a file, replacing an existing stream with it.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern FILE *freopen (__const char *__restrict __filename,
-		      __const char *__restrict __modes,
+extern FILE *freopen (const char *__restrict __filename,
+		      const char *__restrict __modes,
 		      FILE *__restrict __stream) __wur;
 #else
 # ifdef __REDIRECT
-extern FILE *__REDIRECT (fopen, (__const char *__restrict __filename,
-				 __const char *__restrict __modes), fopen64)
+extern FILE *__REDIRECT (fopen, (const char *__restrict __filename,
+				 const char *__restrict __modes), fopen64)
   __wur;
-extern FILE *__REDIRECT (freopen, (__const char *__restrict __filename,
-				   __const char *__restrict __modes,
+extern FILE *__REDIRECT (freopen, (const char *__restrict __filename,
+				   const char *__restrict __modes,
 				   FILE *__restrict __stream), freopen64)
   __wur;
 # else
@@ -295,29 +295,29 @@ extern FILE *__REDIRECT (freopen, (__const char *__restrict __filename,
 #endif
 __END_NAMESPACE_STD
 #ifdef __USE_LARGEFILE64
-extern FILE *fopen64 (__const char *__restrict __filename,
-		      __const char *__restrict __modes) __wur;
-extern FILE *freopen64 (__const char *__restrict __filename,
-			__const char *__restrict __modes,
+extern FILE *fopen64 (const char *__restrict __filename,
+		      const char *__restrict __modes) __wur;
+extern FILE *freopen64 (const char *__restrict __filename,
+			const char *__restrict __modes,
 			FILE *__restrict __stream) __wur;
 #endif
 
 #ifdef	__USE_POSIX
 /* Create a new stream that refers to an existing system file descriptor.  */
-extern FILE *fdopen (int __fd, __const char *__modes) __THROW __wur;
+extern FILE *fdopen (int __fd, const char *__modes) __THROW __wur;
 #endif
 
 #ifdef	__USE_GNU
 /* Create a new stream that refers to the given magic cookie,
    and uses the given functions for input and output.  */
 extern FILE *fopencookie (void *__restrict __magic_cookie,
-			  __const char *__restrict __modes,
+			  const char *__restrict __modes,
 			  _IO_cookie_io_functions_t __io_funcs) __THROW __wur;
 #endif
 
 #ifdef __USE_XOPEN2K8
 /* Create a new stream that refers to a memory buffer.  */
-extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes)
+extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
   __THROW __wur;
 
 /* Open a stream that writes into a malloc'd buffer that is expanded as
@@ -355,29 +355,29 @@ __BEGIN_NAMESPACE_STD
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
 extern int fprintf (FILE *__restrict __stream,
-		    __const char *__restrict __format, ...);
+		    const char *__restrict __format, ...);
 /* Write formatted output to stdout.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int printf (__const char *__restrict __format, ...);
+extern int printf (const char *__restrict __format, ...);
 /* Write formatted output to S.  */
 extern int sprintf (char *__restrict __s,
-		    __const char *__restrict __format, ...) __THROWNL;
+		    const char *__restrict __format, ...) __THROWNL;
 
 /* Write formatted output to S from argument list ARG.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
+extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
 		     _G_va_list __arg);
 /* Write formatted output to stdout from argument list ARG.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int vprintf (__const char *__restrict __format, _G_va_list __arg);
+extern int vprintf (const char *__restrict __format, _G_va_list __arg);
 /* Write formatted output to S from argument list ARG.  */
-extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
+extern int vsprintf (char *__restrict __s, const char *__restrict __format,
 		     _G_va_list __arg) __THROWNL;
 __END_NAMESPACE_STD
 
@@ -385,11 +385,11 @@ __END_NAMESPACE_STD
 __BEGIN_NAMESPACE_C99
 /* Maximum chars of output to write in MAXLEN.  */
 extern int snprintf (char *__restrict __s, size_t __maxlen,
-		     __const char *__restrict __format, ...)
+		     const char *__restrict __format, ...)
      __THROWNL __attribute__ ((__format__ (__printf__, 3, 4)));
 
 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
-		      __const char *__restrict __format, _G_va_list __arg)
+		      const char *__restrict __format, _G_va_list __arg)
      __THROWNL __attribute__ ((__format__ (__printf__, 3, 0)));
 __END_NAMESPACE_C99
 #endif
@@ -397,14 +397,14 @@ __END_NAMESPACE_C99
 #ifdef __USE_GNU
 /* Write formatted output to a string dynamically allocated with `malloc'.
    Store the address of the string in *PTR.  */
-extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
+extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
 		      _G_va_list __arg)
      __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))) __wur;
 extern int __asprintf (char **__restrict __ptr,
-		       __const char *__restrict __fmt, ...)
+		       const char *__restrict __fmt, ...)
      __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur;
 extern int asprintf (char **__restrict __ptr,
-		     __const char *__restrict __fmt, ...)
+		     const char *__restrict __fmt, ...)
      __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur;
 #endif
 
@@ -415,10 +415,10 @@ extern int asprintf (char **__restrict __ptr,
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation they are cancellation points and
    therefore not marked with __THROW.  */
-extern int vdprintf (int __fd, __const char *__restrict __fmt,
+extern int vdprintf (int __fd, const char *__restrict __fmt,
 		     _G_va_list __arg)
      __attribute__ ((__format__ (__printf__, 2, 0)));
-extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
+extern int dprintf (int __fd, const char *__restrict __fmt, ...)
      __attribute__ ((__format__ (__printf__, 2, 3)));
 #endif
 
@@ -429,15 +429,15 @@ __BEGIN_NAMESPACE_STD
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
 extern int fscanf (FILE *__restrict __stream,
-		   __const char *__restrict __format, ...) __wur;
+		   const char *__restrict __format, ...) __wur;
 /* Read formatted input from stdin.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int scanf (__const char *__restrict __format, ...) __wur;
+extern int scanf (const char *__restrict __format, ...) __wur;
 /* Read formatted input from S.  */
-extern int sscanf (__const char *__restrict __s,
-		   __const char *__restrict __format, ...) __THROW;
+extern int sscanf (const char *__restrict __s,
+		   const char *__restrict __format, ...) __THROW;
 
 #if defined __USE_ISOC99 && !defined __USE_GNU \
     && (!defined __LDBL_COMPAT || !defined __REDIRECT) \
@@ -447,19 +447,19 @@ extern int sscanf (__const char *__restrict __s,
    GNU extension which conflicts with valid %a followed by letter
    s, S or [.  */
 extern int __REDIRECT (fscanf, (FILE *__restrict __stream,
-				__const char *__restrict __format, ...),
+				const char *__restrict __format, ...),
 		       __isoc99_fscanf) __wur;
-extern int __REDIRECT (scanf, (__const char *__restrict __format, ...),
+extern int __REDIRECT (scanf, (const char *__restrict __format, ...),
 		       __isoc99_scanf) __wur;
-extern int __REDIRECT_NTH (sscanf, (__const char *__restrict __s,
-				    __const char *__restrict __format, ...),
+extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s,
+				    const char *__restrict __format, ...),
 			   __isoc99_sscanf);
 # else
 extern int __isoc99_fscanf (FILE *__restrict __stream,
-			    __const char *__restrict __format, ...) __wur;
-extern int __isoc99_scanf (__const char *__restrict __format, ...) __wur;
-extern int __isoc99_sscanf (__const char *__restrict __s,
-			    __const char *__restrict __format, ...) __THROW;
+			    const char *__restrict __format, ...) __wur;
+extern int __isoc99_scanf (const char *__restrict __format, ...) __wur;
+extern int __isoc99_sscanf (const char *__restrict __s,
+			    const char *__restrict __format, ...) __THROW;
 #  define fscanf __isoc99_fscanf
 #  define scanf __isoc99_scanf
 #  define sscanf __isoc99_sscanf
@@ -474,7 +474,7 @@ __BEGIN_NAMESPACE_C99
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
+extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
 		    _G_va_list __arg)
      __attribute__ ((__format__ (__scanf__, 2, 0))) __wur;
 
@@ -482,12 +482,12 @@ extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int vscanf (__const char *__restrict __format, _G_va_list __arg)
+extern int vscanf (const char *__restrict __format, _G_va_list __arg)
      __attribute__ ((__format__ (__scanf__, 1, 0))) __wur;
 
 /* Read formatted input from S into argument list ARG.  */
-extern int vsscanf (__const char *__restrict __s,
-		    __const char *__restrict __format, _G_va_list __arg)
+extern int vsscanf (const char *__restrict __s,
+		    const char *__restrict __format, _G_va_list __arg)
      __THROW __attribute__ ((__format__ (__scanf__, 2, 0)));
 
 # if !defined __USE_GNU \
@@ -499,25 +499,25 @@ extern int vsscanf (__const char *__restrict __s,
    s, S or [.  */
 extern int __REDIRECT (vfscanf,
 		       (FILE *__restrict __s,
-			__const char *__restrict __format, _G_va_list __arg),
+			const char *__restrict __format, _G_va_list __arg),
 		       __isoc99_vfscanf)
      __attribute__ ((__format__ (__scanf__, 2, 0))) __wur;
-extern int __REDIRECT (vscanf, (__const char *__restrict __format,
+extern int __REDIRECT (vscanf, (const char *__restrict __format,
 				_G_va_list __arg), __isoc99_vscanf)
      __attribute__ ((__format__ (__scanf__, 1, 0))) __wur;
 extern int __REDIRECT_NTH (vsscanf,
-			   (__const char *__restrict __s,
-			    __const char *__restrict __format,
+			   (const char *__restrict __s,
+			    const char *__restrict __format,
 			    _G_va_list __arg), __isoc99_vsscanf)
      __attribute__ ((__format__ (__scanf__, 2, 0)));
 #  else
 extern int __isoc99_vfscanf (FILE *__restrict __s,
-			     __const char *__restrict __format,
+			     const char *__restrict __format,
 			     _G_va_list __arg) __wur;
-extern int __isoc99_vscanf (__const char *__restrict __format,
+extern int __isoc99_vscanf (const char *__restrict __format,
 			    _G_va_list __arg) __wur;
-extern int __isoc99_vsscanf (__const char *__restrict __s,
-			     __const char *__restrict __format,
+extern int __isoc99_vsscanf (const char *__restrict __s,
+			     const char *__restrict __format,
 			     _G_va_list __arg) __THROW;
 #   define vfscanf __isoc99_vfscanf
 #   define vscanf __isoc99_vscanf
@@ -692,13 +692,13 @@ __BEGIN_NAMESPACE_STD
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
+extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
 
 /* Write a string, followed by a newline, to stdout.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int puts (__const char *__s);
+extern int puts (const char *__s);
 
 
 /* Push a character back onto the input buffer of STREAM.
@@ -718,7 +718,7 @@ extern size_t fread (void *__restrict __ptr, size_t __size,
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
+extern size_t fwrite (const void *__restrict __ptr, size_t __size,
 		      size_t __n, FILE *__restrict __s) __wur;
 __END_NAMESPACE_STD
 
@@ -729,7 +729,7 @@ __END_NAMESPACE_STD
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int fputs_unlocked (__const char *__restrict __s,
+extern int fputs_unlocked (const char *__restrict __s,
 			   FILE *__restrict __stream);
 #endif
 
@@ -742,7 +742,7 @@ extern int fputs_unlocked (__const char *__restrict __s,
    therefore not marked with __THROW.  */
 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
 			      size_t __n, FILE *__restrict __stream) __wur;
-extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
+extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
 			       size_t __n, FILE *__restrict __stream) __wur;
 #endif
 
@@ -806,13 +806,13 @@ extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int fsetpos (FILE *__stream, __const fpos_t *__pos);
+extern int fsetpos (FILE *__stream, const fpos_t *__pos);
 #else
 # ifdef __REDIRECT
 extern int __REDIRECT (fgetpos, (FILE *__restrict __stream,
 				 fpos_t *__restrict __pos), fgetpos64);
 extern int __REDIRECT (fsetpos,
-		       (FILE *__stream, __const fpos_t *__pos), fsetpos64);
+		       (FILE *__stream, const fpos_t *__pos), fsetpos64);
 # else
 #  define fgetpos fgetpos64
 #  define fsetpos fsetpos64
@@ -824,7 +824,7 @@ __END_NAMESPACE_STD
 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
 extern __off64_t ftello64 (FILE *__stream) __wur;
 extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
-extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos);
+extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
 #endif
 
 __BEGIN_NAMESPACE_STD
@@ -849,7 +849,7 @@ __BEGIN_NAMESPACE_STD
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern void perror (__const char *__s);
+extern void perror (const char *__s);
 __END_NAMESPACE_STD
 
 /* Provide the declarations for `sys_errlist' and `sys_nerr' if they
@@ -876,7 +876,7 @@ extern int fileno_unlocked (FILE *__stream) __THROW __wur;
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern FILE *popen (__const char *__command, __const char *__modes) __wur;
+extern FILE *popen (const char *__command, const char *__modes) __wur;
 
 /* Close a stream opened by popen and return the status of its child.
 
@@ -903,10 +903,10 @@ struct obstack;			/* See <obstack.h>.  */
 
 /* Write formatted output to an obstack.  */
 extern int obstack_printf (struct obstack *__restrict __obstack,
-			   __const char *__restrict __format, ...)
+			   const char *__restrict __format, ...)
      __THROWNL __attribute__ ((__format__ (__printf__, 2, 3)));
 extern int obstack_vprintf (struct obstack *__restrict __obstack,
-			    __const char *__restrict __format,
+			    const char *__restrict __format,
 			    _G_va_list __args)
      __THROWNL __attribute__ ((__format__ (__printf__, 2, 0)));
 #endif /* Use GNU.  */
diff --git a/locale/lc-ctype.c b/locale/lc-ctype.c
index f2530afe5c..95d35a4947 100644
--- a/locale/lc-ctype.c
+++ b/locale/lc-ctype.c
@@ -1,5 +1,5 @@
 /* Define current locale data for LC_CTYPE category.
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2002,2003,2005,2008
+   Copyright (C) 1995,1996,1997,1998,1999,2000,2002,2003,2005,2008,2012
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -79,9 +79,9 @@ _nl_postload_ctype (void)
   /* We must use the exported names to access these so we are sure to
      be accessing the main executable's copy if it has COPY relocs.  */
 
-  extern __const unsigned short int *__ctype_b; /* Characteristics.  */
-  extern __const __int32_t *__ctype_tolower; /* Case conversions.  */
-  extern __const __int32_t *__ctype_toupper; /* Case conversions.  */
+  extern const unsigned short int *__ctype_b; /* Characteristics.  */
+  extern const __int32_t *__ctype_tolower; /* Case conversions.  */
+  extern const __int32_t *__ctype_toupper; /* Case conversions.  */
 
   extern const uint32_t *__ctype32_b;
   extern const uint32_t *__ctype32_toupper;
diff --git a/locale/locale.h b/locale/locale.h
index 2aa19e76ac..7341b47429 100644
--- a/locale/locale.h
+++ b/locale/locale.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991,1992,1995-2002,2007,2009 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1995-2002,2007,2009,2012
+   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
@@ -122,7 +123,7 @@ struct lconv
 
 
 /* Set and/or return the current locale.  */
-extern char *setlocale (int __category, __const char *__locale) __THROW;
+extern char *setlocale (int __category, const char *__locale) __THROW;
 
 /* Return the numeric/monetary information for the current locale.  */
 extern struct lconv *localeconv (void) __THROW;
@@ -149,7 +150,7 @@ __END_NAMESPACE_STD
    datasets.  Unlike for the CATEGORY parameter for `setlocale' the
    CATEGORY_MASK parameter here uses a single bit for each category,
    made by OR'ing together LC_*_MASK bits above.  */
-extern __locale_t newlocale (int __category_mask, __const char *__locale,
+extern __locale_t newlocale (int __category_mask, const char *__locale,
 			     __locale_t __base) __THROW;
 
 /* These are the bits that can be set in the CATEGORY_MASK argument to
diff --git a/login/utmp.h b/login/utmp.h
index 64b10889b3..f710b4ecd0 100644
--- a/login/utmp.h
+++ b/login/utmp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1996-1999, 2012 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
@@ -43,21 +43,21 @@ extern int login_tty (int __fd) __THROW;
 
 
 /* Write the given entry into utmp and wtmp.  */
-extern void login (__const struct utmp *__entry) __THROW;
+extern void login (const struct utmp *__entry) __THROW;
 
 /* Write the utmp entry to say the user on UT_LINE has logged out.  */
-extern int logout (__const char *__ut_line) __THROW;
+extern int logout (const char *__ut_line) __THROW;
 
 /* Append to wtmp an entry for the current time and the given info.  */
-extern void logwtmp (__const char *__ut_line, __const char *__ut_name,
-		     __const char *__ut_host) __THROW;
+extern void logwtmp (const char *__ut_line, const char *__ut_name,
+		     const char *__ut_host) __THROW;
 
 /* Append entry UTMP to the wtmp-like file WTMP_FILE.  */
-extern void updwtmp (__const char *__wtmp_file, __const struct utmp *__utmp)
+extern void updwtmp (const char *__wtmp_file, const struct utmp *__utmp)
      __THROW;
 
 /* Change name of the utmp file to be examined.  */
-extern int utmpname (__const char *__file) __THROW;
+extern int utmpname (const char *__file) __THROW;
 
 /* Read next entry from a utmp-like file.  */
 extern struct utmp *getutent (void) __THROW;
@@ -70,24 +70,24 @@ extern void endutent (void) __THROW;
 
 /* Search forward from the current point in the utmp file until the
    next entry with a ut_type matching ID->ut_type.  */
-extern struct utmp *getutid (__const struct utmp *__id) __THROW;
+extern struct utmp *getutid (const struct utmp *__id) __THROW;
 
 /* Search forward from the current point in the utmp file until the
    next entry with a ut_line matching LINE->ut_line.  */
-extern struct utmp *getutline (__const struct utmp *__line) __THROW;
+extern struct utmp *getutline (const struct utmp *__line) __THROW;
 
 /* Write out entry pointed to by UTMP_PTR into the utmp file.  */
-extern struct utmp *pututline (__const struct utmp *__utmp_ptr) __THROW;
+extern struct utmp *pututline (const struct utmp *__utmp_ptr) __THROW;
 
 
 #ifdef	__USE_MISC
 /* Reentrant versions of the file for handling utmp files.  */
 extern int getutent_r (struct utmp *__buffer, struct utmp **__result) __THROW;
 
-extern int getutid_r (__const struct utmp *__id, struct utmp *__buffer,
+extern int getutid_r (const struct utmp *__id, struct utmp *__buffer,
 		      struct utmp **__result) __THROW;
 
-extern int getutline_r (__const struct utmp *__line,
+extern int getutline_r (const struct utmp *__line,
 			struct utmp *__buffer, struct utmp **__result) __THROW;
 
 #endif	/* Use misc.  */
diff --git a/malloc/arena.c b/malloc/arena.c
index cb8548ba3f..d3cf4b9f1b 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -1,5 +1,5 @@
 /* Malloc implementation for multiple threads without lock contention.
-   Copyright (C) 2001,2002,2003,2004,2005,2006,2007,2009,2010,2011
+   Copyright (C) 2001,2002,2003,2004,2005,2006,2007,2009,2010,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Wolfram Gloger <wg@malloc.de>, 2001.
@@ -145,9 +145,9 @@ int __malloc_initialized = -1;
 /* atfork support.  */
 
 static __malloc_ptr_t (*save_malloc_hook) (size_t __size,
-					   __const __malloc_ptr_t);
+					   const __malloc_ptr_t);
 static void           (*save_free_hook) (__malloc_ptr_t __ptr,
-					 __const __malloc_ptr_t);
+					 const __malloc_ptr_t);
 static void*        save_arena;
 
 #ifdef ATFORK_MEM
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 300e879b8c..6bacb124bc 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -1,5 +1,5 @@
 /* Malloc implementation for multiple threads without lock contention.
-   Copyright (C) 1996-2009, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1996-2009, 2010, 2011, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Wolfram Gloger <wg@malloc.de>
    and Doug Lea <dl@cs.oswego.edu>, 2001.
@@ -2911,7 +2911,7 @@ public_mALLOc(size_t bytes)
   mstate ar_ptr;
   void *victim;
 
-  __malloc_ptr_t (*hook) (size_t, __const __malloc_ptr_t)
+  __malloc_ptr_t (*hook) (size_t, const __malloc_ptr_t)
     = force_reg (__malloc_hook);
   if (__builtin_expect (hook != NULL, 0))
     return (*hook)(bytes, RETURN_ADDRESS (0));
@@ -2953,7 +2953,7 @@ public_fREe(void* mem)
   mstate ar_ptr;
   mchunkptr p;                          /* chunk corresponding to mem */
 
-  void (*hook) (__malloc_ptr_t, __const __malloc_ptr_t)
+  void (*hook) (__malloc_ptr_t, const __malloc_ptr_t)
     = force_reg (__free_hook);
   if (__builtin_expect (hook != NULL, 0)) {
     (*hook)(mem, RETURN_ADDRESS (0));
@@ -2992,7 +2992,7 @@ public_rEALLOc(void* oldmem, size_t bytes)
 
   void* newp;             /* chunk to return */
 
-  __malloc_ptr_t (*hook) (__malloc_ptr_t, size_t, __const __malloc_ptr_t) =
+  __malloc_ptr_t (*hook) (__malloc_ptr_t, size_t, const __malloc_ptr_t) =
     force_reg (__realloc_hook);
   if (__builtin_expect (hook != NULL, 0))
     return (*hook)(oldmem, bytes, RETURN_ADDRESS (0));
@@ -3085,7 +3085,7 @@ public_mEMALIGn(size_t alignment, size_t bytes)
   void *p;
 
   __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
-					__const __malloc_ptr_t)) =
+					const __malloc_ptr_t)) =
     force_reg (__memalign_hook);
   if (__builtin_expect (hook != NULL, 0))
     return (*hook)(alignment, bytes, RETURN_ADDRESS (0));
@@ -3140,7 +3140,7 @@ public_vALLOc(size_t bytes)
   size_t pagesz = GLRO(dl_pagesize);
 
   __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
-					__const __malloc_ptr_t)) =
+					const __malloc_ptr_t)) =
     force_reg (__memalign_hook);
   if (__builtin_expect (hook != NULL, 0))
     return (*hook)(pagesz, bytes, RETURN_ADDRESS (0));
@@ -3186,7 +3186,7 @@ public_pVALLOc(size_t bytes)
   size_t rounded_bytes = (bytes + page_mask) & ~(page_mask);
 
   __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
-					__const __malloc_ptr_t)) =
+					const __malloc_ptr_t)) =
     force_reg (__memalign_hook);
   if (__builtin_expect (hook != NULL, 0))
     return (*hook)(pagesz, rounded_bytes, RETURN_ADDRESS (0));
@@ -3239,7 +3239,7 @@ public_cALLOc(size_t n, size_t elem_size)
     }
   }
 
-  __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, __const __malloc_ptr_t)) =
+  __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, const __malloc_ptr_t)) =
     force_reg (__malloc_hook);
   if (__builtin_expect (hook != NULL, 0)) {
     sz = bytes;
@@ -5032,7 +5032,7 @@ __posix_memalign (void **memptr, size_t alignment, size_t size)
   /* Call the hook here, so that caller is posix_memalign's caller
      and not posix_memalign itself.  */
   __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
-					__const __malloc_ptr_t)) =
+					const __malloc_ptr_t)) =
     force_reg (__memalign_hook);
   if (__builtin_expect (hook != NULL, 0))
     mem = (*hook)(alignment, size, RETURN_ADDRESS (0));
diff --git a/malloc/malloc.h b/malloc/malloc.h
index 3a43f7cfdb..eb63afb6cb 100644
--- a/malloc/malloc.h
+++ b/malloc/malloc.h
@@ -1,5 +1,5 @@
 /* Prototypes and definition for malloc implementation.
-   Copyright (C) 1996, 1997, 1999, 2000, 2002-2004, 2005, 2007, 2009, 2011
+   Copyright (C) 1996,1997,1999,2000,2002-2004,2005,2007,2009,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -41,7 +41,7 @@
 #  define __MALLOC_HOOK_VOLATILE
 #  define __MALLOC_DEPRECATED
 # else
-#  define __MALLOC_HOOK_VOLATILE __volatile
+#  define __MALLOC_HOOK_VOLATILE volatile
 #  define __MALLOC_DEPRECATED __attribute_deprecated__
 # endif
 
@@ -171,18 +171,18 @@ extern void (*__MALLOC_HOOK_VOLATILE __malloc_initialize_hook) (void)
      __MALLOC_DEPRECATED;
 /* Hooks for debugging and user-defined versions. */
 extern void (*__MALLOC_HOOK_VOLATILE __free_hook) (void *__ptr,
-						   __const __malloc_ptr_t)
+						   const __malloc_ptr_t)
      __MALLOC_DEPRECATED;
 extern void *(*__MALLOC_HOOK_VOLATILE __malloc_hook) (size_t __size,
-						      __const __malloc_ptr_t)
+						      const __malloc_ptr_t)
      __MALLOC_DEPRECATED;
 extern void *(*__MALLOC_HOOK_VOLATILE __realloc_hook) (void *__ptr,
 						       size_t __size,
-						       __const __malloc_ptr_t)
+						       const __malloc_ptr_t)
      __MALLOC_DEPRECATED;
 extern void *(*__MALLOC_HOOK_VOLATILE __memalign_hook) (size_t __alignment,
 							size_t __size,
-							__const __malloc_ptr_t)
+							const __malloc_ptr_t)
      __MALLOC_DEPRECATED;
 extern void (*__MALLOC_HOOK_VOLATILE __after_morecore_hook) (void);
 
diff --git a/malloc/mcheck.c b/malloc/mcheck.c
index e2eb83f41d..a3dd1c42a4 100644
--- a/malloc/mcheck.c
+++ b/malloc/mcheck.c
@@ -1,5 +1,5 @@
 /* Standard debugging hooks for `malloc'.
-   Copyright (C) 1990-1997,1999,2000-2002,2007,2010
+   Copyright (C) 1990-1997,1999,2000-2002,2007,2010,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written May 1989 by Mike Haertel.
@@ -30,13 +30,13 @@
 #endif
 
 /* Old hook values.  */
-static void (*old_free_hook) (__ptr_t ptr, __const __ptr_t);
+static void (*old_free_hook) (__ptr_t ptr, const __ptr_t);
 static __ptr_t (*old_malloc_hook) (__malloc_size_t size, const __ptr_t);
 static __ptr_t (*old_memalign_hook) (__malloc_size_t alignment,
 				     __malloc_size_t size,
 				     const __ptr_t);
 static __ptr_t (*old_realloc_hook) (__ptr_t ptr, __malloc_size_t size,
-				    __const __ptr_t);
+				    const __ptr_t);
 
 /* Function to call when something awful happens.  */
 static void (*abortfunc) (enum mcheck_status);
diff --git a/malloc/mtrace.c b/malloc/mtrace.c
index 0d0cb35ff3..d0fdf2302f 100644
--- a/malloc/mtrace.c
+++ b/malloc/mtrace.c
@@ -64,7 +64,7 @@ static __ptr_t (*tr_old_realloc_hook) (__ptr_t ptr, __malloc_size_t size,
 				       const __ptr_t);
 static __ptr_t (*tr_old_memalign_hook) (__malloc_size_t __alignment,
 					__malloc_size_t __size,
-					__const __ptr_t);
+					const __ptr_t);
 
 /* This function is called when the block being alloc'd, realloc'd, or
    freed has an address matching the variable "mallwatch".  In a debugger,
diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h
index 4f22abf74f..f433ddf79f 100644
--- a/math/bits/mathcalls.h
+++ b/math/bits/mathcalls.h
@@ -1,5 +1,5 @@
 /* Prototype declarations for math functions; helper file for <math.h>.
-   Copyright (C) 1996-2002, 2003, 2006, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1996-2003, 2006, 2011, 2012 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
@@ -223,7 +223,7 @@ __END_NAMESPACE_C99
 #ifdef __USE_ISOC99
 __BEGIN_NAMESPACE_C99
 /* Return representation of NaN for double type.  */
-__MATHCALLX (nan,, (__const char *__tagb), (__const__));
+__MATHCALLX (nan,, (const char *__tagb), (__const__));
 __END_NAMESPACE_C99
 #endif
 
diff --git a/math/fenv.h b/math/fenv.h
index 8a06f024e4..23c7b1c9d4 100644
--- a/math/fenv.h
+++ b/math/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999, 2000, 2012 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
@@ -73,7 +73,7 @@ extern int feraiseexcept (int __excepts) __THROW;
 
 /* Set complete status for exceptions indicated by EXCEPTS according to
    the representation in the object pointed to by FLAGP.  */
-extern int fesetexceptflag (__const fexcept_t *__flagp, int __excepts) __THROW;
+extern int fesetexceptflag (const fexcept_t *__flagp, int __excepts) __THROW;
 
 /* Determine which of subset of the exceptions specified by EXCEPTS are
    currently set.  */
@@ -102,12 +102,12 @@ extern int feholdexcept (fenv_t *__envp) __THROW;
 
 /* Establish the floating-point environment represented by the object
    pointed to by ENVP.  */
-extern int fesetenv (__const fenv_t *__envp) __THROW;
+extern int fesetenv (const fenv_t *__envp) __THROW;
 
 /* Save current exceptions in temporary storage, install environment
    represented by object pointed to by ENVP and raise exceptions
    according to saved exceptions.  */
-extern int feupdateenv (__const fenv_t *__envp) __THROW;
+extern int feupdateenv (const fenv_t *__envp) __THROW;
 
 
 /* Include optimization.  */
diff --git a/math/math_private.h b/math/math_private.h
index 04c112fd60..602a271156 100644
--- a/math/math_private.h
+++ b/math/math_private.h
@@ -353,10 +353,10 @@ extern double __slowpow (double __x, double __y, double __z);
 extern void __docos (double __x, double __dx, double __v[]);
 
 #ifndef math_opt_barrier
-#define math_opt_barrier(x) \
+# define math_opt_barrier(x) \
 ({ __typeof (x) __x = (x); __asm ("" : "+m" (__x)); __x; })
-#define math_force_eval(x) \
-({ __typeof (x) __x = (x); __asm __volatile ("" : : "m" (__x)); })
+# define math_force_eval(x) \
+({ __typeof (x) __x = (x); __asm __volatile__ ("" : : "m" (__x)); })
 #endif
 
 
diff --git a/misc/bits/error.h b/misc/bits/error.h
index 799a3f18bf..16633cd649 100644
--- a/misc/bits/error.h
+++ b/misc/bits/error.h
@@ -1,5 +1,5 @@
 /* Specializations for error functions.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2012 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
@@ -23,11 +23,11 @@
 
 
 extern void __REDIRECT (__error_alias, (int __status, int __errnum,
-					__const char *__format, ...),
+					const char *__format, ...),
 			error)
   __attribute__ ((__format__ (__printf__, 3, 4)));
 extern void __REDIRECT (__error_noreturn, (int __status, int __errnum,
-					   __const char *__format, ...),
+					   const char *__format, ...),
 			error)
   __attribute__ ((__noreturn__, __format__ (__printf__, 3, 4)));
 
@@ -35,7 +35,7 @@ extern void __REDIRECT (__error_noreturn, (int __status, int __errnum,
 /* If we know the function will never return make sure the compiler
    realizes that, too.  */
 __extern_always_inline void
-error (int __status, int __errnum, __const char *__format, ...)
+error (int __status, int __errnum, const char *__format, ...)
 {
   if (__builtin_constant_p (__status) && __status != 0)
     __error_noreturn (__status, __errnum, __format, __va_arg_pack ());
@@ -45,15 +45,15 @@ error (int __status, int __errnum, __const char *__format, ...)
 
 
 extern void __REDIRECT (__error_at_line_alias, (int __status, int __errnum,
-						__const char *__fname,
+						const char *__fname,
 						unsigned int __line,
-						__const char *__format, ...),
+						const char *__format, ...),
 			error_at_line)
   __attribute__ ((__format__ (__printf__, 5, 6)));
 extern void __REDIRECT (__error_at_line_noreturn, (int __status, int __errnum,
-						   __const char *__fname,
+						   const char *__fname,
 						   unsigned int __line,
-						   __const char *__format,
+						   const char *__format,
 						   ...),
 			error_at_line)
   __attribute__ ((__noreturn__, __format__ (__printf__, 5, 6)));
@@ -62,8 +62,8 @@ extern void __REDIRECT (__error_at_line_noreturn, (int __status, int __errnum,
 /* If we know the function will never return make sure the compiler
    realizes that, too.  */
 __extern_always_inline void
-error_at_line (int __status, int __errnum, __const char *__fname,
-	       unsigned int __line,__const char *__format, ...)
+error_at_line (int __status, int __errnum, const char *__fname,
+	       unsigned int __line, const char *__format, ...)
 {
   if (__builtin_constant_p (__status) && __status != 0)
     __error_at_line_noreturn (__status, __errnum, __fname, __line, __format,
diff --git a/misc/bits/syslog.h b/misc/bits/syslog.h
index 5d64d7acb8..faf47fbc68 100644
--- a/misc/bits/syslog.h
+++ b/misc/bits/syslog.h
@@ -1,5 +1,5 @@
 /* Checking macros for syslog functions.
-   Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2010, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,12 +22,12 @@
 #endif
 
 
-extern void __syslog_chk (int __pri, int __flag, __const char *__fmt, ...)
+extern void __syslog_chk (int __pri, int __flag, const char *__fmt, ...)
      __attribute__ ((__format__ (__printf__, 3, 4)));
 
 #ifdef __va_arg_pack
 __extern_always_inline void
-syslog (int __pri, __const char *__fmt, ...)
+syslog (int __pri, const char *__fmt, ...)
 {
   __syslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());
 }
@@ -38,12 +38,12 @@ syslog (int __pri, __const char *__fmt, ...)
 
 
 #ifdef __USE_BSD
-extern void __vsyslog_chk (int __pri, int __flag, __const char *__fmt,
+extern void __vsyslog_chk (int __pri, int __flag, const char *__fmt,
 			   __gnuc_va_list __ap)
      __attribute__ ((__format__ (__printf__, 3, 0)));
 
 __extern_always_inline void
-vsyslog (int __pri, __const char *__fmt, __gnuc_va_list __ap)
+vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap)
 {
   __vsyslog_chk (__pri,  __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
 }
diff --git a/misc/err.h b/misc/err.h
index 7ff3553ab3..28dd44e991 100644
--- a/misc/err.h
+++ b/misc/err.h
@@ -1,5 +1,5 @@
 /* 4.4BSD utility functions for error messages.
-   Copyright (C) 1995,1996,1997,1998,1999,2003 Free Software Foundation, Inc.
+   Copyright (C) 1995,1996,1997,1998,1999,2003,2012 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
@@ -32,25 +32,25 @@ __BEGIN_DECLS
 
 /* Print "program: ", FORMAT, ": ", the standard error string for errno,
    and a newline, on stderr.  */
-extern void warn (__const char *__format, ...)
+extern void warn (const char *__format, ...)
      __attribute__ ((__format__ (__printf__, 1, 2)));
-extern void vwarn (__const char *__format, __gnuc_va_list)
+extern void vwarn (const char *__format, __gnuc_va_list)
      __attribute__ ((__format__ (__printf__, 1, 0)));
 
 /* Likewise, but without ": " and the standard error string.  */
-extern void warnx (__const char *__format, ...)
+extern void warnx (const char *__format, ...)
      __attribute__ ((__format__ (__printf__, 1, 2)));
-extern void vwarnx (__const char *__format, __gnuc_va_list)
+extern void vwarnx (const char *__format, __gnuc_va_list)
      __attribute__ ((__format__ (__printf__, 1, 0)));
 
 /* Likewise, and then exit with STATUS.  */
-extern void err (int __status, __const char *__format, ...)
+extern void err (int __status, const char *__format, ...)
      __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
-extern void verr (int __status, __const char *__format, __gnuc_va_list)
+extern void verr (int __status, const char *__format, __gnuc_va_list)
      __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
-extern void errx (int __status, __const char *__format, ...)
+extern void errx (int __status, const char *__format, ...)
      __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
-extern void verrx (int __status, __const char *, __gnuc_va_list)
+extern void verrx (int __status, const char *, __gnuc_va_list)
      __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
 
 __END_DECLS
diff --git a/misc/error.h b/misc/error.h
index 00321e4c3d..4759d43889 100644
--- a/misc/error.h
+++ b/misc/error.h
@@ -1,5 +1,5 @@
 /* Declaration for error-reporting function
-   Copyright (C) 1995,1996,1997,2003,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 1995-1997,2003,2006,2007,2012 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
@@ -29,11 +29,11 @@ __BEGIN_DECLS
    if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
    If STATUS is nonzero, terminate the program with `exit (STATUS)'.  */
 
-extern void error (int __status, int __errnum, __const char *__format, ...)
+extern void error (int __status, int __errnum, const char *__format, ...)
      __attribute__ ((__format__ (__printf__, 3, 4)));
 
-extern void error_at_line (int __status, int __errnum, __const char *__fname,
-			   unsigned int __lineno, __const char *__format, ...)
+extern void error_at_line (int __status, int __errnum, const char *__fname,
+			   unsigned int __lineno, const char *__format, ...)
      __attribute__ ((__format__ (__printf__, 5, 6)));
 
 /* If NULL, error will flush stdout, then print on stderr the program
diff --git a/misc/fstab.h b/misc/fstab.h
index 24ecad7dbc..9f17e1b96a 100644
--- a/misc/fstab.h
+++ b/misc/fstab.h
@@ -69,8 +69,8 @@ struct fstab
 __BEGIN_DECLS
 
 extern struct fstab *getfsent (void) __THROW;
-extern struct fstab *getfsspec (__const char *__name) __THROW;
-extern struct fstab *getfsfile (__const char *__name) __THROW;
+extern struct fstab *getfsspec (const char *__name) __THROW;
+extern struct fstab *getfsfile (const char *__name) __THROW;
 extern int setfsent (void) __THROW;
 extern void endfsent (void) __THROW;
 
diff --git a/misc/mntent.h b/misc/mntent.h
index a82e9539af..15e7360819 100644
--- a/misc/mntent.h
+++ b/misc/mntent.h
@@ -1,5 +1,5 @@
 /* Utilities for reading/writing fstab, mtab, etc.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1995-1999, 2012 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
@@ -64,7 +64,7 @@ struct mntent
 
 /* Prepare to begin reading and/or writing mount table entries from the
    beginning of FILE.  MODE is as for `fopen'.  */
-extern FILE *setmntent (__const char *__file, __const char *__mode) __THROW;
+extern FILE *setmntent (const char *__file, const char *__mode) __THROW;
 
 /* Read one mount table entry from STREAM.  Returns a pointer to storage
    reused on the next call, or null for EOF or error (use feof/ferror to
@@ -82,15 +82,15 @@ extern struct mntent *getmntent_r (FILE *__restrict __stream,
 /* Write the mount table entry described by MNT to STREAM.
    Return zero on success, nonzero on failure.  */
 extern int addmntent (FILE *__restrict __stream,
-		      __const struct mntent *__restrict __mnt) __THROW;
+		      const struct mntent *__restrict __mnt) __THROW;
 
 /* Close a stream opened with `setmntent'.  */
 extern int endmntent (FILE *__stream) __THROW;
 
 /* Search MNT->mnt_opts for an option matching OPT.
    Returns the address of the substring, or null if none found.  */
-extern char *hasmntopt (__const struct mntent *__mnt,
-			__const char *__opt) __THROW;
+extern char *hasmntopt (const struct mntent *__mnt,
+			const char *__opt) __THROW;
 
 
 __END_DECLS
diff --git a/misc/regexp.h b/misc/regexp.h
index 0e979d2d87..5c7a161dbc 100644
--- a/misc/regexp.h
+++ b/misc/regexp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2004, 2008
+/* Copyright (C) 1996, 1997, 1998, 1999, 2004, 2008, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -101,7 +101,7 @@ extern char *locs;
    on the macros.  */
 char *
 compile (char *__restrict instring, char *__restrict expbuf,
-	 __const char *__restrict endbuf, int eof)
+	 const char *__restrict endbuf, int eof)
 {
   char *__input_buffer = NULL;
   size_t __input_size = 0;
@@ -213,14 +213,14 @@ compile (char *__restrict instring, char *__restrict expbuf,
    found in the buffer starting at EXPBUF.  `loc1' will return the
    first character matched and `loc2' points to the next unmatched
    character.  */
-extern int step (__const char *__restrict __string,
-		 __const char *__restrict __expbuf) __THROW;
+extern int step (const char *__restrict __string,
+		 const char *__restrict __expbuf) __THROW;
 
 /* Match the beginning of STRING with the compiled regular expression
    in EXPBUF.  If the match is successful `loc2' will contain the
    position of the first unmatched character.  */
-extern int advance (__const char *__restrict __string,
-		    __const char *__restrict __expbuf) __THROW;
+extern int advance (const char *__restrict __string,
+		    const char *__restrict __expbuf) __THROW;
 
 
 __END_DECLS
diff --git a/misc/search.h b/misc/search.h
index 2ffba697b0..a3610be7db 100644
--- a/misc/search.h
+++ b/misc/search.h
@@ -1,5 +1,5 @@
 /* Declarations for System V style searching functions.
-   Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1995-1999, 2000, 2012 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
@@ -52,7 +52,7 @@ extern void remque (void *__elem) __THROW;
 /* For use with hsearch(3).  */
 #ifndef __COMPAR_FN_T
 # define __COMPAR_FN_T
-typedef int (*__compar_fn_t) (__const void *, __const void *);
+typedef int (*__compar_fn_t) (const void *, const void *);
 
 # ifdef	__USE_GNU
 typedef __compar_fn_t comparison_fn_t;
@@ -127,28 +127,28 @@ VISIT;
 
 /* Search for an entry matching the given KEY in the tree pointed to
    by *ROOTP and insert a new element if not found.  */
-extern void *tsearch (__const void *__key, void **__rootp,
+extern void *tsearch (const void *__key, void **__rootp,
 		      __compar_fn_t __compar);
 
 /* Search for an entry matching the given KEY in the tree pointed to
    by *ROOTP.  If no matching entry is available return NULL.  */
-extern void *tfind (__const void *__key, void *__const *__rootp,
+extern void *tfind (const void *__key, void *const *__rootp,
 		    __compar_fn_t __compar);
 
 /* Remove the element matching KEY from the tree pointed to by *ROOTP.  */
-extern void *tdelete (__const void *__restrict __key,
+extern void *tdelete (const void *__restrict __key,
 		      void **__restrict __rootp,
 		      __compar_fn_t __compar);
 
 #ifndef __ACTION_FN_T
 # define __ACTION_FN_T
-typedef void (*__action_fn_t) (__const void *__nodep, VISIT __value,
+typedef void (*__action_fn_t) (const void *__nodep, VISIT __value,
 			       int __level);
 #endif
 
 /* Walk through the whole tree and call the ACTION callback for every node
    or leaf.  */
-extern void twalk (__const void *__root, __action_fn_t __action);
+extern void twalk (const void *__root, __action_fn_t __action);
 
 #ifdef __USE_GNU
 /* Callback type for function to free a tree node.  If the keys are atomic
@@ -162,12 +162,12 @@ extern void tdestroy (void *__root, __free_fn_t __freefct);
 
 /* Perform linear search for KEY by comparing by COMPAR in an array
    [BASE,BASE+NMEMB*SIZE).  */
-extern void *lfind (__const void *__key, __const void *__base,
+extern void *lfind (const void *__key, const void *__base,
 		    size_t *__nmemb, size_t __size, __compar_fn_t __compar);
 
 /* Perform linear search for KEY by comparing by COMPAR function in
    array [BASE,BASE+NMEMB*SIZE) and insert entry if not found.  */
-extern void *lsearch (__const void *__key, void *__base,
+extern void *lsearch (const void *__key, void *__base,
 		      size_t *__nmemb, size_t __size, __compar_fn_t __compar);
 
 __END_DECLS
diff --git a/misc/sgtty.h b/misc/sgtty.h
index 5b2bc41849..a73646dba3 100644
--- a/misc/sgtty.h
+++ b/misc/sgtty.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1996, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1996,1998,1999,2012 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
@@ -33,7 +33,7 @@ __BEGIN_DECLS
 extern int gtty (int __fd, struct sgttyb *__params) __THROW;
 
 /* Set the terminal parameters associated with FD to *PARAMS.  */
-extern int stty (int __fd, __const struct sgttyb *__params) __THROW;
+extern int stty (int __fd, const struct sgttyb *__params) __THROW;
 
 
 __END_DECLS
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index c856e87a07..cf55dbe676 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2001, 2002, 2004, 2005, 2006, 2007, 2009, 2011
+/* Copyright (C) 1992-2002, 2004, 2005, 2006, 2007, 2009, 2011, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -77,10 +77,6 @@
 # define __THROWNL
 # define __NTH(fct)	fct
 
-# define __const	const
-# define __signed	signed
-# define __volatile	volatile
-
 #endif	/* GCC.  */
 
 /* These two macros are not used in glibc anymore.  They are kept here
diff --git a/misc/sys/mman.h b/misc/sys/mman.h
index 4cd8a3fe72..9f0f63eb49 100644
--- a/misc/sys/mman.h
+++ b/misc/sys/mman.h
@@ -1,5 +1,5 @@
 /* Definitions for BSD-style memory management.
-   Copyright (C) 1994-2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1994-2000, 2003-2005, 2012 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
@@ -101,10 +101,10 @@ extern int posix_madvise (void *__addr, size_t __len, int __advice) __THROW;
 
 /* Guarantee all whole pages mapped by the range [ADDR,ADDR+LEN) to
    be memory resident.  */
-extern int mlock (__const void *__addr, size_t __len) __THROW;
+extern int mlock (const void *__addr, size_t __len) __THROW;
 
 /* Unlock whole pages previously mapped by the range [ADDR,ADDR+LEN).  */
-extern int munlock (__const void *__addr, size_t __len) __THROW;
+extern int munlock (const void *__addr, size_t __len) __THROW;
 
 /* Cause all currently mapped pages of the process to be memory resident
    until unlocked by a call to the `munlockall', until the process exits,
@@ -142,10 +142,10 @@ extern int remap_file_pages (void *__start, size_t __size, int __prot,
 
 
 /* Open shared memory segment.  */
-extern int shm_open (__const char *__name, int __oflag, mode_t __mode);
+extern int shm_open (const char *__name, int __oflag, mode_t __mode);
 
 /* Remove shared memory segment.  */
-extern int shm_unlink (__const char *__name);
+extern int shm_unlink (const char *__name);
 
 __END_DECLS
 
diff --git a/misc/sys/syslog.h b/misc/sys/syslog.h
index 22da1ce3e9..aed419e446 100644
--- a/misc/sys/syslog.h
+++ b/misc/sys/syslog.h
@@ -178,7 +178,7 @@ extern void closelog (void);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern void openlog (__const char *__ident, int __option, int __facility);
+extern void openlog (const char *__ident, int __option, int __facility);
 
 /* Set the log mask level.  */
 extern int setlogmask (int __mask) __THROW;
@@ -187,7 +187,7 @@ extern int setlogmask (int __mask) __THROW;
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern void syslog (int __pri, __const char *__fmt, ...)
+extern void syslog (int __pri, const char *__fmt, ...)
      __attribute__ ((__format__ (__printf__, 2, 3)));
 
 #ifdef __USE_BSD
@@ -197,7 +197,7 @@ extern void syslog (int __pri, __const char *__fmt, ...)
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern void vsyslog (int __pri, __const char *__fmt, __gnuc_va_list __ap)
+extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap)
      __attribute__ ((__format__ (__printf__, 2, 0)));
 #endif
 
diff --git a/misc/sys/uio.h b/misc/sys/uio.h
index a32b7ed8e5..299d320f44 100644
--- a/misc/sys/uio.h
+++ b/misc/sys/uio.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991,1992,1996-1999,2003,2009 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1996-1999,2003,2009,2012
+   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
@@ -37,7 +38,7 @@ __BEGIN_DECLS
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count)
+extern ssize_t readv (int __fd, const struct iovec *__iovec, int __count)
   __wur;
 
 /* Write data pointed by the buffers described by IOVEC, which
@@ -48,7 +49,7 @@ extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count)
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count)
+extern ssize_t writev (int __fd, const struct iovec *__iovec, int __count)
   __wur;
 
 
@@ -63,7 +64,7 @@ extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count)
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t preadv (int __fd, __const struct iovec *__iovec, int __count,
+extern ssize_t preadv (int __fd, const struct iovec *__iovec, int __count,
 		       __off_t __offset) __wur;
 
 /* Write data pointed by the buffers described by IOVEC, which is a
@@ -75,14 +76,14 @@ extern ssize_t preadv (int __fd, __const struct iovec *__iovec, int __count,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t pwritev (int __fd, __const struct iovec *__iovec, int __count,
+extern ssize_t pwritev (int __fd, const struct iovec *__iovec, int __count,
 			__off_t __offset) __wur;
 # else
 #  ifdef __REDIRECT
-extern ssize_t __REDIRECT (preadv, (int __fd, __const struct iovec *__iovec,
+extern ssize_t __REDIRECT (preadv, (int __fd, const struct iovec *__iovec,
 				    int __count, __off64_t __offset),
 			   preadv64) __wur;
-extern ssize_t __REDIRECT (pwritev, (int __fd, __const struct iovec *__iovec,
+extern ssize_t __REDIRECT (pwritev, (int __fd, const struct iovec *__iovec,
 				     int __count, __off64_t __offset),
 			   pwritev64) __wur;
 #  else
@@ -101,7 +102,7 @@ extern ssize_t __REDIRECT (pwritev, (int __fd, __const struct iovec *__iovec,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t preadv64 (int __fd, __const struct iovec *__iovec, int __count,
+extern ssize_t preadv64 (int __fd, const struct iovec *__iovec, int __count,
 			 __off64_t __offset) __wur;
 
 /* Write data pointed by the buffers described by IOVEC, which is a
@@ -113,7 +114,7 @@ extern ssize_t preadv64 (int __fd, __const struct iovec *__iovec, int __count,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t pwritev64 (int __fd, __const struct iovec *__iovec, int __count,
+extern ssize_t pwritev64 (int __fd, const struct iovec *__iovec, int __count,
 			  __off64_t __offset) __wur;
 # endif
 #endif	/* Use BSD */
diff --git a/misc/sys/xattr.h b/misc/sys/xattr.h
index 2737f90bde..e03db5db14 100644
--- a/misc/sys/xattr.h
+++ b/misc/sys/xattr.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2012 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
@@ -37,48 +37,48 @@ enum
 
 /* Set the attribute NAME of the file pointed to by PATH to VALUE (which
    is SIZE bytes long).  Return 0 on success, -1 for errors.  */
-extern int setxattr (__const char *__path, __const char *__name,
-		     __const void *__value, size_t __size, int __flags)
+extern int setxattr (const char *__path, const char *__name,
+		     const void *__value, size_t __size, int __flags)
 	__THROW;
 
 /* Set the attribute NAME of the file pointed to by PATH to VALUE (which is
    SIZE bytes long), not following symlinks for the last pathname component.
    Return 0 on success, -1 for errors.  */
-extern int lsetxattr (__const char *__path, __const char *__name,
-		      __const void *__value, size_t __size, int __flags)
+extern int lsetxattr (const char *__path, const char *__name,
+		      const void *__value, size_t __size, int __flags)
 	__THROW;
 
 /* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE
    bytes long).  Return 0 on success, -1 for errors.  */
-extern int fsetxattr (int __fd, __const char *__name, __const void *__value,
+extern int fsetxattr (int __fd, const char *__name, const void *__value,
 		      size_t __size, int __flags) __THROW;
 
 /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is
    SIZE bytes long).  Return 0 on success, -1 for errors.  */
-extern ssize_t getxattr (__const char *__path, __const char *__name,
+extern ssize_t getxattr (const char *__path, const char *__name,
 			 void *__value, size_t __size) __THROW;
 
 /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is
    SIZE bytes long), not following symlinks for the last pathname component.
    Return 0 on success, -1 for errors.  */
-extern ssize_t lgetxattr (__const char *__path, __const char *__name,
+extern ssize_t lgetxattr (const char *__path, const char *__name,
 			  void *__value, size_t __size) __THROW;
 
 /* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE
    bytes long).  Return 0 on success, -1 for errors.  */
-extern ssize_t fgetxattr (int __fd, __const char *__name, void *__value,
+extern ssize_t fgetxattr (int __fd, const char *__name, void *__value,
 			  size_t __size) __THROW;
 
 /* List attributes of the file pointed to by PATH into the user-supplied
    buffer LIST (which is SIZE bytes big).  Return 0 on success, -1 for
    errors.  */
-extern ssize_t listxattr (__const char *__path, char *__list, size_t __size)
+extern ssize_t listxattr (const char *__path, char *__list, size_t __size)
 	__THROW;
 
 /* List attributes of the file pointed to by PATH into the user-supplied
    buffer LIST (which is SIZE bytes big), not following symlinks for the
    last pathname component.  Return 0 on success, -1 for errors.  */
-extern ssize_t llistxattr (__const char *__path, char *__list, size_t __size)
+extern ssize_t llistxattr (const char *__path, char *__list, size_t __size)
 	__THROW;
 
 /* List attributes of the file descriptor FD into the user-supplied buffer
@@ -88,16 +88,16 @@ extern ssize_t flistxattr (int __fd, char *__list, size_t __size)
 
 /* Remove the attribute NAME from the file pointed to by PATH.  Return 0
    on success, -1 for errors.  */
-extern int removexattr (__const char *__path, __const char *__name) __THROW;
+extern int removexattr (const char *__path, const char *__name) __THROW;
 
 /* Remove the attribute NAME from the file pointed to by PATH, not
    following symlinks for the last pathname component.  Return 0 on
    success, -1 for errors.  */
-extern int lremovexattr (__const char *__path, __const char *__name) __THROW;
+extern int lremovexattr (const char *__path, const char *__name) __THROW;
 
 /* Remove the attribute NAME from the file descriptor FD.  Return 0 on
    success, -1 for errors.  */
-extern int fremovexattr (int __fd, __const char *__name) __THROW;
+extern int fremovexattr (int __fd, const char *__name) __THROW;
 
 __END_DECLS
 
diff --git a/misc/ttyent.h b/misc/ttyent.h
index 0b221bccfa..fe418a5377 100644
--- a/misc/ttyent.h
+++ b/misc/ttyent.h
@@ -56,7 +56,7 @@ struct ttyent {
 __BEGIN_DECLS
 
 extern struct ttyent *getttyent (void) __THROW;
-extern struct ttyent *getttynam (__const char *__tty) __THROW;
+extern struct ttyent *getttynam (const char *__tty) __THROW;
 extern int setttyent (void) __THROW;
 extern int endttyent (void) __THROW;
 
diff --git a/nis/rpcsvc/ypclnt.h b/nis/rpcsvc/ypclnt.h
index aa37a29c9b..1514209a82 100644
--- a/nis/rpcsvc/ypclnt.h
+++ b/nis/rpcsvc/ypclnt.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996.
 
@@ -59,26 +59,26 @@ struct ypall_callback
   };
 
 /* External NIS client function references.  */
-extern int yp_bind (__const char *) __THROW;
-extern void yp_unbind (__const char *) __THROW;
+extern int yp_bind (const char *) __THROW;
+extern void yp_unbind (const char *) __THROW;
 extern int yp_get_default_domain (char **) __THROW;
-extern int yp_match (__const char *, __const char *, __const char *,
-		     __const int, char **, int *) __THROW;
-extern int yp_first (__const char *, __const char *, char **,
+extern int yp_match (const char *, const char *, const char *,
+		     const int, char **, int *) __THROW;
+extern int yp_first (const char *, const char *, char **,
 		     int *, char **, int *) __THROW;
-extern int yp_next (__const char *, __const char *, __const char *,
-		    __const int, char **, int *, char **, int *) __THROW;
-extern int yp_master (__const char *, __const char *, char **) __THROW;
-extern int yp_order (__const char *, __const char *, unsigned int *) __THROW;
-extern int yp_all (__const char *, __const char *,
-		   __const struct ypall_callback *) __THROW;
-extern __const char *yperr_string (__const int) __THROW;
-extern __const char *ypbinderr_string (__const int) __THROW;
-extern int ypprot_err (__const int) __THROW;
+extern int yp_next (const char *, const char *, const char *,
+		    const int, char **, int *, char **, int *) __THROW;
+extern int yp_master (const char *, const char *, char **) __THROW;
+extern int yp_order (const char *, const char *, unsigned int *) __THROW;
+extern int yp_all (const char *, const char *,
+		   const struct ypall_callback *) __THROW;
+extern const char *yperr_string (const int) __THROW;
+extern const char *ypbinderr_string (const int) __THROW;
+extern int ypprot_err (const int) __THROW;
 extern int yp_update (char *, char *, unsigned int,  char *,
 		      int, char *, int) __THROW;
 #if 0
-extern int yp_maplist (__const char *, struct ypmaplist **) __THROW;
+extern int yp_maplist (const char *, struct ypmaplist **) __THROW;
 #endif
 
 /* This functions exists only under BSD and Linux systems.  */
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 6ccd981498..3f9b2424dc 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,12 @@
 2012-01-07  Ulrich Drepper  <drepper@gmail.com>
 
+	[BZ #13553]
+	* pthreadP.h: Use const instead of __const.
+	* semaphore.h: Likewise.
+	* sysdeps/pthread/bits/libc-lock.h: Likewise.
+	* sysdeps/pthread/bits/sigthread.h: Likewise.
+	* sysdeps/pthread/pthread.h: Likewise.
+
 	* Makefile: Remove elf=yes test, only ELF is supported.
 
 	* shlib-versions: Remove entries for ports architectures.
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 845434e50e..e4a3c74ac9 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -406,9 +406,9 @@ extern int __pthread_setschedparam (pthread_t thread_id, int policy,
 				    const struct sched_param *param);
 extern int __pthread_setcancelstate (int state, int *oldstate);
 extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
-				 __const pthread_mutexattr_t *__mutexattr);
+				 const pthread_mutexattr_t *__mutexattr);
 extern int __pthread_mutex_init_internal (pthread_mutex_t *__mutex,
-					  __const pthread_mutexattr_t *__mutexattr)
+					  const pthread_mutexattr_t *__mutexattr)
      attribute_hidden;
 extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
 extern int __pthread_mutex_destroy_internal (pthread_mutex_t *__mutex)
@@ -447,22 +447,22 @@ extern int __pthread_attr_getschedpolicy (const pthread_attr_t *attr,
 extern int __pthread_attr_setschedpolicy (pthread_attr_t *attr, int policy);
 extern int __pthread_attr_getscope (const pthread_attr_t *attr, int *scope);
 extern int __pthread_attr_setscope (pthread_attr_t *attr, int scope);
-extern int __pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
+extern int __pthread_attr_getstackaddr (const pthread_attr_t *__restrict
 					__attr, void **__restrict __stackaddr);
 extern int __pthread_attr_setstackaddr (pthread_attr_t *__attr,
 					void *__stackaddr);
-extern int __pthread_attr_getstacksize (__const pthread_attr_t *__restrict
+extern int __pthread_attr_getstacksize (const pthread_attr_t *__restrict
 					__attr,
 					size_t *__restrict __stacksize);
 extern int __pthread_attr_setstacksize (pthread_attr_t *__attr,
 					size_t __stacksize);
-extern int __pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
+extern int __pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
 				    void **__restrict __stackaddr,
 				    size_t *__restrict __stacksize);
 extern int __pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
 				    size_t __stacksize);
 extern int __pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
-				  __const pthread_rwlockattr_t *__restrict
+				  const pthread_rwlockattr_t *__restrict
 				  __attr);
 extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock);
 extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock);
diff --git a/nptl/semaphore.h b/nptl/semaphore.h
index 11caf664ab..864bac3809 100644
--- a/nptl/semaphore.h
+++ b/nptl/semaphore.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2011, 2012 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
@@ -40,13 +40,13 @@ extern int sem_init (sem_t *__sem, int __pshared, unsigned int __value)
 extern int sem_destroy (sem_t *__sem) __THROW;
 
 /* Open a named semaphore NAME with open flags OFLAG.  */
-extern sem_t *sem_open (__const char *__name, int __oflag, ...) __THROW;
+extern sem_t *sem_open (const char *__name, int __oflag, ...) __THROW;
 
 /* Close descriptor for named semaphore SEM.  */
 extern int sem_close (sem_t *__sem) __THROW;
 
 /* Remove named semaphore NAME.  */
-extern int sem_unlink (__const char *__name) __THROW;
+extern int sem_unlink (const char *__name) __THROW;
 
 /* Wait for SEM being posted.
 
@@ -60,7 +60,7 @@ extern int sem_wait (sem_t *__sem);
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 extern int sem_timedwait (sem_t *__restrict __sem,
-			  __const struct timespec *__restrict __abstime);
+			  const struct timespec *__restrict __abstime);
 #endif
 
 /* Test whether SEM is posted.  */
diff --git a/nptl/sysdeps/pthread/bits/libc-lock.h b/nptl/sysdeps/pthread/bits/libc-lock.h
index 0cad8aa899..efbe1d6d70 100644
--- a/nptl/sysdeps/pthread/bits/libc-lock.h
+++ b/nptl/sysdeps/pthread/bits/libc-lock.h
@@ -1,5 +1,5 @@
 /* libc-internal interface for mutex locks.  NPTL version.
-   Copyright (C) 1996-2003, 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1996-2003, 2005, 2007, 2012 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
@@ -142,7 +142,7 @@ typedef pthread_key_t __libc_key_t;
 #ifdef __PIC__
 # define __libc_maybe_call(FUNC, ARGS, ELSE) \
   (__extension__ ({ __typeof (FUNC) *_fn = (FUNC); \
-                    _fn != NULL ? (*_fn) ARGS : ELSE; }))
+		    _fn != NULL ? (*_fn) ARGS : ELSE; }))
 #else
 # define __libc_maybe_call(FUNC, ARGS, ELSE) \
   (FUNC != NULL ? FUNC ARGS : ELSE)
@@ -383,13 +383,13 @@ typedef pthread_key_t __libc_key_t;
    no C++ code is called in the middle.  The old-style handling is
    faster and the support is not going away.  */
 extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
-                                   void (*routine) (void *), void *arg);
+				   void (*routine) (void *), void *arg);
 extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer,
-                                  int execute);
+				  int execute);
 extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer,
-                                         void (*routine) (void *), void *arg);
+					 void (*routine) (void *), void *arg);
 extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer,
-                                          int execute);
+					  int execute);
 
 /* Start critical region with cleanup.  */
 #define __libc_cleanup_region_start(DOIT, FCT, ARG) \
@@ -437,7 +437,7 @@ __libc_cleanup_routine (struct __pthread_cleanup_frame *f)
     struct __pthread_cleanup_frame __clframe				      \
       __attribute__ ((__cleanup__ (__libc_cleanup_routine)))		      \
       = { .__cancel_routine = (fct), .__cancel_arg = (arg),		      \
-          .__do_it = 1 };
+	  .__do_it = 1 };
 
 #define __libc_cleanup_pop(execute) \
     __clframe.__do_it = (execute);					      \
@@ -471,7 +471,7 @@ extern int __register_atfork (void (*__prepare) (void),
    library.  */
 
 extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
-				 __const pthread_mutexattr_t *__mutex_attr);
+				 const pthread_mutexattr_t *__mutex_attr);
 
 extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
 
@@ -490,7 +490,7 @@ extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
 
 #ifdef __USE_UNIX98
 extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock,
-				  __const pthread_rwlockattr_t *__attr);
+				  const pthread_rwlockattr_t *__attr);
 
 extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock);
 
@@ -509,7 +509,7 @@ extern int __pthread_key_create (pthread_key_t *__key,
 				 void (*__destr_function) (void *));
 
 extern int __pthread_setspecific (pthread_key_t __key,
-				  __const void *__pointer);
+				  const void *__pointer);
 
 extern void *__pthread_getspecific (pthread_key_t __key);
 
diff --git a/nptl/sysdeps/pthread/bits/sigthread.h b/nptl/sysdeps/pthread/bits/sigthread.h
index 9a524e57db..672e7afccb 100644
--- a/nptl/sysdeps/pthread/bits/sigthread.h
+++ b/nptl/sysdeps/pthread/bits/sigthread.h
@@ -1,5 +1,5 @@
 /* Signal handling function for threaded programs.
-   Copyright (C) 1998, 1999, 2000, 2002, 2009 Free Software Foundation, Inc.
+   Copyright (C) 1998-2000, 2002, 2009, 2012 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
@@ -29,7 +29,7 @@
 /* Modify the signal mask for the calling thread.  The arguments have
    the same meaning as for sigprocmask(2). */
 extern int pthread_sigmask (int __how,
-			    __const __sigset_t *__restrict __newmask,
+			    const __sigset_t *__restrict __newmask,
 			    __sigset_t *__restrict __oldmask)__THROW;
 
 /* Send signal SIGNO to the given thread. */
diff --git a/nptl/sysdeps/pthread/pthread.h b/nptl/sysdeps/pthread/pthread.h
index a92428162d..05cf7d2f68 100644
--- a/nptl/sysdeps/pthread/pthread.h
+++ b/nptl/sysdeps/pthread/pthread.h
@@ -1,5 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
+/* Copyright (C) 2002-2011, 2012 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
@@ -223,7 +222,7 @@ __BEGIN_DECLS
    getting passed ARG.  Creation attributed come from ATTR.  The new
    handle is stored in *NEWTHREAD.  */
 extern int pthread_create (pthread_t *__restrict __newthread,
-			   __const pthread_attr_t *__restrict __attr,
+			   const pthread_attr_t *__restrict __attr,
 			   void *(*__start_routine) (void *),
 			   void *__restrict __arg) __THROWNL __nonnull ((1, 3));
 
@@ -253,7 +252,7 @@ extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __THROW;
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
-				 __const struct timespec *__abstime);
+				 const struct timespec *__abstime);
 #endif
 
 /* Indicate that the thread TH is never to be joined with PTHREAD_JOIN.
@@ -282,7 +281,7 @@ extern int pthread_attr_destroy (pthread_attr_t *__attr)
      __THROW __nonnull ((1));
 
 /* Get detach state attribute.  */
-extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
+extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
 					int *__detachstate)
      __THROW __nonnull ((1, 2));
 
@@ -293,7 +292,7 @@ extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
 
 
 /* Get the size of the guard area created for stack overflow protection.  */
-extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
+extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
 				      size_t *__guardsize)
      __THROW __nonnull ((1, 2));
 
@@ -304,18 +303,17 @@ extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
 
 
 /* Return in *PARAM the scheduling parameters of *ATTR.  */
-extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
-				       __attr,
+extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
 				       struct sched_param *__restrict __param)
      __THROW __nonnull ((1, 2));
 
 /* Set scheduling parameters (priority, etc) in *ATTR according to PARAM.  */
 extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
-				       __const struct sched_param *__restrict
+				       const struct sched_param *__restrict
 				       __param) __THROW __nonnull ((1, 2));
 
 /* Return in *POLICY the scheduling policy of *ATTR.  */
-extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
+extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
 					__attr, int *__restrict __policy)
      __THROW __nonnull ((1, 2));
 
@@ -324,7 +322,7 @@ extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
      __THROW __nonnull ((1));
 
 /* Return in *INHERIT the scheduling inheritance mode of *ATTR.  */
-extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
+extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
 					 __attr, int *__restrict __inherit)
      __THROW __nonnull ((1, 2));
 
@@ -335,7 +333,7 @@ extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
 
 
 /* Return in *SCOPE the scheduling contention scope of *ATTR.  */
-extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
+extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
 				  int *__restrict __scope)
      __THROW __nonnull ((1, 2));
 
@@ -344,7 +342,7 @@ extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
      __THROW __nonnull ((1));
 
 /* Return the previously set address for the stack.  */
-extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
+extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
 				      __attr, void **__restrict __stackaddr)
      __THROW __nonnull ((1, 2)) __attribute_deprecated__;
 
@@ -357,7 +355,7 @@ extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
      __THROW __nonnull ((1)) __attribute_deprecated__;
 
 /* Return the currently used minimal stack size.  */
-extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
+extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
 				      __attr, size_t *__restrict __stacksize)
      __THROW __nonnull ((1, 2));
 
@@ -370,7 +368,7 @@ extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
 
 #ifdef __USE_XOPEN2K
 /* Return the previously set address for the stack.  */
-extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
+extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
 				  void **__restrict __stackaddr,
 				  size_t *__restrict __stacksize)
      __THROW __nonnull ((1, 2, 3));
@@ -387,12 +385,12 @@ extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
    the processors represented in CPUSET.  */
 extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
 					size_t __cpusetsize,
-					__const cpu_set_t *__cpuset)
+					const cpu_set_t *__cpuset)
      __THROW __nonnull ((1, 3));
 
 /* Get bit set in CPUSET representing the processors threads created with
    ATTR can run on.  */
-extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr,
+extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
 					size_t __cpusetsize,
 					cpu_set_t *__cpuset)
      __THROW __nonnull ((1, 3));
@@ -411,7 +409,7 @@ extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
 /* Set the scheduling parameters for TARGET_THREAD according to POLICY
    and *PARAM.  */
 extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
-				  __const struct sched_param *__param)
+				  const struct sched_param *__param)
      __THROW __nonnull ((3));
 
 /* Return in *POLICY and *PARAM the scheduling parameters for TARGET_THREAD. */
@@ -432,7 +430,7 @@ extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
      __THROW __nonnull ((2));
 
 /* Set thread name visible in the kernel and its interfaces.  */
-extern int pthread_setname_np (pthread_t __target_thread, __const char *__name)
+extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
      __THROW __nonnull ((2));
 #endif
 
@@ -456,7 +454,7 @@ extern int pthread_yield (void) __THROW;
 /* Limit specified thread TH to run only on the processors represented
    in CPUSET.  */
 extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
-				   __const cpu_set_t *__cpuset)
+				   const cpu_set_t *__cpuset)
      __THROW __nonnull ((3));
 
 /* Get bit set in CPUSET representing the processors TH can run on.  */
@@ -731,7 +729,7 @@ extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __THROW;
 
 /* Initialize a mutex.  */
 extern int pthread_mutex_init (pthread_mutex_t *__mutex,
-			       __const pthread_mutexattr_t *__mutexattr)
+			       const pthread_mutexattr_t *__mutexattr)
      __THROW __nonnull ((1));
 
 /* Destroy a mutex.  */
@@ -749,7 +747,7 @@ extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
 #ifdef __USE_XOPEN2K
 /* Wait until lock becomes available, or specified time passes. */
 extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
-				    __const struct timespec *__restrict
+				    const struct timespec *__restrict
 				    __abstime) __THROWNL __nonnull ((1, 2));
 #endif
 
@@ -759,7 +757,7 @@ extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
 
 
 /* Get the priority ceiling of MUTEX.  */
-extern int pthread_mutex_getprioceiling (__const pthread_mutex_t *
+extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
 					 __restrict __mutex,
 					 int *__restrict __prioceiling)
      __THROW __nonnull ((1, 2));
@@ -795,7 +793,7 @@ extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
      __THROW __nonnull ((1));
 
 /* Get the process-shared flag of the mutex attribute ATTR.  */
-extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
+extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
 					 __restrict __attr,
 					 int *__restrict __pshared)
      __THROW __nonnull ((1, 2));
@@ -807,7 +805,7 @@ extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
 
 #if defined __USE_UNIX98 || defined __USE_XOPEN2K8
 /* Return in *KIND the mutex kind attribute in *ATTR.  */
-extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
+extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
 				      __attr, int *__restrict __kind)
      __THROW __nonnull ((1, 2));
 
@@ -819,7 +817,7 @@ extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
 #endif
 
 /* Return in *PROTOCOL the mutex protocol attribute in *ATTR.  */
-extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t *
+extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
 					  __restrict __attr,
 					  int *__restrict __protocol)
      __THROW __nonnull ((1, 2));
@@ -831,7 +829,7 @@ extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
      __THROW __nonnull ((1));
 
 /* Return in *PRIOCEILING the mutex prioceiling attribute in *ATTR.  */
-extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t *
+extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
 					     __restrict __attr,
 					     int *__restrict __prioceiling)
      __THROW __nonnull ((1, 2));
@@ -843,11 +841,11 @@ extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
 
 #ifdef __USE_XOPEN2K
 /* Get the robustness flag of the mutex attribute ATTR.  */
-extern int pthread_mutexattr_getrobust (__const pthread_mutexattr_t *__attr,
+extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
 					int *__robustness)
      __THROW __nonnull ((1, 2));
 # ifdef __USE_GNU
-extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
+extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr,
 					   int *__robustness)
      __THROW __nonnull ((1, 2));
 # endif
@@ -870,7 +868,7 @@ extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
 /* Initialize read-write lock RWLOCK using attributes ATTR, or use
    the default values if later is NULL.  */
 extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
-				__const pthread_rwlockattr_t *__restrict
+				const pthread_rwlockattr_t *__restrict
 				__attr) __THROW __nonnull ((1));
 
 /* Destroy read-write lock RWLOCK.  */
@@ -888,7 +886,7 @@ extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
 # ifdef __USE_XOPEN2K
 /* Try to acquire read lock for RWLOCK or return after specfied time.  */
 extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
-				       __const struct timespec *__restrict
+				       const struct timespec *__restrict
 				       __abstime) __THROWNL __nonnull ((1, 2));
 # endif
 
@@ -903,7 +901,7 @@ extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
 # ifdef __USE_XOPEN2K
 /* Try to acquire write lock for RWLOCK or return after specfied time.  */
 extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
-				       __const struct timespec *__restrict
+				       const struct timespec *__restrict
 				       __abstime) __THROWNL __nonnull ((1, 2));
 # endif
 
@@ -923,7 +921,7 @@ extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
      __THROW __nonnull ((1));
 
 /* Return current setting of process-shared attribute of ATTR in PSHARED.  */
-extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
+extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
 					  __restrict __attr,
 					  int *__restrict __pshared)
      __THROW __nonnull ((1, 2));
@@ -934,7 +932,7 @@ extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
      __THROW __nonnull ((1));
 
 /* Return current setting of reader/writer preference.  */
-extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *
+extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
 					  __restrict __attr,
 					  int *__restrict __pref)
      __THROW __nonnull ((1, 2));
@@ -950,8 +948,8 @@ extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
 /* Initialize condition variable COND using attributes ATTR, or use
    the default values if later is NULL.  */
 extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
-			      __const pthread_condattr_t *__restrict
-			      __cond_attr) __THROW __nonnull ((1));
+			      const pthread_condattr_t *__restrict __cond_attr)
+     __THROW __nonnull ((1));
 
 /* Destroy condition variable COND.  */
 extern int pthread_cond_destroy (pthread_cond_t *__cond)
@@ -983,8 +981,8 @@ extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
    __THROW.  */
 extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
 				   pthread_mutex_t *__restrict __mutex,
-				   __const struct timespec *__restrict
-				   __abstime) __nonnull ((1, 2, 3));
+				   const struct timespec *__restrict __abstime)
+     __nonnull ((1, 2, 3));
 
 /* Functions for handling condition variable attributes.  */
 
@@ -997,7 +995,7 @@ extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
      __THROW __nonnull ((1));
 
 /* Get the process-shared flag of the condition variable attribute ATTR.  */
-extern int pthread_condattr_getpshared (__const pthread_condattr_t *
+extern int pthread_condattr_getpshared (const pthread_condattr_t *
 					__restrict __attr,
 					int *__restrict __pshared)
      __THROW __nonnull ((1, 2));
@@ -1008,7 +1006,7 @@ extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
 
 #ifdef __USE_XOPEN2K
 /* Get the clock selected for the conditon variable attribute ATTR.  */
-extern int pthread_condattr_getclock (__const pthread_condattr_t *
+extern int pthread_condattr_getclock (const pthread_condattr_t *
 				      __restrict __attr,
 				      __clockid_t *__restrict __clock_id)
      __THROW __nonnull ((1, 2));
@@ -1050,7 +1048,7 @@ extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
 /* Initialize BARRIER with the attributes in ATTR.  The barrier is
    opened when COUNT waiters arrived.  */
 extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
-				 __const pthread_barrierattr_t *__restrict
+				 const pthread_barrierattr_t *__restrict
 				 __attr, unsigned int __count)
      __THROW __nonnull ((1));
 
@@ -1072,7 +1070,7 @@ extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
      __THROW __nonnull ((1));
 
 /* Get the process-shared flag of the barrier attribute ATTR.  */
-extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
+extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
 					   __restrict __attr,
 					   int *__restrict __pshared)
      __THROW __nonnull ((1, 2));
@@ -1104,7 +1102,7 @@ extern void *pthread_getspecific (pthread_key_t __key) __THROW;
 
 /* Store POINTER in the thread-specific data slot identified by KEY. */
 extern int pthread_setspecific (pthread_key_t __key,
-				__const void *__pointer) __THROW ;
+				const void *__pointer) __THROW ;
 
 
 #ifdef __USE_XOPEN2K
diff --git a/nss/nss.h b/nss/nss.h
index 611b2580ad..ea351a89d5 100644
--- a/nss/nss.h
+++ b/nss/nss.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1999, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1999, 2008, 2012 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
@@ -56,8 +56,8 @@ struct gaih_addrtuple
    work around non-existing services (e.e., while booting).
    Attention: Using this function repeatedly will slowly eat up the
    whole memory since previous selection data cannot be freed.  */
-extern int __nss_configure_lookup (__const char *__dbname,
-				   __const char *__string) __THROW;
+extern int __nss_configure_lookup (const char *__dbname,
+				   const char *__string) __THROW;
 
 __END_DECLS
 
diff --git a/posix/bits/unistd.h b/posix/bits/unistd.h
index e29b4cca46..16efe72758 100644
--- a/posix/bits/unistd.h
+++ b/posix/bits/unistd.h
@@ -1,5 +1,5 @@
 /* Checking macros for unistd functions.
-   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2008, 2012 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
@@ -121,23 +121,23 @@ pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
 #endif
 
 #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K
-extern ssize_t __readlink_chk (__const char *__restrict __path,
+extern ssize_t __readlink_chk (const char *__restrict __path,
 			       char *__restrict __buf, size_t __len,
 			       size_t __buflen)
      __THROW __nonnull ((1, 2)) __wur;
 extern ssize_t __REDIRECT_NTH (__readlink_alias,
-			       (__const char *__restrict __path,
+			       (const char *__restrict __path,
 				char *__restrict __buf, size_t __len), readlink)
      __nonnull ((1, 2)) __wur;
 extern ssize_t __REDIRECT_NTH (__readlink_chk_warn,
-			       (__const char *__restrict __path,
+			       (const char *__restrict __path,
 				char *__restrict __buf, size_t __len,
 				size_t __buflen), __readlink_chk)
      __nonnull ((1, 2)) __wur __warnattr ("readlink called with bigger length "
 					  "than size of destination buffer");
 
 __extern_always_inline __nonnull ((1, 2)) __wur ssize_t
-__NTH (readlink (__const char *__restrict __path, char *__restrict __buf,
+__NTH (readlink (const char *__restrict __path, char *__restrict __buf,
 		 size_t __len))
 {
   if (__bos (__buf) != (size_t) -1)
@@ -153,17 +153,17 @@ __NTH (readlink (__const char *__restrict __path, char *__restrict __buf,
 #endif
 
 #ifdef __USE_ATFILE
-extern ssize_t __readlinkat_chk (int __fd, __const char *__restrict __path,
+extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path,
 				 char *__restrict __buf, size_t __len,
 				 size_t __buflen)
      __THROW __nonnull ((2, 3)) __wur;
 extern ssize_t __REDIRECT_NTH (__readlinkat_alias,
-			       (int __fd, __const char *__restrict __path,
+			       (int __fd, const char *__restrict __path,
 				char *__restrict __buf, size_t __len),
 			       readlinkat)
      __nonnull ((2, 3)) __wur;
 extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn,
-			       (int __fd, __const char *__restrict __path,
+			       (int __fd, const char *__restrict __path,
 				char *__restrict __buf, size_t __len,
 				size_t __buflen), __readlinkat_chk)
      __nonnull ((2, 3)) __wur __warnattr ("readlinkat called with bigger "
@@ -171,7 +171,7 @@ extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn,
 					  "buffer");
 
 __extern_always_inline __nonnull ((2, 3)) __wur ssize_t
-__NTH (readlinkat (int __fd, __const char *__restrict __path,
+__NTH (readlinkat (int __fd, const char *__restrict __path,
 		   char *__restrict __buf, size_t __len))
 {
   if (__bos (__buf) != (size_t) -1)
diff --git a/posix/fnmatch.h b/posix/fnmatch.h
index aefb007fba..7d1a8f5e7f 100644
--- a/posix/fnmatch.h
+++ b/posix/fnmatch.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991-93,96,97,98,99,2001,2004 Free Software Foundation, Inc.
+/* Copyright (C) 1991-93,1996-1999,2001,2004,2012
+   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
@@ -23,14 +24,6 @@
 extern "C" {
 #endif
 
-#ifndef const
-# if (defined __STDC__ && __STDC__) || defined __cplusplus
-#  define __const	const
-# else
-#  define __const
-# endif
-#endif
-
 /* We #undef these before defining them because some losing systems
    (HP-UX A.08.07 for example) define these in <unistd.h>.  */
 #undef	FNM_PATHNAME
@@ -62,8 +55,7 @@ extern "C" {
 
 /* Match NAME against the filename pattern PATTERN,
    returning zero if it matches, FNM_NOMATCH if not.  */
-extern int fnmatch (__const char *__pattern, __const char *__name,
-		    int __flags);
+extern int fnmatch (const char *__pattern, const char *__name, int __flags);
 
 #ifdef	__cplusplus
 }
diff --git a/posix/glob.h b/posix/glob.h
index 07f2ac7744..2de03d2912 100644
--- a/posix/glob.h
+++ b/posix/glob.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1995-1998,2000,2001,2004,2010,2011
+/* Copyright (C) 1991,1992,1995-1998,2000,2001,2004,2010,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -96,13 +96,13 @@ typedef struct
 #else
     void *(*gl_readdir) (void *);
 #endif
-    void *(*gl_opendir) (__const char *);
+    void *(*gl_opendir) (const char *);
 #ifdef __USE_GNU
-    int (*gl_lstat) (__const char *__restrict, struct stat *__restrict);
-    int (*gl_stat) (__const char *__restrict, struct stat *__restrict);
+    int (*gl_lstat) (const char *__restrict, struct stat *__restrict);
+    int (*gl_stat) (const char *__restrict, struct stat *__restrict);
 #else
-    int (*gl_lstat) (__const char *__restrict, void *__restrict);
-    int (*gl_stat) (__const char *__restrict, void *__restrict);
+    int (*gl_lstat) (const char *__restrict, void *__restrict);
+    int (*gl_stat) (const char *__restrict, void *__restrict);
 #endif
   } glob_t;
 
@@ -125,13 +125,13 @@ typedef struct
 # else
     void *(*gl_readdir) (void *);
 # endif
-    void *(*gl_opendir) (__const char *);
+    void *(*gl_opendir) (const char *);
 # ifdef __USE_GNU
-    int (*gl_lstat) (__const char *__restrict, struct stat64 *__restrict);
-    int (*gl_stat) (__const char *__restrict, struct stat64 *__restrict);
+    int (*gl_lstat) (const char *__restrict, struct stat64 *__restrict);
+    int (*gl_stat) (const char *__restrict, struct stat64 *__restrict);
 # else
-    int (*gl_lstat) (__const char *__restrict, void *__restrict);
-    int (*gl_stat) (__const char *__restrict, void *__restrict);
+    int (*gl_lstat) (const char *__restrict, void *__restrict);
+    int (*gl_stat) (const char *__restrict, void *__restrict);
 # endif
   } glob64_t;
 #endif
@@ -145,24 +145,24 @@ typedef struct
    If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned.
    Otherwise, `glob' returns zero.  */
 #if !defined __USE_FILE_OFFSET64
-extern int glob (__const char *__restrict __pattern, int __flags,
-		 int (*__errfunc) (__const char *, int),
+extern int glob (const char *__restrict __pattern, int __flags,
+		 int (*__errfunc) (const char *, int),
 		 glob_t *__restrict __pglob) __THROW;
 
 /* Free storage allocated in PGLOB by a previous `glob' call.  */
 extern void globfree (glob_t *__pglob) __THROW;
 #else
-extern int __REDIRECT_NTH (glob, (__const char *__restrict __pattern,
+extern int __REDIRECT_NTH (glob, (const char *__restrict __pattern,
 				  int __flags,
-				  int (*__errfunc) (__const char *, int),
+				  int (*__errfunc) (const char *, int),
 				  glob_t *__restrict __pglob), glob64);
 
 extern void __REDIRECT_NTH (globfree, (glob_t *__pglob), globfree64);
 #endif
 
 #ifdef __USE_LARGEFILE64
-extern int glob64 (__const char *__restrict __pattern, int __flags,
-		   int (*__errfunc) (__const char *, int),
+extern int glob64 (const char *__restrict __pattern, int __flags,
+		   int (*__errfunc) (const char *, int),
 		   glob64_t *__restrict __pglob) __THROW;
 
 extern void globfree64 (glob64_t *__pglob) __THROW;
@@ -175,7 +175,7 @@ extern void globfree64 (glob64_t *__pglob) __THROW;
 
    This function is not part of the interface specified by POSIX.2
    but several programs want to use it.  */
-extern int glob_pattern_p (__const char *__pattern, int __quote) __THROW;
+extern int glob_pattern_p (const char *__pattern, int __quote) __THROW;
 #endif
 
 __END_DECLS
diff --git a/posix/sched.h b/posix/sched.h
index 55bc487b37..41bfa13615 100644
--- a/posix/sched.h
+++ b/posix/sched.h
@@ -1,5 +1,5 @@
 /* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface.
-   Copyright (C) 1996,1997,1999,2001-2004,2007,2010
+   Copyright (C) 1996,1997,1999,2001-2004,2007,2010,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -48,7 +48,7 @@ typedef __pid_t pid_t;
 __BEGIN_DECLS
 
 /* Set scheduling parameters for a process.  */
-extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
+extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
      __THROW;
 
 /* Retrieve scheduling parameters for a particular process.  */
@@ -56,7 +56,7 @@ extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __THROW;
 
 /* Set scheduling algorithm and/or parameters for a process.  */
 extern int sched_setscheduler (__pid_t __pid, int __policy,
-			       __const struct sched_param *__param) __THROW;
+			       const struct sched_param *__param) __THROW;
 
 /* Retrieve scheduling algorithm for a particular purpose.  */
 extern int sched_getscheduler (__pid_t __pid) __THROW;
@@ -116,7 +116,7 @@ extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
 
 /* Set the CPU affinity for a task */
 extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
-			      __const cpu_set_t *__cpuset) __THROW;
+			      const cpu_set_t *__cpuset) __THROW;
 
 /* Get the CPU affinity for a task */
 extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
diff --git a/posix/spawn.h b/posix/spawn.h
index 3eefa0fadc..ef772dff24 100644
--- a/posix/spawn.h
+++ b/posix/spawn.h
@@ -1,5 +1,5 @@
 /* Definitions for POSIX spawn interface.
-   Copyright (C) 2000, 2003, 2004, 2009, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2000,2003,2004,2009,2011,2012 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
@@ -70,21 +70,21 @@ __BEGIN_DECLS
    This function is a possible cancellation point and therefore not
    marked with __THROW. */
 extern int posix_spawn (pid_t *__restrict __pid,
-			__const char *__restrict __path,
-			__const posix_spawn_file_actions_t *__restrict
+			const char *__restrict __path,
+			const posix_spawn_file_actions_t *__restrict
 			__file_actions,
-			__const posix_spawnattr_t *__restrict __attrp,
-			char *__const __argv[__restrict_arr],
-			char *__const __envp[__restrict_arr]);
+			const posix_spawnattr_t *__restrict __attrp,
+			char *const __argv[__restrict_arr],
+			char *const __envp[__restrict_arr]);
 
 /* Similar to `posix_spawn' but search for FILE in the PATH.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int posix_spawnp (pid_t *__pid, __const char *__file,
-			 __const posix_spawn_file_actions_t *__file_actions,
-			 __const posix_spawnattr_t *__attrp,
-			 char *__const __argv[], char *__const __envp[]);
+extern int posix_spawnp (pid_t *__pid, const char *__file,
+			 const posix_spawn_file_actions_t *__file_actions,
+			 const posix_spawnattr_t *__attrp,
+			 char *const __argv[], char *const __envp[]);
 
 
 /* Initialize data structure with attributes for `spawn' to default values.  */
@@ -95,29 +95,29 @@ extern int posix_spawnattr_destroy (posix_spawnattr_t *__attr) __THROW;
 
 /* Store signal mask for signals with default handling from ATTR in
    SIGDEFAULT.  */
-extern int posix_spawnattr_getsigdefault (__const posix_spawnattr_t *
+extern int posix_spawnattr_getsigdefault (const posix_spawnattr_t *
 					  __restrict __attr,
 					  sigset_t *__restrict __sigdefault)
      __THROW;
 
 /* Set signal mask for signals with default handling in ATTR to SIGDEFAULT.  */
 extern int posix_spawnattr_setsigdefault (posix_spawnattr_t *__restrict __attr,
-					  __const sigset_t *__restrict
+					  const sigset_t *__restrict
 					  __sigdefault)
      __THROW;
 
 /* Store signal mask for the new process from ATTR in SIGMASK.  */
-extern int posix_spawnattr_getsigmask (__const posix_spawnattr_t *__restrict
+extern int posix_spawnattr_getsigmask (const posix_spawnattr_t *__restrict
 				       __attr,
 				       sigset_t *__restrict __sigmask) __THROW;
 
 /* Set signal mask for the new process in ATTR to SIGMASK.  */
 extern int posix_spawnattr_setsigmask (posix_spawnattr_t *__restrict __attr,
-				       __const sigset_t *__restrict __sigmask)
+				       const sigset_t *__restrict __sigmask)
      __THROW;
 
 /* Get flag word from the attribute structure.  */
-extern int posix_spawnattr_getflags (__const posix_spawnattr_t *__restrict
+extern int posix_spawnattr_getflags (const posix_spawnattr_t *__restrict
 				     __attr,
 				     short int *__restrict __flags) __THROW;
 
@@ -126,7 +126,7 @@ extern int posix_spawnattr_setflags (posix_spawnattr_t *_attr,
 				     short int __flags) __THROW;
 
 /* Get process group ID from the attribute structure.  */
-extern int posix_spawnattr_getpgroup (__const posix_spawnattr_t *__restrict
+extern int posix_spawnattr_getpgroup (const posix_spawnattr_t *__restrict
 				      __attr, pid_t *__restrict __pgroup)
      __THROW;
 
@@ -135,7 +135,7 @@ extern int posix_spawnattr_setpgroup (posix_spawnattr_t *__attr,
 				      pid_t __pgroup) __THROW;
 
 /* Get scheduling policy from the attribute structure.  */
-extern int posix_spawnattr_getschedpolicy (__const posix_spawnattr_t *
+extern int posix_spawnattr_getschedpolicy (const posix_spawnattr_t *
 					   __restrict __attr,
 					   int *__restrict __schedpolicy)
      __THROW;
@@ -145,7 +145,7 @@ extern int posix_spawnattr_setschedpolicy (posix_spawnattr_t *__attr,
 					   int __schedpolicy) __THROW;
 
 /* Get scheduling parameters from the attribute structure.  */
-extern int posix_spawnattr_getschedparam (__const posix_spawnattr_t *
+extern int posix_spawnattr_getschedparam (const posix_spawnattr_t *
 					  __restrict __attr,
 					  struct sched_param *__restrict
 					  __schedparam) __THROW;
@@ -169,7 +169,7 @@ extern int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *
 extern int posix_spawn_file_actions_addopen (posix_spawn_file_actions_t *
 					     __restrict __file_actions,
 					     int __fd,
-					     __const char *__restrict __path,
+					     const char *__restrict __path,
 					     int __oflag, mode_t __mode)
      __THROW;
 
diff --git a/posix/sys/wait.h b/posix/sys/wait.h
index a5fd58f9d2..23080f255b 100644
--- a/posix/sys/wait.h
+++ b/posix/sys/wait.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1994,1996-2001,2003,2004,2005,2007,2009,2010,2011
+/* Copyright (C) 1991-1994,1996-2001,2003,2004,2005,2007,2009,2010,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -47,7 +47,7 @@ __BEGIN_DECLS
   (__extension__ (((union { __typeof(status) __in; int __i; }) \
 		   { .__in = (status) }).__i))
 #  else
-#   define __WAIT_INT(status)	(*(__const int *) &(status))
+#   define __WAIT_INT(status)	(*(const int *) &(status))
 #  endif
 
 /* This is the type of the argument to `wait'.  The funky union
diff --git a/posix/unistd.h b/posix/unistd.h
index 01fb64a4dc..f8d559f257 100644
--- a/posix/unistd.h
+++ b/posix/unistd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2009, 2010, 2011, 2012 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
@@ -285,16 +285,16 @@ typedef __socklen_t socklen_t;
 #define	F_OK	0		/* Test for existence.  */
 
 /* Test for access to NAME using the real UID and real GID.  */
-extern int access (__const char *__name, int __type) __THROW __nonnull ((1));
+extern int access (const char *__name, int __type) __THROW __nonnull ((1));
 
 #ifdef __USE_GNU
 /* Test for access to NAME using the effective UID and GID
    (as normal file operations use).  */
-extern int euidaccess (__const char *__name, int __type)
+extern int euidaccess (const char *__name, int __type)
      __THROW __nonnull ((1));
 
 /* An alias for `euidaccess', used by some other systems.  */
-extern int eaccess (__const char *__name, int __type)
+extern int eaccess (const char *__name, int __type)
      __THROW __nonnull ((1));
 #endif
 
@@ -302,7 +302,7 @@ extern int eaccess (__const char *__name, int __type)
 /* Test for access to FILE relative to the directory FD is open on.
    If AT_EACCESS is set in FLAG, then use effective IDs like `eaccess',
    otherwise use real IDs like `access'.  */
-extern int faccessat (int __fd, __const char *__file, int __type, int __flag)
+extern int faccessat (int __fd, const char *__file, int __type, int __flag)
      __THROW __nonnull ((2)) __wur;
 #endif /* Use GNU.  */
 
@@ -364,7 +364,7 @@ extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur;
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t write (int __fd, __const void *__buf, size_t __n) __wur;
+extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur;
 
 #if defined __USE_UNIX98 || defined __USE_XOPEN2K8
 # ifndef __USE_FILE_OFFSET64
@@ -382,14 +382,14 @@ extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n,
+extern ssize_t pwrite (int __fd, const void *__buf, size_t __n,
 		       __off_t __offset) __wur;
 # else
 #  ifdef __REDIRECT
 extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes,
 				   __off64_t __offset),
 			   pread64) __wur;
-extern ssize_t __REDIRECT (pwrite, (int __fd, __const void *__buf,
+extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf,
 				    size_t __nbytes, __off64_t __offset),
 			   pwrite64) __wur;
 #  else
@@ -406,7 +406,7 @@ extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
 			__off64_t __offset) __wur;
 /* Write N bytes of BUF to FD at the given position OFFSET without
    changing the file pointer.  Return the number written, or -1.  */
-extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
+extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n,
 			 __off64_t __offset) __wur;
 # endif
 #endif
@@ -471,7 +471,7 @@ extern int pause (void);
 
 
 /* Change the owner and group of FILE.  */
-extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
+extern int chown (const char *__file, __uid_t __owner, __gid_t __group)
      __THROW __nonnull ((1)) __wur;
 
 #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
@@ -481,7 +481,7 @@ extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __THROW __wur;
 
 /* Change owner and group of FILE, if it is a symbolic
    link the ownership of the symbolic link is changed.  */
-extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
+extern int lchown (const char *__file, __uid_t __owner, __gid_t __group)
      __THROW __nonnull ((1)) __wur;
 
 #endif /* Use BSD || X/Open Unix.  */
@@ -489,13 +489,13 @@ extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
 #ifdef __USE_ATFILE
 /* Change the owner and group of FILE relative to the directory FD is open
    on.  */
-extern int fchownat (int __fd, __const char *__file, __uid_t __owner,
+extern int fchownat (int __fd, const char *__file, __uid_t __owner,
 		     __gid_t __group, int __flag)
      __THROW __nonnull ((2)) __wur;
 #endif /* Use GNU.  */
 
 /* Change the process's working directory to PATH.  */
-extern int chdir (__const char *__path) __THROW __nonnull ((1)) __wur;
+extern int chdir (const char *__path) __THROW __nonnull ((1)) __wur;
 
 #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 /* Change the process's working directory to the one FD is open on.  */
@@ -549,47 +549,47 @@ extern char **environ;
 
 /* Replace the current process, executing PATH with arguments ARGV and
    environment ENVP.  ARGV and ENVP are terminated by NULL pointers.  */
-extern int execve (__const char *__path, char *__const __argv[],
-		   char *__const __envp[]) __THROW __nonnull ((1, 2));
+extern int execve (const char *__path, char *const __argv[],
+		   char *const __envp[]) __THROW __nonnull ((1, 2));
 
 #ifdef __USE_XOPEN2K8
 /* Execute the file FD refers to, overlaying the running program image.
    ARGV and ENVP are passed to the new program, as for `execve'.  */
-extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[])
+extern int fexecve (int __fd, char *const __argv[], char *const __envp[])
      __THROW __nonnull ((2));
 #endif
 
 
 /* Execute PATH with arguments ARGV and environment from `environ'.  */
-extern int execv (__const char *__path, char *__const __argv[])
+extern int execv (const char *__path, char *const __argv[])
      __THROW __nonnull ((1, 2));
 
 /* Execute PATH with all arguments after PATH until a NULL pointer,
    and the argument after that for environment.  */
-extern int execle (__const char *__path, __const char *__arg, ...)
+extern int execle (const char *__path, const char *__arg, ...)
      __THROW __nonnull ((1, 2));
 
 /* Execute PATH with all arguments after PATH until
    a NULL pointer and environment from `environ'.  */
-extern int execl (__const char *__path, __const char *__arg, ...)
+extern int execl (const char *__path, const char *__arg, ...)
      __THROW __nonnull ((1, 2));
 
 /* Execute FILE, searching in the `PATH' environment variable if it contains
    no slashes, with arguments ARGV and environment from `environ'.  */
-extern int execvp (__const char *__file, char *__const __argv[])
+extern int execvp (const char *__file, char *const __argv[])
      __THROW __nonnull ((1, 2));
 
 /* Execute FILE, searching in the `PATH' environment variable if
    it contains no slashes, with all arguments after FILE until a
    NULL pointer and environment from `environ'.  */
-extern int execlp (__const char *__file, __const char *__arg, ...)
+extern int execlp (const char *__file, const char *__arg, ...)
      __THROW __nonnull ((1, 2));
 
 #ifdef __USE_GNU
 /* Execute FILE, searching in the `PATH' environment variable if it contains
    no slashes, with arguments ARGV and environment from `environ'.  */
-extern int execvpe (__const char *__file, char *__const __argv[],
-		    char *__const __envp[])
+extern int execvpe (const char *__file, char *const __argv[],
+		    char *const __envp[])
      __THROW __nonnull ((1, 2));
 #endif
 
@@ -610,7 +610,7 @@ extern void _exit (int __status) __attribute__ ((__noreturn__));
 #include <bits/confname.h>
 
 /* Get file-specific configuration information about PATH.  */
-extern long int pathconf (__const char *__path, int __name)
+extern long int pathconf (const char *__path, int __name)
      __THROW __nonnull ((1));
 
 /* Get file-specific configuration about descriptor FD.  */
@@ -810,52 +810,52 @@ extern int ttyslot (void) __THROW;
 
 
 /* Make a link to FROM named TO.  */
-extern int link (__const char *__from, __const char *__to)
+extern int link (const char *__from, const char *__to)
      __THROW __nonnull ((1, 2)) __wur;
 
 #ifdef __USE_ATFILE
 /* Like link but relative paths in TO and FROM are interpreted relative
    to FROMFD and TOFD respectively.  */
-extern int linkat (int __fromfd, __const char *__from, int __tofd,
-		   __const char *__to, int __flags)
+extern int linkat (int __fromfd, const char *__from, int __tofd,
+		   const char *__to, int __flags)
      __THROW __nonnull ((2, 4)) __wur;
 #endif
 
 #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K
 /* Make a symbolic link to FROM named TO.  */
-extern int symlink (__const char *__from, __const char *__to)
+extern int symlink (const char *__from, const char *__to)
      __THROW __nonnull ((1, 2)) __wur;
 
 /* Read the contents of the symbolic link PATH into no more than
    LEN bytes of BUF.  The contents are not null-terminated.
    Returns the number of characters read, or -1 for errors.  */
-extern ssize_t readlink (__const char *__restrict __path,
+extern ssize_t readlink (const char *__restrict __path,
 			 char *__restrict __buf, size_t __len)
      __THROW __nonnull ((1, 2)) __wur;
 #endif /* Use BSD.  */
 
 #ifdef __USE_ATFILE
 /* Like symlink but a relative path in TO is interpreted relative to TOFD.  */
-extern int symlinkat (__const char *__from, int __tofd,
-		      __const char *__to) __THROW __nonnull ((1, 3)) __wur;
+extern int symlinkat (const char *__from, int __tofd,
+		      const char *__to) __THROW __nonnull ((1, 3)) __wur;
 
 /* Like readlink but a relative PATH is interpreted relative to FD.  */
-extern ssize_t readlinkat (int __fd, __const char *__restrict __path,
+extern ssize_t readlinkat (int __fd, const char *__restrict __path,
 			   char *__restrict __buf, size_t __len)
      __THROW __nonnull ((2, 3)) __wur;
 #endif
 
 /* Remove the link NAME.  */
-extern int unlink (__const char *__name) __THROW __nonnull ((1));
+extern int unlink (const char *__name) __THROW __nonnull ((1));
 
 #ifdef __USE_ATFILE
 /* Remove the link NAME relative to FD.  */
-extern int unlinkat (int __fd, __const char *__name, int __flag)
+extern int unlinkat (int __fd, const char *__name, int __flag)
      __THROW __nonnull ((2));
 #endif
 
 /* Remove the directory PATH.  */
-extern int rmdir (__const char *__path) __THROW __nonnull ((1));
+extern int rmdir (const char *__path) __THROW __nonnull ((1));
 
 
 /* Return the foreground process group ID of FD.  */
@@ -882,7 +882,7 @@ extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1));
 
 #ifdef	__USE_BSD
 /* Set the login name returned by `getlogin'.  */
-extern int setlogin (__const char *__name) __THROW __nonnull ((1));
+extern int setlogin (const char *__name) __THROW __nonnull ((1));
 #endif
 
 
@@ -906,7 +906,7 @@ extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1));
 #if defined __USE_BSD || (defined __USE_XOPEN && !defined __USE_UNIX98)
 /* Set the name of the current host to NAME, which is LEN bytes long.
    This call is restricted to the super-user.  */
-extern int sethostname (__const char *__name, size_t __len)
+extern int sethostname (const char *__name, size_t __len)
      __THROW __nonnull ((1)) __wur;
 
 /* Set the current machine's Internet number to ID.
@@ -919,7 +919,7 @@ extern int sethostid (long int __id) __THROW __wur;
    The NIS domain name is usually the empty string when not using NIS.  */
 extern int getdomainname (char *__name, size_t __len)
      __THROW __nonnull ((1)) __wur;
-extern int setdomainname (__const char *__name, size_t __len)
+extern int setdomainname (const char *__name, size_t __len)
      __THROW __nonnull ((1)) __wur;
 
 
@@ -929,7 +929,7 @@ extern int setdomainname (__const char *__name, size_t __len)
 extern int vhangup (void) __THROW;
 
 /* Revoke the access of all descriptors currently open on FILE.  */
-extern int revoke (__const char *__file) __THROW __nonnull ((1)) __wur;
+extern int revoke (const char *__file) __THROW __nonnull ((1)) __wur;
 
 
 /* Enable statistical profiling, writing samples of the PC into at most
@@ -945,7 +945,7 @@ extern int profil (unsigned short int *__sample_buffer, size_t __size,
 /* Turn accounting on if NAME is an existing file.  The system will then write
    a record for each process as it terminates, to this file.  If NAME is NULL,
    turn accounting off.  This call is restricted to the super-user.  */
-extern int acct (__const char *__name) __THROW;
+extern int acct (const char *__name) __THROW;
 
 
 /* Successive calls return the shells listed in `/etc/shells'.  */
@@ -964,11 +964,11 @@ extern int daemon (int __nochdir, int __noclose) __THROW __wur;
 #if defined __USE_BSD || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
 /* Make PATH be the root directory (the starting point for absolute paths).
    This call is restricted to the super-user.  */
-extern int chroot (__const char *__path) __THROW __nonnull ((1)) __wur;
+extern int chroot (const char *__path) __THROW __nonnull ((1)) __wur;
 
 /* Prompt with PROMPT and read a string from the terminal without echoing.
    Uses /dev/tty if possible; otherwise stderr and stdin.  */
-extern char *getpass (__const char *__prompt) __nonnull ((1));
+extern char *getpass (const char *__prompt) __nonnull ((1));
 #endif /* Use BSD || X/Open.  */
 
 
@@ -1015,19 +1015,19 @@ extern int getdtablesize (void) __THROW;
 
 /* Truncate FILE to LENGTH bytes.  */
 # ifndef __USE_FILE_OFFSET64
-extern int truncate (__const char *__file, __off_t __length)
+extern int truncate (const char *__file, __off_t __length)
      __THROW __nonnull ((1)) __wur;
 # else
 #  ifdef __REDIRECT_NTH
 extern int __REDIRECT_NTH (truncate,
-			   (__const char *__file, __off64_t __length),
+			   (const char *__file, __off64_t __length),
 			   truncate64) __nonnull ((1)) __wur;
 #  else
 #   define truncate truncate64
 #  endif
 # endif
 # ifdef __USE_LARGEFILE64
-extern int truncate64 (__const char *__file, __off64_t __length)
+extern int truncate64 (const char *__file, __off64_t __length)
      __THROW __nonnull ((1)) __wur;
 # endif
 
@@ -1141,7 +1141,7 @@ extern int fdatasync (int __fildes);
    be defined here.  */
 #ifdef	__USE_XOPEN
 /* Encrypt at most 8 characters from KEY using salt to perturb DES.  */
-extern char *crypt (__const char *__key, __const char *__salt)
+extern char *crypt (const char *__key, const char *__salt)
      __THROW __nonnull ((1, 2));
 
 /* Encrypt data in BLOCK in place if EDFLAG is zero; otherwise decrypt
@@ -1153,7 +1153,7 @@ extern void encrypt (char *__block, int __edflag) __THROW __nonnull ((1));
    FROM and copy the result to TO.  The value of TO must not be in the
    range [FROM - N + 1, FROM - 1].  If N is odd the first byte in FROM
    is without partner.  */
-extern void swab (__const void *__restrict __from, void *__restrict __to,
+extern void swab (const void *__restrict __from, void *__restrict __to,
 		  ssize_t __n) __THROW __nonnull ((1, 2));
 #endif
 
diff --git a/posix/wordexp.h b/posix/wordexp.h
index 1c40e61684..6f8b272f2a 100644
--- a/posix/wordexp.h
+++ b/posix/wordexp.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 92, 1996-1999, 2001, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1996-1999,2001,2003,2012
+   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
@@ -60,7 +61,7 @@ enum
   };
 
 /* Do word expansion of WORDS into PWORDEXP.  */
-extern int wordexp (__const char *__restrict __words,
+extern int wordexp (const char *__restrict __words,
 		    wordexp_t *__restrict __pwordexp, int __flags);
 
 /* Free the storage allocated by a `wordexp' call.  */
diff --git a/pwd/pwd.h b/pwd/pwd.h
index e874133047..ed3ea6d594 100644
--- a/pwd/pwd.h
+++ b/pwd/pwd.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991,1992,1995-2001,2003,2004 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1995-2001,2003,2004,2012
+   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
@@ -100,7 +101,7 @@ extern struct passwd *fgetpwent (FILE *__stream);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int putpwent (__const struct passwd *__restrict __p,
+extern int putpwent (const struct passwd *__restrict __p,
 		     FILE *__restrict __f);
 #endif
 
@@ -114,7 +115,7 @@ extern struct passwd *getpwuid (__uid_t __uid);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct passwd *getpwnam (__const char *__name);
+extern struct passwd *getpwnam (const char *__name);
 
 #if defined __USE_POSIX || defined __USE_MISC
 
@@ -147,7 +148,7 @@ extern int getpwuid_r (__uid_t __uid,
 		       char *__restrict __buffer, size_t __buflen,
 		       struct passwd **__restrict __result);
 
-extern int getpwnam_r (__const char *__restrict __name,
+extern int getpwnam_r (const char *__restrict __name,
 		       struct passwd *__restrict __resultbuf,
 		       char *__restrict __buffer, size_t __buflen,
 		       struct passwd **__restrict __result);
diff --git a/resolv/netdb.h b/resolv/netdb.h
index 6b76a25d3f..551b4c7a0a 100644
--- a/resolv/netdb.h
+++ b/resolv/netdb.h
@@ -1,4 +1,4 @@
-  /* Copyright (C) 1996-2004, 2009, 2010, 2011 Free Software Foundation, Inc.
+  /* Copyright (C) 1996-2004, 2009-2011, 2012 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
@@ -90,10 +90,10 @@ extern int *__h_errno_location (void) __THROW __attribute__ ((__const__));
 #ifdef __USE_MISC
 /* Print error indicated by `h_errno' variable on standard error.  STR
    if non-null is printed before the error string.  */
-extern void herror (__const char *__str) __THROW;
+extern void herror (const char *__str) __THROW;
 
 /* Return string associated with error ERR_NUM.  */
-extern __const char *hstrerror (int __err_num) __THROW;
+extern const char *hstrerror (int __err_num) __THROW;
 #endif
 
 
@@ -135,14 +135,14 @@ extern struct hostent *gethostent (void);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct hostent *gethostbyaddr (__const void *__addr, __socklen_t __len,
+extern struct hostent *gethostbyaddr (const void *__addr, __socklen_t __len,
 				      int __type);
 
 /* Return entry from host data base for host with NAME.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct hostent *gethostbyname (__const char *__name);
+extern struct hostent *gethostbyname (const char *__name);
 
 #ifdef __USE_MISC
 /* Return entry from host data base for host with NAME.  AF must be
@@ -153,7 +153,7 @@ extern struct hostent *gethostbyname (__const char *__name);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern struct hostent *gethostbyname2 (__const char *__name, int __af);
+extern struct hostent *gethostbyname2 (const char *__name, int __af);
 
 /* Reentrant versions of the functions above.  The additional
    arguments specify a buffer of BUFLEN starting at BUF.  The last
@@ -170,20 +170,20 @@ extern int gethostent_r (struct hostent *__restrict __result_buf,
 			 struct hostent **__restrict __result,
 			 int *__restrict __h_errnop);
 
-extern int gethostbyaddr_r (__const void *__restrict __addr, __socklen_t __len,
+extern int gethostbyaddr_r (const void *__restrict __addr, __socklen_t __len,
 			    int __type,
 			    struct hostent *__restrict __result_buf,
 			    char *__restrict __buf, size_t __buflen,
 			    struct hostent **__restrict __result,
 			    int *__restrict __h_errnop);
 
-extern int gethostbyname_r (__const char *__restrict __name,
+extern int gethostbyname_r (const char *__restrict __name,
 			    struct hostent *__restrict __result_buf,
 			    char *__restrict __buf, size_t __buflen,
 			    struct hostent **__restrict __result,
 			    int *__restrict __h_errnop);
 
-extern int gethostbyname2_r (__const char *__restrict __name, int __af,
+extern int gethostbyname2_r (const char *__restrict __name, int __af,
 			     struct hostent *__restrict __result_buf,
 			     char *__restrict __buf, size_t __buflen,
 			     struct hostent **__restrict __result,
@@ -222,7 +222,7 @@ extern struct netent *getnetbyaddr (uint32_t __net, int __type);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct netent *getnetbyname (__const char *__name);
+extern struct netent *getnetbyname (const char *__name);
 
 #ifdef	__USE_MISC
 /* Reentrant versions of the functions above.  The additional
@@ -246,7 +246,7 @@ extern int getnetbyaddr_r (uint32_t __net, int __type,
 			   struct netent **__restrict __result,
 			   int *__restrict __h_errnop);
 
-extern int getnetbyname_r (__const char *__restrict __name,
+extern int getnetbyname_r (const char *__restrict __name,
 			   struct netent *__restrict __result_buf,
 			   char *__restrict __buf, size_t __buflen,
 			   struct netent **__restrict __result,
@@ -288,15 +288,14 @@ extern struct servent *getservent (void);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct servent *getservbyname (__const char *__name,
-				      __const char *__proto);
+extern struct servent *getservbyname (const char *__name, const char *__proto);
 
 /* Return entry from service data base which matches port PORT and
    protocol PROTO.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct servent *getservbyport (int __port, __const char *__proto);
+extern struct servent *getservbyport (int __port, const char *__proto);
 
 
 #ifdef	__USE_MISC
@@ -311,13 +310,13 @@ extern int getservent_r (struct servent *__restrict __result_buf,
 			 char *__restrict __buf, size_t __buflen,
 			 struct servent **__restrict __result);
 
-extern int getservbyname_r (__const char *__restrict __name,
-			    __const char *__restrict __proto,
+extern int getservbyname_r (const char *__restrict __name,
+			    const char *__restrict __proto,
 			    struct servent *__restrict __result_buf,
 			    char *__restrict __buf, size_t __buflen,
 			    struct servent **__restrict __result);
 
-extern int getservbyport_r (int __port, __const char *__restrict __proto,
+extern int getservbyport_r (int __port, const char *__restrict __proto,
 			    struct servent *__restrict __result_buf,
 			    char *__restrict __buf, size_t __buflen,
 			    struct servent **__restrict __result);
@@ -356,7 +355,7 @@ extern struct protoent *getprotoent (void);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct protoent *getprotobyname (__const char *__name);
+extern struct protoent *getprotobyname (const char *__name);
 
 /* Return entry from protocol data base which number is PROTO.
 
@@ -377,7 +376,7 @@ extern int getprotoent_r (struct protoent *__restrict __result_buf,
 			  char *__restrict __buf, size_t __buflen,
 			  struct protoent **__restrict __result);
 
-extern int getprotobyname_r (__const char *__restrict __name,
+extern int getprotobyname_r (const char *__restrict __name,
 			     struct protoent *__restrict __result_buf,
 			     char *__restrict __buf, size_t __buflen,
 			     struct protoent **__restrict __result);
@@ -394,7 +393,7 @@ extern int getprotobynumber_r (int __proto,
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int setnetgrent (__const char *__netgroup);
+extern int setnetgrent (const char *__netgroup);
 
 /* Free all space allocated by previous `setnetgrent' call.
 
@@ -422,8 +421,8 @@ extern int getnetgrent (char **__restrict __hostp,
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int innetgr (__const char *__netgroup, __const char *__host,
-		    __const char *__user, __const char *__domain);
+extern int innetgr (const char *__netgroup, const char *__host,
+		    const char *__user, const char *__domain);
 
 /* Reentrant version of `getnetgrent' where result is placed in BUFFER.
 
@@ -451,9 +450,9 @@ extern int getnetgrent_r (char **__restrict __hostp,
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
 extern int rcmd (char **__restrict __ahost, unsigned short int __rport,
-		 __const char *__restrict __locuser,
-		 __const char *__restrict __remuser,
-		 __const char *__restrict __cmd, int *__restrict __fd2p);
+		 const char *__restrict __locuser,
+		 const char *__restrict __remuser,
+		 const char *__restrict __cmd, int *__restrict __fd2p);
 
 /* This is the equivalent function where the protocol can be selected
    and which therefore can be used for IPv6.
@@ -463,9 +462,9 @@ extern int rcmd (char **__restrict __ahost, unsigned short int __rport,
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
 extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport,
-		    __const char *__restrict __locuser,
-		    __const char *__restrict __remuser,
-		    __const char *__restrict __cmd, int *__restrict __fd2p,
+		    const char *__restrict __locuser,
+		    const char *__restrict __remuser,
+		    const char *__restrict __cmd, int *__restrict __fd2p,
 		    sa_family_t __af);
 
 /* Call `rexecd' at port RPORT on remote machine *AHOST to execute
@@ -479,9 +478,9 @@ extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport,
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
 extern int rexec (char **__restrict __ahost, int __rport,
-		  __const char *__restrict __name,
-		  __const char *__restrict __pass,
-		  __const char *__restrict __cmd, int *__restrict __fd2p);
+		  const char *__restrict __name,
+		  const char *__restrict __pass,
+		  const char *__restrict __cmd, int *__restrict __fd2p);
 
 /* This is the equivalent function where the protocol can be selected
    and which therefore can be used for IPv6.
@@ -491,9 +490,9 @@ extern int rexec (char **__restrict __ahost, int __rport,
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
 extern int rexec_af (char **__restrict __ahost, int __rport,
-		     __const char *__restrict __name,
-		     __const char *__restrict __pass,
-		     __const char *__restrict __cmd, int *__restrict __fd2p,
+		     const char *__restrict __name,
+		     const char *__restrict __pass,
+		     const char *__restrict __cmd, int *__restrict __fd2p,
 		     sa_family_t __af);
 
 /* Check whether user REMUSER on system RHOST is allowed to login as LOCUSER.
@@ -504,8 +503,8 @@ extern int rexec_af (char **__restrict __ahost, int __rport,
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int ruserok (__const char *__rhost, int __suser,
-		    __const char *__remuser, __const char *__locuser);
+extern int ruserok (const char *__rhost, int __suser,
+		    const char *__remuser, const char *__locuser);
 
 /* This is the equivalent function where the protocol can be selected
    and which therefore can be used for IPv6.
@@ -514,8 +513,8 @@ extern int ruserok (__const char *__rhost, int __suser,
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int ruserok_af (__const char *__rhost, int __suser,
-		       __const char *__remuser, __const char *__locuser,
+extern int ruserok_af (const char *__rhost, int __suser,
+		       const char *__remuser, const char *__locuser,
 		       sa_family_t __af);
 
 /* Check whether user REMUSER on system indicated by IPv4 address
@@ -528,7 +527,7 @@ extern int ruserok_af (__const char *__rhost, int __suser,
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
 extern int iruserok (uint32_t __raddr, int __suser,
-		     __const char *__remuser, __const char *__locuser);
+		     const char *__remuser, const char *__locuser);
 
 /* This is the equivalent function where the pfamiliy if the address
    pointed to by RADDR is determined by the value of AF.  It therefore
@@ -538,8 +537,8 @@ extern int iruserok (uint32_t __raddr, int __suser,
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int iruserok_af (__const void *__raddr, int __suser,
-			__const char *__remuser, __const char *__locuser,
+extern int iruserok_af (const void *__raddr, int __suser,
+			const char *__remuser, const char *__locuser,
 			sa_family_t __af);
 
 /* Try to allocate reserved port, returning a descriptor for a socket opened
@@ -661,22 +660,22 @@ struct gaicb
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int getaddrinfo (__const char *__restrict __name,
-			__const char *__restrict __service,
-			__const struct addrinfo *__restrict __req,
+extern int getaddrinfo (const char *__restrict __name,
+			const char *__restrict __service,
+			const struct addrinfo *__restrict __req,
 			struct addrinfo **__restrict __pai);
 
 /* Free `addrinfo' structure AI including associated storage.  */
 extern void freeaddrinfo (struct addrinfo *__ai) __THROW;
 
 /* Convert error return from getaddrinfo() to a string.  */
-extern __const char *gai_strerror (int __ecode) __THROW;
+extern const char *gai_strerror (int __ecode) __THROW;
 
 /* Translate a socket address to a location and service name.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int getnameinfo (__const struct sockaddr *__restrict __sa,
+extern int getnameinfo (const struct sockaddr *__restrict __sa,
 			socklen_t __salen, char *__restrict __host,
 			socklen_t __hostlen, char *__restrict __serv,
 			socklen_t __servlen, int __flags);
@@ -702,8 +701,8 @@ extern int getaddrinfo_a (int __mode, struct gaicb *__list[__restrict_arr],
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int gai_suspend (__const struct gaicb *__const __list[], int __ent,
-			__const struct timespec *__timeout);
+extern int gai_suspend (const struct gaicb *const __list[], int __ent,
+			const struct timespec *__timeout);
 
 /* Get the error status of the request REQ.  */
 extern int gai_error (struct gaicb *__req) __THROW;
diff --git a/resource/sys/resource.h b/resource/sys/resource.h
index 3912741376..f68eb38148 100644
--- a/resource/sys/resource.h
+++ b/resource/sys/resource.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1992,94,1996-2000,2002,2004 Free Software Foundation, Inc.
+/* Copyright (C) 1992,94,1996-2000,2002,2004,2012
+   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
@@ -68,11 +69,11 @@ extern int getrlimit64 (__rlimit_resource_t __resource,
    Return 0 if successful, -1 if not (and sets errno).  */
 #ifndef __USE_FILE_OFFSET64
 extern int setrlimit (__rlimit_resource_t __resource,
-		      __const struct rlimit *__rlimits) __THROW;
+		      const struct rlimit *__rlimits) __THROW;
 #else
 # ifdef __REDIRECT_NTH
 extern int __REDIRECT_NTH (setrlimit, (__rlimit_resource_t __resource,
-				       __const struct rlimit *__rlimits),
+				       const struct rlimit *__rlimits),
 			   setrlimit64);
 # else
 #  define setrlimit setrlimit64
@@ -80,7 +81,7 @@ extern int __REDIRECT_NTH (setrlimit, (__rlimit_resource_t __resource,
 #endif
 #ifdef __USE_LARGEFILE64
 extern int setrlimit64 (__rlimit_resource_t __resource,
-			__const struct rlimit64 *__rlimits) __THROW;
+			const struct rlimit64 *__rlimits) __THROW;
 #endif
 
 /* Return resource usage information on process indicated by WHO
diff --git a/rt/aio.h b/rt/aio.h
index 7cfd0c1106..644bbe93dd 100644
--- a/rt/aio.h
+++ b/rt/aio.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2000,2003,2004,2007 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2000,2003,2004,2007,2012 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
@@ -136,7 +136,7 @@ enum
 
 /* Allow user to specify optimization.  */
 #ifdef __USE_GNU
-extern void aio_init (__const struct aioinit *__init) __THROW __nonnull ((1));
+extern void aio_init (const struct aioinit *__init) __THROW __nonnull ((1));
 #endif
 
 
@@ -148,12 +148,12 @@ extern int aio_write (struct aiocb *__aiocbp) __THROW __nonnull ((1));
 
 /* Initiate list of I/O requests.  */
 extern int lio_listio (int __mode,
-		       struct aiocb *__const __list[__restrict_arr],
+		       struct aiocb *const __list[__restrict_arr],
 		       int __nent, struct sigevent *__restrict __sig)
   __THROW __nonnull ((2));
 
 /* Retrieve error status associated with AIOCBP.  */
-extern int aio_error (__const struct aiocb *__aiocbp) __THROW __nonnull ((1));
+extern int aio_error (const struct aiocb *__aiocbp) __THROW __nonnull ((1));
 /* Return status associated with AIOCBP.  */
 extern __ssize_t aio_return (struct aiocb *__aiocbp) __THROW __nonnull ((1));
 
@@ -166,8 +166,8 @@ extern int aio_cancel (int __fildes, struct aiocb *__aiocbp) __THROW;
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int aio_suspend (__const struct aiocb *__const __list[], int __nent,
-			__const struct timespec *__restrict __timeout)
+extern int aio_suspend (const struct aiocb *const __list[], int __nent,
+			const struct timespec *__restrict __timeout)
   __nonnull ((1));
 
 /* Force all operations associated with file desriptor described by
@@ -183,11 +183,11 @@ extern int __REDIRECT_NTH (aio_write, (struct aiocb *__aiocbp), aio_write64)
 
 extern int __REDIRECT_NTH (lio_listio,
 			   (int __mode,
-			    struct aiocb *__const __list[__restrict_arr],
+			    struct aiocb *const __list[__restrict_arr],
 			    int __nent, struct sigevent *__restrict __sig),
 			   lio_listio64) __nonnull ((2));
 
-extern int __REDIRECT_NTH (aio_error, (__const struct aiocb *__aiocbp),
+extern int __REDIRECT_NTH (aio_error, (const struct aiocb *__aiocbp),
 			   aio_error64) __nonnull ((1));
 extern __ssize_t __REDIRECT_NTH (aio_return, (struct aiocb *__aiocbp),
 				 aio_return64) __nonnull ((1));
@@ -197,8 +197,8 @@ extern int __REDIRECT_NTH (aio_cancel,
 			   aio_cancel64);
 
 extern int __REDIRECT_NTH (aio_suspend,
-			   (__const struct aiocb *__const __list[], int __nent,
-			    __const struct timespec *__restrict __timeout),
+			   (const struct aiocb *const __list[], int __nent,
+			    const struct timespec *__restrict __timeout),
 			   aio_suspend64) __nonnull ((1));
 
 extern int __REDIRECT_NTH (aio_fsync,
@@ -222,19 +222,19 @@ extern int aio_read64 (struct aiocb64 *__aiocbp) __THROW __nonnull ((1));
 extern int aio_write64 (struct aiocb64 *__aiocbp) __THROW __nonnull ((1));
 
 extern int lio_listio64 (int __mode,
-			 struct aiocb64 *__const __list[__restrict_arr],
+			 struct aiocb64 *const __list[__restrict_arr],
 			 int __nent, struct sigevent *__restrict __sig)
   __THROW __nonnull ((2));
 
-extern int aio_error64 (__const struct aiocb64 *__aiocbp)
+extern int aio_error64 (const struct aiocb64 *__aiocbp)
   __THROW __nonnull ((1));
 extern __ssize_t aio_return64 (struct aiocb64 *__aiocbp)
   __THROW __nonnull ((1));
 
 extern int aio_cancel64 (int __fildes, struct aiocb64 *__aiocbp) __THROW;
 
-extern int aio_suspend64 (__const struct aiocb64 *__const __list[], int __nent,
-			  __const struct timespec *__restrict __timeout)
+extern int aio_suspend64 (const struct aiocb64 *const __list[], int __nent,
+			  const struct timespec *__restrict __timeout)
   __THROW __nonnull ((1));
 
 extern int aio_fsync64 (int __operation, struct aiocb64 *__aiocbp)
diff --git a/rt/bits/mqueue2.h b/rt/bits/mqueue2.h
index a6d0815722..aa9f126aa6 100644
--- a/rt/bits/mqueue2.h
+++ b/rt/bits/mqueue2.h
@@ -1,5 +1,5 @@
 /* Checking macros for mq functions.
-   Copyright (C) 2007, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2011, 2012 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
@@ -23,11 +23,11 @@
 
 /* Check that calls to mq_open with O_CREAT set have an appropriate third and fourth
    parameter.  */
-extern mqd_t mq_open (__const char *__name, int __oflag, ...)
+extern mqd_t mq_open (const char *__name, int __oflag, ...)
      __THROW __nonnull ((1));
-extern mqd_t __mq_open_2 (__const char *__name, int __oflag)
+extern mqd_t __mq_open_2 (const char *__name, int __oflag)
      __THROW __nonnull ((1));
-extern mqd_t __REDIRECT_NTH (__mq_open_alias, (__const char *__name,
+extern mqd_t __REDIRECT_NTH (__mq_open_alias, (const char *__name,
 					       int __oflag, ...), mq_open)
      __nonnull ((1));
 __errordecl (__mq_open_wrong_number_of_args,
@@ -36,7 +36,7 @@ __errordecl (__mq_open_missing_mode_and_attr,
 	     "mq_open with O_CREAT in second argument needs 4 arguments");
 
 __extern_always_inline mqd_t
-__NTH (mq_open (__const char *__name, int __oflag, ...))
+__NTH (mq_open (const char *__name, int __oflag, ...))
 {
   if (__va_arg_pack_len () != 0 && __va_arg_pack_len () != 2)
     __mq_open_wrong_number_of_args ();
diff --git a/rt/mqueue.h b/rt/mqueue.h
index a4c3e1b2fa..ffdf140115 100644
--- a/rt/mqueue.h
+++ b/rt/mqueue.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2007, 2012 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
@@ -38,7 +38,7 @@ __BEGIN_DECLS
    argument is taken as `struct mq_attr *', pointer to message queue
    attributes.  If the fourth argument is NULL, default attributes are
    used.  */
-extern mqd_t mq_open (__const char *__name, int __oflag, ...)
+extern mqd_t mq_open (const char *__name, int __oflag, ...)
   __THROW __nonnull ((1));
 
 /* Removes the association between message queue descriptor MQDES and its
@@ -52,16 +52,16 @@ extern int mq_getattr (mqd_t __mqdes, struct mq_attr *__mqstat)
 /* Set attributes associated with message queue MQDES and if OMQSTAT is
    not NULL also query its old attributes.  */
 extern int mq_setattr (mqd_t __mqdes,
-		       __const struct mq_attr *__restrict __mqstat,
+		       const struct mq_attr *__restrict __mqstat,
 		       struct mq_attr *__restrict __omqstat)
   __THROW __nonnull ((2));
 
 /* Remove message queue named NAME.  */
-extern int mq_unlink (__const char *__name) __THROW __nonnull ((1));
+extern int mq_unlink (const char *__name) __THROW __nonnull ((1));
 
 /* Register notification issued upon message arrival to an empty
    message queue MQDES.  */
-extern int mq_notify (mqd_t __mqdes, __const struct sigevent *__notification)
+extern int mq_notify (mqd_t __mqdes, const struct sigevent *__notification)
      __THROW;
 
 /* Receive the oldest from highest priority messages in message queue
@@ -70,7 +70,7 @@ extern ssize_t mq_receive (mqd_t __mqdes, char *__msg_ptr, size_t __msg_len,
 			   unsigned int *__msg_prio) __nonnull ((2));
 
 /* Add message pointed by MSG_PTR to message queue MQDES.  */
-extern int mq_send (mqd_t __mqdes, __const char *__msg_ptr, size_t __msg_len,
+extern int mq_send (mqd_t __mqdes, const char *__msg_ptr, size_t __msg_len,
 		    unsigned int __msg_prio) __nonnull ((2));
 
 #ifdef __USE_XOPEN2K
@@ -79,14 +79,14 @@ extern int mq_send (mqd_t __mqdes, __const char *__msg_ptr, size_t __msg_len,
 extern ssize_t mq_timedreceive (mqd_t __mqdes, char *__restrict __msg_ptr,
 				size_t __msg_len,
 				unsigned int *__restrict __msg_prio,
-				__const struct timespec *__restrict __abs_timeout)
+				const struct timespec *__restrict __abs_timeout)
   __nonnull ((2, 5));
 
 /* Add message pointed by MSG_PTR to message queue MQDES, stop blocking
    on full message queue if ABS_TIMEOUT expires.  */
-extern int mq_timedsend (mqd_t __mqdes, __const char *__msg_ptr,
+extern int mq_timedsend (mqd_t __mqdes, const char *__msg_ptr,
 			 size_t __msg_len, unsigned int __msg_prio,
-			 __const struct timespec *__abs_timeout)
+			 const struct timespec *__abs_timeout)
   __nonnull ((2, 5));
 #endif
 
diff --git a/shadow/shadow.h b/shadow/shadow.h
index 778df52b9a..abbeefc0b6 100644
--- a/shadow/shadow.h
+++ b/shadow/shadow.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1996-1999, 2003, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -84,7 +84,7 @@ extern struct spwd *getspent (void);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern struct spwd *getspnam (__const char *__name);
+extern struct spwd *getspnam (const char *__name);
 
 /* Read shadow entry from STRING.
 
@@ -92,7 +92,7 @@ extern struct spwd *getspnam (__const char *__name);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern struct spwd *sgetspent (__const char *__string);
+extern struct spwd *sgetspent (const char *__string);
 
 /* Read next shadow entry from STREAM.
 
@@ -108,7 +108,7 @@ extern struct spwd *fgetspent (FILE *__stream);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int putspent (__const struct spwd *__p, FILE *__stream);
+extern int putspent (const struct spwd *__p, FILE *__stream);
 
 
 #ifdef __USE_MISC
@@ -121,11 +121,11 @@ extern int putspent (__const struct spwd *__p, FILE *__stream);
 extern int getspent_r (struct spwd *__result_buf, char *__buffer,
 		       size_t __buflen, struct spwd **__result);
 
-extern int getspnam_r (__const char *__name, struct spwd *__result_buf,
+extern int getspnam_r (const char *__name, struct spwd *__result_buf,
 		       char *__buffer, size_t __buflen,
 		       struct spwd **__result);
 
-extern int sgetspent_r (__const char *__string, struct spwd *__result_buf,
+extern int sgetspent_r (const char *__string, struct spwd *__result_buf,
 			char *__buffer, size_t __buflen,
 			struct spwd **__result);
 
diff --git a/signal/signal.h b/signal/signal.h
index 2bdf648dff..f81f85ccf4 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2004, 2007, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2004,2007,2009,2010,2012 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
@@ -147,12 +147,12 @@ extern int gsignal (int __sig) __THROW;
 
 #if defined __USE_MISC || defined __USE_XOPEN2K
 /* Print a message describing the meaning of the given signal number.  */
-extern void psignal (int __sig, __const char *__s);
+extern void psignal (int __sig, const char *__s);
 #endif /* Use misc or POSIX 2008.  */
 
 #ifdef __USE_XOPEN2K
 /* Print a message describing the meaning of the given signal information.  */
-extern void psiginfo (__const siginfo_t *__pinfo, __const char *__s);
+extern void psiginfo (const siginfo_t *__pinfo, const char *__s);
 #endif /* POSIX 2008.  */
 
 
@@ -231,20 +231,20 @@ extern int sigaddset (sigset_t *__set, int __signo) __THROW __nonnull ((1));
 extern int sigdelset (sigset_t *__set, int __signo) __THROW __nonnull ((1));
 
 /* Return 1 if SIGNO is in SET, 0 if not.  */
-extern int sigismember (__const sigset_t *__set, int __signo)
+extern int sigismember (const sigset_t *__set, int __signo)
      __THROW __nonnull ((1));
 
 # ifdef __USE_GNU
 /* Return non-empty value is SET is not empty.  */
-extern int sigisemptyset (__const sigset_t *__set) __THROW __nonnull ((1));
+extern int sigisemptyset (const sigset_t *__set) __THROW __nonnull ((1));
 
 /* Build new signal set by combining the two inputs set using logical AND.  */
-extern int sigandset (sigset_t *__set, __const sigset_t *__left,
-		      __const sigset_t *__right) __THROW __nonnull ((1, 2, 3));
+extern int sigandset (sigset_t *__set, const sigset_t *__left,
+		      const sigset_t *__right) __THROW __nonnull ((1, 2, 3));
 
 /* Build new signal set by combining the two inputs set using logical OR.  */
-extern int sigorset (sigset_t *__set, __const sigset_t *__left,
-		     __const sigset_t *__right) __THROW __nonnull ((1, 2, 3));
+extern int sigorset (sigset_t *__set, const sigset_t *__left,
+		     const sigset_t *__right) __THROW __nonnull ((1, 2, 3));
 # endif /* GNU */
 
 /* Get the system-specific definitions of `struct sigaction'
@@ -252,7 +252,7 @@ extern int sigorset (sigset_t *__set, __const sigset_t *__left,
 # include <bits/sigaction.h>
 
 /* Get and/or change the set of blocked signals.  */
-extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
+extern int sigprocmask (int __how, const sigset_t *__restrict __set,
 			sigset_t *__restrict __oset) __THROW;
 
 /* Change the set of blocked signals to SET,
@@ -260,10 +260,10 @@ extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int sigsuspend (__const sigset_t *__set) __nonnull ((1));
+extern int sigsuspend (const sigset_t *__set) __nonnull ((1));
 
 /* Get and/or set the action for signal SIG.  */
-extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
+extern int sigaction (int __sig, const struct sigaction *__restrict __act,
 		      struct sigaction *__restrict __oact) __THROW;
 
 /* Put in SET all signals that are blocked and waiting to be delivered.  */
@@ -274,7 +274,7 @@ extern int sigpending (sigset_t *__set) __THROW __nonnull ((1));
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
+extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig)
      __nonnull ((1, 2));
 
 # ifdef __USE_POSIX199309
@@ -282,7 +282,7 @@ extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int sigwaitinfo (__const sigset_t *__restrict __set,
+extern int sigwaitinfo (const sigset_t *__restrict __set,
 			siginfo_t *__restrict __info) __nonnull ((1));
 
 /* Select any of pending signals from SET and place information in INFO.
@@ -290,14 +290,14 @@ extern int sigwaitinfo (__const sigset_t *__restrict __set,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int sigtimedwait (__const sigset_t *__restrict __set,
+extern int sigtimedwait (const sigset_t *__restrict __set,
 			 siginfo_t *__restrict __info,
-			 __const struct timespec *__restrict __timeout)
+			 const struct timespec *__restrict __timeout)
      __nonnull ((1));
 
 /* Send signal SIG to the process PID.  Associate data in VAL with the
    signal.  */
-extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
+extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val)
      __THROW;
 # endif	/* Use POSIX 199306.  */
 
@@ -307,8 +307,8 @@ extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
 
 /* Names of the signals.  This variable exists only for compatibility.
    Use `strsignal' instead (see <string.h>).  */
-extern __const char *__const _sys_siglist[_NSIG];
-extern __const char *__const sys_siglist[_NSIG];
+extern const char *const _sys_siglist[_NSIG];
+extern const char *const sys_siglist[_NSIG];
 
 /* Structure passed to `sigvec'.  */
 struct sigvec
@@ -331,7 +331,7 @@ struct sigvec
    If the SV_RESETHAND bit is set in `sv_flags', the handler for SIG will be
    reset to SIG_DFL before `sv_handler' is entered.  If OVEC is non-NULL,
    it is filled in with the old information for SIG.  */
-extern int sigvec (int __sig, __const struct sigvec *__vec,
+extern int sigvec (int __sig, const struct sigvec *__vec,
 		   struct sigvec *__ovec) __THROW;
 
 
@@ -367,7 +367,7 @@ extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
 
 /* Alternate signal handler stack interface.
    This interface should always be preferred over `sigstack'.  */
-extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
+extern int sigaltstack (const struct sigaltstack *__restrict __ss,
 			struct sigaltstack *__restrict __oss) __THROW;
 
 #endif /* use BSD or X/Open Unix.  */
diff --git a/socket/send.c b/socket/send.c
index 7f94fbb093..14ef9df2a2 100644
--- a/socket/send.c
+++ b/socket/send.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1995,1996,1997,2001,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1995,1996,1997,2001,2002,2012 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
@@ -23,7 +23,7 @@
 ssize_t
 __send (fd, buf, n, flags)
      int fd;
-     __const __ptr_t buf;
+     const __ptr_t buf;
      size_t n;
      int flags;
 {
diff --git a/socket/sendto.c b/socket/sendto.c
index 823c9dd1c7..55adfe7df1 100644
--- a/socket/sendto.c
+++ b/socket/sendto.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1995,1996,1997,2001,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1995-1997,2001,2002,2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -24,7 +24,7 @@
 ssize_t
 __sendto (fd, buf, n, flags, addr, addr_len)
      int fd;
-     __const __ptr_t buf;
+     const __ptr_t buf;
      size_t n;
      int flags;
      __CONST_SOCKADDR_ARG addr;
diff --git a/socket/sys/socket.h b/socket/sys/socket.h
index 9b1f56f8b0..6fb51d7fc8 100644
--- a/socket/sys/socket.h
+++ b/socket/sys/socket.h
@@ -1,5 +1,5 @@
 /* Declarations of socket constants, types, and functions.
-   Copyright (C) 1991,92,1994-2001,2003,2005,2007,2008
+   Copyright (C) 1991,92,1994-2001,2003,2005,2007,2008,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -69,7 +69,7 @@ enum
    old-style declaration, too.  */
 #if defined __cplusplus || !__GNUC_PREREQ (2, 7) || !defined __USE_GNU
 # define __SOCKADDR_ARG		struct sockaddr *__restrict
-# define __CONST_SOCKADDR_ARG	__const struct sockaddr *
+# define __CONST_SOCKADDR_ARG	const struct sockaddr *
 #else
 /* Add more `struct sockaddr_AF' types here as necessary.
    These are all the ones I found on NetBSD and Linux.  */
@@ -92,7 +92,7 @@ enum
 typedef union { __SOCKADDR_ALLTYPES
 	      } __SOCKADDR_ARG __attribute__ ((__transparent_union__));
 # undef __SOCKADDR_ONETYPE
-# define __SOCKADDR_ONETYPE(type) __const struct type *__restrict __##type##__;
+# define __SOCKADDR_ONETYPE(type) const struct type *__restrict __##type##__;
 typedef union { __SOCKADDR_ALLTYPES
 	      } __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__));
 # undef __SOCKADDR_ONETYPE
@@ -138,7 +138,7 @@ extern int getpeername (int __fd, __SOCKADDR_ARG __addr,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags);
+extern ssize_t send (int __fd, const void *__buf, size_t __n, int __flags);
 
 /* Read N bytes into BUF from socket FD.
    Returns the number read or -1 for errors.
@@ -152,7 +152,7 @@ extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags);
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t sendto (int __fd, __const void *__buf, size_t __n,
+extern ssize_t sendto (int __fd, const void *__buf, size_t __n,
 		       int __flags, __CONST_SOCKADDR_ARG __addr,
 		       socklen_t __addr_len);
 
@@ -173,7 +173,7 @@ extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern ssize_t sendmsg (int __fd, __const struct msghdr *__message,
+extern ssize_t sendmsg (int __fd, const struct msghdr *__message,
 			int __flags);
 
 /* Receive a message as described by MESSAGE from socket FD.
@@ -195,7 +195,7 @@ extern int getsockopt (int __fd, int __level, int __optname,
    to *OPTVAL (which is OPTLEN bytes long).
    Returns 0 on success, -1 for errors.  */
 extern int setsockopt (int __fd, int __level, int __optname,
-		       __const void *__optval, socklen_t __optlen) __THROW;
+		       const void *__optval, socklen_t __optlen) __THROW;
 
 
 /* Prepare to accept connections on socket FD.
diff --git a/stdio-common/printf.h b/stdio-common/printf.h
index af8cf34fcc..274fd9a437 100644
--- a/stdio-common/printf.h
+++ b/stdio-common/printf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993,1995-2001,2006,2009
+/* Copyright (C) 1991-1993,1995-2001,2006,2009,2012
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -66,8 +66,8 @@ struct printf_info
    or -1 for errors.  */
 
 typedef int printf_function (FILE *__stream,
-			     __const struct printf_info *__info,
-			     __const void *__const *__args);
+			     const struct printf_info *__info,
+			     const void *const *__args);
 
 /* Type of a printf specifier-arginfo function.
    INFO gives information about the format specification.
@@ -77,13 +77,13 @@ typedef int printf_function (FILE *__stream,
    this case.  This allows to partially overwrite the functionality
    of existing format specifiers.  */
 
-typedef int printf_arginfo_size_function (__const struct printf_info *__info,
+typedef int printf_arginfo_size_function (const struct printf_info *__info,
 					  size_t __n, int *__argtypes,
 					  int *__size);
 
 /* Old version of 'printf_arginfo_function' without a SIZE parameter.  */
 
-typedef int printf_arginfo_function (__const struct printf_info *__info,
+typedef int printf_arginfo_function (const struct printf_info *__info,
 				     size_t __n, int *__argtypes);
 
 /* Type of a function to get a value of a user-defined from the
@@ -113,7 +113,7 @@ extern int register_printf_function (int __spec, printf_function __func,
    it returns a positive value representing the bit set in the USER
    field in 'struct printf_info'.  */
 
-extern int register_printf_modifier (__const wchar_t *__str) __wur __THROW;
+extern int register_printf_modifier (const wchar_t *__str) __wur __THROW;
 
 
 /* Register variable argument handler for user type.  The return value
@@ -133,7 +133,7 @@ extern int register_printf_type (printf_va_arg_function __fct) __wur __THROW;
    array it is passed with the types of the arguments it wants, and return
    the number of arguments it wants.  */
 
-extern size_t parse_printf_format (__const char *__restrict __fmt, size_t __n,
+extern size_t parse_printf_format (const char *__restrict __fmt, size_t __n,
 				   int *__restrict __argtypes) __THROW;
 
 
@@ -173,11 +173,11 @@ enum
    the format specifier is a uppercase character powers of 1000 are
    used.  Otherwise powers of 1024.  */
 extern int printf_size (FILE *__restrict __fp,
-			__const struct printf_info *__info,
-			__const void *__const *__restrict __args) __THROW;
+			const struct printf_info *__info,
+			const void *const *__restrict __args) __THROW;
 
 /* This is the appropriate argument information function for `printf_size'.  */
-extern int printf_size_info (__const struct printf_info *__restrict
+extern int printf_size_info (const struct printf_info *__restrict
 			     __info, size_t __n, int *__restrict __argtypes)
      __THROW;
 
diff --git a/stdlib/bits/stdlib.h b/stdlib/bits/stdlib.h
index f6af5e518c..e90bc99f9f 100644
--- a/stdlib/bits/stdlib.h
+++ b/stdlib/bits/stdlib.h
@@ -1,5 +1,5 @@
 /* Checking macros for stdlib functions.
-   Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,21 +21,21 @@
 # error "Never include <bits/stdlib.h> directly; use <stdlib.h> instead."
 #endif
 
-extern char *__realpath_chk (__const char *__restrict __name,
+extern char *__realpath_chk (const char *__restrict __name,
 			     char *__restrict __resolved,
 			     size_t __resolvedlen) __THROW __wur;
 extern char *__REDIRECT_NTH (__realpath_alias,
-			     (__const char *__restrict __name,
+			     (const char *__restrict __name,
 			      char *__restrict __resolved), realpath) __wur;
 extern char *__REDIRECT_NTH (__realpath_chk_warn,
-			     (__const char *__restrict __name,
+			     (const char *__restrict __name,
 			      char *__restrict __resolved,
 			      size_t __resolvedlen), __realpath_chk) __wur
      __warnattr ("second argument of realpath must be either NULL or at "
 		 "least PATH_MAX bytes long buffer");
 
 __extern_always_inline __wur char *
-__NTH (realpath (__const char *__restrict __name, char *__restrict __resolved))
+__NTH (realpath (const char *__restrict __name, char *__restrict __resolved))
 {
   if (__bos (__resolved) != (size_t) -1)
     {
@@ -97,21 +97,21 @@ __NTH (wctomb (char *__s, wchar_t __wchar))
 
 
 extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
-			      __const char *__restrict __src,
+			      const char *__restrict __src,
 			      size_t __len, size_t __dstlen) __THROW;
 extern size_t __REDIRECT_NTH (__mbstowcs_alias,
 			      (wchar_t *__restrict __dst,
-			       __const char *__restrict __src,
+			       const char *__restrict __src,
 			       size_t __len), mbstowcs);
 extern size_t __REDIRECT_NTH (__mbstowcs_chk_warn,
 			      (wchar_t *__restrict __dst,
-			       __const char *__restrict __src,
+			       const char *__restrict __src,
 			       size_t __len, size_t __dstlen), __mbstowcs_chk)
      __warnattr ("mbstowcs called with dst buffer smaller than len "
 		 "* sizeof (wchar_t)");
 
 __extern_always_inline size_t
-__NTH (mbstowcs (wchar_t *__restrict __dst, __const char *__restrict __src,
+__NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src,
 		 size_t __len))
 {
   if (__bos (__dst) != (size_t) -1)
@@ -129,20 +129,20 @@ __NTH (mbstowcs (wchar_t *__restrict __dst, __const char *__restrict __src,
 
 
 extern size_t __wcstombs_chk (char *__restrict __dst,
-			      __const wchar_t *__restrict __src,
+			      const wchar_t *__restrict __src,
 			      size_t __len, size_t __dstlen) __THROW;
 extern size_t __REDIRECT_NTH (__wcstombs_alias,
 			      (char *__restrict __dst,
-			       __const wchar_t *__restrict __src,
+			       const wchar_t *__restrict __src,
 			       size_t __len), wcstombs);
 extern size_t __REDIRECT_NTH (__wcstombs_chk_warn,
 			      (char *__restrict __dst,
-			       __const wchar_t *__restrict __src,
+			       const wchar_t *__restrict __src,
 			       size_t __len, size_t __dstlen), __wcstombs_chk)
      __warnattr ("wcstombs called with dst buffer smaller than len");
 
 __extern_always_inline size_t
-__NTH (wcstombs (char *__restrict __dst, __const wchar_t *__restrict __src,
+__NTH (wcstombs (char *__restrict __dst, const wchar_t *__restrict __src,
 		 size_t __len))
 {
   if (__bos (__dst) != (size_t) -1)
diff --git a/stdlib/fmtmsg.h b/stdlib/fmtmsg.h
index 53e3e53d89..da53eb404e 100644
--- a/stdlib/fmtmsg.h
+++ b/stdlib/fmtmsg.h
@@ -1,5 +1,5 @@
 /* Message display handling.
-   Copyright (C) 1997, 1999, 2000, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2000, 2003, 2012 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
@@ -92,13 +92,13 @@ enum
 
 /* Print message with given CLASSIFICATION, LABEL, SEVERITY, TEXT, ACTION
    and TAG to console or standard error.  */
-extern int fmtmsg (long int __classification, __const char *__label,
-		   int __severity, __const char *__text,
-		   __const char *__action, __const char *__tag);
+extern int fmtmsg (long int __classification, const char *__label,
+		   int __severity, const char *__text,
+		   const char *__action, const char *__tag);
 
 #ifdef __USE_SVID
 /* Add or remove severity level.  */
-extern int addseverity (int __severity, __const char *__string) __THROW;
+extern int addseverity (int __severity, const char *__string) __THROW;
 #endif
 
 __END_DECLS
diff --git a/stdlib/monetary.h b/stdlib/monetary.h
index 7f0c0ec208..66a817a62c 100644
--- a/stdlib/monetary.h
+++ b/stdlib/monetary.h
@@ -1,5 +1,5 @@
 /* Header file for monetary value formatting functions.
-   Copyright (C) 1996,1997,1998,1999,2000,2002,2006,2009
+   Copyright (C) 1996,1997,1998,1999,2000,2002,2006,2009,2012
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -38,7 +38,7 @@ __BEGIN_DECLS
 
 /* Formatting a monetary value according to the current locale.  */
 extern ssize_t strfmon (char *__restrict __s, size_t __maxsize,
-			__const char *__restrict __format, ...)
+			const char *__restrict __format, ...)
      __THROW __attribute_format_strfmon__ (3, 4);
 
 #ifdef __USE_XOPEN2K8
@@ -47,7 +47,7 @@ extern ssize_t strfmon (char *__restrict __s, size_t __maxsize,
 /* Formatting a monetary value according to the current locale.  */
 extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize,
 			  __locale_t __loc,
-			  __const char *__restrict __format, ...)
+			  const char *__restrict __format, ...)
      __THROW __attribute_format_strfmon__ (4, 5);
 #endif
 
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index 99c34a4ee5..442f77cc2d 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2007, 2009-2011, 2012 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
@@ -142,27 +142,27 @@ extern size_t __ctype_get_mb_cur_max (void) __THROW __wur;
 
 __BEGIN_NAMESPACE_STD
 /* Convert a string to a floating-point number.  */
-extern double atof (__const char *__nptr)
+extern double atof (const char *__nptr)
      __THROW __attribute_pure__ __nonnull ((1)) __wur;
 /* Convert a string to an integer.  */
-extern int atoi (__const char *__nptr)
+extern int atoi (const char *__nptr)
      __THROW __attribute_pure__ __nonnull ((1)) __wur;
 /* Convert a string to a long integer.  */
-extern long int atol (__const char *__nptr)
+extern long int atol (const char *__nptr)
      __THROW __attribute_pure__ __nonnull ((1)) __wur;
 __END_NAMESPACE_STD
 
 #if defined __USE_ISOC99 || (defined __GLIBC_HAVE_LONG_LONG && defined __USE_MISC)
 __BEGIN_NAMESPACE_C99
 /* Convert a string to a long long integer.  */
-__extension__ extern long long int atoll (__const char *__nptr)
+__extension__ extern long long int atoll (const char *__nptr)
      __THROW __attribute_pure__ __nonnull ((1)) __wur;
 __END_NAMESPACE_C99
 #endif
 
 __BEGIN_NAMESPACE_STD
 /* Convert a string to a floating-point number.  */
-extern double strtod (__const char *__restrict __nptr,
+extern double strtod (const char *__restrict __nptr,
 		      char **__restrict __endptr)
      __THROW __nonnull ((1)) __wur;
 __END_NAMESPACE_STD
@@ -170,10 +170,10 @@ __END_NAMESPACE_STD
 #ifdef	__USE_ISOC99
 __BEGIN_NAMESPACE_C99
 /* Likewise for `float' and `long double' sizes of floating-point numbers.  */
-extern float strtof (__const char *__restrict __nptr,
+extern float strtof (const char *__restrict __nptr,
 		     char **__restrict __endptr) __THROW __nonnull ((1)) __wur;
 
-extern long double strtold (__const char *__restrict __nptr,
+extern long double strtold (const char *__restrict __nptr,
 			    char **__restrict __endptr)
      __THROW __nonnull ((1)) __wur;
 __END_NAMESPACE_C99
@@ -181,11 +181,11 @@ __END_NAMESPACE_C99
 
 __BEGIN_NAMESPACE_STD
 /* Convert a string to a long integer.  */
-extern long int strtol (__const char *__restrict __nptr,
+extern long int strtol (const char *__restrict __nptr,
 			char **__restrict __endptr, int __base)
      __THROW __nonnull ((1)) __wur;
 /* Convert a string to an unsigned long integer.  */
-extern unsigned long int strtoul (__const char *__restrict __nptr,
+extern unsigned long int strtoul (const char *__restrict __nptr,
 				  char **__restrict __endptr, int __base)
      __THROW __nonnull ((1)) __wur;
 __END_NAMESPACE_STD
@@ -193,12 +193,12 @@ __END_NAMESPACE_STD
 #if defined __GLIBC_HAVE_LONG_LONG && defined __USE_BSD
 /* Convert a string to a quadword integer.  */
 __extension__
-extern long long int strtoq (__const char *__restrict __nptr,
+extern long long int strtoq (const char *__restrict __nptr,
 			     char **__restrict __endptr, int __base)
      __THROW __nonnull ((1)) __wur;
 /* Convert a string to an unsigned quadword integer.  */
 __extension__
-extern unsigned long long int strtouq (__const char *__restrict __nptr,
+extern unsigned long long int strtouq (const char *__restrict __nptr,
 				       char **__restrict __endptr, int __base)
      __THROW __nonnull ((1)) __wur;
 #endif /* GCC and use BSD.  */
@@ -207,12 +207,12 @@ extern unsigned long long int strtouq (__const char *__restrict __nptr,
 __BEGIN_NAMESPACE_C99
 /* Convert a string to a quadword integer.  */
 __extension__
-extern long long int strtoll (__const char *__restrict __nptr,
+extern long long int strtoll (const char *__restrict __nptr,
 			      char **__restrict __endptr, int __base)
      __THROW __nonnull ((1)) __wur;
 /* Convert a string to an unsigned quadword integer.  */
 __extension__
-extern unsigned long long int strtoull (__const char *__restrict __nptr,
+extern unsigned long long int strtoull (const char *__restrict __nptr,
 					char **__restrict __endptr, int __base)
      __THROW __nonnull ((1)) __wur;
 __END_NAMESPACE_C99
@@ -237,36 +237,36 @@ __END_NAMESPACE_C99
 
 /* Special versions of the functions above which take the locale to
    use as an additional parameter.  */
-extern long int strtol_l (__const char *__restrict __nptr,
+extern long int strtol_l (const char *__restrict __nptr,
 			  char **__restrict __endptr, int __base,
 			  __locale_t __loc) __THROW __nonnull ((1, 4)) __wur;
 
-extern unsigned long int strtoul_l (__const char *__restrict __nptr,
+extern unsigned long int strtoul_l (const char *__restrict __nptr,
 				    char **__restrict __endptr,
 				    int __base, __locale_t __loc)
      __THROW __nonnull ((1, 4)) __wur;
 
 __extension__
-extern long long int strtoll_l (__const char *__restrict __nptr,
+extern long long int strtoll_l (const char *__restrict __nptr,
 				char **__restrict __endptr, int __base,
 				__locale_t __loc)
      __THROW __nonnull ((1, 4)) __wur;
 
 __extension__
-extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
+extern unsigned long long int strtoull_l (const char *__restrict __nptr,
 					  char **__restrict __endptr,
 					  int __base, __locale_t __loc)
      __THROW __nonnull ((1, 4)) __wur;
 
-extern double strtod_l (__const char *__restrict __nptr,
+extern double strtod_l (const char *__restrict __nptr,
 			char **__restrict __endptr, __locale_t __loc)
      __THROW __nonnull ((1, 3)) __wur;
 
-extern float strtof_l (__const char *__restrict __nptr,
+extern float strtof_l (const char *__restrict __nptr,
 		       char **__restrict __endptr, __locale_t __loc)
      __THROW __nonnull ((1, 3)) __wur;
 
-extern long double strtold_l (__const char *__restrict __nptr,
+extern long double strtold_l (const char *__restrict __nptr,
 			      char **__restrict __endptr,
 			      __locale_t __loc)
      __THROW __nonnull ((1, 3)) __wur;
@@ -276,17 +276,17 @@ extern long double strtold_l (__const char *__restrict __nptr,
 #ifdef __USE_EXTERN_INLINES
 __BEGIN_NAMESPACE_STD
 __extern_inline double
-__NTH (atof (__const char *__nptr))
+__NTH (atof (const char *__nptr))
 {
   return strtod (__nptr, (char **) NULL);
 }
 __extern_inline int
-__NTH (atoi (__const char *__nptr))
+__NTH (atoi (const char *__nptr))
 {
   return (int) strtol (__nptr, (char **) NULL, 10);
 }
 __extern_inline long int
-__NTH (atol (__const char *__nptr))
+__NTH (atol (const char *__nptr))
 {
   return strtol (__nptr, (char **) NULL, 10);
 }
@@ -295,7 +295,7 @@ __END_NAMESPACE_STD
 # if defined __USE_MISC || defined __USE_ISOC99
 __BEGIN_NAMESPACE_C99
 __extension__ __extern_inline long long int
-__NTH (atoll (__const char *__nptr))
+__NTH (atoll (const char *__nptr))
 {
   return strtoll (__nptr, (char **) NULL, 10);
 }
@@ -311,7 +311,7 @@ __END_NAMESPACE_C99
 extern char *l64a (long int __n) __THROW __wur;
 
 /* Read a number from a string S in base 64 as above.  */
-extern long int a64l (__const char *__s)
+extern long int a64l (const char *__s)
      __THROW __attribute_pure__ __nonnull ((1)) __wur;
 
 #endif	/* Use SVID || extended X/Open.  */
@@ -566,12 +566,12 @@ __END_NAMESPACE_C99
 
 __BEGIN_NAMESPACE_STD
 /* Return the value of envariable NAME, or NULL if it doesn't exist.  */
-extern char *getenv (__const char *__name) __THROW __nonnull ((1)) __wur;
+extern char *getenv (const char *__name) __THROW __nonnull ((1)) __wur;
 __END_NAMESPACE_STD
 
 /* This function is similar to the above but returns NULL if the
    programs is running with SUID or SGID enabled.  */
-extern char *__secure_getenv (__const char *__name)
+extern char *__secure_getenv (const char *__name)
      __THROW __nonnull ((1)) __wur;
 
 #if defined __USE_SVID || defined __USE_XOPEN
@@ -584,11 +584,11 @@ extern int putenv (char *__string) __THROW __nonnull ((1));
 #if defined __USE_BSD || defined __USE_XOPEN2K
 /* Set NAME to VALUE in the environment.
    If REPLACE is nonzero, overwrite an existing value.  */
-extern int setenv (__const char *__name, __const char *__value, int __replace)
+extern int setenv (const char *__name, const char *__value, int __replace)
      __THROW __nonnull ((2));
 
 /* Remove the variable NAME from the environment.  */
-extern int unsetenv (__const char *__name) __THROW __nonnull ((1));
+extern int unsetenv (const char *__name) __THROW __nonnull ((1));
 #endif
 
 #ifdef	__USE_MISC
@@ -716,14 +716,14 @@ __BEGIN_NAMESPACE_STD
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int system (__const char *__command) __wur;
+extern int system (const char *__command) __wur;
 __END_NAMESPACE_STD
 
 
 #ifdef	__USE_GNU
 /* Return a malloc'd string containing the canonical absolute name of the
    existing named file.  */
-extern char *canonicalize_file_name (__const char *__name)
+extern char *canonicalize_file_name (const char *__name)
      __THROW __nonnull ((1)) __wur;
 #endif
 
@@ -733,7 +733,7 @@ extern char *canonicalize_file_name (__const char *__name)
    PATH_MAX chars or more, returns null with `errno' set to
    ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars,
    returns the name in RESOLVED.  */
-extern char *realpath (__const char *__restrict __name,
+extern char *realpath (const char *__restrict __name,
 		       char *__restrict __resolved) __THROW __wur;
 #endif
 
@@ -741,20 +741,20 @@ extern char *realpath (__const char *__restrict __name,
 /* Shorthand for type of comparison functions.  */
 #ifndef __COMPAR_FN_T
 # define __COMPAR_FN_T
-typedef int (*__compar_fn_t) (__const void *, __const void *);
+typedef int (*__compar_fn_t) (const void *, const void *);
 
 # ifdef	__USE_GNU
 typedef __compar_fn_t comparison_fn_t;
 # endif
 #endif
 #ifdef __USE_GNU
-typedef int (*__compar_d_fn_t) (__const void *, __const void *, void *);
+typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
 #endif
 
 __BEGIN_NAMESPACE_STD
 /* Do a binary search for KEY in BASE, which consists of NMEMB elements
    of SIZE bytes each, using COMPAR to perform the comparisons.  */
-extern void *bsearch (__const void *__key, __const void *__base,
+extern void *bsearch (const void *__key, const void *__base,
 		      size_t __nmemb, size_t __size, __compar_fn_t __compar)
      __nonnull ((1, 2, 5)) __wur;
 
@@ -859,11 +859,11 @@ extern int qfcvt_r (long double __value, int __ndigit,
 __BEGIN_NAMESPACE_STD
 /* Return the length of the multibyte character
    in S, which is no longer than N.  */
-extern int mblen (__const char *__s, size_t __n) __THROW __wur;
+extern int mblen (const char *__s, size_t __n) __THROW __wur;
 /* Return the length of the given multibyte character,
    putting its `wchar_t' representation in *PWC.  */
 extern int mbtowc (wchar_t *__restrict __pwc,
-		   __const char *__restrict __s, size_t __n) __THROW __wur;
+		   const char *__restrict __s, size_t __n) __THROW __wur;
 /* Put the multibyte character represented
    by WCHAR in S, returning its length.  */
 extern int wctomb (char *__s, wchar_t __wchar) __THROW __wur;
@@ -871,10 +871,10 @@ extern int wctomb (char *__s, wchar_t __wchar) __THROW __wur;
 
 /* Convert a multibyte string to a wide char string.  */
 extern size_t mbstowcs (wchar_t *__restrict  __pwcs,
-			__const char *__restrict __s, size_t __n) __THROW;
+			const char *__restrict __s, size_t __n) __THROW;
 /* Convert a wide char string to multibyte string.  */
 extern size_t wcstombs (char *__restrict __s,
-			__const wchar_t *__restrict __pwcs, size_t __n)
+			const wchar_t *__restrict __pwcs, size_t __n)
      __THROW;
 __END_NAMESPACE_STD
 
@@ -884,7 +884,7 @@ __END_NAMESPACE_STD
    or negative response expression as specified by the LC_MESSAGES category
    in the program's current locale.  Returns 1 if affirmative, 0 if
    negative, and -1 if not matching.  */
-extern int rpmatch (__const char *__response) __THROW __nonnull ((1)) __wur;
+extern int rpmatch (const char *__response) __THROW __nonnull ((1)) __wur;
 #endif
 
 
@@ -896,7 +896,7 @@ extern int rpmatch (__const char *__response) __THROW __nonnull ((1)) __wur;
    suboption.  On exit *OPTIONP is set to the beginning of the next
    token or at the terminating NUL character.  */
 extern int getsubopt (char **__restrict __optionp,
-		      char *__const *__restrict __tokens,
+		      char *const *__restrict __tokens,
 		      char **__restrict __valuep)
      __THROW __nonnull ((1, 2, 3)) __wur;
 #endif
@@ -904,7 +904,7 @@ extern int getsubopt (char **__restrict __optionp,
 
 #ifdef __USE_XOPEN
 /* Setup DES tables according KEY.  */
-extern void setkey (__const char *__key) __THROW __nonnull ((1));
+extern void setkey (const char *__key) __THROW __nonnull ((1));
 #endif
 
 
diff --git a/stdlib/ucontext.h b/stdlib/ucontext.h
index abeb6471da..e5c12e8acf 100644
--- a/stdlib/ucontext.h
+++ b/stdlib/ucontext.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2011, 2012 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
@@ -32,12 +32,12 @@ __BEGIN_DECLS
 extern int getcontext (ucontext_t *__ucp) __THROWNL;
 
 /* Set user context from information of variable pointed to by UCP.  */
-extern int setcontext (__const ucontext_t *__ucp) __THROWNL;
+extern int setcontext (const ucontext_t *__ucp) __THROWNL;
 
 /* Save current context in context variable pointed to by OUCP and set
    context from variable pointed to by UCP.  */
 extern int swapcontext (ucontext_t *__restrict __oucp,
-			__const ucontext_t *__restrict __ucp) __THROWNL;
+			const ucontext_t *__restrict __ucp) __THROWNL;
 
 /* Manipulate user context UCP to continue with calling functions FUNC
    and the ARGC-1 parameters following ARGC when the context is used
diff --git a/streams/stropts.h b/streams/stropts.h
index 192c09b408..45d6d0dfac 100644
--- a/streams/stropts.h
+++ b/streams/stropts.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2000, 2002, 2003, 2012 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
@@ -70,22 +70,22 @@ extern int ioctl (int __fd, unsigned long int __request, ...) __THROW;
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int putmsg (int __fildes, __const struct strbuf *__ctlptr,
-		   __const struct strbuf *__dataptr, int __flags);
+extern int putmsg (int __fildes, const struct strbuf *__ctlptr,
+		   const struct strbuf *__dataptr, int __flags);
 
 /* Send a message on a STREAM to the BAND.
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int putpmsg (int __fildes, __const struct strbuf *__ctlptr,
-		    __const struct strbuf *__dataptr, int __band, int __flags);
+extern int putpmsg (int __fildes, const struct strbuf *__ctlptr,
+		    const struct strbuf *__dataptr, int __band, int __flags);
 
 /* Attach a STREAMS-based file descriptor FILDES to a file PATH in the
    file system name space.  */
-extern int fattach (int __fildes, __const char *__path) __THROW;
+extern int fattach (int __fildes, const char *__path) __THROW;
 
 /* Detach a name PATH from a STREAMS-based file descriptor.  */
-extern int fdetach (__const char *__path) __THROW;
+extern int fdetach (const char *__path) __THROW;
 
 __END_DECLS
 
diff --git a/string/argz.h b/string/argz.h
index 4141d998f9..96bf85b913 100644
--- a/string/argz.h
+++ b/string/argz.h
@@ -1,5 +1,5 @@
 /* Routines for dealing with '\0' separated arg vectors.
-   Copyright (C) 1995,96,97,98,99,2000,2004,2007 Free Software Foundation, Inc.
+   Copyright (C) 1995-2000,2004,2007,2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -26,10 +26,6 @@
 #include <errno.h>
 #include <string.h>		/* Need size_t, and strchr is called below.  */
 
-#ifndef __const
-# define __const const
-#endif
-
 #ifndef __error_t_defined
 typedef int error_t;
 #endif
@@ -40,33 +36,33 @@ __BEGIN_DECLS
 /* Make a '\0' separated arg vector from a unix argv vector, returning it in
    ARGZ, and the total length in LEN.  If a memory allocation error occurs,
    ENOMEM is returned, otherwise 0.  The result can be destroyed using free. */
-extern error_t __argz_create (char *__const __argv[], char **__restrict __argz,
+extern error_t __argz_create (char *const __argv[], char **__restrict __argz,
 			      size_t *__restrict __len) __THROW;
-extern error_t argz_create (char *__const __argv[], char **__restrict __argz,
+extern error_t argz_create (char *const __argv[], char **__restrict __argz,
 			    size_t *__restrict __len) __THROW;
 
 /* Make a '\0' separated arg vector from a SEP separated list in
    STRING, returning it in ARGZ, and the total length in LEN.  If a
    memory allocation error occurs, ENOMEM is returned, otherwise 0.
    The result can be destroyed using free.  */
-extern error_t __argz_create_sep (__const char *__restrict __string,
+extern error_t __argz_create_sep (const char *__restrict __string,
 				  int __sep, char **__restrict __argz,
 				  size_t *__restrict __len) __THROW;
-extern error_t argz_create_sep (__const char *__restrict __string,
+extern error_t argz_create_sep (const char *__restrict __string,
 				int __sep, char **__restrict __argz,
 				size_t *__restrict __len) __THROW;
 
 /* Returns the number of strings in ARGZ.  */
-extern size_t __argz_count (__const char *__argz, size_t __len)
+extern size_t __argz_count (const char *__argz, size_t __len)
      __THROW __attribute_pure__;
-extern size_t argz_count (__const char *__argz, size_t __len)
+extern size_t argz_count (const char *__argz, size_t __len)
      __THROW __attribute_pure__;
 
 /* Puts pointers to each string in ARGZ into ARGV, which must be large enough
    to hold them all.  */
-extern void __argz_extract (__const char *__restrict __argz, size_t __len,
+extern void __argz_extract (const char *__restrict __argz, size_t __len,
 			    char **__restrict __argv) __THROW;
-extern void argz_extract (__const char *__restrict __argz, size_t __len,
+extern void argz_extract (const char *__restrict __argz, size_t __len,
 			  char **__restrict __argv) __THROW;
 
 /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
@@ -77,30 +73,30 @@ extern void argz_stringify (char *__argz, size_t __len, int __sep) __THROW;
 /* Append BUF, of length BUF_LEN to the argz vector in ARGZ & ARGZ_LEN.  */
 extern error_t __argz_append (char **__restrict __argz,
 			      size_t *__restrict __argz_len,
-			      __const char *__restrict __buf, size_t _buf_len)
+			      const char *__restrict __buf, size_t __buf_len)
      __THROW;
 extern error_t argz_append (char **__restrict __argz,
 			    size_t *__restrict __argz_len,
-			    __const char *__restrict __buf, size_t __buf_len)
+			    const char *__restrict __buf, size_t __buf_len)
      __THROW;
 
 /* Append STR to the argz vector in ARGZ & ARGZ_LEN.  */
 extern error_t __argz_add (char **__restrict __argz,
 			   size_t *__restrict __argz_len,
-			   __const char *__restrict __str) __THROW;
+			   const char *__restrict __str) __THROW;
 extern error_t argz_add (char **__restrict __argz,
 			 size_t *__restrict __argz_len,
-			 __const char *__restrict __str) __THROW;
+			 const char *__restrict __str) __THROW;
 
 /* Append SEP separated list in STRING to the argz vector in ARGZ &
    ARGZ_LEN.  */
 extern error_t __argz_add_sep (char **__restrict __argz,
 			       size_t *__restrict __argz_len,
-			       __const char *__restrict __string, int __delim)
+			       const char *__restrict __string, int __delim)
      __THROW;
 extern error_t argz_add_sep (char **__restrict __argz,
 			     size_t *__restrict __argz_len,
-			     __const char *__restrict __string, int __delim)
+			     const char *__restrict __string, int __delim)
      __THROW;
 
 /* Delete ENTRY from ARGZ & ARGZ_LEN, if it appears there.  */
@@ -120,24 +116,24 @@ extern void argz_delete (char **__restrict __argz,
 extern error_t __argz_insert (char **__restrict __argz,
 			      size_t *__restrict __argz_len,
 			      char *__restrict __before,
-			      __const char *__restrict __entry) __THROW;
+			      const char *__restrict __entry) __THROW;
 extern error_t argz_insert (char **__restrict __argz,
 			    size_t *__restrict __argz_len,
 			    char *__restrict __before,
-			    __const char *__restrict __entry) __THROW;
+			    const char *__restrict __entry) __THROW;
 
 /* Replace any occurrences of the string STR in ARGZ with WITH, reallocating
    ARGZ as necessary.  If REPLACE_COUNT is non-zero, *REPLACE_COUNT will be
    incremented by number of replacements performed.  */
 extern error_t __argz_replace (char **__restrict __argz,
 			       size_t *__restrict __argz_len,
-			       __const char *__restrict __str,
-			       __const char *__restrict __with,
+			       const char *__restrict __str,
+			       const char *__restrict __with,
 			       unsigned int *__restrict __replace_count);
 extern error_t argz_replace (char **__restrict __argz,
 			     size_t *__restrict __argz_len,
-			     __const char *__restrict __str,
-			     __const char *__restrict __with,
+			     const char *__restrict __str,
+			     const char *__restrict __with,
 			     unsigned int *__restrict __replace_count);
 
 /* Returns the next entry in ARGZ & ARGZ_LEN after ENTRY, or NULL if there
@@ -154,15 +150,15 @@ extern error_t argz_replace (char **__restrict __argz,
     for (entry = argz; entry; entry = argz_next (argz, argz_len, entry))
       ...;
 */
-extern char *__argz_next (__const char *__restrict __argz, size_t __argz_len,
-			  __const char *__restrict __entry) __THROW;
-extern char *argz_next (__const char *__restrict __argz, size_t __argz_len,
-			__const char *__restrict __entry) __THROW;
+extern char *__argz_next (const char *__restrict __argz, size_t __argz_len,
+			  const char *__restrict __entry) __THROW;
+extern char *argz_next (const char *__restrict __argz, size_t __argz_len,
+			const char *__restrict __entry) __THROW;
 
 #ifdef __USE_EXTERN_INLINES
 __extern_inline char *
-__NTH (__argz_next (__const char *__argz, size_t __argz_len,
-		    __const char *__entry))
+__NTH (__argz_next (const char *__argz, size_t __argz_len,
+		    const char *__entry))
 {
   if (__entry)
     {
@@ -175,8 +171,8 @@ __NTH (__argz_next (__const char *__argz, size_t __argz_len,
     return __argz_len > 0 ? (char *) __argz : 0;
 }
 __extern_inline char *
-__NTH (argz_next (__const char *__argz, size_t __argz_len,
-		  __const char *__entry))
+__NTH (argz_next (const char *__argz, size_t __argz_len,
+		  const char *__entry))
 {
   return __argz_next (__argz, __argz_len, __entry);
 }
diff --git a/string/bits/string2.h b/string/bits/string2.h
index d298bed9f8..f2945b3a1c 100644
--- a/string/bits/string2.h
+++ b/string/bits/string2.h
@@ -1,5 +1,5 @@
 /* Machine-independant string function optimizations.
-   Copyright (C) 1997-2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1997-2004, 2007, 2008, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -54,22 +54,22 @@
 
 # if __BYTE_ORDER == __LITTLE_ENDIAN
 #  define __STRING2_SMALL_GET16(src, idx) \
-     (((__const unsigned char *) (__const char *) (src))[idx + 1] << 8	      \
-      | ((__const unsigned char *) (__const char *) (src))[idx])
+     (((const unsigned char *) (const char *) (src))[idx + 1] << 8	      \
+      | ((const unsigned char *) (const char *) (src))[idx])
 #  define __STRING2_SMALL_GET32(src, idx) \
-     (((((__const unsigned char *) (__const char *) (src))[idx + 3] << 8      \
-	| ((__const unsigned char *) (__const char *) (src))[idx + 2]) << 8   \
-       | ((__const unsigned char *) (__const char *) (src))[idx + 1]) << 8    \
-      | ((__const unsigned char *) (__const char *) (src))[idx])
+     (((((const unsigned char *) (const char *) (src))[idx + 3] << 8	      \
+	| ((const unsigned char *) (const char *) (src))[idx + 2]) << 8	      \
+       | ((const unsigned char *) (const char *) (src))[idx + 1]) << 8	      \
+      | ((const unsigned char *) (const char *) (src))[idx])
 # else
 #  define __STRING2_SMALL_GET16(src, idx) \
-     (((__const unsigned char *) (__const char *) (src))[idx] << 8	      \
-      | ((__const unsigned char *) (__const char *) (src))[idx + 1])
+     (((const unsigned char *) (const char *) (src))[idx] << 8		      \
+      | ((const unsigned char *) (const char *) (src))[idx + 1])
 #  define __STRING2_SMALL_GET32(src, idx) \
-     (((((__const unsigned char *) (__const char *) (src))[idx] << 8	      \
-	| ((__const unsigned char *) (__const char *) (src))[idx + 1]) << 8   \
-       | ((__const unsigned char *) (__const char *) (src))[idx + 2]) << 8    \
-      | ((__const unsigned char *) (__const char *) (src))[idx + 3])
+     (((((const unsigned char *) (const char *) (src))[idx] << 8	      \
+	| ((const unsigned char *) (const char *) (src))[idx + 1]) << 8	      \
+       | ((const unsigned char *) (const char *) (src))[idx + 2]) << 8	      \
+      | ((const unsigned char *) (const char *) (src))[idx + 3])
 # endif
 #else
 /* These are a few types we need for the optimizations if we cannot
@@ -227,8 +227,8 @@ __STRING2_COPY_TYPE (8);
 #   if _STRING_ARCH_unaligned
 #    ifndef _FORCE_INLINES
 #     define __mempcpy_args(src) \
-     ((__const char *) (src))[0], ((__const char *) (src))[2],		      \
-     ((__const char *) (src))[4], ((__const char *) (src))[6],		      \
+     ((const char *) (src))[0], ((const char *) (src))[2],		      \
+     ((const char *) (src))[4], ((const char *) (src))[6],		      \
      __extension__ __STRING2_SMALL_GET16 (src, 0),			      \
      __extension__ __STRING2_SMALL_GET16 (src, 4),			      \
      __extension__ __STRING2_SMALL_GET32 (src, 0),			      \
@@ -302,33 +302,33 @@ __mempcpy_small (void *__dest1,
 #   else
 #    ifndef _FORCE_INLINES
 #     define __mempcpy_args(src) \
-     ((__const char *) (src))[0],					      \
+     ((const char *) (src))[0],						      \
      __extension__ ((__STRING2_COPY_ARR2)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1] } }),      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1] } }),	      \
      __extension__ ((__STRING2_COPY_ARR3)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2] } }),				      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2] } }),				      \
      __extension__ ((__STRING2_COPY_ARR4)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3] } }),      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3] } }),	      \
      __extension__ ((__STRING2_COPY_ARR5)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
-	  ((__const char *) (src))[4] } }),				      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
+	  ((const char *) (src))[4] } }),				      \
      __extension__ ((__STRING2_COPY_ARR6)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
-	  ((__const char *) (src))[4], ((__const char *) (src))[5] } }),      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
+	  ((const char *) (src))[4], ((const char *) (src))[5] } }),	      \
      __extension__ ((__STRING2_COPY_ARR7)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
-	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
-	  ((__const char *) (src))[6] } }),				      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
+	  ((const char *) (src))[4], ((const char *) (src))[5],		      \
+	  ((const char *) (src))[6] } }),				      \
      __extension__ ((__STRING2_COPY_ARR8)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
-	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
-	  ((__const char *) (src))[6], ((__const char *) (src))[7] } })
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
+	  ((const char *) (src))[4], ((const char *) (src))[5],		      \
+	  ((const char *) (src))[6], ((const char *) (src))[7] } })
 #    endif
 __STRING_INLINE void *__mempcpy_small (void *, char, __STRING2_COPY_ARR2,
 				       __STRING2_COPY_ARR3,
@@ -486,31 +486,31 @@ __strcpy_small (char *__dest,
 #  ifndef _FORCE_INLINES
 #   define __strcpy_args(src) \
      __extension__ ((__STRING2_COPY_ARR2)				      \
-      { { ((__const char *) (src))[0], '\0' } }),			      \
+      { { ((const char *) (src))[0], '\0' } }),				      \
      __extension__ ((__STRING2_COPY_ARR3)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
 	  '\0' } }),							      \
      __extension__ ((__STRING2_COPY_ARR4)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], '\0' } }),			      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], '\0' } }),				      \
      __extension__ ((__STRING2_COPY_ARR5)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
 	  '\0' } }),							      \
      __extension__ ((__STRING2_COPY_ARR6)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
-	  ((__const char *) (src))[4], '\0' } }),			      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
+	  ((const char *) (src))[4], '\0' } }),				      \
      __extension__ ((__STRING2_COPY_ARR7)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
-	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
+	  ((const char *) (src))[4], ((const char *) (src))[5],		      \
 	  '\0' } }),							      \
      __extension__ ((__STRING2_COPY_ARR8)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
-	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
-	  ((__const char *) (src))[6], '\0' } })
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
+	  ((const char *) (src))[4], ((const char *) (src))[5],		      \
+	  ((const char *) (src))[6], '\0' } })
 #  endif
 __STRING_INLINE char *__strcpy_small (char *, __STRING2_COPY_ARR2,
 				      __STRING2_COPY_ARR3,
@@ -670,31 +670,31 @@ __stpcpy_small (char *__dest,
 #    ifndef _FORCE_INLINES
 #     define __stpcpy_args(src) \
      __extension__ ((__STRING2_COPY_ARR2)				      \
-      { { ((__const char *) (src))[0], '\0' } }),			      \
+      { { ((const char *) (src))[0], '\0' } }),				      \
      __extension__ ((__STRING2_COPY_ARR3)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
 	  '\0' } }),							      \
      __extension__ ((__STRING2_COPY_ARR4)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], '\0' } }),			      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], '\0' } }),				      \
      __extension__ ((__STRING2_COPY_ARR5)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
 	  '\0' } }),							      \
      __extension__ ((__STRING2_COPY_ARR6)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
-	  ((__const char *) (src))[4], '\0' } }),			      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
+	  ((const char *) (src))[4], '\0' } }),				      \
      __extension__ ((__STRING2_COPY_ARR7)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
-	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
+	  ((const char *) (src))[4], ((const char *) (src))[5],		      \
 	  '\0' } }),							      \
      __extension__ ((__STRING2_COPY_ARR8)				      \
-      { { ((__const char *) (src))[0], ((__const char *) (src))[1],	      \
-	  ((__const char *) (src))[2], ((__const char *) (src))[3],	      \
-	  ((__const char *) (src))[4], ((__const char *) (src))[5],	      \
-	  ((__const char *) (src))[6], '\0' } })
+      { { ((const char *) (src))[0], ((const char *) (src))[1],		      \
+	  ((const char *) (src))[2], ((const char *) (src))[3],		      \
+	  ((const char *) (src))[4], ((const char *) (src))[5],		      \
+	  ((const char *) (src))[6], '\0' } })
 #    endif
 __STRING_INLINE char *__stpcpy_small (char *, __STRING2_COPY_ARR2,
 				      __STRING2_COPY_ARR3,
@@ -824,7 +824,7 @@ __stpcpy_small (char *__dest,
       && (__s1_len = strlen (s1), __s2_len = strlen (s2),		      \
 	  (!__string2_1bptr_p (s1) || __s1_len >= 4)			      \
 	  && (!__string2_1bptr_p (s2) || __s2_len >= 4))		      \
-      ? memcmp ((__const char *) (s1), (__const char *) (s2),		      \
+      ? memcmp ((const char *) (s1), (const char *) (s2),		      \
 		(__s1_len < __s2_len ? __s1_len : __s2_len) + 1)	      \
       : (__builtin_constant_p (s1) && __string2_1bptr_p (s1)		      \
 	 && (__s1_len = strlen (s1), __s1_len < 4)			      \
@@ -841,74 +841,74 @@ __stpcpy_small (char *__dest,
 
 # define __strcmp_cc(s1, s2, l) \
   (__extension__ ({ register int __result =				      \
-		      (((__const unsigned char *) (__const char *) (s1))[0]   \
-		       - ((__const unsigned char *) (__const char *)(s2))[0]);\
+		      (((const unsigned char *) (const char *) (s1))[0]	      \
+		       - ((const unsigned char *) (const char *)(s2))[0]);    \
 		    if (l > 0 && __result == 0)				      \
 		      {							      \
-			__result = (((__const unsigned char *)		      \
-				     (__const char *) (s1))[1]		      \
-				    - ((__const unsigned char *)	      \
-				       (__const char *) (s2))[1]);	      \
+			__result = (((const unsigned char *)		      \
+				     (const char *) (s1))[1]		      \
+				    - ((const unsigned char *)		      \
+				       (const char *) (s2))[1]);	      \
 			if (l > 1 && __result == 0)			      \
 			  {						      \
 			    __result =					      \
-			      (((__const unsigned char *)		      \
-				(__const char *) (s1))[2]		      \
-			       - ((__const unsigned char *)		      \
-				  (__const char *) (s2))[2]);		      \
+			      (((const unsigned char *)			      \
+				(const char *) (s1))[2]			      \
+			       - ((const unsigned char *)		      \
+				  (const char *) (s2))[2]);		      \
 			    if (l > 2 && __result == 0)			      \
 			      __result =				      \
-				(((__const unsigned char *)		      \
-				  (__const char *) (s1))[3]		      \
-				 - ((__const unsigned char *)		      \
-				    (__const char *) (s2))[3]);		      \
+				(((const unsigned char *)		      \
+				  (const char *) (s1))[3]		      \
+				 - ((const unsigned char *)		      \
+				    (const char *) (s2))[3]);		      \
 			  }						      \
 		      }							      \
 		    __result; }))
 
 # define __strcmp_cg(s1, s2, l1) \
-  (__extension__ ({ __const unsigned char *__s2 =			      \
-		      (__const unsigned char *) (__const char *) (s2);	      \
+  (__extension__ ({ const unsigned char *__s2 =				      \
+		      (const unsigned char *) (const char *) (s2);	      \
 		    register int __result =				      \
-		      (((__const unsigned char *) (__const char *) (s1))[0]   \
+		      (((const unsigned char *) (const char *) (s1))[0]	      \
 		       - __s2[0]);					      \
 		    if (l1 > 0 && __result == 0)			      \
 		      {							      \
-			__result = (((__const unsigned char *)		      \
-				     (__const char *) (s1))[1] - __s2[1]);    \
+			__result = (((const unsigned char *)		      \
+				     (const char *) (s1))[1] - __s2[1]);      \
 			if (l1 > 1 && __result == 0)			      \
 			  {						      \
-			    __result = (((__const unsigned char *)	      \
-					 (__const char *) (s1))[2] - __s2[2]);\
+			    __result = (((const unsigned char *)	      \
+					 (const char *) (s1))[2] - __s2[2]);  \
 			    if (l1 > 2 && __result == 0)		      \
-			      __result = (((__const unsigned char *)	      \
-					  (__const char *)  (s1))[3]	      \
+			      __result = (((const unsigned char *)	      \
+					  (const char *)  (s1))[3]	      \
 					  - __s2[3]);			      \
 			  }						      \
 		      }							      \
 		    __result; }))
 
 # define __strcmp_gc(s1, s2, l2) \
-  (__extension__ ({ __const unsigned char *__s1 =			      \
-		      (__const unsigned char *) (__const char *) (s1);	      \
+  (__extension__ ({ const unsigned char *__s1 =				      \
+		      (const unsigned char *) (const char *) (s1);	      \
 		    register int __result =				      \
-		      __s1[0] - ((__const unsigned char *)		      \
-				 (__const char *) (s2))[0];		      \
+		      __s1[0] - ((const unsigned char *)		      \
+				 (const char *) (s2))[0];		      \
 		    if (l2 > 0 && __result == 0)			      \
 		      {							      \
 			__result = (__s1[1]				      \
-				    - ((__const unsigned char *)	      \
-				       (__const char *) (s2))[1]);	      \
+				    - ((const unsigned char *)		      \
+				       (const char *) (s2))[1]);	      \
 			if (l2 > 1 && __result == 0)			      \
 			  {						      \
 			    __result =					      \
-			      (__s1[2] - ((__const unsigned char *)	      \
-					  (__const char *) (s2))[2]);	      \
+			      (__s1[2] - ((const unsigned char *)	      \
+					  (const char *) (s2))[2]);	      \
 			    if (l2 > 2 && __result == 0)		      \
 			      __result =				      \
 				(__s1[3]				      \
-				 - ((__const unsigned char *)		      \
-				    (__const char *) (s2))[3]);		      \
+				 - ((const unsigned char *)		      \
+				    (const char *) (s2))[3]);		      \
 			  }						      \
 		      }							      \
 		    __result; }))
@@ -938,13 +938,13 @@ __stpcpy_small (char *__dest,
      (__builtin_constant_p (reject) && __string2_1bptr_p (reject)	      \
       ? ((__builtin_constant_p (s) && __string2_1bptr_p (s))		      \
 	 ? __builtin_strcspn (s, reject)				      \
-	 : ((__r0 = ((__const char *) (reject))[0], __r0 == '\0')	      \
+	 : ((__r0 = ((const char *) (reject))[0], __r0 == '\0')		      \
 	    ? strlen (s)						      \
-	    : ((__r1 = ((__const char *) (reject))[1], __r1 == '\0')	      \
+	    : ((__r1 = ((const char *) (reject))[1], __r1 == '\0')	      \
 	       ? __strcspn_c1 (s, __r0)					      \
-	       : ((__r2 = ((__const char *) (reject))[2], __r2 == '\0')	      \
+	       : ((__r2 = ((const char *) (reject))[2], __r2 == '\0')	      \
 		  ? __strcspn_c2 (s, __r0, __r1)			      \
-		  : (((__const char *) (reject))[3] == '\0'		      \
+		  : (((const char *) (reject))[3] == '\0'		      \
 		     ? __strcspn_c3 (s, __r0, __r1, __r2)		      \
 		     : __builtin_strcspn (s, reject))))))		      \
       : __builtin_strcspn (s, reject)); })
@@ -953,22 +953,22 @@ __stpcpy_small (char *__dest,
   __extension__								      \
   ({ char __r0, __r1, __r2;						      \
      (__builtin_constant_p (reject) && __string2_1bptr_p (reject)	      \
-      ? ((__r0 = ((__const char *) (reject))[0], __r0 == '\0')		      \
+      ? ((__r0 = ((const char *) (reject))[0], __r0 == '\0')		      \
 	 ? strlen (s)							      \
-	 : ((__r1 = ((__const char *) (reject))[1], __r1 == '\0')	      \
+	 : ((__r1 = ((const char *) (reject))[1], __r1 == '\0')		      \
 	    ? __strcspn_c1 (s, __r0)					      \
-	    : ((__r2 = ((__const char *) (reject))[2], __r2 == '\0')	      \
+	    : ((__r2 = ((const char *) (reject))[2], __r2 == '\0')	      \
 	       ? __strcspn_c2 (s, __r0, __r1)				      \
-	       : (((__const char *) (reject))[3] == '\0'		      \
+	       : (((const char *) (reject))[3] == '\0'			      \
 		  ? __strcspn_c3 (s, __r0, __r1, __r2)			      \
 		  : strcspn (s, reject)))))				      \
       : strcspn (s, reject)); })
 #  endif
 # endif
 
-__STRING_INLINE size_t __strcspn_c1 (__const char *__s, int __reject);
+__STRING_INLINE size_t __strcspn_c1 (const char *__s, int __reject);
 __STRING_INLINE size_t
-__strcspn_c1 (__const char *__s, int __reject)
+__strcspn_c1 (const char *__s, int __reject)
 {
   register size_t __result = 0;
   while (__s[__result] != '\0' && __s[__result] != __reject)
@@ -976,10 +976,10 @@ __strcspn_c1 (__const char *__s, int __reject)
   return __result;
 }
 
-__STRING_INLINE size_t __strcspn_c2 (__const char *__s, int __reject1,
+__STRING_INLINE size_t __strcspn_c2 (const char *__s, int __reject1,
 				     int __reject2);
 __STRING_INLINE size_t
-__strcspn_c2 (__const char *__s, int __reject1, int __reject2)
+__strcspn_c2 (const char *__s, int __reject1, int __reject2)
 {
   register size_t __result = 0;
   while (__s[__result] != '\0' && __s[__result] != __reject1
@@ -988,10 +988,10 @@ __strcspn_c2 (__const char *__s, int __reject1, int __reject2)
   return __result;
 }
 
-__STRING_INLINE size_t __strcspn_c3 (__const char *__s, int __reject1,
+__STRING_INLINE size_t __strcspn_c3 (const char *__s, int __reject1,
 				     int __reject2, int __reject3);
 __STRING_INLINE size_t
-__strcspn_c3 (__const char *__s, int __reject1, int __reject2,
+__strcspn_c3 (const char *__s, int __reject1, int __reject2,
 	      int __reject3)
 {
   register size_t __result = 0;
@@ -1014,13 +1014,13 @@ __strcspn_c3 (__const char *__s, int __reject1, int __reject2,
      (__builtin_constant_p (accept) && __string2_1bptr_p (accept)	      \
       ? ((__builtin_constant_p (s) && __string2_1bptr_p (s))		      \
 	 ? __builtin_strspn (s, accept)					      \
-	 : ((__a0 = ((__const char *) (accept))[0], __a0 == '\0')	      \
+	 : ((__a0 = ((const char *) (accept))[0], __a0 == '\0')		      \
 	    ? ((void) (s), 0)						      \
-	    : ((__a1 = ((__const char *) (accept))[1], __a1 == '\0')	      \
+	    : ((__a1 = ((const char *) (accept))[1], __a1 == '\0')	      \
 	       ? __strspn_c1 (s, __a0)					      \
-	       : ((__a2 = ((__const char *) (accept))[2], __a2 == '\0')	      \
+	       : ((__a2 = ((const char *) (accept))[2], __a2 == '\0')	      \
 		  ? __strspn_c2 (s, __a0, __a1)				      \
-		  : (((__const char *) (accept))[3] == '\0'		      \
+		  : (((const char *) (accept))[3] == '\0'		      \
 		     ? __strspn_c3 (s, __a0, __a1, __a2)		      \
 		     : __builtin_strspn (s, accept))))))		      \
       : __builtin_strspn (s, accept)); })
@@ -1029,22 +1029,22 @@ __strcspn_c3 (__const char *__s, int __reject1, int __reject2,
   __extension__								      \
   ({ char __a0, __a1, __a2;						      \
      (__builtin_constant_p (accept) && __string2_1bptr_p (accept)	      \
-      ? ((__a0 = ((__const char *) (accept))[0], __a0 == '\0')		      \
+      ? ((__a0 = ((const char *) (accept))[0], __a0 == '\0')		      \
 	 ? ((void) (s), 0)						      \
-	 : ((__a1 = ((__const char *) (accept))[1], __a1 == '\0')	      \
+	 : ((__a1 = ((const char *) (accept))[1], __a1 == '\0')		      \
 	    ? __strspn_c1 (s, __a0)					      \
-	    : ((__a2 = ((__const char *) (accept))[2], __a2 == '\0')	      \
+	    : ((__a2 = ((const char *) (accept))[2], __a2 == '\0')	      \
 	       ? __strspn_c2 (s, __a0, __a1)				      \
-	       : (((__const char *) (accept))[3] == '\0'		      \
+	       : (((const char *) (accept))[3] == '\0'			      \
 		  ? __strspn_c3 (s, __a0, __a1, __a2)			      \
 		  : strspn (s, accept)))))				      \
       : strspn (s, accept)); })
 #  endif
 # endif
 
-__STRING_INLINE size_t __strspn_c1 (__const char *__s, int __accept);
+__STRING_INLINE size_t __strspn_c1 (const char *__s, int __accept);
 __STRING_INLINE size_t
-__strspn_c1 (__const char *__s, int __accept)
+__strspn_c1 (const char *__s, int __accept)
 {
   register size_t __result = 0;
   /* Please note that __accept never can be '\0'.  */
@@ -1053,10 +1053,10 @@ __strspn_c1 (__const char *__s, int __accept)
   return __result;
 }
 
-__STRING_INLINE size_t __strspn_c2 (__const char *__s, int __accept1,
+__STRING_INLINE size_t __strspn_c2 (const char *__s, int __accept1,
 				    int __accept2);
 __STRING_INLINE size_t
-__strspn_c2 (__const char *__s, int __accept1, int __accept2)
+__strspn_c2 (const char *__s, int __accept1, int __accept2)
 {
   register size_t __result = 0;
   /* Please note that __accept1 and __accept2 never can be '\0'.  */
@@ -1065,10 +1065,10 @@ __strspn_c2 (__const char *__s, int __accept1, int __accept2)
   return __result;
 }
 
-__STRING_INLINE size_t __strspn_c3 (__const char *__s, int __accept1,
+__STRING_INLINE size_t __strspn_c3 (const char *__s, int __accept1,
 				    int __accept2, int __accept3);
 __STRING_INLINE size_t
-__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
+__strspn_c3 (const char *__s, int __accept1, int __accept2, int __accept3)
 {
   register size_t __result = 0;
   /* Please note that __accept1 to __accept3 never can be '\0'.  */
@@ -1090,13 +1090,13 @@ __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
      (__builtin_constant_p (accept) && __string2_1bptr_p (accept)	      \
       ? ((__builtin_constant_p (s) && __string2_1bptr_p (s))		      \
 	 ? __builtin_strpbrk (s, accept)				      \
-	 : ((__a0 = ((__const char  *) (accept))[0], __a0 == '\0')	      \
+	 : ((__a0 = ((const char  *) (accept))[0], __a0 == '\0')	      \
 	    ? ((void) (s), (char *) NULL)				      \
-	    : ((__a1 = ((__const char *) (accept))[1], __a1 == '\0')	      \
+	    : ((__a1 = ((const char *) (accept))[1], __a1 == '\0')	      \
 	       ? __builtin_strchr (s, __a0)				      \
-	       : ((__a2 = ((__const char *) (accept))[2], __a2 == '\0')	      \
+	       : ((__a2 = ((const char *) (accept))[2], __a2 == '\0')	      \
 		  ? __strpbrk_c2 (s, __a0, __a1)			      \
-		  : (((__const char *) (accept))[3] == '\0'		      \
+		  : (((const char *) (accept))[3] == '\0'		      \
 		     ? __strpbrk_c3 (s, __a0, __a1, __a2)		      \
 		     : __builtin_strpbrk (s, accept))))))		      \
       : __builtin_strpbrk (s, accept)); })
@@ -1105,23 +1105,23 @@ __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
   __extension__								      \
   ({ char __a0, __a1, __a2;						      \
      (__builtin_constant_p (accept) && __string2_1bptr_p (accept)	      \
-      ? ((__a0 = ((__const char  *) (accept))[0], __a0 == '\0')		      \
+      ? ((__a0 = ((const char  *) (accept))[0], __a0 == '\0')		      \
 	 ? ((void) (s), (char *) NULL)					      \
-	 : ((__a1 = ((__const char *) (accept))[1], __a1 == '\0')	      \
+	 : ((__a1 = ((const char *) (accept))[1], __a1 == '\0')		      \
 	    ? strchr (s, __a0)						      \
-	    : ((__a2 = ((__const char *) (accept))[2], __a2 == '\0')	      \
+	    : ((__a2 = ((const char *) (accept))[2], __a2 == '\0')	      \
 	       ? __strpbrk_c2 (s, __a0, __a1)				      \
-	       : (((__const char *) (accept))[3] == '\0'		      \
+	       : (((const char *) (accept))[3] == '\0'			      \
 		  ? __strpbrk_c3 (s, __a0, __a1, __a2)			      \
 		  : strpbrk (s, accept)))))				      \
       : strpbrk (s, accept)); })
 #  endif
 # endif
 
-__STRING_INLINE char *__strpbrk_c2 (__const char *__s, int __accept1,
-				     int __accept2);
+__STRING_INLINE char *__strpbrk_c2 (const char *__s, int __accept1,
+				    int __accept2);
 __STRING_INLINE char *
-__strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
+__strpbrk_c2 (const char *__s, int __accept1, int __accept2)
 {
   /* Please note that __accept1 and __accept2 never can be '\0'.  */
   while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
@@ -1129,11 +1129,10 @@ __strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
   return *__s == '\0' ? NULL : (char *) (size_t) __s;
 }
 
-__STRING_INLINE char *__strpbrk_c3 (__const char *__s, int __accept1,
-				     int __accept2, int __accept3);
+__STRING_INLINE char *__strpbrk_c3 (const char *__s, int __accept1,
+				    int __accept2, int __accept3);
 __STRING_INLINE char *
-__strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
-	      int __accept3)
+__strpbrk_c3 (const char *__s, int __accept1, int __accept2, int __accept3)
 {
   /* Please note that __accept1 to __accept3 never can be '\0'.  */
   while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
@@ -1149,11 +1148,11 @@ __strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
 #if !defined _HAVE_STRING_ARCH_strstr && !__GNUC_PREREQ (2, 97)
 # define strstr(haystack, needle) \
   (__extension__ (__builtin_constant_p (needle) && __string2_1bptr_p (needle) \
-		  ? (((__const char *) (needle))[0] == '\0'		      \
+		  ? (((const char *) (needle))[0] == '\0'		      \
 		     ? (char *) (size_t) (haystack)			      \
-		     : (((__const char *) (needle))[1] == '\0'		      \
+		     : (((const char *) (needle))[1] == '\0'		      \
 			? strchr (haystack,				      \
-				  ((__const char *) (needle))[0]) 	      \
+				  ((const char *) (needle))[0]) 	      \
 			: strstr (haystack, needle)))			      \
 		  : strstr (haystack, needle)))
 #endif
@@ -1163,9 +1162,9 @@ __strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
 # ifndef _HAVE_STRING_ARCH_strtok_r
 #  define __strtok_r(s, sep, nextp) \
   (__extension__ (__builtin_constant_p (sep) && __string2_1bptr_p (sep)	      \
-		  && ((__const char *) (sep))[0] != '\0'		      \
-		  && ((__const char *) (sep))[1] == '\0'		      \
-		  ? __strtok_r_1c (s, ((__const char *) (sep))[0], nextp)     \
+		  && ((const char *) (sep))[0] != '\0'			      \
+		  && ((const char *) (sep))[1] == '\0'			      \
+		  ? __strtok_r_1c (s, ((const char *) (sep))[0], nextp)       \
 		  : __strtok_r (s, sep, nextp)))
 # endif
 
@@ -1201,19 +1200,19 @@ __strtok_r_1c (char *__s, char __sep, char **__nextp)
 #if !defined _HAVE_STRING_ARCH_strsep || defined _FORCE_INLINES
 # ifndef _HAVE_STRING_ARCH_strsep
 
-extern char *__strsep_g (char **__stringp, __const char *__delim);
+extern char *__strsep_g (char **__stringp, const char *__delim);
 #  define __strsep(s, reject) \
   __extension__								      \
   ({ char __r0, __r1, __r2;						      \
      (__builtin_constant_p (reject) && __string2_1bptr_p (reject)	      \
-      && (__r0 = ((__const char *) (reject))[0],			      \
-	  ((__const char *) (reject))[0] != '\0')			      \
-      ? ((__r1 = ((__const char *) (reject))[1],			      \
-	 ((__const char *) (reject))[1] == '\0')			      \
+      && (__r0 = ((const char *) (reject))[0],				      \
+	  ((const char *) (reject))[0] != '\0')				      \
+      ? ((__r1 = ((const char *) (reject))[1],				      \
+	 ((const char *) (reject))[1] == '\0')				      \
 	 ? __strsep_1c (s, __r0)					      \
-	 : ((__r2 = ((__const char *) (reject))[2], __r2 == '\0')	      \
+	 : ((__r2 = ((const char *) (reject))[2], __r2 == '\0')		      \
 	    ? __strsep_2c (s, __r0, __r1)				      \
-	    : (((__const char *) (reject))[3] == '\0'			      \
+	    : (((const char *) (reject))[3] == '\0'			      \
 	       ? __strsep_3c (s, __r0, __r1, __r2)			      \
 	       : __strsep_g (s, reject))))				      \
       : __strsep_g (s, reject)); })
@@ -1300,10 +1299,10 @@ __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
 
 # ifndef _HAVE_STRING_ARCH_strdup
 
-extern char *__strdup (__const char *__string) __THROW __attribute_malloc__;
+extern char *__strdup (const char *__string) __THROW __attribute_malloc__;
 #  define __strdup(s) \
   (__extension__ (__builtin_constant_p (s) && __string2_1bptr_p (s)	      \
-		  ? (((__const char *) (s))[0] == '\0'			      \
+		  ? (((const char *) (s))[0] == '\0'			      \
 		     ? (char *) calloc ((size_t) 1, (size_t) 1)		      \
 		     : ({ size_t __len = strlen (s) + 1;		      \
 			  char *__retval = (char *) malloc (__len);	      \
@@ -1319,11 +1318,11 @@ extern char *__strdup (__const char *__string) __THROW __attribute_malloc__;
 
 # ifndef _HAVE_STRING_ARCH_strndup
 
-extern char *__strndup (__const char *__string, size_t __n)
+extern char *__strndup (const char *__string, size_t __n)
      __THROW __attribute_malloc__;
 #  define __strndup(s, n) \
   (__extension__ (__builtin_constant_p (s) && __string2_1bptr_p (s)	      \
-		  ? (((__const char *) (s))[0] == '\0'			      \
+		  ? (((const char *) (s))[0] == '\0'			      \
 		     ? (char *) calloc ((size_t) 1, (size_t) 1)		      \
 		     : ({ size_t __len = strlen (s) + 1;		      \
 			  size_t __n = (n);				      \
diff --git a/string/bits/string3.h b/string/bits/string3.h
index 164772572b..cdc01db53c 100644
--- a/string/bits/string3.h
+++ b/string/bits/string3.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2007, 2009, 2010, 2012 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
@@ -46,21 +46,21 @@ __warndecl (__warn_memset_zero_len,
 
 
 __extern_always_inline void *
-__NTH (memcpy (void *__restrict __dest, __const void *__restrict __src,
+__NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
 	       size_t __len))
 {
   return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
 }
 
 __extern_always_inline void *
-__NTH (memmove (void *__dest, __const void *__src, size_t __len))
+__NTH (memmove (void *__dest, const void *__src, size_t __len))
 {
   return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
 }
 
 #ifdef __USE_GNU
 __extern_always_inline void *
-__NTH (mempcpy (void *__restrict __dest, __const void *__restrict __src,
+__NTH (mempcpy (void *__restrict __dest, const void *__restrict __src,
 		size_t __len))
 {
   return __builtin___mempcpy_chk (__dest, __src, __len, __bos0 (__dest));
@@ -87,7 +87,7 @@ __NTH (memset (void *__dest, int __ch, size_t __len))
 
 #ifdef __USE_BSD
 __extern_always_inline void
-__NTH (bcopy (__const void *__src, void *__dest, size_t __len))
+__NTH (bcopy (const void *__src, void *__dest, size_t __len))
 {
   (void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
 }
@@ -100,14 +100,14 @@ __NTH (bzero (void *__dest, size_t __len))
 #endif
 
 __extern_always_inline char *
-__NTH (strcpy (char *__restrict __dest, __const char *__restrict __src))
+__NTH (strcpy (char *__restrict __dest, const char *__restrict __src))
 {
   return __builtin___strcpy_chk (__dest, __src, __bos (__dest));
 }
 
 #ifdef __USE_GNU
 __extern_always_inline char *
-__NTH (stpcpy (char *__restrict __dest, __const char *__restrict __src))
+__NTH (stpcpy (char *__restrict __dest, const char *__restrict __src))
 {
   return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
 }
@@ -115,21 +115,20 @@ __NTH (stpcpy (char *__restrict __dest, __const char *__restrict __src))
 
 
 __extern_always_inline char *
-__NTH (strncpy (char *__restrict __dest, __const char *__restrict __src,
+__NTH (strncpy (char *__restrict __dest, const char *__restrict __src,
 		size_t __len))
 {
   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
 }
 
 // XXX We have no corresponding builtin yet.
-extern char *__stpncpy_chk (char *__dest, __const char *__src, size_t __n,
+extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n,
 			    size_t __destlen) __THROW;
-extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest,
-					       __const char *__src,
+extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src,
 					       size_t __n), stpncpy);
 
 __extern_always_inline char *
-__NTH (stpncpy (char *__dest, __const char *__src, size_t __n))
+__NTH (stpncpy (char *__dest, const char *__src, size_t __n))
 {
   if (__bos (__dest) != (size_t) -1
       && (!__builtin_constant_p (__n) || __n <= __bos (__dest)))
@@ -139,14 +138,14 @@ __NTH (stpncpy (char *__dest, __const char *__src, size_t __n))
 
 
 __extern_always_inline char *
-__NTH (strcat (char *__restrict __dest, __const char *__restrict __src))
+__NTH (strcat (char *__restrict __dest, const char *__restrict __src))
 {
   return __builtin___strcat_chk (__dest, __src, __bos (__dest));
 }
 
 
 __extern_always_inline char *
-__NTH (strncat (char *__restrict __dest, __const char *__restrict __src,
+__NTH (strncat (char *__restrict __dest, const char *__restrict __src,
 		size_t __len))
 {
   return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
diff --git a/string/envz.h b/string/envz.h
index 3542ded721..29590253f8 100644
--- a/string/envz.h
+++ b/string/envz.h
@@ -1,5 +1,5 @@
 /* Routines for dealing with '\0' separated environment vectors
-   Copyright (C) 1995, 96, 98, 99, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1995,1996,1998, 1999,2000,2012 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
@@ -31,14 +31,14 @@
 __BEGIN_DECLS
 
 /* Returns a pointer to the entry in ENVZ for NAME, or 0 if there is none.  */
-extern char *envz_entry (__const char *__restrict __envz, size_t __envz_len,
-			 __const char *__restrict __name)
+extern char *envz_entry (const char *__restrict __envz, size_t __envz_len,
+			 const char *__restrict __name)
      __THROW __attribute_pure__;
 
 /* Returns a pointer to the value portion of the entry in ENVZ for NAME, or 0
    if there is none.  */
-extern char *envz_get (__const char *__restrict __envz, size_t __envz_len,
-		       __const char *__restrict __name)
+extern char *envz_get (const char *__restrict __envz, size_t __envz_len,
+		       const char *__restrict __name)
      __THROW __attribute_pure__;
 
 /* Adds an entry for NAME with value VALUE to ENVZ & ENVZ_LEN.  If an entry
@@ -49,21 +49,21 @@ extern char *envz_get (__const char *__restrict __envz, size_t __envz_len,
    entry in the other one.  Null entries can be removed with envz_strip ().  */
 extern error_t envz_add (char **__restrict __envz,
 			 size_t *__restrict __envz_len,
-			 __const char *__restrict __name,
-			 __const char *__restrict __value) __THROW;
+			 const char *__restrict __name,
+			 const char *__restrict __value) __THROW;
 
 /* Adds each entry in ENVZ2 to ENVZ & ENVZ_LEN, as if with envz_add().  If
    OVERRIDE is true, then values in ENVZ2 will supersede those with the same
    name in ENV, otherwise not.  */
 extern error_t envz_merge (char **__restrict __envz,
 			   size_t *__restrict __envz_len,
-			   __const char *__restrict __envz2,
+			   const char *__restrict __envz2,
 			   size_t __envz2_len, int __override) __THROW;
 
 /* Remove the entry for NAME from ENVZ & ENVZ_LEN, if any.  */
 extern void envz_remove (char **__restrict __envz,
 			 size_t *__restrict __envz_len,
-			 __const char *__restrict __name) __THROW;
+			 const char *__restrict __name) __THROW;
 
 /* Remove null entries.  */
 extern void envz_strip (char **__restrict __envz,
diff --git a/string/string.h b/string/string.h
index 388402189f..63a1e76b2c 100644
--- a/string/string.h
+++ b/string/string.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993,1995-2004,2007,2009,2010
+/* Copyright (C) 1991-1993,1995-2004,2007,2009,2010,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -41,12 +41,11 @@ __BEGIN_DECLS
 
 __BEGIN_NAMESPACE_STD
 /* Copy N bytes of SRC to DEST.  */
-extern void *memcpy (void *__restrict __dest,
-		     __const void *__restrict __src, size_t __n)
-     __THROW __nonnull ((1, 2));
+extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
+		     size_t __n) __THROW __nonnull ((1, 2));
 /* Copy N bytes of SRC to DEST, guaranteeing
    correct behavior for overlapping strings.  */
-extern void *memmove (void *__dest, __const void *__src, size_t __n)
+extern void *memmove (void *__dest, const void *__src, size_t __n)
      __THROW __nonnull ((1, 2));
 __END_NAMESPACE_STD
 
@@ -54,7 +53,7 @@ __END_NAMESPACE_STD
    Return the position in DEST one byte past where C was copied,
    or NULL if C was not found in the first N bytes of SRC.  */
 #if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN
-extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
+extern void *memccpy (void *__restrict __dest, const void *__restrict __src,
 		      int __c, size_t __n)
      __THROW __nonnull ((1, 2));
 #endif /* SVID.  */
@@ -65,7 +64,7 @@ __BEGIN_NAMESPACE_STD
 extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1));
 
 /* Compare N bytes of S1 and S2.  */
-extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
+extern int memcmp (const void *__s1, const void *__s2, size_t __n)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Search N bytes of S for C.  */
@@ -74,7 +73,7 @@ extern "C++"
 {
 extern void *memchr (void *__s, int __c, size_t __n)
       __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1));
-extern __const void *memchr (__const void *__s, int __c, size_t __n)
+extern const void *memchr (const void *__s, int __c, size_t __n)
       __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1));
 
 # ifdef __OPTIMIZE__
@@ -84,15 +83,15 @@ memchr (void *__s, int __c, size_t __n) __THROW
   return __builtin_memchr (__s, __c, __n);
 }
 
-__extern_always_inline __const void *
-memchr (__const void *__s, int __c, size_t __n) __THROW
+__extern_always_inline const void *
+memchr (const void *__s, int __c, size_t __n) __THROW
 {
   return __builtin_memchr (__s, __c, __n);
 }
 # endif
 }
 #else
-extern void *memchr (__const void *__s, int __c, size_t __n)
+extern void *memchr (const void *__s, int __c, size_t __n)
       __THROW __attribute_pure__ __nonnull ((1));
 #endif
 __END_NAMESPACE_STD
@@ -103,10 +102,10 @@ __END_NAMESPACE_STD
 # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++" void *rawmemchr (void *__s, int __c)
      __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1));
-extern "C++" __const void *rawmemchr (__const void *__s, int __c)
+extern "C++" const void *rawmemchr (const void *__s, int __c)
      __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1));
 # else
-extern void *rawmemchr (__const void *__s, int __c)
+extern void *rawmemchr (const void *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 # endif
 
@@ -114,10 +113,10 @@ extern void *rawmemchr (__const void *__s, int __c)
 # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++" void *memrchr (void *__s, int __c, size_t __n)
       __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1));
-extern "C++" __const void *memrchr (__const void *__s, int __c, size_t __n)
+extern "C++" const void *memrchr (const void *__s, int __c, size_t __n)
       __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1));
 # else
-extern void *memrchr (__const void *__s, int __c, size_t __n)
+extern void *memrchr (const void *__s, int __c, size_t __n)
       __THROW __attribute_pure__ __nonnull ((1));
 # endif
 #endif
@@ -125,33 +124,33 @@ extern void *memrchr (__const void *__s, int __c, size_t __n)
 
 __BEGIN_NAMESPACE_STD
 /* Copy SRC to DEST.  */
-extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
+extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      __THROW __nonnull ((1, 2));
 /* Copy no more than N characters of SRC to DEST.  */
 extern char *strncpy (char *__restrict __dest,
-		      __const char *__restrict __src, size_t __n)
+		      const char *__restrict __src, size_t __n)
      __THROW __nonnull ((1, 2));
 
 /* Append SRC onto DEST.  */
-extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
+extern char *strcat (char *__restrict __dest, const char *__restrict __src)
      __THROW __nonnull ((1, 2));
 /* Append no more than N characters from SRC onto DEST.  */
-extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
+extern char *strncat (char *__restrict __dest, const char *__restrict __src,
 		      size_t __n) __THROW __nonnull ((1, 2));
 
 /* Compare S1 and S2.  */
-extern int strcmp (__const char *__s1, __const char *__s2)
+extern int strcmp (const char *__s1, const char *__s2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Compare N characters of S1 and S2.  */
-extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
+extern int strncmp (const char *__s1, const char *__s2, size_t __n)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Compare the collated forms of S1 and S2.  */
-extern int strcoll (__const char *__s1, __const char *__s2)
+extern int strcoll (const char *__s1, const char *__s2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Put a transformation of SRC into no more than N bytes of DEST.  */
 extern size_t strxfrm (char *__restrict __dest,
-		       __const char *__restrict __src, size_t __n)
+		       const char *__restrict __src, size_t __n)
      __THROW __nonnull ((2));
 __END_NAMESPACE_STD
 
@@ -162,17 +161,17 @@ __END_NAMESPACE_STD
 # include <xlocale.h>
 
 /* Compare the collated forms of S1 and S2 using rules from L.  */
-extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
+extern int strcoll_l (const char *__s1, const char *__s2, __locale_t __l)
      __THROW __attribute_pure__ __nonnull ((1, 2, 3));
 /* Put a transformation of SRC into no more than N bytes of DEST.  */
-extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
+extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
 			 __locale_t __l) __THROW __nonnull ((2, 4));
 #endif
 
 #if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED \
     || defined __USE_XOPEN2K8
 /* Duplicate S, returning an identical malloc'd string.  */
-extern char *strdup (__const char *__s)
+extern char *strdup (const char *__s)
      __THROW __attribute_malloc__ __nonnull ((1));
 #endif
 
@@ -180,7 +179,7 @@ extern char *strdup (__const char *__s)
    resultant string is terminated even if no null terminator
    appears before STRING[N].  */
 #if defined __USE_XOPEN2K8
-extern char *strndup (__const char *__string, size_t __n)
+extern char *strndup (const char *__string, size_t __n)
      __THROW __attribute_malloc__ __nonnull ((1));
 #endif
 
@@ -189,7 +188,7 @@ extern char *strndup (__const char *__string, size_t __n)
 # define strdupa(s)							      \
   (__extension__							      \
     ({									      \
-      __const char *__old = (s);					      \
+      const char *__old = (s);						      \
       size_t __len = strlen (__old) + 1;				      \
       char *__new = (char *) __builtin_alloca (__len);			      \
       (char *) memcpy (__new, __old, __len);				      \
@@ -199,7 +198,7 @@ extern char *strndup (__const char *__string, size_t __n)
 # define strndupa(s, n)							      \
   (__extension__							      \
     ({									      \
-      __const char *__old = (s);					      \
+      const char *__old = (s);						      \
       size_t __len = strnlen (__old, (n));				      \
       char *__new = (char *) __builtin_alloca (__len + 1);		      \
       __new[__len] = '\0';						      \
@@ -214,7 +213,7 @@ extern "C++"
 {
 extern char *strchr (char *__s, int __c)
      __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1));
-extern __const char *strchr (__const char *__s, int __c)
+extern const char *strchr (const char *__s, int __c)
      __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1));
 
 # ifdef __OPTIMIZE__
@@ -224,15 +223,15 @@ strchr (char *__s, int __c) __THROW
   return __builtin_strchr (__s, __c);
 }
 
-__extern_always_inline __const char *
-strchr (__const char *__s, int __c) __THROW
+__extern_always_inline const char *
+strchr (const char *__s, int __c) __THROW
 {
   return __builtin_strchr (__s, __c);
 }
 # endif
 }
 #else
-extern char *strchr (__const char *__s, int __c)
+extern char *strchr (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 #endif
 /* Find the last occurrence of C in S.  */
@@ -241,7 +240,7 @@ extern "C++"
 {
 extern char *strrchr (char *__s, int __c)
      __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1));
-extern __const char *strrchr (__const char *__s, int __c)
+extern const char *strrchr (const char *__s, int __c)
      __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1));
 
 # ifdef __OPTIMIZE__
@@ -251,15 +250,15 @@ strrchr (char *__s, int __c) __THROW
   return __builtin_strrchr (__s, __c);
 }
 
-__extern_always_inline __const char *
-strrchr (__const char *__s, int __c) __THROW
+__extern_always_inline const char *
+strrchr (const char *__s, int __c) __THROW
 {
   return __builtin_strrchr (__s, __c);
 }
 # endif
 }
 #else
-extern char *strrchr (__const char *__s, int __c)
+extern char *strrchr (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 #endif
 __END_NAMESPACE_STD
@@ -270,10 +269,10 @@ __END_NAMESPACE_STD
 # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++" char *strchrnul (char *__s, int __c)
      __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1));
-extern "C++" __const char *strchrnul (__const char *__s, int __c)
+extern "C++" const char *strchrnul (const char *__s, int __c)
      __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1));
 # else
-extern char *strchrnul (__const char *__s, int __c)
+extern char *strchrnul (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 # endif
 #endif
@@ -281,82 +280,81 @@ extern char *strchrnul (__const char *__s, int __c)
 __BEGIN_NAMESPACE_STD
 /* Return the length of the initial segment of S which
    consists entirely of characters not in REJECT.  */
-extern size_t strcspn (__const char *__s, __const char *__reject)
+extern size_t strcspn (const char *__s, const char *__reject)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Return the length of the initial segment of S which
    consists entirely of characters in ACCEPT.  */
-extern size_t strspn (__const char *__s, __const char *__accept)
+extern size_t strspn (const char *__s, const char *__accept)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Find the first occurrence in S of any character in ACCEPT.  */
 #ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++"
 {
-extern char *strpbrk (char *__s, __const char *__accept)
+extern char *strpbrk (char *__s, const char *__accept)
      __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2));
-extern __const char *strpbrk (__const char *__s, __const char *__accept)
+extern const char *strpbrk (const char *__s, const char *__accept)
      __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2));
 
 # ifdef __OPTIMIZE__
 __extern_always_inline char *
-strpbrk (char *__s, __const char *__accept) __THROW
+strpbrk (char *__s, const char *__accept) __THROW
 {
   return __builtin_strpbrk (__s, __accept);
 }
 
-__extern_always_inline __const char *
-strpbrk (__const char *__s, __const char *__accept) __THROW
+__extern_always_inline const char *
+strpbrk (const char *__s, const char *__accept) __THROW
 {
   return __builtin_strpbrk (__s, __accept);
 }
 # endif
 }
 #else
-extern char *strpbrk (__const char *__s, __const char *__accept)
+extern char *strpbrk (const char *__s, const char *__accept)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 #endif
 /* Find the first occurrence of NEEDLE in HAYSTACK.  */
 #ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++"
 {
-extern char *strstr (char *__haystack, __const char *__needle)
+extern char *strstr (char *__haystack, const char *__needle)
      __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2));
-extern __const char *strstr (__const char *__haystack,
-			     __const char *__needle)
+extern const char *strstr (const char *__haystack, const char *__needle)
      __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2));
 
 # ifdef __OPTIMIZE__
 __extern_always_inline char *
-strstr (char *__haystack, __const char *__needle) __THROW
+strstr (char *__haystack, const char *__needle) __THROW
 {
   return __builtin_strstr (__haystack, __needle);
 }
 
-__extern_always_inline __const char *
-strstr (__const char *__haystack, __const char *__needle) __THROW
+__extern_always_inline const char *
+strstr (const char *__haystack, const char *__needle) __THROW
 {
   return __builtin_strstr (__haystack, __needle);
 }
 # endif
 }
 #else
-extern char *strstr (__const char *__haystack, __const char *__needle)
+extern char *strstr (const char *__haystack, const char *__needle)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 #endif
 
 
 /* Divide S into tokens separated by characters in DELIM.  */
-extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
+extern char *strtok (char *__restrict __s, const char *__restrict __delim)
      __THROW __nonnull ((2));
 __END_NAMESPACE_STD
 
 /* Divide S into tokens separated by characters in DELIM.  Information
    passed between calls are stored in SAVE_PTR.  */
 extern char *__strtok_r (char *__restrict __s,
-			 __const char *__restrict __delim,
+			 const char *__restrict __delim,
 			 char **__restrict __save_ptr)
      __THROW __nonnull ((2, 3));
 #if defined __USE_POSIX || defined __USE_MISC
-extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
+extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
 		       char **__restrict __save_ptr)
      __THROW __nonnull ((2, 3));
 #endif
@@ -364,13 +362,13 @@ extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
 #ifdef __USE_GNU
 /* Similar to `strstr' but this function ignores the case of both strings.  */
 # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
-extern "C++" char *strcasestr (char *__haystack, __const char *__needle)
+extern "C++" char *strcasestr (char *__haystack, const char *__needle)
      __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2));
-extern "C++" __const char *strcasestr (__const char *__haystack,
-				       __const char *__needle)
+extern "C++" const char *strcasestr (const char *__haystack,
+				     const char *__needle)
      __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2));
 # else
-extern char *strcasestr (__const char *__haystack, __const char *__needle)
+extern char *strcasestr (const char *__haystack, const char *__needle)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 # endif
 #endif
@@ -379,31 +377,31 @@ extern char *strcasestr (__const char *__haystack, __const char *__needle)
 /* Find the first occurrence of NEEDLE in HAYSTACK.
    NEEDLE is NEEDLELEN bytes long;
    HAYSTACK is HAYSTACKLEN bytes long.  */
-extern void *memmem (__const void *__haystack, size_t __haystacklen,
-		     __const void *__needle, size_t __needlelen)
+extern void *memmem (const void *__haystack, size_t __haystacklen,
+		     const void *__needle, size_t __needlelen)
      __THROW __attribute_pure__ __nonnull ((1, 3));
 
 /* Copy N bytes of SRC to DEST, return pointer to bytes after the
    last written byte.  */
 extern void *__mempcpy (void *__restrict __dest,
-			__const void *__restrict __src, size_t __n)
+			const void *__restrict __src, size_t __n)
      __THROW __nonnull ((1, 2));
 extern void *mempcpy (void *__restrict __dest,
-		      __const void *__restrict __src, size_t __n)
+		      const void *__restrict __src, size_t __n)
      __THROW __nonnull ((1, 2));
 #endif
 
 
 __BEGIN_NAMESPACE_STD
 /* Return the length of S.  */
-extern size_t strlen (__const char *__s)
+extern size_t strlen (const char *__s)
      __THROW __attribute_pure__ __nonnull ((1));
 __END_NAMESPACE_STD
 
 #ifdef	__USE_XOPEN2K8
 /* Find the length of STRING, but scan at most MAXLEN characters.
    If no '\0' terminator is found in that many characters, return MAXLEN.  */
-extern size_t strnlen (__const char *__string, size_t __maxlen)
+extern size_t strnlen (const char *__string, size_t __maxlen)
      __THROW __attribute_pure__ __nonnull ((1));
 #endif
 
@@ -452,14 +450,14 @@ extern void __bzero (void *__s, size_t __n) __THROW __nonnull ((1));
 
 #ifdef __USE_BSD
 /* Copy N bytes of SRC to DEST (like memmove, but args reversed).  */
-extern void bcopy (__const void *__src, void *__dest, size_t __n)
+extern void bcopy (const void *__src, void *__dest, size_t __n)
      __THROW __nonnull ((1, 2));
 
 /* Set N bytes of S to 0.  */
 extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1));
 
 /* Compare N bytes of S1 and S2 (same as memcmp).  */
-extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
+extern int bcmp (const void *__s1, const void *__s2, size_t __n)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Find the first occurrence of C in S (same as strchr).  */
@@ -468,7 +466,7 @@ extern "C++"
 {
 extern char *index (char *__s, int __c)
      __THROW __asm ("index") __attribute_pure__ __nonnull ((1));
-extern __const char *index (__const char *__s, int __c)
+extern const char *index (const char *__s, int __c)
      __THROW __asm ("index") __attribute_pure__ __nonnull ((1));
 
 #  if defined __OPTIMIZE__ && !defined __CORRECT_ISO_CPP_STRINGS_H_PROTO
@@ -478,15 +476,15 @@ index (char *__s, int __c) __THROW
   return __builtin_index (__s, __c);
 }
 
-__extern_always_inline __const char *
-index (__const char *__s, int __c) __THROW
+__extern_always_inline const char *
+index (const char *__s, int __c) __THROW
 {
   return __builtin_index (__s, __c);
 }
 #  endif
 }
 # else
-extern char *index (__const char *__s, int __c)
+extern char *index (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 # endif
 
@@ -496,7 +494,7 @@ extern "C++"
 {
 extern char *rindex (char *__s, int __c)
      __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1));
-extern __const char *rindex (__const char *__s, int __c)
+extern const char *rindex (const char *__s, int __c)
      __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1));
 
 #  if defined __OPTIMIZE__ && !defined __CORRECT_ISO_CPP_STRINGS_H_PROTO
@@ -506,15 +504,15 @@ rindex (char *__s, int __c) __THROW
   return __builtin_rindex (__s, __c);
 }
 
-__extern_always_inline __const char *
-rindex (__const char *__s, int __c) __THROW
+__extern_always_inline const char *
+rindex (const char *__s, int __c) __THROW
 {
   return __builtin_rindex (__s, __c);
 }
 #endif
 }
 # else
-extern char *rindex (__const char *__s, int __c)
+extern char *rindex (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 # endif
 
@@ -533,22 +531,22 @@ __extension__ extern int ffsll (long long int __ll)
 # endif
 
 /* Compare S1 and S2, ignoring case.  */
-extern int strcasecmp (__const char *__s1, __const char *__s2)
+extern int strcasecmp (const char *__s1, const char *__s2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Compare no more than N chars of S1 and S2, ignoring case.  */
-extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
+extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 #endif /* Use BSD.  */
 
 #ifdef	__USE_GNU
 /* Again versions of a few functions which use the given locale instead
    of the global one.  */
-extern int strcasecmp_l (__const char *__s1, __const char *__s2,
+extern int strcasecmp_l (const char *__s1, const char *__s2,
 			 __locale_t __loc)
      __THROW __attribute_pure__ __nonnull ((1, 2, 3));
 
-extern int strncasecmp_l (__const char *__s1, __const char *__s2,
+extern int strncasecmp_l (const char *__s1, const char *__s2,
 			  size_t __n, __locale_t __loc)
      __THROW __attribute_pure__ __nonnull ((1, 2, 4));
 #endif
@@ -557,7 +555,7 @@ extern int strncasecmp_l (__const char *__s1, __const char *__s2,
 /* Return the next DELIM-delimited token from *STRINGP,
    terminating it with a '\0', and update *STRINGP to point past it.  */
 extern char *strsep (char **__restrict __stringp,
-		     __const char *__restrict __delim)
+		     const char *__restrict __delim)
      __THROW __nonnull ((1, 2));
 #endif
 
@@ -566,24 +564,24 @@ extern char *strsep (char **__restrict __stringp,
 extern char *strsignal (int __sig) __THROW;
 
 /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST.  */
-extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
+extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src)
      __THROW __nonnull ((1, 2));
-extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
+extern char *stpcpy (char *__restrict __dest, const char *__restrict __src)
      __THROW __nonnull ((1, 2));
 
 /* Copy no more than N characters of SRC to DEST, returning the address of
    the last character written into DEST.  */
 extern char *__stpncpy (char *__restrict __dest,
-			__const char *__restrict __src, size_t __n)
+			const char *__restrict __src, size_t __n)
      __THROW __nonnull ((1, 2));
 extern char *stpncpy (char *__restrict __dest,
-		      __const char *__restrict __src, size_t __n)
+		      const char *__restrict __src, size_t __n)
      __THROW __nonnull ((1, 2));
 #endif
 
 #ifdef	__USE_GNU
 /* Compare S1 and S2 as strings holding name & indices/version numbers.  */
-extern int strverscmp (__const char *__s1, __const char *__s2)
+extern int strverscmp (const char *__s1, const char *__s2)
      __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Sautee STRING briskly.  */
@@ -600,10 +598,10 @@ extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1));
 #  ifdef __CORRECT_ISO_CPP_STRING_H_PROTO
 extern "C++" char *basename (char *__filename)
      __THROW __asm ("basename") __nonnull ((1));
-extern "C++" __const char *basename (__const char *__filename)
+extern "C++" const char *basename (const char *__filename)
      __THROW __asm ("basename") __nonnull ((1));
 #  else
-extern char *basename (__const char *__filename) __THROW __nonnull ((1));
+extern char *basename (const char *__filename) __THROW __nonnull ((1));
 #  endif
 # endif
 #endif
diff --git a/string/strings.h b/string/strings.h
index 2ab83caa06..c352afa74b 100644
--- a/string/strings.h
+++ b/string/strings.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1996,1997,1999,2000,2001,2009,2010
+/* Copyright (C) 1991,1992,1996,1997,1999,2000,2001,2009,2010,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -38,11 +38,11 @@ __BEGIN_DECLS
 
 # if defined __USE_MISC || !defined __USE_XOPEN2K8
 /* Compare N bytes of S1 and S2 (same as memcmp).  */
-extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
+extern int bcmp (const void *__s1, const void *__s2, size_t __n)
      __THROW __attribute_pure__;
 
 /* Copy N bytes of SRC to DEST (like memmove, but args reversed).  */
-extern void bcopy (__const void *__src, void *__dest, size_t __n) __THROW;
+extern void bcopy (const void *__src, void *__dest, size_t __n) __THROW;
 
 /* Set N bytes of S to 0.  */
 extern void bzero (void *__s, size_t __n) __THROW;
@@ -53,7 +53,7 @@ extern "C++"
 {
 extern char *index (char *__s, int __c)
      __THROW __asm ("index") __attribute_pure__ __nonnull ((1));
-extern __const char *index (__const char *__s, int __c)
+extern const char *index (const char *__s, int __c)
      __THROW __asm ("index") __attribute_pure__ __nonnull ((1));
 
 #   if defined __OPTIMIZE__ && !defined __CORRECT_ISO_CPP_STRING_H_PROTO
@@ -63,15 +63,15 @@ index (char *__s, int __c) __THROW
   return __builtin_index (__s, __c);
 }
 
-__extern_always_inline __const char *
-index (__const char *__s, int __c) __THROW
+__extern_always_inline const char *
+index (const char *__s, int __c) __THROW
 {
   return __builtin_index (__s, __c);
 }
 #   endif
 }
 #  else
-extern char *index (__const char *__s, int __c)
+extern char *index (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 #  endif
 
@@ -81,7 +81,7 @@ extern "C++"
 {
 extern char *rindex (char *__s, int __c)
      __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1));
-extern __const char *rindex (__const char *__s, int __c)
+extern const char *rindex (const char *__s, int __c)
      __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1));
 
 #   if defined __OPTIMIZE__ && !defined __CORRECT_ISO_CPP_STRING_H_PROTO
@@ -91,15 +91,15 @@ rindex (char *__s, int __c) __THROW
   return __builtin_rindex (__s, __c);
 }
 
-__extern_always_inline __const char *
-rindex (__const char *__s, int __c) __THROW
+__extern_always_inline const char *
+rindex (const char *__s, int __c) __THROW
 {
   return __builtin_rindex (__s, __c);
 }
 #   endif
 }
 #  else
-extern char *rindex (__const char *__s, int __c)
+extern char *rindex (const char *__s, int __c)
      __THROW __attribute_pure__ __nonnull ((1));
 #  endif
 # endif
@@ -111,11 +111,11 @@ extern int ffs (int __i) __THROW __attribute__ ((const));
 #endif
 
 /* Compare S1 and S2, ignoring case.  */
-extern int strcasecmp (__const char *__s1, __const char *__s2)
+extern int strcasecmp (const char *__s1, const char *__s2)
      __THROW __attribute_pure__;
 
 /* Compare no more than N chars of S1 and S2, ignoring case.  */
-extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
+extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
      __THROW __attribute_pure__;
 
 #ifdef	__USE_XOPEN2K8
@@ -126,11 +126,10 @@ extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
 
 /* Again versions of a few functions which use the given locale instead
    of the global one.  */
-extern int strcasecmp_l (__const char *__s1, __const char *__s2,
-			 __locale_t __loc)
+extern int strcasecmp_l (const char *__s1, const char *__s2, __locale_t __loc)
      __THROW __attribute_pure__ __nonnull ((1, 2, 3));
 
-extern int strncasecmp_l (__const char *__s1, __const char *__s2,
+extern int strncasecmp_l (const char *__s1, const char *__s2,
 			  size_t __n, __locale_t __loc)
      __THROW __attribute_pure__ __nonnull ((1, 2, 4));
 #endif
diff --git a/sunrpc/rpc/auth.h b/sunrpc/rpc/auth.h
index d0bee510cc..b25dcfc116 100644
--- a/sunrpc/rpc/auth.h
+++ b/sunrpc/rpc/auth.h
@@ -180,11 +180,11 @@ extern AUTH *authdes_pk_create (const char *, netobj *, u_int,
  *
  */
 extern int getnetname (char *) __THROW;
-extern int host2netname (char *, __const char *, __const char *) __THROW;
-extern int user2netname (char *, __const uid_t, __const char *) __THROW;
-extern int netname2user (__const char *, uid_t *, gid_t *, int *, gid_t *)
+extern int host2netname (char *, const char *, const char *) __THROW;
+extern int user2netname (char *, const uid_t, const char *) __THROW;
+extern int netname2user (const char *, uid_t *, gid_t *, int *, gid_t *)
      __THROW;
-extern int netname2host (__const char *, char *, __const int) __THROW;
+extern int netname2host (const char *, char *, const int) __THROW;
 
 /*
  *
diff --git a/sunrpc/rpc/auth_des.h b/sunrpc/rpc/auth_des.h
index 12ada8404f..c5ea5eec9a 100644
--- a/sunrpc/rpc/auth_des.h
+++ b/sunrpc/rpc/auth_des.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -86,22 +86,22 @@ struct authdes_verf
 #define adv_nickname   adv_int_u
 
 /* Map a des credential into a unix cred. */
-extern int authdes_getucred (__const struct authdes_cred * __adc,
+extern int authdes_getucred (const struct authdes_cred * __adc,
 			     uid_t * __uid, gid_t * __gid,
 			     short *__grouplen, gid_t * __groups) __THROW;
 
 /* Get the public key for NAME and place it in KEY.  NAME can only be
    up to MAXNETNAMELEN bytes long and the destination buffer KEY should
    have HEXKEYBYTES + 1 bytes long to fit all characters from the key.  */
-extern int getpublickey (__const char *__name, char *__key) __THROW;
+extern int getpublickey (const char *__name, char *__key) __THROW;
 
 /* Get the secret key for NAME and place it in KEY.  PASSWD is used to
    decrypt the encrypted key stored in the database.  NAME can only be
    up to MAXNETNAMELEN bytes long and the destination buffer KEY
    should have HEXKEYBYTES + 1 bytes long to fit all characters from
    the key.  */
-extern int getsecretkey (__const char *__name, char *__key,
-			 __const char *__passwd) __THROW;
+extern int getsecretkey (const char *__name, char *__key,
+			 const char *__passwd) __THROW;
 
 extern int rtime (struct sockaddr_in *__addrp, struct rpc_timeval *__timep,
 		  struct rpc_timeval *__timeout) __THROW;
diff --git a/sunrpc/rpc/clnt.h b/sunrpc/rpc/clnt.h
index 7e4228ca7b..f2b3e93f12 100644
--- a/sunrpc/rpc/clnt.h
+++ b/sunrpc/rpc/clnt.h
@@ -89,11 +89,11 @@ enum clnt_stat {
 	RPC_INTR=18,
 	RPC_TLIERROR=20,
 	RPC_UDERROR=23,
-        /*
-         * asynchronous errors
-         */
-        RPC_INPROGRESS = 24,
-        RPC_STALERACHANDLE = 25
+	/*
+	 * asynchronous errors
+	 */
+	RPC_INPROGRESS = 24,
+	RPC_STALERACHANDLE = 25
 };
 
 
@@ -274,7 +274,7 @@ struct CLIENT {
  *	u_long prog;
  *	u_long vers;
  */
-extern CLIENT *clntraw_create (__const u_long __prog, __const u_long __vers)
+extern CLIENT *clntraw_create (const u_long __prog, const u_long __vers)
      __THROW;
 
 
@@ -288,8 +288,8 @@ extern CLIENT *clntraw_create (__const u_long __prog, __const u_long __vers)
  *	u_ong vers;	-- version number
  *	char *prot;	-- protocol
  */
-extern CLIENT *clnt_create (__const char *__host, __const u_long __prog,
-			    __const u_long __vers, __const char *__prot)
+extern CLIENT *clnt_create (const char *__host, const u_long __prog,
+			    const u_long __vers, const char *__prot)
      __THROW;
 
 
@@ -356,17 +356,17 @@ extern CLIENT *clntunix_create  (struct sockaddr_un *__raddr, u_long __program,
 				 u_int __sendsz, u_int __recvsz) __THROW;
 
 
-extern int callrpc (__const char *__host, __const u_long __prognum,
-		    __const u_long __versnum, __const u_long __procnum,
-		    __const xdrproc_t __inproc, __const char *__in,
-		    __const xdrproc_t __outproc, char *__out) __THROW;
+extern int callrpc (const char *__host, const u_long __prognum,
+		    const u_long __versnum, const u_long __procnum,
+		    const xdrproc_t __inproc, const char *__in,
+		    const xdrproc_t __outproc, char *__out) __THROW;
 extern int _rpc_dtablesize (void) __THROW;
 
 /*
  * Print why creation failed
  */
-extern void clnt_pcreateerror (__const char *__msg);	/* stderr */
-extern char *clnt_spcreateerror(__const char *__msg) __THROW;	/* string */
+extern void clnt_pcreateerror (const char *__msg);	/* stderr */
+extern char *clnt_spcreateerror(const char *__msg) __THROW;	/* string */
 
 /*
  * Like clnt_perror(), but is more verbose in its output
@@ -376,9 +376,9 @@ extern void clnt_perrno (enum clnt_stat __num);		/* stderr */
 /*
  * Print an English error message, given the client error code
  */
-extern void clnt_perror (CLIENT *__clnt, __const char *__msg);
+extern void clnt_perror (CLIENT *__clnt, const char *__msg);
 							/* stderr */
-extern char *clnt_sperror (CLIENT *__clnt, __const char *__msg) __THROW;
+extern char *clnt_sperror (CLIENT *__clnt, const char *__msg) __THROW;
 							/* string */
 
 /*
@@ -401,7 +401,7 @@ extern char *clnt_sperrno (enum clnt_stat __num) __THROW;	/* string */
 /*
  * get the port number on the host for the rpc program,version and proto
  */
-extern int getrpcport (__const char * __host, u_long __prognum,
+extern int getrpcport (const char * __host, u_long __prognum,
 		       u_long __versnum, u_int __proto) __THROW;
 
 /*
diff --git a/sunrpc/rpc/netdb.h b/sunrpc/rpc/netdb.h
index 0c03496930..529a4ada21 100644
--- a/sunrpc/rpc/netdb.h
+++ b/sunrpc/rpc/netdb.h
@@ -52,12 +52,12 @@ struct rpcent
 
 extern void setrpcent (int __stayopen) __THROW;
 extern void endrpcent (void) __THROW;
-extern struct rpcent *getrpcbyname (__const char *__name) __THROW;
+extern struct rpcent *getrpcbyname (const char *__name) __THROW;
 extern struct rpcent *getrpcbynumber (int __number) __THROW;
 extern struct rpcent *getrpcent (void) __THROW;
 
 #ifdef __USE_MISC
-extern int getrpcbyname_r (__const char *__name, struct rpcent *__result_buf,
+extern int getrpcbyname_r (const char *__name, struct rpcent *__result_buf,
 			   char *__buffer, size_t __buflen,
 			   struct rpcent **__result) __THROW;
 
diff --git a/sunrpc/rpc/pmap_clnt.h b/sunrpc/rpc/pmap_clnt.h
index f8587c6be3..1cc94b8fee 100644
--- a/sunrpc/rpc/pmap_clnt.h
+++ b/sunrpc/rpc/pmap_clnt.h
@@ -66,28 +66,28 @@ typedef bool_t (*resultproc_t) (caddr_t __resp, struct sockaddr_in *__raddr);
  *		address if the responder to the broadcast.
  */
 
-extern bool_t pmap_set (__const u_long __program, __const u_long __vers,
+extern bool_t pmap_set (const u_long __program, const u_long __vers,
 			int __protocol, u_short __port) __THROW;
-extern bool_t pmap_unset (__const u_long __program, __const u_long __vers)
+extern bool_t pmap_unset (const u_long __program, const u_long __vers)
      __THROW;
 extern struct pmaplist *pmap_getmaps (struct sockaddr_in *__address) __THROW;
 extern enum clnt_stat pmap_rmtcall (struct sockaddr_in *__addr,
-				    __const u_long __prog,
-				    __const u_long __vers,
-				    __const u_long __proc,
+				    const u_long __prog,
+				    const u_long __vers,
+				    const u_long __proc,
 				    xdrproc_t __xdrargs,
 				    caddr_t __argsp, xdrproc_t __xdrres,
 				    caddr_t __resp, struct timeval __tout,
 				    u_long *__port_ptr) __THROW;
-extern enum clnt_stat clnt_broadcast (__const u_long __prog,
-				      __const u_long __vers,
-				      __const u_long __proc, xdrproc_t __xargs,
+extern enum clnt_stat clnt_broadcast (const u_long __prog,
+				      const u_long __vers,
+				      const u_long __proc, xdrproc_t __xargs,
 				      caddr_t __argsp, xdrproc_t __xresults,
 				      caddr_t __resultsp,
 				      resultproc_t __eachresult) __THROW;
 extern u_short pmap_getport (struct sockaddr_in *__address,
-			     __const u_long __program,
-			     __const u_long __version, u_int __protocol)
+			     const u_long __program,
+			     const u_long __version, u_int __protocol)
      __THROW;
 
 __END_DECLS
diff --git a/sunrpc/rpc/xdr.h b/sunrpc/rpc/xdr.h
index 70f033a3df..4e31eb5fe2 100644
--- a/sunrpc/rpc/xdr.h
+++ b/sunrpc/rpc/xdr.h
@@ -1,7 +1,7 @@
 /*
  * xdr.h, External Data Representation Serialization Routines.
  *
- * Copyright (c) 2010, Oracle America, Inc.
+ * Copyright (c) 2010, 2012, Oracle America, Inc.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are
@@ -114,13 +114,13 @@ struct XDR
       {
 	bool_t (*x_getlong) (XDR *__xdrs, long *__lp);
 	/* get a long from underlying stream */
-	bool_t (*x_putlong) (XDR *__xdrs, __const long *__lp);
+	bool_t (*x_putlong) (XDR *__xdrs, const long *__lp);
 	/* put a long to " */
 	bool_t (*x_getbytes) (XDR *__xdrs, caddr_t __addr, u_int __len);
 	/* get some bytes from " */
-	bool_t (*x_putbytes) (XDR *__xdrs, __const char *__addr, u_int __len);
+	bool_t (*x_putbytes) (XDR *__xdrs, const char *__addr, u_int __len);
 	/* put some bytes to " */
-	u_int (*x_getpostn) (__const XDR *__xdrs);
+	u_int (*x_getpostn) (const XDR *__xdrs);
 	/* returns bytes off from beginning */
 	bool_t (*x_setpostn) (XDR *__xdrs, u_int __pos);
 	/* lets you reposition the stream */
@@ -130,7 +130,7 @@ struct XDR
 	/* free privates of this xdr_stream */
 	bool_t (*x_getint32) (XDR *__xdrs, int32_t *__ip);
 	/* get a int from underlying stream */
-	bool_t (*x_putint32) (XDR *__xdrs, __const int32_t *__ip);
+	bool_t (*x_putint32) (XDR *__xdrs, const int32_t *__ip);
 	/* put a int to " */
       }
      *x_ops;
@@ -163,14 +163,14 @@ typedef bool_t (*xdrproc_t) (XDR *, void *,...);
  * u_int         pos;
  */
 #define XDR_GETINT32(xdrs, int32p)                      \
-        (*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
+	(*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
 #define xdr_getint32(xdrs, int32p)                      \
-        (*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
+	(*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
 
 #define XDR_PUTINT32(xdrs, int32p)                      \
-        (*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
+	(*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
 #define xdr_putint32(xdrs, int32p)                      \
-        (*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
+	(*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
 
 #define XDR_GETLONG(xdrs, longp)			\
 	(*(xdrs)->x_ops->x_getlong)(xdrs, longp)
@@ -313,7 +313,7 @@ extern bool_t xdr_bytes (XDR *__xdrs, char **__cpp, u_int *__sizep,
 extern bool_t xdr_opaque (XDR *__xdrs, caddr_t __cp, u_int __cnt) __THROW;
 extern bool_t xdr_string (XDR *__xdrs, char **__cpp, u_int __maxsize) __THROW;
 extern bool_t xdr_union (XDR *__xdrs, enum_t *__dscmp, char *__unp,
-			 __const struct xdr_discrim *__choices,
+			 const struct xdr_discrim *__choices,
 			 xdrproc_t __dfault) __THROW;
 extern bool_t xdr_char (XDR *__xdrs, char *__cp) __THROW;
 extern bool_t xdr_u_char (XDR *__xdrs, u_char *__cp) __THROW;
@@ -347,7 +347,7 @@ extern bool_t xdr_netobj (XDR *__xdrs, struct netobj *__np) __THROW;
  */
 
 /* XDR using memory buffers */
-extern void xdrmem_create (XDR *__xdrs, __const caddr_t __addr,
+extern void xdrmem_create (XDR *__xdrs, const caddr_t __addr,
 			   u_int __size, enum xdr_op __xop) __THROW;
 
 /* XDR using stdio library */
diff --git a/sysdeps/generic/inttypes.h b/sysdeps/generic/inttypes.h
index bf0fffa5c2..c231c51a2d 100644
--- a/sysdeps/generic/inttypes.h
+++ b/sysdeps/generic/inttypes.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2001, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2001, 2004, 2007, 2012 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
@@ -302,20 +302,20 @@ extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
       __THROW __attribute__ ((__const__));
 
 /* Like `strtol' but convert to `intmax_t'.  */
-extern intmax_t strtoimax (__const char *__restrict __nptr,
+extern intmax_t strtoimax (const char *__restrict __nptr,
 			   char **__restrict __endptr, int __base) __THROW;
 
 /* Like `strtoul' but convert to `uintmax_t'.  */
-extern uintmax_t strtoumax (__const char *__restrict __nptr,
+extern uintmax_t strtoumax (const char *__restrict __nptr,
 			    char ** __restrict __endptr, int __base) __THROW;
 
 /* Like `wcstol' but convert to `intmax_t'.  */
-extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr,
+extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr,
 			   __gwchar_t **__restrict __endptr, int __base)
      __THROW;
 
 /* Like `wcstoul' but convert to `uintmax_t'.  */
-extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr,
+extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr,
 			    __gwchar_t ** __restrict __endptr, int __base)
      __THROW;
 
@@ -323,44 +323,43 @@ extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr,
 
 # if __WORDSIZE == 64
 
-extern long int __strtol_internal (__const char *__restrict __nptr,
+extern long int __strtol_internal (const char *__restrict __nptr,
 				   char **__restrict __endptr,
 				   int __base, int __group)
   __THROW __nonnull ((1)) __wur;
 /* Like `strtol' but convert to `intmax_t'.  */
 __extern_inline intmax_t
-__NTH (strtoimax (__const char *__restrict nptr, char **__restrict endptr,
+__NTH (strtoimax (const char *__restrict nptr, char **__restrict endptr,
 		  int base))
 {
   return __strtol_internal (nptr, endptr, base, 0);
 }
 
-extern unsigned long int __strtoul_internal (__const char *
-					     __restrict __nptr,
+extern unsigned long int __strtoul_internal (const char *__restrict __nptr,
 					     char ** __restrict __endptr,
 					     int __base, int __group)
   __THROW __nonnull ((1)) __wur;
 /* Like `strtoul' but convert to `uintmax_t'.  */
 __extern_inline uintmax_t
-__NTH (strtoumax (__const char *__restrict nptr, char **__restrict endptr,
+__NTH (strtoumax (const char *__restrict nptr, char **__restrict endptr,
 		  int base))
 {
   return __strtoul_internal (nptr, endptr, base, 0);
 }
 
-extern long int __wcstol_internal (__const __gwchar_t * __restrict __nptr,
+extern long int __wcstol_internal (const __gwchar_t * __restrict __nptr,
 				   __gwchar_t **__restrict __endptr,
 				   int __base, int __group)
   __THROW __nonnull ((1)) __wur;
 /* Like `wcstol' but convert to `intmax_t'.  */
 __extern_inline intmax_t
-__NTH (wcstoimax (__const __gwchar_t *__restrict nptr,
+__NTH (wcstoimax (const __gwchar_t *__restrict nptr,
 		  __gwchar_t **__restrict endptr, int base))
 {
   return __wcstol_internal (nptr, endptr, base, 0);
 }
 
-extern unsigned long int __wcstoul_internal (__const __gwchar_t *
+extern unsigned long int __wcstoul_internal (const __gwchar_t *
 					     __restrict __nptr,
 					     __gwchar_t **
 					     __restrict __endptr,
@@ -368,7 +367,7 @@ extern unsigned long int __wcstoul_internal (__const __gwchar_t *
   __THROW __nonnull ((1)) __wur;
 /* Like `wcstoul' but convert to `uintmax_t'.  */
 __extern_inline uintmax_t
-__NTH (wcstoumax (__const __gwchar_t *__restrict nptr,
+__NTH (wcstoumax (const __gwchar_t *__restrict nptr,
 		  __gwchar_t **__restrict endptr, int base))
 {
   return __wcstoul_internal (nptr, endptr, base, 0);
@@ -377,20 +376,20 @@ __NTH (wcstoumax (__const __gwchar_t *__restrict nptr,
 # else /* __WORDSIZE == 32 */
 
 __extension__
-extern long long int __strtoll_internal (__const char *__restrict __nptr,
+extern long long int __strtoll_internal (const char *__restrict __nptr,
 					 char **__restrict __endptr,
 					 int __base, int __group)
   __THROW __nonnull ((1)) __wur;
 /* Like `strtol' but convert to `intmax_t'.  */
 __extern_inline intmax_t
-__NTH (strtoimax (__const char *__restrict nptr, char **__restrict endptr,
+__NTH (strtoimax (const char *__restrict nptr, char **__restrict endptr,
 		  int base))
 {
   return __strtoll_internal (nptr, endptr, base, 0);
 }
 
 __extension__
-extern unsigned long long int __strtoull_internal (__const char *
+extern unsigned long long int __strtoull_internal (const char *
 						   __restrict __nptr,
 						   char **
 						   __restrict __endptr,
@@ -399,21 +398,20 @@ extern unsigned long long int __strtoull_internal (__const char *
   __THROW __nonnull ((1)) __wur;
 /* Like `strtoul' but convert to `uintmax_t'.  */
 __extern_inline uintmax_t
-__NTH (strtoumax (__const char *__restrict nptr, char **__restrict endptr,
+__NTH (strtoumax (const char *__restrict nptr, char **__restrict endptr,
 		  int base))
 {
   return __strtoull_internal (nptr, endptr, base, 0);
 }
 
 __extension__
-extern long long int __wcstoll_internal (__const __gwchar_t *
-					 __restrict __nptr,
+extern long long int __wcstoll_internal (const __gwchar_t *__restrict __nptr,
 					 __gwchar_t **__restrict __endptr,
 					 int __base, int __group)
   __THROW __nonnull ((1)) __wur;
 /* Like `wcstol' but convert to `intmax_t'.  */
 __extern_inline intmax_t
-__NTH (wcstoimax (__const __gwchar_t *__restrict nptr,
+__NTH (wcstoimax (const __gwchar_t *__restrict nptr,
 		  __gwchar_t **__restrict endptr, int base))
 {
   return __wcstoll_internal (nptr, endptr, base, 0);
@@ -421,7 +419,7 @@ __NTH (wcstoimax (__const __gwchar_t *__restrict nptr,
 
 
 __extension__
-extern unsigned long long int __wcstoull_internal (__const __gwchar_t *
+extern unsigned long long int __wcstoull_internal (const __gwchar_t *
 						   __restrict __nptr,
 						   __gwchar_t **
 						   __restrict __endptr,
@@ -430,7 +428,7 @@ extern unsigned long long int __wcstoull_internal (__const __gwchar_t *
   __THROW __nonnull ((1)) __wur;
 /* Like `wcstoul' but convert to `uintmax_t'.  */
 __extern_inline uintmax_t
-__NTH (wcstoumax (__const __gwchar_t *__restrict nptr,
+__NTH (wcstoumax (const __gwchar_t *__restrict nptr,
 		  __gwchar_t **__restrict endptr, int base))
 {
   return __wcstoull_internal (nptr, endptr, base, 0);
diff --git a/sysdeps/generic/net/if.h b/sysdeps/generic/net/if.h
index a497d0861a..86ada0f610 100644
--- a/sysdeps/generic/net/if.h
+++ b/sysdeps/generic/net/if.h
@@ -1,5 +1,5 @@
 /* net/if.h -- declarations for inquiring about network interfaces
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2012 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
@@ -27,7 +27,7 @@ __BEGIN_DECLS
 
 /* Convert an interface name to an index, and vice versa.  */
 
-extern unsigned int if_nametoindex (__const char *__ifname) __THROW;
+extern unsigned int if_nametoindex (const char *__ifname) __THROW;
 extern char *if_indextoname (unsigned int __ifindex, char *__ifname) __THROW;
 
 /* Return a list of all interfaces and their indices.  */
diff --git a/sysdeps/generic/sys/swap.h b/sysdeps/generic/sys/swap.h
index c7b58b99ea..82af5d3139 100644
--- a/sysdeps/generic/sys/swap.h
+++ b/sysdeps/generic/sys/swap.h
@@ -1,5 +1,5 @@
 /* Calls to enable and disable swapping on specified locations.  Unix version.
-   Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2000, 2012 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,9 +25,9 @@
 
 /* Make the block special device PATH available to the system for swapping.
    This call is restricted to the super-user.  */
-extern int swapon (__const char *__path) __THROW;
+extern int swapon (const char *__path) __THROW;
 
 /* Stop using block special device PATH for swapping.  */
-extern int swapoff (__const char *__path) __THROW;
+extern int swapoff (const char *__path) __THROW;
 
 #endif /* sys/swap.h */
diff --git a/sysdeps/gnu/net/if.h b/sysdeps/gnu/net/if.h
index ebb3e9f306..8556b48f9d 100644
--- a/sysdeps/gnu/net/if.h
+++ b/sysdeps/gnu/net/if.h
@@ -1,5 +1,5 @@
 /* net/if.h -- declarations for inquiring about network interfaces
-   Copyright (C) 1997,98,99,2000,2001 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,99,2000,2001,2012 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
@@ -191,7 +191,7 @@ struct ifconf
 __BEGIN_DECLS
 
 /* Convert an interface name to an index, and vice versa.  */
-extern unsigned int if_nametoindex (__const char *__ifname) __THROW;
+extern unsigned int if_nametoindex (const char *__ifname) __THROW;
 extern char *if_indextoname (unsigned int __ifindex, char *__ifname) __THROW;
 
 /* Return a list of all interfaces and their indices.  */
diff --git a/sysdeps/gnu/utmpx.h b/sysdeps/gnu/utmpx.h
index 8622916a94..757a8629e5 100644
--- a/sysdeps/gnu/utmpx.h
+++ b/sysdeps/gnu/utmpx.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2003, 2012 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
@@ -69,19 +69,19 @@ extern struct utmpx *getutxent (void);
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct utmpx *getutxid (__const struct utmpx *__id);
+extern struct utmpx *getutxid (const struct utmpx *__id);
 
 /* Get the user accounting database entry corresponding to LINE.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct utmpx *getutxline (__const struct utmpx *__line);
+extern struct utmpx *getutxline (const struct utmpx *__line);
 
 /* Write the entry UTMPX into the user accounting database.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct utmpx *pututxline (__const struct utmpx *__utmpx);
+extern struct utmpx *pututxline (const struct utmpx *__utmpx);
 
 
 #ifdef __USE_GNU
@@ -91,7 +91,7 @@ extern struct utmpx *pututxline (__const struct utmpx *__utmpx);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int utmpxname (__const char *__file);
+extern int utmpxname (const char *__file);
 
 /* Append entry UTMP to the wtmpx-like file WTMPX_FILE.
 
@@ -99,8 +99,8 @@ extern int utmpxname (__const char *__file);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern void updwtmpx (__const char *__wtmpx_file,
-		      __const struct utmpx *__utmpx);
+extern void updwtmpx (const char *__wtmpx_file,
+		      const struct utmpx *__utmpx);
 
 
 /* Copy the information in UTMPX to UTMP.
@@ -109,7 +109,7 @@ extern void updwtmpx (__const char *__wtmpx_file,
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern void getutmp (__const struct utmpx *__utmpx,
+extern void getutmp (const struct utmpx *__utmpx,
 		     struct utmp *__utmp);
 
 /* Copy the information in UTMP to UTMPX.
@@ -118,8 +118,7 @@ extern void getutmp (__const struct utmpx *__utmpx,
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern void getutmpx (__const struct utmp *__utmp,
-		      struct utmpx *__utmpx);
+extern void getutmpx (const struct utmp *__utmp, struct utmpx *__utmpx);
 #endif
 
 __END_DECLS
diff --git a/sysdeps/i386/fpu/bits/fenv.h b/sysdeps/i386/fpu/bits/fenv.h
index 8c00771cce..1283483e59 100644
--- a/sysdeps/i386/fpu/bits/fenv.h
+++ b/sysdeps/i386/fpu/bits/fenv.h
@@ -82,11 +82,11 @@ typedef struct
 fenv_t;
 
 /* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((__const fenv_t *) -1)
+#define FE_DFL_ENV	((const fenv_t *) -1)
 
 #ifdef __USE_GNU
 /* Floating-point environment where none of the exception is masked.  */
-# define FE_NOMASK_ENV	((__const fenv_t *) -2)
+# define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
 
 
diff --git a/sysdeps/i386/i486/bits/string.h b/sysdeps/i386/i486/bits/string.h
index 4f8c104fee..0dca9f944b 100644
--- a/sysdeps/i386/i486/bits/string.h
+++ b/sysdeps/i386/i486/bits/string.h
@@ -1,5 +1,5 @@
 /* Optimized, inlined string functions.  i486 version.
-   Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2004,2007,2011
+   Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2004,2007,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -41,13 +41,13 @@
 
 /* The macros are used in some of the optimized implementations below.  */
 #define __STRING_SMALL_GET16(src, idx) \
-  ((((__const unsigned char *) (src))[idx + 1] << 8)			      \
-   | ((__const unsigned char *) (src))[idx])
+  ((((const unsigned char *) (src))[idx + 1] << 8)			      \
+   | ((const unsigned char *) (src))[idx])
 #define __STRING_SMALL_GET32(src, idx) \
-  (((((__const unsigned char *) (src))[idx + 3] << 8			      \
-     | ((__const unsigned char *) (src))[idx + 2]) << 8			      \
-    | ((__const unsigned char *) (src))[idx + 1]) << 8			      \
-   | ((__const unsigned char *) (src))[idx])
+  (((((const unsigned char *) (src))[idx + 3] << 8			      \
+     | ((const unsigned char *) (src))[idx + 2]) << 8			      \
+    | ((const unsigned char *) (src))[idx + 1]) << 8			      \
+   | ((const unsigned char *) (src))[idx])
 
 
 /* Copy N bytes of SRC to DEST.  */
@@ -65,11 +65,11 @@
 	 ? __memcpy_by2 (dest, src, n)					      \
 	 : __memcpy_g (dest, src, n))))
 
-__STRING_INLINE void *__memcpy_by4 (void *__dest, __const void *__src,
+__STRING_INLINE void *__memcpy_by4 (void *__dest, const void *__src,
 				    size_t __n);
 
 __STRING_INLINE void *
-__memcpy_by4 (void *__dest, __const void *__src, size_t __n)
+__memcpy_by4 (void *__dest, const void *__src, size_t __n)
 {
   register unsigned long int __d0, __d1;
   register void *__tmp = __dest;
@@ -87,11 +87,11 @@ __memcpy_by4 (void *__dest, __const void *__src, size_t __n)
   return __dest;
 }
 
-__STRING_INLINE void *__memcpy_by2 (void *__dest, __const void *__src,
+__STRING_INLINE void *__memcpy_by2 (void *__dest, const void *__src,
 				    size_t __n);
 
 __STRING_INLINE void *
-__memcpy_by2 (void *__dest, __const void *__src, size_t __n)
+__memcpy_by2 (void *__dest, const void *__src, size_t __n)
 {
   register unsigned long int __d0, __d1;
   register void *__tmp = __dest;
@@ -114,11 +114,10 @@ __memcpy_by2 (void *__dest, __const void *__src, size_t __n)
   return __dest;
 }
 
-__STRING_INLINE void *__memcpy_g (void *__dest, __const void *__src,
-				  size_t __n);
+__STRING_INLINE void *__memcpy_g (void *__dest, const void *__src, size_t __n);
 
 __STRING_INLINE void *
-__memcpy_g (void *__dest, __const void *__src, size_t __n)
+__memcpy_g (void *__dest, const void *__src, size_t __n)
 {
   register unsigned long int __d0, __d1, __d2;
   register void *__tmp = __dest;
@@ -147,11 +146,11 @@ __memcpy_g (void *__dest, __const void *__src, size_t __n)
    correct behavior for overlapping strings.  */
 #define memmove(dest, src, n) __memmove_g (dest, src, n)
 
-__STRING_INLINE void *__memmove_g (void *, __const void *, size_t)
+__STRING_INLINE void *__memmove_g (void *, const void *, size_t)
      __asm__ ("memmove");
 
 __STRING_INLINE void *
-__memmove_g (void *__dest, __const void *__src, size_t __n)
+__memmove_g (void *__dest, const void *__src, size_t __n)
 {
   register unsigned long int __d0, __d1, __d2;
   register void *__tmp = __dest;
@@ -170,7 +169,7 @@ __memmove_g (void *__dest, __const void *__src, size_t __n)
        "cld"
        : "=&c" (__d0), "=&S" (__d1), "=&D" (__d2),
 	 "=m" ( *(struct { __extension__ char __x[__n]; } *)__dest)
-       : "0" (__n), "1" (__n - 1 + (__const char *) __src),
+       : "0" (__n), "1" (__n - 1 + (const char *) __src),
 	 "2" (__n - 1 + (char *) __tmp),
 	 "m" ( *(struct { __extension__ char __x[__n]; } *)__src));
   return __dest;
@@ -183,7 +182,7 @@ __memmove_g (void *__dest, __const void *__src, size_t __n)
 # ifndef __PIC__
 /* gcc has problems to spill registers when using PIC.  */
 __STRING_INLINE int
-memcmp (__const void *__s1, __const void *__s2, size_t __n)
+memcmp (const void *__s1, const void *__s2, size_t __n)
 {
   register unsigned long int __d0, __d1, __d2;
   register int __res;
@@ -436,7 +435,7 @@ __memset_gcn_by2 (void *__s, int __c, size_t __n)
 #define _HAVE_STRING_ARCH_memchr 1
 #ifndef _FORCE_INLINES
 __STRING_INLINE void *
-memchr (__const void *__s, int __c, size_t __n)
+memchr (const void *__s, int __c, size_t __n)
 {
   register unsigned long int __d0;
 #ifdef __i686__
@@ -472,10 +471,10 @@ memchr (__const void *__s, int __c, size_t __n)
 
 #define _HAVE_STRING_ARCH_memrchr 1
 #ifndef _FORCE_INLINES
-__STRING_INLINE void *__memrchr (__const void *__s, int __c, size_t __n);
+__STRING_INLINE void *__memrchr (const void *__s, int __c, size_t __n);
 
 __STRING_INLINE void *
-__memrchr (__const void *__s, int __c, size_t __n)
+__memrchr (const void *__s, int __c, size_t __n)
 {
   register unsigned long int __d0;
 # ifdef __i686__
@@ -550,13 +549,13 @@ rawmemchr (const void *__s, int __c)
   (__extension__ (__builtin_constant_p (str)				      \
 		  ? __builtin_strlen (str)				      \
 		  : __strlen_g (str)))
-__STRING_INLINE size_t __strlen_g (__const char *__str);
+__STRING_INLINE size_t __strlen_g (const char *__str);
 
 __STRING_INLINE size_t
-__strlen_g (__const char *__str)
+__strlen_g (const char *__str)
 {
   register char __dummy;
-  register __const char *__tmp = __str;
+  register const char *__tmp = __str;
   __asm__ __volatile__
     ("1:\n\t"
      "movb	(%0),%b1\n\t"
@@ -578,7 +577,7 @@ __strlen_g (__const char *__str)
 		  ? (sizeof ((src)[0]) == 1 && strlen (src) + 1 <= 8	      \
 		     ? __strcpy_a_small ((dest), (src), strlen (src) + 1)     \
 		     : (char *) memcpy ((char *) (dest),		      \
-					(__const char *) (src),		      \
+					(const char *) (src),		      \
 					strlen (src) + 1))		      \
 		  : __strcpy_g ((dest), (src))))
 
@@ -631,10 +630,10 @@ __strlen_g (__const char *__str)
 		      }							      \
 		    (char *) __dest; }))
 
-__STRING_INLINE char *__strcpy_g (char *__dest, __const char *__src);
+__STRING_INLINE char *__strcpy_g (char *__dest, const char *__src);
 
 __STRING_INLINE char *
-__strcpy_g (char *__dest, __const char *__src)
+__strcpy_g (char *__dest, const char *__src)
 {
   register char *__tmp = __dest;
   register char __dummy;
@@ -727,11 +726,11 @@ __strcpy_g (char *__dest, __const char *__src)
 		      }							      \
 		    (char *) __u; }))
 
-__STRING_INLINE char *__mempcpy_by4 (char *__dest, __const char *__src,
+__STRING_INLINE char *__mempcpy_by4 (char *__dest, const char *__src,
 				     size_t __srclen);
 
 __STRING_INLINE char *
-__mempcpy_by4 (char *__dest, __const char *__src, size_t __srclen)
+__mempcpy_by4 (char *__dest, const char *__src, size_t __srclen)
 {
   register char *__tmp = __dest;
   register unsigned long int __d0, __d1;
@@ -749,11 +748,11 @@ __mempcpy_by4 (char *__dest, __const char *__src, size_t __srclen)
   return __tmp;
 }
 
-__STRING_INLINE char *__mempcpy_by2 (char *__dest, __const char *__src,
+__STRING_INLINE char *__mempcpy_by2 (char *__dest, const char *__src,
 				     size_t __srclen);
 
 __STRING_INLINE char *
-__mempcpy_by2 (char *__dest, __const char *__src, size_t __srclen)
+__mempcpy_by2 (char *__dest, const char *__src, size_t __srclen)
 {
   register char *__tmp = __dest;
   register unsigned long int __d0, __d1;
@@ -778,11 +777,11 @@ __mempcpy_by2 (char *__dest, __const char *__src, size_t __srclen)
   return __tmp + 2;
 }
 
-__STRING_INLINE char *__mempcpy_byn (char *__dest, __const char *__src,
+__STRING_INLINE char *__mempcpy_byn (char *__dest, const char *__src,
 				     size_t __srclen);
 
 __STRING_INLINE char *
-__mempcpy_byn (char *__dest, __const char *__src, size_t __srclen)
+__mempcpy_byn (char *__dest, const char *__src, size_t __srclen)
 {
   register unsigned long __d0, __d1;
   register char *__tmp = __dest;
@@ -805,10 +804,10 @@ __mempcpy_byn (char *__dest, __const char *__src, size_t __srclen)
   return __tmp;
 }
 
-__STRING_INLINE char *__stpcpy_g (char *__dest, __const char *__src);
+__STRING_INLINE char *__stpcpy_g (char *__dest, const char *__src);
 
 __STRING_INLINE char *
-__stpcpy_g (char *__dest, __const char *__src)
+__stpcpy_g (char *__dest, const char *__src)
 {
   register char *__tmp = __dest;
   register char __dummy;
@@ -837,7 +836,7 @@ __stpcpy_g (char *__dest, __const char *__src)
   (__extension__ (__builtin_constant_p (src)				      \
 		  ? ((strlen (src) + 1 >= ((size_t) (n))		      \
 		      ? (char *) memcpy ((char *) (dest),		      \
-					 (__const char *) (src), n)	      \
+					 (const char *) (src), n)	      \
 		      : __strncpy_cg ((dest), (src), strlen (src) + 1, n)))   \
 		  : __strncpy_gg ((dest), (src), n)))
 #define __strncpy_cg(dest, src, srclen, n) \
@@ -847,11 +846,11 @@ __stpcpy_g (char *__dest, __const char *__src)
       ? __strncpy_by2 (dest, src, srclen, n)				      \
       : __strncpy_byn (dest, src, srclen, n)))
 
-__STRING_INLINE char *__strncpy_by4 (char *__dest, __const char __src[],
+__STRING_INLINE char *__strncpy_by4 (char *__dest, const char __src[],
 				     size_t __srclen, size_t __n);
 
 __STRING_INLINE char *
-__strncpy_by4 (char *__dest, __const char __src[], size_t __srclen, size_t __n)
+__strncpy_by4 (char *__dest, const char __src[], size_t __srclen, size_t __n)
 {
   register char *__tmp = __dest;
   register int __dummy1, __dummy2;
@@ -872,11 +871,11 @@ __strncpy_by4 (char *__dest, __const char __src[], size_t __srclen, size_t __n)
   return __dest;
 }
 
-__STRING_INLINE char *__strncpy_by2 (char *__dest, __const char __src[],
+__STRING_INLINE char *__strncpy_by2 (char *__dest, const char __src[],
 				     size_t __srclen, size_t __n);
 
 __STRING_INLINE char *
-__strncpy_by2 (char *__dest, __const char __src[], size_t __srclen, size_t __n)
+__strncpy_by2 (char *__dest, const char __src[], size_t __srclen, size_t __n)
 {
   register char *__tmp = __dest;
   register int __dummy1, __dummy2;
@@ -902,11 +901,11 @@ __strncpy_by2 (char *__dest, __const char __src[], size_t __srclen, size_t __n)
   return __dest;
 }
 
-__STRING_INLINE char *__strncpy_byn (char *__dest, __const char __src[],
+__STRING_INLINE char *__strncpy_byn (char *__dest, const char __src[],
 				     size_t __srclen, size_t __n);
 
 __STRING_INLINE char *
-__strncpy_byn (char *__dest, __const char __src[], size_t __srclen, size_t __n)
+__strncpy_byn (char *__dest, const char __src[], size_t __srclen, size_t __n)
 {
   register unsigned long int __d0, __d1;
   register char *__tmp = __dest;
@@ -930,11 +929,11 @@ __strncpy_byn (char *__dest, __const char __src[], size_t __srclen, size_t __n)
   return __dest;
 }
 
-__STRING_INLINE char *__strncpy_gg (char *__dest, __const char *__src,
+__STRING_INLINE char *__strncpy_gg (char *__dest, const char *__src,
 				    size_t __n);
 
 __STRING_INLINE char *
-__strncpy_gg (char *__dest, __const char *__src, size_t __n)
+__strncpy_gg (char *__dest, const char *__src, size_t __n)
 {
   register char *__tmp = __dest;
   register char __dummy;
@@ -970,11 +969,11 @@ __strncpy_gg (char *__dest, __const char *__src, size_t __n)
 		  ? __strcat_c ((dest), (src), strlen (src) + 1)	      \
 		  : __strcat_g ((dest), (src))))
 
-__STRING_INLINE char *__strcat_c (char *__dest, __const char __src[],
+__STRING_INLINE char *__strcat_c (char *__dest, const char __src[],
 				  size_t __srclen);
 
 __STRING_INLINE char *
-__strcat_c (char *__dest, __const char __src[], size_t __srclen)
+__strcat_c (char *__dest, const char __src[], size_t __srclen)
 {
 #ifdef __i686__
   register unsigned long int __d0;
@@ -1004,10 +1003,10 @@ __strcat_c (char *__dest, __const char __src[], size_t __srclen)
   return __dest;
 }
 
-__STRING_INLINE char *__strcat_g (char *__dest, __const char *__src);
+__STRING_INLINE char *__strcat_g (char *__dest, const char *__src);
 
 __STRING_INLINE char *
-__strcat_g (char *__dest, __const char *__src)
+__strcat_g (char *__dest, const char *__src)
 {
   register char *__tmp = __dest - 1;
   register char __dummy;
@@ -1040,15 +1039,15 @@ __strcat_g (char *__dest, __const char *__src)
 		    ? (strlen (src) < ((size_t) (n))			      \
 		       ? strcat (__dest, (src))				      \
 		       : (*(char *)__mempcpy (strchr (__dest, '\0'),	      \
-					       (__const char *) (src),	      \
+					       (const char *) (src),	      \
 					      (n)) = 0, __dest))	      \
 		    : __strncat_g (__dest, (src), (n)); }))
 
-__STRING_INLINE char *__strncat_g (char *__dest, __const char __src[],
+__STRING_INLINE char *__strncat_g (char *__dest, const char __src[],
 				   size_t __n);
 
 __STRING_INLINE char *
-__strncat_g (char *__dest, __const char __src[], size_t __n)
+__strncat_g (char *__dest, const char __src[], size_t __n)
 {
   register char *__tmp = __dest;
   register char __dummy;
@@ -1103,26 +1102,26 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
   (__extension__ (__builtin_constant_p (s1) && __builtin_constant_p (s2)      \
 		  && (sizeof ((s1)[0]) != 1 || strlen (s1) >= 4)	      \
 		  && (sizeof ((s2)[0]) != 1 || strlen (s2) >= 4)	      \
-		  ? memcmp ((__const char *) (s1), (__const char *) (s2),     \
+		  ? memcmp ((const char *) (s1), (const char *) (s2),	      \
 			    (strlen (s1) < strlen (s2)			      \
 			     ? strlen (s1) : strlen (s2)) + 1)		      \
 		  : (__builtin_constant_p (s1) && sizeof ((s1)[0]) == 1	      \
 		     && sizeof ((s2)[0]) == 1 && strlen (s1) < 4	      \
 		     ? (__builtin_constant_p (s2) && sizeof ((s2)[0]) == 1    \
-			? __strcmp_cc ((__const unsigned char *) (s1),	      \
-				       (__const unsigned char *) (s2),	      \
+			? __strcmp_cc ((const unsigned char *) (s1),	      \
+				       (const unsigned char *) (s2),	      \
 				       strlen (s1))			      \
-			: __strcmp_cg ((__const unsigned char *) (s1),	      \
-				       (__const unsigned char *) (s2),	      \
+			: __strcmp_cg ((const unsigned char *) (s1),	      \
+				       (const unsigned char *) (s2),	      \
 				       strlen (s1)))			      \
 		     : (__builtin_constant_p (s2) && sizeof ((s1)[0]) == 1    \
 			&& sizeof ((s2)[0]) == 1 && strlen (s2) < 4	      \
 			? (__builtin_constant_p (s1)			      \
-			   ? __strcmp_cc ((__const unsigned char *) (s1),     \
-					  (__const unsigned char *) (s2),     \
+			   ? __strcmp_cc ((const unsigned char *) (s1),	      \
+					  (const unsigned char *) (s2),	      \
 					  strlen (s2))			      \
-			   : __strcmp_gc ((__const unsigned char *) (s1),     \
-					  (__const unsigned char *) (s2),     \
+			   : __strcmp_gc ((const unsigned char *) (s1),	      \
+					  (const unsigned char *) (s2),	      \
 					  strlen (s2)))			      \
 			: __strcmp_gg ((s1), (s2))))))
 
@@ -1141,7 +1140,7 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
 		    __result; }))
 
 #define __strcmp_cg(s1, s2, l1) \
-  (__extension__ ({ __const unsigned char *__s2 = (s2);			      \
+  (__extension__ ({ const unsigned char *__s2 = (s2);			      \
 		    register int __result = (s1)[0] - __s2[0];		      \
 		    if (l1 > 0 && __result == 0)			      \
 		      {							      \
@@ -1156,7 +1155,7 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
 		    __result; }))
 
 #define __strcmp_gc(s1, s2, l2) \
-  (__extension__ ({ __const unsigned char *__s1 = (s1);			      \
+  (__extension__ ({ const unsigned char *__s1 = (s1);			      \
 		    register int __result = __s1[0] - (s2)[0];		      \
 		    if (l2 > 0 && __result == 0)			      \
 		      {							      \
@@ -1170,10 +1169,10 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
 		      }							      \
 		    __result; }))
 
-__STRING_INLINE int __strcmp_gg (__const char *__s1, __const char *__s2);
+__STRING_INLINE int __strcmp_gg (const char *__s1, const char *__s2);
 
 __STRING_INLINE int
-__strcmp_gg (__const char *__s1, __const char *__s2)
+__strcmp_gg (const char *__s1, const char *__s2)
 {
   register int __res;
   __asm__ __volatile__
@@ -1210,11 +1209,11 @@ __strcmp_gg (__const char *__s1, __const char *__s2)
 		     ? strcmp ((s1), (s2))				      \
 		     : __strncmp_g ((s1), (s2), (n)))))
 
-__STRING_INLINE int __strncmp_g (__const char *__s1, __const char *__s2,
+__STRING_INLINE int __strncmp_g (const char *__s1, const char *__s2,
 				 size_t __n);
 
 __STRING_INLINE int
-__strncmp_g (__const char *__s1, __const char *__s2, size_t __n)
+__strncmp_g (const char *__s1, const char *__s2, size_t __n)
 {
   register int __res;
   __asm__ __volatile__
@@ -1255,10 +1254,10 @@ __strncmp_g (__const char *__s1, __const char *__s2, size_t __n)
 		     : __strchr_c ((s), ((c) & 0xff) << 8))		      \
 		  : __strchr_g ((s), (c))))
 
-__STRING_INLINE char *__strchr_c (__const char *__s, int __c);
+__STRING_INLINE char *__strchr_c (const char *__s, int __c);
 
 __STRING_INLINE char *
-__strchr_c (__const char *__s, int __c)
+__strchr_c (const char *__s, int __c)
 {
   register unsigned long int __d0;
   register char *__res;
@@ -1279,10 +1278,10 @@ __strchr_c (__const char *__s, int __c)
   return __res;
 }
 
-__STRING_INLINE char *__strchr_g (__const char *__s, int __c);
+__STRING_INLINE char *__strchr_g (const char *__s, int __c);
 
 __STRING_INLINE char *
-__strchr_g (__const char *__s, int __c)
+__strchr_g (const char *__s, int __c)
 {
   register unsigned long int __d0;
   register char *__res;
@@ -1314,10 +1313,10 @@ __strchr_g (__const char *__s, int __c)
 		     : __strchrnul_c ((s), ((c) & 0xff) << 8))		      \
 		  : __strchrnul_g ((s), c)))
 
-__STRING_INLINE char *__strchrnul_c (__const char *__s, int __c);
+__STRING_INLINE char *__strchrnul_c (const char *__s, int __c);
 
 __STRING_INLINE char *
-__strchrnul_c (__const char *__s, int __c)
+__strchrnul_c (const char *__s, int __c)
 {
   register unsigned long int __d0;
   register char *__res;
@@ -1338,10 +1337,10 @@ __strchrnul_c (__const char *__s, int __c)
   return __res;
 }
 
-__STRING_INLINE char *__strchrnul_g (__const char *__s, int __c);
+__STRING_INLINE char *__strchrnul_g (const char *__s, int __c);
 
 __STRING_INLINE char *
-__strchrnul_g (__const char *__s, int __c)
+__strchrnul_g (const char *__s, int __c)
 {
   register unsigned long int __d0;
   register char *__res;
@@ -1385,10 +1384,10 @@ __strchrnul_g (__const char *__s, int __c)
 		  : __strrchr_g ((s), (c))))
 
 #ifdef __i686__
-__STRING_INLINE char *__strrchr_c (__const char *__s, int __c);
+__STRING_INLINE char *__strrchr_c (const char *__s, int __c);
 
 __STRING_INLINE char *
-__strrchr_c (__const char *__s, int __c)
+__strrchr_c (const char *__s, int __c)
 {
   register unsigned long int __d0, __d1;
   register char *__res;
@@ -1407,10 +1406,10 @@ __strrchr_c (__const char *__s, int __c)
   return __res - 1;
 }
 
-__STRING_INLINE char *__strrchr_g (__const char *__s, int __c);
+__STRING_INLINE char *__strrchr_g (const char *__s, int __c);
 
 __STRING_INLINE char *
-__strrchr_g (__const char *__s, int __c)
+__strrchr_g (const char *__s, int __c)
 {
   register unsigned long int __d0, __d1;
   register char *__res;
@@ -1430,10 +1429,10 @@ __strrchr_g (__const char *__s, int __c)
   return __res - 1;
 }
 #else
-__STRING_INLINE char *__strrchr_c (__const char *__s, int __c);
+__STRING_INLINE char *__strrchr_c (const char *__s, int __c);
 
 __STRING_INLINE char *
-__strrchr_c (__const char *__s, int __c)
+__strrchr_c (const char *__s, int __c)
 {
   register unsigned long int __d0, __d1;
   register char *__res;
@@ -1454,10 +1453,10 @@ __strrchr_c (__const char *__s, int __c)
   return __res;
 }
 
-__STRING_INLINE char *__strrchr_g (__const char *__s, int __c);
+__STRING_INLINE char *__strrchr_g (const char *__s, int __c);
 
 __STRING_INLINE char *
-__strrchr_g (__const char *__s, int __c)
+__strrchr_g (const char *__s, int __c)
 {
   register unsigned long int __d0, __d1;
   register char *__res;
@@ -1503,11 +1502,11 @@ __strrchr_g (__const char *__s, int __c)
 			: __strcspn_cg ((s), (reject), strlen (reject))))     \
 		  : __strcspn_g ((s), (reject))))
 
-__STRING_INLINE size_t __strcspn_c1 (__const char *__s, int __reject);
+__STRING_INLINE size_t __strcspn_c1 (const char *__s, int __reject);
 
 #ifndef _FORCE_INLINES
 __STRING_INLINE size_t
-__strcspn_c1 (__const char *__s, int __reject)
+__strcspn_c1 (const char *__s, int __reject)
 {
   register unsigned long int __d0;
   register char *__res;
@@ -1528,14 +1527,14 @@ __strcspn_c1 (__const char *__s, int __reject)
 }
 #endif
 
-__STRING_INLINE size_t __strcspn_cg (__const char *__s, __const char __reject[],
-				    size_t __reject_len);
+__STRING_INLINE size_t __strcspn_cg (const char *__s, const char __reject[],
+				     size_t __reject_len);
 
 __STRING_INLINE size_t
-__strcspn_cg (__const char *__s, __const char __reject[], size_t __reject_len)
+__strcspn_cg (const char *__s, const char __reject[], size_t __reject_len)
 {
   register unsigned long int __d0, __d1, __d2;
-  register __const char *__res;
+  register const char *__res;
   __asm__ __volatile__
     ("cld\n"
      "1:\n\t"
@@ -1553,14 +1552,14 @@ __strcspn_cg (__const char *__s, __const char __reject[], size_t __reject_len)
   return (__res - 1) - __s;
 }
 
-__STRING_INLINE size_t __strcspn_g (__const char *__s, __const char *__reject);
+__STRING_INLINE size_t __strcspn_g (const char *__s, const char *__reject);
 #ifdef __PIC__
 
 __STRING_INLINE size_t
-__strcspn_g (__const char *__s, __const char *__reject)
+__strcspn_g (const char *__s, const char *__reject)
 {
   register unsigned long int __d0, __d1, __d2;
-  register __const char *__res;
+  register const char *__res;
   __asm__ __volatile__
     ("pushl	%%ebx\n\t"
      "movl	%4,%%edi\n\t"
@@ -1585,10 +1584,10 @@ __strcspn_g (__const char *__s, __const char *__reject)
 }
 #else
 __STRING_INLINE size_t
-__strcspn_g (__const char *__s, __const char *__reject)
+__strcspn_g (const char *__s, const char *__reject)
 {
   register unsigned long int __d0, __d1, __d2, __d3;
-  register __const char *__res;
+  register const char *__res;
   __asm__ __volatile__
     ("cld\n\t"
      "repne; scasb\n\t"
@@ -1625,10 +1624,10 @@ __strcspn_g (__const char *__s, __const char *__reject)
 		  : __strspn_g ((s), (accept))))
 
 #ifndef _FORCE_INLINES
-__STRING_INLINE size_t __strspn_c1 (__const char *__s, int __accept);
+__STRING_INLINE size_t __strspn_c1 (const char *__s, int __accept);
 
 __STRING_INLINE size_t
-__strspn_c1 (__const char *__s, int __accept)
+__strspn_c1 (const char *__s, int __accept)
 {
   register unsigned long int __d0;
   register char *__res;
@@ -1647,14 +1646,14 @@ __strspn_c1 (__const char *__s, int __accept)
 }
 #endif
 
-__STRING_INLINE size_t __strspn_cg (__const char *__s, __const char __accept[],
+__STRING_INLINE size_t __strspn_cg (const char *__s, const char __accept[],
 				    size_t __accept_len);
 
 __STRING_INLINE size_t
-__strspn_cg (__const char *__s, __const char __accept[], size_t __accept_len)
+__strspn_cg (const char *__s, const char __accept[], size_t __accept_len)
 {
   register unsigned long int __d0, __d1, __d2;
-  register __const char *__res;
+  register const char *__res;
   __asm__ __volatile__
     ("cld\n"
      "1:\n\t"
@@ -1676,14 +1675,14 @@ __strspn_cg (__const char *__s, __const char __accept[], size_t __accept_len)
   return (__res - 1) - __s;
 }
 
-__STRING_INLINE size_t __strspn_g (__const char *__s, __const char *__accept);
+__STRING_INLINE size_t __strspn_g (const char *__s, const char *__accept);
 #ifdef __PIC__
 
 __STRING_INLINE size_t
-__strspn_g (__const char *__s, __const char *__accept)
+__strspn_g (const char *__s, const char *__accept)
 {
   register unsigned long int __d0, __d1, __d2;
-  register __const char *__res;
+  register const char *__res;
   __asm__ __volatile__
     ("pushl	%%ebx\n\t"
      "cld\n\t"
@@ -1707,10 +1706,10 @@ __strspn_g (__const char *__s, __const char *__accept)
 }
 #else
 __STRING_INLINE size_t
-__strspn_g (__const char *__s, __const char *__accept)
+__strspn_g (const char *__s, const char *__accept)
 {
   register unsigned long int __d0, __d1, __d2, __d3;
-  register __const char *__res;
+  register const char *__res;
   __asm__ __volatile__
     ("cld\n\t"
      "repne; scasb\n\t"
@@ -1744,11 +1743,11 @@ __strspn_g (__const char *__s, __const char *__accept)
 			: __strpbrk_cg ((s), (accept), strlen (accept))))     \
 		  : __strpbrk_g ((s), (accept))))
 
-__STRING_INLINE char *__strpbrk_cg (__const char *__s, __const char __accept[],
+__STRING_INLINE char *__strpbrk_cg (const char *__s, const char __accept[],
 				    size_t __accept_len);
 
 __STRING_INLINE char *
-__strpbrk_cg (__const char *__s, __const char __accept[], size_t __accept_len)
+__strpbrk_cg (const char *__s, const char __accept[], size_t __accept_len)
 {
   register unsigned long int __d0, __d1, __d2;
   register char *__res;
@@ -1773,11 +1772,11 @@ __strpbrk_cg (__const char *__s, __const char __accept[], size_t __accept_len)
   return __res;
 }
 
-__STRING_INLINE char *__strpbrk_g (__const char *__s, __const char *__accept);
+__STRING_INLINE char *__strpbrk_g (const char *__s, const char *__accept);
 #ifdef __PIC__
 
 __STRING_INLINE char *
-__strpbrk_g (__const char *__s, __const char *__accept)
+__strpbrk_g (const char *__s, const char *__accept)
 {
   register unsigned long int __d0, __d1, __d2;
   register char *__res;
@@ -1809,7 +1808,7 @@ __strpbrk_g (__const char *__s, __const char *__accept)
 }
 #else
 __STRING_INLINE char *
-__strpbrk_g (__const char *__s, __const char *__accept)
+__strpbrk_g (const char *__s, const char *__accept)
 {
   register unsigned long int __d0, __d1, __d2, __d3;
   register char *__res;
@@ -1854,11 +1853,12 @@ __strpbrk_g (__const char *__s, __const char *__accept)
 
 /* Please note that this function need not handle NEEDLEs with a
    length shorter than two.  */
-__STRING_INLINE char *__strstr_cg (__const char *__haystack, __const char __needle[],
+__STRING_INLINE char *__strstr_cg (const char *__haystack,
+				   const char __needle[],
 				   size_t __needle_len);
 
 __STRING_INLINE char *
-__strstr_cg (__const char *__haystack, __const char __needle[],
+__strstr_cg (const char *__haystack, const char __needle[],
 	     size_t __needle_len)
 {
   register unsigned long int __d0, __d1, __d2;
@@ -1882,11 +1882,12 @@ __strstr_cg (__const char *__haystack, __const char __needle[],
   return __res;
 }
 
-__STRING_INLINE char *__strstr_g (__const char *__haystack, __const char *__needle);
+__STRING_INLINE char *__strstr_g (const char *__haystack,
+				  const char *__needle);
 #ifdef __PIC__
 
 __STRING_INLINE char *
-__strstr_g (__const char *__haystack, __const char *__needle)
+__strstr_g (const char *__haystack, const char *__needle)
 {
   register unsigned long int __d0, __d1, __d2;
   register char *__res;
@@ -1917,7 +1918,7 @@ __strstr_g (__const char *__haystack, __const char *__needle)
 }
 #else
 __STRING_INLINE char *
-__strstr_g (__const char *__haystack, __const char *__needle)
+__strstr_g (const char *__haystack, const char *__needle)
 {
   register unsigned long int __d0, __d1, __d2, __d3;
   register char *__res;
diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c b/sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c
index 422746379c..33ff1ca5b5 100644
--- a/sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c
+++ b/sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c
@@ -7,7 +7,7 @@
 #undef __strtod_l
 
 extern double
-__strtod_l (__const char *__restrict __nptr, char **__restrict __endptr,
+__strtod_l (const char *__restrict __nptr, char **__restrict __endptr,
 	    __locale_t __loc);
 
 double
diff --git a/sysdeps/s390/bits/string.h b/sysdeps/s390/bits/string.h
index 49103b9438..287300a9f6 100644
--- a/sysdeps/s390/bits/string.h
+++ b/sysdeps/s390/bits/string.h
@@ -1,5 +1,5 @@
 /* Optimized, inlined string functions.  S/390 version.
-   Copyright (C) 2000, 2001, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2007, 2012 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
@@ -42,10 +42,10 @@
 #ifndef _FORCE_INLINES
 #define strlen(str) __strlen_g ((str))
 
-__STRING_INLINE size_t __strlen_g (__const char *) __asm__ ("strlen");
+__STRING_INLINE size_t __strlen_g (const char *) __asm__ ("strlen");
 
 __STRING_INLINE size_t
-__strlen_g (__const char *__str)
+__strlen_g (const char *__str)
 {
     char *__ptr, *__tmp;
 
@@ -54,7 +54,7 @@ __strlen_g (__const char *__str)
     __asm__ __volatile__ ("   la    0,0\n"
 			  "0: srst  %0,%1\n"
 			  "   jo    0b\n"
-			  : "+&a" (__ptr), "+&a" (__tmp) : 
+			  : "+&a" (__ptr), "+&a" (__tmp) :
 			  : "cc", "memory", "0" );
     return (size_t) (__ptr - __str);
 }
@@ -65,10 +65,10 @@ __strlen_g (__const char *__str)
 #ifndef _FORCE_INLINES
 #define strcpy(dest, src) __strcpy_g ((dest), (src))
 
-__STRING_INLINE char *__strcpy_g (char *, __const char *) __asm ("strcpy");
+__STRING_INLINE char *__strcpy_g (char *, const char *) __asm ("strcpy");
 
 __STRING_INLINE char *
-__strcpy_g (char *__dest, __const char *__src)
+__strcpy_g (char *__dest, const char *__src)
 {
     char *tmp = __dest;
 
@@ -85,11 +85,11 @@ __strcpy_g (char *__dest, __const char *__src)
 #ifndef _FORCE_INLINES
 #define strncpy(dest, src, n) __strncpy_g ((dest), (src), (n))
 
-__STRING_INLINE char *__strncpy_g (char *, __const char *, size_t)
+__STRING_INLINE char *__strncpy_g (char *, const char *, size_t)
      __asm__ ("strncpy");
 
 __STRING_INLINE char *
-__strncpy_g (char *__dest, __const char *__src, size_t __n)
+__strncpy_g (char *__dest, const char *__src, size_t __n)
 {
     char *__ret = __dest;
     char *__ptr;
@@ -99,26 +99,26 @@ __strncpy_g (char *__dest, __const char *__src, size_t __n)
       __diff = (size_t) (__dest - __src);
       __ptr = (char *) __src;
       __asm__ __volatile__ ("   j     1f\n"
-                            "0: la    %0,1(%0)\n"
-                            "1: icm   0,1,0(%0)\n"
-                            "   stc   0,0(%2,%0)\n"
-                            "   jz    3f\n"
+			    "0: la    %0,1(%0)\n"
+			    "1: icm   0,1,0(%0)\n"
+			    "   stc   0,0(%2,%0)\n"
+			    "   jz    3f\n"
 #if defined(__s390x__)
-                            "   brctg %1,0b\n"
+			    "   brctg %1,0b\n"
 #else
-                            "   brct  %1,0b\n"
+			    "   brct  %1,0b\n"
 #endif
-                            "   j     4f\n"
-                            "2: la    %0,1(%0)\n"
-                            "   stc   0,0(%2,%0)\n"
+			    "   j     4f\n"
+			    "2: la    %0,1(%0)\n"
+			    "   stc   0,0(%2,%0)\n"
 #if defined(__s390x__)
-                            "3: brctg %1,2b\n"
+			    "3: brctg %1,2b\n"
 #else
-                            "3: brct  %1,2b\n"
+			    "3: brct  %1,2b\n"
 #endif
-                            "4:"
-                            : "+&a" (__ptr), "+&a" (__n) : "a" (__diff)
-                            : "cc", "memory", "0" );
+			    "4:"
+			    : "+&a" (__ptr), "+&a" (__n) : "a" (__diff)
+			    : "cc", "memory", "0" );
     }
     return __ret;
 }
@@ -129,10 +129,10 @@ __strncpy_g (char *__dest, __const char *__src, size_t __n)
 #ifndef _FORCE_INLINES
 #define strcat(dest, src) __strcat_g ((dest), (src))
 
-__STRING_INLINE char *__strcat_g (char *, __const char *) __asm__ ("strcat");
+__STRING_INLINE char *__strcat_g (char *, const char *) __asm__ ("strcat");
 
 __STRING_INLINE char *
-__strcat_g (char *__dest, __const char *__src)
+__strcat_g (char *__dest, const char *__src)
 {
     char *__ret = __dest;
     char *__ptr, *__tmp;
@@ -161,11 +161,11 @@ __strcat_g (char *__dest, __const char *__src)
 #ifndef _FORCE_INLINES
 #define strncat(dest, src, n) __strncat_g ((dest), (src), (n))
 
-__STRING_INLINE char *__strncat_g (char *, __const char *, size_t)
+__STRING_INLINE char *__strncat_g (char *, const char *, size_t)
      __asm__ ("strncat");
 
 __STRING_INLINE char *
-__strncat_g (char *__dest, __const char *__src, size_t __n)
+__strncat_g (char *__dest, const char *__src, size_t __n)
 {
     char *__ret = __dest;
     char *__ptr, *__tmp;
@@ -184,20 +184,20 @@ __strncat_g (char *__dest, __const char *__src, size_t __n)
       __diff = (size_t) (__ptr - __src);
       __tmp = (char *) __src;
       __asm__ __volatile__ ("   j     1f\n"
-                            "0: la    %0,1(%0)\n"
-                            "1: icm   0,1,0(%0)\n"
-                            "   stc   0,0(%2,%0)\n"
-                            "   jz    2f\n"
+			    "0: la    %0,1(%0)\n"
+			    "1: icm   0,1,0(%0)\n"
+			    "   stc   0,0(%2,%0)\n"
+			    "   jz    2f\n"
 #if defined(__s390x__)
-                            "   brctg %1,0b\n"
+			    "   brctg %1,0b\n"
 #else
-                            "   brct  %1,0b\n"
+			    "   brct  %1,0b\n"
 #endif
 			    "   slr   0,0\n"
-                            "   stc   0,1(%2,%0)\n"
+			    "   stc   0,1(%2,%0)\n"
 			    "2:"
-                            : "+&a" (__tmp), "+&a" (__n) : "a" (__diff)
-                            : "cc", "memory", "0" );
+			    : "+&a" (__tmp), "+&a" (__n) : "a" (__diff)
+			    : "cc", "memory", "0" );
 
     }
     return __ret;
@@ -208,7 +208,7 @@ __strncat_g (char *__dest, __const char *__src, size_t __n)
 #define _HAVE_STRING_ARCH_memchr 1
 #ifndef _FORCE_INLINES
 __STRING_INLINE void *
-memchr (__const void *__str, int __c, size_t __n)
+memchr (const void *__str, int __c, size_t __n)
 {
     char *__ptr, *__tmp;
 
@@ -218,9 +218,9 @@ memchr (__const void *__str, int __c, size_t __n)
 			  "   nr    0,%2\n"
 			  "0: srst  %0,%1\n"
 			  "   jo    0b\n"
-                          "   brc   13,1f\n"
-                          "   la    %0,0\n"
-                          "1:"
+			  "   brc   13,1f\n"
+			  "   la    %0,0\n"
+			  "1:"
 			  : "+&a" (__ptr), "+&a" (__tmp) : "d" (__c)
 			  : "cc", "memory", "0" );
     return __ptr;
@@ -231,7 +231,7 @@ memchr (__const void *__str, int __c, size_t __n)
 #define _HAVE_STRING_ARCH_memchr 1
 #ifndef _FORCE_INLINES
 __STRING_INLINE int
-strcmp (__const char *__s1, __const char *__s2)
+strcmp (const char *__s1, const char *__s2)
 {
     char *__p1, *__p2;
     int __ret;
@@ -239,11 +239,11 @@ strcmp (__const char *__s1, __const char *__s2)
     __p1 = (char *) __s1;
     __p2 = (char *) __s2;
     __asm__ __volatile__ ("   slr   0,0\n"
-                          "0: clst  %1,%2\n"
+			  "0: clst  %1,%2\n"
 			  "   jo    0b\n"
 			  "   ipm   %0\n"
 			  "   srl   %0,28"
-			  : "=d" (__ret), "+&a" (__p1), "+&a" (__p2) : 
+			  : "=d" (__ret), "+&a" (__p1), "+&a" (__p2) :
 			  : "cc", "memory", "0" );
     __ret = (__ret == 0) ? 0 : (__ret == 1) ? -1 : 1;
     return __ret;
diff --git a/sysdeps/s390/fpu/bits/fenv.h b/sysdeps/s390/fpu/bits/fenv.h
index df1ee6e645..b1ac01e057 100644
--- a/sysdeps/s390/fpu/bits/fenv.h
+++ b/sysdeps/s390/fpu/bits/fenv.h
@@ -1,6 +1,6 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
+   Contributed by Denis Joseph Barrow <djbarrow@de.ibm.com>.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -74,9 +74,9 @@ typedef struct
 } fenv_t;
 
 /* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((__const fenv_t *) -1)
+#define FE_DFL_ENV	((const fenv_t *) -1)
 
 #ifdef __USE_GNU
 /* Floating-point environment where none of the exceptions are masked.  */
-# define FE_NOMASK_ENV	((__const fenv_t *) -2)
+# define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
diff --git a/sysdeps/sparc/fpu/bits/fenv.h b/sysdeps/sparc/fpu/bits/fenv.h
index d2ef97e0e7..528ead9282 100644
--- a/sysdeps/sparc/fpu/bits/fenv.h
+++ b/sysdeps/sparc/fpu/bits/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2012 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
@@ -68,11 +68,11 @@ typedef unsigned long int fexcept_t;
 typedef unsigned long int fenv_t;
 
 /* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((__const fenv_t *) -1)
+#define FE_DFL_ENV	((const fenv_t *) -1)
 
 #ifdef __USE_GNU
 /* Floating-point environment where none of the exception is masked.  */
-# define FE_NOMASK_ENV	((__const fenv_t *) -2)
+# define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
 
 /* For internal use only: access the fp state register.  */
diff --git a/sysdeps/sparc/fpu/bits/mathinline.h b/sysdeps/sparc/fpu/bits/mathinline.h
index d3ff44c5a9..5c69c791d3 100644
--- a/sysdeps/sparc/fpu/bits/mathinline.h
+++ b/sysdeps/sparc/fpu/bits/mathinline.h
@@ -1,5 +1,5 @@
 /* Inline math functions for SPARC.
-   Copyright (C) 1999, 2000, 2001, 2002, 2004, 2006, 2007
+   Copyright (C) 1999, 2000, 2001, 2002, 2004, 2006, 2007, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@redhat.com>.
@@ -215,7 +215,7 @@ __MATH_INLINE long double
 __NTH (sqrtl (long double __x))
 {
   long double __r;
-  extern void _Qp_sqrt (long double *, __const__ long double *);
+  extern void _Qp_sqrt (long double *, const long double *);
   _Qp_sqrt (&__r, &__x);
   return __r;
 }
@@ -223,7 +223,7 @@ __NTH (sqrtl (long double __x))
 __MATH_INLINE long double
 sqrtl (long double __x) __THROW
 {
-  extern long double _Q_sqrt (__const__ long double);
+  extern long double _Q_sqrt (const long double);
   return _Q_sqrt (__x);
 }
 #   endif /* sparc64 */
@@ -253,7 +253,7 @@ __MATH_INLINE long double
 __ieee754_sqrtl (long double __x)
 {
   long double __r;
-  extern void _Qp_sqrt (long double *, __const__ long double *);
+  extern void _Qp_sqrt (long double *, const long double *);
   _Qp_sqrt(&__r, &__x);
   return __r;
 }
@@ -261,7 +261,7 @@ __ieee754_sqrtl (long double __x)
 __MATH_INLINE long double
 __ieee754_sqrtl (long double __x)
 {
-  extern long double _Q_sqrt (__const__ long double);
+  extern long double _Q_sqrt (const long double);
   return _Q_sqrt (__x);
 }
 #   endif /* sparc64 */
diff --git a/sysdeps/unix/sysv/linux/bits/resource.h b/sysdeps/unix/sysv/linux/bits/resource.h
index 336c19211f..e648436536 100644
--- a/sysdeps/unix/sysv/linux/bits/resource.h
+++ b/sysdeps/unix/sysv/linux/bits/resource.h
@@ -1,5 +1,5 @@
 /* Bit values & structures for resource limits.  Linux version.
-   Copyright (C) 1994, 1996-2000, 2004, 2005, 2008, 2009, 2010, 2011
+   Copyright (C) 1994, 1996-2000, 2004, 2005, 2008, 2009, 2010, 2011, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -246,13 +246,13 @@ __BEGIN_DECLS
 /* Modify and return resource limits of a process atomically.  */
 # ifndef __USE_FILE_OFFSET64
 extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
-		    __const struct rlimit *__new_limit,
+		    const struct rlimit *__new_limit,
 		    struct rlimit *__old_limit) __THROW;
 # else
 #  ifdef __REDIRECT_NTH
 extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
 				     enum __rlimit_resource __resource,
-				     __const struct rlimit *__new_limit,
+				     const struct rlimit *__new_limit,
 				     struct rlimit *__old_limit), prlimit64);
 #  else
 #   define prlimit prlimit64
@@ -260,7 +260,7 @@ extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
 # endif
 # ifdef __USE_LARGEFILE64
 extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
-		      __const struct rlimit64 *__new_limit,
+		      const struct rlimit64 *__new_limit,
 		      struct rlimit64 *__old_limit) __THROW;
 # endif
 #endif
diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h
index 6b1431dd97..4735fe8c2d 100644
--- a/sysdeps/unix/sysv/linux/bits/sched.h
+++ b/sysdeps/unix/sysv/linux/bits/sched.h
@@ -1,6 +1,6 @@
 /* Definitions of constants and data structure for POSIX 1003.1b-1993
    scheduling interface.
-   Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009,2011
+   Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -161,7 +161,7 @@ typedef struct
   (__extension__							      \
    ({ size_t __cpu = (cpu);						      \
       __cpu < 8 * (setsize)						      \
-      ? ((((__const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]      \
+      ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]	      \
 	  & __CPUMASK (__cpu))) != 0					      \
       : 0; }))
 
@@ -174,8 +174,8 @@ typedef struct
 # else
 #  define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
   (__extension__							      \
-   ({ __const __cpu_mask *__arr1 = (cpusetp1)->__bits;			      \
-      __const __cpu_mask *__arr2 = (cpusetp2)->__bits;			      \
+   ({ const __cpu_mask *__arr1 = (cpusetp1)->__bits;			      \
+      const __cpu_mask *__arr2 = (cpusetp2)->__bits;			      \
       size_t __imax = (setsize) / sizeof (__cpu_mask);			      \
       size_t __i;							      \
       for (__i = 0; __i < __imax; ++__i)				      \
@@ -187,8 +187,8 @@ typedef struct
 # define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
   (__extension__							      \
    ({ cpu_set_t *__dest = (destset);					      \
-      __const __cpu_mask *__arr1 = (srcset1)->__bits;			      \
-      __const __cpu_mask *__arr2 = (srcset2)->__bits;			      \
+      const __cpu_mask *__arr1 = (srcset1)->__bits;			      \
+      const __cpu_mask *__arr2 = (srcset2)->__bits;			      \
       size_t __imax = (setsize) / sizeof (__cpu_mask);			      \
       size_t __i;							      \
       for (__i = 0; __i < __imax; ++__i)				      \
diff --git a/sysdeps/unix/sysv/linux/bits/sigset.h b/sysdeps/unix/sysv/linux/bits/sigset.h
index daec8ac494..993cdd5a3c 100644
--- a/sysdeps/unix/sysv/linux/bits/sigset.h
+++ b/sysdeps/unix/sysv/linux/bits/sigset.h
@@ -1,5 +1,5 @@
 /* __sig_atomic_t, __sigset_t, and related definitions.  Linux version.
-   Copyright (C) 1991, 1992, 1994, 1996, 1997, 2007
+   Copyright (C) 1991, 1992, 1994, 1996, 1997, 2007, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -101,7 +101,7 @@ typedef struct
 /* These functions needn't check for a bogus signal number -- error
    checking is done in the non __ versions.  */
 
-extern int __sigismember (__const __sigset_t *, int);
+extern int __sigismember (const __sigset_t *, int);
 extern int __sigaddset (__sigset_t *, int);
 extern int __sigdelset (__sigset_t *, int);
 
@@ -115,7 +115,7 @@ extern int __sigdelset (__sigset_t *, int);
     return BODY;							      \
   }
 
-__SIGSETFN (__sigismember, (__set->__val[__word] & __mask) ? 1 : 0, __const)
+__SIGSETFN (__sigismember, (__set->__val[__word] & __mask) ? 1 : 0, const)
 __SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
 __SIGSETFN (__sigdelset, ((__set->__val[__word] &= ~__mask), 0), )
 
diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h
index 69e090bd4c..9eeb3770d8 100644
--- a/sysdeps/unix/sysv/linux/bits/socket.h
+++ b/sysdeps/unix/sysv/linux/bits/socket.h
@@ -1,5 +1,5 @@
 /* System-specific socket constants and types.  Linux version.
-   Copyright (C) 1991, 1992, 1994-2001, 2004, 2006-2010, 2011
+   Copyright (C) 1991, 1992, 1994-2001, 2004, 2006-2010, 2011, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -430,7 +430,7 @@ __BEGIN_DECLS
    __THROW.  */
 extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
 		     unsigned int __vlen, int __flags,
-		     __const struct timespec *__tmo);
+		     const struct timespec *__tmo);
 
 /* Send a VLEN messages as described by VMESSAGES to socket FD.
    Return the number of datagrams successfully written or -1 for errors.
diff --git a/sysdeps/unix/sysv/linux/bits/sys_errlist.h b/sysdeps/unix/sysv/linux/bits/sys_errlist.h
index ee556e8ec7..c14e9cdb01 100644
--- a/sysdeps/unix/sysv/linux/bits/sys_errlist.h
+++ b/sysdeps/unix/sysv/linux/bits/sys_errlist.h
@@ -1,5 +1,5 @@
 /* Declare sys_errlist and sys_nerr, or don't.  Compatibility (do) version.
-   Copyright (C) 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2012 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,9 +25,9 @@
 
 #ifdef  __USE_BSD
 extern int sys_nerr;
-extern __const char *__const sys_errlist[];
+extern const char *const sys_errlist[];
 #endif
 #ifdef  __USE_GNU
 extern int _sys_nerr;
-extern __const char *__const _sys_errlist[];
+extern const char *const _sys_errlist[];
 #endif
diff --git a/sysdeps/unix/sysv/linux/bits/uio.h b/sysdeps/unix/sysv/linux/bits/uio.h
index b2d77195c7..42bc615c2c 100644
--- a/sysdeps/unix/sysv/linux/bits/uio.h
+++ b/sysdeps/unix/sysv/linux/bits/uio.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 2006, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 2006, 2011, 2012 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
@@ -55,17 +55,17 @@ struct iovec
 __BEGIN_DECLS
 
 /* Read from another process' address space.  */
-extern ssize_t process_vm_readv (pid_t __pid, __const struct iovec *__lvec,
+extern ssize_t process_vm_readv (pid_t __pid, const struct iovec *__lvec,
 				 unsigned long int __liovcnt,
-				 __const struct iovec *__rvec,
+				 const struct iovec *__rvec,
 				 unsigned long int __riovcnt,
 				 unsigned long int __flags)
   __THROW;
 
 /* Write to another process' address space.  */
-extern ssize_t process_vm_writev (pid_t __pid, __const struct iovec *__lvec,
+extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec,
 				  unsigned long int __liovcnt,
-				  __const struct iovec *__rvec,
+				  const struct iovec *__rvec,
 				  unsigned long int __riovcnt,
 				  unsigned long int __flags)
   __THROW;
diff --git a/sysdeps/unix/sysv/linux/i386/glob64.c b/sysdeps/unix/sysv/linux/i386/glob64.c
index 18b7f21ae8..b4fcd1a73c 100644
--- a/sysdeps/unix/sysv/linux/i386/glob64.c
+++ b/sysdeps/unix/sysv/linux/i386/glob64.c
@@ -32,8 +32,8 @@ libc_hidden_ver (__glob64, glob64)
 
 #include <sysdeps/unix/sysv/linux/i386/olddirent.h>
 
-int __old_glob64 (__const char *__pattern, int __flags,
-		  int (*__errfunc) (__const char *, int),
+int __old_glob64 (const char *__pattern, int __flags,
+		  int (*__errfunc) (const char *, int),
 		  glob64_t *__pglob);
 
 #undef dirent
diff --git a/sysdeps/unix/sysv/linux/i386/olddirent.h b/sysdeps/unix/sysv/linux/i386/olddirent.h
index 4f73197e53..c5032473ff 100644
--- a/sysdeps/unix/sysv/linux/i386/olddirent.h
+++ b/sysdeps/unix/sysv/linux/i386/olddirent.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2009, 2012 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
@@ -33,13 +33,13 @@ struct __old_dirent64
 /* Now define the internal interfaces.  */
 extern struct __old_dirent64 *__old_readdir64 (DIR *__dirp);
 extern int __old_readdir64_r (DIR *__dirp, struct __old_dirent64 *__entry,
-                          struct __old_dirent64 **__result);
+			  struct __old_dirent64 **__result);
 extern __ssize_t __old_getdents64 (int __fd, char *__buf, size_t __nbytes)
 	internal_function;
-int __old_scandir64 (__const char * __dir,
+int __old_scandir64 (const char * __dir,
 		     struct __old_dirent64 *** __namelist,
-		     int (*__selector) (__const struct __old_dirent64 *),
-		     int (*__cmp) (__const struct __old_dirent64 **,
-				   __const struct __old_dirent64 **));
+		     int (*__selector) (const struct __old_dirent64 *),
+		     int (*__cmp) (const struct __old_dirent64 **,
+				   const struct __old_dirent64 **));
 
 #endif
diff --git a/sysdeps/unix/sysv/linux/preadv.c b/sysdeps/unix/sysv/linux/preadv.c
index 72722ebc0d..fdf5b36b80 100644
--- a/sysdeps/unix/sysv/linux/preadv.c
+++ b/sysdeps/unix/sysv/linux/preadv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2012 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
@@ -42,7 +42,7 @@
   (off_t) ((((uint64_t) (val)) >> (sizeof (long) * 4)) >> (sizeof (long) * 4))
 
 #ifndef __ASSUME_PREADV
-static ssize_t PREADV_REPLACEMENT (int, __const struct iovec *,
+static ssize_t PREADV_REPLACEMENT (int, const struct iovec *,
 				   int, OFF_T) internal_function;
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/prlimit.c b/sysdeps/unix/sysv/linux/prlimit.c
index 5f7a19725b..e452138a16 100644
--- a/sysdeps/unix/sysv/linux/prlimit.c
+++ b/sysdeps/unix/sysv/linux/prlimit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2010, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -24,7 +24,7 @@
 #ifdef __NR_prlimit64
 int
 prlimit (__pid_t pid, enum __rlimit_resource resource,
-	 __const struct rlimit *new_rlimit, struct rlimit *old_rlimit)
+	 const struct rlimit *new_rlimit, struct rlimit *old_rlimit)
 {
   struct rlimit64 new_rlimit64_mem;
   struct rlimit64 *new_rlimit64 = NULL;
@@ -83,7 +83,7 @@ prlimit (__pid_t pid, enum __rlimit_resource resource,
 #else
 int
 prlimit (__pid_t pid, enum __rlimit_resource resource,
-	 __const struct rlimit *new_rlimit, struct rlimit *old_rlimit)
+	 const struct rlimit *new_rlimit, struct rlimit *old_rlimit)
 {
   __set_errno (ENOSYS);
   return -1;
diff --git a/sysdeps/unix/sysv/linux/pwritev.c b/sysdeps/unix/sysv/linux/pwritev.c
index 2e9cbb2536..534b80041f 100644
--- a/sysdeps/unix/sysv/linux/pwritev.c
+++ b/sysdeps/unix/sysv/linux/pwritev.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2012 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
@@ -42,7 +42,7 @@
   (off_t) ((((uint64_t) (val)) >> (sizeof (long) * 4)) >> (sizeof (long) * 4))
 
 #ifndef __ASSUME_PWRITEV
-static ssize_t PWRITEV_REPLACEMENT (int, __const struct iovec *,
+static ssize_t PWRITEV_REPLACEMENT (int, const struct iovec *,
 				    int, OFF_T) internal_function;
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/readv.c b/sysdeps/unix/sysv/linux/readv.c
index 9425084a25..89e4c60a94 100644
--- a/sysdeps/unix/sysv/linux/readv.c
+++ b/sysdeps/unix/sysv/linux/readv.c
@@ -1,5 +1,6 @@
 /* readv supports all Linux kernels >= 2.0.
-   Copyright (C) 1997,1998,2000,2002,2003,2009 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,2000,2002,2003,2009,2012
+   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,7 +29,7 @@
 #include <kernel-features.h>
 
 #ifndef __ASSUME_COMPLETE_READV_WRITEV
-static ssize_t __atomic_readv_replacement (int, __const struct iovec *,
+static ssize_t __atomic_readv_replacement (int, const struct iovec *,
 					   int) internal_function;
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h b/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h
index 4fb77faa9a..33de68356c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2012 Free Software Foundation, Inc.
    Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
    This file is part of the GNU C Library.
 
@@ -32,7 +32,7 @@
 /* Convert the 64 bit struct utmp value in FROM to the 32 bit version
    returned in TO.  */
 static inline void
-utmp_convert64to32 (__const struct utmp *from, struct utmp32 *to)
+utmp_convert64to32 (const struct utmp *from, struct utmp32 *to)
 {
 #if _HAVE_UT_TYPE - 0
   to->ut_type = from->ut_type;
@@ -60,7 +60,7 @@ utmp_convert64to32 (__const struct utmp *from, struct utmp32 *to)
 /* Convert the 32 bit struct utmp value in FROM to the 64 bit version
    returned in TO.  */
 static inline void
-utmp_convert32to64 (__const struct utmp32 *from, struct utmp *to)
+utmp_convert32to64 (const struct utmp32 *from, struct utmp *to)
 {
 #if _HAVE_UT_TYPE - 0
   to->ut_type = from->ut_type;
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h b/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h
index dedc6c6be8..9042e0f554 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.h
@@ -1,5 +1,5 @@
 /* The `struct utmp' type, describing entries in the utmp file.  GNU version.
-   Copyright (C) 1993, 1996, 1997, 1998, 1999, 2002, 2008, 2010
+   Copyright (C) 1993, 1996, 1997, 1998, 1999, 2002, 2008, 2010, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -51,14 +51,11 @@ struct utmpx32
 
 /* The internal interface needed by the compat wrapper functions.  */
 extern struct utmpx *__getutxent (void);
-extern struct utmpx *__getutxid (__const struct utmpx *__id);
-extern struct utmpx *__getutxline (__const struct utmpx *__line);
-extern struct utmpx *__pututxline (__const struct utmpx *__utmpx);
-extern void __updwtmpx (__const char *__wtmpx_file,
-			__const struct utmpx *__utmpx);
-extern void __getutmp (__const struct utmpx *__utmpx,
-		       struct utmp *__utmp);
-extern void __getutmpx (__const struct utmp *__utmp,
-			struct utmpx *__utmpx);
+extern struct utmpx *__getutxid (const struct utmpx *__id);
+extern struct utmpx *__getutxline (const struct utmpx *__line);
+extern struct utmpx *__pututxline (const struct utmpx *__utmpx);
+extern void __updwtmpx (const char *__wtmpx_file, const struct utmpx *__utmpx);
+extern void __getutmp (const struct utmpx *__utmpx, struct utmp *__utmp);
+extern void __getutmpx (const struct utmp *__utmp, struct utmpx *__utmpx);
 
 #endif /* utmpx32.h */
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/socket.h b/sysdeps/unix/sysv/linux/sparc/bits/socket.h
index 6cfbbd7d9b..0fb5a60152 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/socket.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/socket.h
@@ -1,5 +1,5 @@
 /* System-specific socket constants and types.  Linux/SPARC version.
-   Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009, 2011
+   Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007, 2008, 2009, 2011, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -430,7 +430,7 @@ __BEGIN_DECLS
    __THROW.  */
 extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
 		     unsigned int __vlen, int __flags,
-		     __const struct timespec *__tmo);
+		     const struct timespec *__tmo);
 
 __END_DECLS
 
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
index 3be801a932..bf7027e9b3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
@@ -1,7 +1,7 @@
 /* POSIX.1 sigaction call for Linux/SPARC.
-   Copyright (C) 1997-2000,2002,2003,2005 Free Software Foundation, Inc.
+   Copyright (C) 1997-2000,2002,2003,2005,2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Miguel de Icaza (miguel@nuclecu.unam.mx), 1997.
+   Contributed by Miguel de Icaza <miguel@nuclecu.unam.mx>, 1997.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -33,8 +33,7 @@ static void __sigreturn_stub (void);
 int __libc_missing_rt_sigs;
 
 int
-__libc_sigaction (int sig, __const struct sigaction *act,
-		  struct sigaction *oact)
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
 {
   struct old_kernel_sigaction k_sigact, k_osigact;
   int ret;
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
index b5e35f4e40..d556663dcb 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
@@ -1,8 +1,8 @@
 /* POSIX.1 sigaction call for Linux/SPARC64.
-   Copyright (C) 1997-2000,2002,2003,2005 Free Software Foundation, Inc.
+   Copyright (C) 1997-2000,2002,2003,2005,2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
-   Contributed by Miguel de Icaza (miguel@nuclecu.unam.mx) and
-		  Jakub Jelinek (jj@ultra.linux.cz).
+   Contributed by Miguel de Icaza <miguel@nuclecu.unam.mx> and
+		  Jakub Jelinek <jj@ultra.linux.cz>.
 
    The GNU C Library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
@@ -32,8 +32,7 @@
 static void __rt_sigreturn_stub (void);
 
 int
-__libc_sigaction (int sig, __const struct sigaction *act,
-		  struct sigaction *oact)
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
 {
   int ret;
   struct kernel_sigaction kact, koact;
diff --git a/sysdeps/unix/sysv/linux/sparc/sys/epoll.h b/sysdeps/unix/sysv/linux/sparc/sys/epoll.h
index 2dfc4fcc20..fdd531e1af 100644
--- a/sysdeps/unix/sysv/linux/sparc/sys/epoll.h
+++ b/sysdeps/unix/sysv/linux/sparc/sys/epoll.h
@@ -137,7 +137,7 @@ extern int epoll_wait (int __epfd, struct epoll_event *__events,
    __THROW.  */
 extern int epoll_pwait (int __epfd, struct epoll_event *__events,
 			int __maxevents, int __timeout,
-			__const __sigset_t *__ss);
+			const __sigset_t *__ss);
 
 __END_DECLS
 
diff --git a/sysdeps/unix/sysv/linux/sparc/sys/timerfd.h b/sysdeps/unix/sysv/linux/sparc/sys/timerfd.h
index 833d050fb8..0073f7f8ad 100644
--- a/sysdeps/unix/sysv/linux/sparc/sys/timerfd.h
+++ b/sysdeps/unix/sysv/linux/sparc/sys/timerfd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2012 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
@@ -49,7 +49,7 @@ extern int timerfd_create (clockid_t __clock_id, int __flags) __THROW;
    FLAGS has the TFD_TIMER_ABSTIME flag set the timeout value is
    absolute.  Optionally return the old expiration time in OTMR.  */
 extern int timerfd_settime (int __ufd, int __flags,
-			    __const struct itimerspec *__utmr,
+			    const struct itimerspec *__utmr,
 			    struct itimerspec *__otmr) __THROW;
 
 /* Return the next expiration time of UFD.  */
diff --git a/sysdeps/unix/sysv/linux/sys/acct.h b/sysdeps/unix/sysv/linux/sys/acct.h
index 47c63ebfb2..e2408de888 100644
--- a/sysdeps/unix/sysv/linux/sys/acct.h
+++ b/sysdeps/unix/sysv/linux/sys/acct.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1996-1999, 2007, 2012 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
@@ -102,7 +102,7 @@ enum
 
 
 /* Switch process accounting on and off.  */
-extern int acct (__const char *__filename) __THROW;
+extern int acct (const char *__filename) __THROW;
 
 __END_DECLS
 
diff --git a/sysdeps/unix/sysv/linux/sys/epoll.h b/sysdeps/unix/sysv/linux/sys/epoll.h
index f23db922e6..2294ee12ec 100644
--- a/sysdeps/unix/sysv/linux/sys/epoll.h
+++ b/sysdeps/unix/sysv/linux/sys/epoll.h
@@ -137,7 +137,7 @@ extern int epoll_wait (int __epfd, struct epoll_event *__events,
    __THROW.  */
 extern int epoll_pwait (int __epfd, struct epoll_event *__events,
 			int __maxevents, int __timeout,
-			__const __sigset_t *__ss);
+			const __sigset_t *__ss);
 
 __END_DECLS
 
diff --git a/sysdeps/unix/sysv/linux/sys/mount.h b/sysdeps/unix/sysv/linux/sys/mount.h
index 923b4616ca..831a62cf55 100644
--- a/sysdeps/unix/sysv/linux/sys/mount.h
+++ b/sysdeps/unix/sysv/linux/sys/mount.h
@@ -1,5 +1,5 @@
 /* Header file for mounting/unmount Linux filesystems.
-   Copyright (C) 1996-2000, 2004, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1996-2000, 2004, 2010, 2012 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
@@ -133,15 +133,15 @@ enum
 __BEGIN_DECLS
 
 /* Mount a filesystem.  */
-extern int mount (__const char *__special_file, __const char *__dir,
-		  __const char *__fstype, unsigned long int __rwflag,
-		  __const void *__data) __THROW;
+extern int mount (const char *__special_file, const char *__dir,
+		  const char *__fstype, unsigned long int __rwflag,
+		  const void *__data) __THROW;
 
 /* Unmount a filesystem.  */
-extern int umount (__const char *__special_file) __THROW;
+extern int umount (const char *__special_file) __THROW;
 
 /* Unmount a filesystem.  Force unmounting if FLAGS is set to MNT_FORCE.  */
-extern int umount2 (__const char *__special_file, int __flags) __THROW;
+extern int umount2 (const char *__special_file, int __flags) __THROW;
 
 __END_DECLS
 
diff --git a/sysdeps/unix/sysv/linux/sys/swap.h b/sysdeps/unix/sysv/linux/sys/swap.h
index 961006cbbe..1493d48a87 100644
--- a/sysdeps/unix/sysv/linux/sys/swap.h
+++ b/sysdeps/unix/sysv/linux/sys/swap.h
@@ -1,5 +1,5 @@
 /* Calls to enable and disable swapping on specified locations.  Linux version.
-   Copyright (C) 1996, 1998, 1999, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1998, 1999, 2010, 2012 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
@@ -34,10 +34,10 @@ __BEGIN_DECLS
 
 /* Make the block special device PATH available to the system for swapping.
    This call is restricted to the super-user.  */
-extern int swapon (__const char *__path, int __flags) __THROW;
+extern int swapon (const char *__path, int __flags) __THROW;
 
 /* Stop using block special device PATH for swapping.  */
-extern int swapoff (__const char *__path) __THROW;
+extern int swapoff (const char *__path) __THROW;
 
 __END_DECLS
 
diff --git a/sysdeps/unix/sysv/linux/sys/timerfd.h b/sysdeps/unix/sysv/linux/sys/timerfd.h
index c1bb06f5ff..a2cd2c26f3 100644
--- a/sysdeps/unix/sysv/linux/sys/timerfd.h
+++ b/sysdeps/unix/sysv/linux/sys/timerfd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2012 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
@@ -49,7 +49,7 @@ extern int timerfd_create (clockid_t __clock_id, int __flags) __THROW;
    FLAGS has the TFD_TIMER_ABSTIME flag set the timeout value is
    absolute.  Optionally return the old expiration time in OTMR.  */
 extern int timerfd_settime (int __ufd, int __flags,
-			    __const struct itimerspec *__utmr,
+			    const struct itimerspec *__utmr,
 			    struct itimerspec *__otmr) __THROW;
 
 /* Return the next expiration time of UFD.  */
diff --git a/sysdeps/unix/sysv/linux/x86_64/sys/epoll.h b/sysdeps/unix/sysv/linux/x86_64/sys/epoll.h
index 6b5ef35f4d..260afbe5a8 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sys/epoll.h
+++ b/sysdeps/unix/sysv/linux/x86_64/sys/epoll.h
@@ -137,7 +137,7 @@ extern int epoll_wait (int __epfd, struct epoll_event *__events,
    __THROW.  */
 extern int epoll_pwait (int __epfd, struct epoll_event *__events,
 			int __maxevents, int __timeout,
-			__const __sigset_t *__ss);
+			const __sigset_t *__ss);
 
 __END_DECLS
 
diff --git a/sysdeps/x86_64/fpu/bits/fenv.h b/sysdeps/x86_64/fpu/bits/fenv.h
index 8bc2450837..8142366b06 100644
--- a/sysdeps/x86_64/fpu/bits/fenv.h
+++ b/sysdeps/x86_64/fpu/bits/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2001,2004,2011 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2001,2004,2011,2012 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
@@ -89,11 +89,11 @@ typedef struct
 fenv_t;
 
 /* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((__const fenv_t *) -1)
+#define FE_DFL_ENV	((const fenv_t *) -1)
 
 #ifdef __USE_GNU
 /* Floating-point environment where none of the exception is masked.  */
-# define FE_NOMASK_ENV	((__const fenv_t *) -2)
+# define FE_NOMASK_ENV	((const fenv_t *) -2)
 #endif
 
 
diff --git a/sysdeps/x86_64/strcasecmp_l-nonascii.c b/sysdeps/x86_64/strcasecmp_l-nonascii.c
index 13b35de82d..30e8969603 100644
--- a/sysdeps/x86_64/strcasecmp_l-nonascii.c
+++ b/sysdeps/x86_64/strcasecmp_l-nonascii.c
@@ -1,6 +1,6 @@
 #include <string.h>
 
-extern int __strcasecmp_l_nonascii (__const char *__s1, __const char *__s2,
+extern int __strcasecmp_l_nonascii (const char *__s1, const char *__s2,
 				    __locale_t __loc);
 
 #define __strcasecmp_l __strcasecmp_l_nonascii
diff --git a/sysdeps/x86_64/strncase_l-nonascii.c b/sysdeps/x86_64/strncase_l-nonascii.c
index baabd318bf..8664863778 100644
--- a/sysdeps/x86_64/strncase_l-nonascii.c
+++ b/sysdeps/x86_64/strncase_l-nonascii.c
@@ -1,6 +1,6 @@
 #include <string.h>
 
-extern int __strncasecmp_l_nonascii (__const char *__s1, __const char *__s2,
+extern int __strncasecmp_l_nonascii (const char *__s1, const char *__s2,
 				     size_t __n, __locale_t __loc);
 
 #define __strncasecmp_l __strncasecmp_l_nonascii
diff --git a/sysvipc/sys/ipc.h b/sysvipc/sys/ipc.h
index 158c09eb6d..873a3e3e58 100644
--- a/sysvipc/sys/ipc.h
+++ b/sysvipc/sys/ipc.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1999,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1999,2002,2012 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
@@ -52,7 +52,7 @@ typedef __key_t key_t;
 __BEGIN_DECLS
 
 /* Generates key for System V style IPC.  */
-extern key_t ftok (__const char *__pathname, int __proj_id) __THROW;
+extern key_t ftok (const char *__pathname, int __proj_id) __THROW;
 
 __END_DECLS
 
diff --git a/sysvipc/sys/msg.h b/sysvipc/sys/msg.h
index cdc96be9b7..cb14d3a8ee 100644
--- a/sysvipc/sys/msg.h
+++ b/sysvipc/sys/msg.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1997,1999,2000,2003,2006,2007
+/* Copyright (C) 1995-1997,1999,2000,2003,2006,2007,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -77,7 +77,7 @@ extern ssize_t msgrcv (int __msqid, void *__msgp, size_t __msgsz,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int msgsnd (int __msqid, __const void *__msgp, size_t __msgsz,
+extern int msgsnd (int __msqid, const void *__msgp, size_t __msgsz,
 		   int __msgflg);
 
 __END_DECLS
diff --git a/sysvipc/sys/sem.h b/sysvipc/sys/sem.h
index 24a57fc32e..758c5b7b20 100644
--- a/sysvipc/sys/sem.h
+++ b/sysvipc/sys/sem.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2003, 2012 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
@@ -61,7 +61,7 @@ extern int semop (int __semid, struct sembuf *__sops, size_t __nsops) __THROW;
 #ifdef __USE_GNU
 /* Operate on semaphore with timeout.  */
 extern int semtimedop (int __semid, struct sembuf *__sops, size_t __nsops,
-		       __const struct timespec *__timeout) __THROW;
+		       const struct timespec *__timeout) __THROW;
 #endif
 
 __END_DECLS
diff --git a/sysvipc/sys/shm.h b/sysvipc/sys/shm.h
index 786ce752bd..ae3cfdd4a2 100644
--- a/sysvipc/sys/shm.h
+++ b/sysvipc/sys/shm.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2002, 2012 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
@@ -54,11 +54,11 @@ extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) __THROW;
 extern int shmget (key_t __key, size_t __size, int __shmflg) __THROW;
 
 /* Attach shared memory segment.  */
-extern void *shmat (int __shmid, __const void *__shmaddr, int __shmflg)
+extern void *shmat (int __shmid, const void *__shmaddr, int __shmflg)
      __THROW;
 
 /* Detach shared memory segment.  */
-extern int shmdt (__const void *__shmaddr) __THROW;
+extern int shmdt (const void *__shmaddr) __THROW;
 
 __END_DECLS
 
diff --git a/termios/termios.h b/termios/termios.h
index fdde6d3526..688491f5c7 100644
--- a/termios/termios.h
+++ b/termios/termios.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991-1994,1996-1999,2003,2010 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1994,1996-1999,2003,2010,2012
+   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
@@ -46,10 +47,10 @@ __BEGIN_DECLS
 #endif
 
 /* Return the output baud rate stored in *TERMIOS_P.  */
-extern speed_t cfgetospeed (__const struct termios *__termios_p) __THROW;
+extern speed_t cfgetospeed (const struct termios *__termios_p) __THROW;
 
 /* Return the input baud rate stored in *TERMIOS_P.  */
-extern speed_t cfgetispeed (__const struct termios *__termios_p) __THROW;
+extern speed_t cfgetispeed (const struct termios *__termios_p) __THROW;
 
 /* Set the output baud rate stored in *TERMIOS_P to SPEED.  */
 extern int cfsetospeed (struct termios *__termios_p, speed_t __speed) __THROW;
@@ -69,7 +70,7 @@ extern int tcgetattr (int __fd, struct termios *__termios_p) __THROW;
 /* Set the state of FD to *TERMIOS_P.
    Values for OPTIONAL_ACTIONS (TCSA*) are in <bits/termios.h>.  */
 extern int tcsetattr (int __fd, int __optional_actions,
-		      __const struct termios *__termios_p) __THROW;
+		      const struct termios *__termios_p) __THROW;
 
 
 #ifdef	__USE_BSD
diff --git a/time/sys/time.h b/time/sys/time.h
index 3aecf60b61..32c1998f97 100644
--- a/time/sys/time.h
+++ b/time/sys/time.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1994,1996-2003,2005,2006,2009
+/* Copyright (C) 1991-1994,1996-2003,2005,2006,2009,2012
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -41,12 +41,12 @@ __BEGIN_DECLS
 #ifdef __USE_GNU
 /* Macros for converting between `struct timeval' and `struct timespec'.  */
 # define TIMEVAL_TO_TIMESPEC(tv, ts) {                                   \
-        (ts)->tv_sec = (tv)->tv_sec;                                    \
-        (ts)->tv_nsec = (tv)->tv_usec * 1000;                           \
+	(ts)->tv_sec = (tv)->tv_sec;                                    \
+	(ts)->tv_nsec = (tv)->tv_usec * 1000;                           \
 }
 # define TIMESPEC_TO_TIMEVAL(tv, ts) {                                   \
-        (tv)->tv_sec = (ts)->tv_sec;                                    \
-        (tv)->tv_usec = (ts)->tv_nsec / 1000;                           \
+	(tv)->tv_sec = (ts)->tv_sec;                                    \
+	(tv)->tv_usec = (ts)->tv_nsec / 1000;                           \
 }
 #endif
 
@@ -76,15 +76,15 @@ extern int gettimeofday (struct timeval *__restrict __tv,
 #ifdef __USE_BSD
 /* Set the current time of day and timezone information.
    This call is restricted to the super-user.  */
-extern int settimeofday (__const struct timeval *__tv,
-			 __const struct timezone *__tz)
+extern int settimeofday (const struct timeval *__tv,
+			 const struct timezone *__tz)
      __THROW __nonnull ((1));
 
 /* Adjust the current time of day by the amount in DELTA.
    If OLDDELTA is not NULL, it is filled in with the amount
    of time adjustment remaining to be done from the last `adjtime' call.
    This call is restricted to the super-user.  */
-extern int adjtime (__const struct timeval *__delta,
+extern int adjtime (const struct timeval *__delta,
 		    struct timeval *__olddelta) __THROW;
 #endif
 
@@ -131,30 +131,30 @@ extern int getitimer (__itimer_which_t __which,
    set *OLD to the old value of timer WHICH.
    Returns 0 on success, -1 on errors.  */
 extern int setitimer (__itimer_which_t __which,
-		      __const struct itimerval *__restrict __new,
+		      const struct itimerval *__restrict __new,
 		      struct itimerval *__restrict __old) __THROW;
 
 /* Change the access time of FILE to TVP[0] and the modification time of
    FILE to TVP[1].  If TVP is a null pointer, use the current time instead.
    Returns 0 on success, -1 on errors.  */
-extern int utimes (__const char *__file, __const struct timeval __tvp[2])
+extern int utimes (const char *__file, const struct timeval __tvp[2])
      __THROW __nonnull ((1));
 
 #ifdef __USE_BSD
 /* Same as `utimes', but does not follow symbolic links.  */
-extern int lutimes (__const char *__file, __const struct timeval __tvp[2])
+extern int lutimes (const char *__file, const struct timeval __tvp[2])
      __THROW __nonnull ((1));
 
 /* Same as `utimes', but takes an open file descriptor instead of a name.  */
-extern int futimes (int __fd, __const struct timeval __tvp[2]) __THROW;
+extern int futimes (int __fd, const struct timeval __tvp[2]) __THROW;
 #endif
 
 #ifdef __USE_GNU
 /* Change the access time of FILE relative to FD to TVP[0] and the
    modification time of FILE to TVP[1].  If TVP is a null pointer, use
    the current time instead.  Returns 0 on success, -1 on errors.  */
-extern int futimesat (int __fd, __const char *__file,
-		      __const struct timeval __tvp[2]) __THROW;
+extern int futimesat (int __fd, const char *__file,
+		      const struct timeval __tvp[2]) __THROW;
 #endif
 
 
diff --git a/time/time.h b/time/time.h
index 5cb19db29d..ee86f7f9a8 100644
--- a/time/time.h
+++ b/time/time.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2003,2006,2009,2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2003,2006,2009,2011,2012 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
@@ -145,10 +145,10 @@ struct tm
 
 # ifdef	__USE_BSD
   long int tm_gmtoff;		/* Seconds east of UTC.  */
-  __const char *tm_zone;	/* Timezone abbreviation.  */
+  const char *tm_zone;		/* Timezone abbreviation.  */
 # else
   long int __tm_gmtoff;		/* Seconds east of UTC.  */
-  __const char *__tm_zone;	/* Timezone abbreviation.  */
+  const char *__tm_zone;	/* Timezone abbreviation.  */
 # endif
 };
 __END_NAMESPACE_STD
@@ -207,15 +207,15 @@ extern time_t mktime (struct tm *__tp) __THROW;
    Write no more than MAXSIZE characters and return the number
    of characters written, or 0 if it would exceed MAXSIZE.  */
 extern size_t strftime (char *__restrict __s, size_t __maxsize,
-			__const char *__restrict __format,
-			__const struct tm *__restrict __tp) __THROW;
+			const char *__restrict __format,
+			const struct tm *__restrict __tp) __THROW;
 __END_NAMESPACE_STD
 
 # ifdef __USE_XOPEN
 /* Parse S according to FORMAT and store binary time information in TP.
    The return value is a pointer to the first unparsed character in S.  */
-extern char *strptime (__const char *__restrict __s,
-		       __const char *__restrict __fmt, struct tm *__tp)
+extern char *strptime (const char *__restrict __s,
+		       const char *__restrict __fmt, struct tm *__tp)
      __THROW;
 # endif
 
@@ -225,14 +225,14 @@ extern char *strptime (__const char *__restrict __s,
 # include <xlocale.h>
 
 extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
-			  __const char *__restrict __format,
-			  __const struct tm *__restrict __tp,
+			  const char *__restrict __format,
+			  const struct tm *__restrict __tp,
 			  __locale_t __loc) __THROW;
 # endif
 
 # ifdef __USE_GNU
-extern char *strptime_l (__const char *__restrict __s,
-			 __const char *__restrict __fmt, struct tm *__tp,
+extern char *strptime_l (const char *__restrict __s,
+			 const char *__restrict __fmt, struct tm *__tp,
 			 __locale_t __loc) __THROW;
 # endif
 
@@ -240,32 +240,32 @@ extern char *strptime_l (__const char *__restrict __s,
 __BEGIN_NAMESPACE_STD
 /* Return the `struct tm' representation of *TIMER
    in Universal Coordinated Time (aka Greenwich Mean Time).  */
-extern struct tm *gmtime (__const time_t *__timer) __THROW;
+extern struct tm *gmtime (const time_t *__timer) __THROW;
 
 /* Return the `struct tm' representation
    of *TIMER in the local timezone.  */
-extern struct tm *localtime (__const time_t *__timer) __THROW;
+extern struct tm *localtime (const time_t *__timer) __THROW;
 __END_NAMESPACE_STD
 
 # if defined __USE_POSIX || defined __USE_MISC
 /* Return the `struct tm' representation of *TIMER in UTC,
    using *TP to store the result.  */
-extern struct tm *gmtime_r (__const time_t *__restrict __timer,
+extern struct tm *gmtime_r (const time_t *__restrict __timer,
 			    struct tm *__restrict __tp) __THROW;
 
 /* Return the `struct tm' representation of *TIMER in local time,
    using *TP to store the result.  */
-extern struct tm *localtime_r (__const time_t *__restrict __timer,
+extern struct tm *localtime_r (const time_t *__restrict __timer,
 			       struct tm *__restrict __tp) __THROW;
 # endif	/* POSIX or misc */
 
 __BEGIN_NAMESPACE_STD
 /* Return a string of the form "Day Mon dd hh:mm:ss yyyy\n"
    that is the representation of TP in this format.  */
-extern char *asctime (__const struct tm *__tp) __THROW;
+extern char *asctime (const struct tm *__tp) __THROW;
 
 /* Equivalent to `asctime (localtime (timer))'.  */
-extern char *ctime (__const time_t *__timer) __THROW;
+extern char *ctime (const time_t *__timer) __THROW;
 __END_NAMESPACE_STD
 
 # if defined __USE_POSIX || defined __USE_MISC
@@ -273,11 +273,11 @@ __END_NAMESPACE_STD
 
 /* Return in BUF a string of the form "Day Mon dd hh:mm:ss yyyy\n"
    that is the representation of TP in this format.  */
-extern char *asctime_r (__const struct tm *__restrict __tp,
+extern char *asctime_r (const struct tm *__restrict __tp,
 			char *__restrict __buf) __THROW;
 
 /* Equivalent to `asctime_r (localtime_r (timer, *TMP*), buf)'.  */
-extern char *ctime_r (__const time_t *__restrict __timer,
+extern char *ctime_r (const time_t *__restrict __timer,
 		      char *__restrict __buf) __THROW;
 # endif	/* POSIX or misc */
 
@@ -305,7 +305,7 @@ extern long int timezone;
 # ifdef __USE_SVID
 /* Set the system time to *WHEN.
    This call is restricted to the superuser.  */
-extern int stime (__const time_t *__when) __THROW;
+extern int stime (const time_t *__when) __THROW;
 # endif
 
 
@@ -335,7 +335,7 @@ extern int dysize (int __year) __THROW  __attribute__ ((__const__));
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
-extern int nanosleep (__const struct timespec *__requested_time,
+extern int nanosleep (const struct timespec *__requested_time,
 		      struct timespec *__remaining);
 
 
@@ -346,7 +346,7 @@ extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __THROW;
 extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __THROW;
 
 /* Set clock CLOCK_ID to value TP.  */
-extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
+extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
      __THROW;
 
 #  ifdef __USE_XOPEN2K
@@ -355,7 +355,7 @@ extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
    This function is a cancellation point and therefore not marked with
    __THROW.  */
 extern int clock_nanosleep (clockid_t __clock_id, int __flags,
-			    __const struct timespec *__req,
+			    const struct timespec *__req,
 			    struct timespec *__rem);
 
 /* Return clock ID for CPU-time clock.  */
@@ -380,7 +380,7 @@ extern int timer_delete (timer_t __timerid) __THROW;
 
 /* Set timer TIMERID to VALUE, returning old value in OVLAUE.  */
 extern int timer_settime (timer_t __timerid, int __flags,
-			  __const struct itimerspec *__restrict __value,
+			  const struct itimerspec *__restrict __value,
 			  struct itimerspec *__restrict __ovalue) __THROW;
 
 /* Get current value of timer TIMERID and store it in VLAUE.  */
@@ -413,7 +413,7 @@ extern int getdate_err;
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern struct tm *getdate (__const char *__string);
+extern struct tm *getdate (const char *__string);
 # endif
 
 # ifdef __USE_GNU
@@ -427,7 +427,7 @@ extern struct tm *getdate (__const char *__string);
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int getdate_r (__const char *__restrict __string,
+extern int getdate_r (const char *__restrict __string,
 		      struct tm *__restrict __resbufp);
 # endif
 
diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h
index c38eaa3549..fc3afffd83 100644
--- a/wcsmbs/bits/wchar2.h
+++ b/wcsmbs/bits/wchar2.h
@@ -1,5 +1,5 @@
 /* Checking macros for wchar functions.
-   Copyright (C) 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2010, 2012 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
@@ -23,21 +23,21 @@
 
 
 extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
-			       __const wchar_t *__restrict __s2, size_t __n,
+			       const wchar_t *__restrict __s2, size_t __n,
 			       size_t __ns1) __THROW;
 extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias,
 				(wchar_t *__restrict __s1,
-				 __const wchar_t *__restrict __s2, size_t __n),
+				 const wchar_t *__restrict __s2, size_t __n),
 				wmemcpy);
 extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn,
 				(wchar_t *__restrict __s1,
-				 __const wchar_t *__restrict __s2, size_t __n,
+				 const wchar_t *__restrict __s2, size_t __n,
 				 size_t __ns1), __wmemcpy_chk)
      __warnattr ("wmemcpy called with length bigger than size of destination "
 		 "buffer");
 
 __extern_always_inline wchar_t *
-__NTH (wmemcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
+__NTH (wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2,
 		size_t __n))
 {
   if (__bos0 (__s1) != (size_t) -1)
@@ -54,19 +54,19 @@ __NTH (wmemcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
 }
 
 
-extern wchar_t *__wmemmove_chk (wchar_t *__s1, __const wchar_t *__s2,
+extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
 				size_t __n, size_t __ns1) __THROW;
 extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1,
-						   __const wchar_t *__s2,
+						   const wchar_t *__s2,
 						   size_t __n), wmemmove);
 extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
-				(wchar_t *__s1, __const wchar_t *__s2,
+				(wchar_t *__s1, const wchar_t *__s2,
 				 size_t __n, size_t __ns1), __wmemmove_chk)
      __warnattr ("wmemmove called with length bigger than size of destination "
 		 "buffer");
 
 __extern_always_inline wchar_t *
-__NTH (wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n))
+__NTH (wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n))
 {
   if (__bos0 (__s1) != (size_t) -1)
     {
@@ -84,21 +84,21 @@ __NTH (wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n))
 
 #ifdef __USE_GNU
 extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
-				__const wchar_t *__restrict __s2, size_t __n,
+				const wchar_t *__restrict __s2, size_t __n,
 				size_t __ns1) __THROW;
 extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias,
 				(wchar_t *__restrict __s1,
-				 __const wchar_t *__restrict __s2,
+				 const wchar_t *__restrict __s2,
 				 size_t __n), wmempcpy);
 extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn,
 				(wchar_t *__restrict __s1,
-				 __const wchar_t *__restrict __s2, size_t __n,
+				 const wchar_t *__restrict __s2, size_t __n,
 				 size_t __ns1), __wmempcpy_chk)
      __warnattr ("wmempcpy called with length bigger than size of destination "
 		 "buffer");
 
 __extern_always_inline wchar_t *
-__NTH (wmempcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
+__NTH (wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2,
 		 size_t __n))
 {
   if (__bos0 (__s1) != (size_t) -1)
@@ -143,14 +143,14 @@ __NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
 
 
 extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
-			      __const wchar_t *__restrict __src,
+			      const wchar_t *__restrict __src,
 			      size_t __n) __THROW;
 extern wchar_t *__REDIRECT_NTH (__wcscpy_alias,
 				(wchar_t *__restrict __dest,
-				 __const wchar_t *__restrict __src), wcscpy);
+				 const wchar_t *__restrict __src), wcscpy);
 
 __extern_always_inline wchar_t *
-__NTH (wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
+__NTH (wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src))
 {
   if (__bos (__dest) != (size_t) -1)
     return __wcscpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -159,14 +159,14 @@ __NTH (wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
 
 
 extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
-			      __const wchar_t *__restrict __src,
+			      const wchar_t *__restrict __src,
 			      size_t __destlen) __THROW;
 extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias,
 				(wchar_t *__restrict __dest,
-				 __const wchar_t *__restrict __src), wcpcpy);
+				 const wchar_t *__restrict __src), wcpcpy);
 
 __extern_always_inline wchar_t *
-__NTH (wcpcpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
+__NTH (wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src))
 {
   if (__bos (__dest) != (size_t) -1)
     return __wcpcpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -175,21 +175,21 @@ __NTH (wcpcpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
 
 
 extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
-			       __const wchar_t *__restrict __src, size_t __n,
+			       const wchar_t *__restrict __src, size_t __n,
 			       size_t __destlen) __THROW;
 extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias,
 				(wchar_t *__restrict __dest,
-				 __const wchar_t *__restrict __src,
+				 const wchar_t *__restrict __src,
 				 size_t __n), wcsncpy);
 extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn,
 				(wchar_t *__restrict __dest,
-				 __const wchar_t *__restrict __src,
+				 const wchar_t *__restrict __src,
 				 size_t __n, size_t __destlen), __wcsncpy_chk)
      __warnattr ("wcsncpy called with length bigger than size of destination "
 		 "buffer");
 
 __extern_always_inline wchar_t *
-__NTH (wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+__NTH (wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src,
 		size_t __n))
 {
   if (__bos (__dest) != (size_t) -1)
@@ -206,21 +206,21 @@ __NTH (wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
 
 
 extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
-			       __const wchar_t *__restrict __src, size_t __n,
+			       const wchar_t *__restrict __src, size_t __n,
 			       size_t __destlen) __THROW;
 extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias,
 				(wchar_t *__restrict __dest,
-				 __const wchar_t *__restrict __src,
+				 const wchar_t *__restrict __src,
 				 size_t __n), wcpncpy);
 extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn,
 				(wchar_t *__restrict __dest,
-				 __const wchar_t *__restrict __src,
+				 const wchar_t *__restrict __src,
 				 size_t __n, size_t __destlen), __wcpncpy_chk)
      __warnattr ("wcpncpy called with length bigger than size of destination "
 		 "buffer");
 
 __extern_always_inline wchar_t *
-__NTH (wcpncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+__NTH (wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src,
 		size_t __n))
 {
   if (__bos (__dest) != (size_t) -1)
@@ -237,14 +237,14 @@ __NTH (wcpncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
 
 
 extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
-			      __const wchar_t *__restrict __src,
+			      const wchar_t *__restrict __src,
 			      size_t __destlen) __THROW;
 extern wchar_t *__REDIRECT_NTH (__wcscat_alias,
 				(wchar_t *__restrict __dest,
-				 __const wchar_t *__restrict __src), wcscat);
+				 const wchar_t *__restrict __src), wcscat);
 
 __extern_always_inline wchar_t *
-__NTH (wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
+__NTH (wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src))
 {
   if (__bos (__dest) != (size_t) -1)
     return __wcscat_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -253,15 +253,15 @@ __NTH (wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
 
 
 extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
-			       __const wchar_t *__restrict __src,
+			       const wchar_t *__restrict __src,
 			       size_t __n, size_t __destlen) __THROW;
 extern wchar_t *__REDIRECT_NTH (__wcsncat_alias,
 				(wchar_t *__restrict __dest,
-				 __const wchar_t *__restrict __src,
+				 const wchar_t *__restrict __src,
 				 size_t __n), wcsncat);
 
 __extern_always_inline wchar_t *
-__NTH (wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+__NTH (wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src,
 		size_t __n))
 {
   if (__bos (__dest) != (size_t) -1)
@@ -273,18 +273,18 @@ __NTH (wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
 
 extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
 			   int __flag, size_t __s_len,
-			   __const wchar_t *__restrict __format, ...)
+			   const wchar_t *__restrict __format, ...)
      __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */;
 
 extern int __REDIRECT_NTH_LDBL (__swprintf_alias,
 				(wchar_t *__restrict __s, size_t __n,
-				 __const wchar_t *__restrict __fmt, ...),
+				 const wchar_t *__restrict __fmt, ...),
 				swprintf);
 
 #ifdef __va_arg_pack
 __extern_always_inline int
 __NTH (swprintf (wchar_t *__restrict __s, size_t __n,
-		 __const wchar_t *__restrict __fmt, ...))
+		 const wchar_t *__restrict __fmt, ...))
 {
   if (__bos (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
     return __swprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
@@ -303,18 +303,18 @@ __NTH (swprintf (wchar_t *__restrict __s, size_t __n,
 
 extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
 			    int __flag, size_t __s_len,
-			    __const wchar_t *__restrict __format,
+			    const wchar_t *__restrict __format,
 			    __gnuc_va_list __arg)
      __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */;
 
 extern int __REDIRECT_NTH_LDBL (__vswprintf_alias,
 				(wchar_t *__restrict __s, size_t __n,
-				 __const wchar_t *__restrict __fmt,
+				 const wchar_t *__restrict __fmt,
 				 __gnuc_va_list __ap), vswprintf);
 
 __extern_always_inline int
 __NTH (vswprintf (wchar_t *__restrict __s, size_t __n,
-		  __const wchar_t *__restrict __fmt, __gnuc_va_list __ap))
+		  const wchar_t *__restrict __fmt, __gnuc_va_list __ap))
 {
   if (__bos (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
     return __vswprintf_chk (__s, __n,  __USE_FORTIFY_LEVEL - 1,
@@ -326,24 +326,24 @@ __NTH (vswprintf (wchar_t *__restrict __s, size_t __n,
 #if __USE_FORTIFY_LEVEL > 1
 
 extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
-			   __const wchar_t *__restrict __format, ...);
-extern int __wprintf_chk (int __flag, __const wchar_t *__restrict __format,
+			   const wchar_t *__restrict __format, ...);
+extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format,
 			  ...);
 extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
-			    __const wchar_t *__restrict __format,
+			    const wchar_t *__restrict __format,
 			    __gnuc_va_list __ap);
-extern int __vwprintf_chk (int __flag, __const wchar_t *__restrict __format,
+extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
 			   __gnuc_va_list __ap);
 
 # ifdef __va_arg_pack
 __extern_always_inline int
-wprintf (__const wchar_t *__restrict __fmt, ...)
+wprintf (const wchar_t *__restrict __fmt, ...)
 {
   return __wprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());
 }
 
 __extern_always_inline int
-fwprintf (__FILE *__restrict __stream, __const wchar_t *__restrict __fmt, ...)
+fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...)
 {
   return __fwprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt,
 			 __va_arg_pack ());
@@ -356,14 +356,14 @@ fwprintf (__FILE *__restrict __stream, __const wchar_t *__restrict __fmt, ...)
 # endif
 
 __extern_always_inline int
-vwprintf (__const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
+vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
 {
   return __vwprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __ap);
 }
 
 __extern_always_inline int
 vfwprintf (__FILE *__restrict __stream,
-	   __const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
+	   const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
 {
   return __vfwprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
 }
@@ -455,24 +455,24 @@ __NTH (wcrtomb (char *__restrict __s, wchar_t __wchar,
 
 
 extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst,
-			       __const char **__restrict __src,
+			       const char **__restrict __src,
 			       size_t __len, mbstate_t *__restrict __ps,
 			       size_t __dstlen) __THROW;
 extern size_t __REDIRECT_NTH (__mbsrtowcs_alias,
 			      (wchar_t *__restrict __dst,
-			       __const char **__restrict __src,
+			       const char **__restrict __src,
 			       size_t __len, mbstate_t *__restrict __ps),
 			      mbsrtowcs);
 extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn,
 			      (wchar_t *__restrict __dst,
-			       __const char **__restrict __src,
+			       const char **__restrict __src,
 			       size_t __len, mbstate_t *__restrict __ps,
 			       size_t __dstlen), __mbsrtowcs_chk)
      __warnattr ("mbsrtowcs called with dst buffer smaller than len "
 		 "* sizeof (wchar_t)");
 
 __extern_always_inline size_t
-__NTH (mbsrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src,
+__NTH (mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src,
 		  size_t __len, mbstate_t *__restrict __ps))
 {
   if (__bos (__dst) != (size_t) -1)
@@ -490,23 +490,23 @@ __NTH (mbsrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src,
 
 
 extern size_t __wcsrtombs_chk (char *__restrict __dst,
-			       __const wchar_t **__restrict __src,
+			       const wchar_t **__restrict __src,
 			       size_t __len, mbstate_t *__restrict __ps,
 			       size_t __dstlen) __THROW;
 extern size_t __REDIRECT_NTH (__wcsrtombs_alias,
 			      (char *__restrict __dst,
-			       __const wchar_t **__restrict __src,
+			       const wchar_t **__restrict __src,
 			       size_t __len, mbstate_t *__restrict __ps),
 			      wcsrtombs);
 extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn,
 			      (char *__restrict __dst,
-			       __const wchar_t **__restrict __src,
+			       const wchar_t **__restrict __src,
 			       size_t __len, mbstate_t *__restrict __ps,
 			       size_t __dstlen), __wcsrtombs_chk)
     __warnattr ("wcsrtombs called with dst buffer smaller than len");
 
 __extern_always_inline size_t
-__NTH (wcsrtombs (char *__restrict __dst, __const wchar_t **__restrict __src,
+__NTH (wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src,
 		  size_t __len, mbstate_t *__restrict __ps))
 {
   if (__bos (__dst) != (size_t) -1)
@@ -523,24 +523,24 @@ __NTH (wcsrtombs (char *__restrict __dst, __const wchar_t **__restrict __src,
 
 #ifdef __USE_GNU
 extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
-				__const char **__restrict __src, size_t __nmc,
+				const char **__restrict __src, size_t __nmc,
 				size_t __len, mbstate_t *__restrict __ps,
 				size_t __dstlen) __THROW;
 extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias,
 			      (wchar_t *__restrict __dst,
-			       __const char **__restrict __src, size_t __nmc,
+			       const char **__restrict __src, size_t __nmc,
 			       size_t __len, mbstate_t *__restrict __ps),
 			      mbsnrtowcs);
 extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn,
 			      (wchar_t *__restrict __dst,
-			       __const char **__restrict __src, size_t __nmc,
+			       const char **__restrict __src, size_t __nmc,
 			       size_t __len, mbstate_t *__restrict __ps,
 			       size_t __dstlen), __mbsnrtowcs_chk)
      __warnattr ("mbsnrtowcs called with dst buffer smaller than len "
 		 "* sizeof (wchar_t)");
 
 __extern_always_inline size_t
-__NTH (mbsnrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src,
+__NTH (mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src,
 		   size_t __nmc, size_t __len, mbstate_t *__restrict __ps))
 {
   if (__bos (__dst) != (size_t) -1)
@@ -558,25 +558,25 @@ __NTH (mbsnrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src,
 
 
 extern size_t __wcsnrtombs_chk (char *__restrict __dst,
-				__const wchar_t **__restrict __src,
+				const wchar_t **__restrict __src,
 				size_t __nwc, size_t __len,
 				mbstate_t *__restrict __ps, size_t __dstlen)
      __THROW;
 extern size_t __REDIRECT_NTH (__wcsnrtombs_alias,
 			      (char *__restrict __dst,
-			       __const wchar_t **__restrict __src,
+			       const wchar_t **__restrict __src,
 			       size_t __nwc, size_t __len,
 			       mbstate_t *__restrict __ps), wcsnrtombs);
 extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn,
 			      (char *__restrict __dst,
-			       __const wchar_t **__restrict __src,
+			       const wchar_t **__restrict __src,
 			       size_t __nwc, size_t __len,
 			       mbstate_t *__restrict __ps,
 			       size_t __dstlen), __wcsnrtombs_chk)
      __warnattr ("wcsnrtombs called with dst buffer smaller than len");
 
 __extern_always_inline size_t
-__NTH (wcsnrtombs (char *__restrict __dst, __const wchar_t **__restrict __src,
+__NTH (wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src,
 		   size_t __nwc, size_t __len, mbstate_t *__restrict __ps))
 {
   if (__bos (__dst) != (size_t) -1)
diff --git a/wcsmbs/uchar.h b/wcsmbs/uchar.h
index 706b9a243d..ba36ef9bbc 100644
--- a/wcsmbs/uchar.h
+++ b/wcsmbs/uchar.h
@@ -60,7 +60,7 @@ __BEGIN_DECLS
 /* Write char16_t representation of multibyte character pointed
    to by S to PC16.  */
 extern size_t mbrtoc16 (char16_t *__restrict __pc16,
-			__const char *__restrict __s, size_t __n,
+			const char *__restrict __s, size_t __n,
 			mbstate_t *__restrict __p) __THROW;
 
 /* Write multibyte representation of char16_t C16 to S.  */
@@ -72,7 +72,7 @@ extern size_t c16rtomb (char *__restrict __s, char16_t __c16,
 /* Write char32_t representation of multibyte character pointed
    to by S to PC32.  */
 extern size_t mbrtoc32 (char32_t *__restrict __pc32,
-			__const char *__restrict __s, size_t __n,
+			const char *__restrict __s, size_t __n,
 			mbstate_t *__restrict __p) __THROW;
 
 /* Write multibyte representation of char32_t C32 to S.  */
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index ccaaed8f49..1a81d23da1 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2008, 2009, 2010, 2011, 2012 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
@@ -146,56 +146,56 @@ __USING_NAMESPACE_STD(tm)
 __BEGIN_NAMESPACE_STD
 /* Copy SRC to DEST.  */
 extern wchar_t *wcscpy (wchar_t *__restrict __dest,
-			__const wchar_t *__restrict __src) __THROW;
+			const wchar_t *__restrict __src) __THROW;
 /* Copy no more than N wide-characters of SRC to DEST.  */
 extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
-			 __const wchar_t *__restrict __src, size_t __n)
+			 const wchar_t *__restrict __src, size_t __n)
      __THROW;
 
 /* Append SRC onto DEST.  */
 extern wchar_t *wcscat (wchar_t *__restrict __dest,
-			__const wchar_t *__restrict __src) __THROW;
+			const wchar_t *__restrict __src) __THROW;
 /* Append no more than N wide-characters of SRC onto DEST.  */
 extern wchar_t *wcsncat (wchar_t *__restrict __dest,
-			 __const wchar_t *__restrict __src, size_t __n)
+			 const wchar_t *__restrict __src, size_t __n)
      __THROW;
 
 /* Compare S1 and S2.  */
-extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2)
+extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
      __THROW __attribute_pure__;
 /* Compare N wide-characters of S1 and S2.  */
-extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
+extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
      __THROW __attribute_pure__;
 __END_NAMESPACE_STD
 
 #ifdef __USE_XOPEN2K8
 /* Compare S1 and S2, ignoring case.  */
-extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) __THROW;
+extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) __THROW;
 
 /* Compare no more than N chars of S1 and S2, ignoring case.  */
-extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
+extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
 			size_t __n) __THROW;
 
 /* Similar to the two functions above but take the information from
    the provided locale and not the global locale.  */
 # include <xlocale.h>
 
-extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
+extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
 			 __locale_t __loc) __THROW;
 
-extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
+extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
 			  size_t __n, __locale_t __loc) __THROW;
 #endif
 
 __BEGIN_NAMESPACE_STD
 /* Compare S1 and S2, both interpreted as appropriate to the
    LC_COLLATE category of the current locale.  */
-extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) __THROW;
+extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) __THROW;
 /* Transform S2 into array pointed to by S1 such that if wcscmp is
    applied to two transformed strings the result is the as applying
    `wcscoll' to the original strings.  */
 extern size_t wcsxfrm (wchar_t *__restrict __s1,
-		       __const wchar_t *__restrict __s2, size_t __n) __THROW;
+		       const wchar_t *__restrict __s2, size_t __n) __THROW;
 __END_NAMESPACE_STD
 
 #ifdef __USE_XOPEN2K8
@@ -204,17 +204,17 @@ __END_NAMESPACE_STD
 
 /* Compare S1 and S2, both interpreted as appropriate to the
    LC_COLLATE category of the given locale.  */
-extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
+extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
 		      __locale_t __loc) __THROW;
 
 /* Transform S2 into array pointed to by S1 such that if wcscmp is
    applied to two transformed strings the result is the as applying
    `wcscoll' to the original strings.  */
-extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
+extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
 			 size_t __n, __locale_t __loc) __THROW;
 
 /* Duplicate S, returning an identical malloc'd string.  */
-extern wchar_t *wcsdup (__const wchar_t *__s) __THROW __attribute_malloc__;
+extern wchar_t *wcsdup (const wchar_t *__s) __THROW __attribute_malloc__;
 #endif
 
 __BEGIN_NAMESPACE_STD
@@ -222,20 +222,20 @@ __BEGIN_NAMESPACE_STD
 #ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
 extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
      __THROW __asm ("wcschr") __attribute_pure__;
-extern "C++" __const wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
+extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
      __THROW __asm ("wcschr") __attribute_pure__;
 #else
-extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
+extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
      __THROW __attribute_pure__;
 #endif
 /* Find the last occurrence of WC in WCS.  */
 #ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
 extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
      __THROW __asm ("wcsrchr") __attribute_pure__;
-extern "C++" __const wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
+extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
      __THROW __asm ("wcsrchr") __attribute_pure__;
 #else
-extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
+extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
      __THROW __attribute_pure__;
 #endif
 __END_NAMESPACE_STD
@@ -243,68 +243,68 @@ __END_NAMESPACE_STD
 #ifdef __USE_GNU
 /* This function is similar to `wcschr'.  But it returns a pointer to
    the closing NUL wide character in case C is not found in S.  */
-extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc)
+extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
      __THROW __attribute_pure__;
 #endif
 
 __BEGIN_NAMESPACE_STD
 /* Return the length of the initial segmet of WCS which
    consists entirely of wide characters not in REJECT.  */
-extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject)
+extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
      __THROW __attribute_pure__;
 /* Return the length of the initial segmet of WCS which
    consists entirely of wide characters in  ACCEPT.  */
-extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept)
+extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
      __THROW __attribute_pure__;
 /* Find the first occurrence in WCS of any character in ACCEPT.  */
 #ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
-extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, __const wchar_t *__accept)
+extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
      __THROW __asm ("wcspbrk") __attribute_pure__;
-extern "C++" __const wchar_t *wcspbrk (__const wchar_t *__wcs,
-				       __const wchar_t *__accept)
+extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
+				     const wchar_t *__accept)
      __THROW __asm ("wcspbrk") __attribute_pure__;
 #else
-extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept)
+extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept)
      __THROW __attribute_pure__;
 #endif
 /* Find the first occurrence of NEEDLE in HAYSTACK.  */
 #ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
-extern "C++" wchar_t *wcsstr (wchar_t *__haystack, __const wchar_t *__needle)
+extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
      __THROW __asm ("wcsstr") __attribute_pure__;
-extern "C++" __const wchar_t *wcsstr (__const wchar_t *__haystack,
-				      __const wchar_t *__needle)
+extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
+				    const wchar_t *__needle)
      __THROW __asm ("wcsstr") __attribute_pure__;
 #else
-extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle)
+extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle)
      __THROW __attribute_pure__;
 #endif
 
 /* Divide WCS into tokens separated by characters in DELIM.  */
 extern wchar_t *wcstok (wchar_t *__restrict __s,
-			__const wchar_t *__restrict __delim,
+			const wchar_t *__restrict __delim,
 			wchar_t **__restrict __ptr) __THROW;
 
 /* Return the number of wide characters in S.  */
-extern size_t wcslen (__const wchar_t *__s) __THROW __attribute_pure__;
+extern size_t wcslen (const wchar_t *__s) __THROW __attribute_pure__;
 __END_NAMESPACE_STD
 
 #ifdef __USE_XOPEN
 /* Another name for `wcsstr' from XPG4.  */
 # ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
-extern "C++" wchar_t *wcswcs (wchar_t *__haystack, __const wchar_t *__needle)
+extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
      __THROW __asm ("wcswcs") __attribute_pure__;
-extern "C++" __const wchar_t *wcswcs (__const wchar_t *__haystack,
-				      __const wchar_t *__needle)
+extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
+				    const wchar_t *__needle)
      __THROW __asm ("wcswcs") __attribute_pure__;
 # else
-extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle)
+extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle)
      __THROW __attribute_pure__;
 # endif
 #endif
 
 #ifdef __USE_XOPEN2K8
 /* Return the number of wide characters in S, but at most MAXLEN.  */
-extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen)
+extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
      __THROW __attribute_pure__;
 #endif
 
@@ -314,25 +314,25 @@ __BEGIN_NAMESPACE_STD
 #ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
 extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
      __THROW __asm ("wmemchr") __attribute_pure__;
-extern "C++" __const wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c,
-				       size_t __n)
+extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
+				     size_t __n)
      __THROW __asm ("wmemchr") __attribute_pure__;
 #else
-extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n)
+extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n)
      __THROW __attribute_pure__;
 #endif
 
 /* Compare N wide characters of S1 and S2.  */
-extern int wmemcmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
+extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
      __THROW __attribute_pure__;
 
 /* Copy N wide characters of SRC to DEST.  */
 extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
-			 __const wchar_t *__restrict __s2, size_t __n) __THROW;
+			 const wchar_t *__restrict __s2, size_t __n) __THROW;
 
 /* Copy N wide characters of SRC to DEST, guaranteeing
    correct behavior for overlapping strings.  */
-extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n)
+extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
      __THROW;
 
 /* Set N wide characters of S to C.  */
@@ -343,7 +343,7 @@ __END_NAMESPACE_STD
 /* Copy N wide characters of SRC to DEST and return pointer to following
    wide character.  */
 extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
-			  __const wchar_t *__restrict __s2, size_t __n)
+			  const wchar_t *__restrict __s2, size_t __n)
      __THROW;
 #endif
 
@@ -359,12 +359,12 @@ extern int wctob (wint_t __c) __THROW;
 
 /* Determine whether PS points to an object representing the initial
    state.  */
-extern int mbsinit (__const mbstate_t *__ps) __THROW __attribute_pure__;
+extern int mbsinit (const mbstate_t *__ps) __THROW __attribute_pure__;
 
 /* Write wide character representation of multibyte character pointed
    to by S to PWC.  */
 extern size_t mbrtowc (wchar_t *__restrict __pwc,
-		       __const char *__restrict __s, size_t __n,
+		       const char *__restrict __s, size_t __n,
 		       mbstate_t *__restrict __p) __THROW;
 
 /* Write multibyte representation of wide character WC to S.  */
@@ -372,9 +372,9 @@ extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
 		       mbstate_t *__restrict __ps) __THROW;
 
 /* Return number of bytes in multibyte character pointed to by S.  */
-extern size_t __mbrlen (__const char *__restrict __s, size_t __n,
+extern size_t __mbrlen (const char *__restrict __s, size_t __n,
 			mbstate_t *__restrict __ps) __THROW;
-extern size_t mbrlen (__const char *__restrict __s, size_t __n,
+extern size_t mbrlen (const char *__restrict __s, size_t __n,
 		      mbstate_t *__restrict __ps) __THROW;
 __END_NAMESPACE_STD
 
@@ -397,7 +397,7 @@ __NTH (wctob (wint_t __wc))
 	  ? (int) __wc : __wctob_alias (__wc)); }
 
 __extern_inline size_t
-__NTH (mbrlen (__const char *__restrict __s, size_t __n,
+__NTH (mbrlen (const char *__restrict __s, size_t __n,
 	       mbstate_t *__restrict __ps))
 { return (__ps != NULL
 	  ? mbrtowc (NULL, __s, __n, __ps) : __mbrlen (__s, __n, NULL)); }
@@ -407,13 +407,13 @@ __BEGIN_NAMESPACE_STD
 /* Write wide character representation of multibyte character string
    SRC to DST.  */
 extern size_t mbsrtowcs (wchar_t *__restrict __dst,
-			 __const char **__restrict __src, size_t __len,
+			 const char **__restrict __src, size_t __len,
 			 mbstate_t *__restrict __ps) __THROW;
 
 /* Write multibyte character representation of wide character string
    SRC to DST.  */
 extern size_t wcsrtombs (char *__restrict __dst,
-			 __const wchar_t **__restrict __src, size_t __len,
+			 const wchar_t **__restrict __src, size_t __len,
 			 mbstate_t *__restrict __ps) __THROW;
 __END_NAMESPACE_STD
 
@@ -422,13 +422,13 @@ __END_NAMESPACE_STD
 /* Write wide character representation of at most NMC bytes of the
    multibyte character string SRC to DST.  */
 extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
-			  __const char **__restrict __src, size_t __nmc,
+			  const char **__restrict __src, size_t __nmc,
 			  size_t __len, mbstate_t *__restrict __ps) __THROW;
 
 /* Write multibyte character representation of at most NWC characters
    from the wide character string SRC to DST.  */
 extern size_t wcsnrtombs (char *__restrict __dst,
-			  __const wchar_t **__restrict __src,
+			  const wchar_t **__restrict __src,
 			  size_t __nwc, size_t __len,
 			  mbstate_t *__restrict __ps) __THROW;
 #endif	/* use POSIX 2008 */
@@ -441,23 +441,23 @@ extern int wcwidth (wchar_t __c) __THROW;
 
 /* Determine number of column positions required for first N wide
    characters (or fewer if S ends before this) in S.  */
-extern int wcswidth (__const wchar_t *__s, size_t __n) __THROW;
+extern int wcswidth (const wchar_t *__s, size_t __n) __THROW;
 #endif	/* Use X/Open.  */
 
 
 __BEGIN_NAMESPACE_STD
 /* Convert initial portion of the wide string NPTR to `double'
    representation.  */
-extern double wcstod (__const wchar_t *__restrict __nptr,
+extern double wcstod (const wchar_t *__restrict __nptr,
 		      wchar_t **__restrict __endptr) __THROW;
 __END_NAMESPACE_STD
 
 #ifdef __USE_ISOC99
 __BEGIN_NAMESPACE_C99
 /* Likewise for `float' and `long double' sizes of floating-point numbers.  */
-extern float wcstof (__const wchar_t *__restrict __nptr,
+extern float wcstof (const wchar_t *__restrict __nptr,
 		     wchar_t **__restrict __endptr) __THROW;
-extern long double wcstold (__const wchar_t *__restrict __nptr,
+extern long double wcstold (const wchar_t *__restrict __nptr,
 			    wchar_t **__restrict __endptr) __THROW;
 __END_NAMESPACE_C99
 #endif /* C99 */
@@ -466,12 +466,12 @@ __END_NAMESPACE_C99
 __BEGIN_NAMESPACE_STD
 /* Convert initial portion of wide string NPTR to `long int'
    representation.  */
-extern long int wcstol (__const wchar_t *__restrict __nptr,
+extern long int wcstol (const wchar_t *__restrict __nptr,
 			wchar_t **__restrict __endptr, int __base) __THROW;
 
 /* Convert initial portion of wide string NPTR to `unsigned long int'
    representation.  */
-extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
+extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
 				  wchar_t **__restrict __endptr, int __base)
      __THROW;
 __END_NAMESPACE_STD
@@ -481,14 +481,14 @@ __BEGIN_NAMESPACE_C99
 /* Convert initial portion of wide string NPTR to `long long int'
    representation.  */
 __extension__
-extern long long int wcstoll (__const wchar_t *__restrict __nptr,
+extern long long int wcstoll (const wchar_t *__restrict __nptr,
 			      wchar_t **__restrict __endptr, int __base)
      __THROW;
 
 /* Convert initial portion of wide string NPTR to `unsigned long long int'
    representation.  */
 __extension__
-extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
+extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
 					wchar_t **__restrict __endptr,
 					int __base) __THROW;
 __END_NAMESPACE_C99
@@ -498,14 +498,14 @@ __END_NAMESPACE_C99
 /* Convert initial portion of wide string NPTR to `long long int'
    representation.  */
 __extension__
-extern long long int wcstoq (__const wchar_t *__restrict __nptr,
+extern long long int wcstoq (const wchar_t *__restrict __nptr,
 			     wchar_t **__restrict __endptr, int __base)
      __THROW;
 
 /* Convert initial portion of wide string NPTR to `unsigned long long int'
    representation.  */
 __extension__
-extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr,
+extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
 				       wchar_t **__restrict __endptr,
 				       int __base) __THROW;
 #endif /* GCC and use GNU.  */
@@ -528,34 +528,34 @@ extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr,
 
 /* Special versions of the functions above which take the locale to
    use as an additional parameter.  */
-extern long int wcstol_l (__const wchar_t *__restrict __nptr,
+extern long int wcstol_l (const wchar_t *__restrict __nptr,
 			  wchar_t **__restrict __endptr, int __base,
 			  __locale_t __loc) __THROW;
 
-extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr,
+extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
 				    wchar_t **__restrict __endptr,
 				    int __base, __locale_t __loc) __THROW;
 
 __extension__
-extern long long int wcstoll_l (__const wchar_t *__restrict __nptr,
+extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
 				wchar_t **__restrict __endptr,
 				int __base, __locale_t __loc) __THROW;
 
 __extension__
-extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr,
+extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
 					  wchar_t **__restrict __endptr,
 					  int __base, __locale_t __loc)
      __THROW;
 
-extern double wcstod_l (__const wchar_t *__restrict __nptr,
+extern double wcstod_l (const wchar_t *__restrict __nptr,
 			wchar_t **__restrict __endptr, __locale_t __loc)
      __THROW;
 
-extern float wcstof_l (__const wchar_t *__restrict __nptr,
+extern float wcstof_l (const wchar_t *__restrict __nptr,
 		       wchar_t **__restrict __endptr, __locale_t __loc)
      __THROW;
 
-extern long double wcstold_l (__const wchar_t *__restrict __nptr,
+extern long double wcstold_l (const wchar_t *__restrict __nptr,
 			      wchar_t **__restrict __endptr,
 			      __locale_t __loc) __THROW;
 #endif	/* use GNU */
@@ -565,12 +565,12 @@ extern long double wcstold_l (__const wchar_t *__restrict __nptr,
 /* Copy SRC to DEST, returning the address of the terminating L'\0' in
    DEST.  */
 extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
-			__const wchar_t *__restrict __src) __THROW;
+			const wchar_t *__restrict __src) __THROW;
 
 /* Copy no more than N characters of SRC to DEST, returning the address of
    the last character written into DEST.  */
 extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
-			 __const wchar_t *__restrict __src, size_t __n)
+			 const wchar_t *__restrict __src, size_t __n)
      __THROW;
 
 
@@ -593,17 +593,17 @@ extern int fwide (__FILE *__fp, int __mode) __THROW;
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
 extern int fwprintf (__FILE *__restrict __stream,
-		     __const wchar_t *__restrict __format, ...)
+		     const wchar_t *__restrict __format, ...)
      /* __attribute__ ((__format__ (__wprintf__, 2, 3))) */;
 /* Write formatted output to stdout.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int wprintf (__const wchar_t *__restrict __format, ...)
+extern int wprintf (const wchar_t *__restrict __format, ...)
      /* __attribute__ ((__format__ (__wprintf__, 1, 2))) */;
 /* Write formatted output of at most N characters to S.  */
 extern int swprintf (wchar_t *__restrict __s, size_t __n,
-		     __const wchar_t *__restrict __format, ...)
+		     const wchar_t *__restrict __format, ...)
      __THROW /* __attribute__ ((__format__ (__wprintf__, 3, 4))) */;
 
 /* Write formatted output to S from argument list ARG.
@@ -611,20 +611,20 @@ extern int swprintf (wchar_t *__restrict __s, size_t __n,
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
 extern int vfwprintf (__FILE *__restrict __s,
-		      __const wchar_t *__restrict __format,
+		      const wchar_t *__restrict __format,
 		      __gnuc_va_list __arg)
      /* __attribute__ ((__format__ (__wprintf__, 2, 0))) */;
 /* Write formatted output to stdout from argument list ARG.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int vwprintf (__const wchar_t *__restrict __format,
+extern int vwprintf (const wchar_t *__restrict __format,
 		     __gnuc_va_list __arg)
      /* __attribute__ ((__format__ (__wprintf__, 1, 0))) */;
 /* Write formatted output of at most N character to S from argument
    list ARG.  */
 extern int vswprintf (wchar_t *__restrict __s, size_t __n,
-		      __const wchar_t *__restrict __format,
+		      const wchar_t *__restrict __format,
 		      __gnuc_va_list __arg)
      __THROW /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
 
@@ -634,17 +634,17 @@ extern int vswprintf (wchar_t *__restrict __s, size_t __n,
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
 extern int fwscanf (__FILE *__restrict __stream,
-		    __const wchar_t *__restrict __format, ...)
+		    const wchar_t *__restrict __format, ...)
      /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
 /* Read formatted input from stdin.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int wscanf (__const wchar_t *__restrict __format, ...)
+extern int wscanf (const wchar_t *__restrict __format, ...)
      /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */;
 /* Read formatted input from S.  */
-extern int swscanf (__const wchar_t *__restrict __s,
-		    __const wchar_t *__restrict __format, ...)
+extern int swscanf (const wchar_t *__restrict __s,
+		    const wchar_t *__restrict __format, ...)
      __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
 
 # if defined __USE_ISOC99 && !defined __USE_GNU \
@@ -655,22 +655,22 @@ extern int swscanf (__const wchar_t *__restrict __s,
    GNU extension which conflicts with valid %a followed by letter
    s, S or [.  */
 extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,
-				 __const wchar_t *__restrict __format, ...),
+				 const wchar_t *__restrict __format, ...),
 		       __isoc99_fwscanf)
      /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
-extern int __REDIRECT (wscanf, (__const wchar_t *__restrict __format, ...),
+extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...),
 		       __isoc99_wscanf)
      /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */;
-extern int __REDIRECT_NTH (swscanf, (__const wchar_t *__restrict __s,
-				     __const wchar_t *__restrict __format,
+extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s,
+				     const wchar_t *__restrict __format,
 				     ...), __isoc99_swscanf)
      /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
 #  else
 extern int __isoc99_fwscanf (__FILE *__restrict __stream,
-			     __const wchar_t *__restrict __format, ...);
-extern int __isoc99_wscanf (__const wchar_t *__restrict __format, ...);
-extern int __isoc99_swscanf (__const wchar_t *__restrict __s,
-			     __const wchar_t *__restrict __format, ...)
+			     const wchar_t *__restrict __format, ...);
+extern int __isoc99_wscanf (const wchar_t *__restrict __format, ...);
+extern int __isoc99_swscanf (const wchar_t *__restrict __s,
+			     const wchar_t *__restrict __format, ...)
      __THROW;
 #   define fwscanf __isoc99_fwscanf
 #   define wscanf __isoc99_wscanf
@@ -688,19 +688,19 @@ __BEGIN_NAMESPACE_C99
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
 extern int vfwscanf (__FILE *__restrict __s,
-		     __const wchar_t *__restrict __format,
+		     const wchar_t *__restrict __format,
 		     __gnuc_va_list __arg)
      /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
 /* Read formatted input from stdin into argument list ARG.
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int vwscanf (__const wchar_t *__restrict __format,
+extern int vwscanf (const wchar_t *__restrict __format,
 		    __gnuc_va_list __arg)
      /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */;
 /* Read formatted input from S into argument list ARG.  */
-extern int vswscanf (__const wchar_t *__restrict __s,
-		     __const wchar_t *__restrict __format,
+extern int vswscanf (const wchar_t *__restrict __s,
+		     const wchar_t *__restrict __format,
 		     __gnuc_va_list __arg)
      __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
 
@@ -709,24 +709,24 @@ extern int vswscanf (__const wchar_t *__restrict __s,
      && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
 #  ifdef __REDIRECT
 extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,
-				  __const wchar_t *__restrict __format,
+				  const wchar_t *__restrict __format,
 				  __gnuc_va_list __arg), __isoc99_vfwscanf)
      /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
-extern int __REDIRECT (vwscanf, (__const wchar_t *__restrict __format,
+extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format,
 				 __gnuc_va_list __arg), __isoc99_vwscanf)
      /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */;
-extern int __REDIRECT_NTH (vswscanf, (__const wchar_t *__restrict __s,
-				      __const wchar_t *__restrict __format,
+extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s,
+				      const wchar_t *__restrict __format,
 				      __gnuc_va_list __arg), __isoc99_vswscanf)
      /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
 #  else
 extern int __isoc99_vfwscanf (__FILE *__restrict __s,
-			      __const wchar_t *__restrict __format,
+			      const wchar_t *__restrict __format,
 			      __gnuc_va_list __arg);
-extern int __isoc99_vwscanf (__const wchar_t *__restrict __format,
+extern int __isoc99_vwscanf (const wchar_t *__restrict __format,
 			     __gnuc_va_list __arg);
-extern int __isoc99_vswscanf (__const wchar_t *__restrict __s,
-			      __const wchar_t *__restrict __format,
+extern int __isoc99_vswscanf (const wchar_t *__restrict __s,
+			      const wchar_t *__restrict __format,
 			      __gnuc_va_list __arg) __THROW;
 #   define vfwscanf __isoc99_vfwscanf
 #   define vwscanf __isoc99_vwscanf
@@ -779,7 +779,7 @@ extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
 
    This function is a possible cancellation point and therefore not
    marked with __THROW.  */
-extern int fputws (__const wchar_t *__restrict __ws,
+extern int fputws (const wchar_t *__restrict __ws,
 		   __FILE *__restrict __stream);
 
 
@@ -844,7 +844,7 @@ extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
    cancellation point.  But due to similarity with an POSIX interface
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
-extern int fputws_unlocked (__const wchar_t *__restrict __ws,
+extern int fputws_unlocked (const wchar_t *__restrict __ws,
 			    __FILE *__restrict __stream);
 #endif
 
@@ -854,8 +854,8 @@ __BEGIN_NAMESPACE_C99
    Write no more than MAXSIZE wide characters and return the number
    of wide characters written, or 0 if it would exceed MAXSIZE.  */
 extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
-			__const wchar_t *__restrict __format,
-			__const struct tm *__restrict __tp) __THROW;
+			const wchar_t *__restrict __format,
+			const struct tm *__restrict __tp) __THROW;
 __END_NAMESPACE_C99
 
 # ifdef __USE_GNU
@@ -864,8 +864,8 @@ __END_NAMESPACE_C99
 /* Similar to `wcsftime' but takes the information from
    the provided locale and not the global locale.  */
 extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
-			  __const wchar_t *__restrict __format,
-			  __const struct tm *__restrict __tp,
+			  const wchar_t *__restrict __format,
+			  const struct tm *__restrict __tp,
 			  __locale_t __loc) __THROW;
 # endif
 
diff --git a/wctype/wctype.h b/wctype/wctype.h
index 1e2fbf9fae..ecd15f933d 100644
--- a/wctype/wctype.h
+++ b/wctype/wctype.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2002,2005,2007-2009,2010 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2002,2005,2007-2009,2010,2012 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
@@ -169,7 +169,7 @@ extern int iswblank (wint_t __wc) __THROW;
 
 /* Construct value that describes a class of wide characters identified
    by the string argument PROPERTY.  */
-extern wctype_t wctype (__const char *__property) __THROW;
+extern wctype_t wctype (const char *__property) __THROW;
 
 /* Determine whether the wide-character WC has the property described by
    DESC.  */
@@ -184,7 +184,7 @@ __END_NAMESPACE_C99
 __BEGIN_NAMESPACE_C99
 /* Scalar type that can hold values which represent locale-specific
    character mappings.  */
-typedef __const __int32_t *wctrans_t;
+typedef const __int32_t *wctrans_t;
 __END_NAMESPACE_C99
 #ifdef __USE_GNU
 __USING_NAMESPACE_C99(wctrans_t)
@@ -216,7 +216,7 @@ __BEGIN_DECLS
 __BEGIN_NAMESPACE_C99
 /* Construct value that describes a mapping between wide characters
    identified by the string argument PROPERTY.  */
-extern wctrans_t wctrans (__const char *__property) __THROW;
+extern wctrans_t wctrans (const char *__property) __THROW;
 
 /* Map the wide character WC using the mapping described by DESC.  */
 extern wint_t towctrans (wint_t __wc, wctrans_t __desc) __THROW;
@@ -282,7 +282,7 @@ extern int iswblank_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Construct value that describes a class of wide characters identified
    by the string argument PROPERTY.  */
-extern wctype_t wctype_l (__const char *__property, __locale_t __locale)
+extern wctype_t wctype_l (const char *__property, __locale_t __locale)
      __THROW;
 
 /* Determine whether the wide-character WC has the property described by
@@ -303,7 +303,7 @@ extern wint_t towupper_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Construct value that describes a mapping between wide characters
    identified by the string argument PROPERTY.  */
-extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale)
+extern wctrans_t wctrans_l (const char *__property, __locale_t __locale)
      __THROW;
 
 /* Map the wide character WC using the mapping described by DESC.  */