From 71ecd3cdb429890727840ba97fb55d1e9940fd77 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Jan 02 2012 01:33:52 +0000 Subject: Update from master (a316c1f) --- diff --git a/.gitignore b/.gitignore index 0b933ba..9ae290a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,6 @@ glibc-2.14-394-g8f3b1ff /glibc-2.14-16c6f99-fedora.tar.gz /glibc-2.14-16c6f99.tar.gz /glibc-ports-2.14-c2aeee1.tar.gz +/glibc-2.15-a316c1f-fedora.tar.gz +/glibc-2.15-a316c1f.tar.gz +/glibc-ports-2.15-8a70b2d.tar.gz diff --git a/glibc-fedora.patch b/glibc-fedora.patch index 1f5298b..bfef6cf 100644 --- a/glibc-fedora.patch +++ b/glibc-fedora.patch @@ -1,7 +1,7 @@ -diff -Nur a/ChangeLog b/ChangeLog ---- a/ChangeLog 2011-12-22 16:50:52.000000000 +0000 -+++ b/ChangeLog 2011-12-22 18:00:44.158145149 +0000 -@@ -2416,6 +2416,11 @@ +diff -Nup a/ChangeLog b/ChangeLog +--- a/ChangeLog 2012-01-01 05:16:32.000000000 -0700 ++++ b/ChangeLog 2012-01-01 13:08:53.281715870 -0700 +@@ -2542,6 +2542,11 @@ * sysdeps/mach/hurd/sys/param.h (DEV_BSIZE): New macro. @@ -13,7 +13,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2011-09-08 Andreas Schwab * elf/dl-load.c (lose): Check for non-null L. -@@ -2678,6 +2683,11 @@ +@@ -2804,6 +2809,11 @@ * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Fix cfi directive. @@ -25,7 +25,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2011-08-24 David S. Miller * sysdeps/sparc/sparc64/strcmp.S: Rewrite. -@@ -3483,6 +3493,14 @@ +@@ -3609,6 +3619,14 @@ * config.make.in: Likewise. * malloc/Makefile: Likewise. @@ -40,7 +40,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2011-06-27 Andreas Schwab * iconvdata/gb18030.c (BODY for TO_LOOP): Fix encoding of non-BMP -@@ -3614,6 +3632,10 @@ +@@ -3740,6 +3758,10 @@ * inet/getnetgrent_r.c: Use DL_CALL_FCT in several places. @@ -51,7 +51,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2011-06-20 David S. Miller * sysdeps/sparc/sparc32/dl-plt.h: Protect against multiple -@@ -4236,6 +4258,13 @@ +@@ -4362,6 +4384,13 @@ * libio/Makefile (tests): Add bug-fclose1. * libio/bug-fclose1.c: New file. @@ -65,7 +65,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2011-05-12 Ulrich Drepper [BZ #12511] -@@ -4513,13 +4542,6 @@ +@@ -4639,13 +4668,6 @@ * stdlib/bug-getcontext.c: New file. * stdlib/Makefile: Add rules to build and run bug-getcontext. @@ -79,7 +79,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2011-04-11 Andreas Krebbel * sysdeps/s390/s390-32/elf/start.S (_start): Skip extra zeroes -@@ -4757,6 +4779,31 @@ +@@ -4883,6 +4905,31 @@ * sysdeps/unix/sysv/linux/Versions [GLIBC_2.14] (clock_adjtime): Export. @@ -111,7 +111,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2011-03-22 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word): Increment -@@ -4817,6 +4864,16 @@ +@@ -4943,6 +4990,16 @@ $LDFLAGS and -nostdlib -nostartfiles to linking step. Change main to _start. @@ -128,7 +128,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2011-03-06 Ulrich Drepper * elf/dl-load.c (_dl_map_object): If we are looking for the first -@@ -5033,6 +5090,12 @@ +@@ -5159,6 +5216,12 @@ * shadow/sgetspent.c: Check return value of __sgetspent_r instead of errno. @@ -141,7 +141,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2011-01-19 Ulrich Drepper [BZ #11724] -@@ -5720,6 +5783,26 @@ +@@ -5846,6 +5909,26 @@ * sysdeps/unix/sysv/linux/internal_statvfs.c (INTERNAL_STATVFS): Mask out sign-bit copies when constructing f_fsid. @@ -168,7 +168,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2010-09-24 Petr Baudis * debug/stack_chk_fail_local.c: Add missing licence exception. -@@ -6512,6 +6595,17 @@ +@@ -6638,6 +6721,17 @@ call returning > 0 value. * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise. @@ -186,7 +186,7 @@ diff -Nur a/ChangeLog b/ChangeLog 2010-06-07 Andreas Schwab * dlfcn/Makefile: Remove explicit dependencies on libc.so and -@@ -6564,6 +6658,21 @@ +@@ -6690,6 +6784,21 @@ * hurd/hurd/fd.h (__file_name_lookup_at): Update comment. * sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS. @@ -208,9 +208,9 @@ diff -Nur a/ChangeLog b/ChangeLog 2010-05-28 Luis Machado * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi. -diff -Nur a/ChangeLog.15 b/ChangeLog.15 ---- a/ChangeLog.15 2011-12-22 16:50:52.000000000 +0000 -+++ b/ChangeLog.15 2011-12-22 17:59:24.542119295 +0000 +diff -Nup a/ChangeLog.15 b/ChangeLog.15 +--- a/ChangeLog.15 2012-01-01 05:16:32.000000000 -0700 ++++ b/ChangeLog.15 2012-01-01 13:08:53.283715875 -0700 @@ -477,6 +477,14 @@ 2004-11-26 Jakub Jelinek @@ -276,9 +276,9 @@ diff -Nur a/ChangeLog.15 b/ChangeLog.15 2004-08-30 Roland McGrath * scripts/extract-abilist.awk: If `lastversion' variable defined, omit -diff -Nur a/ChangeLog.16 b/ChangeLog.16 ---- a/ChangeLog.16 2011-12-22 16:50:52.000000000 +0000 -+++ b/ChangeLog.16 2011-12-22 17:59:24.545119296 +0000 +diff -Nup a/ChangeLog.16 b/ChangeLog.16 +--- a/ChangeLog.16 2012-01-01 05:16:32.000000000 -0700 ++++ b/ChangeLog.16 2012-01-01 13:08:53.286715876 -0700 @@ -2042,6 +2042,9 @@ (__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT followed by __THROW. @@ -301,9 +301,9 @@ diff -Nur a/ChangeLog.16 b/ChangeLog.16 2006-01-19 Thomas Schwinge * libio/genops.c: Include . -diff -Nur a/ChangeLog.17 b/ChangeLog.17 ---- a/ChangeLog.17 2011-12-22 16:50:52.000000000 +0000 -+++ b/ChangeLog.17 2011-12-22 17:59:24.549119296 +0000 +diff -Nup a/ChangeLog.17 b/ChangeLog.17 +--- a/ChangeLog.17 2012-01-01 05:16:32.000000000 -0700 ++++ b/ChangeLog.17 2012-01-01 13:08:53.290715873 -0700 @@ -256,6 +256,12 @@ * Makerules (libc-abis): Fix search for libc-abis in add-ons. @@ -317,7 +317,7 @@ diff -Nur a/ChangeLog.17 b/ChangeLog.17 2010-04-05 Thomas Schwinge * sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/. -@@ -2953,6 +2959,11 @@ +@@ -2953,6 +2959,11 @@ d2009-10-30 Ulrich Drepper * sysdeps/x86_64/multiarch/strstr.c: Minor cleanups. Remove -@@ -3218,6 +3229,11 @@ +@@ -3218,6 +3229,11 @@ d2009-10-30 Ulrich Drepper * resolv/resolv.h: Define RES_SNGLKUPREOP. -@@ -11818,6 +11834,10 @@ +@@ -11818,6 +11834,10 @@ d2009-10-30 Ulrich Drepper [BZ #4364] -@@ -13075,6 +13095,15 @@ +@@ -13075,6 +13095,15 @@ d2009-10-30 Ulrich Drepper [BZ #3632] -diff -Nur a/Makeconfig b/Makeconfig ---- a/Makeconfig 2011-12-22 16:50:52.000000000 +0000 -+++ b/Makeconfig 2011-12-22 17:59:24.551119298 +0000 -@@ -803,12 +803,12 @@ +diff -Nup a/ChangeLog.orig b/ChangeLog.orig +--- a/ChangeLog.orig 1969-12-31 17:00:00.000000000 -0700 ++++ b/ChangeLog.orig 2012-01-01 05:16:32.000000000 -0700 +@@ -0,0 +1,6768 @@ ++2012-01-01 Ulrich Drepper ++ ++ * posix/getconf.c: Update copyright year. ++ * nss/getent.c: Likewise. ++ * nss/makedb.c: Likewise. ++ * iconv/iconvconfig.c: Likewise. ++ * iconv/iconv_prog.c: Likewise. ++ * elf/ldconfig.c: Likewise. ++ * elf/pldd.c: Likewise. ++ * elf/sotruss.ksh: Likewise. ++ * catgets/gencat.c: Likewise. ++ * csu/version.c: Likewise. ++ * elf/ldd.bash.in: Likewise. ++ * elf/sprof.c (print_version): Likewise. ++ * locale/programs/locale.c: Likewise. ++ * locale/programs/localedef.c: Likewise. ++ * login/programs/pt_chown.c: Likewise. ++ * nscd/nscd.c (print_version): Likewise. ++ * debug/xtrace.sh: Likewise. ++ * malloc/memusage.sh: Likewise. ++ * malloc/mtrace.pl: Likewise. ++ * debug/catchsegv.sh: Likewise. ++ ++2011-12-30 Jakub Jelinek ++ ++ * posix/regex_internal.c (re_string_fetch_byte_case): Remove ++ pure attribute. ++ ++2011-12-23 Ulrich Drepper ++ ++ * version.h (RELEASE): Bump for 2.15 release. ++ * include/features.h (__GLIBC_MINOR__): Bump to 15. ++ ++ * sysdeps/x86_64/dl-machine.h: Fix typos in comments. ++ Patch by Marek Polacek . ++ ++ * bits/byteswap.h: Protect long long constants with __extension__. ++ * sysdeps/i386/bits/byteswap.h: Likewise. ++ * sysdeps/ia64/bits/byteswap.h: Likewise. ++ * sysdeps/s390/bits/byteswap.h: Likewise. ++ * sysdeps/x86_64/bits/byteswap.h: Likewise. ++ ++2011-12-23 Liubov Dmitrieva ++ ++ [BZ #13540] ++ * sysdeps/x86_64/multiarch/strcpy-ssse3.S: Fix overrun in ++ destination buffer. ++ * sysdeps/x86_64/multiarch/wcscpy-ssse3.S: Likewise. ++ ++2011-12-23 Marek Polacek ++ ++ * elf/dl-addr.c (determine_info): Add inline keyword. ++ * elf/tst-auditmod4b.c (check_avx): Likewise. ++ * elf/tst-auditmod6b.c (check_avx): Likewise. ++ * elf/tst-auditmod6c.c (check_avx): Likewise. ++ * elf/tst-auditmod7b.c (check_avx): Likewise. ++ ++2011-12-23 Ulrich Drepper ++ ++ * sysdeps/i386/fpu/bits/fenv.h (feraiseexcept): Also enable for ++ !__SSE_MATH__. ++ ++2011-12-23 Liubov Dmitrieva ++ ++ [BZ #13540] ++ * sysdeps/i386/i686/multiarch/wcscpy-ssse3.S: Fix wrong copying ++ processing for last bytes. ++ ++2011-08-06 Bruno Haible ++ ++ [BZ #13061] ++ * iconvdata/cp1258.c (comp_table_data): Combine U+00A8 U+0301 to ++ U+0385, not to U+1FEE. ++ ++ [BZ #13062] ++ * iconvdata/tcvn5712-1.c (comp_table_data): Remove useless and wrong ++ entry for U+00A5 U+0301. ++ ++2011-12-22 Ulrich Drepper ++ ++ [BZ #13166] ++ * inet/getnameinfo.c (getnameinfo): Return EAI_OVERFLOW if the ++ buffer for the output is too small. ++ ++ * sysdeps/i386/fpu/bits/fenv.h [__SSE_MATH__]: Add feraiseexcept ++ optimization. ++ ++ [BZ #13185] ++ * sysdeps/i386/fpu/fgetexcptflg.c (__fegetexceptflag): Also return ++ SSE flags if possible. ++ ++2011-12-22 Liubov Dmitrieva ++ ++ [BZ #13540] ++ * sysdeps/i386/i686/multiarch/strcpy-ssse3.S: Fix wrong copying ++ processing for last bytes. ++ ++2011-12-22 Joseph Myers ++ ++ * sysdeps/unix/sysv/linux/Makefile (syscall-list-variants) ++ (syscall-list-default-options, syscall-list-default-condition) ++ (syscall-list-includes): Define. ++ ($(objpfx)syscall-%.h $(objpfx)syscall-%.d): Support arbitrary ++ list of ABIs and options and #if conditions for each ABI. Do not ++ handle common syscalls between ABIs specially. ++ * sysdeps/unix/sysv/linux/powerpc/Makefile (64bit-predefine): ++ Remove. ++ (syscall-list-variants, syscall-list-32bit-options) ++ (syscall-list-32bit-condition, syscall-list-64bit-options) ++ (syscall-list-64bit-condition): Define. ++ * sysdeps/unix/sysv/linux/s390/Makefile (64bit-predefine): Remove. ++ (syscall-list-variants, syscall-list-32bit-options) ++ (syscall-list-32bit-condition, syscall-list-64bit-options) ++ (syscall-list-64bit-condition): Define. ++ * sysdeps/unix/sysv/linux/sparc/Makefile (64bit-predefine): ++ Remove. ++ (syscall-list-variants, syscall-list-32bit-options) ++ (syscall-list-32bit-condition, syscall-list-64bit-options) ++ (syscall-list-64bit-condition): Define. ++ * sysdeps/unix/sysv/linux/x86_64/Makefile (64bit-predefine): ++ Remove. ++ (syscall-list-variants, syscall-list-32bit-options) ++ (syscall-list-32bit-condition, syscall-list-64bit-options) ++ (syscall-list-64bit-condition): Define. ++ ++2011-12-22 Ulrich Drepper ++ ++ * locale/iso-639.def: Add brx entry. ++ ++ [BZ #13328] ++ * malloc/mtrace.c (tr_freehook): Avoid unnecessary unlock/lock. ++ Proposed by Mariusz_Cukr . ++ ++ * sysdeps/x86_64/fpu/bits/fenv.h: Use __REDIRECT_NTH for ++ __feraiseexcept_renamed. ++ ++2011-12-21 Ulrich Drepper ++ ++ [BZ #13538] ++ * sysdeps/unix/sysv/linux/sys/epoll.h: Initialize EPOLLONESHOT and ++ EPOLLET with unsigned values. ++ * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sys/epoll.h: Likewise. ++ ++ * math/s_cacosh.c: Use Kahan's formula if the subtraction could lead ++ to large cancellation. ++ * math/s_cacoshf.c: Likewise. ++ * math/s_cacoshl.c: Likewise. ++ ++2011-11-18 Richard B. Kreckel ++ ++ [BZ #13305] ++ [BZ #12786] ++ * math/s_cacosh.c: Fix rare miscomputation in cacosh(). ++ * math/s_cacoshf.c: Likewise. ++ * math/s_cacoshl.c: Likewise. ++ ++2011-12-21 Ulrich Drepper ++ ++ [BZ #13439] ++ * iconv/gconv.h: Define __GCONV_SWAP. ++ * iconvdata/unicode.c: The swap bit must be stored in __flags. ++ * iconvdata/utf-16.c: Likewise. ++ * iconvdata/utf-32.c: Likewise. ++ ++2011-12-21 Andreas Schwab ++ ++ [BZ #13524] ++ * stdlib/strtod_l.c (____STRTOF_INTERNAL): Clear lowest limb of ++ numerator after shifting it by one limb. ++ ++2011-12-19 Rafael Ávila de Espíndola ++ ++ * sysdeps/x86_64/fpu/bits/fenv.h (feraiseexcept): Define it only ++ under [__USE_EXTERN_INLINES]. ++ ++2011-12-17 Ulrich Drepper ++ ++ [BZ #13446] ++ * stdio-common/vfprintf.c (vfprintf): Fix extension of specs array. ++ ++2011-11-22 Adhemerval Zanella ++ ++ * sysdeps/powerpc/Makefile: Added locale-defines.sym generation. ++ * sysdeps/powerpc/locale-defines.sym: Locale definitions for strcasecmp ++ optimized code. ++ * sysdeps/powerpc/powerpc32/power7/Makefile: New file. ++ * sysdeps/powerpc/powerpc32/power7/strcasecmp.S: New file. ++ * sysdeps/powerpc/powerpc32/power7/strcasecmp_l.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/Makefile: Added unroll-loop option ++ for strncasecmp/strncasecmp_l compilation. ++ * sysdeps/powerpc/powerpc64/power7/strcasecmp.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/strcasecmp_l.S: New file. ++ ++2011-12-08 Marek Polacek ++ ++ [BZ #13484] ++ * math/bits/math-finite.h: Use __REDIRECT_NTH and __NTH instead ++ of __asm__. ++ ++2011-12-17 Ulrich Drepper ++ ++ [BZ #13506] ++ * time/tzfile.c (__tzfile_read): Check values from file header. ++ ++2011-11-21 Will Schmidt ++ ++ * powerpc/powerpc32/sysdep.h: Define SETUP_GOT_ACCESS() macro. ++ * powerpc/powerpc32/a2/memcpy.S: Use SETUP_GOT_ACCESS() macro. ++ * powerpc/powerpc32/dl-start.S: Likewise. ++ * powerpc/powerpc32/elf/start.S: Likewise. ++ * powerpc/powerpc32/fpu/__longjmp-common.S: Likewise. ++ * powerpc/powerpc32/fpu/s_ceil.S: Likewise. ++ * powerpc/powerpc32/fpu/s_ceilf.S: Likewise. ++ * powerpc/powerpc32/fpu/s_floor.S: Likewise. ++ * powerpc/powerpc32/fpu/s_floorf.S: Likewise. ++ * powerpc/powerpc32/fpu/s_lround.S: Likewise. ++ * powerpc/powerpc32/fpu/s_rint.S: Likewise. ++ * powerpc/powerpc32/fpu/s_rintf.S: Likewise. ++ * powerpc/powerpc32/fpu/s_round.S: Likewise. ++ * powerpc/powerpc32/fpu/s_roundf.S: Likewise. ++ * powerpc/powerpc32/fpu/s_trunc.S: Likewise. ++ * powerpc/powerpc32/fpu/s_truncf.S: Likewise. ++ * powerpc/powerpc32/fpu/setjmp-common.S: Likewise. ++ * powerpc/powerpc32/memset.S: Likewise. ++ * powerpc/powerpc32/power4/fpu/s_llround.S: Likewise. ++ * powerpc/powerpc32/power4/fpu/w_sqrt.S: Likewise. ++ * powerpc/powerpc32/power4/fpu/w_sqrtf.S: Likewise. ++ * powerpc/powerpc32/power5/fpu/w_sqrt.S: Likewise. ++ * powerpc/powerpc32/power5/fpu/w_sqrtf.S: Likewise. ++ * powerpc/powerpc32/power7/fpu/s_finite.S: Likewise. ++ * powerpc/powerpc32/power7/fpu/s_isinf.S: Likewise. ++ * powerpc/powerpc32/power7/fpu/s_isnan.S: Likewise. ++ * unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S: Likewise. ++ * unix/sysv/linux/powerpc/powerpc32/brk.S: Likewise. ++ * unix/sysv/linux/powerpc/powerpc32/getcontext-common.S: Likewise. ++ * unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: Likewise. ++ * unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: Likewise. ++ ++2011-11-18 Adhemerval Zanella ++ ++ * math/libm-test.inc: Added more nearbyint tests. ++ * sysdeps/powerpc/powerpc32/fpu/s_nearbyint.S: New file. ++ * sysdeps/powerpc/powerpc32/fpu/s_nearbyintf.S: New file. ++ * sysdeps/powerpc/powerpc64/fpu/s_nearbyint.S: New file. ++ * sysdeps/powerpc/powerpc64/fpu/s_nearbyintf.S: New file. ++ ++2011-11-21 Ross Lagerwall ++ ++ * resolv/res_init.c (__res_vinit): Open /etc/resolv.conf with ++ FD_CLOEXEC. ++ ++2011-11-14 Liubov Dmitrieva ++ ++ * sysdeps/x86_64/multiarch/Makefile [subdir=wcsmbs] (sysdep_routines): ++ Add wcscpy-ssse3 wcscpy-c. ++ * sysdeps/x86_64/multiarch/wcscpy-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/wcscpy-c.c: New file. ++ * sysdeps/x86_64/multiarch/wcscpy.S: New file. ++ * sysdeps/x86_64/wcschr.S: New file. ++ * sysdeps/x86_64/wcsrchr.S: New file. ++ * string/test-strcmp.c: Remove checking of wcscmp function for ++ wrong alignments. ++ * sysdeps/i386/i686/multiarch/Makefile [subdir=wcsmbs] ++ (sysdep_routines): Add wcscpy-ssse3 wcscpy-c wcschr-sse2 wcschr-c ++ wcsrchr-sse2 wcsrchr-c. ++ * sysdeps/i386/i686/multiarch/wcschr.S: New file. ++ * sysdeps/i386/i686/multiarch/wcschr-c.c: New file. ++ * sysdeps/i386/i686/multiarch/wcschr-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/wcsrchr.S: New file. ++ * sysdeps/i386/i686/multiarch/wcsrchr-c.c: New file. ++ * sysdeps/i386/i686/multiarch/wcsrchr-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/wcscpy.S: New file. ++ * sysdeps/i386/i686/multiarch/wcscpy-c.c: New file. ++ * sysdeps/i386/i686/multiarch/wcscpy-ssse3.S: New file. ++ * wcsmbc/wcschr.c (WCSCHR): New macro. ++ ++2011-11-17 Liubov Dmitrieva ++ ++ * wcsmbs/Makefile (strop-tests): Add wcsrchr wcscpy. ++ * wcsmbs/test-wcsrchr.c: New file. ++ * string/test-strrchr.c: Add wcsrchr support. ++ (WIDE): New macro. ++ * wcsmbs/test-wcscpy.c: New file. ++ * string/test-strcpy.c: Add wcscpy support. ++ (WIDE): New macro. ++ ++2011-12-10 Ulrich Drepper ++ ++ * sysdeps/generic/dl-hash.h (_dl_elf_hash): Lift one operation out of ++ the inner loop. ++ ++2011-12-06 Andreas Schwab ++ ++ [BZ #13472] ++ * sysdeps/powerpc/fpu/e_hypot.c (twoM600): Correct value. ++ ++2011-12-04 Ulrich Drepper ++ ++ * sysdeps/generic/dl-hash.h (_dl_elf_hash): Fix attribute. ++ Minor optimizations. ++ ++ * sunrpc/clnt_unix.c (clntunix_control): Fix aliasing issues. ++ * sunrpc/clnt_tcp.c (clnttcp_control): Likewise. ++ * sunrpc/clnt_udp.c (clntudp_call): Likewise. ++ ++2011-12-03 Ulrich Drepper ++ ++ * inet/netinet/in.h: Provide versions of IN6_IS_ADDR_UNSPECIFIED, ++ IN6_IS_ADDR_LOOPBACK, IN6_IS_ADDR_LINKLOCAL, IN6_IS_ADDR_SITELOCAL, ++ IN6_IS_ADDR_V4MAPPED, IN6_IS_ADDR_V4COMPAT, and IN6_ARE_ADDR_EQUAL ++ for gcc to avoid warnings. ++ * inet/Makefile (tests): Add tst-checks. ++ * inet/tst-checks.c: New file. ++ ++ * sysdeps/generic/dl-hash.h (_dl_elf_hash): Add attribute to avoid ++ warning. ++ ++ * sysdeps/x86_64/multiarch/wmemcmp-c.c: Provide prototype for ++ __wmemcmp_sse2. ++ ++ * sysdeps/x86_64/fpu/s_scalbln.c: Removed. ++ * sysdeps/x86_64/fpu/s_scalbn.c: Removed. ++ ++ * malloc/mcheck.h: Fix use of incorrect encoding in comment. ++ ++2011-12-02 Ulrich Drepper ++ ++ * nis/nis_findserv.c (__nis_findfastest_with_timeout): Avoid aliasing ++ problem. ++ ++ * nscd/aicache.c (addhstaiX): Avoid unused variable warning. ++ ++2011-11-29 Joseph Myers ++ ++ * sysdeps/unix/sysv/linux/sh/bits/atomic.h (rNOSP): Define ++ conditional on GCC version. ++ (__arch_compare_and_exchange_val_8_acq) ++ (__arch_compare_and_exchange_val_16_acq) ++ (__arch_compare_and_exchange_val_32_acq, atomic_exchange_and_add) ++ (atomic_add, atomic_add_negative, atomic_add_zero, atomic_bit_set) ++ (atomic_bit_test_set): Use rNOSP instead of "r" constraints. ++ ++2011-12-02 Joseph Myers ++ ++ * sysdeps/sh/backtrace.c: New file. ++ ++2011-12-02 Andreas Schwab ++ ++ * misc/bits/select2.h (__FD_ELT): Mark as extension. Add ++ parenthesis. ++ ++2011-12-01 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/futimes.c: Truncate time values when ++ falling back to utime. ++ ++2011-11-30 Andreas Schwab ++ ++ * sysdeps/s390/fpu/libm-test-ulps: Relax cpow (2 + 3 i, 4 + 0 i) ++ expectations for float. ++ ++2011-11-29 Andreas Schwab ++ ++ * locale/weight.h (findidx): Add parameter len. ++ * locale/weightwc.h (findidx): Likewise. ++ * posix/fnmatch_loop.c (FCT): Adjust caller. ++ * posix/regcomp.c (build_equiv_class): Likewise. ++ * posix/regex_internal.h (re_string_elem_size_at): Likewise. ++ * posix/regexec.c (check_node_accept_bytes): Likewise. ++ * string/strcoll_l.c (STRCOLL): Likewise. ++ * string/strxfrm_l.c (STRXFRM): Likewise. ++ ++2011-11-17 Ulrich Drepper ++ ++ * Makefile.in: Remove CVSOPT handling. ++ * configure.in: Remove use of AC_REVISION. ++ * iconvdata/Makefile (distribute): No need to filter out CVS. ++ * scripts/list-sources.sh: Remove CVS, subversion and monotone ++ handling. ++ ++2011-11-16 Andreas Schwab ++ ++ * sysdeps/i386/i686/multiarch/strcmp-ssse3.S ++ [USE_AS_STRCASECMP_L]: Fix argument offsets for non-PIC. ++ [USE_AS_STRNCASECMP_L]: Likewise. ++ (__strcasecmp_ssse3, __strncasecmp_ssse3): Handle ++ NO_TLS_DIRECT_SEG_REFS. ++ * sysdeps/i386/i686/multiarch/strcmp-sse4.S [USE_AS_STRCASECMP_L]: ++ Fix argument offsets for non-PIC. ++ [USE_AS_STRNCASECMP_L]: Likewise. ++ (__strcasecmp_sse4_2, __strncasecmp_sse4_2): Handle ++ NO_TLS_DIRECT_SEG_REFS. ++ ++2011-11-15 Ulrich Drepper ++ ++ * locale/loadarchive.c (_nl_load_locale_from_archive): Open files with ++ O_CLOEXEC. ++ * locale/loadlocale.c (_nl_load_locale): Likewise. ++ ++2011-11-15 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/clock_gettime.c (SYSDEP_GETTIME_CPU) ++ [__ASSUME_POSIX_CPU_TIMERS > 0]: Assign to retval and break. ++ * sysdeps/unix/sysv/linux/x86_64/clock_gettime.c ++ (SYSCALL_GETTIME): Set errno on error. ++ ++ * sysdeps/unix/sysv/linux/check_pf.c (make_request): Properly ++ count references to noai6ai_cached. ++ ++2011-11-15 Ulrich Drepper ++ ++ * time/getdate.c (__getdate_r): Set FD_CLOEXEC for given file. ++ ++ * sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area): Set ++ FD_CLOEXEC for /proc/self/maps. ++ ++ * sysdeps/unix/sysv/linux/getsysstats.c (phys_pages_info): Set ++ FD_CLOEXEC for /proc/meminfo. ++ ++ * sysdeps/posix/getaddrinfo.c (gaiconf_init): Set FD_CLOEXEC for ++ gai.conf. ++ ++ * resolv/res_query.c (res_hostalias): Don't allow cancellation and set ++ FD_CLOEXEC for given file. ++ ++ * resolv/res_hconf.c (do_init): Set FD_CLOEXEC for host.conf. ++ ++ * resolv/gethnamaddr.c (_sethtent): Don't allow cancellation and set ++ FD_CLOEXEC for /etc/hosts. ++ (_gethtent): Likewise. ++ ++ * nss/nsswitch.c (nss_parse_file): Set FD_CLOEXEC. ++ ++ * nss/nss_files/files-netgrp.c (_nss_files_setnetgrent): Don't allow ++ cancellation and set FD_CLOEXEC for /etc/netgroup. ++ ++ * nss/nss_files/files-key.c (search): Don't allow cancellation when ++ reading /etc/publickey. ++ ++ * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Don't ++ allow cancellation when reading /etc/group. ++ ++ * nss/nss_files/files-alias.c (internal_setent): Don't allow ++ cancellation. ++ (get_next_alias): Likewise for included file. Also set FD_CLOEXEC. ++ ++ * nss/nss_files/files-XXX.c (internal_setent): Don't allow cancellation ++ when using data file. ++ ++ * nis/nss-default.c (init): Set FD_CLOEXEC for /etc/default/nss. ++ ++ * nis/nis_file.c (read_nis_obj): Set FD_CLOEXEC. ++ (write_nis_obj): Use "c" and "e" in fopen. ++ ++ * misc/mntent_r.c (__setmntent): Also append e to fopen format. ++ ++ * misc/getusershell.c (initshells): Set FD_CLOEXEC for /etc/shells. ++ ++ * misc/getttyent.c (setttyent): Set FD_CLOEXEC. ++ ++ * misc/getpass.c (getpass): Set FD_CLOEXEC for /dev/tty. ++ ++ * intl/localealias.c (read_alias_file): Set FD_CLOEXEC for ++ locale.alias. ++ ++ * inet/ruserpass.c (ruserpass): Set FD_CLOEXEC for .netrc. ++ ++ * inet/rcmd.c (iruserfopen): Set FD_CLOEXEC for hosts.equiv. ++ ++ * iconv/gconv_conf.c (read_conf_file): Set FD_CLOEXEC for config file. ++ ++ * hesiod/hesiod.c (parse_config_file): Prevent cancellation in config ++ file parsing and set FD_CLOEXEC. ++ ++2011-11-14 Ulrich Drepper ++ ++ * time/tzfile.c (__tzfile_read): Use "e" in fopen call. ++ ++2011-11-14 Andreas Schwab ++ ++ * malloc/arena.c (arena_get2): Don't call reused_arena when ++ _int_new_arena failed. ++ ++2011-11-14 Ulrich Drepper ++ ++ * sysdeps/i386/i686/multiarch/Makefile [subdir=string] ++ (sysdep_routines): Add strcasecmp_l-sse4 and strncase_l-sse4. ++ * sysdeps/i386/i686/multiarch/strcasecmp.S: Re-enable SSE4.2 code. ++ * sysdeps/i386/i686/multiarch/strcmp.S: Likewise. ++ * sysdeps/i386/i686/multiarch/strncase.S: Likewise. ++ * sysdeps/i386/i686/multiarch/strcmp-sse4.S: Change to allow reuse ++ to compile strcasecmp and strncasecmp. ++ * sysdeps/i386/i686/multiarch/strcasecmp_l-sse4.S: New file. ++ * sysdeps/i386/i686/multiarch/strncase_l-sse4.S: New file. ++ ++ * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Use L macro consistently. ++ ++2011-11-13 Ulrich Drepper ++ ++ * sysdeps/i386/i686/multiarch/Makefile [subdir=string]: Add ++ locale-defines.sym to gen-as-const-headers. ++ (sysdep_routines): Add strcasecmp_l-c, strcasecmp-c, ++ strcasecmp_l-ssse3, strncase_l-c, strncase-c, and strncase_l-ssse3. ++ * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Change to allow reuse ++ to compile strcasecmp and strncasecmp. ++ * sysdeps/i386/i686/multiarch/strcmp.S: Allow to use for ++ strcasecmp_l and strncasecmp_l. ++ * sysdeps/i386/i686/multiarch/locale-defines.sym: New file. ++ * sysdeps/i386/i686/multiarch/strcasecmp-c.c: New file. ++ * sysdeps/i386/i686/multiarch/strcasecmp.S: New file. ++ * sysdeps/i386/i686/multiarch/strcasecmp_l-c.c: New file. ++ * sysdeps/i386/i686/multiarch/strcasecmp_l-ssse3.S: New file. ++ * sysdeps/i386/i686/multiarch/strcasecmp_l.S: New file. ++ * sysdeps/i386/i686/multiarch/strncase-c.c: New file. ++ * sysdeps/i386/i686/multiarch/strncase.S: New file. ++ * sysdeps/i386/i686/multiarch/strncase_l-c.c: New file. ++ * sysdeps/i386/i686/multiarch/strncase_l-ssse3.S: New file. ++ * sysdeps/i386/i686/multiarch/strncase_l.S: New file. ++ ++2011-11-12 Ulrich Drepper ++ ++ * sysdeps/unix/clock_gettime.c (clock_gettime): No need to assign ++ result of SYSDEP_GETTIME_CPU to retval. ++ * sysdeps/unix/sysv/linux/clock_gettime.c (SYSDEP_GETTIME_CPU): Add ++ parameter list to macro. Remove trailing semicolon. Adjust users. ++ ++ * resolv/getaddrinfo_a.c (getaddrinfo_a): Avoid warning about unused ++ variable. ++ ++ * sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Avoid storing ++ mantissa words. ++ * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise. ++ ++ * sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Avoid warning ++ from unused variable. ++ ++ * sysdeps/generic/sysdep.h: Clean up, pretty print, use dwarf2.h for ++ DWARF definitions. ++ * sysdeps/generic/dwarf2.h: Don't define enums when using the file ++ for assembling. ++ ++ * elf/dl-iteratephdr.c [!SHARED] (__dl_iterate_phdr): Don't iterate ++ over namespaces. ++ ++ * sunrpc/rpc_prot.c (rejected): Fix case value. ++ ++ * sysdeps/unix/sysv/linux/internal_statvfs.c (INTERNAL_STATVFS): Use ++ unsigned long long int to avoid warnings in shift. ++ ++ * posix/regex_internal.c (re_string_reconstruct): Actually use result ++ of use of trans. ++ * posix/regex_internal.h (re_string_wchar_at): Remove temporary ++ variable tmp. ++ ++ * sysdeps/i386/i686/multiarch/wcscmp-c.c: Avoid warning. ++ * sysdeps/i386/i686/multiarch/wcslen-c.c: Likewise. ++ * sysdeps/i386/i686/multiarch/wmemcmp-c.c: Likewise. ++ ++ * nis/nis_table.c (nis_list): Use variable of correct type for ++ result of __follow_path call. ++ ++2011-11-07 Adhemerval Zanella ++ ++ * sysdeps/powerpc/fpu/math_private.h: Using inline assembly version ++ of math functions ceil, trunc, floor, round, and sqrt, when ++ avaliable on the platform. ++ * sysdeps/powerpc/fpu/e_sqrt.c: Undefine __ieee754_sqrt to avoid ++ name clash. ++ * sysdeps/powerpc/fpu/e_sqrtf.c: Likewise. ++ * sysdeps/powerpc/powerpc64/fpu/e_sqrt.c: Likewise. ++ * sysdeps/powerpc/powerpc64/fpu/e_sqrtf.c: Likewise. ++ ++2011-10-30 Marek Polacek ++ ++ * libio/wfileops.c (_IO_wfile_underflow_mmap): Remove unused variable. ++ * sysdeps/ieee754/dbl-64/mpsqrt.c (__mpsqrt): Likewise. ++ ++2011-11-11 Roland McGrath ++ ++ * include/unistd.h: Fix __readlink return type. ++ Reported by Chris Metcalf . ++ ++2011-11-11 Ulrich Drepper ++ ++ * stdlib/ucontext.h: Undo last change for makecontext. ++ ++2011-11-11 Andreas Schwab ++ ++ * nss/db-Makefile ($(VAR_DB)/group.db): Fix typo in awk script. ++ ++ * misc/sys/cdefs.h (__REDIRECT_NTHNL): Define. ++ * setjmp/setjmp.h: Mark functions as non-leaf. ++ * setjmp/bits/setjmp2.h: Likewise. ++ * stdlib/ucontext.h: Likewise. ++ ++2011-11-10 Andreas Schwab ++ ++ * malloc/arena.c (_int_new_arena): Don't increment narenas. ++ (reused_arena): Don't check arena limit. ++ (arena_get2): Atomically check arena limit. ++ ++2011-11-08 Ulrich Drepper ++ ++ * locale/findlocale.c (_nl_find_locale): Use __strcasecmp_l. ++ * intl/localealias.c (strcasecmp): Define using __strcasecmp_l. ++ ++ * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Remove unnecessary ++ instructions. ++ ++2011-11-07 Andreas Schwab ++ ++ * libio/genops.c (_IO_flush_all_lockp): Only register cleanup ++ handler when locking. ++ ++ * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): ++ Fix size of allocated buffer. ++ ++2011-11-04 Andreas Schwab ++ ++ [BZ #10103] ++ * math/math.h [__NO_LONG_DOUBLE_MATH && !_LIBC]: Provide ++ declarations for long double functions. ++ * math/complex.h [__NO_LONG_DOUBLE_MATH && !_LIBC]: Likewise. ++ ++ * elf/sprof.c (load_shobj): Fix off-by-one when reading link name. ++ ++2011-11-03 Andreas Schwab ++ ++ * nscd/nscd.c (main): Don't start AVC thread until credentials are ++ installed. ++ ++ * nss/makedb.c (set_file_creation_context): Do nothing if SELinux ++ is disabled. ++ ++2011-11-02 Samuel Thibault ++ ++ * bits/ioctl-types.h (_IOT_sgttyb): Set number of chars to 4. ++ ++2011-11-01 Andreas Schwab ++ ++ * include/alloca.h (stackinfo_alloca_round): Define. ++ (extend_alloca): Use it. ++ [_STACK_GROWS_UP]: Correct check for adjacent allocation. ++ * elf/dl-deps.c (_dl_map_object_deps): Don't round alloca size ++ here. ++ ++ * scripts/check-local-headers.sh: Ignore libaudit.h. ++ ++ * nscd/Makefile (extra-objs): Make recursively expanded. ++ ++2011-11-01 Ulrich Drepper ++ ++ * sysdeps/x86_64/strcmp.S: Fix test for non-ASCII locales. ++ * sysdeps/x86_64/multiarch/strcmp-sse42.S: Likewise. ++ ++ * posix/tst-rfc3484.c: Add missing __free_in6ai dummy function. ++ * posix/tst-rfc3484-2.c: Likewise. ++ * posix/tst-rfc3484-3.c: Likewise. ++ ++ * sysdeps/unix/sysv/linux/bits/uio.h: Declare process_vm_readv and ++ process_vm_writev. ++ * sysdeps/unix/sysv/linux/syscalls.list: Add process_vm_readv and ++ process_vm_writev. ++ * sysdeps/unix/sysv/linux/Versions: Export process_vm_readv and ++ process_vm_writev from libc using GLIBC_2.15 version. ++ ++ * nscd/connections.c: Use kernel headers instead of . ++ ++2011-10-31 Paul Pluzhnikov ++ ++ * elf/dl-deps.c (_dl_map_object_deps): Reuse alloca space to reduce ++ stack usage. ++ ++2011-10-31 Ulrich Drepper ++ ++ [BZ #13367] ++ * nss/getent.c (initgroups_keys): Show error message in case no group ++ names are given. ++ ++ * include/ifaddrs.h: Declare __free_in6ai and __bump_nl_timestamp. ++ * inet/check_pf.c: Provide dummy versions of __free_in6ai and ++ __bump_nl_timestamp. ++ * nscd/connections (nscd_init): When host database is served open ++ netlink socket and request notification about configuration changes. ++ (main_loop_poll): Track netlink file descriptor and bump timestamp ++ in case data becomes available. ++ (main_loop_epoll): Likewise. ++ * nscd/nscd-client.h (DB_VERSION): Bump to 2. ++ (database_pers_head): Add extra_data fileds. ++ Declare __nscd_get_mapping and __nscd_get_nl_timestamp. ++ * nscd/nscd_gethst_r.c (__nscd_get_nl_timestamp): New function. ++ * nscd/nscd_helper.c (__nscd_get_mapping): Renamed from get_mapping. ++ Adjust caller. ++ * sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't call free on ++ in6ai data, call __free_in6ai. ++ * sysdeps/unix/sysv/linux/Makefile [subdir=nscd] (sysdep-CFLAGS): ++ Add -DHAVE_NETLINK. ++ * sysdeps/unix/sysv/linux/check_pf.c: Major rewrite. Cache the ++ interface information. Reuse previous data if netlink timestamp ++ is not changed. ++ (__bump_nl_timestamp): New function. ++ (__free_in6ai): New function. ++ ++2011-10-30 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/check_pf.c (make_request): Don't call ++ close_not_cancel_no_status here. ++ (__check_pf): Reorganize code a bit to not call close twice if OOM. ++ ++2011-10-29 Ulrich Drepper ++ ++ [BZ #13276] ++ * malloc/malloc.c (munmap_chunk): Don't use assertion to check munmap ++ return value. ++ ++ * posix/sys/wait.h: Mark wait3 and wait4 with __THROWNL. ++ * libio/stdio.h: Mark sprintf, vsprintf snprintf, vsnprintf, vasprintf, ++ asprintf, __asprintf, obstack_printf, obstack_vprintf with __THROWNL. ++ ++2011-07-03 Andreas Jaeger ++ ++ [BZ #10709] ++ * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Fix incorrect rounding ++ of sin. Patch suggested by Paul Zimmermann . ++ * math/libm-test.inc (sin_test): Add test case. ++ ++2011-10-29 Ulrich Drepper ++ ++ [BZ #13337] ++ * elf/sprof.c (load_shobj): Correctly NUL-terminate link name. ++ Patch by Thomas Jarosch . ++ ++ * elf/chroot_canon.c (chroot_canon): Cleanups. ++ ++ * elf/dl-lookup.c (_dl_setup_hash): Avoid warning. ++ ++ [BZ #13335] ++ * elf/chroot_canon.c (chroot_canon): Fix readlink call. ++ Patch by Thomas Jarosch . ++ ++ * string/test-strchr.c: Make usable for strchrnul testing. ++ * string/test-strchrnul.c: New file. ++ * string/Makefile (strop-tests): Add strchrnul. ++ ++ * po/it.po: Update from translation team. ++ * po/es.po: Likewise. ++ ++2011-10-28 Ulrich Drepper ++ ++ * sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Take ++ the three constants needed as parameters. Drop the others. ++ (strcasestr_sse42): Load uclow, uchigh, and lcqword and pass to ++ __m128i_strloadu_tolower. ++ Create and initialize variable zero and use it in all the places ++ where _mm_setzero_si128 was used. ++ ++ * sysdeps/x86_64/fpu/multiarch/Makefile: Don't build brandred-avx.c, ++ doasin-avx.c, dosincos-avx.c, e_asin-avx.c, mpatan-avx.c, ++ mpatan2-avx.c, mpsqrt-avx.c, mptan-avx.c, sincos32-avx.c. ++ * sysdeps/x86_64/fpu/multiarch/e_asin.c: There are no _avx variants ++ anymore. ++ * sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c: Don't redirect __mpatan2. ++ * sysdeps/x86_64/fpu/multiarch/s_atan-avx.c: Don't redirect __mpatan. ++ * sysdeps/x86_64/fpu/multiarch/s_sin-avx.c: Don't redirect __branred, ++ __docos, __dubsin, __mpcos, __mpcos1, __mpsin, __mpsin1. ++ * sysdeps/x86_64/fpu/multiarch/s_tan-avx.c: Don't redirect __branred, ++ __mpranred, __mptan. ++ * sysdeps/x86_64/fpu/multiarch/brandred-avx.c: Removed. ++ * sysdeps/x86_64/fpu/multiarch/doasin-avx.c: Removed. ++ * sysdeps/x86_64/fpu/multiarch/dosincos-avx.c: Removed. ++ * sysdeps/x86_64/fpu/multiarch/e_asin-avx.c: Removed. ++ * sysdeps/x86_64/fpu/multiarch/mpatan-avx.c: Removed. ++ * sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c: Removed. ++ * sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c: Removed. ++ * sysdeps/x86_64/fpu/multiarch/mptan-avx.c: Removed. ++ * sysdeps/x86_64/fpu/multiarch/sincos32-avx.c: Removed. ++ ++2011-10-28 Andreas Schwab ++ ++ * sysdeps/i386/i686/multiarch/strnlen-c.c (libc_hidden_def): Only ++ redefine if SHARED. ++ * sysdeps/i386/i686/multiarch/wcscmp-c.c (libc_hidden_def): Likewise. ++ ++ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Move ++ wide char related routines to wcsmbs subdir. ++ ++2011-10-27 Andreas Schwab ++ ++ [BZ #13344] ++ * misc/sys/cdefs.h (__THROWNL): Define. ++ * posix/unistd.h: Use __THREADNL instead of __THREAD ++ for memory synchronization functions. ++ ++2011-10-26 Roland McGrath ++ ++ [BZ #13349] ++ * libio/Versions (GLIBC_2.0): Remove open_obstack_stream, which ++ doesn't exist. ++ * manual/stdio.texi (Obstack Streams): Node removed. ++ ++2011-10-26 Andreas Schwab ++ ++ * sysdeps/ieee754/flt-32/e_j0f.c: Fix use of math_force_eval. ++ * sysdeps/ieee754/dbl-64/s_round.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_roundf.c: Likewise. ++ ++ * math/math_private.h (math_force_eval): Allow non-addressable ++ arguments. ++ * sysdeps/i386/fpu/math_private.h (math_force_eval): Likewise. ++ ++2011-10-25 Ulrich Drepper ++ ++ * sysdeps/ieee754/dbl-64/e_rem_pio2.c: Comment everything out, the ++ file is not needed. ++ ++ * sysdeps/x86_64/fpu/multiarch/e_asin.c: Support AVX variants. ++ * sysdeps/x86_64/fpu/multiarch/e_atan2.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/Makefile: Fix some CFLAGS-* variables. ++ Add AVX variants. ++ * sysdeps/x86_64/fpu/multiarch/brandred-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/doasin-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/dosincos-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_asin-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_exp-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_log-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mpa-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mpatan-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mpexp-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mplog-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mptan-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_atan-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_sin-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_tan-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/sincos32-avx.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/slowexp-avx.c: New file. ++ ++ * sysdeps/x86_64/multiarch/init-arch.h: Make bit_* macros available ++ all the time. Define bit_AVX. Define HAS_* macros using bit_* macros. ++ ++ * sysdeps/x86_64/multiarch/strcmp-sse42.S: Move common code to earlier ++ place. Use VEX encoding when compiling for AVX. ++ ++2011-10-25 Andreas Schwab ++ ++ * wcsmbs/wcscmp.c (WCSCMP): Compare as wchar_t, not wint_t. ++ * wcsmbs/wmemcmp.c (WMEMCMP): Likewise. ++ ++ * string/test-strchr.c (do_test): Don't generate NUL bytes. ++ ++2011-10-25 Ulrich Drepper ++ ++ * sysdeps/ieee754/dbl-64/e_atanh.c: Use math_force_eval instead of a ++ useless if() expression. ++ * sysdeps/ieee754/dbl-64/e_j0.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_ceil.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_expm1.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_floor.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_log1p.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_round.c: Likewise. ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Likewise. ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Likewise. ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_atanhf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_j0f.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_ceilf.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_expm1f.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_floorf.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_log1pf.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_roundf.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_atanhl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/s_roundl.c: Likewise. ++ ++ * sysdeps/x86_64/fpu/math_private.h: Use VEX encoding when possible. ++ ++2011-10-25 Andreas Schwab ++ ++ * elf/dl-deps.c (_dl_map_object_deps): Remove always true ++ condition. ++ * elf/dl-fini.c (_dl_sort_fini): Likewise. ++ ++2011-10-25 Ulrich Drepper ++ ++ * sysdeps/ieee754/dbl-64/branred.c: Move FMA4 code into separate ++ .text section. Avoid duplicate constants. ++ * sysdeps/ieee754/dbl-64/doasin.c: Likewise. ++ * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_asin.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_log.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. ++ * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. ++ * sysdeps/ieee754/dbl-64/mpa.c: Likewise. ++ * sysdeps/ieee754/dbl-64/mpa.h: Likewise. ++ * sysdeps/ieee754/dbl-64/mpatan.c: Likewise. ++ * sysdeps/ieee754/dbl-64/mpatan.h: Likewise. ++ * sysdeps/ieee754/dbl-64/mpatan2.c: Likewise. ++ * sysdeps/ieee754/dbl-64/mpexp.c: Likewise. ++ * sysdeps/ieee754/dbl-64/mpexp.h: Likewise. ++ * sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise. ++ * sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise. ++ * sysdeps/ieee754/dbl-64/mptan.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. ++ * sysdeps/ieee754/dbl-64/sincos32.c: Likewise. ++ * sysdeps/ieee754/dbl-64/slowexp.c: Likewise. ++ * sysdeps/ieee754/dbl-64/slowpow.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/brandred-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/doasin-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/dosincos-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/e_asin-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/e_atan2-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/e_log-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/e_pow-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/halfulp-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/mpa-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/mpatan-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/mpatan2-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/mpexp-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/mplog-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/mpsqrt-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/mptan-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/s_atan-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/s_sin-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/s_tan-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/sincos32-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/slowpow-fma4.c: Likewise. ++ ++2011-10-24 Ulrich Drepper ++ ++ * sysdeps/x86_64/dla.h: Move to ... ++ * sysdeps/x86_64/fpu/dla.h: ...here. ++ (DLA_FMS): Some compilers fail to inline __builtin_fma in some ++ situations. Use __builtin_fma only for gcc 4.6 and up. ++ ++ * config.make.in: Add have-mfma4 entry. ++ * configure.in: Substitute libc_cv_cc_fma4. ++ * math/Makefile (dbl-only-routines): Add sincostab. ++ * sysdeps/ieee754/dbl-64/dosincos.c: Don't include sincos.tbl. ++ Use __sincostab not sincos. ++ * sysdeps/ieee754/dbl-64/e_asin.c: Don't define aliases when function ++ name is a macro. ++ * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_log.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. Define singArctan2 ++ using __copysign. ++ * sysdeps/ieee754/dbl-64/mpa.c: Don't export __acr. Don't define ++ __cr and __cpymn. Define __cpy unless NO___CPY is defined. Define ++ norm, denorm, and __mp_dbl unless NO___MP_DBL is defined. ++ * sysdeps/ieee754/dbl-64/mpa.h: Don't declare __acr, __cr, __cpymn, ++ and __inv. ++ * sysdeps/ieee754/dbl-64/mpsqrt.c: Make fastiroot static. ++ * sysdeps/ieee754/dbl-64/s_atan.c: Define __signArctan using ++ __copysign. ++ * sysdeps/ieee754/dbl-64/s_sin.c: Use __sincostab not sincos. Don't ++ define aliases when function name is a macro. ++ * sysdeps/ieee754/dbl-64/sincostab.c: Renamed from ++ sysdeps/ieee754/dbl-64/sincos.tbl. ++ * sysdeps/x86_64/fpu/multiarch/Makefile: Add entries to build ++ fma4-enabled routines. ++ * sysdeps/x86_64/fpu/multiarch/brandred-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/doasin-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/dosincos-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_asin-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_asin.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_atan2-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_atan2.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_exp.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_log-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_log.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_pow-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/e_pow.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/halfulp-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mpa-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mpatan-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mpatan2-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mpexp-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mplog-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mpsqrt-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/mptan-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_atan-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_atan.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_sin-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_sin.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_tan-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_tan.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/sincos32-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/slowexp-fma4.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/slowpow-fma4.c: New file. ++ ++ * sysdeps/ieee754/dbl-64/doasin.c: Adjust for DLA_FMA -> DLA_FMS ++ rename. ++ * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. ++ * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_log.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. ++ * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. ++ ++2011-10-24 Andreas Schwab ++ ++ * wcsmbs/wcslen.c: Don't define WCSLEN, reverse logic. ++ ++2011-10-23 Ulrich Drepper ++ ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_remquo.c: New file. ++ ++ * sysdeps/ieee754/dbl-64/e_fmod.c (__ieee754_fmod): Add some branch ++ prediction. ++ * sysdeps/ieee754/dbl-64/wordsize-64/e_fmod.c: New file. ++ ++ * string/strnlen.c: Don't define STRNLEN, reverse logic. ++ Remove unused variable magic_bits. ++ * sysdeps/i386/i686/multiarch/rtld-strnlen.c: New file. ++ ++ * string/strnlen.c: Define and use STRNLEN macro. ++ * sysdeps/i386/i686/multiarch/Makefile [string] (sysdep_routines): ++ Add strnlen-sse2, strnlen-c, wcslen-sse2, and wcslen-c. ++ * sysdeps/i386/i686/multiarch/strlen-sse2.S: Add support for strnlen. ++ * wcsmbs/wcslen.c: Define and use WCSLEN. ++ * sysdeps/i386/i686/multiarch/strnlen-c.c: New file. ++ * sysdeps/i386/i686/multiarch/strnlen-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/strnlen.S: New file. ++ * sysdeps/i386/i686/multiarch/wcslen-c.c: New file. ++ * sysdeps/i386/i686/multiarch/wcslen-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/wcslen.S: New file. ++ Patch by Liubov Dmitrieva . ++ ++2011-10-20 Liubov Dmitrieva ++ ++ * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add ++ strnlen-sse2-no-bsf. ++ Rename strlen-no-bsf to strlen-sse2-no-bsf. ++ * sysdeps/x86_64/multiarch/strlen-no-bsf.S: Rename to ++ * sysdeps/x86_64/multiarch/strlen-sse2-no-bsf.S: ++ Add strnlen support. ++ (USE_AS_STRNLEN): New macro. ++ * sysdeps/x86_64/multiarch/strnlen-sse2-no-bsf.S: New file. ++ * sysdeps/x86_64/multiarch/strcat-ssse3.S: Update. ++ Rename strlen-no-bsf.S to strlen-sse2-no-bsf.S ++ * sysdeps/x86_64/wcslen.S: New file. ++ ++2011-10-20 Michael Zolotukhin ++ ++ * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Update. ++ XMM-moves are used for copying on small sizes. ++ ++2011-10-19 Liubov Dmitrieva ++ ++ * wcsmbs/Makefile (strop-tests): Add wcschr. ++ * wcsmbs/test-wcschr.c: New file. ++ * string/test-strchr.c: Update. ++ Add wcschr support. ++ (WIDE): New macro. ++ ++2011-10-18 Liubov Dmitrieva ++ ++ * wcsmbs/Makefile (strop-tests): Add wcslen. ++ * wcsmbs/test-wcslen.c: New file. ++ * string/test-strlen.c: Update. ++ Add wcslen support. ++ (WIDE): New macro. ++ ++2011-10-23 Ulrich Drepper ++ ++ * po/it.po: Update from translation team. ++ ++2011-09-22 Liubov Dmitrieva ++ ++ * sysdeps/x86_64/wcscmp.S: Update. ++ Fix wrong comparison semantics. ++ wcscmp shall use signed comparison not unsigned. ++ Don't use substraction to avoid overflow bug. ++ * sysdeps/i386/i686/multiarch/wcscmp-sse2.S: Likewise. ++ * wcsmbc/wcscmp.c: Likewise. ++ * string/test-strcmp.c: Likewise. ++ Add new tests to check cases with negative values. ++ ++2011-10-23 Ulrich Drepper ++ ++ * sysdeps/ieee754/dbl-64/dla.h: Move DLA_FMA definition to... ++ * sysdeps/x86_64/dla.h: ...here. New file. ++ * sysdeps/ieee754/dbl-64/doasin.c: Use not "dla.h". ++ * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_log.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. ++ * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. ++ ++2011-10-23 Andreas Schwab ++ ++ * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Add __jnl_finite and ++ __ynl_finite aliases. ++ ++2011-10-22 Ulrich Drepper ++ ++ * sysdeps/x86_64/fpu/libm-test-ulps: Update. ++ ++ * sysdeps/ieee754/dbl-64/dla.h: When compiling with FMA4 support ++ define DLA_FMA. ++ [DLA_FMA] (EMULV): Use DLA_FMA. ++ [DLA_FMA] (MUL12): Use EMULV. ++ * sysdeps/ieee754/dbl-64/doasin.c [DLA_FMA]: Don't define variables ++ that are not needed. ++ * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_log.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. ++ * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. ++ ++2011-10-22 Andreas Schwab ++ ++ * math/s_nan.c: Undef __nan. ++ * math/s_nanf.c: Undef __nanf. ++ * math/s_nanl.c: Undef __nanl. ++ * sysdeps/ieee754/ldbl-128ibm/s_atanl.c: Include before ++ "math_private.h". ++ ++2011-10-22 Ulrich Drepper ++ ++ * math/s_catan.c: Add branch predictions. ++ * math/s_catanf.c: Likewise. ++ * math/s_catanh.c: Likewise. ++ * math/s_catanhf.c: Likewise. ++ * math/s_catanhl.c: Likewise. ++ * math/s_catanl.c: Likewise. ++ * math/s_cexp.c: Likewise. ++ * math/s_cexpf.c: Likewise. ++ * math/s_cexpl.c: Likewise. ++ * math/s_clog.c: Likewise. ++ * math/s_clog10.c: Likewise. ++ * math/s_clog10f.c: Likewise. ++ * math/s_clog10l.c: Likewise. ++ * math/s_clogf.c: Likewise. ++ * math/s_clogl.c: Likewise. ++ * math/s_csqrt.c: Likewise. ++ * math/s_csqrtf.c: Likewise. ++ * math/s_csqrtl.c: Likewise. ++ * math/s_ctanf.c: Likewise. ++ * math/s_ctanh.c: Likewise. ++ * math/s_ctanhf.c: Likewise. ++ * math/s_ctanhl.c: Likewise. ++ * math/s_ctanl.c: Likewise. ++ ++ * math/math_private.h: Define __nan, __nanf, __nanl. ++ * math/s_cacosh.c: Include . ++ * math/s_cacoshl.c: Likewise. ++ * math/s_casinh.c: Likewise. ++ * math/s_casinhf.c: Likewise. ++ * math/s_casinhl.c: Likewise. ++ * math/s_ccos.c: Rely entire on ccosh. ++ * math/s_ccosf.c: Rely entire on ccoshf. ++ * math/s_ccosl.c: Rely entirely on ccoshl. ++ * math/s_ccosh.c: Add branch predicion helpers. Add branch prediction. ++ Remove tests for FE_INVALID. ++ * math/s_ccoshf.c: Likewise. ++ * math/s_ccoshl.c: Likewise. ++ * math/s_csin.c: Likewise. ++ * math/s_csinf.c: Likewise. ++ * math/s_csinh.c Likewise. ++ * math/s_csinhf.c: Likewise. ++ * math/s_csinhl.c: Likewise. ++ * math/s_csinl.c: Likewise. ++ * math/s_ctan.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_acosh.c: Use __ieee754_sqrt. ++ * sysdeps/ieee754/flt-32/e_acoshf.c: Use __ieee754_sqrtf. ++ * sysdeps/ieee754/ldbl-96/e_acoshl.c: Use __ieee754_sqrtl. ++ ++2011-10-21 Ulrich Drepper ++ ++ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Fix ++ compilation problems. ++ ++ * sysdeps/ieee754/dbl-64/e_log.c (__ieee754_log): Add a few more ++ __builtin_expect. ++ ++2011-10-20 Ulrich Drepper ++ ++ * sysdeps/i386/configure.in: Test for -mfma4 option. ++ * config.h.in: Add HAVE_FMA4_SUPPORT entry. ++ * sysdeps/x86_64/multiarch/init-arch.h: Define HAS_FMA4 and ++ COMMON_CPUID_INDEX_80000001. ++ * sysdeps/x86_64/multiarch/init-arch.c: Read 80000001 leaf for AMD. ++ * sysdeps/x86_64/fpu/multiarch/s_fma.c: Test for FMA4 support and ++ use it if FMA3 is not supported. ++ * sysdeps/x86_64/fpu/multiarch/s_fmaf.c: Likewise. ++ ++ * sysdeps/x86_64/multiarch/s_fma.c: Moved to ../fpu/multiarch. ++ * sysdeps/x86_64/multiarch/s_fmaf.c: Likewise. ++ ++2011-10-20 Andreas Schwab ++ ++ [BZ #12892] ++ * elf/dl-fini.c (_dl_sort_fini): Ignore relocation dependency if ++ it would create a cycle with a link time dependency. ++ ++2011-10-19 Ulrich Drepper ++ ++ * sysdeps/x86_64/multiarch/rawmemchr.S: Small optimization to safe an ++ instruction. ++ * string/Makefile (strop-tests): Add rawmemchr. ++ * string/test-rawmemchr.c: New file. ++ ++ * sysdeps/x86_64/multiarch/init-arch.h: Define bit_AVX and index_AVX. ++ * sysdeps/x86_64/multiarch/strcmp-sse42.S: New file. Split out from... ++ * sysdeps/x86_64/multiarch/strcmp.S: ...here. Include strcmp-sse42.S ++ when compiling str{,n}casecmp and when AVX is available. Hook up ++ new optimized code in initializers. ++ ++2011-10-19 Andreas Schwab ++ ++ * sysdeps/x86_64/fpu/math_private.h (libc_feupdateenv): Use ++ __feraiseexcept instead of feraiseexcept. ++ ++2011-10-18 Ulrich Drepper ++ ++ * math/math_private.h: Define defaults for libc_fetestexcept and ++ libc_feupdateenv. ++ * sysdeps/ieee754/dbl-64/s_fma.c: Use libc_fe* interfaces. ++ * sysdeps/ieee754/dbl-64/s_fmaf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_exp2f.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_expf.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_nearbyintf.c: Likewise. ++ * sysdeps/x86_64/fpu/math_private.h: Define special versions of ++ libc_fetestexcept and libc_feupdateenv. ++ ++ * math/math_private.h: Define defaults for libc_feholdexcept_setround, ++ libc_feholdexcept_setroundf, libc_feholdexcept_setroundl. ++ * sysdeps/ieee754/dbl-64/e_exp2.c: Use libc_feholdexcept_setround. ++ * sysdeps/x86_64/fpu/math_private.h: Define special version of ++ libc_feholdexcept_setround. ++ ++ * sysdeps/x86_64/fpu/multiarch/Makefile [math] (libm-sysdep-routines): ++ Add s_nearbyint-c and s_nearbyintf-c. ++ * sysdeps/x86_64/fpu/bits/mathinline.h: Define nearbyint and ++ nearbyintf inlines. ++ * sysdeps/x86_64/fpu/multiarch/s_nearbyint-c.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_nearbyint.S: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_nearbyintf-c.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.S: New file. ++ ++ * math/math_private.h: Define defaults for libc_fegetround, ++ libc_fegetroundf, libc_fegetroundl, libc_fesetround, libc_fesetroundf, ++ libc_fesetroundl, libc_feholdexcept, libc_feholdexceptf, ++ libc_feholdexceptl, libc_fesetenv, libc_fesetenvf, libc_fesetenvl. ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_nearbyint.c: Use ++ libc_feholdexcept, libc_fesetround, libc_fesetenv instead of the ++ standard functions. ++ * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise. ++ Remove comments and hacks for old compiler versions. ++ * sysdeps/x86_64/fpu/math_private.h: Define special versions of ++ libc_fegetround, libc_fesetround, libc_feholdexcept, and ++ libc_feholdexceptl. ++ ++2011-10-18 Andreas Schwab ++ ++ * sysdeps/x86_64/fpu/bits/fenv.h: Add C linkage markers. ++ (__feraiseexcept_renamed): Add __NTH. ++ (feraiseexcept): Add __NTH. Rename local variables to fix ++ namespace violations. ++ ++2011-10-17 Ulrich Drepper ++ ++ * sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Small optimization. ++ ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_frexp.c: New file. ++ ++ * sysdeps/x86_64/fpu/math_private.h: Relax asm requirements for ++ recently added interfaces. ++ * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise. ++ ++ * sysdeps/x86_64/fpu/math_private.h: Add some parenthesis to be safe ++ about macro parameter expansion. ++ ++ * sysdeps/x86_64/fpu/bits/mathinline.h: Don't define inlines if ++ __NO_MATH_INLINES is defined. Cleanups. ++ ++ * sysdeps/x86_64/fpu/math_private.h: Define __rint, __rintf, __floor, ++ and __floorf is target has SSE4.1. ++ * sysdeps/x86_64/fpu/multiarch/s_floor-c.c: Undef first. ++ * sysdeps/x86_64/fpu/multiarch/s_floorf-c.: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/s_rint-c.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/s_rintf-c.c: Likewise. ++ ++ * sysdeps/x86_64/fpu/bits/mathinline.h (floor): Use correct function ++ name. ++ (floorf): Likewise. ++ ++ * nscd/netgroupcache.c (addgetnetgrentX): Fix #ifdef nesting. ++ ++2011-10-17 Andreas Schwab ++ ++ * misc/sys/cdefs.h: Fix last change. ++ ++ * grp/initgroups.c (internal_getgrouplist): Fix initgroups ++ database lookup. ++ ++2011-10-16 Ulrich Drepper ++ ++ * misc/sys/cdefs.h: Use leaf function attribute in __THROW. ++ ++ * sysdeps/ieee754/dbl-64/s_ceil.c: Avoid alias renamed. ++ * sysdeps/ieee754/dbl-64/s_floor.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_rint.c: Likewise. ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Likewise. ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Likewise. ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_ceilf.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_floorf.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_rintf.c: Likewise. ++ * sysdeps/x86_64/fpu/multiarch/Makefile: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_ceil-c.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_ceil.S: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_ceilf-c.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_ceilf.S: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_floor-c.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_floor.S: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_floorf-c.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_floorf.S: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_rint-c.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_rint.S: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_rintf-c.c: New file. ++ * sysdeps/x86_64/fpu/multiarch/s_rintf.S: New file. ++ ++ * sysdeps/x86_64/fpu/bits/mathinline.h: Add inlines for rint, rintf, ++ ceil, ceilf, floor, floorf. ++ ++ * elf/do-rel.h (elf_dynamic_do_Rel): Work around linker problem. ++ Perform IRELATIVE relocations last. ++ ++ * elf/do-rel.h: Add another parameter nrelative, replacing the ++ local variable with the same name. Change name of the function ++ to end in Rel or Rela (uppercase). ++ * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Add new element ++ nrelative to ranges. Only nonzero for DT_REL/DT_RELA. Pass to the ++ elf_dynamic_do_##reloc function. ++ ++2011-10-15 Ulrich Drepper ++ ++ * sysdeps/i386/i686/fpu/e_log.S: No need for the fyl2xp1 use, fyl2x ++ is sufficient, at least on modern CPUs. ++ ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: New file. ++ ++ * sysdeps/ieee754/dbl-64/e_cosh.c: Cleanup. ++ * sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c: New file. ++ ++ * math/Versions [libm] (GLIBC_2.15): Add __exp_finite, __expf_finite, ++ __expl_finite. ++ * math/bits/math-finite.h: Add entries for exp. ++ * math/e_expl.c: Add __*_finite alias. ++ * sysdeps/i386/fpu/e_exp.S: Likewise. ++ * sysdeps/i386/fpu/e_expf.S: Likewise. ++ * sysdeps/i386/fpu/e_expl.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_expf.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_expl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_expl.c: Likewise. ++ * sysdeps/ieee754/dbl-64/w_exp.c: Complete rewrite. ++ * sysdeps/ieee754/flt-32/w_expf.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/w_expl.c: Likewise. ++ ++ * sysdeps/i386/i686/fpu/e_logf.S: No need for the fyl2xp1 use, fyl2x ++ is sufficient, at least on modern CPUs. ++ ++ * ctype/ctype-info.c (__ctype_init): Define. ++ * include/ctype.h (__ctype_init): Declare. ++ (__ctype_b_loc): The variable is always initialized. ++ (__ctype_toupper_loc): Likewise. ++ (__ctype_tolower_loc): Likewise. ++ * ctype/Versions: Export __ctype_init for GLIBC_PRIVATE. ++ * sysdeps/unix/sysv/linux/init-first.c (_init): Call __ctype_init. ++ ++2011-10-15 Andreas Schwab ++ ++ * wcsmbs/wmemcmp.c (WMEMCMP): Define. ++ ++ * configure.in: Also look in $cxxmachine/include for C++ system ++ headers. ++ ++2011-09-27 Liubov Dmitrieva ++ ++ * sysdeps/x86_64/multiarch/Makefile: (sysdep_routines): Add ++ memcmp-ssse3 wmemcmp-sse4 wmemcmp-ssse3 wmemcmp-c ++ * sysdeps/x86_64/multiarch/memcmp-ssse3: New file. ++ * sysdeps/x86_64/multiarch/memcmp.S: Update. Add __memcmp_ssse3. ++ * sysdeps/x86_64/multiarch/memcmp-sse4.S: Update. ++ (USE_AS_WMEMCMP): New macro. ++ Fixing indents. ++ * sysdeps/x86_64/multiarch/wmemcmp.S: New file. ++ * sysdeps/x86_64/multiarch/wmemcmp-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/wmemcmp-sse4.S: New file. ++ * sysdeps/x86_64/multiarch/wmemcmp-c.S: New file. ++ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add ++ wmemcmp-ssse3 wmemcmp-sse4 wmemcmp-c ++ * sysdeps/i386/i686/multiarch/wmemcmp.S: New file. ++ * sysdeps/i386/i686/multiarch/wmemcmp-c.c: New file. ++ * sysdeps/i386/i686/multiarch/wmemcmp-ssse3.S: New file. ++ * sysdeps/i386/i686/multiarch/wmemcmp-sse4.S: New file. ++ * sysdeps/i386/i686/multiarch/memcmp-sse4.S: Update. ++ (USE_AS_WMEMCMP): New macro. ++ * sysdeps/i386/i686/multiarch/memcmp-ssse3: Likewise. ++ * sysdeps/string/test-memcmp.c: Update. ++ Fix simple_wmemcmp. ++ Add new tests. ++ * wcsmbs/wmemcmp.c: Update. ++ (WMEMCMP): New macro. ++ Fix overflow bug. ++ ++2011-10-12 Andreas Jaeger ++ ++ [BZ #13268] ++ * math/bits/mathcalls.h: Mark argument 2 of modf as non-null. ++ ++2011-10-15 Ulrich Drepper ++ ++ * libio/iofwide.c (do_length): Avoid warning. ++ ++ * ctype/ctype.h (__isctype_f): Add missing __THROW. ++ ++2011-10-14 Ulrich Drepper ++ ++ * elf/pldd-xx.c (find_maps): Remove leftover debug message. ++ ++ * sysdeps/i386/fpu/e_log.S: Add real definition of __log_finite. ++ * sysdeps/i386/fpu/e_logf.S: Add real definition of __logf_finite. ++ * sysdeps/i386/fpu/e_logl.S: Add real definition of __logl_finite. ++ * sysdeps/i386/i686/fpu/e_log.S: New file. ++ * sysdeps/i386/i686/fpu/e_logf.S: New file. ++ * sysdeps/i386/i686/fpu/e_logl.S: New file. ++ ++ * ctype/ctype.h: Add support for inlined isXXX functions when ++ compiling C++ code. ++ ++2011-10-14 Andreas Schwab ++ ++ * sysdeps/s390/fpu/libm-test-ulps: Adjust ULPs for jn tests. ++ ++ * sysdeps/x86_64/fpu/fraiseexcpt.c: Fix last change. ++ ++2011-10-13 Roland McGrath ++ ++ [BZ #13291] ++ * manual/string.texi (String/Array Comparison): Typo fix in strverscmp. ++ ++2011-10-13 Andreas Schwab ++ ++ * sysdeps/x86_64/fpu/fraiseexcpt.c: Add __feraiseexcept alias. ++ * sysdeps/x86_64/fpu/feupdateenv.c: Use __feraiseexcept instead of ++ feraiseexcept. ++ ++ * sysdeps/x86_64/memrchr.S: Check for zero size. ++ ++ * string/stratcliff.c: Add memrchr tests. ++ ++2011-10-12 Liubov Dmitrieva ++ ++ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add ++ memchr-sse2 memchr-sse2-bsf memrchr-sse2 memrchr-sse2-bsf memrchr-c ++ rawmemchr-sse2 rawmemchr-sse2-bsf. ++ * sysdeps/i386/i686/multiarch/memchr.S: New file. ++ * sysdeps/i386/i686/multiarch/memchr-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/memchr-sse2-bsf.S: New file. ++ * sysdeps/i386/i686/multiarch/memrchr.S: New file. ++ * sysdeps/i386/i686/multiarch/memrchr-c.c: New file. ++ * sysdeps/i386/i686/multiarch/memrchr-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/memrchr-sse2-bsf.S: New file. ++ * sysdeps/i386/i686/multiarch/rawmemchr.S: New file. ++ * sysdeps/i386/i686/multiarch/rawmemchr-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/rawmemchr-sse2-bsf.S: New file. ++ * string/memrchr.c (MEMRCHR): New macro. ++ ++2011-10-12 Ulrich Drepper ++ ++ Add integration with gcc's -ffinite-math-only and optimize wrapper ++ functions in libm. ++ * Versions.def: Define GLIBC_2.15 version for libm. ++ * math/Makefile (headers): Add bits/math-finite.h. ++ * math/bits/math-finite.h: New file. ++ * sysdeps/ia64/fpu/bits/math-finite.h: New file. ++ * math/Versions [libm] (GLIBC_2.15): Export __*_finite symbols. ++ * math/e_acoshl.c: Add __*_finite alias. ++ * math/e_acosl.c: Likewise. ++ * math/e_asinl.c: Likewise. ++ * math/e_atan2l.c: Likewise. ++ * math/e_atanhl.c: Likewise. ++ * math/e_coshl.c: Likewise. ++ * math/e_exp10.c: Likewise. ++ * math/e_exp10f.c: Likewise. ++ * math/e_exp10l.c: Likewise. ++ * math/e_exp2l.c: Likewise. ++ * math/e_fmodl.c: Likewise. ++ * math/e_gammal_r.c: Likewise. ++ * math/e_hypotl.c: Likewise. ++ * math/e_j0l.c: Likewise. ++ * math/e_j1l.c: Likewise. ++ * math/e_jnl.c: Likewise. ++ * math/e_lgammal_r.c: Likewise. ++ * math/e_log10l.c: Likewise. ++ * math/e_log2l.c: Likewise. ++ * math/e_logl.c: Likewise. ++ * math/e_powl.c: Likewise. ++ * math/e_sinhl.c: Likewise. ++ * math/e_sqrtl.c: Likewise. ++ * math/e_scalb.c: Completely rewritten and optimized. ++ * math/e_scalbf.c: Likewise. ++ * math/e_scalbl.c: Likewise. ++ * math/w_acos.c: Likewise. ++ * math/w_acosf.c: Likewise. ++ * math/w_acosl.c: Likewise. ++ * math/w_acosh.c: Likewise. ++ * math/w_acoshf.c: Likewise. ++ * math/w_acoshl.c: Likewise. ++ * math/w_asin.c: Likewise. ++ * math/w_asinf.c: Likewise. ++ * math/w_asinl.c: Likewise. ++ * math/w_atan2.c: Likewise. ++ * math/w_atan2f.c: Likewise. ++ * math/w_atan2l.c: Likewise. ++ * math/w_atanh.c: Likewise. ++ * math/w_atanhf.c: Likewise. ++ * math/w_atanhl.c: Likewise. ++ * math/w_exp10.c: Likewise. ++ * math/w_exp10f.c: Likewise. ++ * math/w_exp10l.c: Likewise. ++ * math/w_fmod.c: Likewise. ++ * math/w_fmodf.c: Likewise. ++ * math/w_fmodl.c: Likewise. ++ * math/w_j0.c: Likewise. ++ * math/w_j0f.c: Likewise. ++ * math/w_j0l.c: Likewise. ++ * math/w_j1.c: Likewise. ++ * math/w_j1f.c: Likewise. ++ * math/w_j1l.c: Likewise. ++ * math/w_jn.c: Likewise. ++ * math/w_jnf.c: Likewise. ++ * math/w_log.c: Likewise. ++ * math/w_logf.c: Likewise. ++ * math/w_logl.c: Likewise. ++ * math/w_log10.c: Likewise. ++ * math/w_log10f.c: Likewise. ++ * math/w_log10l.c: Likewise. ++ * math/w_log2.c: Likewise. ++ * math/w_log2f.c: Likewise. ++ * math/w_log2l.c: Likewise. ++ * math/w_pow.c: Likewise. ++ * math/w_powf.c: Likewise. ++ * math/w_powl.c: Likewise. ++ * math/w_remainder.c: Likewise. ++ * math/w_remainderf.c: Likewise. ++ * math/w_remainderl.c: Likewise. ++ * math/w_scalb.c: Likewise. ++ * math/w_scalbf.c: Likewise. ++ * math/w_scalbl.c: Likewise. ++ * math/w_sqrt.c: Likewise. ++ * math/w_sqrtf.c: Likewise. ++ * math/w_sqrtl.c: Likewise. ++ * math/math.h: Define __MATH_DECLARE_LDOUBLE if long double functions ++ are declared. Include if -ffinite-math-only is ++ used. ++ * math/math_private.h: Declare __kernel_standard_f. ++ * math/w_cosh.c: Remove cruft and optimize a bit. ++ * math/w_coshf.c: Likewise. ++ * math/w_coshl.c: Likewise. ++ * math/w_exp2.c: Likewise. ++ * math/w_exp2f.c: Likewise. ++ * math/w_exp2l.c: Likewise. ++ * math/w_hypot.c: Likewise. ++ * math/w_hypotf.c: Likewise. ++ * math/w_hypotl.c: Likewise. ++ * math/w_lgamma.c: Likewise. ++ * math/w_lgamma_r.c: Likewise. ++ * math/w_lgammaf.c: Likewise. ++ * math/w_lgammaf_r.c: Likewise. ++ * math/w_lgammal.c: Likewise. ++ * math/w_lgammal_r.c: Likewise. ++ * math/w_sinh.c: Likewise. ++ * math/w_sinhf.c: Likewise. ++ * math/w_sinhl.c: Likewise. ++ * math/w_tgamma.c: Likewise. ++ * math/w_tgammaf.c: Likewise. ++ * math/w_tgammal.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_atanh.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_atanhf.c: Likewise. ++ * sysdeps/i386/fpu/e_acos.S: Add __*_finite alias. ++ Minor optimizations. Pretty printing. Remove cruft. ++ * sysdeps/i386/fpu/e_acosf.S: Likewise. ++ * sysdeps/i386/fpu/e_acosh.S: Likewise. ++ * sysdeps/i386/fpu/e_acoshf.S: Likewise. ++ * sysdeps/i386/fpu/e_acoshl.S: Likewise. ++ * sysdeps/i386/fpu/e_acosl.c: Likewise. ++ * sysdeps/i386/fpu/e_asin.S: Likewise. ++ * sysdeps/i386/fpu/e_asinf.S: Likewise. ++ * sysdeps/i386/fpu/e_atan2.S: Likewise. ++ * sysdeps/i386/fpu/e_atan2f.S: Likewise. ++ * sysdeps/i386/fpu/e_atan2l.c: Likewise. ++ * sysdeps/i386/fpu/e_atanh.S: Likewise. ++ * sysdeps/i386/fpu/e_atanhf.S: Likewise. ++ * sysdeps/i386/fpu/e_atanhl.S: Likewise. ++ * sysdeps/i386/fpu/e_exp10.S: Likewise. ++ * sysdeps/i386/fpu/e_exp10f.S: Likewise. ++ * sysdeps/i386/fpu/e_exp10l.S: Likewise. ++ * sysdeps/i386/fpu/e_exp2.S: Likewise. ++ * sysdeps/i386/fpu/e_exp2f.S: Likewise. ++ * sysdeps/i386/fpu/e_exp2l.S: Likewise. ++ * sysdeps/i386/fpu/e_fmod.S: Likewise. ++ * sysdeps/i386/fpu/e_fmodf.S: Likewise. ++ * sysdeps/i386/fpu/e_fmodl.c: Likewise. ++ * sysdeps/i386/fpu/e_hypot.S: Likewise. ++ * sysdeps/i386/fpu/e_hypotf.S: Likewise. ++ * sysdeps/i386/fpu/e_log.S: Likewise. ++ * sysdeps/i386/fpu/e_log10.S: Likewise. ++ * sysdeps/i386/fpu/e_log10f.S: Likewise. ++ * sysdeps/i386/fpu/e_log10l.S: Likewise. ++ * sysdeps/i386/fpu/e_log2.S: Likewise. ++ * sysdeps/i386/fpu/e_log2f.S: Likewise. ++ * sysdeps/i386/fpu/e_log2l.S: Likewise. ++ * sysdeps/i386/fpu/e_logf.S: Likewise. ++ * sysdeps/i386/fpu/e_logl.S: Likewise. ++ * sysdeps/i386/fpu/e_pow.S: Likewise. ++ * sysdeps/i386/fpu/e_powf.S: Likewise. ++ * sysdeps/i386/fpu/e_powl.S: Likewise. ++ * sysdeps/i386/fpu/e_remainder.S: Likewise. ++ * sysdeps/i386/fpu/e_remainderf.S: Likewise. ++ * sysdeps/i386/fpu/e_remainderl.S: Likewise. ++ * sysdeps/i386/fpu/e_scalb.S: Likewise. ++ * sysdeps/i386/fpu/e_scalbf.S: Likewise. ++ * sysdeps/i386/fpu/e_scalbl.S: Likewise. ++ * sysdeps/i386/fpu/e_sqrt.S: Likewise. ++ * sysdeps/i386/fpu/e_sqrtf.S: Likewise. ++ * sysdeps/i386/fpu/e_sqrtl.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_acosh.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_asin.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_cosh.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_exp2.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_fmod.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_gamma_r.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_hypot.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_j0.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_j1.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_jn.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_log.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_log10.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_log2.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_sinh.c: Likewise. ++ * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. ++ * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_asinh.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_acosf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_acoshf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_asinf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_atan2f.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_coshf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_exp2f.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_fmodf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_hypotf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_j0f.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_j1f.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_jnf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_log10f.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_log2f.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_logf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_powf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_remainderf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_sinhf.c: Likewise. ++ * sysdeps/ieee754/flt-32/e_sqrtf.c: Likewise. ++ * sysdeps/ieee754/flt-32/s_asinhf.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_acoshl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_atan2l.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_atanhl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_fmodl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_hypotl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_j0l.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_log2l.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_logl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_powl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_remainderl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_acoshl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_acosl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_asinl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_atan2l.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_atanhl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_coshl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_fmodl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_log10l.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_log2l.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_logl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_powl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_remainderl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_acoshl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_atan2l.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_atanhl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_coshl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_hypotl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_remainderl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_sinhl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/s_asinhl.c: Likewise. ++ * sysdeps/powerpc/fpu/e_hypot.c: Likewise. ++ * sysdeps/powerpc/fpu/e_hypotf.c: Likewise. ++ * sysdeps/powerpc/fpu/e_sqrt.c: Likewise. ++ * sysdeps/powerpc/fpu/e_sqrtf.c: Likewise. ++ * sysdeps/powerpc/powerpc64/fpu/e_sqrt.c: Likewise. ++ * sysdeps/powerpc/powerpc64/fpu/e_sqrtf.c: Likewise. ++ * sysdeps/s390/fpu/e_sqrt.c: Likewise. ++ * sysdeps/s390/fpu/e_sqrtf.c: Likewise. ++ * sysdeps/s390/fpu/e_sqrtl.c: Likewise. ++ * sysdeps/sparc/sparc32/e_sqrt.c: Likewise. ++ * sysdeps/sparc/sparc64/fpu/e_sqrtl.c: Likewise. ++ * sysdeps/x86_64/fpu/e_exp2l.S: Likewise. ++ * sysdeps/x86_64/fpu/e_fmodl.S: Likewise. ++ * sysdeps/x86_64/fpu/e_log10l.S: Likewise. ++ * sysdeps/x86_64/fpu/e_log2l.S: Likewise. ++ * sysdeps/x86_64/fpu/e_logl.S: Likewise. ++ * sysdeps/x86_64/fpu/e_powl.S: Likewise. ++ * sysdeps/x86_64/fpu/e_remainderl.S: Likewise. ++ * sysdeps/x86_64/fpu/e_scalbl.S: Likewise. ++ * sysdeps/x86_64/fpu/e_sqrt.c: Likewise. Fix parameter order ++ * sysdeps/x86_64/fpu/e_sqrtf.c: Likewise. ++ * sysdeps/x86_64/fpu/math_private.h (__isnan): Cast d parameter. ++ (__isnanf): Likewise. ++ (__isinf_ns): Likewise. ++ (__isinf_nsf): Likewise. ++ (__finite): Likewise. ++ (__finitef): Likewise. ++ (__ieee754_sqrt): Define as macro. ++ (__ieee754_sqrtf): Define as macro. ++ (__ieee754_sqrtl): Define as macro. ++ * sysdeps/x86_64/fpu/bits/fenv.h (feraiseexcept): Add partially ++ inlined copy. ++ * sysdeps/x86_64/fpu/bits/mathinline.h: Make use of ++ __FINITE_MATH_ONLY__ consistent. ++ * sysdeps/ieee754/k_standard.c (__kernel_standard_f): New function. ++ ++2011-10-10 Andreas Schwab ++ ++ * inet/getnetgrent_r.c (nscd_getnetgrent): Use __rawmemchr instead ++ of rawmemchr. ++ ++ * sysdeps/ieee754/ldbl-128ibm/s_isinf_nsl.c: New file. ++ ++2011-10-09 Ulrich Drepper ++ ++ * po/ja.po: Update from translation team. ++ ++2011-10-08 Roland McGrath ++ ++ * locale/programs/locarchive.c (prepare_address_space): New function. ++ (create_archive, enlarge_archive, open_archive): Use it. ++ ++ * sysdeps/unix/sysv/linux/x86_64/time.c: Move #include ++ inside [SHARED], where it is used. ++ ++ * nscd/nscd_proto.h: Declare __nscd_setnetgrent. ++ ++ * nss/getent.c (netgroup_keys): Remove unused variable. ++ * sysdeps/ieee754/flt-32/s_isinf_nsf.c: Likewise. ++ ++2011-10-08 Ulrich Drepper ++ ++ * include/math.h: Declare __isinf_ns, __isinf_nsf, __isinf_nsl. ++ * sysdeps/ieee754/dbl-64/s_isinf_ns.c: New file. ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_isinf_ns.c: New file. ++ * sysdeps/ieee754/flt-32/s_isinf_nsf.c: New file. ++ * sysdeps/ieee754/ldbl-128/s_isinf_nsl.c: New file. ++ * sysdeps/ieee754/ldbl-96/s_isinf_nsl.c: New file. ++ * math/Makefile (libm-calls): Add s_isinf_ns. ++ * math/divtc3.c: Use __isinf_nsl instead of isinf. ++ * math/multc3.c: Likewise. ++ * math/s_casin.c: Likewise. ++ * math/s_casinf.c: Likewise. ++ * math/s_casinl.c: Likewise. ++ * math/s_ccos.c: Likewise. ++ * math/s_ccosf.c: Likewise. ++ * math/s_ccosl.c: Likewise. ++ * math/s_ctan.c: Likewise. ++ * math/s_ctanf.c: Likewise. ++ * math/s_ctanh.c: Likewise. ++ * math/s_ctanhf.c: Likewise. ++ * math/s_ctanhl.c: Likewise. ++ * math/s_ctanl.c: Likewise. ++ * math/w_fmod.c: Likewise. ++ * math/w_fmodf.c: Likewise. ++ * math/w_fmodl.c: Likewise. ++ * math/w_remainder.c: Likewise. ++ * math/w_remainderf.c: Likewise. ++ * math/w_remainderl.c: Likewise. ++ * sysdeps/ieee754/dbl-64/s_finite.c: Undefine __finite. ++ * sysdeps/ieee754/dbl-64/s_isnan.c: Undefine __isnan. ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: Undefine __finite. ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: Undefine __nan. ++ * sysdeps/ieee754/flt-32/s_finitef.c: Undefine __finitef. ++ * sysdeps/ieee754/flt-32/s_isnanf.c: Undefine __nan. ++ * sysdeps/x86_64/fpu/math_private.h: Add optimized versions of __isnsn, ++ __isnanf, __isinf_ns, __isinf_nsf, __finite, and __finitef. ++ ++ * stdio-common/printf_fp.c: Use the fact that isinf returns the sign ++ of the number. ++ * stdio-common/printf_fphex.c: Likewise. ++ * stdio-common/printf_size.c: Likewise. ++ ++ * math/e_exp10.c: Include math_private.h using <...> not "...". ++ * math/e_exp10f.c: Likewise. ++ * math/e_exp10l.c: Likewise. ++ * math/e_exp2l.c: Likewise. ++ * math/e_j0l.c: Likewise. ++ * math/e_j1l.c: Likewise. ++ * math/e_jnl.c: Likewise. ++ * math/e_lgammal_r.c: Likewise. ++ * math/e_rem_pio2l.c: Likewise. ++ * math/e_scalb.c: Likewise. ++ * math/e_scalbf.c: Likewise. ++ * math/e_scalbl.c: Likewise. ++ * math/k_cosl.c: Likewise. ++ * math/k_sinl.c: Likewise. ++ * math/k_tanl.c: Likewise. ++ * math/s_cacoshf.c: Likewise. ++ * math/s_catan.c: Likewise. ++ * math/s_catanf.c: Likewise. ++ * math/s_catanh.c: Likewise. ++ * math/s_catanhf.c: Likewise. ++ * math/s_catanhl.c: Likewise. ++ * math/s_catanl.c: Likewise. ++ * math/s_ccosh.c: Likewise. ++ * math/s_ccoshf.c: Likewise. ++ * math/s_ccoshl.c: Likewise. ++ * math/s_cexp.c: Likewise. ++ * math/s_cexpf.c: Likewise. ++ * math/s_cexpl.c: Likewise. ++ * math/s_clog.c: Likewise. ++ * math/s_clog10.c: Likewise. ++ * math/s_clog10f.c: Likewise. ++ * math/s_clog10l.c: Likewise. ++ * math/s_clogf.c: Likewise. ++ * math/s_clogl.c: Likewise. ++ * math/s_csin.c: Likewise. ++ * math/s_csinf.c: Likewise. ++ * math/s_csinh.c: Likewise. ++ * math/s_csinhf.c: Likewise. ++ * math/s_csinhl.c: Likewise. ++ * math/s_csinl.c: Likewise. ++ * math/s_csqrt.c: Likewise. ++ * math/s_csqrtf.c: Likewise. ++ * math/s_csqrtl.c: Likewise. ++ * math/s_ctan.c: Likewise. ++ * math/s_ctanf.c: Likewise. ++ * math/s_ctanh.c: Likewise. ++ * math/s_ctanhf.c: Likewise. ++ * math/s_ctanhl.c: Likewise. ++ * math/s_ctanl.c: Likewise. ++ * math/s_ldexp.c: Likewise. ++ * math/s_ldexpf.c: Likewise. ++ * math/s_ldexpl.c: Likewise. ++ * math/s_significand.c: Likewise. ++ * math/s_significandf.c: Likewise. ++ * math/s_significandl.c: Likewise. ++ * math/w_acos.c: Likewise. ++ * math/w_acosf.c: Likewise. ++ * math/w_acosh.c: Likewise. ++ * math/w_acoshf.c: Likewise. ++ * math/w_acoshl.c: Likewise. ++ * math/w_acosl.c: Likewise. ++ * math/w_asin.c: Likewise. ++ * math/w_asinf.c: Likewise. ++ * math/w_asinl.c: Likewise. ++ * math/w_atan2.c: Likewise. ++ * math/w_atan2f.c: Likewise. ++ * math/w_atan2l.c: Likewise. ++ * math/w_atanh.c: Likewise. ++ * math/w_atanhf.c: Likewise. ++ * math/w_atanhl.c: Likewise. ++ * math/w_cosh.c: Likewise. ++ * math/w_coshf.c: Likewise. ++ * math/w_coshl.c: Likewise. ++ * math/w_dremf.c: Likewise. ++ * math/w_exp10.c: Likewise. ++ * math/w_exp10f.c: Likewise. ++ * math/w_exp10l.c: Likewise. ++ * math/w_exp2.c: Likewise. ++ * math/w_exp2f.c: Likewise. ++ * math/w_fmod.c: Likewise. ++ * math/w_fmodf.c: Likewise. ++ * math/w_fmodl.c: Likewise. ++ * math/w_hypot.c: Likewise. ++ * math/w_hypotf.c: Likewise. ++ * math/w_hypotl.c: Likewise. ++ * math/w_j0.c: Likewise. ++ * math/w_j0f.c: Likewise. ++ * math/w_j0l.c: Likewise. ++ * math/w_j1.c: Likewise. ++ * math/w_j1f.c: Likewise. ++ * math/w_j1l.c: Likewise. ++ * math/w_jn.c: Likewise. ++ * math/w_jnf.c: Likewise. ++ * math/w_jnl.c: Likewise. ++ * math/w_lgamma.c: Likewise. ++ * math/w_lgamma_r.c: Likewise. ++ * math/w_lgammaf.c: Likewise. ++ * math/w_lgammaf_r.c: Likewise. ++ * math/w_lgammal.c: Likewise. ++ * math/w_lgammal_r.c: Likewise. ++ * math/w_log.c: Likewise. ++ * math/w_log10.c: Likewise. ++ * math/w_log10f.c: Likewise. ++ * math/w_log10l.c: Likewise. ++ * math/w_log2.c: Likewise. ++ * math/w_log2f.c: Likewise. ++ * math/w_log2l.c: Likewise. ++ * math/w_logf.c: Likewise. ++ * math/w_logl.c: Likewise. ++ * math/w_pow.c: Likewise. ++ * math/w_powf.c: Likewise. ++ * math/w_powl.c: Likewise. ++ * math/w_remainder.c: Likewise. ++ * math/w_remainderf.c: Likewise. ++ * math/w_remainderl.c: Likewise. ++ * math/w_scalb.c: Likewise. ++ * math/w_scalbf.c: Likewise. ++ * math/w_scalbl.c: Likewise. ++ * math/w_sinh.c: Likewise. ++ * math/w_sinhf.c: Likewise. ++ * math/w_sinhl.c: Likewise. ++ * math/w_sqrt.c: Likewise. ++ * math/w_sqrtf.c: Likewise. ++ * math/w_sqrtl.c: Likewise. ++ * math/w_tgamma.c: Likewise. ++ * math/w_tgammaf.c: Likewise. ++ * math/w_tgammal.c: Likewise. ++ ++ * po/ja.po: Update from translation team. ++ ++2011-09-29 Andreas Jaeger ++ ++ [BZ #13179] ++ * sunrpc/netname.c (netname2host): Fix logic. ++ ++ [BZ #6779] ++ [BZ #6783] ++ * math/w_remainderl.c (__remainderl): Handle (NaN, 0) and (Inf,y) ++ correctly. ++ * math/w_remainder.c (__remainder): Likewise. ++ * math/w_remainderf.c (__remainderf): Likewise. ++ * math/libm-test.inc (remainder_test): Add test cases. ++ ++2011-10-04 Andreas Krebbel ++ ++ * stdlib/longlong.h: Update from GCC. Fix zarch smul_ppmm and ++ sdiv_qrnnd. ++ ++2011-10-07 Ulrich Drepper ++ ++ * string/test-memcmp.c: Avoid unncessary #defines. ++ Patch by Liubov Dmitrieva . ++ ++2011-08-31 Liubov Dmitrieva ++ ++ * sysdeps/x86_64/multiarch/rawmemchr.S: Update. ++ Use new sse2 version for core i3 - i7 as it's faster ++ than sse42 version. ++ (bit_Prefer_PMINUB_for_stringop): New. ++ * sysdeps/x86_64/rawmemchr.S: Update. ++ Replace with faster SSE2 version. ++ * sysdeps/x86_64/memrchr.S: New file. ++ * sysdeps/x86_64/memchr.S: Update. ++ Replace with faster SSE2 version. ++ ++2011-09-12 Marek Polacek ++ ++ * elf/dl-load.c (lose): Add cast to avoid warning. ++ ++2011-10-07 Ulrich Drepper ++ ++ * po/ca.po: Update from translation team. ++ ++ * inet/getnetgrent_r.c: Hook up nscd. ++ * nscd/Makefile (routines): Add nscd_netgroup. ++ (nscd-modules): Add netgroupcache. ++ (CFLAGS-netgroupcache.c): Define. ++ * nscd/cache.c (readdfcts): Add entries for GETNETGRENT and INNETGR. ++ (cache_search): Add const to second parameter. ++ * nscd/connections.c (serv2str): Add entries for GETNETGRENT and ++ INNETGR. ++ (dbs): Add netgrdb entry. ++ (reqinfo): Add entries for GETNETGRENT, INNETGR, and GETFDNETGR. ++ (verify_persistent_db): Handle netgrdb. ++ (handle_request): Handle GETNETGRENT, INNETGR, and GETFDNETGR. ++ * nscd/nscd-client.h (request_type): Add GETNETGRENT, INNETGR, and ++ GETFDNETGR. ++ (netgroup_response_header): Define. ++ (innetgroup_response_header): Define. ++ (datahead): Add netgroup_response_header and innetgroup_response_header ++ elements. ++ * nscd/nscd.conf: Add entries for netgroup cache. ++ * nscd/nscd.h (dbtype): Add netgrdb. ++ (_PATH_NSCD_NETGROUP_DB): Define. ++ (netgroup_iov_disabled): Declare. ++ (xmalloc, xcalloc, xrealloc): Move declarations here. ++ (cache_search): Adjust prototype. ++ Add netgroup-related prototypes. ++ * nscd/nscd_conf.c (dbnames): Add netgrdb entry. ++ * nscd/nscd_proto.h (__nss_not_use_nscd_netgroup): Declare. ++ (__nscd_innetgr): Declare. ++ * nscd/selinux.c (perms): Use access_vector_t as element type and ++ add netgroup-related initializers. ++ * nscd/netgroupcache.c: New file. ++ * nscd/nscd_netgroup.c: New file. ++ * nss/Versions [libc] (GLIBC_PRIVATE): Export __nss_lookup. ++ * nss/getent.c (netgroup_keys): Use setnetgrent only for one parameter. ++ For four parameters use innetgr. ++ * nss/nss_files/files-init.c: Add definition and callback for netgr. ++ * nss/nsswitch.c (__nss_lookup): Add libc_hidden_def. ++ (__nss_disable_nscd): Set __nss_not_use_nscd_netgroup. ++ * nss/nsswitch.h (__nss_lookup): Add libc_hidden_proto. ++ ++ * nscd/connections.c (register_traced_file): Don't register file ++ for disabled databases. ++ ++2011-10-06 Ulrich Drepper ++ ++ * nscd/grpcache.c (cache_addgr): Initialize written in all cases. ++ ++ * nss/nsswitch.c (__nss_lookup_function): Fix order of deleting ++ from tree and freeing node. ++ ++2011-09-25 Jiri Olsa ++ ++ * nss/nsswitch.c (__nss_database_lookup): Handle ++ nss_parse_service_list out of memory case. ++ ++2011-09-15 Jiri Olsa ++ ++ * nss/nsswitch.c (__nss_lookup_function): Handle __tsearch ++ out of memory case. ++ ++2011-10-04 Andreas Schwab ++ ++ * include/dlfcn.h (__RTLD_NOIFUNC): Define. ++ * elf/do-rel.h (elf_dynamic_do_rel): Add parameter skip_ifunc and ++ pass it down. ++ * elf/dynamic-link.h: Adjust prototypes of elf_machine_rel, ++ elf_machine_rela, elf_machine_lazy_rel. ++ (_ELF_DYNAMIC_DO_RELOC): Add parameter skip_ifunc and pass it down. ++ (ELF_DYNAMIC_DO_REL): Likewise. ++ (ELF_DYNAMIC_DO_RELA): Likewise. ++ (ELF_DYNAMIC_RELOCATE): Likewise. ++ * elf/dl-reloc.c (_dl_relocate_object): Pass __RTLD_NOIFUNC down ++ to ELF_DYNAMIC_DO_REL. ++ * elf/rtld.c (_dl_start): Adjust use of ELF_DYNAMIC_RELOCATE. ++ (dl_main): In trace mode always set __RTLD_NOIFUNC. ++ * elf/dl-conflict.c (_dl_resolve_conflicts): Adjust call to ++ elf_machine_rela. ++ * sysdeps/i386/dl-machine.h (elf_machine_rel): Add parameter ++ skip_ifunc, don't call ifunc function if non-zero. ++ (elf_machine_rela): Likewise. ++ (elf_machine_lazy_rel): Likewise. ++ (elf_machine_lazy_rela): Likewise. ++ * sysdeps/ia64/dl-machine.h (elf_machine_rela): Likewise. ++ (elf_machine_lazy_rel): Likewise. ++ * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): ++ Likewise. ++ (elf_machine_lazy_rel): Likewise. ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): ++ Likewise. ++ (elf_machine_lazy_rel): Likewise. ++ * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Likewise. ++ (elf_machine_lazy_rel): Likewise. ++ * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise. ++ (elf_machine_lazy_rel): Likewise. ++ * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. ++ (elf_machine_lazy_rel): Likewise. ++ * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Likewise. ++ (elf_machine_lazy_rel): Likewise. ++ * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise. ++ (elf_machine_lazy_rel): Likewise. ++ * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. ++ (elf_machine_lazy_rel): Likewise. ++ ++2011-09-28 Ulrich Drepper ++ ++ * nss/nss_files/files-init.c (_nss_files_init): Use static ++ initialization for all the *_traced_file variables. ++ ++2011-09-28 Andreas Schwab ++ ++ * sysdeps/powerpc/fpu/libm-test-ulps: Adjust ULPs for jn tests. ++ ++2011-09-27 Roland McGrath ++ ++ [BZ #13226] ++ * manual/signal.texi (Longjmp in Handler): Grammar fixes. ++ ++2011-09-27 Andreas Schwab ++ ++ * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): ++ Reread the line before reparsing it. ++ ++2011-09-26 Andreas Schwab ++ ++ * sysdeps/x86_64/fpu/bits/mathinline.h: Use __asm instead of asm. ++ ++2011-09-21 Chung-Lin Tang ++ Maxim Kuvyrkov ++ Joseph Myers ++ ++ * resolv/Makefile (LDLIBS-resolv.so): Link in $(elfobjdir)/ld.so ++ if needed for __stack_chk_guard. ++ ++2011-09-19 Roland McGrath ++ ++ * sysdeps/posix/spawni.c (script_execute): Always define it. ++ It will be optimized away if unused. ++ (maybe_script_execute): New function. ++ (__spawni): Call it. ++ ++ * Makerules: Don't include tls.make. ++ (config-tls): Always set to thread. ++ * tls.make.c: File removed. ++ ++2011-09-19 Mike Frysinger ++ ++ * Makeconfig (CPPFLAGS): Prepend $(CPPFLAGS-config). ++ * config.make.in (CPPFLAGS-config): New substituted variable. ++ ++2011-09-15 Ulrich Drepper ++ ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: New file. ++ ++ [BZ #13192] ++ * sysdeps/unix/sysv/linux/bits/in.h (IP_MULTICAST_ALL): Define. ++ Patch mostly by Neil Horman . ++ ++2011-09-15 Roland McGrath ++ ++ * sysdeps/unix/sysv/linux/i386/____longjmp_chk.S ++ (CALL_FAIL): Use HIDDEN_JUMPTARGET for __fortify_fail. ++ * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S ++ (CALL_FAIL): Likewise. ++ * sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S (CHECK_RSP): Likewise. ++ (CALL_FAIL): Macro removed. ++ Patch mostly by Mike Frysinger . ++ ++2011-09-15 Ulrich Drepper ++ ++ * sysdeps/x86_64/fpu/bits/mathinline.h: Add fmax and fmin optimizations ++ for __FINITE_MATH_ONLY__ == 1. ++ ++2011-09-15 Andreas Schwab ++ ++ * sysdeps/powerpc/fpu/e_hypot.c (__ieee754_hypot): Use ++ __ieee754_sqrt instead of sqrt. ++ * sysdeps/powerpc/fpu/e_hypotf.c (__ieee754_hypotf): Use ++ __ieee754_sqrtf instead of sqrtf. ++ * sysdeps/powerpc/fpu/e_rem_pio2f.c (__ieee754_rem_pio2f): Use ++ __floorf instead of floorf. ++ * sysdeps/powerpc/fpu/k_rem_pio2f.c (__fp_kernel_rem_pio2f): Use ++ __floorf, __truncf instead of floorf, truncf. ++ ++2011-09-14 Ulrich Drepper ++ ++ * sysdeps/x86_64/fpu/s_copysign.S [ELF]: Use correct section. ++ ++ * sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Use ++ __extern_always_inline. ++ Define lrint{f,} and llrint{f,} for 64-bit and in some situations for ++ 32-bit. ++ ++2011-09-14 Andreas Schwab ++ ++ * elf/rtld.c (dl_main): Also relocate in dependency order when ++ doing symbol dependency testing. ++ ++2011-09-13 Andreas Schwab ++ ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): ++ Always define `refsym'. ++ ++2011-09-13 Andreas Schwab ++ ++ * misc/sys/select.h (__FD_MASK): Renamed from __FDMASK. ++ (__FD_ELT): Renamed from __FDELT. ++ * misc/bits/select2.h (__FD_ELT): Likewise. ++ * bits/select.h (__FD_SET, __FD_CLR, __FD_ISSET): Use __FD_ELT, ++ __FD_MASK instead of __FDELT, __FDMASK. ++ * sysdeps/i386/bits/select.h (__FD_SET, __FD_CLR, __FD_ISSET): ++ Likewise. ++ * sysdeps/x86_64/bits/select.h (__FD_SET, __FD_CLR, __FD_ISSET): ++ Likewise. ++ ++ * elf/Makefile (gen-ldd): Fix pattern. ++ ++ * elf/rtld.c (dl_main): Only use USE___THREAD when defined. ++ (init_tls): Likewise. ++ ++2011-09-12 Ulrich Drepper ++ ++ * sysdeps/ieee754/dbl-64/wordsize-64/s_logb.c: New file. ++ ++2011-09-12 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): Cast to ++ `struct cmsghdr *' instead of `void *'. ++ * sysdeps/unix/sysv/linux/sparc/bits/socket.h (__cmsg_nxthdr): ++ Likewise. ++ ++2011-09-11 Andreas Schwab ++ ++ * elf/Makefile (gen-ldd): Prepend $(..) to $(ldd-rewrite-script) ++ if non-absolute. ++ * sysdeps/unix/sysv/linux/configure.in: Remove leading ../ from ++ ldd_rewrite_script. ++ ++2011-09-11 Ulrich Drepper ++ ++ * configure.in: Remove --with-tls option. ++ * config.h.in: Remove HAVE_TLS_SUPPORT entry. ++ * sysdeps/i386/elf/configure.in: Always test for TLS support and err ++ out in case it is missing. ++ * sysdeps/ia64/elf/configure.in: Likewise. ++ * sysdeps/powerpc/powerpc32/elf/configure.in: Likewise. ++ * sysdeps/powerpc/powerpc64/elf/configure.in: Likewise. ++ * sysdeps/s390/s390-32/elf/configure.in: Likewise. ++ * sysdeps/s390/s390-64/elf/configure.in: Likewise. ++ * sysdeps/sh/elf/configure.in: Likewise. ++ * sysdeps/sparc/sparc32/elf/configure.in: Likewise. ++ * sysdeps/sparc/sparc64/elf/configure.in: Likewise. ++ * sysdeps/x86_64/elf/configure.in: Likewise. ++ * sysdeps/mach/hurd/i386/tls.h: Remove test for HAVE_TLS_SUPPORT. ++ * sysdeps/mach/hurd/tls.h: Likewise. ++ ++ [BZ #13067] ++ * malloc/obstack.h [!GNUC] (obstack_free): Avoid cast to int. ++ ++ [BZ #13090] ++ * configure.in: Fix use of AC_INIT. ++ ++ * elf/dl-support.c (_dl_pagesize): Initialize to EXEC_PAGESIZE. ++ ++2011-09-10 Ulrich Drepper ++ ++ * malloc/malloc.c: Replace MALLOC_FAILURE_ACTION with use of ++ __set_errno. ++ * malloc/hooks.c: Likewise. ++ ++ * malloc/arena.c (ptmalloc_init_minimal): Removed. Initialize all ++ variables statically. ++ (narenas): Initialize. ++ (list_lock): Initialize. ++ (ptmalloc_init): Don't call ptmalloc_init_minimal. Remove ++ initializtion of main_arena and list_lock. Small cleanups. ++ Replace all uses of malloc_getpagesize with GLRO(dl_pagesize). ++ * malloc/malloc.c: Remove malloc_getpagesize. Include . ++ Add initializers to main_arena and mp_. ++ (malloc_state): Remove pagesize member. Change all users to use ++ GLRO(dl_pagesize). ++ ++ * elf/rtld.c (rtld_global_ro): Initialize _dl_pagesize. ++ * sysdeps/unix/sysv/linux/getpagesize.c: Simplify. GLRO(dl_pagesize) ++ is always initialized. ++ ++ * malloc/malloc.c: Removed unused configurations and dead code. ++ * malloc/arena.c: Likewise. ++ * malloc/hooks.c: Likewise. ++ * malloc/Makefile (CPPFLAGS-malloc.c): Don't add -DATOMIC_FASTBINS. ++ ++ * include/tls.h: Removed. USE___THREAD must always be defined. ++ * bits/libc-tsd.h: Don't handle !USE___THREAD. ++ * elf/dl-libc.c: Likewise. ++ * elf/dl-tsd.c: Likewise. ++ * include/errno.h: Likewise. ++ * include/netdb.h: Likewise. ++ * include/resolv.h: Likewise. ++ * inet/herrno-loc.c: Likewise. ++ * inet/herrno.c: Likewise. ++ * malloc/arena.c: Likewise. ++ * malloc/hooks.c: Likewise. ++ * malloc/malloc.c: Likewise. ++ * resolv/res-state.c: Likewise. ++ * resolv/res_libc.c: Likewise. ++ * sysdeps/i386/dl-machine.h: Likewise. ++ * sysdeps/ia64/dl-machine.h: Likewise. ++ * sysdeps/powerpc/powerpc32/dl-machine.h: Likewise. ++ * sysdeps/powerpc/powerpc64/dl-machine.h: Likewise. ++ * sysdeps/s390/s390-32/dl-machine.h: Likewise. ++ * sysdeps/s390/s390-64/dl-machine.h: Likewise. ++ * sysdeps/sh/dl-machine.h: Likewise. ++ * sysdeps/sparc/sparc32/dl-machine.h: Likewise. ++ * sysdeps/sparc/sparc64/dl-machine.h: Likewise. ++ * sysdeps/unix/i386/sysdep.S: Likewise. ++ * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. ++ * sysdeps/unix/x86_64/sysdep.S: Likewise. ++ * sysdeps/x86_64/dl-machine.h: Likewise. ++ * tls.make.c: Likewise. ++ ++ * configure.in: Remove --with-__thread option. Make tests for ++ --no-whole-archive, __builtin_expect, symbol redirection, __thread, ++ tls_model attribute fail if no support is available. Remove ++ USE_IN_LIBIO. ++ * Makeconfig: Adjust for dropped configure option. All features are ++ now mandatory. ++ * Makerules: Likewise. ++ * Versions.def: Likewise. ++ * argp/argp-fmtstream.c: Likewise. ++ * argp/argp-fmtstream.h: Likewise. ++ * argp/argp-help.c: Likewise. ++ * assert/assert.c: Likewise. ++ * config.h.in: Likewise. ++ * config.make.in: Likewise. ++ * configure: Likewise. ++ * configure.in: Likewise. ++ * csu/Versions: Likewise. ++ * csu/init.c: Likewise. ++ * elf/tst-audit2.c: Likewise. ++ * elf/tst-tls10.c: Likewise. ++ * elf/tst-tls10.h: Likewise. ++ * elf/tst-tls11.c: Likewise. ++ * elf/tst-tls12.c: Likewise. ++ * elf/tst-tls14.c: Likewise. ++ * elf/tst-tlsmod11.c: Likewise. ++ * elf/tst-tlsmod12.c: Likewise. ++ * elf/tst-tlsmod13.c: Likewise. ++ * elf/tst-tlsmod13a.c: Likewise. ++ * elf/tst-tlsmod14a.c: Likewise. ++ * elf/tst-tlsmod15b.c: Likewise. ++ * elf/tst-tlsmod16a.c: Likewise. ++ * elf/tst-tlsmod16b.c: Likewise. ++ * elf/tst-tlsmod7.c: Likewise. ++ * elf/tst-tlsmod8.c: Likewise. ++ * elf/tst-tlsmod9.c: Likewise. ++ * gmon/gmon.c: Likewise. ++ * grp/fgetgrent_r.c: Likewise. ++ * grp/putgrent.c: Likewise. ++ * hurd/fopenport.c: Likewise. ++ * include/libc-symbols.h: Likewise. ++ * include/tls.h: Likewise. ++ * intl/gettextP.h: Likewise. ++ * intl/loadinfo.h: Likewise. ++ * locale/global-locale.c: Likewise. ++ * locale/localeinfo.h: Likewise. ++ * mach/devstream.c: Likewise. ++ * malloc/arena.c: Likewise. ++ * malloc/set-freeres.c: Likewise. ++ * misc/err.c: Likewise. ++ * misc/getttyent.c: Likewise. ++ * misc/mntent_r.c: Likewise. ++ * posix/getopt.c: Likewise. ++ * posix/wordexp.c: Likewise. ++ * pwd/fgetpwent_r.c: Likewise. ++ * resolv/Versions: Likewise. ++ * resolv/res_hconf.c: Likewise. ++ * shadow/fgetspent_r.c: Likewise. ++ * shadow/putspent.c: Likewise. ++ * stdio-common/printf_fphex.c: Likewise. ++ * stdio-common/tmpfile.c: Likewise. ++ * stdlib/abort.c: Likewise. ++ * stdlib/fmtmsg.c: Likewise. ++ * sunrpc/auth_unix.c: Likewise. ++ * sunrpc/clnt_perr.c: Likewise. ++ * sunrpc/clnt_tcp.c: Likewise. ++ * sunrpc/clnt_udp.c: Likewise. ++ * sunrpc/clnt_unix.c: Likewise. ++ * sunrpc/openchild.c: Likewise. ++ * sunrpc/svc_simple.c: Likewise. ++ * sunrpc/svc_tcp.c: Likewise. ++ * sunrpc/svc_udp.c: Likewise. ++ * sunrpc/svc_unix.c: Likewise. ++ * sunrpc/xdr.c: Likewise. ++ * sunrpc/xdr_array.c: Likewise. ++ * sunrpc/xdr_rec.c: Likewise. ++ * sunrpc/xdr_ref.c: Likewise. ++ * sunrpc/xdr_stdio.c: Likewise. ++ ++2011-09-09 Ulrich Drepper ++ ++ * sysdeps/i386/fpu/libm-test-ulps: Adjust ULPs for jn tests. ++ ++2011-07-03 Andreas Jaeger ++ ++ * math/libm-test.inc (jn_test): Add tests for BZ#11589. ++ * sysdeps/x86_64/fpu/libm-test-ulps: Add new ULPs for jn_test, ++ regenerate with gen-libm-tests.pl. ++ ++2010-05-12 Petr Baudis ++ ++ [BZ #11589] ++ * sysdeps/ieee754/dbl-64/e_jn.c: Compensate major precision loss ++ around j0() zero points by switching to j1(). ++ * sysdeps/ieee754/flt-32/e_jnf.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise. ++ * sysdeps/ieee754/ldbl-128ibm/e_jnl.c: Likewise. ++ * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. ++ ++2011-09-09 Ulrich Drepper ++ ++ * sysdeps/unix/bsd/bsd4.4/bits/socket.h (__cmsg_nxthdr): Use NULL ++ instead of 0. ++ * sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): Use (void*)0 ++ instead of 0. . ++ * sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise. ++ Patch in part by Pavel Roskin . ++ ++ [BZ #13138] ++ * stdio-common/vfscanf.c (ADDW): Allocate large memory block with ++ realloc. ++ (_IO_vfscanf_internal): Remove reteof. Use errout after setting done. ++ Free memory block if necessary. ++ ++ [BZ #12847] ++ * libio/genops.c (INTDEF): For string streams the _lock pointer can ++ be NULL. Don't lock in this case. ++ ++2011-09-09 Roland McGrath ++ ++ * elf/elf.h (ELFOSABI_GNU): New macro. ++ (ELFOSABI_LINUX): Define to that. ++ ++2011-07-29 Denis Zaitceff ++ ++ * string/strncat.c (strncat): Undef the symbol in case it has been ++ defined in bits/string.h. ++ ++2011-09-09 Ulrich Drepper ++ ++ * elf/sotruss.ksh: Clean up, fix, and complete help messages. ++ ++ * elf/dl-iteratephdr.c (__dl_iterate_phdr): Fill in data from the real ++ link map. ++ ++2011-08-17 Andreas Jaeger ++ ++ * elf/sprof.c (load_shobj): Remove unused variable log_hashfraction. ++ ++2011-08-18 Paul Pluzhnikov ++ Ian Lance Taylor ++ ++ * math/libm-test.inc (lround_test): New testcase. ++ * sysdeps/ieee754/dbl-64/s_lround.c (__lround): Don't lose precision. ++ ++2011-09-08 Ulrich Drepper ++ ++ * Makefile: Remove support for automatic cvs check-ins. ++ * Makerules: Likewise. ++ * config.make.in: Likewise. ++ * configure.in: Likewise. ++ * intl/Makefile: Likewise. ++ * locale/Makefile: Likewise. ++ * po/Makefile: Likewise. ++ * posix/Makefile: Likewise. ++ * sysdeps/gnu/Makefile: Likewise. ++ * sysdeps/mach/hurd/Makefile: Likewise. ++ * sysdeps/sparc/sparc32/Makefile: Likewise. ++ ++ [BZ #13118] ++ * posix/Makefile (bug-regex32-ENV): Define. ++ Patch by John Stanley . ++ ++ * misc/Makefile (headers): Add bits/select2.h. ++ * misc/sys/select.h: Include bits/select2.h for _FORTIFY_SOURCE. ++ * misc/bits/select2.h: New file. ++ * include/bits/select2.h: New file. ++ * debug/Makefile (routines): Add fdelt_chk. ++ * debug/Versions: Export __fdelt_chk and __fdelt_warn for GLIBC_2.15. ++ * debug/tst-chk1.c (do_test): Add tests for FD_SET, FD_CLR, and ++ FD_ISSET. ++ * debug/fdelt_chk.c: New file. ++ ++ * wcsmbs/test-wcscmp.c: Moved from string/*. Adjust. ++ * wcsmbs/test-wmemcmp.c: Likewise. ++ * string/Makefile (strop-tests): Remove wcscmp and wmemcmp. ++ * wcsmbs/Makefile (strop-tests): Add wcscmp and wmemcmp. ++ ++2011-09-08 Liubov Dmitrieva ++ ++ * string/Makefile (strop-tests): Add memcmp. ++ * string/test-wmemcmp.c: New file. ++ * string/test-memcmp.c: Add wmemcmp support. ++ ++2011-09-08 Roland McGrath ++ ++ [BZ #13153] ++ * manual/libc.texinfo (EDITION, VERSION, UPDATED): Update for ++ 2011-07-19 change. ++ ++ * sysdeps/mach/hurd/fork.c (__fork): Initialize REFS so we don't use a ++ garbage value in a __mach_port_mod_refs call in the cases of the ++ task-self and thread-self ports. ++ ++2011-09-06 Samuel Thibault ++ ++ * sysdeps/mach/hurd/sys/param.h (DEV_BSIZE): New macro. ++ ++2011-09-08 Andreas Schwab ++ ++ * elf/dl-load.c (lose): Check for non-null L. ++ ++2011-09-07 Ulrich Drepper ++ ++ * elf/dl-load.c (open_verify): Use O_CLOEXEC. ++ ++ * elf/dl-libc.c (dlerror_run): Pass back error code from ++ dl_catch_error. ++ ++ [BZ #13123] ++ * elf/dl-load.c (lose): Free l_origin if it is valid. ++ ++ * sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S: Fix mixup in section ++ names. ++ * sysdeps/i386/i686/multiarch/strchr-sse2.S: Likewise. ++ * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: Likewise. ++ * sysdeps/i386/i686/multiarch/strlen-sse2.S: Likewise. ++ * sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S: Likewise. ++ * sysdeps/i386/i686/multiarch/strrchr-sse2.S: Likewise. ++ Patch by Liubov Dmitrieva . ++ ++2011-08-01 Adhemerval Zanella ++ ++ * sysdeps/powerpc/fpu/e_hypot.c: New file. ++ * sysdeps/powerpc/fpu/e_hypotf.c: New file. ++ * sysdeps/powerpc/fpu/e_rem_pio2f.c: New file. ++ * sysdeps/powerpc/fpu/k_rem_pio2f.c: New file. ++ * sysdeps/powerpc/fpu/k_cosf.c: New file. ++ * sysdeps/powerpc/fpu/k_sinf.c: New file. ++ * sysdeps/powerpc/fpu/s_cosf.c: New file. ++ * sysdeps/powerpc/fpu/s_sinf.c: New file. ++ * sysdeps/powerpc/fpu/s_scalbnf.c: New file. ++ * sysdeps/powerpc/fpu/s_float_bitwise.h: New file. ++ ++2011-08-15 Alan Modra ++ ++ [BZ #13092] ++ * sysdeps/powerpc/Makefile (gmon): Move sysdep_routines to.. ++ * sysdeps/powerpc/powerpc64/Makefile (gmon): ..here.. ++ * sysdeps/powerpc/powerpc32/Makefile (gmon): ..and here. Add ++ ppc_mcount to static-only-routines. ++ * sysdeps/powerpc/powerpc32/Versions: Export GLIBC_PRIVATE ++ __mcount_internal. ++ * sysdeps/powerpc/powerpc32/ppc-mcount.S (_mcount): Call ++ __mcount_internal with usual JUMPTARGET. Remove useless nop. ++ ++2011-08-18 David Flaherty ++ ++ * sysdeps/ieee754/ldbl-128ibm/s_fmal.c: New file which checks ++ for finite and infinity parameters. ++ ++2011-08-04 Will Schmidt ++ ++ * sysdeps/powerpc/powerpc32/power7/strncmp.S: Adjust the alignment ++ and add nop instructions for throughput optimization. ++ * sysdeps/powerpc/powerpc64/power7/strncmp.S: Likewise. ++ ++2011-07-28 Will Schmidt ++ ++ * sysdeps/powerpc/powerpc32/power7/memcpy.S: Optimize the ++ aligned copy for power7 with vector-scalar instructions. ++ * sysdeps/powerpc/powerpc64/power7/memcpy.S: Likewise. ++ ++2011-07-24 H.J. Lu ++ ++ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Simplify ++ AVX check. ++ ++2011-09-07 Andreas Schwab ++ ++ [BZ #13144] ++ * sysdeps/unix/sysv/linux/x86_64/bits/sem.h (semdid_ds): Revert ++ last change. ++ ++2011-09-07 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/x86_64/init-first.c ++ (_libc_vdso_platform_setup): If vDSO is not present store pointer to ++ syscall wrapper around clock_gettime in __vdso_clock_gettime. ++ * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add entry for ++ clock_gettime. ++ ++2011-09-06 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/x86_64/clock_gettime.c (INTERNAL_GETTIME): ++ Forgot to demangle the pointer. ++ ++ * sysdeps/i386/sysdep.h: Define atom_text_section. ++ * sysdeps/x86_64/sysdep.h: Likewise. ++ * sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S: Place function in ++ section with atom_text_section. ++ * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: Likewise. ++ * sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S: Likewise. ++ * sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S: Likewise. ++ * sysdeps/x86_64/multiarch/strlen-no-bsf.S: Likewise. ++ * sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S: Likewise. ++ ++ * sysdeps/unix/sysv/linux/x86_64/clock_gettime.c: New file. ++ * sysdeps/unix/sysv/linux/clock_gettime.c (SYSCALL_GETTIME): Allow ++ already be defined. Change to take two parameters and don't assign ++ result to variable. Adjust all users. ++ Define INTERNAL_GETTIME if not already defined. ++ Use INTERNAL_GETTIME instead of INTERNAL_VSYSCALL got clock_gettime ++ call. ++ * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Don't define ++ HAVE_CLOCK_GETTIME_VSYSCALL. ++ * sysdeps/unix/clock_gettime.c: Adjust use of SYSDEP_GETTIME_CPU. ++ ++ * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Don't use ++ gettimeofday vsyscall, just use time. ++ ++2011-09-06 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c [!SHARED]: Include ++ . ++ ++2011-09-06 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/kernel-features.h: Add entry for getcpu ++ syscall on x86-64. ++ * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c [!SHARED]: Use real ++ syscall. ++ * sysdeps/unix/sysv/linux/x86_64/time.c: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S [!SHARED]: Use real ++ syscall if possible. ++ ++2011-09-05 Ulrich Drepper ++ ++ * elf/pldd.c (get_process_info): Don't read whole ELF header, just ++ e_ident. Don't pass to find_mapsXX. ++ * elf/pldd-xx.c (find_mapsXX): Remove second parameter. ++ ++2011-07-20 Liubov Dmitrieva ++ ++ * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add ++ strchr-sse2-no-bsf strrchr-sse2-no-bsf ++ * sysdeps/x86_64/multiarch/strchr.S: Update. ++ Check bit_slow_BSF bit. ++ * sysdeps/x86_64/multiarch/strrchr.S: Likewise. ++ * sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S: New file. ++ * sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S: New file. ++ ++2011-09-05 Ulrich Drepper ++ ++ [BZ #13134] ++ * sysdeps/posix/spawni.c (script_execute): Define only for compatibility ++ before glibc 2.15. ++ (tryshell): Define. ++ (__spawni): Change last parameter to be flag. Test ++ SPAWN_XFLAGS_USE_PATH flag to use path or not. ++ Don't try to use shell unless SPAWN_XFLAGS_TRY_SHELL is set. ++ * sysdeps/mach/hurd/spawni.c: Change last parameter and adjust user. ++ * posix/spawni.c: Likewise. ++ * posix/spawn.c: Add compat version which passed SPAWN_XFLAGS_TRY_SHELL. ++ * posix/spawnp.c: Likewise. Change normal version to use ++ SPAWN_XFLAGS_USE_PATH. ++ * posix/spawn_int.c: Define SPAWN_XFLAGS_USE_PATH and ++ SPAWN_XFLAGS_TRY_SHELL. ++ ++ [BZ #13150] ++ * posix/glob.h: Remove gcc 1.x support. ++ ++ [BZ #13068] ++ * elf/dl-misc.c (_dl_sysdep_read_whole_file): Use O_CLOEXEC. ++ ++2011-07-20 Liubov Dmitrieva ++ ++ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add ++ strchr-sse2 strrchr-sse2 strchr-sse2-bsf ++ strrchr-sse2-bsf ++ * sysdeps/i386/i686/multiarch/strchr.S: New file. ++ * sysdeps/i386/i686/multiarch/strrchr.S: New file. ++ * sysdeps/i386/i686/multiarch/strchr-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S: New file. ++ * sysdeps/i386/i686/multiarch/strrchr-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S: New file. ++ ++2011-08-29 Liubov Dmitrieva ++ ++ * sysdeps/x86_64/wcscmp.S: New file. ++ ++ * sysdeps/i386/i686/multiarch/Makefile: (sysdep_routines): Add ++ wcscmp-c wcscmp-sse2 ++ * sysdeps/i386/i686/multiarch/wcscmp-c.c: New file. ++ * sysdeps/i386/i686/multiarch/wcscmp.S: New file. ++ * sysdeps/i386/i686/multiarch/wcscmp-sse2.S: New file. ++ * wcsmbs/wcscmp.c: Allow renaming. ++ ++2011-09-05 David S. Miller ++ ++ * sysdeps/sparc/sparc32/fpu/s_fabsf.S: Use first argument ++ stack slot, rather than the struct return pointer slot. ++ * sysdeps/sparc/sparc32/fpu/s_fabs.c: Delete. ++ * sysdeps/sparc/sparc32/fpu/s_fabs.S: New file. ++ * sysdeps/sparc/sparc32/sparcv9/fpu/s_fabs.S: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/Implies: Likewise. ++ ++2011-09-05 Ulrich Drepper ++ ++ * po/ja.po: Update from translation team. ++ ++ [BZ #13144] ++ * sysdeps/unix/sysv/linux/x86_64/bits/sem.h (semdid_ds): Fix to match ++ kernel in 64-bit binaries. ++ ++2011-09-01 David S. Miller ++ ++ * elf/elf.h (HWCAP_SPARC_*): Move to.. ++ * sysdeps/sparc/sysdep.h: this new file and add new values. ++ * sysdeps/unix/sparc/sysdep.h: Include sysdeps/sparc/sysdep.h ++ * sysdeps/sparc/dl-procinfo.h: Include sysdep.h and increase ++ _DL_HWCAP_COUNT to 24. ++ * sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add new ++ entries. ++ * sysdeps/sparc/sparc32/bits/atomic.h: Don't use magic local ++ __ATOMIC_HWCAP_SPARC_V9 define, use sysdep.h one instead. ++ * sysdeps/sparc/sparc32/dl-machine.h: Include sysdep.h ++ * sysdeps/sparc/sparc64/multiarch/memcpy.S: Use HWCAP_SPARC_* ++ instead of magic constants. ++ * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise. ++ ++2011-08-31 David S. Miller ++ ++ * sysdeps/unix/sparc/sysdep.h (SETUP_PIC_REG): Define. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (PSEUDO): ++ Reimplement to do errno handling inline. ++ (SYSCALL_ERROR_HANDLER): New macro. ++ (__SYSCALL_STRING): Do not do errno handling in asm. ++ (__CLONE_SYSCALL_STRING): Delete. ++ (__INTERNAL_SYSCALL_STRING): Delete. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Include ++ sysdeps/unix/sparc/sysdep.h instead of sysdeps/unix/sysdep.h ++ (PSEUDO): Reimplement to do errno handling inline. ++ (ret, ret_NOERRNO, ret_ERRVAL, r0, r1, MOVE): Don't redefine. ++ (SYSCALL_ERROR_HANDLER): New macro. ++ (__SYSCALL_STRING): Do not do errno handling in asm. ++ (__CLONE_SYSCALL_STRING): Delete. ++ (__INTERNAL_SYSCALL_STRING): Delete. ++ * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_SYSCALL): ++ Implement in terms of INTERNAL_SYSCALL and __set_errno, just like ++ i386. ++ (INTERNAL_SYSCALL_DECL): Declare %g1 var for err state. ++ (inline_syscall*): Add 'err' argument. ++ (INTERNAL_SYSCALL, INTERNAL_SYSCALL_NCS, ++ INTERNAL_SYSCALL_ERROR_P): Likewise and pass it down. ++ (INLINE_CLONE_SYSCALL): Reimplement in terms of __SYSCALL_STRING, ++ INTERNAL_SYSCALL_ERRNO, and INTERNAL_SYSCALL_ERROR_P. ++ ++ * scripts/data/localplt-sparc-linux-gnu.data: Remove 'ffs'. ++ * scripts/data/localplt-sparc64-linux-gnu.data: Likewise. ++ ++2011-08-30 Andreas Schwab ++ ++ * elf/rtld.c (dl_main): Relocate objects in dependency order. ++ ++2011-08-29 Jiri Olsa ++ ++ * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Fix cfi ++ directive. ++ ++2011-08-24 David S. Miller ++ ++ * sysdeps/sparc/sparc64/strcmp.S: Rewrite. ++ ++2011-08-24 Andreas Schwab ++ ++ * elf/Makefile: Add rules to build and run unload8 test. ++ * elf/unload8.c: New file. ++ * elf/unload8mod1.c: New file. ++ * elf/unload8mod1x.c: New file. ++ * elf/unload8mod2.c: New file. ++ * elf/unload8mod3.c: New file. ++ ++ * elf/dl-close.c (_dl_close_worker): Reset private search list if ++ it wasn't used. ++ ++2011-08-23 David S. Miller ++ ++ * sysdeps/sparc/sparc64/dl-machine.h (DL_STACK_END): Do not ++ subtract stack bias. ++ * sysdeps/sparc/sparc64/jmpbuf-unwind.h (_JMPBUF_UNWINDS): Use ++ %sp not %fp in calculations. ++ (_JMPBUF_UNWINDS_ADJ): Likewise. ++ ++ * sysdeps/pthread/aio_suspend.c (do_aio_misc_wait): New function. ++ (aio_suspend): Call it to force an exception region around the ++ AIO_MISC_WAIT() invocation. ++ ++2011-08-23 Andreas Schwab ++ ++ * sysdeps/i386/i686/multiarch/strspn.S (ENTRY): Add missing ++ backslash. ++ ++2011-07-04 Aurelien Jarno ++ ++ * sysdeps/powerpc/dl-tls.h: Add _PPC_DL_TLS_H inclusion ++ protection macro. ++ * sysdeps/powerpc/powerpc64/dl-irel.h: Include ++ and . ++ (Elf64_FuncDesc): Remove. ++ ++2011-08-22 David S. Miller ++ ++ * sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: Fix ++ sigaltstack check, add missing cfi directives. ++ * sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S: Add ++ missing cfi directives, and sigaltstack handling. ++ ++2011-08-16 Andreas Schwab ++ ++ [BZ #11724] ++ * elf/dl-deps.c (_dl_map_object_deps): Only assume cycle when ++ object is seen twice. ++ * elf/dl-fini.c (_dl_sort_fini): Likewise. ++ ++ * elf/Makefile (distribute): Add tst-initorder2.c. ++ (tests): Add tst-initorder2. ++ (modules-names): Add tst-initorder2a tst-initorder2b ++ tst-initorder2c tst-initorder2d. Add rules to build them. ++ ($(objpfx)tst-initorder2.out): New rule. ++ * elf/tst-initorder2.c: New file. ++ * elf/tst-initorder2.exp: New file. ++ ++2011-08-22 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/i386/scandir64.c: Include . ++ ++ * elf/dl-deps.c (_dl_map_object_deps): Move check for missing ++ dependencies back to end of function. ++ ++ * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Readd ++ $(elfobjdir)/ld.so. ++ ++2011-08-21 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: Removed. ++ * sysdeps/unix/sysv/linux/x86_64/time.S: Removed. ++ * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: New file. ++ * sysdeps/unix/sysv/linux/x86_64/time.c: New file. ++ * sysdeps/unix/sysv/linux/x86_64/bits/libc-vdso.h: Remove declaration ++ of __vdso_gettimeofday. ++ * sysdeps/unix/sysv/linux/x86_64/init-first.c: Remove definition of ++ __vdso_gettimeofday and __vdso_time. Define __vdso_getcpu with ++ attribute_hidden. ++ (_libc_vdso_platform_setup): Remove initialization of ++ __vdso_gettimeofday and __vdso_time. ++ ++2011-08-20 Ulrich Drepper ++ ++ * nss/nss_files/files-alias.c (get_next_alias): Use feof_unlocked ++ and fgetc_unlocked. ++ * nss/nss_files/files-key.c (search): Use fgets_unlocked and ++ getc_unlocked. ++ ++ * elf/dl-open.c (add_to_global): Report additions to the global scope ++ for LD_DEBUG=scopes. ++ (dl_open_worker): Also print scope of newly loaded dependencies. ++ (_dl_show_scope): Indicate if there is no scope. ++ ++ [BZ #13114] ++ * stdio-common/Makefile (tests): Add bug24. ++ * stdio-common/bug24.c: New file. ++ ++2011-08-19 Andreas Jaeger ++ ++ [BZ #13114] ++ * libio/fileops.c (_IO_new_file_fopen): Fix handling of ++ non-existant file when using close-on-exec mode. ++ ++2011-08-20 Ulrich Drepper ++ ++ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_resolve): Fix CFI for ++ the very first instruction. ++ ++ * sysdeps/x86_64/dl-trampoline.h: If MORE_CODE is defined, restore ++ the CFI state in the end. ++ * sysdeps/x86_64/dl-trampoline.S: Define MORE_CODE before first ++ inclusion of dl-trampoline.h. ++ Based on a patch by Jiri Olsa . ++ ++2011-08-19 Andreas Schwab ++ ++ * sysdeps/powerpc/fpu/libm-test-ulps: Relax ctan (0.75 + 1.25 i) ++ expectations for long double. ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/scandir64.c: Renamed ++ from sysdeps/unix/sysv/linux/powerpc/scandir64.c. ++ ++2011-08-14 David S. Miller ++ ++ * sysdeps/unix/sysv/linux/Makefile (CFLAGS-tst-writev.c): The ++ artificual limit depends upon the system page size. ++ ++2011-08-17 Ulrich Drepper ++ ++ * Makeconfig (override CFLAGS): Add library-specific CFLAGS. ++ * resolv/Makefile: Define CFLAGS-libresolv. ++ ++2011-08-17 Andreas Schwab ++ ++ * nss/makedb.c (compute_tables): Make variables used in nested ++ function static. ++ ++2011-08-17 Ulrich Drepper ++ ++ * elf/pldd-xx.c (r_debug): Explicitly add padding when needed. ++ * elf/pldd.c (get_process_info): Use pread to re-read auxiliary vector ++ if buffer was too small. ++ ++ * elf/pldd.c (main): Attach to all threads in the process. ++ Rewrite /proc handling to use *at functions. ++ ++2011-08-16 Ulrich Drepper ++ ++ * elf/dl-open.c (_dl_show_scope): Take additional parameter which ++ specifies first scope to show. ++ (dl_open_worker): Update callers. Move printing scope of new ++ object to before the relocation. ++ * elf/rtld.c (dl_main): Update _dl_show_scope call. ++ * sysdeps/generic/ldsodefs.h: Update declaration. ++ ++ * elf/dl-open.c (_dl_show_scope): Use _dl_debug_printf to generate the ++ string for the scope number. ++ ++2011-08-14 Ulrich Drepper ++ ++ * nscd/servicescache.c (cache_addserv): Make sure written is always ++ initialized. ++ ++2011-08-14 Roland McGrath ++ ++ * sysdeps/i386/i486/bits/atomic.h ++ (__arch_compare_and_exchange_val_64_acq): Use RET alone at end of ++ statement expression, so as to suppress "set but not used" warning. ++ (__arch_c_compare_and_exchange_val_64_acq): Likewise. ++ ++ * string/strncat.c (STRNCAT): Use prototype definition. ++ ++ * locale/Makefile (locale-CPPFLAGS): Renamed CPPFLAGS-locale-programs. ++ (locale-CPPFLAGS): New variable; put LOCALEDIR, LOCALE_ALIAS_PATH and ++ -Iprograms here. ++ (cppflags-iterator.mk sequence): Use locale-programs in place of nonlib. ++ (localedef-modules): Add localedef. ++ (locale-modules): Add locale. ++ ++ * sysdeps/generic/ldsodefs.h (struct unique_sym): Add a const. ++ * elf/rtld.c (dl_main): Invert order of assignment in last change, ++ to avoid a warning. ++ ++2011-08-14 David S. Miller ++ ++ * sysdeps/unix/sysv/linux/sparc/bits/resource.h (RLIM_INFINITY, ++ RLIM64_INFINITY): Fix 64-bit values for 32-bit sparc. ++ ++2011-08-13 Ulrich Drepper ++ ++ * elf/dl-open.c: Rename show_scope to _dl_show_scope and export. ++ (dl_open_worker): Call _dl_show_scope when DL_DEBUG_SCOPES is set. ++ * elf/rtld.c (dl_main): Set l_name of vDSO. ++ Call _dl_show_scope when DL_DEBUG_SCOPES. ++ (process_dl_debug): Recognize scopes flag and also set it for all. ++ * sysdeps/generic/ldsodefs.h: Define DL_DEBUG_SCOPES. ++ Declare _dl_show_scope. ++ ++ * elf/dl-libc.c (do_dlopen_args): Add caller_dlopen. ++ (do_dlopen): Pass caller_dlopen to dl_open. ++ (__libc_dlopen_mode): Initialize caller_dlopen. ++ ++ * intl/l10nflist.c (_nl_normalize_codeset): Make it compile outside ++ of libc. Make tolower call locale-independent. Optimize a bit by ++ using isdigit instead of isalnum. ++ * locale/Makefile (locale-CPPFLAGS): Add -DNOT_IN_libc. ++ ++2011-08-12 Ulrich Drepper ++ ++ * elf/dl-load.c (_dl_map_object): Show in debug output whether a DSO ++ was a dependency or dynamically loaded. ++ ++2011-08-11 Ulrich Drepper ++ ++ * intl/l10nflist.c: Allow architecture-specific pop function. ++ * sysdeps/x86_64/l10nflist.c: New file. ++ ++ * intl/l10nflist.c (_nl_make_l10nflist): Use locale-independent ++ classification. ++ ++2011-08-10 Andreas Schwab ++ ++ * include/dirent.h: Add libc_hidden_proto for scandirat and ++ scandirat64. Don't declare __scandirat64. ++ * dirent/scandirat.c: Add libc_hidden_def. ++ * dirent/scandirat64.c (SCANDIRAT): Remove underscores. ++ * sysdeps/unix/sysv/linux/i386/scandir64.c (SCANDIRAT): Likewise. ++ ++2011-08-10 David S. Miller ++ ++ * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Add missing comma in ++ enum. ++ * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise. ++ ++2011-08-09 Ulrich Drepper ++ ++ * Versions.def [libc]: Add GLIBC_2.15. ++ * dirent/Makefile (routines): Add scandirat and scandirat64. ++ * dirent/Versions [libc]: Export scandirat and scandirat64 for ++ GLIBC_2.15. ++ * dirent/dirent.h: Declare scandirat and scandirat64. ++ * dirent/scandirat.c: New file. ++ * dirent/scandirat64.c: New file. ++ * sysdeps/wordsize-64/scandirat.c: New file. ++ * sysdeps/wordsize-64/scandirat64.c: New file. ++ * dirent/opendir.c: Define opendirat. ++ * dirent/scandir.c: Move code to scandirat.c. Implement scandir ++ using scandirat. ++ * dirent/scandir64.c: Adjust for scandir.c change. ++ * include/dirent.h: Define scandir_cancel_struct. Declare __opendirat, ++ __scandirat64, and __scandir_cancel_handler. ++ * sysdeps/unix/opendir.c: Rename __opendir to __opendirat. Take ++ additional parameter and use openat instead of open (outside of ld.so). ++ Add new __opendir as wrapper around __opendirat. ++ * sysdeps/unix/sysv/linux/i386/scandir64.c: Reimplement __old_scandir64 ++ here without requiring old scandirat implementation. ++ ++2011-08-08 Ulrich Drepper ++ ++ * dirent/scandir.c (cancel_handler): Renamed to ++ __scandir_cancel_handler. Do not define if SKIP_SCANDIR_CANCEL is ++ defined. Adjust users. ++ * dirent/scandir64.c: Define SKIP_SCANDIR_CANCEL. ++ * sysdeps/unix/sysv/linux/i386/scandir64.c: Likewise. ++ ++2011-08-04 Ulrich Drepper ++ ++ * string/test-string.h (IMPL): Use __STRING to expand name and then ++ stringify it. ++ ++ * string/test-strcmp.c: Unify most of the WIDE and !WIDE code. Lots ++ of cleanups. ++ ++2011-07-22 Liubov Dmitrieva ++ ++ * string/Makefile: Update. ++ (strop-tests): Append strncat. ++ * string/test-wcscmp.c: New file. ++ New comprehensive test for wcscmp. ++ * string/test-strcmp.c: Update. ++ (WIDE): New define. ++ ++2011-07-22 Andreas Schwab ++ ++ * resolv/res_init.c (__res_vinit): Properly tokenize nameserver ++ line. ++ ++2011-07-26 Andreas Schwab ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't discard result of ++ encoding to ACE if AI_IDN. ++ ++2011-08-01 Jakub Jelinek ++ ++ * sysdeps/ieee754/dbl-64/k_rem_pio2.c (__kernel_rem_pio2): Fix up fq ++ to y conversion for prec 3 and __FLT_EVAL_METHOD__ != 0. ++ ++2011-07-22 Liubov Dmitrieva ++ ++ * sysdeps/i386/i686/multiarch/strcat-sse2.S: Update. ++ Fix overflow bug in strncat. ++ * sysdeps/i386/i686/multiarch/strcpy-ssse3.S: Likewise. ++ ++ * string/test-strncat.c: Update. ++ Add new tests for checking overflow bugs. ++ ++2011-07-15 Liubov Dmitrieva ++ ++ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add ++ strcat-ssse3 strcat-sse2 strncat-ssse3 strncat-sse2 strncat-c. ++ * sysdeps/i386/i686/multiarch/strcat.S: New file. ++ * sysdeps/i386/i686/multiarch/strcat-c.c: New file. ++ * sysdeps/i386/i686/multiarch/strcat-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/strcat-ssse3.S: New file. ++ * sysdeps/i386/i686/multiarch/strncat.S: New file. ++ * sysdeps/i386/i686/multiarch/strncat-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/strncat-ssse3.S: New file. ++ ++ * sysdeps/i386/i686/multiarch/strcpy-ssse3.S ++ (USE_AS_STRCAT): Define. ++ Add strcat and strncat support. ++ * sysdeps/i386/i686/multiarch/strlen-sse2.S: Likewise. ++ ++2011-07-25 Andreas Schwab ++ ++ * sysdeps/i386/i486/bits/string.h (__strncat_g): Correctly handle ++ __n bigger than INT_MAX+1. ++ (__strncmp_g): Likewise. ++ ++2011-07-23 Ulrich Drepper ++ ++ * posix/unistd.h: Define SEEK_DATA and SEEK_HOLE. ++ * libio/stido.h: Likewise. ++ ++ * sysdeps/unix/sysv/linux/bits/socket.h (PF_NFC): Define. ++ (AF_NFC): Define. ++ * sysdeps/unix/sysv/linux/sparc/bits/socket.h (PF_NFC): Define. ++ (AF_NFC): Define. ++ ++ * sysdeps/unix/sysv/linux/sys/ptrace.h: Add new constants. ++ * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise. ++ ++ [BZ #13021] ++ * scripts/test-installation.pl: Don't expect libnss_test1 to be ++ installed. ++ ++ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix one more ++ typo. ++ (_dl_x86_64_save_sse): Likewise. ++ ++2011-07-22 Ulrich Drepper ++ ++ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix test for ++ OSXSAVE. ++ (_dl_x86_64_save_sse): Likewise. ++ ++ * crypt/crypt_util.c (__init_des_r): Optimize memset calls. ++ ++ * crypt/crypt_util.c (__init_des_r): Add read barrier as well. ++ ++2011-07-21 Andreas Schwab ++ ++ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix last ++ change. ++ (_dl_x86_64_save_sse): Use correct AVX check. ++ ++2011-07-21 Liubov Dmitrieva ++ ++ * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: Fix overfow ++ bug in strncpy/strncat. ++ * sysdeps/x86_64/multiarch/strcpy-ssse3.S: Likewise. ++ ++2011-07-21 Ulrich Drepper ++ ++ * string/tester.c (test_strcat): Add tests for different alignments ++ of source and destination. ++ (test_strncat): Likewise. ++ ++2011-07-20 Ulrich Drepper ++ ++ [BZ #12852] ++ * posix/glob.c (glob): Check passed in values before using them in ++ expressions to avoid some overflows. ++ (glob_in_dir): Likewise. ++ ++ [BZ #13007] ++ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): More complete ++ check for AVX enablement so that we don't crash with old kernels and ++ new hardware. ++ * elf/tst-audit4.c: Add same checks here. ++ * elf/tst-audit6.c: Likewise. ++ ++ * sysdeps/x86_64/bits/link.h (La_x86_64_ymm): Force 16-byte alignment. ++ ++2011-07-09 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/pathconf.c: Include . ++ ++2011-07-20 Ulrich Drepper ++ ++ * po/cs.po: Update from translation team. ++ * po/bg.po: Likewise. ++ ++2011-07-12 Marek Polacek ++ ++ * misc/sys/cdefs.h: Add support for const attribute. ++ * sysdeps/unix/sysv/linux/sys/sysmacros.h: Add __attribute_const__ ++ to gnu_dev_{major,minor,makedev} functions. ++ ++2011-07-20 Marek Polacek ++ ++ * intl/dcigettext.c (get_output_charset): Add missing bracket. ++ ++2011-07-20 Andreas Schwab ++ ++ * resolv/res_query.c (__libc_res_nquerydomain): Use size_t for ++ strlen results. ++ ++2011-07-13 Andreas Krebbel ++ ++ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h ++ (INTERNAL_VSYSCALL_NCS): Use r10 for backing up the return address ++ register in order to avoid conflicts with the soft frame pointer ++ being held in r11 when necessary. ++ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h ++ (INTERNAL_VSYSCALL_NCS): Likewise. ++ ++2011-07-14 Marek Polacek ++ ++ * elf/dl-fini.c (_dl_sort_fini): Remove unused link_map *l argument, ++ * elf/dl-fini.c (_dl_fini): Adjust caller. ++ * elf/dl-close.c (_dl_close_worker): Likewise. ++ * sysdeps/generic/ldsodefs.h: Adjust declaration. ++ ++2011-07-15 Marek Polacek ++ ++ * elf/cache.c (load_aux_cache): Remove unnecessary condition of ++ "aux_cache->nlibs < 0". ++ ++ * nscd/nscd_conf.c (nscd_parse_file): Remove unnecessary condition ++ in the reload-count case. ++ ++2011-07-15 Liubov Dmitrieva ++ ++ * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add ++ strcat-ssse3 strcat-sse2-unaligned strncat-ssse3 ++ strncat-sse2-unaligned strncat-c strlen-sse2-pminub ++ * sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S: New file. ++ * sysdeps/x86_64/multiarch/strcat.S: New file. ++ * sysdeps/x86_64/multiarch/strncat.S: New file. ++ * sysdeps/x86_64/multiarch/strncat-c.c: New file. ++ * sysdeps/x86_64/multiarch/strcat-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/strncat-sse2-unaligned.S: New file. ++ * sysdeps/x86_64/multiarch/strncat-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/strcpy-ssse3.S ++ (USE_AS_STRCAT): Define. ++ Add strcat and strncat support. ++ * sysdeps/x86_64/multiarch/strlen-no-bsf.S: Likewise. ++ * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: Likewise. ++ * sysdeps/x86_64/multiarch/strlen-sse2-pminub.S: New file. ++ * string/strncat.c: Update. ++ (USE_AS_STRNCAT): Define. ++ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): ++ Turn on bit_Prefer_PMINUB_for_stringop for Intel Core i3, i5 ++ and i7. ++ * sysdeps/x86_64/multiarch/init-arch.h ++ (bit_Prefer_PMINUB_for_stringop): New. ++ (index_Prefer_PMINUB_for_stringop): Likewise. ++ * sysdeps/x86_64/multiarch/strlen.S (strlen): Check ++ bit_Prefer_PMINUB_for_stringop. ++ ++2011-07-19 Ulrich Drepper ++ ++ * crypt/sha512.h (struct sha512_ctx): Move buffer into union and add ++ buffer64. ++ * crypt/sha512.c (__sha512_finish_ctx): Use buffer64 for writes instead ++ of casting of buffer. ++ * crypt/sha256.h (struct sha256_ctx): Move buffer into union and add ++ buffer32 and buffer64. ++ * crypt/sha256.c (__sha256_finish_ctx): Use buffer32 or buffer64 for ++ writes instead of casting of buffer. ++ * crypt/md5.h (struct md5_ctx): Move buffer into union and add ++ buffer32. ++ * crypt/md5.c (md5_finish_ctx): Use buffer32 for writes instead of ++ casting of buffer. ++ ++2011-07-19 Andreas Schwab ++ ++ * string/strxfrm_l.c (STRXFRM): Fix alloca accounting. ++ ++2011-07-19 Ulrich Drepper ++ ++ * nscd/nscd.c (termination_handler): Don't do anything for a database ++ if it has not yet been initialized. ++ ++2011-07-18 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_EQUAL_S): Fix a typo. ++ ++2011-07-15 Marek Polacek ++ ++ * bits/sched.h (__CPU_EQUAL_S): Fix a typo. ++ ++2011-07-18 Ulrich Drepper ++ ++ * po/nl.po: Update from translation team. ++ * po/sv.po: Likewise. ++ ++2011-07-16 Roland McGrath ++ ++ * sysdeps/i386/Makefile: Never use -mpreferred-stack-boundary=2, ++ now disallowed by GCC. ++ ++ * configure.in (use-default-link): Default to yes if a test -shared ++ link meets our qualifications. ++ * configure: Regenerated. ++ ++ * config.make.in (output-format): New variable. ++ * configure.in: Check for ld --print-output-format support. ++ * configure: Regenerated. ++ * Makerules ($(common-objpfx)format.lds) ++ [$(output-format) != unknown]: Just use $(output-format), ++ instead of the linker-script munging. ++ ++2011-07-14 Roland McGrath ++ ++ * Makefile ($(common-objpfx)linkobj/libc.so): Use $(shlib-lds) instead ++ of $(common-objpfx)shlib.lds. ++ * elf/Makefile ($(objpfx)sotruss-lib.so): Likewise. ++ ++ * sysdeps/i386/i686/multiarch/strstr-c.c (libc_hidden_builtin_def): ++ Conditionalize redefinition on [SHARED && DO_VERSIONING && !NO_HIDDEN]. ++ ++ * configure.in (-z relro check): Adjust test code to add a large ++ writable data section after it. ++ * configure: Regenerated. ++ ++2011-07-11 Roland McGrath ++ ++ * configure.in (-z relro check): Fix test code to make the variable ++ truly const. ++ * configure: Regenerated. ++ ++2011-07-11 Ulrich Drepper ++ ++ * nscd/nscd.h (struct traced_file): Define. ++ (struct database_dyn): Remove inotify_descr, reset_res, and filename ++ elements. Add traced_files. ++ (inotify_fd): Declare. ++ (register_traced_file): Declare. ++ * nscd/connections.c (dbs): Remove reset_res and filename initializers. ++ (inotify_fd): Export. ++ (resolv_conf_descr): Remove. ++ (nscd_init): Move inotify descriptor creation to main. ++ Don't register files for notification here. ++ (register_traced_file): New function. ++ (invalidate_cache): Don't use reset_res to determine whether to call ++ res_init, go through the list of registered files. ++ (main_loop_poll): The inotify descriptors are now stored in the ++ structures for the traced files. ++ (main_loop_epoll): Likewise ++ * nscd/nscd.c (main): Create inotify socket here. Pass extra argument ++ to __nss_disable_nscd. ++ * nscd/cache.c (prune_cache): There is no single inotify descriptor ++ for a database anymore. Check the records for all the registered ++ files instead. ++ * nss/Makefile (libnss_files-routines): Add files-init. ++ (libnss_db-routines): Add db-init. ++ * nss/Versions [libnss_files] (GLIBC_PRIVATE): Add _nss_files_init. ++ [libnss_db] (GLIBC_PRIVATE): Add _nss_db_init. ++ * nss/nss_db/db-init.c: New file. ++ * nss/nss_files/files-init.c: New file. ++ * nss/nsswitch.c (nss_load_library): New function. Broken out of ++ __nss_lookup_function. ++ (__nss_lookup_function): Call nss_load_library. ++ (nss_load_all_libraries): New function. ++ (__nss_disable_nscd): Take parameter with callback function for files ++ to register. Set is_nscd. Load all the DSOs for the NSS modules ++ used for the cached services. ++ * nss/nsswitch.h (__nss_disable_nscd): Adjust prototype. ++ * sysdeps/unix/sysv/linux/Makefile [subdir=nscd]: Pass the various -D ++ options for features to all the files in nscd. ++ ++ * nss/nsswitch.c (nss_parse_file): Add missing fclose. ++ ++2011-07-10 Roland McGrath ++ ++ * csu/elf-init.c (__libc_csu_init): Comment typo. ++ ++2011-07-09 Ulrich Drepper ++ ++ * po/pl.po: Update from translation team. ++ * po/ja.po: Likewise. ++ * po/ru.po: Likewise. ++ * po/ko.po: Likewise. ++ * po/fr.po: Likewise. ++ ++2011-07-09 Roland McGrath ++ ++ * configure.in (.ctors/.dtors header and trailer check): ++ Use an empirical test on a built program. ++ * configure: Regenerated. ++ ++ * configure.in (-z relro check): Use an empirical test on a built DSO. ++ Detect, but do not require, on ia64. ++ * configure: Regenerated. ++ ++ * configure.in (READELF): Find it with AC_CHECK_TOOL. ++ Update tests that use readelf to use $READELF instead. ++ * configure: Regenerated. ++ ++2011-07-08 Ulrich Drepper ++ ++ * malloc/hooks.c (memalign_check): Avoid using checked_request2size ++ if the result is not used. ++ ++2011-07-05 Andreas Jaeger ++ ++ [BZ#9696] ++ * stdlib/tst-strtod.c: Add testcase. ++ ++2011-07-07 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/pathconf.c (distinguish_extX): New function. ++ (__statfs_link_max): Use it to distinguish between ext2/3 and ext4. ++ The latter has a higher limit. Take additional parameter to pass to ++ the new function. ++ (__pathconf): Pass file to __statfs_link_max. ++ * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Pass fd to ++ __statfs_link_max. ++ * sysdeps/unix/sysv/linux/pathconf.h: Adjust prototype of ++ __statfs_link_max. ++ ++ [BZ #12868] ++ * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define Lustre constants. ++ * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags): ++ Handle Lustre. ++ * sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max): Likewise. ++ (__statfs_filesize_max): Likewise. ++ Patch mostly by Andreas Dilger . ++ ++2011-07-05 Andreas Jaeger ++ ++ * resolv/res_comp.c (dn_skipname): Remove unused variable. ++ ++2011-07-06 Marek Polacek ++ ++ * nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_setspent): Honour the ++ `status' variable. ++ * nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_setetherent): ++ Likewise. ++ ++2011-07-04 H.J. Lu ++ ++ * Makefile (strop-tests): Add strncat. ++ * string/test-strncat.c: New file. ++ ++2011-06-30 Marek Polacek ++ ++ * iconvdata/johab.c: Don't inline `johab_sym_hanja_to_ucs' function. ++ ++2011-06-21 Andreas Jaeger ++ ++ * sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules): ++ Copy rule from iconvdata/Makefile. ++ ++2011-07-06 Ulrich Drepper ++ ++ [BZ #12922] ++ * posix/getopt.c (_getopt_internal_r): When "W;" is in short options ++ but no long options are defined, just return 'W'. ++ ++2011-06-22 Marek Polacek ++ ++ [BZ #9696] ++ * stdlib/strtod_l.c (round_and_return): Set ERANGE instead of EDOM. ++ ++2011-07-06 Ulrich Drepper ++ ++ * inet/getnetgrent_r.c (internal_getnetgrent_r): Fix check for known ++ netgroups to read. ++ (innetgr): Likewise. ++ ++2011-07-05 Roland McGrath ++ ++ * config.make.in (install_root): Default to $(DESTDIR). ++ ++2011-07-05 Ulrich Drepper ++ ++ * nscd/nscd_getserv_r.c (nscd_getserv_r): Add cast to avoid warning. ++ ++2011-07-02 Roland McGrath ++ ++ * Makerules ($(common-objpfx)format.lds): Fail if result is empty. ++ ++ * Makefile ($(common-objpfx)testrun.sh): Generate to work relative to ++ containing directory rather than embedding absolute directory names. ++ ++ * scripts/check-local-headers.sh: Rewritten using awk. ++ Match by word, not by line. Print error messages for matches. ++ * Makefile ($(objpfx)check-local-headers.out): Pass AWK in to it. ++ ++ * Makerules [shlib-lds-flags empty]: ++ ($(common-objpfx)libc_pic.opts): New target. ++ ($(common-objpfx)libc_pic.os.clean): New target. ++ ($(common-objpfx)libc.so): Link it instead of libc_pic.os. ++ ++ * config.make.in (OBJCOPY): New variable. ++ * aclocal.m4 (LIBC_PROG_BINUTILS): Substitute OBJCOPY too. ++ * configure: Regenerated. ++ ++ * config.make.in (use-default-link): New variable. ++ * configure.in (use_default_link): Grok --with-default-link to set it. ++ * configure: Regenerated. ++ * Makerules [$(elf) = yes] [$(use-default-link) = yes]: ++ (shlib-lds, shlib-lds-flags): Define to empty. ++ ++ * Makerules (shlib-lds): New variable. ++ (shlib-lds-flags): New variable. ++ (build-shlib, build-moduile, build-module-asneeded): Use it. ++ ($(common-objpfx)libc.so): Use $(shlib-lds). ++ ($(extra-modules-build:%=$(objpfx)%.so)): Likewise. ++ * iconvdata/extra-module.mk ($(objpfx)$(mod).so): Likewise. ++ ++ * elf/dynamic-link.h (elf_get_dynamic_info): Make asserts accept ++ DT_FLAGS/DT_FLAGS_1 with zero flags. ++ ++ * elf/Makefile ($(objpfx)ld.so): Use -defsym=_begin=0 instead of ++ linker script munging. ++ ++2011-07-02 Ulrich Drepper ++ ++ * crypt/sha512.h (struct sha512_ctx): Add union to access total also ++ as 128-bit value. ++ * crypt/sha512.c (sha512_process_block): Perform total addition using ++ 128-bit if possible. ++ (__sha512_finish_ctx): Likewise. ++ * crypt/sha256.h (struct sha256_ctx): Add union to access total also ++ as 64-bit value. ++ * crypt/sha256.c (SWAP64): Define. ++ (sha256_process_block): Perform total addition using 64-bit if ++ possible. ++ (__sha256_finish_ctx): Likewise. ++ ++2011-07-01 Ulrich Drepper ++ ++ * nscd/pwdcache.c (cache_addpw): Cleanup. Add branch prediction. ++ * nscd/initgrcache.c (addinitgroupsX): Likewise. ++ * nscd/hstcache.c (cache_addhst): Likewise. ++ * nscd/grpcache.c (cache_addgr): Likewise. ++ * nscd/aicache.c (addhstaiX): Likewise ++ * nscd/servicescache.c (cache_addserv): Handle zero negtimeout. ++ ++2011-07-01 Thorsten Kukuk ++ ++ * nscd/pwdcache.c (cache_addpw): Handle zero negtimeout. ++ * nscd/initgrcache.c (addinitgroupsX): Likewise. ++ * nscd/hstcache.c (cache_addhst): Likewise. ++ * nscd/grpcache.c (cache_addgr): Likewise. ++ * nscd/aicache.c (addhstaiX): Likewise ++ ++2011-07-01 Andreas Schwab ++ ++ * nis/nss_compat/compat-pwd.c (getpwent_next_nss_netgr): Query NIS ++ domain only when needed. ++ ++2011-06-30 Andreas Schwab ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Make sure RES_USE_INET6 ++ is always restored. ++ ++2011-06-29 Ulrich Drepper ++ ++ * nscd/grpcache.c (cache_addgr): Don't write notfound reply if we ++ are re-adding the entry. ++ * nscd/servicescache.c (cache_addserv): Likewise. ++ ++2011-06-30 Aurelien Jarno ++ ++ * sysdeps/generic/dl-irel.h: fix protection against multiple ++ inclusions. ++ * sysdeps/generic/dl-irel.h (elf_ifunc_invoke): New. ++ ++2011-06-28 Ulrich Drepper ++ ++ [BZ #12935] ++ * malloc/memusage.sh: Fix quoting in message. ++ * debug/xtrace.sh: Likewise. ++ ++ * configure.in: Remove support for --experimental-malloc option, make ++ it the default. ++ * config.make.in: Likewise. ++ * malloc/Makefile: Likewise. ++ ++2011-06-27 Andreas Schwab ++ ++ * iconvdata/gb18030.c (BODY for TO_LOOP): Fix encoding of non-BMP ++ two-byte characters. ++ ++2011-06-27 Roland McGrath ++ ++ * configure.in (NO_CTORS_DTORS_SECTIONS): Give this check its own ++ AC_CACHE_CHECK invocation. ++ * configure: Regenerated. ++ ++ * elf/soinit.c (__CTOR_LIST__, __DTOR_LIST__): Add used attribute. ++ ++2011-06-27 Ulrich Drepper ++ ++ [BZ #12350] ++ * nscd/aicache.c (addhstaiX): Restore only RES_USE_INET6 ++ bit from old_res_options. ++ ++ * sysdeps/unix/sysv/linux/Makefile (CFLAGS-servicescache.c): Define. ++ ++ * inet/getnetgrent_r.c (innetgr): Minimal cleanup, use correct return ++ value type for setfct. ++ ++2011-06-23 H.J. Lu ++ ++ * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Use ++ __gettimeofday instead of gettimeofday. ++ ++2011-06-26 Ulrich Drepper ++ ++ * elf/Makefile (all-built-dso): No need to check linkobj/libc.so. ++ ++2011-06-24 H.J. Lu ++ ++ * sysdeps/i386/i686/multiarch/strcpy-sse2.S (RETURN): Fix a typo. ++ ++ * sysdeps/i386/i686/multiarch/strcpy-ssse3.S: Correct unwind ++ info. ++ ++2011-06-22 H.J. Lu ++ ++ * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add ++ strcpy-ssse3 strncpy-ssse3 stpcpy-ssse3 stpncpy-ssse3 ++ strcpy-sse2-unaligned strncpy-sse2-unaligned ++ stpcpy-sse2-unaligned stpncpy-sse2-unaligned. ++ * sysdeps/x86_64/multiarch/stpcpy-sse2-unaligned.S: New file. ++ * sysdeps/x86_64/multiarch/stpcpy-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/stpncpy-sse2-unaligned.S: New file. ++ * sysdeps/x86_64/multiarch/stpncpy-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: New file. ++ * sysdeps/x86_64/multiarch/strcpy-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/strncpy-sse2-unaligned.S: New file. ++ * sysdeps/x86_64/multiarch/strncpy-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/strcpy.S: Remove strcpy with SSSE3. ++ (STRCPY): Support SSE2 and SSSE3 versions. ++ ++2011-06-24 Ulrich Drepper ++ ++ [BZ #12874] ++ * sysdeps/unix/sysv/linux/Makefile (CFLAGS-tst-writev.c): Define. ++ * sysdeps/wordsize-64/tst-writev.c: Work around problem with 2.6.38+ ++ kernels which artificially limit size of requests. ++ ++2011-06-22 H.J. Lu ++ ++ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add ++ strncpy-c strcpy-ssse3 strncpy-ssse3 stpcpy-ssse3 stpncpy-ssse3 ++ strcpy-sse2 strncpy-sse2 stpcpy-sse2 stpncpy-sse2. ++ * sysdeps/i386/i686/multiarch/stpcpy-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/stpcpy-ssse3.S: New file. ++ * sysdeps/i386/i686/multiarch/stpncpy-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/stpncpy-ssse3.S: New file. ++ * sysdeps/i386/i686/multiarch/stpncpy.S : New file. ++ * sysdeps/i386/i686/multiarch/strcpy-sse2.S : New file. ++ * sysdeps/i386/i686/multiarch/strcpy-ssse3.S: New file. ++ * sysdeps/i386/i686/multiarch/strcpy.S: New file. ++ * sysdeps/i386/i686/multiarch/strncpy-c.c: New file. ++ * sysdeps/i386/i686/multiarch/strncpy-sse2.S: New file. ++ * sysdeps/i386/i686/multiarch/strncpy-ssse3.S: New file. ++ * sysdeps/i386/i686/multiarch/strncpy.S: New file. ++ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): ++ Enable unaligned load optimization for Intel Core i3, i5 and i7 ++ processors. ++ * sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Unaligned_Load): ++ Define. ++ (index_Fast_Unaligned_Load): Define. ++ (HAS_FAST_UNALIGNED_LOAD): Define. ++ ++2011-06-23 Marek Polacek ++ ++ * nss/nss_db/db-open.c: Include for read declaration. ++ ++2011-06-22 Ulrich Drepper ++ ++ [BZ #12907] ++ * sysdeps/posix/getaddrinfo.c (getaddrinfo): Avoid calling __check_pf ++ until it is clear that the information is realy needed. ++ Patch mostly by David Hanisch . ++ ++2011-06-22 Andreas Schwab ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix last change. ++ ++2011-06-22 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Use ++ /sys/devices/system/cpu/online if it is usable. ++ ++ * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Rate limit ++ reading the information from the /proc filesystem to once a second. ++ ++2011-06-21 Andreas Jaeger ++ ++ * sysdeps/unix/sysv/linux/bits/sigcontext.h: Fix definition of ++ NULL after inclusion of kernel headers. ++ ++2011-06-21 Ulrich Drepper ++ ++ * nss/nss_db/db-XXX.c (nss_db_setENT): Only set entidx for successful ++ calls to internal_setent. ++ ++ [BZ #12885] ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): When looking up only IPv6 ++ addresses using gethostbyname4_r ignore IPv4 addresses. ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): After the last change the ++ branch using gethostbyname2 is only for AF_INET. Optimize accordingly. ++ ++ * inet/getnetgrent_r.c: Use DL_CALL_FCT in several places. ++ ++2011-06-20 David S. Miller ++ ++ * sysdeps/sparc/sparc32/dl-plt.h: Protect against multiple ++ inclusions. ++ * sysdeps/sparc/sparc64/dl-plt.h: Likewise. ++ ++ * sysdeps/i386/dl-irel.h (elf_ifunc_invoke): New. ++ (elf_irel): Use it. ++ * sysdeps/powerpc/powerpc32/dl-irel.h: Likewise. ++ * sysdeps/powerpc/powerpc64/dl-irel.h: Likewise. ++ * sysdeps/sparc/sparc32/dl-irel.h: Likewise. ++ * sysdeps/sparc/sparc64/dl-irel.h: Likewise. ++ * sysdeps/x86_64/dl-irel.h: Likewise. ++ ++ * elf/dl-runtime.c: Use elf_ifunc_invoke. ++ * elf/dl-sym.c: Likewise. ++ ++2011-06-15 Ulrich Drepper ++ ++ * resolv/res_send.c (__libc_res_nsend): Fix typos in last patch. We ++ need to dereference resplen2. ++ ++2011-06-14 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/wordsize-64/dl-fxstatat64.c: New file. ++ ++2011-06-15 Ulrich Drepper ++ ++ * Makeconfig: Define vardbdir and inst_vardbdir. ++ * nss/Makefile: Add rules to install db-Makefile. ++ ++ * nss/nss_db/db-XXX.c: Cleanup. ++ ++ * nss/Makefile (libnss_db-dbs): Add db-initgroups. ++ * nss/Versions [libnss_db]: Add _nss_db_initgroups_dyn for ++ GLIBC_PRIVATE. ++ * nss/db-Makefile (groups.db): Emit entries for initgroups lookups. ++ * nss/makedb.c: Implement -g option to specify that value strings ++ are generated and should not be added to table iterated over for ++ get*ent calls. ++ * nss/nss_db/db-initgroups.c: New file. ++ ++ * nss/getent.c: Add support for initgroups lookups through getgrouplist ++ interface. ++ ++ * grp/initgroups.c (__nss_initgroups_database): Renamed and exported. ++ (internal_getgrouplist): Adjust to name change. ++ Update use_initgroups_entry if this is not the first call. ++ * nss/databases.def: Add initgroups entry. ++ ++ * nss/makedb.c (compute_tables): Check result of multiple hash table ++ sizes to minimize maximum chain length. ++ ++2011-06-14 Ulrich Drepper ++ ++ * Versions.def: Add entry for libnss_db. ++ * shlib-versions: Likewise. ++ * nss/Makefile: Add rules to build libnss_db. ++ * nss/Versions: Add libnss_db information. Organize libnss_files ++ entries better. ++ * nss/db-Makefile: Add gshadow support. Change rules for the new ++ makedb progra. Some minor improvements to generate smaller files. ++ * nss/nss_db/nss_db.h: Move NSS database header data structures to ++ here from... ++ * nss/makedb.c: ...here. ++ Improve database format to be smaller and require less memory at ++ runtime. ++ * nss/nss_db/db-XXX.x: Adjust for new database format. Don't use ++ db anymore. ++ * nss/nss_db/db-netgrp.c: Likewise. ++ * nss/nss_db/db-open.c: Likewise. ++ * nss/nss_files/flies-XXX.x: Adjust comments. ++ * nss/nss_files/files-ethers.c: Adjust for new DB_LOOKUP definition. ++ * nss/nss_files/files-grp.c: Likewise. ++ * nss/nss_files/files-hosts.c: Likewise. ++ * nss/nss_files/files-network.c: Likewise. ++ * nss/nss_files/files-proto.c: Likewise. ++ * nss/nss_files/files-pwd.c: Likewise. ++ * nss/nss_files/files-rpc.c: Likewise. ++ * nss/nss_files/files-service.c: Likewise. ++ * nss/nss_files/files-sgrp.c: Likewise. ++ * nss/nss_files/files-spwd.c: Likewise. ++ * nss/nss_db/db-alias.c: Removed. ++ * nss/nss_db/dummy-db.h: Removed. ++ ++2011-06-02 Ulrich Drepper ++ ++ * nss/makedb.c: Rewritten to not use database library. ++ * nss/Makefile: Update to build new makedb program. ++ ++2011-06-14 Andreas Jaeger ++ ++ * sysdeps/unix/sysv/linux/check_native.c: Include for ++ memset declaration. ++ ++2011-06-10 Andreas Schwab ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix logic allocating ++ tmpbuf. ++ ++2011-06-10 Roland McGrath ++ ++ * Makerules (shlib.lds): Fail if the linker script comes out empty. ++ * elf/Makefile ($(objpfx)ld.so): Likewise. ++ ++ * Makefile ($(common-objpfx)linkobj/libc.so): Break long lines with \. ++ Don't list ld.so twice in dependencies. ++ ++ * posix/bug-regex31.c: Include . ++ ++ * nscd/hstcache.c (cache_addhst): Remove unused variable. ++ ++ * nis/nss_compat/compat-spwd.c ++ (getspent_next_nss_netgr): Remove unused variable. ++ * nis/nss_compat/compat-pwd.c (getpwent_next_nss_netgr): Likewise. ++ ++ * nis/nis_print_group_entry.c (nis_print_group_entry): Fix "Implicit ++ nonmembers" output to use the right array. ++ ++ * resolv/nss_dns/dns-network.c (getanswer_r): Remove unused variable. ++ ++ * elf/dl-open.c (_dl_open): Quash warnings when DL_NNS==1. ++ ++ * locale/programs/ld-ctype.c (ctype_read): Remove unused variable. ++ * locale/programs/ld-collate.c (add_to_tablewc): Likewise. ++ * catgets/gencat.c (read_input_file): Likewise. ++ * locale/programs/locarchive.c (enlarge_archive): Likewise. ++ ++ * sunrpc/clnt_udp.c (__libc_clntudp_bufcreate): Move DONTBLOCK ++ variable definition inside #if's controlling its use. ++ ++ * inet/getnetgrent_r.c (innetgr): Remove unused variable. ++ ++ * resolv/res_hconf.c (_res_hconf_reorder_addrs): Fix errno restoration. ++ ++ * misc/syslog.c (__vsyslog_chk): Remove unused variable. ++ ++ * io/fts.c (fts_build): Use if (0 && ...) rather than #if 0 for ++ unreachable code. ++ ++ * stdio-common/printf_fp.c (___printf_fp): Remove unused variable. ++ ++ * configure.in (nss-crypt check): Use AC_LANG_PROGRAM. ++ * configure: Regenerated. ++ ++ * Makerules: Revert last change. ++ * elf/Makefile: Likewise. ++ ++2011-06-09 Roland McGrath ++ ++ * Makerules ($(common-objpfx)libc_pic.os): Use -Wl, before -r. ++ * elf/Makefile ($(objpfx)librtld.os): Likewise. ++ (reloc-link): Likewise. ++ ++2011-06-09 Ulrich Drepper ++ ++ * elf/Makefile: Add rules to build pldd. ++ * elf/pldd.c: New file. ++ * elf/pldd-xx.c: New file. ++ ++2011-06-07 Ulrich Drepper ++ ++ * version.h: Update for 2.15 development version. ++ ++2011-06-07 David S. Miller ++ ++ * sysdeps/sparc/sparc32/dl-irel.h (elf_irela): Pass dl_hwcap to ++ ifuncs. ++ * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, ++ elf_machine_lazy_rel): Likewise. ++ * sysdeps/sparc/sparc64/dl-irel.h (elf_irela): Likewise. ++ * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, ++ elf_machine_lazy_rel): Likewise. ++ * sysdeps/sparc/sparc64/multiarch/memcpy.S (memcpy): Fetch ++ dl_hwcap via passed in argument. ++ * sysdeps/sparc/sparc64/multiarch/memset.S (memset, bzero): ++ Likewise. ++ ++2011-06-06 Andreas Krebbel ++ ++ * stdlib/longlong.h: Update from GCC. Fix smul_ppmm for S/390. ++ ++2011-06-06 Roland McGrath ++ ++ [BZ #12849] ++ * manual/fdl-1.1.texi: New file, verbatim from: ++ http://www.gnu.org/licenses/old-licenses/fdl-1.1.texi ++ * manual/lgpl-2.1.texi: New file, verbatim from: ++ http://www.gnu.org/licenses/old-licenses/lgpl-2.1.texi ++ * manual/Makefile (licenses): New variable, list those new file names. ++ (texis): Use it. ++ (chapters.% top-menu.%): Include $(licenses) with $(appendices). ++ ++ * manual/fdl.texi: File removed. ++ * manual/lesser.texi: File removed. ++ * manual/libc.texinfo (Copying, Documentation License): ++ Use new @include file names, put @appendix directive before @include. ++ ++2011-06-04 Jakub Jelinek ++ ++ [BZ #12841] ++ * rt/bits/mqueue2.h (__mq_open_2): Add __THROW. ++ (__mq_open_alias): Use __REDIRECT_NTH instead of __REDIRECT. ++ (mq_open): Add __NTH. ++ ++2011-06-02 H.J. Lu ++ ++ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): ++ Assume Intel Core i3/i5/i7 processor if AVX is available. ++ ++2011-05-31 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): Fix ++ typo. ++ ++2011-05-31 Andreas Schwab ++ ++ * nscd/nscd_getserv_r.c (nscd_getserv_r): Don't free non-malloced ++ memory. Use alloca_account. Fix memory leak when retrying. ++ ++2011-05-31 Ulrich Drepper ++ ++ * version.h (RELEASE): Bump for 2.14 release. ++ * include/features.h (__GLIBC_MINOR__): Bump to 14. ++ ++ * config.make.in (RANLIB): Remove entry. ++ ++2011-05-30 Ulrich Drepper ++ ++ * po/Makefile (po-sed-cmd): Add ksh to extensions. ++ (libc.pot): Work around missing support for .ksh extension in xgettext. ++ ++ [BZ #12684] ++ * resolv/res_send.c (__libc_res_nsend): Only go to the next name server ++ if both request failed. ++ (send_dg): In case of server errors clear resplen or *resplen2. ++ ++ [BZ #12454] ++ * elf/dl-deps.c (_dl_map_object_deps): Run initializer sorting only ++ when there are multiple maps. ++ * elf/dl-fini.c (_dl_sort_fini): Check for list of one. ++ (_dl_fini): Remove test here. ++ ++ * elf/rtld.c (dl_main): Don't allow the loader to load itself. ++ ++2011-05-29 Ulrich Drepper ++ ++ [BZ #12350] ++ * sysdeps/posix/getaddrinfo.c (gethosts): Restore only RES_USE_IENT6 ++ bit from old_res_options. ++ (gaih_inet): Likewise. ++ ++ [BZ #11099] ++ * shadow/sgetspent_r.c (LINE_PARSER): Interpret numeric field values ++ as signed. ++ ++ * resolv/res_init.c (res_setoptions): Make the code more compact. ++ ++ [BZ #11558] ++ * resolv/res_init.c (res_setoptions): Recognize use-vc option and ++ set RES_USEVC. ++ ++ [BZ #11634] ++ * elf/Makefile (tests): Don't add tst-audit[67] without working -mavx. ++ ++ * malloc/malloc.h: Mark malloc hook variables as deprecated. ++ ++ [BZ #11781] ++ * malloc/malloc.h: Declare malloc hook variables as volatile. ++ ++ * locale/programs/locarchive.c (add_locale_to_archive): Fix typo ++ in last patch. ++ ++ [BZ #11799] ++ * sysdeps/unix/sysv/linux/bits/siginfo.h (SI_USER): Don't mention ++ raise in the comment. ++ * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. ++ ++2011-05-28 Ulrich Drepper ++ ++ [BZ #12811] ++ * posix/regex_internal.c (build_wcs_buffer): Don't signal we have to ++ grow the buffers more if it already has to be sufficient. ++ (build_wcs_upper_buffer): Likewise. ++ * posix/regexec.c (check_matching): Likewise. ++ (clean_state_log_if_needed): Likewise. ++ (extend_buffers): Don't enlarge buffers beyond size of the input ++ buffer. ++ Patches mostly by Emil Wojak . ++ * posix/bug-regex32.c: New file. ++ * posix/Makefile (tests): Add bug-regex32. ++ ++ * locale/findlocale.c (_nl_find_locale): Return right away if ++ _nl_explode_name failed. ++ * locale/programs/locarchive.c (add_locale_to_archive): Likewise. ++ ++ * sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_sendmmsg): Define. ++ ++ * debug/xtrace.sh: Unify messages. ++ * malloc/memusage.sh: Likewise. ++ ++ [BZ #12813] ++ * sysdeps/unix/sysv/linux/x86_64/init-first.c (__vdso_time): Retrieve ++ time symbol from vDSO. Substitute with vsyscall if not available. ++ * sysdeps/unix/sysv/linux/x86_64/time.S [SHARED]: Use ++ __vdso_time. ++ ++ * sysdeps/unix/sysv/linux/internal_sendmmsg.S: New file. ++ * sysdeps/unix/sysv/linux/sendmmsg.c: New file. ++ * sysdeps/unix/sysv/linux/Makefile [subdir=socket] (sysdep_routines): ++ Add sendmmsg and internal_sendmmsg. ++ * sysdeps/unix/sysv/linux/Versions [GLIBC_2.14]: Add sendmmsg. ++ * sysdeps/unix/sysv/linux/bits/socket.h: Declare sendmmsg. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_SENDMMSG. ++ ++ * sysdeps/unix/sysv/linux/syscalls.list: Add setns entry. ++ * sysdeps/unix/sysv/linux/bits/sched.h: Declare setns. ++ * sysdeps/unix/sysv/linux/Versions [GLIBC_2.14]: Add setns. ++ ++2011-05-27 Ulrich Drepper ++ ++ [BZ #12813] ++ * sysdeps/unix/sysv/linux/x86_64/init-first.c (__vdso_getcpu): ++ Retrieve getcpu symbol from vDSO. Substitute with vsyscall if not ++ available. ++ * sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S [SHARED]: Use ++ __vdso_getcpu. ++ ++ [BZ #12814] ++ * iconvdata/Makefile (tests): Add bug-iconv9. ++ * iconvdata/bug-iconv9.c: New file. ++ ++2011-05-27 Andreas Schwab ++ ++ [BZ #12814] ++ * iconvdata/iso-2022-jp.c (BODY): Fix invalid variable shadowing. ++ ++2011-05-25 Jakub Jelinek ++ ++ * sysdeps/unix/sysv/linux/x86_64/sys/user.h ++ (struct user_regs_struct): Change intcs field back to cs. ++ ++2011-05-25 Ulrich Drepper ++ ++ * po/ja.po: Update from translation team. ++ ++2011-05-23 Ulrich Drepper ++ ++ [BZ #12795] ++ * sysdeps/unix/sysv/linux/bits/resource.h (RLIMIT_RTTIME): Define. ++ * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise. ++ ++2011-05-20 Andreas Schwab ++ ++ * stdlib/longlong.h: Update from GCC. ++ ++2011-05-23 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/ia64/sysconf.c (HAS_CPUCLOCK): Add ++ parameter name. ++ * sysdeps/unix/sysv/linux/sysconf.c (has_cpuclock, HAS_CPUCLOCK): ++ Add parameter name. ++ (__sysconf): Pass it down. ++ ++2011-05-22 Ulrich Drepper ++ ++ [BZ #12671] ++ * nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Use malloc in ++ some situations. ++ * nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise. ++ * posix/glob.c (glob_in_dir): Take additional parameter alloca_used. ++ add in in __libc_use_alloca calls. Adjust callers. ++ (glob): Use malloc in some situations. ++ ++ * elf/dl-runtime.c (_dl_profile_fixup): Also store LA_SYMB_NOPLTENTER ++ and LA_SYMB_NOPLTEXIT in flags which are passed to pltenter and ++ pltexit. ++ ++2011-05-21 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/bits/time.h: Define CLOCK_REALTIME_ALARM ++ and CLOCK_BOOTTIME_ALARM. ++ ++ [BZ #12782] ++ * string/xpg-strerror.c (__xpg_strerror_r): Fill buffer even if error ++ is returned. ++ ++ * string/_strerror.c (__strerror_r): Print negative errors as signed ++ numbers. ++ ++ [BZ #12777] ++ * iconvdata/cp1258.c (comp_table_data): Remove entry 0x00A5 0xEC. ++ (decomp_table): Change U0385 entry to emit 0xA5 0xEC. ++ * iconvdata/CP1258.irreversible: Adjust entry 0xA8EC. ++ ++ * configure.in: Fix typo in redirection and correct removal of test ++ files in two cases. ++ ++ [BZ #12788] ++ * locale/setlocale.c (new_composite_name): Fix test to check for ++ identical name of all categories. ++ ++ [BZ #12792] ++ * libio/filedoalloc.c (local_isatty): New function. ++ (_IO_file_doallocate): Use local_isatty. ++ * stdio-common/perror.c (perror): In case a new stream is used ++ forward the stream error. ++ * stdio-common/vfprintf.c (ARGCHECK): For read-only streams also set ++ error flag. ++ ++2011-05-20 Ulrich Drepper ++ ++ [BZ #11869] ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't unconditionally use ++ alloca. ++ * include/alloca.h (extend_alloca_account): Define. ++ ++ [BZ #11857] ++ * posix/regex.h: Fix comments with documentation of user-accessible ++ fields after compilation and describe correct free'ing of pattern ++ after re_compile_pattern. ++ Patch by Reuben Thomas . ++ ++2011-05-18 Ryan S. Arnold ++ ++ * sysdeps/powerpc/powerpc64/Makefile (no-special-regs): Add -mno-vsx ++ and -mno-altivec to prevent the compiler from using Altivec and/or ++ VSX instructions when the corresponding registers are not available. ++ ++2011-05-19 Andreas Schwab ++ ++ * grp/compat-initgroups.c (__libc_use_alloca): Don't define. ++ ++2011-05-19 Ulrich Drepper ++ ++ * libio/freopen.c (freopen): Use __dup2, not dup2. ++ * libio/freopen64.c (freopen64): Likewise. ++ ++2011-05-17 H.J. Lu ++ ++ [BZ #12775] ++ * sysdeps/x86_64/fpu/e_powl.S: Fix a typo. ++ * math/Makefile (tests): Add test-powl. ++ (CFLAGS-test-powl.c): Define. ++ * math/test-powl.c: New file. ++ ++2011-05-16 H.J. Lu ++ ++ * fileops.c (_IO_new_file_fopen): Get fd from _IO_fileno. ++ ++2011-05-17 Ulrich Drepper ++ ++ [BZ #11837] ++ * iconvdata/gb18030.c: Update to GB18020-2005. ++ ++2011-05-16 Ulrich Drepper ++ ++ * posix/regex.h (RE_SYNTAX_AWK, RE_SYNTAX_GNU_AWK, ++ RE_SYNTAX_POSIX_AWK): Update to match recent development. ++ Patch by Aharon Robbins . ++ ++ [BZ #11892] ++ * stdlib/putenv.c (putenv): Don't always create copy of the variable ++ on the stack. ++ ++ [BZ #11895] ++ * misc/pselect.c (__pselect): Handle timeout value errors hidden ++ through underflows. ++ ++ [BZ #12766] ++ * misc/error.c (error_at_line): Ensure file_name and old_file_name ++ point to strings before performing equality test for error_one_per_line ++ mode. ++ ++ [BZ #11697] ++ * login/programs/pt_chown.c (do_pt_chown): Always call chown. ++ ++ [BZ #11820] ++ * sysdeps/unix/sysv/linux/x86_64/sys/user.h ++ (struct user_fpregs_struct): Avoid __uint*_t types. ++ ++ [BZ #6420] ++ * malloc/mtrace.c (tr_where): Add additional parameter to point to ++ symbol info. Use it instead of calling _dl_addr locally. ++ (lock_and_info): New function. ++ (tr_freehook): Call lock_and_info and pass symbol info as additional ++ parameter to tr_where. ++ (tr_mallochook): Likewise. ++ (tr_reallochook): Likewise. ++ (tr_memalignhook): Likewise. ++ ++ * malloc/mtrace.c: Remove support for USE_MTRACE_FILE. It is not ++ used and couldn't be at all thread-safe. ++ ++2011-05-15 Ulrich Drepper ++ ++ * libio/freopen.c (freopen): Don't close old file descriptor ++ before the new one is opened. Instead dup the new file descriptor ++ to the old one after the new stream is created. ++ * libio/freopen64.c (freopen64): Likewise. ++ * libio/libio.h: Define _IO_FLAGS2_NOCLOSE and _IO_FLAGS2_CLOEXEC. ++ * libio/fileops.c (_IO_new_file_close_it): Handle new ++ _IO_FLAGS2_NOCLOSE flag. ++ (_IO_new_file_fopen): Set _IO_FLAGS2_CLOEXEC for "e" mode. ++ If _IO_file_open didn't set FD_CLOEXEC do it after the call. ++ * libio/oldfileops.c (_IO_old_file_close_it): Handle new ++ _IO_FLAGS2_NOCLOSE flag. ++ * include/unistd.h: Add hidden_proto for dup3. ++ Define __have_dup3. ++ * io/dup3.c: Define hidden symbol. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_DUP3. ++ ++ [BZ #7101] ++ * posix/getopt.c (_getopt_internal_r): List all ambigious possibilities ++ when an incomplete long option is used. ++ * posix/tst-getopt_long1.c: New file. ++ * posix/Makefile (tests): Add tst-getopt_long1. ++ ++ [BZ #10138] ++ * scripts/config.guess: Update from autoconf-2.68. ++ * scripts/config.sub: Likewise. ++ ++ [BZ #10157] ++ * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Split out CPUTIME ++ tests into ... ++ (has_cpuclock): ...this. New function. ++ * sysdeps/unix/sysv/linux/ia64/sysconf.c: Just define HAS_CPUCLOCK ++ macro here based on has_cpuclock code. ++ ++ [BZ #10149] ++ * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): ++ First byte (not low byte) is now always NUL. ++ * sysdeps/generic/dl-osinfo.h (_dl_setup_stack_chk_guard): Likewise. ++ ++ * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): ++ Use non-cancelable interfaces. ++ ++ [BZ #9809] ++ * locale/iso-639.def: Add entry for Sorani. ++ ++ [BZ #11901] ++ * include/stdlib.h: Move include protection to the right place. ++ Define abort_msg_s. Declare __abort_msg with it. ++ * stdlib/abort.c (__abort_msg): Adjust type. ++ * assert/assert.c (__assert_fail_base): New function. Majority ++ of code from __assert_fail. Allocate memory for __abort_msg with ++ mmap. ++ (__assert_fail): Now call __assert_fail_base. ++ * assert/assert-perr.c: Remove bulk of implementation. Use ++ __assert_fail_base. ++ * include/assert.hL Declare __assert_fail_base. ++ * sysdeps/posix/libc_fatal.c: Allocate memory for __abort_msg with ++ mmap. ++ * sysdeps/unix/sysv/linux/libc_fatal.c: Likewise. ++ ++2011-05-14 Ulrich Drepper ++ ++ [BZ #11952] ++ [BZ #12453] ++ * elf/dl-open.c (dl_open_worker): Delay calls to _dl_update_slotinfo ++ until all modules are registered in the DTV. ++ * elf/Makefile: Add rules to build and run tst-tls19. ++ * elf/tst-tls19.c: New file. ++ * elf/tst-tls19mod1.c: New file. ++ * elf/tst-tls19mod2.c: New file. ++ * elf/tst-tls19mod3.c: New file. ++ Patch mostly by Martin von Gagern . ++ ++ [BZ #12083] ++ * sysdeps/pthread/aio_misc.c (__aio_init): Compute optim.aio_num ++ correctly. ++ ++ [BZ #12601] ++ * iconvdata/cp932.c (BODY to UCS4): Fix incrementing inptr in case of ++ two-byte sequence errors. ++ * iconvdata/Makefile (tests): Add bug-iconv8. ++ * iconvdata/bug-iconv8.c: New file. ++ ++ [BZ #12626] ++ * sysdeps/generic/elf/backtracesymsfd.c (__backtrace_symbols_fd): Move ++ buf2 definition. ++ ++ * libio/fileops.c (_IO_new_file_close_it): Initialize write_status. ++ ++ [BZ #12432] ++ * sysdeps/ia64/backtrace.c (struct trace_reg): Add cfa element. ++ (dummy_getcfa): New function. ++ (init): Get _Unwind_GetCFA address, use dummy if not found. ++ (backtrace_helper): In recursion check, also check whether CFA changes. ++ (__backtrace): Completely initialize arg. ++ ++ * iconv/loop.c (SINGLE) [STORE_REST]: Add input bytes to bytebuf before ++ storing incomplete byte sequence in state object. Avoid testing for ++ guaranteed too small input if we know there is enough data available. ++ ++2011-05-11 Andreas Schwab ++ ++ * Makeconfig (+link-pie): Indent. ++ * Rules (binaries-pie): Define if $(have-fpie) and ++ $(build-shared). ++ (binaries-shared): Also filter out $(binaries-pie). ++ ($(addprefix $(objpfx),$(binaries-pie))): New rule. ++ * nscd/Makefile (others-pie): Add nscd. ++ (LDFLAGS-nscd): Set this instead of relro-LDFLAGS. ++ ($(objpfx)nscd): Remove command override. ++ * login/Makefile (others-pie): Add pt_chown. ++ ($(objpfx)pt_chown): Remove command override. ++ * elf/Makefile: Add PIE tests to tests and tests-pie variables and ++ remove command overrides. ++ ++2011-05-13 Ulrich Drepper ++ ++ * libio/tst_putwc.c: Fix error messages. ++ ++ [BZ #12724] ++ * libio/fileops.c (_IO_new_file_close_it): Always flush when ++ currently writing and seek to current position when not. ++ * libio/Makefile (tests): Add bug-fclose1. ++ * libio/bug-fclose1.c: New file. ++ ++2011-05-12 Ulrich Drepper ++ ++ [BZ #12511] ++ * elf/dl-lookup.c (enter): Don't test for copy relocation here and ++ don't set DF_1_NODELETE here. ++ (do_lookup_x): When entering new entry test for copy relocation ++ and if necessary set DF_1_NODELETE flag. ++ * elf/tst-unique4.cc: New file. ++ * elf/tst-unique4.h: New file. ++ * elf/tst-unique4lib.cc: New file. ++ * elf/Makefile: Add rules to build and run tst-unique4. ++ Patch by Piotr Bury . ++ ++2011-05-11 Ulrich Drepper ++ ++ [BZ #12052] ++ * sysdeps/posix/spawni.c (__spawni): Fix sched_setscheduler call. ++ ++ [BZ #12625] ++ * misc/mntent_r.c (addmntent): Flush the stream after the output ++ ++ [BZ #12393] ++ * elf/dl-load.c (is_trusted_path): Remove unnecessary test. ++ (is_trusted_path_normalize): Skip initial colon. Append slash ++ to empty buffer. Duplicate is_trusted_path code but allow ++ constructed patch to be prefix. ++ (is_dst): Allow $ORIGIN followed by /. ++ (_dl_dst_substitute): Correct clearing of check_for_trusted. ++ Correct testing of result of is_trusted_path_normalize ++ (decompose_rpath): Fix warning. ++ ++2011-05-10 Ulrich Drepper ++ ++ [BZ #11257] ++ * grp/initgroups.c (internal_getgrouplist): When we found the service ++ list through the initgroups entry in nsswitch.conf do not always ++ continue on a successful lookup. Don't always use the ++ __nss_group_database value if it is set. ++ * nss/nsswitch.conf (initgroups): Change action for successful db ++ lookup to continue for compatibility. ++ ++2011-05-09 Ulrich Drepper ++ ++ [BZ #11532] ++ * iconvdata/Makefile: Add rules to build CP770, CP771, CP772, CP773, ++ and CP774 modules. ++ * iconvdata/gconv-modules: Add entries for CP770, CP771, CP772, CP773, ++ and CP774 modules. ++ * iconvdata/tst-tables.sh: Likewise. ++ * iconvdata/cp770.c: New file. ++ * iconvdata/cp771.c: New file. ++ * iconvdata/cp772.c: New file. ++ * iconvdata/cp773.c: New file. ++ * iconvdata/cp774.c: New file. ++ * iconvdata/testdata/CP770: New file. ++ * iconvdata/testdata/CP770..UTF8: New file. ++ * iconvdata/testdata/CP771: New file. ++ * iconvdata/testdata/CP771..UTF8: New file. ++ * iconvdata/testdata/CP772: New file. ++ * iconvdata/testdata/CP772..UTF8: New file. ++ * iconvdata/testdata/CP773: New file. ++ * iconvdata/testdata/CP773..UTF8: New file. ++ * iconvdata/testdata/CP774: New file. ++ * iconvdata/testdata/CP774..UTF8: New file. ++ ++ * iconvdata/gen-8bit-gap-1.sh: End reading of charmap file at ++ END CHARMAP line. ++ * iconvdata/gen-8bit-gap.sh: Likewise. ++ * iconvdata/gen-8bit.sh: Likewise. ++ ++ * locale/iso-639.def: Add ary entry. ++ ++ [BZ #11258] ++ * locale/C-translit.h.in: Add U20A1 transliteration. ++ ++ [BZ #12178] ++ * locale/iso-639.def: Add wae entry. ++ Patch by Kevin Bortis . ++ ++ [BZ #12545] ++ * locale/programs/localedef.c (construct_output_path): Use ssize_t ++ for n. ++ ++ [BZ #12711] ++ * locale/C-translit.h.in: Add entry for U20B9. ++ Patch by pravin.d.s@gmail.com. ++ ++2011-05-08 Ulrich Drepper ++ ++ [BZ #12713] ++ * sysdeps/unix/sysv/linux/getcwd.c: If getcwd syscall report ++ ENAMETOOLONG use generic getcwd. ++ * sysdeps/posix/getcwd.c: Add support to use openat. Make usable ++ in rtld. Use *stat64. ++ * sysdeps/unix/sysv/linux/Makefile [subdir=elf] (sysdep-rtld-routines): ++ Add dl-getcwd, dl-openat64, dl-opendir, dl-fxstatat64. ++ * sysdeps/unix/sysv/linux/dl-getcwd.c: New file. ++ * sysdeps/unix/sysv/linux/dl-openat64.c: New file. ++ * sysdeps/unix/sysv/linux/dl-opendir.c: New file. ++ * sysdeps/unix/sysv/linux/dl-fxstat64.c: New file. ++ * include/sys/stat.h: Define __fstatat, __lstat64, __fstat64, and ++ __fstatat64 macros. ++ * include/dirent.h: Add libc_hidden_proto for rewinddir. ++ * dirent/rewinddir.c: Add libc_hidden_def. ++ * sysdeps/mach/hurd/rewinddir.c: Likewise. ++ * sysdeps/unix/rewinddir.c: Likewise. Don't do locking outside libc. ++ ++ * include/dirent.h (__alloc_dir): Add flags parameter. ++ * sysdeps/unix/fdopendir.c (__fdopendir): Pass flags to __alloc_dir. ++ * sysdeps/unix/opendir.c (__opendir): Pass 0 in new parameter to ++ __alloc_dir. ++ (__alloc_dir): Take new parameter. Don't call fcntl for invocations ++ from fdopendir if O_CLOEXEC is already set. ++ ++2011-03-15 Alan Modra ++ ++ * elf/dl-reloc.c (_dl_try_allocate_static_tls ): Handle ++ l_tls_firstbyte_offset non-zero. Save padding offset in ++ l_tls_firstbyte_offset for later use. ++ * elf/dl-close.c (_dl_close_worker ): Correct code ++ freeing static tls block. ++ ++2011-03-05 Jonathan Nieder ++ ++ * sysdeps/unix/sysv/linux/sys/param.h: Fix an #ifndef __undef_ARG_MAX ++ where #ifdef was intended. The intent is to prevent ARG_MAX from ++ being defined by the kernel headers. ++ ++2011-05-07 Ulrich Drepper ++ ++ [BZ #12734] ++ * resolv/resolv.h: Define RES_NOTLDQUERY. ++ * resolv/res_init.c (res_setoptions): Recognize no_tld_query and ++ no-tld-query and set RES_NOTLDQUERY. ++ * resolv/res_debug.c (p_option): Handle RES_NOTLDQUERY. ++ * resolv/res_query.c (__libc_res_nsearch): Backport changes from ++ modern BIND to search name as TLD unless forbidden. ++ ++2011-05-07 Petr Baudis ++ Ulrich Drepper ++ ++ [BZ #12393] ++ * elf/dl-load.c (fillin_rpath): Move trusted path check... ++ (is_trusted_path): ...to here. ++ (is_trusted_path_normalize): Wrapper for /../ and /./ normalization. ++ (_dl_dst_substitute): Verify expanded $ORIGIN path elements ++ using is_trusted_path_normalize() in setuid scripts. ++ ++2011-05-06 Paul Pluzhnikov ++ ++ * sysdeps/unix/sysv/linux/sys/sysmacros.h: Add missing ++ __BEGIN/__END_DECLS. ++ ++2011-05-06 Ulrich Drepper ++ ++ * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Return ++ NSS_STATUS_NOTFOUND if no record was found. ++ ++2011-05-05 Andreas Schwab ++ ++ * sunrpc/Makefile (headers): Add rpc/netdb.h. ++ (headers-not-in-tirpc): Remove rpc/netdb.h ++ * resolv/netdb.h: Revert last change. ++ ++2011-05-05 Paul Pluzhnikov ++ ++ * Makeconfig (link-libc-static): Use --{start,end}-group to handle ++ circular dependency between libgcc.a and libc.a. ++ ++2011-05-05 Andreas Schwab ++ ++ * resolv/netdb.h: Don't include . ++ * nis/Makefile: Don't install rpcsvc/*. ++ * inet/protocols/timed.h: Include and ++ instead of . ++ (MAXHOSTNAMELEN): Define. ++ ++2011-05-03 Andreas Schwab ++ ++ * elf/ldconfig.c (add_dir): Don't crash on empty path. ++ ++2011-04-28 Maciej Babinski ++ ++ [BZ #12714] ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't bypass ++ gethostbyname4_r when IPv6 results are possible. ++ ++2011-05-02 Ulrich Drepper ++ ++ [BZ #12723] ++ * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Implement ++ _PC_PIPE_BUF handling. ++ ++2011-04-30 Bruno Haible ++ ++ [BZ #12717] ++ * conform/data/netdb.h-data (getnameinfo): Make POSIX compliant. ++ * resolv/netdb.h (getnameinfo): Change type of flags parameter ++ to 'int'. ++ * inet/getnameinfo.c (getnameinfo): Likewise. ++ ++2011-04-29 Ulrich Drepper ++ ++ * grp/initgroups.c (internal_getgrouplist): Prefer initgroups setting ++ to groups setting in database lookup. ++ * nss/nsswitch.conf: Add initgroups entry. ++ ++2011-04-22 Ulrich Drepper ++ ++ [BZ #12685] ++ * libio/fileops.c (_IO_new_file_fopen): Scan up to 7 bytes of the ++ mode string. ++ Patch by Eric Blake . ++ ++2011-04-20 H.J. Lu ++ ++ * sunrpc/Makefile (need-export-routines): Add svc_run. ++ (routines): Remove svc_run. ++ ($(objpfx)thrsvc): Add $(common-objpfx)linkobj/libc.so. ++ * sunrpc/clnt_perr.c (clnt_perrno): Export. ++ * sunrpc/svc_run.c (svc_run): Likewise. ++ * sunrpc/svc_udp.c (svcudp_create): Likewise. ++ ++2011-04-21 Ulrich Drepper ++ ++ * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Fix ++ problem in reallocation in last patch. ++ ++2011-04-20 Ulrich Drepper ++ ++ * sunrpc/Makefile: Move inclusion of Rules. ++ ++2011-04-19 Ulrich Drepper ++ ++ * nss/nss_files/files-initgroups.c: New file. ++ * nss/Makefile (libnss_files-routines): Add files-initgroups. ++ * nss/Versions (libnss_files) [GLIBC_PRIVATE]: Export ++ _nss_files_initgroups_dyn. ++ ++2011-03-31 Richard Sandiford ++ ++ * elf/elf.h (R_ARM_IRELATIVE): Define. ++ ++2011-04-19 Ulrich Drepper ++ ++ * po/ru.po: Update from translation team. ++ ++2011-04-17 Ulrich Drepper ++ ++ * sunrpc/Makefile ($(rpc-compat-routines.os)): Add before-compile to ++ dependencies. ++ ++2011-02-06 Mike Frysinger ++ ++ [BZ #12653] ++ * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Only protect ++ MEMCPY_CHK with USE_AS_BCOPY ifdef check. ++ * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise. ++ * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise. ++ * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Likewise. ++ ++2011-03-28 Andreas Schwab ++ ++ * sysdeps/powerpc/powerpc32/power4/strncmp.S: Don't read past ++ differing bytes. ++ * sysdeps/powerpc/powerpc64/power4/strncmp.S: Likewise. ++ * sysdeps/powerpc/powerpc32/power7/strncmp.S: Likewise. ++ * sysdeps/powerpc/powerpc64/power7/strncmp.S: Likewise. ++ ++2011-04-17 Ulrich Drepper ++ ++ [BZ #12420] ++ * sysdeps/unix/sysv/linux/x86_64/getcontext.S: Reload context after ++ storing it. ++ * stdlib/bug-getcontext.c: New file. ++ * stdlib/Makefile: Add rules to build and run bug-getcontext. ++ ++2011-04-13 Andreas Krebbel ++ ++ * sysdeps/s390/s390-64/utf16-utf32-z9.c: Wrap the z9-109 ++ instructions into .machine "z9-109". ++ * sysdeps/s390/s390-64/utf8-utf16-z9.c: Likewise. ++ * sysdeps/s390/s390-64/utf8-utf32-z9.c: Likewise. ++ ++2011-04-11 Andreas Krebbel ++ ++ * sysdeps/s390/s390-32/elf/start.S (_start): Skip extra zeroes ++ between environment variables and auxiliary vector. ++ ++2011-04-16 Ulrich Drepper ++ ++ * Makefile: Add rules to build linkobj/libc.so. ++ * include/libc-symbols.h: Define libc_hidden_nolink. ++ * include/rpc/auth.h: Mark functions which are to be hidden. ++ * include/rpc/auth_des.h: Likewise. ++ * include/rpc/auth_unix.h: Likewise. ++ * include/rpc/clnt.h: Likewise. ++ * include/rpc/des_crypt.h: Likewise. ++ * include/rpc/key_prot.h: Likewise. ++ * include/rpc/pmap_clnt.h: Likewise. ++ * include/rpc/pmap_prot.h: Likewise. ++ * include/rpc/pmap_rmt.h: Likewise. ++ * include/rpc/rpc_msg.h: Likewise. ++ * include/rpc/svc.h: Likewise. ++ * include/rpc/svc_auth.h: Likewise. ++ * include/rpc/xdr.h: Likewise. ++ * nis/Makefile: Link all DSOs against linkobj/libc.so. ++ * nss/Makefile: Likewise. ++ * sunrpc/Makefile: Don't install headers. Build library with normal ++ entry points. Don't build rpcinfo. Link RPC tests appropriately. ++ * sunrpc/auth_des.c: Hide exported symbols by default, export some ++ for the compat linking library. Remove use of INTDEF/INTUSE. ++ * sunrpc/auth_none.c: Likewise. ++ * sunrpc/auth_unix.c: Likewise. ++ * sunrpc/authdes_prot.c: Likewise. ++ * sunrpc/authuxprot.c: Likewise. ++ * sunrpc/clnt_gen.c: Likewise. ++ * sunrpc/clnt_perr.c: Likewise. ++ * sunrpc/clnt_raw.c: Likewise. ++ * sunrpc/clnt_simp.c: Likewise. ++ * sunrpc/clnt_tcp.c: Likewise. ++ * sunrpc/clnt_udp.c: Likewise. ++ * sunrpc/clnt_unix.c: Likewise. ++ * sunrpc/des_crypt.c: Likewise. ++ * sunrpc/des_soft.c: Likewise. ++ * sunrpc/get_myaddr.c: Likewise. ++ * sunrpc/key_call.c: Likewise. ++ * sunrpc/key_prot.c: Likewise. ++ * sunrpc/netname.c: Likewise. ++ * sunrpc/pm_getmaps.c: Likewise. ++ * sunrpc/pm_getport.c: Likewise. ++ * sunrpc/pmap_clnt.c: Likewise. ++ * sunrpc/pmap_prot.c: Likewise. ++ * sunrpc/pmap_prot2.c: Likewise. ++ * sunrpc/pmap_rmt.c: Likewise. ++ * sunrpc/publickey.c: Likewise. ++ * sunrpc/rpc_cmsg.c: Likewise. ++ * sunrpc/rpc_common.c: Likewise. ++ * sunrpc/rpc_dtable.c: Likewise. ++ * sunrpc/rpc_prot.c: Likewise. ++ * sunrpc/rpc_thread.c: Likewise. ++ * sunrpc/rtime.c: Likewise. ++ * sunrpc/svc.c: Likewise. ++ * sunrpc/svc_auth.c: Likewise. ++ * sunrpc/svc_authux.c: Likewise. ++ * sunrpc/svc_raw.c: Likewise. ++ * sunrpc/svc_run.c: Likewise. ++ * sunrpc/svc_simple.c: Likewise. ++ * sunrpc/svc_tcp.c: Likewise. ++ * sunrpc/svc_udp.c: Likewise. ++ * sunrpc/svc_unix.c: Likewise. ++ * sunrpc/svcauth_des.c: Likewise. ++ * sunrpc/xcrypt.c: Likewise. ++ * sunrpc/xdr.c: Likewise. ++ * sunrpc/xdr_array.c: Likewise. ++ * sunrpc/xdr_float.c: Likewise. ++ * sunrpc/xdr_intXX_t.c: Likewise. ++ * sunrpc/xdr_mem.c: Likewise. ++ * sunrpc/xdr_rec.c: Likewise. ++ * sunrpc/xdr_ref.c: Likewise. ++ * sunrpc/xdr_sizeof.c: Likewise. ++ * sunrpc/xdr_stdio.c: Likewise. ++ ++2011-04-10 Ulrich Drepper ++ ++ [BZ #12650] ++ * sysdeps/i386/dl-tls.h: Define TLS_DTV_UNALLOCATED. ++ * sysdeps/ia64/dl-tls.h: Likewise. ++ * sysdeps/powerpc/dl-tls.h: Likewise. ++ * sysdeps/s390/dl-tls.h: Likewise. ++ * sysdeps/sh/dl-tls.h: Likewise. ++ * sysdeps/sparc/dl-tls.h: Likewise. ++ * sysdeps/x86_64/dl-tls.h: Likewise. ++ * elf/dl-tls.c: Don't define TLS_DTV_UNALLOCATED here. ++ ++2011-03-14 Andreas Schwab ++ ++ * elf/dl-load.c (_dl_dst_substitute): When skipping the first ++ rpath element also skip the following colon. ++ (expand_dynamic_string_token): Add is_path parameter and pass ++ down to DL_DST_REQUIRED and _dl_dst_substitute. ++ (decompose_rpath): Call expand_dynamic_string_token with ++ non-zero is_path. Ignore empty rpaths. ++ (_dl_map_object_from_fd): Call expand_dynamic_string_token ++ with zero is_path. ++ ++2011-04-08 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/sync_file_range.c: ++ Make cancelable. ++ ++2011-04-09 Ulrich Drepper ++ ++ [BZ #12655] ++ * sysdeps/unix/sysv/linux/sys/syscall.h: Fix comment. ++ Patch by Filipe David Manana . ++ ++2011-04-07 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S (CALL_FAIL): ++ Maintain aligned stack. ++ (CHECK_RSP): Remove unused macro. ++ ++2011-04-03 Ulrich Drepper ++ ++ * sysdeps/x86_64/cacheinfo.c (intel_02_known): Fix typo in table. ++ * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Likewise. ++ ++2011-04-02 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/bits/time.h (CLOCK_BOOTTIME): Define. ++ ++ * include/features.h: Mention __USE_XOPEN2K8 in comment. ++ ++2011-03-26 H.J. Lu ++ ++ [BZ #12518] ++ * sysdeps/x86_64/Versions: Add memcpy to GLIBC_2.14. ++ * sysdeps/x86_64/memcpy.S: Provide GLIBC_2_14 memcpy. ++ * sysdeps/x86_64/memmove.c: New file. ++ * sysdeps/x86_64/multiarch/memcpy.S: Include . ++ (memcpy): Renamed to ... ++ (__new_memcpy): This. ++ (memcpy): Provide GLIBC_2_14 memcpy. ++ * sysdeps/x86_64/multiarch/memmove.c: Include . ++ (memcpy): Provide GLIBC_2_2_5 memcpy. ++ ++2011-04-01 Ulrich Drepper ++ ++ [BZ #12631] ++ * wcsmbs/wchar.h: Make wcpcpy and wcpncpy visible for __USE_XOPEN2K8. ++ ++2011-03-30 Andreas Schwab ++ ++ * misc/syncfs.c: New file. ++ * misc/Makefile (routines): Add syncfs. ++ * posix/unistd.h: Declare syncfs. ++ * sysdeps/unix/syscalls.list: Add syncfs. ++ ++2011-04-01 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/Versions: Rename open_by_handle to ++ open_by_handle_at. ++ * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/syscalls.list: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise. ++ ++2011-04-01 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define O_PATH. ++ * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise. ++ ++ * io/Makefile: Compile fallocate.c, fallocate64.c, and ++ sync_file_range.c with -fexceptions. ++ * sysdeps/unix/sysv/linux/fallocate.c: Make cancelable. ++ * sysdeps/unix/sysv/linux/fallocate64.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/fallocate.c: Likewise. ++ * sysdeps/unix/sysv/linux/i386/fallocate64.c: Likewise. ++ * sysdeps/unix/sysv/linux/wordsize-64/fallocate.c: Likewise. ++ * sysdeps/unix/sysv/linux/sync_file_range.c: Likewise. ++ * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Mark ++ sync_file_range as cancellation point ++ * sysdeps/unix/sysv/linux/i386/sync_file_range.c: New file. This is ++ now a wrapper around __call_sync_file_range with cancellation handling. ++ * sysdeps/unix/sysv/linux/i386/sync_file_range.S: Renamed to ... ++ * sysdeps/unix/sysv/linux/i386/call_sync_file_range.S: ...this. Change ++ function name to __call_sync_file_range. ++ * sysdeps/unix/sysv/linux/i386/Makefile [subdir=io] (sysdep_routines): ++ Add call_sync_file_range. ++ ++2011-04-01 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add ++ bits/timex.h. ++ ++2011-04-01 Ulrich Drepper ++ ++ * iconv/iconv.h: Fix typo in comment. ++ * io/fcntl.h: Likewise. ++ * libio/stdio.h: Likewise. ++ * posix/spawn.h: Likewise. ++ * posix/unistd.h: Likewise. ++ * stdlib/stdlib.h: Likewise. ++ * time/time.h: Likewise. ++ * wcsmbs/wchar.h: Likewise. ++ ++ * sysdeps/unix/sysv/linux/Versions [GLIBC_2.14] (name_to_handle_at, ++ open_by_handle): Add. ++ * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define struct file_handle ++ and MAX_HANDLE_SZ. Declare name_to_handle_at and open_by_handle. ++ Augment a few comments. ++ * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/syscalls.list: Add name_to_handle_at and ++ open_by_handle. ++ ++ * io/fcntl.h (AT_EMPTY_PATH): Define. ++ ++2011-03-30 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/syscalls.list: Add clock_adjtime. ++ * sysdeps/unix/sysv/linux/bits/time.h: New file. ++ * sysdeps/unix/sysv/linux/sys/timex.h: Move struct timex definition ++ to... ++ * sysdeps/unix/sysv/linux/bits/timex.h: ...here. New file. ++ * Versions.def: Add GLIBC_2.14. ++ * sysdeps/unix/sysv/linux/Versions [GLIBC_2.14] (clock_adjtime): ++ Export. ++ ++2011-03-22 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word): Increment ++ round counter. ++ * sysdeps/x86_64/cacheinfo.c (intel_check_word): Likewise. ++ ++2011-03-20 H.J. Lu ++ ++ [BZ #12597] ++ * string/test-strncmp.c (do_page_test): New function. ++ (check2): Likewise. ++ (test_main): Call check2. ++ * sysdeps/x86_64/multiarch/strcmp.S: Properly cross page boundary. ++ ++2011-03-20 Ulrich Drepper ++ ++ [BZ #12587] ++ * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word): ++ Handle cache information in CPU leaf 4. ++ * sysdeps/x86_64/cacheinfo.c (intel_check_word): Likewise. ++ ++2011-03-18 Ulrich Drepper ++ ++ [BZ #12583] ++ * posix/fnmatch.c (fnmatch): Check size of pattern in wide ++ character representation. ++ Partly based on a patch by Tomas Hoger . ++ ++2011-03-16 Ryan S. Arnold ++ ++ * sysdeps/powerpc/powerpc32/power6/fpu/s_isnanf.S (isnanf): Fix ++ END(__isnan) to END(__isnanf) to match function entry point/label ++ EALIGN(__isnanf,...). ++ ++2011-03-10 Jakub Jelinek ++ ++ * wcsmbs/wchar.h (wmemcmp): Remove __restrict qualifiers. ++ ++2011-03-10 Ulrich Drepper ++ ++ [BZ #12510] ++ * elf/dl-lookup.c (do_lookup_x): For copy relocations of unique objects ++ copy from the symbol referenced in the relocation to initialize the ++ used variable. ++ Patch by Piotr Bury . ++ * elf/Makefile: Add rules to build and tst-unique3. ++ * include/bits/dlfcn.h: Remove _dl_mcount_wrapper_check declaration. ++ * elf/tst-unique3.cc: New file. ++ * elf/tst-unique3.h: New file. ++ * elf/tst-unique3lib.cc: New file. ++ * elf/tst-unique3lib2.cc: New file. ++ ++ * elf/Makefile: Don't run tst-execstack* tests of SELinux is enabled. ++ ++2011-03-10 Mike Frysinger ++ ++ * sysdeps/sparc/sparc64/elf/configure.in (libc_cv_sparc64_tls): Add ++ $LDFLAGS and -nostdlib -nostartfiles to linking step. Change main ++ to _start. ++ ++2011-03-06 Ulrich Drepper ++ ++ * elf/dl-load.c (_dl_map_object): If we are looking for the first ++ to-be-loaded object along a path to loader is ld.so. ++ ++2011-03-02 Harsha Jagasia ++ Ulrich Drepper ++ ++ * sysdeps/x86_64/memset.S: After aligning destination, code ++ branches to different locations depending on the value of ++ misalignment, when multiarch is enabled. Fix this. ++ ++2011-03-02 Harsha Jagasia ++ ++ * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): ++ Set _x86_64_preferred_memory_instruction for AMD processsors. ++ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): ++ Set bit_Prefer_SSE_for_memop for AMD processors. ++ ++2011-03-04 Ulrich Drepper ++ ++ * libio/fmemopen.c (fmemopen): Optimize a bit. ++ ++2011-03-03 Andreas Schwab ++ ++ * libio/fmemopen.c (fmemopen): Don't read past end of buffer. ++ ++2011-03-03 Roland McGrath ++ ++ * setjmp/bits/setjmp2.h: Canonicalize comment formatting. ++ ++2011-02-28 Aurelien Jarno ++ ++ * sysdeps/sparc/sparc64/multiarch/memset.S(__bzero): Call ++ __bzero_ultra1 instead of __memset_ultra1. ++ ++2011-02-23 Andreas Schwab ++ Ulrich Drepper ++ ++ [BZ #12509] ++ * include/link.h (struct link_map): Add l_orig_initfini. ++ * elf/dl-load.c (_dl_map_object_from_fd): Free realname before ++ returning unsuccessfully. ++ * elf/dl-close.c (_dl_close_worker): If this is the last explicit ++ close of a file loaded at startup, restore the original l_initfini ++ list. ++ * elf/dl-deps.c (_dl_map_object_deps): Don't free old l_initfini ++ list, store the pointer. ++ * elf/Makefile ($(objpfx)noload-mem): New rule. ++ (noload-ENV): Define. ++ (tests): Add $(objpfx)noload-mem. ++ * elf/noload.c: Include . ++ (main): Call mtrace. Close all opened handles. ++ ++2011-02-17 Andreas Schwab ++ ++ [BZ #12454] ++ * elf/dl-deps.c (_dl_map_object_deps): Signal error early when ++ dependencies are missing. ++ ++2011-02-22 Samuel Thibault ++ ++ Fix __if_freereq crash: Unlike the generic version which uses free, ++ Hurd needs munmap. ++ * sysdeps/mach/hurd/ifreq.h: New file. ++ ++2011-01-27 Petr Baudis ++ Ulrich Drepper ++ ++ [BZ 12445]# ++ * stdio-common/vfprintf.c (vfprintf): Pass correct newlen ++ to extend_alloca(). ++ * stdio-common/bug23.c: New file. ++ * stdio-common/Makefile (tests): Add bug23. ++ ++2010-09-28 Andreas Schwab ++ Ulrich Drepper ++ ++ [BZ #12489] ++ * elf/rtld.c (dl_main): Move setting of GLRO(dl_init_all_dirs) ++ before performing relro protection. At old place add assertion ++ to make sure nothing changed. ++ ++2011-02-17 Nathan Sidwell ++ Glauber de Oliveira Costa ++ ++ * elf/elf.h: Add new ARM TLS relocs. ++ ++2011-02-16 Ryan S. Arnold ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: ++ (INTERNAL_VSYSCALL_NCS INTERNAL_SYSCALL_NCS): Remove erroneous (int) ++ cast from r3. ++ * sysdeps/wordsize-64/Makefile: New file. Add tst-writev to ++ 'tests' variable. ++ * sysdeps/wordsize-64/tst-writev.c: New file. ++ ++2011-02-15 Ryan S. Arnold ++ ++ * sysdeps/powerpc/powerpc64/power7/Makefile: New file which adds ++ -mno-vsx to the CFLAGS-rtld.c variable to avoid using VSX registers and ++ insns in _dl_start to prevent a TOC reference before relocs are ++ resolved. ++ ++2011-02-15 Ulrich Drepper ++ ++ [BZ #12469] ++ * Makeconfig: Remove RANLIB definition. ++ * Makerules: Don't use RANLIB. ++ * aclocal.m4: Remove ranlib test. ++ * configure.in: No need to check for ranlib. ++ * elf/rtld-Rules: Don't use RANLIB. ++ ++2011-02-16 Samuel Thibault ++ ++ * sysdeps/mach/i386/sysdep.h: Add _MACH_I386_SYSDEP_H inclusion ++ protection macro. ++ * sysdeps/mach/i386/thread_state.h: Add _MACH_I386_THREAD_STATE_H ++ inclusion protection macro. ++ ++ * stdio-common/psiginfo.c (psiginfo): Check pinfo->si_signo against ++ SIGRTMIN and SIGRTMAX and print information in that case only when ++ SIGRTMIN is defined. ++ ++2011-02-11 Jakub Jelinek ++ ++ * stdio-common/printf-parsemb.c (__parse_one_specmb): Handle ++ arginfo fn returning -1. ++ ++ * stdio-common/_i18n_number.h (_i18n_number_rewrite): Ensure decimal ++ and thousands string is zero terminated. ++ ++2011-02-03 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/sparc/bits/socket.h: Sync with ++ sysdeps/unix/sysv/linux/bits/socket.h. ++ ++2011-01-30 Samuel Thibault ++ ++ * bits/sched.h (__CPU_ZERO, __CPU_SET, __CPU_CLR, __CPU_ISSET) ++ (__CPU_COUNT): Remove old macros. ++ (__CPU_ZERO_S, __CPU_SET_S, __CPU_CLR_S, __CPU_ISSET_S) ++ (__CPU_COUNT, __CPU_EQUAL_S, __CPU_OP_S, __CPU_ALLOC_SIZE) ++ (__CPU_ALLOC, __CPU_FREE): Add macros. ++ (__sched_cpualloc, __sched_cpufree): Add declarations. ++ ++2011-02-05 Ulrich Drepper ++ ++ * nscd/nscd-client.h: Define MAX_TIMEOUT_VALUE. ++ (struct datahead): Reuse 32 bits of the alignment for a TTL field. ++ * nscd/aicache.c (addhstaiX): Return timeout of added value. ++ (readdhstai): Return value of addhstaiX call. ++ * nscd/grpcache.c (cache_addgr): Return timeout of added value. ++ (addgrbyX): Return value returned by cache_addgr. ++ (readdgrbyname): Return value returned by addgrbyX. ++ (readdgrbygid): Likewise. ++ * nscd/pwdcache.c (cache_addpw): Return timeout of added value. ++ (addpwbyX): Return value returned by cache_addpw. ++ (readdpwbyname): Return value returned by addhstbyX. ++ (readdpwbyuid): Likewise. ++ * nscd/servicescache.c (cache_addserv): Return timeout of added value. ++ (addservbyX): Return value returned by cache_addserv. ++ (readdservbyname): Return value returned by addservbyX: ++ (readdservbyport): Likewise. ++ * nscd/hstcache.c (cache_addhst): Return timeout of added value. ++ (addhstbyX): Return value returned by cache_addhst. ++ (readdhstbyname): Return value returned by addhstbyX. ++ (readdhstbyaddr): Likewise. ++ (readdhstbynamev6): Likewise. ++ (readdhstbyaddrv6): Likewise. ++ * nscd/initgrcache.c (addinitgroupsX): Return timeout of added value. ++ (readdinitgroups): Return value returned by addinitgroupsX. ++ * nscd/cache.c (readdfcts): Change return value of functions to time_t. ++ (prune_cache): Keep track of timeout value of re-added entries. ++ * nscd/connections.c (nscd_run_prune): Use MAX_TIMEOUT_VALUE. ++ * nscd/nscd.h: Adjust prototypes of readd* functions. ++ ++2011-02-04 Roland McGrath ++ ++ * nis/nis_server.c (nis_servstate): Use the right name for 0. ++ (nis_stats): Likewise. ++ * nis/nis_modify.c (nis_modify): Likewise. ++ * nis/nis_remove.c (nis_remove): Likewise. ++ * nis/nis_add.c (nis_add): Likewise. ++ ++ * elf/dl-object.c (_dl_new_object): Remove unused variable L. ++ ++ * posix/fnmatch_loop.c: Add some consts. ++ ++ * sysdeps/x86_64/multiarch/memset-x86-64.S: Add an #undef. ++ ++2011-02-02 H.J. Lu ++ ++ [BZ #12460] ++ * config.make.in (config-cflags-novzeroupper): Define. ++ * configure.in: Substitute libc_cv_cc_novzeroupper. ++ * elf/Makefile (AVX-CFLAGS): Define. ++ (CFLAGS-tst-audit4.c): Replace -mavx with $(AVX-CFLAGS). ++ (CFLAGS-tst-auditmod4a.c): Likewise. ++ (CFLAGS-tst-auditmod4b.c): Likewise. ++ (CFLAGS-tst-auditmod6b.c): Likewise. ++ (CFLAGS-tst-auditmod6c.c): Likewise. ++ (CFLAGS-tst-auditmod7b.c): Likewise. ++ * sysdeps/i386/configure.in: Check -mno-vzeroupper. ++ ++2011-02-02 Ulrich Drepper ++ ++ * elf/dl-runtime.c (_dl_call_pltexit): Pass correct address of the ++ function to the callback. ++ Patch partly by Jiri Olsa . ++ ++2011-02-02 Andreas Schwab ++ ++ * shadow/sgetspent.c: Check return value of __sgetspent_r instead ++ of errno. ++ ++2011-01-19 Ulrich Drepper ++ ++ [BZ #11724] ++ * elf/dl-deps.c (_dl_map_object_deps): Rewrite sorting determining order ++ of constructors. ++ * elf/dl-fini.c (_dl_sort_fini): Rewrite sorting determining order ++ of destructors. ++ (_dl_fini): Don't call _dl_sort_fini if there is only one object. ++ ++ [BZ #11724] ++ * elf/Makefile: Add rules to build and run new test. ++ * elf/tst-initorder.c: New file. ++ * elf/tst-initorder.exp: New file. ++ * elf/tst-initordera1.c: New file. ++ * elf/tst-initordera2.c: New file. ++ * elf/tst-initordera3.c: New file. ++ * elf/tst-initordera4.c: New file. ++ * elf/tst-initorderb1.c: New file. ++ * elf/tst-initorderb2.c: New file. ++ * elf/tst-order-a1.c: New file. ++ * elf/tst-order-a2.c: New file. ++ * elf/tst-order-a3.c: New file. ++ * elf/tst-order-a4.c: New file. ++ * elf/tst-order-b1.c: New file. ++ * elf/tst-order-b2.c: New file. ++ * elf/tst-order-main.c: New file. ++ New test case by George Gensure . ++ ++2010-10-01 Andreas Schwab ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't discard result of ++ decoding ACE if AI_CANONIDN. ++ ++2011-01-18 Ulrich Drepper ++ ++ * elf/Makefile: Build IFUNC tests unless multi-arch = no. ++ ++2011-01-17 Ulrich Drepper ++ ++ * version.h (RELEASE): Bump for 2.13 release. ++ * include/features.h: (__GLIBC_MINOR__): Bump to 13. ++ ++ * io/fcntl.h: Define AT_NO_AUTOMOUNT. ++ ++ * sysdeps/unix/sysv/linux/i386/bits/mman.h: Define MADV_HUGEPAGE and ++ MADV_NOHUGEPAGE. ++ * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Likewise. ++ ++ * posix/getconf.c: Update copyright year. ++ * catgets/gencat.c: Likewise. ++ * csu/version.c: Likewise. ++ * debug/catchsegv.sh: Likewise. ++ * debug/xtrace.sh: Likewise. ++ * elf/ldconfig.c: Likewise. ++ * elf/ldd.bash.in: Likewise. ++ * elf/sprof.c (print_version): Likewise. ++ * iconv/iconv_prog.c: Likewise. ++ * iconv/iconvconfig.c: Likewise. ++ * locale/programs/locale.c: Likewise. ++ * locale/programs/localedef.c: Likewise. ++ * malloc/memusage.sh: Likewise. ++ * malloc/mtrace.pl: Likewise. ++ * nscd/nscd.c (print_version): Likewise. ++ * nss/getent.c: Likewise. ++ ++ * sysdeps/unix/sysv/linux/bits/socket.h: Define AF_CAIF, AF_ALG, ++ PF_CAIF, and PF_ALG. ++ * sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise. ++ ++2011-01-16 Andreas Schwab ++ ++ * elf/Makefile (tlsmod17a-modules, tlsmod18a-modules): Define. ++ (modules-names): Use them. ++ (ifunc-test-modules, ifunc-pie-tests): Define. ++ (extra-test-objs): Add tlsmod17a-modules, tlsmod18a-modules, ++ tst-pie1, ifunc-test-modules and ifunc-pie-tests objects. ++ (test-extras): Likewise. ++ ($(patsubst %,$(objpfx)%.os,$(tlsmod17a-modules))): Use ++ $(compile-command.c). ++ ($(patsubst %,$(objpfx)%.os,$(tlsmod18a-modules))): Likewise. ++ (all-built-dso): Define. ++ (check-textrel.out, check-execstack.out): Depend on it. ++ ++ * configure.in: Don't override --enable-multi-arch. ++ ++2011-01-15 Ulrich Drepper ++ ++ [BZ #6812] ++ * nscd/hstcache.c (tryagain): Define. ++ (cache_addhst): Return tryagain not notfound for temporary errors. ++ (addhstbyX): Also set h_errno to TRY_AGAIN when memory allocation ++ failed. ++ ++2011-01-14 Ulrich Drepper ++ ++ [BZ #10563] ++ * sysdeps/unix/sysv/linux/i386/setgroups.c: Use INLINE_SETXID_SYSCALL ++ to make the syscall. ++ * sysdeps/unix/sysv/linux/setgroups.c: New file. ++ ++ [BZ #12378] ++ * posix/fnmatch_loop.c (FCT): When matching '[' keep track of beginning ++ and fall back to matching as normal character if the string ends before ++ the matching ']' is found. This is what POSIX requires. ++ * posix/testfnm.c: Adjust test result. ++ * posix/globtest.sh: Adjust test result. Add new test. ++ * posix/tst-fnmatch.input: Likewise. ++ * posix/tst-fnmatch2.c: Add new test. ++ ++2010-12-28 Andreas Schwab ++ ++ * elf/Makefile (check-execstack): Revert last change. Depend on ++ check-execstack.h. ++ (check-execstack.h): New target. ++ (generated): Add check-execstack.h. ++ * elf/check-execstack.c: Include "check-execstack.h". ++ (main): Revert last change. ++ (handle_file): Return zero if GNU_STACK is absent and ++ DEFAULT_STACK_PERMS doesn't include PF_X. ++ ++2011-01-13 Ulrich Drepper ++ ++ * sysdeps/posix/spawni.c (__spawni): Don't fail if close file action ++ in child fails because the descriptor is already closed. ++ * include/sys/resource.h: Add libc_hidden_proto for getrlimit64. ++ * sysdeps/unix/sysv/linux/getrlimit64.c: Add libc_hidden_def. ++ * sysdeps/unix/sysv/linux/i386/getrlimit64.c: Likewise. ++ ++ [BZ #12397] ++ * sysdeps/unix/sysv/linux/mkdirat.c (mkdirat): Fix handling of missing ++ syscall. ++ ++ [BZ #10484] ++ * nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Handle overflows of ++ temporary buffer used to handle multi lookups locally. ++ * include/alloca.h: Add libc_hidden_proto for __libc_alloca_cutoff. ++ ++2011-01-12 Ulrich Drepper ++ ++ * elf/dl-dst.h (DL_DST_REQUIRED): Allow l_origin to be NULL when ++ loader is ld.so. ++ ++2011-01-10 Paul Pluzhnikov ++ ++ * sysdeps/i386/Makefile: stdlib/cxa_finalize.c needs 16-byte stack ++ alignment for SSE2. ++ ++2011-01-12 Ulrich Drepper ++ ++ [BZ #12394] ++ * stdio-common/printf_fp.c (__printf_fp): Add more room for grouping ++ characters. When rounding increased number of integer digits recompute ++ number of groups. ++ * stdio-common/tst-grouping.c: New file. ++ * stdio-common/Makefile: Add rules to build and run tst-grouping. ++ ++2011-01-09 Ulrich Drepper ++ ++ * sysdeps/i386/bits/select.h: Don't use asm code for __FD_SET, ++ __FD_CLR, and __FS_ISSET. gcc generates better code on its own. ++ ++ * sysdeps/x86_64/bits/select.h: Mark value of __FD_SET and __FD_CLR as ++ void. ++ * bits/select.h: Likewise. ++ ++2011-01-08 Ulrich Drepper ++ ++ * po/ja.po: Update from translation team. ++ ++2011-01-04 David S. Miller ++ ++ [BZ #11155] ++ * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: Use i386's ++ implementation just like for lxstat, fxstatat, et al. ++ ++2010-12-27 Jim Meyering ++ ++ [BZ #12348] ++ * posix/regexec.c (build_trtable): Return failure indication upon ++ calloc failure. Otherwise, re_search_internal could infloop on OOM. ++ ++2010-12-25 Ulrich Drepper ++ ++ [BZ #12201] ++ * sysdeps/unix/sysv/linux/getrlimit64.c: New file. ++ * sysdeps/unix/sysv/linux/setrlimit64.c: New file. ++ * sysdeps/unix/sysv/linux/i386/getrlimit64.c: Use ../getrlimit64.c. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_PRLIMIT64. ++ ++ [BZ #12207] ++ * malloc/malloc.c (do_check_malloc_state): Use fastbin macro. ++ ++ [BZ #12204] ++ * string/xpg-strerror.c (__xpg_strerror_r): Return error code, not -1. ++ * sysdeps/mach/xpg-strerror.c (__xpg_strerror_r): Likewise. ++ ++2010-12-15 H.J. Lu ++ ++ * config.h.in (NO_CTORS_DTORS_SECTIONS): Define. ++ * configure.in: Define NO_CTORS_DTORS_SECTIONS if linker ++ script has SORT_BY_INIT_PRIORITY. ++ * elf/sofini.c: Remove `.ctors' and `.dtors' sections if ++ NO_CTORS_DTORS_SECTIONS is defined. ++ * elf/soinit.c: Likewise. ++ * sysdeps/i386/init-first.c: Don't call __libc_global_ctors if ++ NO_CTORS_DTORS_SECTIONS is defined. ++ * sysdeps/mach/hurd/i386/init-first.c: Likewise. ++ * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. ++ * sysdeps/sh/init-first.c: Likewise. ++ * sysdeps/unix/sysv/linux/init-first.c: Likewise. ++ ++2010-12-24 Ulrich Drepper ++ ++ * stdio-common/vfprintf.c (vfprintf): If printf handlers are installed ++ always use the slow path. ++ ++2010-12-15 Ryan S. Arnold ++ ++ * elf/Makefile: (check-execstack): Replace $(native-compile) with a ++ similar rule which adds the sysdep directories to the header search in ++ order to pick up the correct platform stackinfo.h. ++ * elf/check-execstack.c (main): Check DEFAULT_STACK_PERMS for PF_X and ++ perform test if it is, otherwise return successfully without testing. ++ * elf/dl-load.c (_dl_map_object_from_fd): Source stack_flags from ++ DEFAULT_STACK_PERMS define in stackinfo.h. ++ * elf/dl-support.c (_dl_stack_flags): Source from DEFAULT_STACK_PERMS ++ defined in stackinfo.h. ++ * elf/rtld.c (_dl_starting_up): Source ._dl_stack_flags from ++ DEFAULT_STACK_PERMS defined in stackinfo.h. ++ * sysdeps/i386/stackinfo.h: Define DEFAULT_STACK_PERMS with PF_X. ++ * sysdeps/ia64/stackinfo.h: Likewise. ++ * sysdeps/s390/stackinfo.h: Likewise. ++ * sysdeps/sh/stackinfo.h: Likewise. ++ * sysdeps/sparc/stackinfo.h: Likewise. ++ * sysdeps/x86_64/stackinfo.h: Likewise. ++ * sysdeps/powerpc/stackinfo.h: Define DEFAULT_STACK_PERMS without ++ PF_X for powerpc64. Retain PF_X for powerpc32. ++ ++2010-12-19 Ulrich Drepper ++ ++ * sysdeps/unix/readdir_r.c (__READDIR_R): Compute reclen more ++ accurately. ++ * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Define ++ GETDENTS_64BIT_ALIGNED. ++ ++2010-12-14 Ulrich Drepper ++ ++ * sysdeps/i386/i686/multiarch/strcmp.S: Undo accidental checkin. ++ ++2010-12-10 Andreas Schwab ++ ++ * wcsmbs/wchar.h (wcpcpy, wcpncpy): Only declare under ++ _GNU_SOURCE. ++ ++ * wcsmbs/wchar.h (wcpcpy, wcpncpy): Add __restrict. ++ * wcsmbs/bits/wchar2.h (__wmemmove_chk_warn, wmemmove, wmemset): ++ Remove __restrict. ++ (wcscpy, __wcpcpy_chk, __wcpcpy_alias, wcpcpy, wcsncpy, wcpncpy) ++ (wcscat, wcsncat, __wcrtomb_chk, wcrtomb): Add __restrict. ++ ++2010-12-09 Ulrich Drepper ++ ++ [BZ #11655] ++ * stdlib/msort.c (qsort_r): Make sure both phys_pages and pagesize ++ are initialized. ++ ++2010-12-09 Jakub Jelinek ++ ++ * string/bits/string3.h (memmove, bcopy): Remove __restrict. ++ ++2010-12-03 Ulrich Drepper ++ ++ * po/it.po: Update from translation team. ++ ++2010-12-01 H.J. Lu ++ ++ * sysdeps/i386/i686/multiarch/strcmp-ssse3.S (STRCMP): Remove ++ unused codes. ++ ++2010-11-30 Ulrich Drepper ++ ++ * sysdeps/i386/fpu/libm-test-ulps: Relax ynf(10,0.75) test expectations. ++ ++2010-11-24 Andreas Schwab ++ ++ * resolv/nss_dns/dns-host.c (getanswer_r): Don't handle ttl == 0 ++ specially. ++ (gaih_getanswer_slice): Likewise. ++ ++2010-10-20 Jakub Jelinek ++ ++ * sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Fix up inline asm. ++ ++2010-05-31 Petr Baudis ++ ++ [BZ #11149] ++ * elf/ldconfig.c (main): Allow aux_cache_file open()ing to fail ++ silently even in the chroot mode. ++ ++2010-11-22 Ulrich Drepper ++ ++ * nis/nss_compat/compat-initgroups.c (internal_getgrent_r): Optimize ++ last patch a bit. Pretty printing ++ ++2010-05-31 Petr Baudis ++ ++ [BZ #10085] ++ * nis/nss_compat/compat-initgroups.c (internal_getgrent_r): Fix ++ initialization of skip_initgroups_dyn. ++ ++2010-11-19 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/i386/bits/mman.h: Define MAP_HUGETLB. ++ * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Likewise. ++ ++2010-11-16 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/sys/swap.h (SWAP_FLAG_DISCARD): Define. ++ ++2010-11-11 Andreas Schwab ++ ++ * posix/fnmatch_loop.c (NEW_PATTERN): Fix use of alloca. ++ * posix/Makefile (tests): Add $(objpfx)tst-fnmatch-mem. ++ (tst-fnmatch-ENV): Set MALLOC_TRACE. ++ ($(objpfx)tst-fnmatch-mem): New rule. ++ (generated): Add tst-fnmatch-mem and tst-fnmatch.mtrace. ++ * posix/tst-fnmatch.c (main): Call mtrace. ++ ++2010-11-11 H.J. Lu ++ ++ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): ++ Support Intel processor model 6 and model 0x2c. ++ ++2010-11-10 Luis Machado ++ ++ * sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c (__ieee754_sqrtl): Force ++ signed comparison. ++ ++2010-11-09 H.J. Lu ++ ++ [BZ #12205] ++ * string/test-strncasecmp.c (check_result): New function. ++ (do_one_test): Use it. ++ (check1): New function. ++ (test_main): Use it. ++ * sysdeps/i386/i686/multiarch/strcmp.S (nibble_ashr_use_sse4_2_exit): ++ Support strcasecmp and strncasecmp. ++ ++2010-11-08 Ulrich Drepper ++ ++ [BZ #12194] ++ * sysdeps/i386/bits/byteswap.h: Avoid warning in __bswap_16. ++ * sysdeps/x86_64/bits/byteswap.h: Likewise. ++ ++2010-11-07 H.J. Lu ++ ++ * sysdeps/x86_64/memset.S: Check USE_MULTIARCH and USE_SSE2 for ++ IFUNC support. ++ * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add ++ memset-x86-64. ++ * sysdeps/x86_64/multiarch/bzero.S: New file. ++ * sysdeps/x86_64/multiarch/cacheinfo.c: New file. ++ * sysdeps/x86_64/multiarch/memset-x86-64.S: New file. ++ * sysdeps/x86_64/multiarch/memset.S: New file. ++ * sysdeps/x86_64/multiarch/memset_chk.S: New file. ++ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): ++ Set bit_Prefer_SSE_for_memop for Intel processors. ++ * sysdeps/x86_64/multiarch/init-arch.h (bit_Prefer_SSE_for_memop): ++ Define. ++ (index_Prefer_SSE_for_memop): Define. ++ (HAS_PREFER_SSE_FOR_MEMOP): Define. ++ ++2010-11-04 Luis Machado ++ ++ * sysdeps/powerpc/powerpc32/power7/mempcpy.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/mempcpy.S: New file. ++ ++2010-11-03 H.J. Lu ++ ++ [BZ #12191] ++ * sysdeps/i386/i686/cacheinfo.c (__x86_64_raw_data_cache_size): New. ++ (__x86_64_raw_data_cache_size_half): Likewise. ++ (__x86_64_raw_shared_cache_size): Likewise. ++ (__x86_64_raw_shared_cache_size_half): Likewise. ++ ++ * sysdeps/x86_64/cacheinfo.c (__x86_64_raw_data_cache_size): New. ++ (__x86_64_raw_data_cache_size_half): Likewise. ++ (__x86_64_raw_shared_cache_size): Likewise. ++ (__x86_64_raw_shared_cache_size_half): Likewise. ++ (init_cacheinfo): Set __x86_64_raw_data_cache_size, ++ __x86_64_raw_data_cache_size_half, __x86_64_raw_shared_cache_size ++ and __x86_64_raw_shared_cache_size_half. Round ++ __x86_64_data_cache_size_half, __x86_64_data_cache_size ++ __x86_64_shared_cache_size_half and __x86_64_shared_cache_size, ++ to multiple of 256 bytes. ++ ++2010-11-03 Ulrich Drepper ++ ++ [BZ #12167] ++ * sysdeps/unix/sysv/linux/ttyname.c (ttyname): Recognize new mangling ++ of inacessible symlinks. Verify result of symlink before returning it. ++ * sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Likewise. ++ Patch mostly by Miklos Szeredi . ++ ++2010-10-28 Erich Ritz ++ ++ * math/math.h (isinf): Fix typo in comment. ++ ++2010-11-01 Ulrich Drepper ++ ++ * po/da.po: Update from translation team. ++ ++2010-10-26 Ulrich Drepper ++ ++ * elf/rtld.c (dl_main): Move assertion after the point where rtld map ++ is added to the list. ++ ++2010-10-20 Andreas Krebbel ++ Ulrich Drepper ++ ++ * elf/dl-object.c (_dl_new_object): Don't append the new object to ++ the global list here. Move code to... ++ (_dl_add_to_namespace_list): ...here. New function. ++ * elf/rtld.c (dl_main): Invoke _dl_add_to_namespace_list. ++ * sysdeps/generic/ldsodefs.h (_dl_add_to_namespace_list): Declare. ++ * elf/dl-load.c (lose): Don't remove the element from the list. ++ (_dl_map_object_from_fd): Invoke _dl_add_to_namespace_list. ++ (_dl_map_object): Likewise. ++ ++2010-10-25 Ulrich Drepper ++ ++ [BZ #12159] ++ * sysdeps/x86_64/multiarch/strchr.S: Fix propagation of search byte ++ into all bytes of SSE register. ++ Patch by Richard Li . ++ ++2010-10-24 Ulrich Drepper ++ ++ [BZ #12140] ++ * malloc/malloc.c (_int_free): Fill correct number of bytes when ++ perturbing. ++ ++2010-10-20 Michael B. Brutman ++ ++ * sysdeps/powerpc/dl-procinfo.c: Add support for ppca2 platform ++ * sysdeps/powerpc/dl-procinfo.h: Add support for ppca2 platform ++ * sysdeps/powerpc/powerpc32/a2/memcpy.S: New file. ++ * sysdeps/powerpc/powerpc64/a2/memcpy.S: Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/a2/Implies: New ++ submachine. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/a2/Implies: Likewise. ++ ++2010-10-22 Andreas Schwab ++ ++ * include/dlfcn.h (__RTLD_SECURE): Define. ++ * elf/dl-load.c (_dl_map_object): Remove preloaded parameter. Use ++ mode & __RTLD_SECURE instead. ++ (open_path): Rename preloaded parameter to secure. ++ * sysdeps/generic/ldsodefs.h (_dl_map_object): Adjust declaration. ++ * elf/dl-open.c (dl_open_worker): Adjust call to _dl_map_object. ++ * elf/dl-deps.c (openaux): Likewise. ++ * elf/rtld.c (struct map_args): Remove is_preloaded. ++ (map_doit): Don't use it. ++ (dl_main): Likewise. ++ (do_preload): Use __RTLD_SECURE instead of is_preloaded. ++ (dlmopen_doit): Add __RTLD_SECURE to mode bits. ++ ++2010-09-09 Andreas Schwab ++ ++ * Makeconfig (sysd-rules-patterns): Add rtld-%:rtld-%. ++ (sysd-rules-targets): Remove duplicates. ++ * elf/rtld-Rules ($(objpfx)rtld-%.os): Add pattern rules with ++ rtld-%.$o dependency. ++ ++2010-10-18 Andreas Schwab ++ ++ * elf/dl-open.c (dl_open_worker): Don't expand DST here, let ++ _dl_map_object do it. ++ ++2010-10-19 Ulrich Drepper ++ ++ * sysdeps/i386/bits/mathdef.h (FP_FAST_FMA): If the GCC 4.6 port has ++ fast fma builtins, define the macros in the C99 standard. ++ (FP_FAST_FMAF): Likewise. ++ (FP_FAST_FMAL): Likewise. ++ * sysdeps/x86_64/bits/mathdef.h: Likewise. ++ ++ * bits/mathdef.h: Update copyright year. ++ * sysdeps/powerpc/bits/mathdef.h: Likewise. ++ ++2010-10-19 Michael Meissner ++ ++ * bits/mathdef.h (FP_FAST_FMA): If the GCC 4.6 port has fast fma ++ builtins, define the macros in the C99 standard. ++ (FP_FAST_FMAF): Likewise. ++ (FP_FAST_FMAL): Likewise. ++ * sysdeps/powerpc/bits/mathdef.h (FP_FAST_FMA): Define, ppc as ++ multiply/add. ++ (FP_FAST_FMAF): Likewise. ++ ++2010-10-15 Jakub Jelinek ++ ++ [BZ #3268] ++ * math/libm-test.inc (fma_test): Some new testcases. ++ * sysdeps/ieee754/ldbl-128/s_fmal.c: New file. ++ * sysdeps/ieee754/ldbl-96/s_fma.c (__fma): Fix fma with finite x and ++ y and infinite z. Do multiplication by C already in long double. ++ * sysdeps/ieee754/ldbl-96/s_fmal.c: New file. ++ * sysdeps/ieee754/dbl-64/s_fma.c (__fma): Fix fma with finite x and ++ y and infinite z. Do bitwise or of inexact bit into u.d. ++ * sysdeps/ieee754/ldbl-64-128/s_fmal.c: New file. ++ * sysdeps/i386/fpu/s_fmaf.S: Removed. ++ * sysdeps/i386/fpu/s_fma.S: Removed. ++ * sysdeps/i386/fpu/s_fmal.S: Removed. ++ ++2010-10-16 Jakub Jelinek ++ ++ [BZ #3268] ++ * math/libm-test.inc (fma_test): Add IEEE quad long double fmal tests. ++ * sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Ensure a1 + u.d ++ computation is not scheduled after fetestexcept. Fix value ++ of minimum denormal long double. ++ ++2010-10-14 Jakub Jelinek ++ ++ [BZ #3268] ++ * math/libm-test.inc (fma_test): Add some more tests. ++ * sysdeps/ieee754/dbl-64/s_fma.c (__fma): Handle underflows ++ correctly. ++ ++2010-10-15 Andreas Schwab ++ ++ * scripts/data/localplt-s390-linux-gnu.data: New file. ++ * scripts/data/localplt-s390x-linux-gnu.data: New file. ++ ++2010-10-13 Jakub Jelinek ++ ++ [BZ #3268] ++ * math/libm-test.inc (fma_test): Some more fmaf and fma tests. ++ * sysdeps/i386/i686/multiarch/s_fma.c: Include ldbl-96 version ++ instead of dbl-64. ++ * sysdeps/i386/fpu/bits/mathinline.h (fma, fmaf, fmal): Remove ++ inlines. ++ * sysdeps/ieee754/ldbl-96/s_fma.c: New file. ++ * sysdeps/ieee754/dbl-64/s_fma.c (__fma): Fix exponent adjustment ++ if one of x and y is very large and the other is subnormal. ++ * sysdeps/s390/fpu/s_fmaf.c: New file. ++ * sysdeps/s390/fpu/s_fma.c: New file. ++ * sysdeps/powerpc/fpu/s_fmaf.S: New file. ++ * sysdeps/powerpc/fpu/s_fma.S: New file. ++ * sysdeps/powerpc/powerpc32/fpu/s_fma.S: New file. ++ * sysdeps/powerpc/powerpc64/fpu/s_fma.S: New file. ++ * sysdeps/unix/sysv/linux/s390/fpu/s_fma.c: New file. ++ ++2010-10-12 Jakub Jelinek ++ ++ [BZ #3268] ++ * math/libm-test.inc (fma_test): Add some more fmaf tests, add ++ fma tests. ++ * sysdeps/ieee754/dbl-64/s_fmaf.c (__fmaf): Fix Inf/Nan check. ++ * sysdeps/ieee754/dbl-64/s_fma.c: New file. ++ * sysdeps/i386/i686/multiarch/s_fma.c: Include ++ sysdeps/ieee754/dbl-64/s_fma.c instead of math/s_fma.c. ++ * sysdeps/x86_64/multiarch/s_fma.c: Likewise. ++ * sysdeps/ieee754/ldbl-opt/s_fma.c: Likewise. ++ * sysdeps/ieee754/ldbl-128/s_fma.c: New file. ++ ++2010-10-12 Ulrich Drepper ++ ++ [BZ #12078] ++ * posix/regcomp.c (parse_branch): One more memory leak plugged. ++ * posix/bug-regex31.input: Add test case. ++ ++2010-10-11 Ulrich Drepper ++ ++ * posix/bug-regex31.c: Rewrite to run multiple tests from stdin. ++ * posix/bug-regex31.input: New file. ++ ++ [BZ #12078] ++ * posix/regcomp.c (parse_branch): Free memory when allocation failed. ++ (parse_sub_exp): Fix last change, use postorder. ++ ++ * posix/bug-regex31.c: New file. ++ * posix/Makefile: Add rules to build and run bug-regex31. ++ ++ * posix/regcomp.c (parse_bracket_exp): Add missing re_free calls. ++ ++ [BZ #12078] ++ * posix/regcomp.c (parse_sub_exp): Free tree data when it is not used. ++ ++ [BZ #12108] ++ * stdio-common/psiginfo.c (psiginfo): Don't expext SIGRTMIN..SIGRTMAX ++ to have entries in sys_siglist. ++ ++ [BZ #12093] ++ * sysdeps/unix/sysv/linux/check_pf.c (__check_pf): ->ifa_addr might ++ be NULL. ++ ++2010-10-07 Jakub Jelinek ++ ++ [BZ #3268] ++ * math/libm-test.inc (fma_test): Add 2 fmaf tests. ++ * sysdeps/ieee754/dbl-64/s_fmaf.c: New file. ++ * sysdeps/i386/i686/multiarch/s_fmaf.c: Include ++ sysdeps/ieee754/dbl-64/s_fmaf.c instead of math/s_fmaf.c. ++ * sysdeps/x86_64/multiarch/s_fmaf.c: Likewise. ++ * include/fenv.h (feupdateenv, fetestexcept): Add libm_hidden_proto. ++ * math/feupdateenv.c (feupdateenv): Add libm_hidden_ver. ++ * sysdeps/i386/fpu/feupdateenv.c (feupdateenv): Likewise. ++ * sysdeps/powerpc/fpu/feupdateenv.c (feupdateenv): Likewise. ++ * sysdeps/x86_64/fpu/feupdateenv.c (feupdateenv): Likewise. ++ * sysdeps/sparc/fpu/feupdateenv.c (feupdateenv): Likewise. ++ * sysdeps/ia64/fpu/feupdateenv.c (feupdateenv): Add libm_hidden_def. ++ * sysdeps/s390/fpu/feupdateenv.c (feupdateenv): Likewise. ++ * math/ftestexcept.c (fetestexcept): Likewise. ++ * sysdeps/ia64/fpu/ftestexcept.c (fetestexcept): Likewise. ++ * sysdeps/i386/fpu/ftestexcept.c (fetestexcept): Likewise. ++ * sysdeps/s390/fpu/ftestexcept.c (fetestexcept): Likewise. ++ * sysdeps/powerpc/fpu/ftestexcept.c (fetestexcept): Likewise. ++ * sysdeps/x86_64/fpu/ftestexcept.c (fetestexcept): Likewise. ++ * sysdeps/sparc/fpu/ftestexcept.c (fetestexcept): Likewise. ++ * sysdeps/sh/sh4/fpu/ftestexcept.c (fetestexcept): Likewise. ++ ++2010-10-11 Ulrich Drepper ++ ++ [BZ #12107] ++ * stdio-common/psiginfo.c (psiginfo): Terminate all strings with ++ newline. ++ ++2010-10-06 Ulrich Drepper ++ ++ * string/bug-strstr1.c: New file. ++ * string/Makefile: Add rules to build and run bug-strstr1. ++ ++2010-10-05 Eric Blake ++ ++ [BZ #12092] ++ * string/str-two-way.h (two_way_long_needle): Always clear memory ++ when skipping input due to the shift table. ++ ++2010-10-03 Ulrich Drepper ++ ++ [BZ #12005] ++ * malloc/mcheck.c: Handle large requests. ++ ++ [BZ #12077] ++ * sysdeps/x86_64/strcmp.S: Fix handling of remaining bytes in buffer ++ for strncmp and strncasecmp. ++ * string/stratcliff.c: Add tests for strcmp and strncmp. ++ * wcsmbs/wcsatcliff.c: Adjust for stratcliff change. ++ ++2010-09-28 Nobuhiro Iwamatsu ++ ++ * sysdeps/sh/sh4/fpu/fpu_control.h: Add 'extern "C"' protection to ++ __set_fpscr. ++ ++2010-09-30 Andreas Jaeger ++ ++ * sysdeps/unix/sysv/linux_fsinfo.h (BTRFS_SUPER_MAGIC): Define. ++ (CGROUP_SUPER_MAGIC): Define. ++ * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags): ++ Handle btrfs and cgroup file systems. ++ * sysdeps/unix/sysv/linux/pathconf.c (__statfs_filesize_max): ++ Likewise. ++ ++2010-09-27 Luis Machado ++ ++ * sysdeps/powerpc/powerpc32/rtld-memset.c: New file. ++ * sysdeps/powerpc/powerpc64/rtld-memset.c: New file. ++ ++2010-09-29 Andreas Krebbel ++ ++ [BZ #12067] ++ * sysdeps/s390/s390-32/elf/start.S: Fix address calculation when ++ trying to locate the ELF header. ++ ++2010-09-27 Andreas Schwab ++ ++ [BZ #11611] ++ * sysdeps/unix/sysv/linux/internal_statvfs.c (INTERNAL_STATVFS): ++ Mask out sign-bit copies when constructing f_fsid. ++ ++2010-09-24 Petr Baudis ++ ++ * debug/stack_chk_fail_local.c: Add missing licence exception. ++ * debug/warning-nop.c: Likewise. ++ ++2010-09-15 Joseph Myers ++ ++ * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): When ++ implementing getdents64 using getdents syscall, set d_type if ++ __ASSUME_GETDENTS32_D_TYPE. ++ ++2010-09-16 Andreas Schwab ++ ++ * elf/dl-close.c (free_slotinfo, free_mem): Move to... ++ * elf/dl-libc.c (free_slotinfo, free_mem): ... here. ++ ++2010-09-21 Ulrich Drepper ++ ++ [BZ #12037] ++ * posix/unistd.h: Undo change of feature selection for ftruncate from ++ 2010-01-11. ++ ++2010-09-20 Ulrich Drepper ++ ++ * sysdeps/x86_64/strcmp.S: Fix another typo in x86-64 strncasecmp limit ++ detection. ++ ++2010-09-20 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Add ++ fanotify_mark. ++ * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Likewise. ++ ++2010-09-14 Andreas Schwab ++ ++ * sysdeps/s390/s390-32/__longjmp.c (__longjmp): Define register ++ variables after CHECK_SP call. ++ * sysdeps/s390/s390-64/__longjmp.c (__longjmp): Likewise. ++ ++2010-09-13 Andreas Schwab ++ Ulrich Drepper ++ ++ * elf/rtld.c (dl_main): Set GLRO(dl_init_all_dirs) just before ++ re-relocationg ld.so. ++ * elf/dl-support.c (_dl_non_dynamic_init): And here after the ++ _dl_init_paths call. ++ * elf/dl-load.c (_dl_init_paths). Don't set GLRO(dl_init_all_dirs) ++ here anymore. ++ ++2010-09-14 Ulrich Drepper ++ ++ * resolv/res_init.c (__res_vinit): Count the default server we added. ++ ++2010-09-08 Chung-Lin Tang ++ Ulrich Drepper ++ ++ [BZ #11968] ++ * sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S ++ (____longjmp_chk): Use %ebx for saving value across system call. ++ Add unwind info. ++ ++2010-09-06 Andreas Schwab ++ ++ * manual/Makefile: Don't mix pattern rules with normal rules. ++ ++2010-09-05 Andreas Schwab ++ ++ * debug/vdprintf_chk.c (__vdprintf_chk): Remove undefined ++ operation. ++ * libio/iofdopen.c (_IO_new_fdopen): Likewise. ++ * libio/iofopncook.c (_IO_cookie_init): Likewise. ++ * libio/iovdprintf.c (_IO_vdprintf): Likewise. ++ * libio/oldiofdopen.c (_IO_old_fdopen): Likewise. ++ * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): ++ Likewise. ++ ++2010-09-04 Ulrich Drepper ++ ++ [BZ #11979] ++ * iconvdata/gconv-modules: Remove EBCDIC-CP-AR2 alias from ++ IBM-930, IBM-933, IBM-935, IBM-937, and IBM-939. ++ ++2010-09-02 Ulrich Drepper ++ ++ * sysdeps/x86_64/add_n.S: Update from GMP 5.0.1. ++ * sysdeps/x86_64/addmul_1.S: Likewise. ++ * sysdeps/x86_64/lshift.S: Likewise. ++ * sysdeps/x86_64/mul_1.S: Likewise. ++ * sysdeps/x86_64/rshift.S: Likewise. ++ * sysdeps/x86_64/sub_n.S: Likewise. ++ * sysdeps/x86_64/submul_1.S: Likewise. ++ ++2010-09-01 Samuel Thibault ++ ++ This aligns bits/sched.h onto sysdeps/unix/sysv/linux/bits/sched.h: ++ Define __sched_param instead of SCHED_* and sched_param when ++ is included with __need_schedparam defined. ++ * bits/sched.h [__need_schedparam] ++ (SCHED_OTHER, SCHED_FIFO, SCHED_RR, sched_param): Do not define. ++ [!__defined_schedparam && (__need_schedparam || _SCHED_H)] ++ (__defined_schedparam): Define to 1. ++ (__sched_param): New structure, identical to sched_param. ++ (__need_schedparam): Undefine. ++ ++2010-08-31 Mike Frysinger ++ ++ * sysdeps/unix/sysv/linux/sparc/sys/epoll.h (epoll_create2): Delete. ++ (epoll_create1): Declare. ++ ++ * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Fix typo. ++ ++2010-08-31 Andreas Schwab ++ ++ [BZ #7066] ++ * stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix array overflow when ++ shifting retval into place. ++ ++2010-09-01 Ulrich Drepper ++ ++ * nis/rpcsvc/nis.h: Update copyright notice. ++ * nis/rpcsvc/nis.x: Likewise. ++ * nis/rpcsvc/nis_callback.h: Likewise. ++ * nis/rpcsvc/nis_callback.x: Likewise. ++ * nis/rpcsvc/nis_object.x: Likewise. ++ * nis/rpcsvc/nis_tags.h: Likewise. ++ * nis/rpcsvc/yp.h: Likewise. ++ * nis/rpcsvc/yp.x: Likewise. ++ * nis/rpcsvc/ypupd.h: Likewise. ++ * nis/yp_xdr.c: Likewise. ++ * nis/ypupdate_xdr.c: Likewise. ++ ++ * sunrpc/pm_getport.c (__libc_rpc_getport): New function. This is ++ mainly the body of pmap_getport. Add parameters to specify timeouts. ++ (pmap_getport): Use __libc_rpc_getport. ++ * sunrpc/Versions: Export __libc_rpc_getport with GLIBC_PRIVATE. ++ * include/rpc/pmap_clnt.h: Declare __libc_rpc_getport. ++ * nis/nis_findserv.c: Remove pmap_getport copy. Use __libc_rpc_getport. ++ ++2010-08-31 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Add ++ fanotify_mark. ++ ++2010-08-27 Roland McGrath ++ ++ * sysdeps/i386/i686/multiarch/Makefile ++ (CFLAGS-varshift.c): New variable. ++ ++2010-08-27 Ulrich Drepper ++ ++ * sysdeps/i386/i686/multiarch/varshift.S: File removed. ++ * sysdeps/i386/i686/multiarch/varshift.c: New file. ++ ++ * sysdeps/x86_64/multiarch/strlen-no-bsf.S: Move to .text.slow section. ++ ++ * sysdeps/x86_64/strlen.S: Minimal code improvement. ++ ++2010-08-26 H.J. Lu ++ ++ * sysdeps/x86_64/strlen.S: Unroll the loop. ++ * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add ++ strlen-sse2 strlen-sse2-bsf. ++ * sysdeps/x86_64/multiarch/strlen.S ((strlen): Return ++ __strlen_no_bsf if bit_Slow_BSF is set. ++ (__strlen_sse42): Removed. ++ * sysdeps/x86_64/multiarch/strlen-no-bsf.S: New file. ++ * sysdeps/x86_64/multiarch/strlen-sse4.S: New file. ++ ++2010-08-25 Roland McGrath ++ ++ * sysdeps/x86_64/multiarch/varshift.S: File removed. ++ * sysdeps/x86_64/multiarch/varshift.c: New file. ++ * sysdeps/x86_64/multiarch/Makefile (CFLAGS-varshift.c): New variable. ++ * sysdeps/x86_64/multiarch/varshift.h: Clean up decls, fix a cast. ++ * sysdeps/x86_64/multiarch/memmove.c: Move decls around. ++ * sysdeps/x86_64/multiarch/memmove_chk.c: Likewise. ++ ++2010-08-25 H.J. Lu ++ ++ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add ++ strlen-sse2 strlen-sse2-bsf. ++ * sysdeps/i386/i686/multiarch/strlen.S (strlen): Return ++ __strlen_sse2_bsf if bit_Slow_BSF is unset. ++ (__strlen_sse2): Removed. ++ * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: New file. ++ * sysdeps/i386/i686/multiarch/strlen-sse2.S: New file. ++ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Set ++ bit_Slow_BSF for Atom. ++ * sysdeps/x86_64/multiarch/init-arch.h (bit_Slow_BSF): Define. ++ (index_Slow_BSF): Define. ++ (HAS_SLOW_BSF): Define. ++ ++2010-08-25 Ulrich Drepper ++ ++ [BZ #10851] ++ * resolv/res_init.c (__res_vinit): When no server address at all ++ is given default to loopback. ++ ++2010-08-24 Roland McGrath ++ ++ * configure.in: Remove config-name.h generation. ++ * configure: Regenerated. ++ * config-name.in: File removed. ++ * scripts/config-uname.sh: New file. ++ * posix/Makefile (uname.c): Depend on $(objdir)config-name.h. ++ ($(objdir)config-name.h): New target. ++ ++ * sunrpc/rpc_parse.h: Avoid nested comment. ++ ++2010-08-24 Richard Henderson ++ Ulrich Drepper ++ H.J. Lu ++ ++ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add varshift. ++ * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Likewise. ++ * sysdeps/x86_64/multiarch/strcspn-c.c: Include "varshift.h". ++ Replace _mm_srli_si128 with __m128i_shift_right. Replace ++ _mm_alignr_epi8 with _mm_loadu_si128. ++ * sysdeps/x86_64/multiarch/strspn-c.c: Likewise. ++ * sysdeps/x86_64/multiarch/strstr.c: Include "varshift.h". ++ (__m128i_shift_right): Removed. ++ * sysdeps/i386/i686/multiarch/varshift.h: New file. ++ * sysdeps/i386/i686/multiarch/varshift.S: New file. ++ * sysdeps/x86_64/multiarch/varshift.h: New file. ++ * sysdeps/x86_64/multiarch/varshift.S: New file. ++ ++2010-08-21 Mike Frysinger ++ ++ * configure.in: Move assembler checks to before sysdep dir checking. ++ ++2010-08-20 Petr Baudis ++ ++ * LICENSES: Sync the sunrpc license. ++ ++2010-08-19 Ulrich Drepper ++ ++ * sunrpc/auth_des.c: Update copyright notice once again. ++ * sunrpc/auth_none.c: Likewise. ++ * sunrpc/auth_unix.c: Likewise. ++ * sunrpc/authdes_prot.c: Likewise. ++ * sunrpc/authuxprot.c: Likewise. ++ * sunrpc/bindrsvprt.c: Likewise. ++ * sunrpc/clnt_gen.c: Likewise. ++ * sunrpc/clnt_perr.c: Likewise. ++ * sunrpc/clnt_raw.c: Likewise. ++ * sunrpc/clnt_simp.c: Likewise. ++ * sunrpc/clnt_tcp.c: Likewise. ++ * sunrpc/clnt_udp.c: Likewise. ++ * sunrpc/clnt_unix.c: Likewise. ++ * sunrpc/des_crypt.c: Likewise. ++ * sunrpc/des_soft.c: Likewise. ++ * sunrpc/get_myaddr.c: Likewise. ++ * sunrpc/getrpcport.c: Likewise. ++ * sunrpc/key_call.c: Likewise. ++ * sunrpc/key_prot.c: Likewise. ++ * sunrpc/openchild.c: Likewise. ++ * sunrpc/pm_getmaps.c: Likewise. ++ * sunrpc/pm_getport.c: Likewise. ++ * sunrpc/pmap_clnt.c: Likewise. ++ * sunrpc/pmap_prot.c: Likewise. ++ * sunrpc/pmap_prot2.c: Likewise. ++ * sunrpc/pmap_rmt.c: Likewise. ++ * sunrpc/rpc/auth.h: Likewise. ++ * sunrpc/rpc/auth_unix.h: Likewise. ++ * sunrpc/rpc/clnt.h: Likewise. ++ * sunrpc/rpc/des_crypt.h: Likewise. ++ * sunrpc/rpc/key_prot.h: Likewise. ++ * sunrpc/rpc/netdb.h: Likewise. ++ * sunrpc/rpc/pmap_clnt.h: Likewise. ++ * sunrpc/rpc/pmap_prot.h: Likewise. ++ * sunrpc/rpc/pmap_rmt.h: Likewise. ++ * sunrpc/rpc/rpc.h: Likewise. ++ * sunrpc/rpc/rpc_des.h: Likewise. ++ * sunrpc/rpc/rpc_msg.h: Likewise. ++ * sunrpc/rpc/svc.h: Likewise. ++ * sunrpc/rpc/svc_auth.h: Likewise. ++ * sunrpc/rpc/types.h: Likewise. ++ * sunrpc/rpc/xdr.h: Likewise. ++ * sunrpc/rpc_clntout.c: Likewise. ++ * sunrpc/rpc_cmsg.c: Likewise. ++ * sunrpc/rpc_common.c: Likewise. ++ * sunrpc/rpc_cout.c: Likewise. ++ * sunrpc/rpc_dtable.c: Likewise. ++ * sunrpc/rpc_hout.c: Likewise. ++ * sunrpc/rpc_main.c: Likewise. ++ * sunrpc/rpc_parse.c: Likewise. ++ * sunrpc/rpc_parse.h: Likewise. ++ * sunrpc/rpc_prot.c: Likewise. ++ * sunrpc/rpc_sample.c: Likewise. ++ * sunrpc/rpc_scan.c: Likewise. ++ * sunrpc/rpc_scan.h: Likewise. ++ * sunrpc/rpc_svcout.c: Likewise. ++ * sunrpc/rpc_tblout.c: Likewise. ++ * sunrpc/rpc_util.c: Likewise. ++ * sunrpc/rpc_util.h: Likewise. ++ * sunrpc/rpcinfo.c: Likewise. ++ * sunrpc/rpcsvc/bootparam_prot.x: Likewise. ++ * sunrpc/rpcsvc/key_prot.x: Likewise. ++ * sunrpc/rpcsvc/klm_prot.x: Likewise. ++ * sunrpc/rpcsvc/mount.x: Likewise. ++ * sunrpc/rpcsvc/nfs_prot.x: Likewise. ++ * sunrpc/rpcsvc/nlm_prot.x: Likewise. ++ * sunrpc/rpcsvc/rex.x: Likewise. ++ * sunrpc/rpcsvc/rstat.x: Likewise. ++ * sunrpc/rpcsvc/rusers.x: Likewise. ++ * sunrpc/rpcsvc/sm_inter.x: Likewise. ++ * sunrpc/rpcsvc/spray.x: Likewise. ++ * sunrpc/rpcsvc/yppasswd.x: Likewise. ++ * sunrpc/rtime.c: Likewise. ++ * sunrpc/svc.c: Likewise. ++ * sunrpc/svc_auth.c: Likewise. ++ * sunrpc/svc_authux.c: Likewise. ++ * sunrpc/svc_raw.c: Likewise. ++ * sunrpc/svc_run.c: Likewise. ++ * sunrpc/svc_simple.c: Likewise. ++ * sunrpc/svc_tcp.c: Likewise. ++ * sunrpc/svc_udp.c: Likewise. ++ * sunrpc/svc_unix.c: Likewise. ++ * sunrpc/svcauth_des.c: Likewise. ++ * sunrpc/xcrypt.c: Likewise. ++ * sunrpc/xdr.c: Likewise. ++ * sunrpc/xdr_array.c: Likewise. ++ * sunrpc/xdr_float.c: Likewise. ++ * sunrpc/xdr_mem.c: Likewise. ++ * sunrpc/xdr_rec.c: Likewise. ++ * sunrpc/xdr_ref.c: Likewise. ++ * sunrpc/xdr_sizeof.c: Likewise. ++ * sunrpc/xdr_stdio.c: Likewise. ++ ++ * sysdeps/x86_64/multiarch/strcmp.S: Fix two typos in strncasecmp ++ handling. ++ ++2010-08-19 Andreas Schwab ++ ++ * sysdeps/i386/i686/multiarch/strspn.S [!SHARED]: Fix SSE4.2 check. ++ ++2010-08-19 Luis Machado ++ ++ * sysdeps/powerpc/powerpc32/power7/memchr.S: New file. ++ * sysdeps/powerpc/powerpc32/power7/memrchr.S: New file. ++ * sysdeps/powerpc/powerpc32/power7/rawmemchr.S: New file. ++ * sysdeps/powerpc/powerpc32/power7/strchr.S: New file. ++ * sysdeps/powerpc/powerpc32/power7/strchrnul.S: New file. ++ * sysdeps/powerpc/powerpc32/power7/strlen.S: New file. ++ * sysdeps/powerpc/powerpc32/power7/strnlen.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/memchr.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/memrchr.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/rawmemchr.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/strchr.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/strchrnul.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/strlen.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/strnlen.S: New file. ++ ++2010-07-26 Anton Blanchard ++ ++ * malloc/malloc.c (sYSTRIm): Replace divide and multiply with mask. ++ * malloc/arena.c (heap_trim): Likewise. ++ ++2010-08-16 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/syscalls.list: Add entry for fanotify_init ++ here. Not... ++ * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: ...here... ++ * sysdeps/unix/sysv/linux/i386/syscalls.list: ... orhere. ++ ++2010-08-12 H.J. Lu ++ ++ * sysdeps/i386/elf/Makefile: New file. ++ ++2010-08-14 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/sys/fanotify.h: Remove third argument ++ from fanotify_init. ++ * sysdeps/unix/sysv/linux/i386/syscalls.list: Likewise. ++ * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise. ++ ++2010-08-15 Ulrich Drepper ++ ++ * sysdeps/x86_64/strcmp.S: Use correct register for fourth parameter ++ of strncasecmp_l. ++ * sysdeps/multiarch/strcmp.S: Likewise. ++ ++2010-08-14 Ulrich Drepper ++ ++ * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add ++ strncase_l-nonascii. ++ * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines): ++ Add strncase_l-ssse3. ++ * sysdeps/x86_64/multiarch/strcmp.S: Prepare for use as strncasecmp. ++ * sysdeps/x86_64/strcmp.S: Likewise. ++ * sysdeps/x86_64/multiarch/strncase_l-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/strncase_l.S: New file. ++ * sysdeps/x86_64/strncase.S: New file. ++ * sysdeps/x86_64/strncase_l-nonascii.c: New file. ++ * sysdeps/x86_64/strncase_l.S: New file. ++ * string/Makefile (strop-tests): Add strncasecmp. ++ * string/test-strncasecmp.c: New file. ++ ++ * sysdeps/x86_64/strcasecmp_l-nonascii.c: Add prototype to avoid ++ warning. ++ ++ * sysdeps/x86_64/strcmp.S: Move definition of NO_NOLOCALE_ALIAS to... ++ * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: ... here. ++ ++2010-08-14 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/prlimit.c: Make it compile. ++ ++2010-08-12 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/bits/termios.h: Define EXTPROC. ++ * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. ++ ++2010-05-01 Alan Modra ++ ++ * sysdeps/powerpc/powerpc32/power4/memcmp.S: Correct cfi for r24. ++ * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Move contents.. ++ * sysdeps/powerpc/powerpc64/bsd-setjmp.S: ..and these too.. ++ * sysdeps/powerpc/powerpc64/setjmp.S: ..to here.. ++ * sysdeps/powerpc/powerpc64/setjmp-common.S: ..and here, with some ++ tidying. Don't tail-call __sigjmp_save for static lib. ++ * sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): Correct ++ save location. ++ (CFI_SAVE_ARG, CFI_REST_ARG): New macros. ++ (CALL_MCOUNT): Add eh info, and nop after bl. ++ (TAIL_CALL_SYSCALL_ERROR): New macro. ++ (PSEUDO_RET): Use it. ++ * sysdeps/powerpc/powerpc64/dl-trampoline.S (_dl_runtime_resolve): ++ Correct save location of integer regs and cr. ++ (_dl_profile_resolve): Correct cr save location. Delete nops ++ after bl when SHARED. Reduce cfi size a little by better ++ placement of cfi directives. ++ * sysdeps/powerpc/powerpc64/fpu/s_copysign.S (__copysign): Don't ++ make a stack frame. Instead use parm save area as a temp. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Don't ++ make a stack frame. Use TAIL_CALL_SYSCALL_ERROR. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): ++ Don't make a stack frame for parent, use parm save area. ++ Increase child stack frame to 112 bytes. Don't save unused reg, ++ and adjust reg usage. Set up cfi on error recovery and ++ epilogue of parent, and use TAIL_CALL_SYSCALL_ERROR, PSEUDO_RET. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S ++ (__makecontext): Add dummy nop after jump to exit. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S (__socket): ++ Use correct parm save area and cr save, reduce stack frame. ++ Correct cfi for possible PSEUDO_RET frame setup. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S (__vfork): ++ Branch to local label emitted by PSEUDO_RET rather than ++ __syscall_error. ++ ++2010-08-12 Andreas Schwab ++ ++ [BZ #11904] ++ * locale/programs/locale.c (print_assignment): New function. ++ (show_locale_vars): Use it. ++ ++2010-08-11 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_flags ++ field. ++ (struct statfs64): Likewise. ++ (_STATFS_F_FLAGS): Define. ++ * sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise. ++ * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags): ++ Don't define if __ASSUME_STATFS_F_FLAGS is defined. ++ (ST_VALID): Define locally. ++ (INTERNAL_STATVFS): If f_flags has ST_VALID set don't call ++ __statvfs_getflags, use the provided value. ++ * sysdeps/unix/sysv/linux/kernel-features.h: Define ++ __ASSUME_STATFS_F_FLAGS. ++ ++ * sysdeps/unix/sysv/linux/sys/inotify.h (IN_EXCL_UNLINK): Define. ++ ++ * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): ++ Add sys/fanotify.h. ++ * sysdeps/unix/sysv/linux/Versions [libc]: Export fanotify_init and ++ fanotify_mask for GLIBC_2.13. ++ * sysdeps/unix/sysv/linux/i386/syscalls.list: Add entries for ++ fanotify_init and fanotify_mark. ++ * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise. ++ * sysdeps/unix/sysv/linux/sys/fanotify.h: New file. ++ ++ * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_routines): ++ Add prlimit. ++ * sysdeps/unix/sysv/linux/Versions [libc]: Export prlimit and ++ prlimit64 for GLIBC_2.13. ++ * sysdeps/unix/sysv/linux/bits/resource.h: Declare prlimit and ++ prlimit64. ++ * sysdeps/unix/sysv/linux/i386/syscalls.list: Add entry for prlimit64 ++ syscall. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise. ++ * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Likewise. ++ * sysdeps/unix/sysv/linux/sh/syscalls.list: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.lis: Likewise. ++ * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Likewise. Also ++ add prlimit alias. ++ * sysdeps/unix/sysv/linux/prlimit.c: New file. ++ ++ [BZ #11903] ++ * sysdeps/generic/netinet/ip.h (IPTOS_CLASS): Fix definition. ++ Patch by Evgeni Bikov . ++ ++ * nss/Makefile: Add rules to build and run tst-nss-test1. ++ * shlib-versions: Add entry for libnss_test1. ++ * nss/nss_test1.c: New file. ++ * nss/tst-nss-test1.c: New file. ++ ++ * nss/nsswitch.c (__nss_database_custom): Define new variable. ++ (__nss_configure_lookup): Set appropriate entry in ++ __nss_configure_lookup to true. ++ * nss/nsswitch.h: Define enum with indeces of databases in ++ databases and __nss_database_custom arrays. Declare ++ __nss_database_custom. ++ * grp/initgroups.c (internal_getgrouplist): Use __nss_database_custom ++ to avoid using nscd when custom rules are installed. ++ * nss/getXXbyYY_r.c: Likewise. ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise. ++ ++ * nss/nss_files/files-parse.c: Whitespace fixes. ++ ++2010-08-09 Ulrich Drepper ++ ++ [BZ #11883] ++ * posix/fnmatch.c: Keep track of alloca use and fall back on malloc. ++ * posix/fnmatch_loop.c: Likewise. ++ ++2010-07-17 Andi Kleen ++ ++ * sysdeps/i386/i386-mcount.S (__fentry__): Define. ++ * sysdeps/x86_64/_mcount.S (__fentry__): Define. ++ * stdlib/Versions (__fentry__): Add for GLIBC 2.13 ++ * Versions.def [GLIBC_2.13]: Add. ++ ++2010-08-06 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): ++ Also fail if tpwd after pwuid call is NULL. ++ ++2010-07-31 Samuel Thibault ++ ++ * hurd/hurdselect.c (_hurd_select): Round timeout up instead of down ++ when converting to ms. ++ ++2010-06-06 Samuel Thibault ++ ++ * sysdeps/mach/hurd/ttyname.c (ttyname): Replace MIG_BAD_ID and ++ EOPNOTSUPP errors with ENOTTY. ++ * sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Replace MIG_BAD_ID and ++ EOPNOTSUPP errors with ENOTTY. ++ ++2010-07-31 Ulrich Drepper ++ ++ * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines): ++ Add strcasecmp_l-ssse3. ++ * sysdeps/x86_64/multiarch/strcmp.S: Add support to compile for ++ strcasecmp. ++ * sysdeps/x86_64/strcmp.S: Allow more flexible compiling of strcasecmp. ++ * sysdeps/x86_64/multiarch/strcasecmp_l.S: New file. ++ * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: New file. ++ ++2010-07-30 Ulrich Drepper ++ ++ * sysdeps/x86_64/multiarch/strcmp.S: Pretty printing. ++ ++ * string/Makefile (strop-tests): Add strcasecmp. ++ * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add ++ strcasecmp_l-nonascii. ++ (gen-as-const-headers): Add locale-defines.sym. ++ * sysdeps/x86_64/strcmp.S: Add support for strcasecmp implementation. ++ * sysdeps/x86_64/strcasecmp.S: New file. ++ * sysdeps/x86_64/strcasecmp_l.S: New file. ++ * sysdeps/x86_64/strcasecmp_l-nonascii.c: New file. ++ * sysdeps/x86_64/locale-defines.sym: New file. ++ * string/test-strcasecmp.c: New file. ++ ++ * string/test-strcasestr.c: Test both ends of the range of characters. ++ * sysdeps/x86_64/multiarch/strstr.c: Fix UCHIGH definition. ++ ++2010-07-29 Roland McGrath ++ ++ [BZ #11856] ++ * manual/locale.texi (Yes-or-No Questions): Fix example code. ++ ++2010-07-27 Ulrich Drepper ++ ++ * sysdeps/x86_64/multiarch/strcmp-ssse3.S: Avoid compiling the file ++ for ld.so. ++ ++2010-07-27 Andreas Schwab ++ ++ * manual/memory.texi (Malloc Tunable Parameters): Document ++ M_PERTURB. ++ ++2010-07-26 Roland McGrath ++ ++ [BZ #11840] ++ * configure.in (-fgnu89-inline check): Set and substitute ++ gnu89_inline, not libc_cv_gnu89_inline. ++ * configure: Regenerated. ++ * config.make.in (gnu89-inline-CFLAGS): Use @gnu89_inline@. ++ ++2010-07-26 Ulrich Drepper ++ ++ * string/test-strnlen.c: New file. ++ * string/Makefile (strop-tests): Add strnlen. ++ * string/tester.c (test_strnlen): Add a few more test cases. ++ * string/tst-strlen.c: Better error reporting. ++ ++ * sysdeps/x86_64/strnlen.S: New file. ++ ++2010-07-24 Ulrich Drepper ++ ++ * sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Use ++ lower-latency instructions. ++ ++2010-07-23 Ulrich Drepper ++ ++ * string/test-strcasestr.c: New file. ++ * string/test-strstr.c: New file. ++ * string/Makefile (strop-tests): Add strstr and strcasestr. ++ * string/str-two-way.h: Don't undefine MAX. ++ * string/strcasestr.c: Don't define alias if NO_ALIAS is defined. ++ ++2010-07-21 Andreas Schwab ++ ++ * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add ++ strcasestr-nonascii. ++ (CFLAGS-strcasestr-nonascii.c): Define. ++ * sysdeps/i386/i686/multiarch/strcasestr-nonascii.c: New file. ++ * sysdeps/x86_64/multiarch/strcasestr-nonascii.c (STRSTR_SSE42): ++ Remove unused attribute. ++ ++2010-07-20 Roland McGrath ++ ++ * elf/dl-sysdep.c (_dl_important_hwcaps): Add dsocaps mask to ++ dl_hwcap_mask as well as dl_hwcap. Without this, dsocaps matching in ++ ld.so.cache was broken. With it, there is no way to disable dsocaps ++ like LD_HWCAP_MASK can disable hwcaps. ++ ++2010-06-02 Emilio Pozuelo Monfort ++ ++ * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Fix memory leaks. ++ ++2010-07-16 Ulrich Drepper ++ ++ * sysdeps/x86_64/multiarch/strstr.c: Rewrite to avoid indirect function ++ call in strcasestr. ++ * sysdeps/x86_64/multiarch/strcasestr.c: Declare ++ __strcasestr_sse42_nonascii. ++ * sysdeps/x86_64/multiarch/Makefile: Add rules to build ++ strcasestr-nonascii.c. ++ * sysdeps/x86_64/multiarch/strcasestr-nonascii.c: New file. ++ ++2010-06-15 Luis Machado ++ ++ * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: New file. ++ * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: New file. ++ * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: New file. ++ * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: New file. ++ ++2010-07-09 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use __fcntl not ++ fcntl. ++ ++2010-07-06 Andreas Schwab ++ ++ [BZ #11577] ++ * elf/dl-version.c (match_symbol): Don't pass NULL occation to ++ dl_signal_cerror. ++ ++2010-07-06 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Implement ++ _PC_PIPE_BUF using F_GETPIPE_SZ. ++ ++2010-07-05 Roland McGrath ++ ++ * manual/arith.texi (Rounding Functions): Fix rint description ++ implicit in round description. ++ ++2010-07-02 Ulrich Drepper ++ ++ * elf/Makefile: Fix linking for a few tests to make recent linker ++ happy. ++ ++2010-06-30 Andreas Schwab ++ ++ * dlfcn/Makefile (LDLIBS-bug-atexit3-lib.so): Readd ++ $(common-objpfx)libc_nonshared.a. ++ ++2010-06-21 Luis Machado ++ ++ * sysdeps/powerpc/powerpc32/970/fpu/Implies: Remove. ++ * sysdeps/powerpc/powerpc32/power5/fpu/Implies: Remove. ++ * sysdeps/powerpc/powerpc32/power5+/fpu/Implies: Remove. ++ * sysdeps/powerpc/powerpc32/power6x/fpu/Implies: Remove. ++ * sysdeps/powerpc/powerpc64/970/fpu/Implies: Remove. ++ * sysdeps/powerpc/powerpc64/power5/fpu/Implies: Remove. ++ * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Remove. ++ * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5+/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/fpu/Implies: Remove. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/fpu/Implies: Remove. ++ * sysdeps/powerpc/powerpc32/970/Implies: Point to power4. ++ * sysdeps/powerpc/powerpc32/power5/Implies: Point to power4. ++ * sysdeps/powerpc/powerpc32/power5+/Implies: Point to power5. ++ * sysdeps/powerpc/powerpc32/power6/Implies: Point to power5+. ++ * sysdeps/powerpc/powerpc32/power6x/Implies: Point to power6. ++ * sysdeps/powerpc/powerpc64/970/Implies: Point to power4. ++ * sysdeps/powerpc/powerpc64/power5/Implies: Point to power4. ++ * sysdeps/powerpc/powerpc64/power5+/Implies: Point to power5. ++ * sysdeps/powerpc/powerpc64/power6/Implies: Point to power5+. ++ * sysdeps/powerpc/powerpc64/power6x/Implies: Point to power6. ++ * sysdeps/powerpc/powerpc32/power7/Implies: New file. ++ * sysdeps/powerpc/powerpc64/power7/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/970/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/cell/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power4/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power5/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power6x/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc32/power7/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/970/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/cell/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/Implies: New file. ++ * sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/Implies: New file. ++ ++2010-06-25 H.J. Lu ++ ++ * debug/memmove_chk.c (__memmove_chk): Renamed to ... ++ (MEMMOVE_CHK): ...this. Default to __memmove_chk. ++ * string/memmove.c (memmove): Renamed to ... ++ (MEMMOVE): ...this. Default to memmove. ++ * sysdeps/x86_64/memcpy.S: Use ENTRY_CHK and END_CHK. ++ * sysdeps/x86_64/sysdep.h (ENTRY_CHK): Define. ++ (END_CHK): Define. ++ * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add ++ memcpy-ssse3 mempcpy-ssse3 memmove-ssse3 memcpy-ssse3-back ++ mempcpy-ssse3-back memmove-ssse3-back. ++ * sysdeps/x86_64/multiarch/bcopy.S: New file . ++ * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: New file. ++ * sysdeps/x86_64/multiarch/memcpy-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/memcpy.S: New file. ++ * sysdeps/x86_64/multiarch/memcpy_chk.S: New file. ++ * sysdeps/x86_64/multiarch/memmove-ssse3-back.S: New file. ++ * sysdeps/x86_64/multiarch/memmove-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/memmove.c: New file. ++ * sysdeps/x86_64/multiarch/memmove_chk.c: New file. ++ * sysdeps/x86_64/multiarch/mempcpy-ssse3-back.S: New file. ++ * sysdeps/x86_64/multiarch/mempcpy-ssse3.S: New file. ++ * sysdeps/x86_64/multiarch/mempcpy.S: New file. ++ * sysdeps/x86_64/multiarch/mempcpy_chk.S: New file. ++ * sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Copy_Backward): ++ Define. ++ (index_Fast_Copy_Backward): Define. ++ (HAS_ARCH_FEATURE): Define. ++ (HAS_FAST_REP_STRING): Define. ++ (HAS_FAST_COPY_BACKWARD): Define. ++ ++2010-06-21 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): ++ Restore proper fallback handling. ++ ++2010-06-19 Ulrich Drepper ++ ++ [BZ #11701] ++ * posix/group_member.c (__group_member): Correct checking loop. ++ ++ * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle ++ OOM in getpwuid_r correctly. Return error number when the caller ++ should return, otherwise -1. ++ (getlogin_r): Adjust to return also for result of __getlogin_r_loginuid ++ call returning > 0 value. ++ * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise. ++ ++2010-06-07 Andreas Schwab ++ ++ * dlfcn/Makefile: Remove explicit dependencies on libc.so and ++ libc_nonshared.a from targets in modules-names. ++ ++2010-06-02 Kirill A. Shutemov ++ ++ * elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch ++ requires it. ++ ++2010-06-10 Luis Machado ++ ++ * sysdeps/powerpc/powerpc32/power7/memcmp.S: New file ++ * sysdeps/powerpc/powerpc64/power7/memcmp.S: New file. ++ * sysdeps/powerpc/powerpc32/power7/strncmp.S: New file. ++ * sysdeps/powerpc/powerpc64/power7/strncmp.S: New file. ++ ++2010-06-02 Andreas Schwab ++ ++ * nis/nss_nis/nis-initgroups.c (get_uid): Properly resize buffer. ++ ++2010-06-14 Ulrich Drepper ++ ++ * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Define F_SETPIPE_SZ ++ and F_GETPIPE_SZ. ++ * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise. ++ * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise ++ ++2010-06-14 Roland McGrath ++ ++ * manual/libc.texinfo (@copying): Change to GFDL v1.3. ++ ++2010-06-07 Jakub Jelinek ++ ++ * libio/stdio.h (sscanf, vsscanf): Use __REDIRECT_NTH instead of ++ __REDIRECT followed by __THROW. ++ * wcsmbs/wchar.h (swscanf, vswscanf): Likewise. ++ * posix/getopt.h (getopt): Likewise. ++ ++2010-06-02 Emilio Pozuelo Monfort ++ ++ * hurd/lookup-at.c (__file_name_lookup_at): Accept ++ AT_SYMLINK_FOLLOW in AT_FLAGS. Fail with EINVAL if both ++ AT_SYMLINK_FOLLOW and AT_SYMLINK_NOFOLLOW are present ++ in AT_FLAGS. ++ * hurd/hurd/fd.h (__file_name_lookup_at): Update comment. ++ * sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS. ++ ++2010-05-28 Luis Machado ++ ++ * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi. ++ ++2010-05-26 H.J. Lu ++ ++ [BZ #11640] ++ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): ++ Properly check family and model. ++ ++2010-05-26 Takashi Yoshii ++ ++ * sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Fix iov[] size. ++ ++2010-05-24 Luis Machado ++ ++ * sysdeps/powerpc/powerpc32/power7/memset.S: POWER7 32-bit memset fix. ++ ++2010-05-21 Ulrich Drepper ++ ++ * elf/dl-runtime.c (_dl_profile_fixup): Don't crash on unresolved weak ++ symbol reference. ++ ++2010-05-19 Andreas Schwab ++ ++ * elf/dl-runtime.c (_dl_fixup): Don't crash on unresolved weak ++ symbol reference. ++ ++2010-05-21 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg ++ and internal_recvmmsg. ++ * sysdeps/unix/sysv/linux/recvmmsg.c: New file. ++ * sysdeps/unix/sysv/linux/internal_recvmmsg.S: New file. ++ * sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_recvmmsg): Define. ++ * sysdeps/unix/sysv/linux/syscalls.list (recvmmsg): Remove. ++ ++ * sunrpc/clnt_tcp.c (clnttcp_control): Add missing break. ++ * sunrpc/clnt_udp.c (clntudp_control): Likewise. ++ * sunrpc/clnt_unix.c (clntunix_control): Likewise. ++ ++2010-05-20 Andreas Schwab ++ ++ * sysdeps/unix/sysv/linux/sys/timex.h: Use __REDIRECT_NTH. ++ ++2010-05-17 Luis Machado ++ ++ POWER7 optimizations. ++ * sysdeps/powerpc/powerpc64/power7/memset.S: New file. ++ * sysdeps/powerpc/powerpc32/power7/memset.S: New file. ++ ++2010-05-19 Ulrich Drepper ++ ++ * version.h: Update for 2.13 development version. ++ ++2010-05-12 Andrew Stubbs ++ ++ * sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Really disable all ++ exceptions. Return 0. ++ ++2010-05-07 Roland McGrath ++ ++ * elf/ldconfig.c (main): Add a const. ++ ++2010-05-06 Ulrich Drepper ++ ++ * nss/getent.c (idn_flags): Default to AI_IDN|AI_CANONIDN. ++ (args_options): Add no-idn option. ++ (ahosts_keys_int): Add idn_flags to ai_flags. ++ (parse_option): Handle 'i' option to clear idn_flags. ++ ++ * malloc/malloc.c (_int_free): Possible race in the most recently ++ added check. Only act on the data if no current modification ++ happened. ++ ++See ChangeLog.17 for earlier changes. +diff -Nup a/Makeconfig b/Makeconfig +--- a/Makeconfig 2012-01-01 05:16:32.000000000 -0700 ++++ b/Makeconfig 2012-01-01 13:08:53.291715873 -0700 +@@ -803,12 +803,12 @@ endif # The assembler can generate debug information too. ifndef ASFLAGS ifeq ($(have-cpp-asm-debuginfo),yes) @@ -387,10 +7159,10 @@ diff -Nur a/Makeconfig b/Makeconfig ifndef BUILD_CC BUILD_CC = $(CC) -diff -Nur a/NEWS b/NEWS ---- a/NEWS 2011-12-22 16:50:52.000000000 +0000 -+++ b/NEWS 2011-12-22 17:59:24.552119299 +0000 -@@ -83,16 +83,6 @@ +diff -Nup a/NEWS b/NEWS +--- a/NEWS 2012-01-01 05:16:32.000000000 -0700 ++++ b/NEWS 2012-01-01 13:08:53.292715874 -0700 +@@ -84,16 +84,6 @@ Version 2.14 12724, 12734, 12738, 12746, 12766, 12775, 12777, 12782, 12788, 12792, 12795, 12811, 12813, 12814, 12841 @@ -407,4255 +7179,2250 @@ diff -Nur a/NEWS b/NEWS * New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at, syncfs, setns, sendmmsg -diff -Nur a/config.h.in b/config.h.in ---- a/config.h.in 2011-12-22 16:50:52.000000000 +0000 -+++ b/config.h.in 2011-12-22 17:59:24.552119299 +0000 -@@ -187,6 +187,9 @@ - /* Define if `.ctors' and `.dtors' sections shouldn't be used. */ - #undef NO_CTORS_DTORS_SECTIONS - -+/* Define if Systemtap probes should be defined. */ -+#undef USE_STAP_PROBE +diff -Nup a/NEWS.orig b/NEWS.orig +--- a/NEWS.orig 1969-12-31 17:00:00.000000000 -0700 ++++ b/NEWS.orig 2012-01-01 05:16:32.000000000 -0700 +@@ -0,0 +1,2048 @@ ++GNU C Library NEWS -- history of user-visible changes. 2011-12-23 ++Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc. ++See the end for copying conditions. ++ ++Please send GNU C library bug reports via ++using `glibc' in the "product" field. ++ ++Version 2.15 ++ ++* The following bugs are resolved with this release: ++ ++ 6779, 6783, 9696, 10103, 10709, 11589, 12403, 12786, 12840, 12847, 12868, ++ 12852, 12874, 12885, 12892, 12906, 12907, 12922, 12935, 12962, 13007, ++ 13021, 13061, 13062, 13067, 13068, 13085, 13088, 13090, 13092, 13096, ++ 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13166, 13179, 13185, ++ 13189, 13192, 13268, 13276, 13282, 13291, 13305, 13328, 13335, 13337, ++ 13344, 13358, 13367, 13413, 13416, 13423, 13439, 13446, 13472, 13484, ++ 13506, 13515, 13523, 13524, 13538, 13540 ++ ++* New program pldd to list loaded object of a process ++ Implemented by Ulrich Drepper. ++ ++* Add nss_db support back to glibc. No more dependency on Berkeley db ++ and support for initgroups lookups. ++ Implemented by Ulrich Drepper. ++ ++* Optimized strcpy, strncpy, stpcpy, stpncpy for SSE2 and SSSE3 on x86-32. ++ Contributed by HJ Lu. ++ ++* Improved strcpy, strncpy, stpcpy, stpncpy for SSE2 and SSSE3 on x86-64. ++ Contributed by HJ Lu. ++ ++* Optimized strcat, strncat on x86-64 and optimized wcscmp, wcslen, strnlen ++ on x86-32 and x86-64. ++ Contributed by Liubov Dmitrieva. ++ ++* Optimized strchr and strrchr for SSE on x86-32. ++ Contributed by Liubov Dmitrieva. ++ ++* Optimized memchr, memrchr, rawmemchr, memcmp, wmemcmp, wcschr, wcscpy ++ for x86-64 and x86-32. ++ Contributed by Liubov Dmitrieva. ++ ++* New interfaces: scandirat, scandirat64 ++ Implemented by Ulrich Drepper. ++ ++* Checking versions of FD_SET, FD_CLR, and FD_ISSET added. ++ Implemented by Ulrich Drepper. ++ ++* nscd now also caches the netgroup database. ++ Implemented by Ulrich Drepper. ++ ++* Integrate libm with gcc's -ffinite-math-only option. ++ Implemented by Ulrich Drepper. ++ ++* Lots of generic, 64-bit, and x86-64-specific performance optimizations ++ to math functions. Implemented by Ulrich Drepper. ++ ++* Optimized strcasecmp and strncasecmp for AVX on x86-64. ++ Implemented by Ulrich Drepper. ++ ++* New Linux interfaces: process_vm_readv, process_vm_writev ++ ++* Optimized strcasecmp and strncasecmp for SSSE3 and SSE4.2 on x86-32. ++ Implemented by Ulrich Drepper. ++ ++* Optimized nearbyint and strcasecmp for PPC. ++ Implemented by Adhemerval Zanella. ++ ++* New locales: bho_IN, unm_US, es_CU, ta_LK ++ ++Version 2.14 ++ ++* The following bugs are resolved with this release: ++ ++ 386, 6420, 7101, 9730, 9732, 9809, 10138, 10149, 10157, 11099, 11257, ++ 11258, 11487, 11532, 11558, 11578, 11634, 11653, 11668, 11697, 11724, ++ 11781, 11799, 11820, 11837, 11857, 11869, 11892, 11895, 11901, 11945, ++ 11947, 11952, 11987, 12052, 12083, 12158, 12178, 12200, 12346, 12350, ++ 12393, 12420, 12432, 12445, 12449, 12453, 12454, 12460, 12469, 12489, ++ 12509, 12510, 12511, 12518, 12527, 12541, 12545, 12551, 12582, 12583, ++ 12587, 12597, 12601, 12611, 12625, 12626, 12631, 12650, 12653, 12655, ++ 12660, 12671, 12681, 12684, 12685, 12711, 12713, 12714, 12717, 12723, ++ 12724, 12734, 12738, 12746, 12766, 12775, 12777, 12782, 12788, 12792, ++ 12795, 12811, 12813, 12814, 12841 ++ ++* The RPC implementation in libc is obsoleted. Old programs keep working ++ but new programs cannot be linked with the routines in libc anymore. ++ Programs in need of RPC functionality must be linked against TI-RPC. ++ The TI-RPC implementation is IPv6 enabled and there are other benefits. ++ ++ Visible changes of this change include (obviously) the inability to link ++ programs using RPC functions without referencing the TI-RPC library and the ++ removal of the RPC headers from the glibc headers. ++ Implemented by Ulrich Drepper. ++ ++* New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at, ++ syncfs, setns, sendmmsg ++ ++* New locales: os_RU, bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH, ++ yue_HK, lij_IT, mhr_RU ++ ++* New encodings: CP770, CP771, CP772, CP773, CP774 ++ ++* New program sotruss to trace calls through PLTs ++ Implemented by Ulrich Drepper. ++ ++* The malloc hook implementation is marked deprecated and will be removed ++ from the default implementation in the next version. The design never ++ worked ever since the introduction of threads. Even programs which do ++ not create threads themselves can use multiple threads created internally. ++ ++Version 2.13 ++ ++* The following bugs are resolved with this release: ++ ++ 3268, 6812, 7066, 10085, 10484, 10563, 10851, 11149, 11155, 11577, 11611, ++ 11640, 11655, 11701, 11840, 11856, 11883, 11903, 11904, 11968, 11979, ++ 12005, 12037, 12067, 12077, 12078, 12092, 12093, 12107, 12108, 12113, ++ 12140, 12159, 12167, 12191, 12194, 12201, 12204, 12205, 12207, 12348, ++ 12378, 12394, 12397 ++ ++* New Linux interfaces: prlimit, prlimit64, fanotify_init, fanotify_mark ++ ++* POWER7 optimizations: memset, memcmp, strncmp ++ ++* New optimized string functions for x86-64: strnlen (SSE2), ++ strcasecmp (SSE2, SSSE3, SSE4.2), strncasecmp (SSE2, SSSE3, SSE4.2) ++ Implemented by Ulrich Drepper. ++ ++Version 2.12 ++ ++* The following bugs are resolved with this release: ++ ++ 3662, 4457, 5553, 10162, 10401, 10414, 10554, 10824, 10864, 10915, 10918, ++ 10936, 10939, 10958, 10968, 10969, 10972, 10992, 11000, 11001, 11007, ++ 11010, 11027, 11039, 11040, 11041, 11043, 11046, 11056, 11070, 11093, ++ 11115, 11120, 11125, 11126, 11127, 11134, 11141, 11149, 11183, 11184, ++ 11185, 11186, 11187, 11188, 11189, 11190, 11191, 11192, 11193, 11194, ++ 11200, 11230, 11235, 11242, 11254, 11258, 11271, 11272, 11276, 11279, ++ 11287, 11292, 11319, 11332, 11333, 11387, 11389, 11390, 11394, 11397, ++ 11410, 11438, 11449, 11470, 11471, 11520, 11537, 11538, 11571 ++ ++* New interfaces: pthread_getname_np, pthread_setname_np ++ ++* New Linux interface: recvmmsg ++ ++* STT_GNU_IFUNC implemented for Sparc by David Miller. ++ ++* The dynamic linker now recognizes supported ABI versions from the ++ EI_ABIVERSION field in the ELF header. ++ Implemented by Ulrich Drepper. ++ ++* New NIS mode selector ADJUNCT_AS_SHADOW. The passwd.adjunct.byname table ++ will not be used to fill in password fields in the passwd.byname replies. ++ Instead it is used to synthesize the shadow.byname table, should it be ++ missing. This is a useful mode in some installations involving Solaris. ++ Implemented by Ulrich Drepper. ++ ++* New locales: kok_IN, sq_MK, cv_RU ++ ++Version 2.11 ++ ++* The following bugs are resolved with this release: ++ ++ 3270, 7094, 9924, 9986, 10011, 10085, 10107, 10159, 10162, 10166, 10183, ++ 10195, 10196, 10200, 10203, 10207, 10211, 10213, 10217, 10221, 10229, ++ 10262, 10286, 10312, 10315, 10319, 10349, 10360, 10391, 10402, 10416, ++ 10418, 10422, 10425, 10446, 10448, 10452, 10540, 10553, 10560, 10564, ++ 10609, 10643, 10692, 10713, 10717, 10730, 10731, 10742, 10780, 10784, ++ 10789, 10817, 10823, 10840, 10847 ++ ++* New interfaces: execvpe, pthread_sigqueue, mkstemps, mkstemps64, mkostemps, ++ mkostemps64 ++ Implemented by Ulrich Drepper. ++ ++* Checking version of longjmp added that fails if an uninitialized stack ++ frame would be created. Implemented by Ulrich Drepper. ++ ++* STT_GNU_IFUNC is now supported in static executables. ++ Implemented by H.J. Lu. ++ ++* STT_GNU_IFUNC implemented for PPC by Alan Modra. ++ ++* New optimized string functions for x86-64: strstr, strcasestr, memcmp, ++ strcspn, strpbrk, strspn, strcpy, stpcpy, strncpy, strcmp (SSE2, SSE4.2), ++ strncmp (SSE2, SSE4.2), strchr (SSE4.2), strrchr (SSE4.2). ++ Contributed by H.J. Lu. ++ ++ strlen, rawmemchr, strcmp (SSSE3), strncmp (SSSE3). ++ Implemented by Ulrich Drepper. ++ ++* New optimized string functions for x86: strlen, strcspn, strspn, strpbrk, ++ strstr, strcasestr. ++ Contributed by H.J. Lu. ++ ++* Support for fma instruction in AVX on x86-64. ++ Implemented by H.J. Lu and Ulrich Drepper. ++ ++* AVX support in x86-64 auditing support in ld.so. ++ Implemented by H.J. Lu. ++ ++* STB_GNU_UNIQUE support added. ++ Implemented by Ulrich Drepper. ++ ++* Implement second fallback mode for optimized DNS lookup for even more ++ broken environments. If two requests from the same port are not ++ handled correctly close the socket and open a new one before sending ++ the second request. The 'single-request-reopen' option in /etc/resolv.conf ++ can be used to select this mode right away, instead of rediscovering the ++ necessity is every process again. ++ Implemented by Ulrich Drepper. ++ ++* New resolver flag RES_USE_DNSSEC to enable use of verified lookup. ++ Implemented by Adam Tkac. ++ ++* Optimized iconv conversions for S390x. ++ Implemented by Andreas Krebbel. ++ ++* Using condvars with PI mutexes is now more efficient due to kernel ++ support for requeueing to PI futexes. NPTL support added for x86-64. ++ Implemented by Ulrich Drepper. ++ ++* New locales: ps_AF, my_MM ++ ++Version 2.10 ++ ++* The following bugs are resolved with this release: ++ ++ 697, 5381, 5807, 6411, 6545, 7040, 7058, 7067, 7080, 7083, 7095, 7098, ++ 9677, 9694, 9697, 9701, 9704, 9705, 9706, 9720, 9726, 9730, 9733, 9736, ++ 9741, 9750, 9753, 9759, 9781, 9791, 9793, 9823, 9833, 9844, 9880, 9881, ++ 9891, 9893, 9895, 9913, 9916, 9920, 9948, 9955, 9957, 9963, 9985, 10052, ++ 10069, 10086, 10087, 10090, 10092, 10093, 10100, 10118, 10128 ++ ++* New interfaces: preadv, preadv64, pwritev, pwritev64, malloc_info ++ Implemented by Ulrich Drepper. ++ ++* New Linux interfaces: accept4, fallocate, fallocate64. ++ Implemented by Ulrich Drepper. ++ ++* Correct declarations of string function when used in C++ code. This ++ could lead to compile errors for invalid C++ code. ++ ++* XPG7/POSIX 2008 compilation environment. Many GNU-specific functions are ++ now in POSIX. ++ ++* New POSIX 2008 interface: psiginfo ++ Implemented by Ulrich Drepper. ++ ++* New ISO C++1x interfaces: quick_exit, at_quick_exit ++ Implemented by Ulrich Drepper. ++ ++* Support for selecting between multiple function definitions at runtime ++ using STT_GNU_IFUNC symbols. Implemented by Ulrich Drepper. ++ ++* The libcrypt library can now use the hash function implementations in ++ NSS. Implemented by Ulrich Drepper. ++ ++* The malloc implementation can be compiled to be less memory efficient ++ but higher performing in multi-threaded programs. ++ Implemented by Ulrich Drepper. ++ ++* New locales: nan_TW@latin, ks_IN ++ ++* Faster strlen, strchr, strchrnul, strrchr, memchr, and rawmemchr for x86-64. ++ Implemented by Ulrich Drepper. ++ ++* Extended printf hook support. It is possible to use user-defined types ++ and extend existing format specifiers. ++ Implemented by Ulrich Drepper. ++ ++* Handling for group shadow files has been added. ++ Implemented by Ulrich Drepper. ++ ++* DNS IPv4-IPv6 parallel lookup now deals better with broken DNS ++ servers (the case, e.g., for some people using the built-in DNS ++ server in ADSL modems/routers). There is a once-per-process timeout ++ in case of a broken server. To avoid it, users can run nscd or put ++ 'options single-request' in /etc/resolv.conf. ++ Implemented by Ulrich Drepper. ++ ++Version 2.9 ++ ++* The following bugs are resolved with this release: ++ ++ 3406, 5209, 5210, 5381, 5794, 5814, 5911, 6428, 6438, 6442, 6447, 6461, ++ 6472, 6505, 6544, 6589, 6612, 6634, 6653, 6654, 6657, 6698, 6712, 6713, ++ 6719, 6723, 6724, 6740, 6763, 6771, 6790, 6791, 6817, 6824, 6839, 6843, ++ 6845, 6856, 6857, 6860, 6867, 6875, 6919, 6920, 6942, 6947, 6955, 6966, ++ 6968, 6974, 6980, 6995, 7008, 7009, 7029 ++ ++* Unified lookup for getaddrinfo: IPv4 and IPv6 addresses are now looked ++ up at the same time. Implemented by Ulrich Drepper. ++ ++* TLS descriptors for LD and GD on x86 and x86-64. ++ Implemented by Alexandre Oliva. ++ ++* getaddrinfo now handles DCCP and UDPlite. ++ Implemented by Ulrich Drepper. ++ ++* New fixed-size conversion macros: htobe16, htole16, be16toh, le16toh, ++ htobe32, htole32, be32toh, le32toh, htobe64, htole64, be64toh, le64toh. ++ Implemented by Ulrich Drepper. ++ ++* New implementation of memmem, strstr, and strcasestr which is O(n). ++ Implemented by Eric Blake. ++ ++* New Linux interfaces: inotify_init1, dup3, epoll_create1, pipe2 ++ ++* Implement "e" option for popen to open file descriptor with the ++ close-on-exec flag set. Implemented by Ulrich Drepper. ++ ++* Implement "b" mode for fmemopen. In this mode writes writes don't ++ implicitly add a NUL byte and seeks from the end of the buffer really ++ use the buffer end, not the string length as the basis. ++ Implemented by Ulrich Drepper. ++ ++* Many functions, exported and internal, now atomically set the close-on-exec ++ flag when run on a sufficiently new kernel. Implemented by Ulrich Drepper. ++ ++* Sorting rules for some Indian languages (Kannada, Gurumukhi, Telugu, ++ Sinhala) ++ Implemented by Pravin Satpute. ++ ++* New locales: sd_IN, sd_IN@devanagari, ks_IN@devanagari, ht_HT, en_AG, nl_AW. ++ ++Version 2.8 ++ ++* The following bugs are resolved with this release: ++ ++ 2549, 3112, 4314, 4407, 4997, 5012, 5040, 5112, 5204, 5208, 5209, 5220, ++ 5222, 5224, 5225, 5237, 5238, 5240, 5245, 5277, 5346, 5375, 5378, 5382, ++ 5424, 5427, 5428, 5435, 5436, 5439, 5441, 5442, 5443, 5451, 5452, 5454, ++ 5455, 5463, 5464, 5465, 5475, 5477, 5478, 5520, 5541, 5545, 5553, 5600, ++ 5602, 5607, 5614, 5627, 5628, 5736, 5737, 5741, 5753, 5760, 5762, 5768, ++ 5774, 5777, 5778, 5779, 5786, 5790, 5818, 5854, 5857, 5903, 5939, 5979, ++ 5983, 5995, 5998, 6004, 6007, 6020, 6021, 6024, 6040, 6042 ++ ++* New locales: bo_CN, bo_IN, shs_CA. ++ ++* New encoding: HP-ROMAN9, HP-GREEK8, HP-THAI8, HP-TURKISH8. ++ ++* Sorting rules for some Indian languages (Devanagari and Gujarati). ++ Implemented by Pravin Satpute. ++ ++* IPV6 addresses in /etc/resolv.conf can now have a scope ID ++ ++* nscd caches now all timeouts for DNS entries ++ Implemented by Ulrich Drepper. ++ ++* nscd is more efficient and wakes up less often. ++ Implemented by Ulrich Drepper. ++ ++* More checking functions: asprintf, dprintf, obstack_printf, vasprintf, ++ vdprintf, and obstack_vprintf. ++ Implemented by Jakub Jelinek. ++ ++* Faster memset for x86-64. ++ Implemented by Harsha Jagasia and H.J. Lu. ++ ++* Faster memcpy on x86. ++ Implemented by Ulrich Drepper. ++ ++* ARG_MAX is not anymore constant on Linux. Use sysconf(_SC_ARG_MAX). ++ Implemented by Ulrich Drepper. ++ ++* Faster sqrt and sqrtf implemention for some PPC variants. ++ Implemented by Stephen Munroe. ++ ++Version 2.7 ++ ++* The following bugs are resolved with this release: ++ ++ 4125, 4126, 4178, 4359, 4407, 4512, 4514, 4525, 4554, 4556, 4557, 4566, ++ 4582, 4586, 4588, 4599, 4610, 4647, 4702, 4705, 4726, 4745, 4772, 4773, ++ 4775, 4776, 4792, 4813, 4814, 4816, 4833, 4858, 4860, 4896, 4905, 4925, ++ 4936, 4937, 4938, 4941, 4946, 4963, 4972, 5010, 5028, 5043, 5058, 5063, ++ 5071, 5103, 5104, 5112, 5113, 5184, 5186 ++ ++* More checking functions: fread, fread_unlocked, open*, mq_open. ++ Implemented by Jakub Jelinek and Ulrich Drepper. ++ ++* Extend fortification to C++. Implemented by Jakub Jelinek. ++ ++* Implement 'm' modifier for scanf. Add stricter C99/SUS compliance ++ by not recognizing 'a' as a modifier when those specs are requested. ++ Implemented by Jakub Jelinek. ++ ++* PPC optimizations to math and string functions. ++ Implemented by Steven Munroe. ++ ++* New interfaces: mkostemp, mkostemp64. Like mkstemp* but allow additional ++ options to be passed. Implemented by Ulrich Drepper. ++ ++* More CPU set manipulation functions. Implemented by Ulrich Drepper. ++ ++* New Linux interfaces: signalfd, eventfd, eventfd_read, and eventfd_write. ++ Implemented by Ulrich Drepper. ++ ++* Handle private futexes in the NPTL implementation. ++ Implemented by Jakub Jelinek and Ulrich Drepper. ++ ++* Add support for O_CLOEXEC. Implement in Hurd. Use throughout libc. ++ Implemented by Roland McGrath and Ulrich Drepper. ++ ++* Linux/x86-64 vDSO support. Implemented by Ulrich Drepper. ++ ++* SHA-256 and SHA-512 based password encryption. ++ Implemented by Ulrich Drepper. ++ ++* New locales: ber_DZ, ber_MA, en_NG, fil_PH, fur_IT, fy_DE, ha_NG, ig_NG, ++ ik_CA, iu_CA, li_BE, li_NL, nds_DE, nds_NL, pap_AN, sc_IT, tk_TM, ug_CN, ++ yo_NG. ++ +++ New iconv modules: MAC-CENTRALEUROPE, ISO-8859-9E, KOI8-RU. ++ Implemented by Ulrich Drepper. ++ ++Version 2.6 ++ ++* The following bugs are resolved with this release: ++ ++ 3156, 3213, 3285, 3291, 3306, 3313, 3320, 3322, 3325, 3326, 3334, 3348, ++ 3352, 3363, 3369, 3426, 3427, 3429, 3451, 3458, 3465, 3480, 3483, 3493, ++ 3514, 3515, 3559, 3632, 3664, 3673, 3674, 3745, 3747, 3818, 3840, 3842, ++ 3851, 3855, 3884, 3885, 3902, 3905, 3919, 3944, 3954, 3955, 3957, 3991, ++ 3995, 3996, 4024, 4040, 4069, 4070, 4074, 4076, 4096, 4101, 4102, 4114, ++ 4130, 4131, 4181, 4276, 4306, 4342, 4344, 4349, 4364, 4368, 4381, 4392, ++ 4403, 4405, 4406, 4411, 4438, 4439, 4455, 4456, 4465, 4512, 4514, 4586, ++ 4702, 4858 ++ ++* New Linux interfaces: epoll_pwait, sched_getcpu. ++ ++* New generic interfaces: strerror_l. ++ ++* nscd can now cache the services database. Implemented by Ulrich Drepper. ++ ++Version 2.5 ++ ++* The following bugs are resolved with this release: ++ ++ 39, 68, 192, 352, 388, 531, 935, 1006, 1201, 1203, 1386, 1782, 1783, 1784, ++ 1785, 1786, 1787, 1951, 1974, 1996, 2072, 2098, 2125, 2134, 2158, 2182, ++ 2349, 2376, 2386, 2389, 2415, 2418, 2420, 2423, 2450, 2451, 2466, 2472, ++ 2473, 2477, 2498, 2499, 2501, 2502, 2505, 2507, 2508, 2509, 2517, 2526, ++ 2569, 2571, 2592, 2611, 2625, 2632, 2644, 2662, 2680, 2683, 2684, 2693, ++ 2695, 2703, 2734, 2751, 2764, 2766, 2775, 2792, 2821, 2823, 2832, 2841, ++ 2843, 2883, 2892, 2908, 2914, 2926, 2961, 2978, 2980, 2987, 2997, 2998, ++ 3013, 3018, 3034, 3040, 3044, 3123, 3124, 3137, 3138, 3143, 3155, 3189, ++ 3225, 3251, 3252, 3253, 3273 ++ ++* For Linux, the sorting of addresses returned by getaddrinfo now also ++ handles rules 3, 4, and 7 from RFC 3484. I.e., all rules are handled. ++ Implemented by Ulrich Drepper. ++ ++* Allow system admin to configure getaddrinfo with the /etc/gai.conf file. ++ Implemented by Ulrich Drepper. ++ ++* New Linux interfaces: splice, tee, sync_file_range, vmsplice. ++ ++* New iconv module for MIK. Contributed by Alexander Shopov. ++ ++* For sites with broken group and/or passwd database, the auto-propagate ++ option of nscd can prevent creating ID lookup entries from the results ++ of a name lookup and vice versa. This usually is no problem but some ++ site might have problems with the default behavior. ++ Implemented by Ulrich Drepper. ++ ++* Iterating over entire database in NIS can be slow. With the ++ SETENT_BATCH_READ option in /etc/default/nss a system admin can decide ++ to trade time for memory. The entire database will be read at once. ++ Implemented by Ulrich Drepper. ++ ++* The interfaces introduced in RFC 3542 have been implemented by ++ Ulrich Drepper. ++ ++* Support for the new ELF hash table format was added by Ulrich Drepper. + - /* - */ - -diff -Nur a/configure b/configure ---- a/configure 2011-12-22 18:00:26.275139344 +0000 -+++ b/configure 2011-12-22 17:59:24.706119348 +0000 -@@ -791,6 +791,7 @@ - enable_all_warnings - enable_multi_arch - enable_nss_crypt -+enable_systemtap - with_cpu - ' - ac_precious_vars='build_alias -@@ -1450,6 +1451,7 @@ - --enable-multi-arch enable single DSO with optimizations for multiple - architectures - --enable-nss-crypt enable libcrypt to use nss -+ --enable-systemtap enable systemtap static probe points [default=no] - - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -3804,6 +3806,51 @@ - fi - - -+# Check whether --enable-systemtap was given. -+if test "${enable_systemtap+set}" = set; then : -+ enableval=$enable_systemtap; systemtap=$enableval -+else -+ systemtap=no -+fi ++* Support for priority inheritance mutexes added by Jakub Jelinek and ++ Ulrich Drepper. + -+if test x$systemtap != xno; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemtap static probe support" >&5 -+$as_echo_n "checking for systemtap static probe support... " >&6; } -+if test "${libc_cv_sdt+set}" = set; then : -+ $as_echo_n "(cached) " >&6 -+else -+ old_CFLAGS="$CFLAGS" -+ CFLAGS="-std=gnu99 $CFLAGS" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include -+void foo (int i, void *p) -+{ -+ asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) "" -+ :: STAP_PROBE_ASM_OPERANDS (2, i, p)); -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ libc_cv_sdt=yes -+else -+ libc_cv_sdt=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ CFLAGS="$old_CFLAGS" -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sdt" >&5 -+$as_echo "$libc_cv_sdt" >&6; } -+ if test $libc_cv_sdt = yes; then -+ $as_echo "#define USE_STAP_PROBE 1" >>confdefs.h ++* Support for priority protected mutexes added by Jakub Jelinek. ++ ++* New locales: nr_ZA, pa_PK, ca_AD, ca_FR, ca_IT, el_CY, tr_CY, as_IN, ++ or_IN, csb_PL, fy_NL, sr_ME. ++ ++Version 2.4 ++ ++* More overflow detection functions. ++ ++* New iconv converters for IBM1025, IBM1122, IBM1137, IBM1153, ++ IBM1154, IBM1155, IBM1156, IBM1157, and IBM1158 contributed by Jiro Sekiba. ++ ++ More converters for IBM803, IBM901, IBM902, IBM921, IBM1008, IBM1097, ++ IBM1112, IBM1123, IBM1130, IBM1140, IBM1141, IBM1142, IBM1143, IBM1144, ++ IBM1145, IBM1146, IBM1147, IBM1148, IBM1149, IBM1166, IBM1167, IBM4517, ++ IBM4899, IBM4909, IBM4971, IBM5347, IBM9030, IBM9066, IBM9448, IBM12712, ++ IBM16804, IBM1364, IBM1371, IBM1388, IBM1390, and IBM1399 contributed ++ by Masahide Washizawa. ++ ++* It is now possible to install audit libraries for the dynamic linker using ++ LD_AUDIT. Implemented by Ulrich Drepper. ++ ++* The LinuxThreads add-on, providing pthreads on Linux 2.4 kernels, is no ++ longer supported. The new NPTL implementation requires Linux 2.6 kernels. ++ For a libc and libpthread that works well on Linux 2.4 kernels, we ++ recommend using the stable 2.3 branch. ++ ++* The new function open_wmemstream acts like open_memstream, ++ but uses a wchar_t wide character buffer. ++ ++* The new function ppoll is an improved version of poll, similar to pselect. ++ ++* New interfaces: fdopendir, openat, fstatat, fchmodat, fchownat, ++ futimesat, faccessat, mkdirat, mkfifoat, mknodat, ++ renameat, unlinkat, linkat, symlinkat, readlinkat. ++ ++* New Linux kernel system calls: unshare, ++ inotify_init, inotify_add_watch, inotify_rm_watch. ++ ++* The euidaccess function is now also known by the alias eaccess, ++ for compatibility with some other systems. ++ ++* Timezone data updated to 2006b version. ++ ++Version 2.3.6 ++ ++* The following bugs are resolved with this release: ++ ++ 38, 253, 549, 622, 653, 721, 758, 851, 877, 915, 934, 955, 961, ++ 1016, 1037, 1076, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, ++ 1087, 1088, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, ++ 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, ++ 1110, 1111, 1112, 1113, 1125, 1137, 1138, 1249, 1250, 1251, 1252, ++ 1253, 1254, 1350, 1358, 1394, 1438, 1498, 1534 ++ ++ Visit for the details of each bug. ++ ++* As of this release, GCC 4 can be used to compile the C Library. ++ ++* Timezone data updated to 2005m version. ++ ++Version 2.3.5 ++ ++* The following bugs are resolved with this release: ++ ++ 284, 592, 602, 626, 633, 640, 650, 661, 671, 681, 693, 700, 710, 719, ++ 722, 723, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, ++ 737, 738, 739, 740, 741, 742, 743, 744, 745, 765, 767, 768, 769, 776, ++ 777, 787, 821, 822, 823, 825 ++ ++ Visit for the details of each bug. ++ ++Version 2.3.4 ++ ++* Support for RFC 3678. Real implementations exist only for Linux so far. ++ Implemented by Ulrich Drepper. ++ ++* nscd can now cache entries persistently. Expiring entries are reloaded. ++ For speedups the cache can be shared in memory with client processes. ++ Implemented by Ulrich Drepper. ++ ++* nscd can now perform SELinux checks. ++ Implemented by Matthew Rickard . ++ ++* getaddrinfo queries are now cached. Canonical name lookup is performed ++ efficiently. ++ Implemented by Ulrich Drepper. ++ ++* The nothrow function attribute is used when headers are used by gcc when ++ compiling C code. This can avoid significant amounts of exception ++ handling data. ++ ++* The malloc functions perform more error checking and are stricter when ++ it comes to reacting on errors. The default action is to terminate ++ the process after showing an error message. Implemented by Ulrich Drepper. ++ ++* Reverse lookups of IPv6 addresses does not use bit string or .ip6.int ++ lookups anymore unless explicitly requested. Implemented by Ulrich Drepper. ++ ++* Namespaces in ld.so are implemented. DSOs can be loaded in separate ++ namespaces using the new function dlmopen(). This feature is of course, ++ like most other dynamic loading functionality, not available in statically ++ linked applications. Implemented by Ulrich Drepper. ++ ++* Low-overhead boundary checking variants of string and some stdio functions ++ were added. These are to be used in conjunction with a gcc patch by ++ Jakub Jelinek which adds calls to these functions if possible. ++ Implemented by Jakub Jelinek and Ulrich Drepper. ++ ++* Old code for several operating systems and machine architectures that ++ have not been in working condition in a long time have been removed from ++ the main source tree maintained by the GNU C Library's maintainers. ++ These files are now reside in the separate `ports' source module ++ that is usable as an add-on when building the library. ++ ++Version 2.3.3 ++ ++* New functions `dladdr1' and `dlinfo' in provide more ways to ++ interrogate the dynamic linker, compatible with the Solaris interface. ++ ++* ELF thread-local storage support (TLS) now works on PowerPC and PowerPC64; ++ implemented by Paul Mackerras, Steven Munroe, and Roland McGrath. ++ ++* getifaddrs now uses the netlink interface on Linux to get its information. ++ Implemented by Thorsten Kukuk. ++ ++* getaddrinfo now implements AI_V4MAPPED, AI_ALL, and AI_ADDRCONF. ++ Implemented by Ulrich Drepper. ++ ++* support for non-executable stacks on x86 has been added. Changes mostly ++ by Roland McGrath. ++ ++* regex is now much faster for multibyte locales. Changes by Jakub Jelinek ++ and Ulrich Drepper. ++ ++* getaddrinfo now performs destination address selection according to ++ RFC 3484. ++ ++Version 2.3.2 ++ ++* Thread-safe interfaces for many functions that access locale data ++ were added in version 2.3, but these features were omitted from NEWS. ++ Many functions have variants with an `_l' suffix that take a `locale_t' ++ object as a parameter rather than consulting the current locale. ++ The new functions `newlocale', `duplocale', and `freelocale' in ++ create and maintain `locale_t' objects. Additionally, the new function ++ `uselocale' sets "the current locale" (as used by functions not so ++ parameterized) set for an individual thread. These features were added ++ in version 2.3, implemented by Ulrich Drepper and Roland McGrath. ++ ++* The functions getresuid, getresgid, setresuid, and setresgid, which ++ have long been available on Linux, are now declared in ++ and are now also available on the Hurd. ++ ++* ELF thread-local storage support (TLS) now works on x86-64. ++ ++* The new dynamic string token $LIB is expanded in shared library names. ++ This normally expands to lib, but on some 64-bit platforms to lib64 instead. ++ ++* Aldy Hernandez contributed complete software floating point support for ++ PowerPC machines with no FPU. ++ ++* fexecve is implemented on Linux. ++ ++* The `btowc' function should work at least twice as fast due to ++ specialized callbacks in the iconv modules. Implemented by Bruno Haible. ++ ++* With approriate thread add-ons cancelable functions are now implemented ++ in libc.so as well. No need to call the function in libpthread. This ++ change allowed to finally disable the incorrect and expensive handling ++ of weak definition in ld.so. ++ ++* Yet more PLT entries in libc.so have been removed. We finally arrived ++ at the bare minimum. Startup times improved appropriately. ++ ++* Support for the new Linux/x86 system call interface was added. The ++ AT_SYSINFO auxiliary vector entry is recognized and handled. ++ ++Version 2.3 ++ ++* Masahide Washizawa contributed iconv modules for IBM1163 and IBM1164 ++ charsets. ++ ++* iconv (the program and the interface) now accepts empty names (excluding ++ options like //TRANSLIT) to mean "use charset of current locale". ++ ++* localedef can now transliterate characters in strings which are not in ++ the provided charmap. The information from the input locale is used. ++ ++* Prelinking support was added for ELF targets. This requires additional ++ tools and recent versions of the GNU binutils. Contributed by Jakub Jelinek. ++ ++* Read-only stdio streams now use mmap to speed up operation by eliminating ++ copying and buffer underflows. To use add 'm' to the mode string of ++ the fopen/fdopen/freopen call. Implemented by Ulrich Drepper. ++ ++* The malloc functions were completely rewritten by Wolfram Gloger based ++ on Doug Lea's malloc-2.7.0.c. ++ ++* Isamu Hasegawa contributed a completely new and POSIX-conformant ++ implementation of regex. ++ ++* Bruno Haible upgraded the iconv and locale implementation to support ++ Unicode 3.2. ++ ++* Contents of the LC_* and LANG environment variables in the CEN style are ++ not recognized anymore. It never was used. Change by Ulrich Drepper. ++ ++* The runtime (ld.so, libc, libpthread for Linux) now can handle the ELF ++ thread-local storage (TLS) ABI on some platforms. ++ Changes by Ulrich Drepper. SH support by Kaz Kojima. ++ ++* Bruno Haible contributed iconv converters for ISO-2022-JP-3, SHIFT JIS-X0213, ++ EUC-JISX0213, and TSCII. ++ ++* New header with functions `getifaddrs' and `freeifaddrs': ++ BSD-compatible interface for getting all network interface addresses. ++ Implementation for IPv4 by Roland McGrath. ++ ++* Loading of locale data is faster due to the introduction of a locale ++ archive. Implemented by Roland McGrath and Ulrich Drepper. ++ ++* Startup times are significantly reduced by not using exported functions ++ inside the library itself. Changes by Jakub Jelinek, Roland McGrath, ++ and Ulrich Drepper. ++ ++* Steven Munroe contributed a port to PowerPC64/Linux. ++ ++Version 2.2.6 ++ ++* The Hurd now uses the GNU libio implementation of stdio rather than the ++ old GNU stdio implementation, and uses a new ABI (libc.so.0.3). ++ ++* The Hurd on x86 now has the `ioperm' function and header file ++ with the same behavior as the Linux system call of the same name. ++ ++Version 2.2.5 ++ ++* Stephen Moshier implemented log2, log10, powl and cbrtl for the ++ 128-bit long double format. ++ ++* Masahide Washizawa contributed iconv modules for IBM1132, IBM1133, IBM1160, ++ IBM1161, and IBM1162 charsets. ++ ++* Andreas Jaeger contributed a port to x86-64/Linux. ++ ++* Peter Bruin contributed a port to PowerPC/Hurd. ++ ++* libc functions using I/O streams now can handle wide-oriented streams ++ as well. ++ ++* optimizations in the dynamic linker. Binaries created by recent binutils ++ versions start up quicker due to reduced time spent on relocations. ++ ++* Support for use of gcc3 added by Jakub Jelinek and HJ Lu. ++ ++Version 2.2.4 ++ ++* Stephen Moshier implemented cosh, expm1, log1p, acos, sinh, tanh, ++ asinh, atanh, j0 for the 128-bit long double format. ++ ++* Bruno Haible updated all the code handling Unicode in some form to ++ support Unicode 3.1. ++ ++* Speed of regex for single-byte locales is back to previous levels. ++ Patch by Isamu Hasegawa. ++ ++* Alpha, SPARC, and IA-64 now also using floating stacks. ++ ++* Startup time of internationalized applications greatly improved through ++ iconv cache. Use iconvconfig to generate the cache file. ++ Contributed by Ulrich Drepper. ++ ++* The IA-64 specific part of ld.so was rewritten to eliminate some pretty ++ severe performance problems. Patch by David Mosberger. ++ ++* The Hurd port got a lot more functionality like AIO, various stdio ++ extensions, etc. Mainly done by Roland McGrath. ++ ++* mtrace can now lookup symbols in shared libraries. ++ ++Version 2.2.3 ++ ++* Intel's IA-64 math library is largely integrated. It provides fast and ++ accurate implementatations for most basic and standard math functions ++ in float, double, and long double format. ++ ++* Stephen Moshier implemented j0, j1, jn, y0, y1, yn, lgamma, erf, erfc, ++ and asin for the 96-bit long double format and asin, log, tan for the ++ 128-bit long double format. ++ ++* The beginning of a last-bit accurate math library by IBM Haifa were added. ++ The basic double functions exist today. Contributed by Abraham Ziv ++ , Moshe Olshansky , Ealan Henis ++ , and Anna Reitman . ++ ++* An asynchronous name lookup library was added. The interface is designed ++ after POSIX AIO. The proposal was circulated beforehand to get comments. ++ No negative ones came in. Implemented by Ulrich Drepper. ++ ++* Port to S390/64bit contributed by Martin Schwidefsky ++ . ++ ++* David Mosberger implemented the setcontext family ++ of functions for Linux/IA-64. ++ ++* The RPC code is now thread safe. Threads can now use the same service ++ of different services at the same time. Patch by Eric Norum ++ with some help by Ulrich Drepper. ++ ++* Martin Schwidefsky implemented the setcontext ++ family of functions for Linux/S390. ++ ++* Ulrich Drepper implemented the setcontext family ++ of functions for Linux/x86. ++ ++* Port to Linux/CRIS contributed by Axis Communications. ++ ++Version 2.2.2 ++ ++* Lots of headers were cleaned up. Using the tool in the conform/ subdir ++ we can now check for namespace violations and missing declarations. The ++ result is that almost all headers are now Unix-compliant (as defined in ++ the upcoming XPG6). The negative side is that some programs might need ++ corrections, too, if they depend on the incorrect form of the headers in ++ previous versions which defined too many symbols and included too many ++ other headers. ++ ++* regex now handles multibyte character sets correctly. ++ Contributed by Isamu Hasegawa . ++ ++* iconv (the program) does now conform to the upcoming XPG6 and handles ++ charmaps. Instead of the charset names the path of charmaps can be ++ provided and the conversion happens based on this data. ++ Contributed by Ulrich Drepper. ++ ++* The locale program now provides detailed information about the installed ++ locales. While ++ ++ locale -a ++ ++ only lists the names of the supported locales ++ ++ locale -a --verbose ++ ++ provides details such as country, language, and codeset name. ++ Contributed by Ulrich Drepper. ++ ++Version 2.2.1 ++ ++* The gencat program now parses the input file according to the charset ++ selected by the LC_CTYPE category. This is important for stateful ++ character sets. To make generating catalogs easier there is a way ++ to overwrite the charset selected by the locale: before the first ++ message or $ quote line the catalog can contain a line like ++ ++ $ codeset=ISO-8859-2 ++ ++ to select the charset (ISO-8859-2 in this case). ++ ++ Implemented by Shinya Hanataka and Ulrich Drepper. ++ ++* New codeset conversion modules: IBM-922 (Estonia PC codeset), ++ IBM-1124 (Ukraine PC codeset), IBM-1129 (Vietnamese PC codeset). ++ Contributed by Masahide Washizawa . ++ ++* Optimized string functions for Alpha ev6 and ev67 by Richard Henderson ++ and Rick Gorton . ++ ++* The LANGUAGE environment variable is now ignored unless the locale is ++ changed from the default "C" locale. ++ ++* The usual bug fixes. ++ ++Version 2.2 ++ ++* Greg McGary added runtime support for bounds checking using gcc's ++ new -fbounded-pointers option. ix86 target is complete. PowerPC ++ is in progress. ++ ++* Thorsten Kukuk added secure mode support to nscd. ++ ++* The Berkeley db libraries have been removed. ++ ++ Related, the nss_db module is now in a separate package since it ++ obviously requires a database library being available. ++ ++* Wide character I/O streams implemented by Ulrich Drepper. ++ ++* Functions from the extended socket API added by Ulrich Drepper. ++ ++* Functions feenableexcept and fedisableexcept to control the ++ behaviour of individual exceptions have been added by Andreas Jaeger. ++ ++* ldconfig program added by Andreas Jaeger and Jakub Jelinek. ++ ++* The resolver code has been updated from bind 8.2.3-T5B which supports ++ threads. The integration was done by Andreas Jaeger, Adam D. Bradley, ++ and Mark Kettenis. ++ ++ This change could in some situations effect backward compatibility. Since ++ now `_res' is a thread-local instead of a global variable, modifying it ++ in one thread does not have any effect in other threads. ++ ++ The resolver library was also extended to allow IPv6 as the transport ++ protocol for the requests. This work was done by Stig Venaas. ++ ++* Compatibility code for K&R C compilers has been removed from the ++ header files. A ISO C compiler is needed to use the library ++ (conforming to either C89 or C99 standard). ++ ++* Complete rewrite of the localedef program to support multibyte character ++ sets. Implement handling of ISO 14651 and ISO 14652. Rewrite strcoll, ++ strxfrm, wcscoll, and wcsxfrm functions. Make isw*() functions work. ++ Implemented by Ulrich Drepper. ++ ++ Bruno Haible significantly improved the generation and use of the data ++ structures for the wide character tables. ++ ++* Plural handling in gettext implemented by Ulrich Drepper. ++ ++* The utmp daemon has been removed. ++ ++* The port to MIPS-Linux has been finished by Andreas Jaeger. ++ ++* A port to Hitachi SH3 and SH4 has been contributed by Kazumoto Kojima ++ and Yutaka Niibe. ++ ++* POSIX clocks and timers implemented by Kaz Kylheku and Ulrich Drepper. ++ ++* POSIX barriers implemented by Kaz Kylheku. ++ ++* POSIX spawn function family implemented by Ulrich Drepper. ++ ++* POSIX spinlocks are now available. ++ ++* Timed wait functions for mutex, rwlock, and semaphores are implemented. ++ ++* the configure option --enable-kernel=X.Y.Z allows to strip out ++ compatibility for kernel versions before X.Y.Z. This is currently only ++ implemented for Linux. ++ ++* the sockaddr_in6 structure changed. The IPv6 working group added a new ++ field sin6_scope_id. This means that all programs using IPv6 should be ++ recompiled. Don't expect binary compatibility with previous glibc ++ versions. ++ ++* various conversion modules for IBM character sets contributed by ++ Masahide Washizawa. ++ ++* IA-64 port by Jes Sorensen and HJ Lu. ++ ++~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++Compiling the GNU C Library for Linux/ia64 ++****************************************** ++ ++ Please refer to the file INSTALL in the same directory as you found ++this file for general information about configuring and compiling ++glibc. ++ ++ For general inquiries about glibc under Linux/ia64 please use the ++following mailing list linux-ia64@linuxia64.org or one of the relevant ++glibc mailing lists. ++ ++Recommended Tools for Compilation ++================================= ++ ++ In order for glibc-2.2 to build correctly on the ia64 you need at ++least the following versions of the GNU tools (the : ++ ++ * The Cygnus toolchain snapshot for the ia64 as of August 4 ++ including the provided set of patches. It is however recommend ++ you use the October 24 toolchain snapshot or a more recent version. ++ ++ OR alternatively you can try the following (the Cygnus toolchain is ++ the recommended solution): ++ ++ * GCC and binutils, GAS and GNU LD out of CVS from ++ sources.redhat.com as of August 28, 2000 or later. The CVS tree ++ may require special patches to work properly on the ia64. ++ ++Configuring and compiling GNU Libc for Linux/ia64 ++================================================= ++ ++ The library requires Linux kernel version 2.4.0-test4-000728 or ++later to funtion properly. Besides that it support for debug libraries ++is currently untested. Hence the following options ++are required for configuring the library: ++ ++ --disable-debug --enable-kernel=2.4.0 ++ ++ It is also important that you make sure the library picks up the ++appropriate kernel header files, if you do not have recent enough ++kernel headers in /usr/src/linux/include, you should use the ++--with-headers= option to specify the location. ++ ++ As an example I personally use the following options to configure ++the library: ++ ++ --disable-debug ++ --disable-cvs ++ --enable-kernel=2.4.0 ++ --host=ia64-linux ++ --enable-add-ons=yes ++ --prefix=/usr ++ --with-headers=/home/jes/linux/include ++ ++ ++Good luck ++ ++Jes Sorensen , ++November 14th, 2000 ++~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++ ++Version 2.1.3 ++ ++* bug fixes ++ ++ ++Version 2.1.2 ++ ++* bug fixes ++ ++ ++Version 2.1.1 ++ ++* New ISO C 9x function _Exit, imaxabs, and imaxdiv are added. ++ ++* New xdr functions are added; some rpc functions are now 64bit clean. ++ ++* Fixed a number of bugs and memory leaks (especially in NIS+ code). ++ ++* Fixed known incompatibilities with glibc 2.0. ++ ++* New functions lock64, strchrnul, rawmemchr, getutmp and getutmpx. ++ ++* Optimized a number of functions (especially the ELF dynamic loader). ++ ++* Update timezone data files. ++ ++* lots of charmaps corrections ++ ++* some new locale definitions and charmaps ++ ++ ++Version 2.1 ++ ++* Richard Henderson corrected size of struct timeval on Linux/Alpha to ++ conform to POSIX member type requirements. Symbol versions have been ++ adjusted as needed within the library, and for direct use by applications, ++ but there is potential for problems if third-party libraries use ++ struct timeval as part of their interface. This does not present ++ a problem for X and other "essential" system libraries. ++ ++* An additional locale model to support C++ Standard Library locale ++ model and probably more was implemented by Ulrich Drepper. ++ ++* Eric Youngdale and Ulrich Drepper implemented versioning of objects on ++ symbol level. ++ ++* Miles Bader provided the `argp' function family to support hierachical ++ command line argument parsing, layered on top of getopt. ++ ++* strtod accepts new hexadecimal floating-point format from ISO C 9X. ++ ++* printf has two new specifiers %a and %A to print hexadecimal flaoting-point ++ numbers. ++ ++* scanf recognizes the %a and %A format for scanning floating point numbers. ++ ++* the new headers and from ISO C 9X provides ++ information and interfaces for the available integer types. ++ ++* about 130 new math functions were added to implement the ISO C9x math ++ library. ++ ++* the new header contains definitions of the complex math ++ functions from ISO C 9X. ++ ++* the new header defines generic macros to use complex or ++ real valued functions. ++ ++* Thorsten Kukuk provided an implementation for NIS+, securelevel 0, 1 and 2. ++ ++* Andreas Jaeger provided a test suite for the math library. ++ ++* Mark Kettenis implemented the utmpx interface and an utmp daemon. ++ ++* Ulrich Drepper added character set conversion functions (iconv). ++ ++* Optimized string functions have been added. ++ ++* The localedata addon is now part of glibc. ++ ++* An implementation of profiling shared libraries was added by Ulrich Drepper. ++ ++* Thorsten Kukuk and Ulrich Drepper provided an implementation for a caching ++ daemon for NSS (nscd). ++ ++ Missing a better place here are some numbers on improvements. Under ++ Linux 2.1.125 un-tar-ing the kernel sources takes ++ ++ user system wall ++ ++ using local files 12.19s 6.88s 22.91s ++ ++ using NIS 13.92s 8.91s 26.34s ++ ++ using NIS & nscd 10.37s 7.34s 25.30s ++ ++ using NIS+ 27.57s 30.37s 640.46s ++ ++ using NIS+ & nscd 10.25s 7.83s 26.51s ++ ++ using NIS & old nscd [1] 13.83s 8.32s 29.60s ++ ++ Keep in mind that non-namelookup related operations dominate above times. ++ It was just a common complain that using NIS+ unpacking the kernel is ++ horribly slow. ++ ++ [1] The old nscd implementation is not available anymore since it was ++ distributed with glibc up to version 2.0.98 and thus is now replaced. ++ ++* Tim Waugh provided an implementation of the POSIX.2 wordexp function family. ++ ++* Mark Kettenis provided a Hesiod NSS module. ++ ++* The ELF dynamic loader knows how to process dynamic string tokens ($ORIGIN ++ and $PLATFORM) in RPATHs and similar strings (Ulrich Drepper). ++ ++* rcmd can now handle netgroups (Dick Streefland). ++ ++* A port to the ARM was contributed by Phil Blundell, Pat Beirne and Scott ++ Bambrough. ++ ++* Support for the IPv6 protocol has been added to the socket API, as per the ++ latest draft standards. ++ ++* Support for Linux 2.2 has been added. ++ ++* Interface changes relative to the latest 2.0.x release: ++~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++addseverity NEW: Unix98 ++alphasort64 NEW: LFS ++argp_err_exit_status NEW: argp, GNU ext ++argp_error NEW: argp, GNU ext ++argp_failure NEW: argp, GNU ext ++argp_help NEW: argp, GNU ext ++argp_parse NEW: argp, GNU ext ++argp_program_bug_address NEW: argp, GNU ext ++argp_program_version NEW: argp, GNU ext ++argp_program_version_hook NEW: argp, GNU ext ++argp_state_help NEW: argp, GNU ext ++argp_usage NEW: argp, GNU ext ++authdes_create NEW: Secure RPC ++authdes_getucred NEW: Secure RPC ++authdes_pk_create NEW: Secure RPC ++backtrace NEW: GNU ext. ++backtrace_symbols NEW: GNU ext. ++backtrace_symbols_fd NEW: GNU ext. ++cacos NEW: ISO C 9x ++cacosf NEW: ISO C 9x ++cacosh NEW: ISO C 9x ++cacoshf NEW: ISO C 9x ++cacoshl NEW: ISO C 9x ++cacosl NEW: ISO C 9x ++capget NEW: kernel ++capset NEW: kernel ++carg NEW: ISO C 9x ++cargf NEW: ISO C 9x ++cargl NEW: ISO C 9x ++casin NEW: ISO C 9x ++casinf NEW: ISO C 9x ++casinh NEW: ISO C 9x ++casinhf NEW: ISO C 9x ++casinhl NEW: ISO C 9x ++casinl NEW: ISO C 9x ++catan NEW: ISO C 9x ++catanf NEW: ISO C 9x ++catanh NEW: ISO C 9x ++catanhf NEW: ISO C 9x ++catanhl NEW: ISO C 9x ++catanl NEW: ISO C 9x ++cbc_crypt NEW: Secure RPC ++ccos NEW: ISO C 9x ++ccosf NEW: ISO C 9x ++ccosh NEW: ISO C 9x ++ccoshf NEW: ISO C 9x ++ccoshl NEW: ISO C 9x ++ccosl NEW: ISO C 9x ++cexp NEW: ISO C 9x ++cexpf NEW: ISO C 9x ++cexpl NEW: ISO C 9x ++cimag NEW: ISO C 9x ++cimagf NEW: ISO C 9x ++cimagl NEW: ISO C 9x ++clearerr_locked REMOVED ++clntunix_create NEW: sunrpc ext ++clog NEW: ISO C 9x ++clog10 NEW: ISO C 9x ++clog10f NEW: ISO C 9x ++clog10l NEW: ISO C 9x ++clogf NEW: ISO C 9x ++clogl NEW: ISO C 9x ++conj NEW: ISO C 9x ++conjf NEW: ISO C 9x ++conjl NEW: ISO C 9x ++cpow NEW: ISO C 9x ++cpowf NEW: ISO C 9x ++cpowl NEW: ISO C 9x ++cproj NEW: ISO C 9x ++cprojf NEW: ISO C 9x ++cprojl NEW: ISO C 9x ++creal NEW: ISO C 9x ++crealf NEW: ISO C 9x ++creall NEW: ISO C 9x ++creat64 NEW: LFS ++csin NEW: ISO C 9x ++csinf NEW: ISO C 9x ++csinh NEW: ISO C 9x ++csinhf NEW: ISO C 9x ++csinhl NEW: ISO C 9x ++csinl NEW: ISO C 9x ++csqrt NEW: ISO C 9x ++csqrtf NEW: ISO C 9x ++csqrtl NEW: ISO C 9x ++ctan NEW: ISO C 9x ++ctanf NEW: ISO C 9x ++ctanh NEW: ISO C 9x ++ctanhf NEW: ISO C 9x ++ctanhl NEW: ISO C 9x ++ctanl NEW: ISO C 9x ++des_setparity NEW: Secure RPC ++ecb_crypt NEW: Secure RPC ++endutxent NEW: Unix98 ++exp10 NEW: ISO C 9x ++exp10f NEW: ISO C 9x ++exp10l NEW: ISO C 9x ++exp2 NEW: ISO C 9x ++exp2f NEW: ISO C 9x ++exp2l NEW: ISO C 9x ++fattach NEW: STREAMS ++fdetach NEW: STREAMS ++fdim NEW: ISO C 9x ++fdimf NEW: ISO C 9x ++fdiml NEW: ISO C 9x ++feclearexcept NEW: ISO C 9x ++fegetenv NEW: ISO C 9x ++fegetexceptflag NEW: ISO C 9x ++fegetround NEW: ISO C 9x ++feholdexcept NEW: ISO C 9x ++feof_locked REMOVED ++feraiseexcept NEW: ISO C 9x ++ferror_locked REMOVED ++fesetenv NEW: ISO C 9x ++fesetexceptflag NEW: ISO C 9x ++fesetround NEW: ISO C 9x ++fetestexcept NEW: ISO C 9x ++feupdateenv NEW: ISO C 9x ++fflush_locked REMOVED ++ffsl NEW: GNU ext. ++ffsll NEW: GNU ext. ++fgetpos64 NEW: LFS ++fgets_unlocked NEW: GNU ext. ++fileno_locked REMOVED ++fma NEW: ISO C 9x ++fmaf NEW: ISO C 9x ++fmal NEW: ISO C 9x ++fmax NEW: ISO C 9x ++fmaxf NEW: ISO C 9x ++fmaxl NEW: ISO C 9x ++fmin NEW: ISO C 9x ++fminf NEW: ISO C 9x ++fminl NEW: ISO C 9x ++fmtmsg NEW: Unix98 ++fopen64 NEW: LFS ++fputc_locked REMOVED ++fputs_unlocked NEW: GNU ext. ++fread_unlocked NEW: GNU ext. ++freopen64 NEW: LFS ++fseeko NEW: Unix98 ++fsetpos64 NEW: LFS ++fstatfs64 NEW: LFS ++fstatvfs NEW: Unix98 ++fstatvfs64 NEW: LFS ++ftello NEW: Unix98 ++ftello64 NEW: LFS ++ftruncate64 NEW: LFS ++ftw64 NEW: LFS ++fwrite_unlocked NEW: GNU ext. ++gai_strerror NEW: IPv6 ++gamma_r REMOVED ++gammaf_r REMOVED ++gammal_r REMOVED ++getchar_locked REMOVED ++getdate NEW: Unix98 ++getdate_err NEW: Unix98 ++getdate_r NEW: GNU ext. ++getmsg NEW: STREAMS ++getnameinfo NEW: IPv6 ++getnetname NEW: Secure RPC ++getpmsg NEW: STREAMS ++getpt NEW: Unix98 PTY ++getrlimit64 NEW: LFS ++getutxent NEW: Unix98 ++getutxid NEW: Unix98 ++getutxline NEW: Unix98 ++glob64 NEW: GNU ext. ++globfree64 NEW: GNU ext. ++gnu_get_libc_release NEW: GNU ext. ++gnu_get_libc_version NEW: GNU ext. ++grantpt NEW: Unix98 PTY ++host2netname NEW: Secure RPC ++iconv NEW: iconv ++iconv_close NEW: iconv ++iconv_open NEW: iconv ++if_freenameindex NEW: IPv6 ++if_indextoname NEW: IPv6 ++if_nameindex NEW: IPv6 ++if_nametoindex NEW: IPv6 ++in6addr_any NEW: IPv6 ++in6addr_loopback NEW: IPv6 ++inet6_isipv4mapped NEW: IPv6 ++isastream NEW: STREAMS ++iswblank NEW: GNU ext. ++key_decryptsession NEW: Secure RPC ++key_decryptsession_pk NEW: Secure RPC ++key_encryptsession NEW: Secure RPC ++key_encryptsession_pk NEW: Secure RPC ++key_gendes NEW: Secure RPC ++key_get_conv NEW: Secure RPC ++key_secretkey_is_set NEW: Secure RPC ++key_setnet NEW: Secure RPC ++key_setsecret NEW: Secure RPC ++llrint NEW: ISO C 9x ++llrintf NEW: ISO C 9x ++llrintl NEW: ISO C 9x ++llround NEW: ISO C 9x ++llroundf NEW: ISO C 9x ++llroundl NEW: ISO C 9x ++log2 NEW: ISO C 9x ++log2f NEW: ISO C 9x ++log2l NEW: ISO C 9x ++lrint NEW: ISO C 9x ++lrintf NEW: ISO C 9x ++lrintl NEW: ISO C 9x ++lround NEW: ISO C 9x ++lroundf NEW: ISO C 9x ++lroundl NEW: ISO C 9x ++lseek64 NEW: LFS ++makecontext NEW: Unix98 ++mempcpy NEW: GNU ext. ++mmap64 NEW: LFS ++moncontrol REMOVED ++modify_ldt NEW: kernel ++nan NEW: ISO C 9x ++nanf NEW: ISO C 9x ++nanl NEW: ISO C 9x ++nearbyint NEW: ISO C 9x ++nearbyintf NEW: ISO C 9x ++nearbyintl NEW: ISO C 9x ++netname2host NEW: Secure RPC ++netname2user NEW: Secure RPC ++nexttoward NEW: ISO C 9x ++nexttowardf NEW: ISO C 9x ++nexttowardl NEW: ISO C 9x ++nftw NEW: Unix98 ++nftw64 NEW: LFS ++open64 NEW: LFS ++passwd2des NEW: Secure RPC ++pow10 NEW: GNU ext. ++pow10f NEW: GNU ext. ++pow10l NEW: GNU ext. ++pread NEW: Unix98 ++pread64 NEW: LFS ++printf_size NEW: GNU ext. ++printf_size_info NEW: GNU ext. ++profil_counter REMOVED ++pthread_mutexattr_getkind_np REPLACED ++pthread_mutexattr_setkind_np REPLACED ++ptsname NEW: Unix98 PTY ++ptsname_r NEW: Unix98 PTY ++putc_locked REMOVED ++putchar_locked REMOVED ++putgrent NEW: GNU ext. ++putmsg NEW: STREAMS ++putpmsg NEW: STREAMS ++pututxline NEW: Unix98 ++pwrite NEW: Unix98 ++pwrite64 NEW: LFS ++readdir64 NEW: LFS ++readdir64_r NEW: LFS ++remquo NEW: ISO C 9x ++remquof NEW: ISO C 9x ++remquol NEW: ISO C 9x ++round NEW: ISO C 9x ++roundf NEW: ISO C 9x ++roundl NEW: ISO C 9x ++rtime NEW: GNU ext. ++scalbln NEW: ISO C 9x ++scalblnf NEW: ISO C 9x ++scalblnl NEW: ISO C 9x ++scandir64 NEW: LFS ++sendfile NEW: kernel ++setcontext NEW: Unix98 ++setrlimit64 NEW: LFS ++setutxent NEW: Unix98 ++sighold NEW: Unix98 ++sigignore NEW: Unix98 ++sigqueue NEW: POSIX.1b ++sigrelse NEW: Unix98 ++sigset NEW: POSIX.1b ++sigtimedwait NEW: POSIX.1b ++sigwaitinfo NEW: POSIX.1b ++sincos NEW: GNU ext. ++sincosf NEW: GNU ext. ++sincosl NEW: GNU ext. ++statfs64 NEW: LFS ++statvfs NEW: Unix98 ++statvfs64 NEW: LFS ++strcasestr NEW: GNU ext. ++strtoimax NEW: ISO C 9x ++strtoumax NEW: ISO C 9x ++strverscmp NEW: GNU ext. ++svcauthdes_stats NEW: Secure RPC ++svcunix_create NEW: sunrpc etx ++svcunixfd_create NEW: sunrpc ext ++swapcontext NEW: Unix98 ++tcgetsid NEW: Unix98 PTY ++tdestroy NEW: GNU ext. ++tgamma NEW: ISO C 9x ++tgammaf NEW: ISO C 9x ++tgammal NEW: ISO C 9x ++tmpfile64 NEW: LFS ++trunc NEW: ISO C 9x ++truncate64 NEW: LFS ++truncf NEW: ISO C 9x ++truncl NEW: ISO C 9x ++umount2 NEW: kernel ++unlockpt NEW: Unix98 PTY ++updwtmpx NEW: Unix98 ++user2netname NEW: Secure RPC ++utmpxname NEW: Unix98 ++versionsort NEW: GNU ext. ++versionsort64 NEW: GNU ext. ++waitid NEW: Unix98 ++wcscasecmp NEW: GNU ext. ++wcsncasecmp NEW: GNU ext. ++wcsnlen NEW: GNU ext. ++wcstoimax NEW: ISO C 9x ++wcstoll NEW: ISO C 9x ++wcstoull NEW: ISO C 9x ++wcstoumax NEW: ISO C 9x ++wcswcs NEW: Unix98 ++wordexp NEW: POSIX.2 ++wordfree NEW: POSIX.2 ++write_profiling REMOVED ++xdecrypt NEW: Secure RPC ++xdr_authdes_cred NEW: Secure RPC ++xdr_authdes_verf NEW: Secure RPC ++xdr_cryptkeyarg NEW: Secure RPC ++xdr_cryptkeyarg2 NEW: Secure RPC ++xdr_cryptkeyres NEW: Secure RPC ++xdr_getcredres NEW: Secure RPC ++xdr_key_netstarg NEW: Secure RPC ++xdr_key_netstres NEW: Secure RPC ++xdr_keybuf NEW: Secure RPC ++xdr_keystatus NEW: Secure RPC ++xdr_netnamestr NEW: Secure RPC ++xdr_sizeof NEW: Secure RPC ++xdr_unixcred NEW: sunrpc ext ++xencrypt NEW: Secure RPC ++~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ++ ++Version 2.0.6 ++ ++* more bug fixes ++ ++ ++Version 2.0.5 ++ ++* more bug fixes ++ ++* inet_ntoa is thread-safe ++ ++* updwtmp is moved from libutil to libc ++ ++* rewrite of cbrt function ++ ++* update of timezone data ++ ++Version 2.0.4 ++ ++* more bug fixes ++ ++Version 2.0.3 ++ ++* more bug fixes ++ ++Version 2.0.2 ++ ++* more bug fixes ++ ++* add atoll function ++ ++* fix complex problems in Berkeley DB code ++ ++* fix math functions ++ ++Version 2.0.1 ++ ++* fixed lots of header problems (especially Linux/GNU specific) ++ ++* dynamic loader preserves all registers ++ ++* Roland McGrath provided support for handling of auxiliary objects in ++ the ELF dynamic loader. ++ ++* support for parallel builds is improved ++ ++Version 2.0 ++ ++* GNU extensions are no longer declared by default. To enable them you ++ must define the macro `_GNU_SOURCE' in your program or compile with ++ `-D_GNU_SOURCE'. ++ ++* The library has changed from using GNU ld symbol aliases to using weak ++ symbols where available. The ELF object file format supports weak ++ symbols; GNU ld also supports weak symbols in the a.out format. (There ++ is also now support for other GNU ld extensions in ELF. Use the ++ `--with-elf' option to configure to indicate you have ELF, and ++ `--with-gnu-ld' if using GNU ld.) This change resulted in the deletion ++ of many files which contained only symbol aliases, reducing the size of ++ the source and the compiled library; many other files were renamed to ++ less cryptic names previously occupied by the symbol alias files. ++ There is a new header file for programs which operate on ++ files in the ELF format. ++ ++* Converted to Autoconf version 2, so `configure' has more options. ++ Run `configure --help' to see the details. ++ ++* The library can now be configured to build profiling, highly-optimized ++ (but undebuggable), and/or shared libraries (ELF with GNU ld only). The ++ `--enable-profile', `--enable-omitfp', and `--enable-shared' options to ++ `configure' enable building these extra libraries. The shared library is ++ built by default when using both ELF and GNU ld. When shared libraries ++ are enabled, the new library `-ldl' is available for arbitrary run-time ++ loading of shared objects; its interface is defined in . The ++ new header file gives access to the internals of the run-time ++ dynamic linker, `ld.so'. The shell script `ldd' is similar to the ++ application of same name on other systems and it provides information ++ about dynamically linked binaries. ++ ++* The C library now provides the run-time support code for profiling ++ executables compiled with `-pg'. Programs can control the profiling code ++ through the interface in . The `gmon.out' files written by ++ the GNU C library can be read only by GNU `gprof' (from GNU binutils); ++ the support for this file format was contributed by David Mosberger-Tang. ++ ++* The math code has been replaced with a math library based on fdlibm from ++ Sun, and modified by JT Conklin and Ulrich Drepper with i387 support, by ++ Ian Taylor with `float' functions and by Ulrich Drepper with `long double' ++ functions. The math functions now reside in a separate library, so ++ programs using them will need to use `-lm' their linking commands. ++ ++* John C. Bowman contributed optimized ix87 assembler inline functions. ++ ++* Ulrich Drepper has contributed support for an `/etc/nsswitch.conf' ++ mechanism similar to that found in Solaris 2. This is now used for the ++ group, passwd, hosts, networks, services, protocols, rpc, ethers, ++ shadow, netgroup, publickey, and alias databases. The `nsswitch.conf' ++ file controls what services are used for each individual database. This ++ works by loading shared libraries with names specified in `nsswitch.conf', ++ so service modules can be changed or added at any time without even ++ relinking any program. Currently there are the file, db, and NIS based ++ NSS services available. ++ ++* The new functions `strtoq' and `strtouq' parse integer values from ++ strings, like `strtol' and `strtoul', but they return `long long int' and ++ `unsigned long long int' values, respectively (64-bit quantities). ++ ++* The new functions `strtof' and `strtold' parse floating-point values from ++ strings, like `strtod', but they return `float' and `long double' values, ++ respectively (on some machines `double' and `long double' are the same). ++ ++* Ulrich Drepper has contributed new implementations of the floating-point ++ printing and reading code used in the `printf' family of functions and ++ `strtod', `strtof', and `strtold'. These new functions are perfectly ++ accurate, and much faster than the old ones. ++ ++* The implementation of the POSIX locale model was completely rewritten by ++ Ulrich Drepper. This includes the new programs `localedef' and `locale' ++ to compile the POSIX locale definition. ++ ++* The former dummy implementations of the strcoll and strxfrm function are ++ now replaced by fully functional code contributed by Ulrich Drepper. The ++ collation information comes from the POSIX locale definitions. ++ ++* The new header defines an interface for accessing ++ various locale-dependent data (using the locale chosen with `setlocale'). ++ ++* Ulrich Drepper has contributed a new suite of functions for operation on ++ wide-character and multibyte-character strings, in ; ++ and classification and case conversion of wide characters, in . ++ These new functions are conforming to the ISO C, Amendement 1 specification. ++ ++* There is now a second implementation of the standard I/O library available. ++ It comes from GNU libg++ as was written by Per Bothner, heavily modified ++ by Hongjiu Lu and made thread safe by Ulrich Drepper. ++ ++* You can now use positional parameter specifications in format strings ++ for the `printf' and `scanf' families of functions. For example, ++ `printf ("Number %2$d, Mr %1$s\n", "Jones", 6);'' prints ++ ``Number 6, Mr Jones''. This is mainly useful when providing different ++ format strings for different languages, whose grammars may dictate ++ different orderings of the values being printed. To support this ++ feature, the interface for `register_printf_handler' has changed; see ++ the header file for details. ++ ++* The `printf' and `scanf' families of functions now understand a new ++ formatting flag for numeric conversions: the ' flag (e.g. %'d or %'f) says ++ to group numbers as indicated by the locale; for `scanf' and friends, this ++ says to accept as valid only a number with all the proper grouping ++ separators in the right places. In the default "C" locale, numbers are ++ not grouped; but locales for specific countries will define the usual ++ conventions (i.e. separate thousands with `,' in the US locale). ++ ++* The pgrp functions have been regularized, slightly incompatibly but much ++ less confusingly. The core functions are now `getpgid' and `setpgid', ++ which take arguments for the PID to operate on; the POSIX.1 `getpgrp' (no ++ argument) and BSD `setpgrp' (identical to `setpgid') functions are ++ provided for compatibility. There is no longer an incompatible `getpgrp' ++ with an argument declared under _BSD_SOURCE; no BSD code uses it. ++ ++* The new header file and suite of functions simplify programs that ++ operate on directory trees. This code comes from 4.4 BSD. ++ ++* The resolver code has been updated from the BIND 4.9.5-P1 release. ++ Parts of the code were heavily modified by Ulrich Drepper to fit in the ++ NSS scheme used in glibc. ++ ++* There is a new malloc debugging hook `__memalign_hook'. ++ ++* There are new typedefs `ushort' for `unsigned short int' and `uint' for ++ `unsigned int' in . These are for compatibility only and ++ their use is discouraged. ++ ++* The `-lmcheck' library to enable standard malloc debugging hooks is now ++ done differently, so that it works even without GNU ld. ++ ++* New function `euidaccess' checks allowed access to a file like `access', ++ but using the effective IDs instead of the real IDs. ++ ++* The time zone data files have been updated for the latest and greatest ++ local time conventions of the countries of the world. ++ ++* The new function `dirfd' extracts the file descriptor used by a DIR stream; ++ see . ++ ++* The new functions `ecvt', `fcvt', and `gcvt' provide an obsolete interface ++ for formatting floating-point numbers. They are provided only for ++ compatibility; new programs should use `sprintf' instead. There are ++ also equivalent function for the `long double' floating-point type and ++ all functions also exist in a reentrant form. ++ ++* The new auxiliary library `-lutil' from 4.4 BSD contains various ++ functions for maintaining the login-record files (primarily of use to ++ system programs such as `login'), and convenient functions for ++ allocating and initializing a pseudo-terminal (pty) device. ++ ++* Ulrich Drepper has contributed new support for System V style ++ shared memory and IPC on systems that support it. ++ ++* Ulrich Drepper has contributed several miscellaneous new functions found ++ in System V: The `hsearch' family of functions provide an effective ++ implementation of hash tables; `a64l' and `l64a' provide a very simple ++ binary to ASCII mapping; `drand48' and friends provide a 48-bit random ++ number generator. ++ ++* Ulrich Drepper has contributed new reentrant counterparts for the ++ `random' and `hsearch' families of functions; `random_r', `hsearch_r', etc. ++ ++* Ulrich Drepper has contributed new, highly-optimized versions of several ++ string functions for the i486/Pentium family of processors. ++ ++* Ulrich Drepper has updated the Linux-specific code, based largely ++ on work done in Hongjiu Lu's version of GNU libc for Linux. ++ The GNU library now supports Linux versions 2.0.10 and later, ++ using the ELF object file format (i[3456]86-*-linux). ++ ++* Andreas Schwab has ported the C library to Linux/m68k (m68k-*-linux). ++ ++* David Mosberger-Tang and Richard Henderson have ported the C library ++ to Linux/Alpha (alpha-*-linux). Richard Henderson contributed the ++ dynamic linking support for ELF/Alpha. ++ ++* Richard Henderson contributed several Alpha optimized assembler function ++ for arithmetic and string handling. ++ ++* Ulrich Drepper has contributed a new set of message catalog functions to ++ support multiple languages using the interface, for use with ++ his new package GNU gettext. Translation volunteers have contributed ++ catalogs of the library's messages in Spanish, German, and Korean. ++ ++* For compatibility with XPG4, Ulrich Drepper has contributed the `gencat' ++ program and the `catgets' function for reading the catalog files it ++ creates. (The interface is preferred; we include the ++ interface using `catgets' only for source compatibility with ++ programs already written to use it.) ++ ++* New header file gives SVID-compatible names for ++ constants. ++ ++* Various new macros, declarations, and small header files for compatibility ++ with 4.4 BSD. ++ ++* New function `group_member' is a convenient way to check if a process has ++ a given effective group ID. ++ ++* When using GCC 2.7 and later, the socket functions are now declared in a ++ special way so that passing an argument of type `struct sockaddr_in *', ++ `struct sockaddr_ns *', or `struct sockaddr_un *' instead of the generic ++ `struct sockaddr *' type, does not generate a type-clash warning. + -+ else -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "systemtap support needs sys/sdt.h with asm support -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+fi ++* New function `error' declared in header file is a convenient ++ function for printing error messages and optionally exiting; this is the ++ canonical function used in GNU programs. The new functions `err', `warn', ++ and friends in header file are the canonical 4.4 BSD interface for ++ doing the same thing. + - # The way shlib-versions is used to generate soversions.mk uses a - # fairly simplistic model for name recognition that can't distinguish - # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os -diff -Nur a/configure.in b/configure.in ---- a/configure.in 2011-12-22 16:50:52.000000000 +0000 -+++ b/configure.in 2011-12-22 17:59:24.555119299 +0000 -@@ -290,6 +290,29 @@ - fi - AC_SUBST(libc_cv_nss_crypt) - -+AC_ARG_ENABLE([systemtap], -+ [AS_HELP_STRING([--enable-systemtap], -+ [enable systemtap static probe points @<:@default=no@:>@])], -+ [systemtap=$enableval], -+ [systemtap=no]) -+if test x$systemtap != xno; then -+ AC_CACHE_CHECK([for systemtap static probe support], libc_cv_sdt, [dnl -+ old_CFLAGS="$CFLAGS" -+ CFLAGS="-std=gnu99 $CFLAGS" -+ AC_COMPILE_IFELSE([#include -+void foo (int i, void *p) -+{ -+ asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) "" -+ :: STAP_PROBE_ASM_OPERANDS (2, i, p)); -+}], [libc_cv_sdt=yes], [libc_cv_sdt=no]) -+ CFLAGS="$old_CFLAGS"]) -+ if test $libc_cv_sdt = yes; then -+ AC_DEFINE([USE_STAP_PROBE]) -+ else -+ AC_MSG_FAILURE([systemtap support needs sys/sdt.h with asm support]) -+ fi -+fi ++* The interface has several new flags from 4.4 BSD that extend the ++ POSIX.2 `glob' function to do ~ and {...} expansion. + - # The way shlib-versions is used to generate soversions.mk uses a - # fairly simplistic model for name recognition that can't distinguish - # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os -diff -Nur a/csu/Makefile b/csu/Makefile ---- a/csu/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/csu/Makefile 2011-12-22 17:59:24.556119299 +0000 -@@ -93,7 +93,8 @@ - $(crtstuff:%=$(objpfx)%.o): %.o: %.S $(objpfx)defs.h - $(compile.S) -g0 $(ASFLAGS-.os) -o $@ - --CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) -+CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) \ -+ -fno-asynchronous-unwind-tables - - vpath initfini.c $(sysdirs) - -diff -Nur a/csu/elf-init.c b/csu/elf-init.c ---- a/csu/elf-init.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/csu/elf-init.c 2011-12-22 17:59:24.557119299 +0000 -@@ -64,6 +64,23 @@ - extern void (*__fini_array_start []) (void) attribute_hidden; - extern void (*__fini_array_end []) (void) attribute_hidden; - -+#if defined HAVE_VISIBILITY_ATTRIBUTE \ -+ && (defined SHARED || defined LIBC_NONSHARED) -+# define hidden_undef_2(x) #x -+# define hidden_undef_1(x) hidden_undef_2 (x) -+# define hidden_undef(x) \ -+ __asm (hidden_undef_1 (ASM_GLOBAL_DIRECTIVE) " " #x); \ -+ __asm (".hidden " #x); -+#else -+# define hidden_undef(x) -+#endif -+ -+hidden_undef (__preinit_array_start) -+hidden_undef (__preinit_array_end) -+hidden_undef (__init_array_start) -+hidden_undef (__init_array_end) -+hidden_undef (__fini_array_start) -+hidden_undef (__fini_array_end) - - /* These function symbols are provided for the .init/.fini section entry - points automagically by the linker. */ -diff -Nur a/debug/tst-chk1.c b/debug/tst-chk1.c ---- a/debug/tst-chk1.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/debug/tst-chk1.c 2011-12-22 17:59:24.557119299 +0000 -@@ -17,6 +17,9 @@ - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -+/* Hack: make sure GCC doesn't know __chk_fail () will not return. */ -+#define __noreturn__ -+ - #include - #include - #include -@@ -243,7 +246,7 @@ - if (memcmp (a.buf1, "aabcdabcjj", 10)) - FAIL (); - --#if __USE_FORTIFY_LEVEL < 2 -+#if __USE_FORTIFY_LEVEL < 2 || !__GNUC_PREREQ (4, 0) - /* The following tests are supposed to crash with -D_FORTIFY_SOURCE=2 - and sufficient GCC support, as the string operations overflow - from a.buf1 into a.buf2. */ -@@ -358,7 +361,7 @@ - memset (a.buf1 + 9, 'j', l0 + 2); - CHK_FAIL_END - --# if __USE_FORTIFY_LEVEL >= 2 -+# if __USE_FORTIFY_LEVEL >= 2 && __GNUC_PREREQ (4, 0) - # define O 0 - # else - # define O 1 -diff -Nur a/elf/Makefile b/elf/Makefile ---- a/elf/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/Makefile 2011-12-22 17:59:24.558119299 +0000 -@@ -135,6 +135,7 @@ - ifeq ($(unwind-find-fde),yes) - routines += unwind-dw2-fde-glibc - shared-only-routines += unwind-dw2-fde-glibc -+CFLAGS-unwind-dw2-fde-glibc.c += -fno-strict-aliasing - endif - - before-compile = $(objpfx)trusted-dirs.h -@@ -505,7 +506,8 @@ - CFLAGS-dl-cache.c = $(SYSCONF-FLAGS) - CFLAGS-cache.c = $(SYSCONF-FLAGS) - --CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),-DNOT_IN_libc=1 -DIS_IN_rtld=1) -+CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\ -+ -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld) - - test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names)))) - generated += $(addsuffix .so,$(strip $(modules-names))) -diff -Nur a/elf/dl-close.c b/elf/dl-close.c ---- a/elf/dl-close.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/dl-close.c 2011-12-22 17:59:24.559119299 +0000 -@@ -119,17 +119,8 @@ - if (map->l_direct_opencount > 0 || map->l_type != lt_loaded - || dl_close_state != not_pending) - { -- if (map->l_direct_opencount == 0) -- { -- if (map->l_type == lt_loaded) -- dl_close_state = rerun; -- else if (map->l_type == lt_library) -- { -- struct link_map **oldp = map->l_initfini; -- map->l_initfini = map->l_orig_initfini; -- _dl_scope_free (oldp); -- } -- } -+ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded) -+ dl_close_state = rerun; - - /* There are still references to this object. Do nothing more. */ - if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) -diff -Nur a/elf/dl-deps.c b/elf/dl-deps.c ---- a/elf/dl-deps.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/dl-deps.c 2011-12-22 17:59:24.559119299 +0000 -@@ -489,6 +489,7 @@ - nneeded * sizeof needed[0]); - atomic_write_barrier (); - l->l_initfini = l_initfini; -+ l->l_free_initfini = 1; - } - - /* If we have no auxiliary objects just go on to the next map. */ -@@ -689,6 +690,7 @@ - l_initfini[nlist] = NULL; - atomic_write_barrier (); - map->l_initfini = l_initfini; -+ map->l_free_initfini = 1; - if (l_reldeps != NULL) - { - atomic_write_barrier (); -@@ -697,7 +699,7 @@ - _dl_scope_free (old_l_reldeps); - } - if (old_l_initfini != NULL) -- map->l_orig_initfini = old_l_initfini; -+ _dl_scope_free (old_l_initfini); - - if (errno_reason) - _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname, -diff -Nur a/elf/dl-init.c b/elf/dl-init.c ---- a/elf/dl-init.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/dl-init.c 2011-12-22 17:59:24.560119299 +0000 -@@ -24,11 +24,9 @@ - /* Type of the initializer. */ - typedef void (*init_t) (int, char **, char **); - --#ifndef HAVE_INLINED_SYSCALLS - /* Flag, nonzero during startup phase. */ - extern int _dl_starting_up; - extern int _dl_starting_up_internal attribute_hidden; --#endif - - - static void -@@ -133,9 +131,7 @@ - while (i-- > 0) - call_init (main_map->l_initfini[i], argc, argv, env); - --#ifndef HAVE_INLINED_SYSCALLS - /* Finished starting up. */ - INTUSE(_dl_starting_up) = 0; --#endif - } - INTDEF (_dl_init) -diff -Nur a/elf/dl-libc.c b/elf/dl-libc.c ---- a/elf/dl-libc.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/dl-libc.c 2011-12-22 17:59:24.560119299 +0000 -@@ -270,13 +270,13 @@ - - for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) - { -- /* Remove all additional names added to the objects. */ - for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) - { - struct libname_list *lnp = l->l_libname->next; - - l->l_libname->next = NULL; - -+ /* Remove all additional names added to the objects. */ - while (lnp != NULL) - { - struct libname_list *old = lnp; -@@ -284,6 +284,10 @@ - if (! old->dont_free) - free (old); - } -+ -+ /* Free the initfini dependency list. */ -+ if (l->l_free_initfini) -+ free (l->l_initfini); - } - - if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 -diff -Nur a/elf/dl-load.c b/elf/dl-load.c ---- a/elf/dl-load.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/dl-load.c 2011-12-22 17:59:24.561119300 +0000 -@@ -250,8 +250,7 @@ - - - static size_t --is_dst (const char *start, const char *name, const char *str, -- int is_path, int secure) -+is_dst (const char *start, const char *name, const char *str, int is_path) - { - size_t len; - bool is_curly = false; -@@ -280,12 +279,6 @@ - && (!is_path || name[len] != ':')) - return 0; - -- if (__builtin_expect (secure, 0) -- && ((name[len] != '\0' && name[len] != '/' -- && (!is_path || name[len] != ':')) -- || (name != start + 1 && (!is_path || name[-2] != ':')))) -- return 0; -- - return len; - } - -@@ -300,13 +293,10 @@ - { - size_t len; - -- /* $ORIGIN is not expanded for SUID/GUID programs (except if it -- is $ORIGIN alone) and it must always appear first in path. */ - ++name; -- if ((len = is_dst (start, name, "ORIGIN", is_path, -- INTUSE(__libc_enable_secure))) != 0 -- || (len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0 -- || (len = is_dst (start, name, "LIB", is_path, 0)) != 0) -+ if ((len = is_dst (start, name, "ORIGIN", is_path)) != 0 -+ || (len = is_dst (start, name, "PLATFORM", is_path)) != 0 -+ || (len = is_dst (start, name, "LIB", is_path)) != 0) - ++cnt; - - name = strchr (name + len, '$'); -@@ -339,9 +329,16 @@ - size_t len; - - ++name; -- if ((len = is_dst (start, name, "ORIGIN", is_path, -- INTUSE(__libc_enable_secure))) != 0) -+ if ((len = is_dst (start, name, "ORIGIN", is_path)) != 0) - { -+ /* For SUID/GUID programs $ORIGIN must always appear -+ first in a path element. */ -+ if (__builtin_expect (INTUSE(__libc_enable_secure), 0) -+ && ((name[len] != '\0' && name[len] != '/' -+ && (!is_path || name[len] != ':')) -+ || (name != start + 1 && (!is_path || name[-2] != ':')))) -+ repl = (const char *) -1; -+ else - #ifndef SHARED - if (l == NULL) - repl = _dl_get_origin (); -@@ -352,9 +349,9 @@ - check_for_trusted = (INTUSE(__libc_enable_secure) - && l->l_type == lt_executable); - } -- else if ((len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0) -+ else if ((len = is_dst (start, name, "PLATFORM", is_path)) != 0) - repl = GLRO(dl_platform); -- else if ((len = is_dst (start, name, "LIB", is_path, 0)) != 0) -+ else if ((len = is_dst (start, name, "LIB", is_path)) != 0) - repl = DL_DST_LIB; - - if (repl != NULL && repl != (const char *) -1) -@@ -374,6 +371,7 @@ - element, but keep an empty element at the end. */ - if (wp == result && is_path && *name == ':' && name[1] != '\0') - ++name; -+ check_for_trusted = false; - } - else - /* No DST we recognize. */ -diff -Nur a/elf/dl-support.c b/elf/dl-support.c ---- a/elf/dl-support.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/dl-support.c 2011-12-22 17:59:24.561119300 +0000 -@@ -82,10 +82,8 @@ - create a fake scope containing nothing. */ - struct r_scope_elem _dl_initial_searchlist; - --#ifndef HAVE_INLINED_SYSCALLS - /* Nonzero during startup. */ - int _dl_starting_up = 1; --#endif - - /* Random data provided by the kernel. */ - void *_dl_random; -diff -Nur a/elf/ldconfig.c b/elf/ldconfig.c ---- a/elf/ldconfig.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/ldconfig.c 2011-12-22 17:59:24.562119301 +0000 -@@ -1034,17 +1034,19 @@ - - - static void parse_conf_include (const char *config_file, unsigned int lineno, -- bool do_chroot, const char *pattern); -+ const char *prefix, bool do_chroot, -+ const char *pattern); - - /* Parse configuration file. */ - static void --parse_conf (const char *filename, bool do_chroot) -+parse_conf (const char *filename, const char *prefix, bool do_chroot) - { - FILE *file = NULL; - char *line = NULL; - const char *canon; - size_t len = 0; - unsigned int lineno; -+ size_t prefix_len = prefix ? strlen (prefix) : 0; - - if (do_chroot && opt_chroot) - { -@@ -1105,7 +1107,14 @@ - cp += 8; - while ((dir = strsep (&cp, " \t")) != NULL) - if (dir[0] != '\0') -- parse_conf_include (filename, lineno, do_chroot, dir); -+ parse_conf_include (filename, lineno, prefix, do_chroot, dir); -+ } -+ else if (prefix != NULL) -+ { -+ size_t cp_len = strlen (cp); -+ char new_cp [prefix_len + cp_len + 1]; -+ memcpy (mempcpy (new_cp, prefix, prefix_len), cp, cp_len + 1); -+ add_dir (new_cp); - } - else if (!strncasecmp (cp, "hwcap", 5) && isblank (cp[5])) - { -@@ -1168,7 +1177,7 @@ - config files to read. */ - static void - parse_conf_include (const char *config_file, unsigned int lineno, -- bool do_chroot, const char *pattern) -+ const char *prefix, bool do_chroot, const char *pattern) - { - if (opt_chroot && pattern[0] != '/') - error (EXIT_FAILURE, 0, -@@ -1200,7 +1209,7 @@ - { - case 0: - for (size_t i = 0; i < gl.gl_pathc; ++i) -- parse_conf (gl.gl_pathv[i], false); -+ parse_conf (gl.gl_pathv[i], prefix, false); - globfree64 (&gl); - break; - -@@ -1243,6 +1252,8 @@ - /* Set the text message domain. */ - textdomain (_libc_intl_domainname); - -+ arch_startup (argc, argv); ++* New function `unsetenv' complements `setenv' for compatibility with 4.4 BSD. ++ `clearenv' which is used in POSIX.9 is also available. + - /* Parse and process arguments. */ - int remaining; - argp_parse (&argp, argc, argv, 0, &remaining, NULL); -@@ -1352,12 +1363,14 @@ - - if (!opt_only_cline) - { -- parse_conf (config_file, true); -+ parse_conf (config_file, NULL, true); - - /* Always add the standard search paths. */ - add_system_dir (SLIBDIR); - if (strcmp (SLIBDIR, LIBDIR)) - add_system_dir (LIBDIR); ++* New function `getsid' returns session ID number on systems that support it. + -+ add_arch_dirs (config_file); - } - - const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE; -diff -Nur a/elf/ldd.bash.in b/elf/ldd.bash.in ---- a/elf/ldd.bash.in 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/ldd.bash.in 2011-12-22 17:59:24.563119302 +0000 -@@ -167,18 +167,6 @@ - fi - done - case $ret in -- 0) -- # If the program exits with exit code 5, it means the process has been -- # invoked with __libc_enable_secure. Fall back to running it through -- # the dynamic linker. -- try_trace "$file" -- rc=$? -- if [ $rc = 5 ]; then -- try_trace "$RTLD" "$file" -- rc=$? -- fi -- [ $rc = 0 ] || result=1 -- ;; - 1) - # This can be a non-ELF binary or no binary at all. - nonelf "$file" || { -@@ -186,7 +174,7 @@ - result=1 - } - ;; -- 2) -+ 0|2) - try_trace "$RTLD" "$file" || result=1 - ;; - *) -diff -Nur a/elf/rtld-Rules b/elf/rtld-Rules ---- a/elf/rtld-Rules 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/rtld-Rules 2011-12-22 17:59:24.563119302 +0000 -@@ -1,7 +1,7 @@ - # Subroutine makefile for compiling libc modules linked into dynamic linker. - - # Copyright (C) 2002,2003,2005,2006,2008,2010,2011 --# Free Software Foundation, Inc. -+# 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 -@@ -131,6 +131,6 @@ - endif - - # This here is the whole point of all the shenanigans. --rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1 -+rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld - - endif -diff -Nur a/elf/rtld.c b/elf/rtld.c ---- a/elf/rtld.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/elf/rtld.c 2011-12-22 17:59:24.564119303 +0000 -@@ -107,7 +107,6 @@ - struct audit_list *next; - } *audit_list; - --#ifndef HAVE_INLINED_SYSCALLS - /* Set nonzero during loading and initialization of executable and - libraries, cleared before the executable's entry point runs. This - must not be initialized to nonzero, because the unused dynamic -@@ -117,7 +116,6 @@ - never be called. */ - int _dl_starting_up = 0; - INTVARDEF(_dl_starting_up) --#endif - - /* This is the structure which defines all variables global to ld.so - (except those which cannot be added for some reason). */ -@@ -929,10 +927,8 @@ - /* Process the environment variable which control the behaviour. */ - process_envvars (&mode); - --#ifndef HAVE_INLINED_SYSCALLS - /* Set up a flag which tells we are just starting. */ - INTUSE(_dl_starting_up) = 1; --#endif - - if (*user_entry == (ElfW(Addr)) ENTRY_POINT) - { -@@ -1397,7 +1393,9 @@ - char *copy = malloc (len); - if (copy == NULL) - _dl_fatal_printf ("out of memory\n"); -- l->l_libname->name = l->l_name = memcpy (copy, dsoname, len); -+ l->l_libname->name = memcpy (copy, dsoname, len); -+ if (GLRO(dl_debug_mask)) -+ l->l_name = copy; - } - - /* Add the vDSO to the object list. */ -@@ -2276,6 +2274,7 @@ - lnp->dont_free = 1; - lnp = lnp->next; - } -+ l->l_free_initfini = 0; - - if (l != &GL(dl_rtld_map)) - _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, -@@ -2327,7 +2326,6 @@ - - /* Make sure no new search directories have been added. */ - assert (GLRO(dl_init_all_dirs) == GL(dl_all_dirs)); -- - if (! prelinked && rtld_multiple_ref) - { - /* There was an explicit ref to the dynamic linker as a shared lib. -diff -Nur a/extra-lib.mk b/extra-lib.mk ---- a/extra-lib.mk 2011-12-22 16:50:52.000000000 +0000 -+++ b/extra-lib.mk 2011-12-22 17:59:24.564119303 +0000 -@@ -101,4 +101,4 @@ - include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) - endif - --CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1 -+CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1 -DIN_LIB=$(lib) -diff -Nur a/include/bits/stdlib-ldbl.h b/include/bits/stdlib-ldbl.h ---- a/include/bits/stdlib-ldbl.h 1970-01-01 00:00:00.000000000 +0000 -+++ b/include/bits/stdlib-ldbl.h 2011-12-22 17:59:24.565119304 +0000 -@@ -0,0 +1 @@ -+#include -diff -Nur a/include/bits/wchar-ldbl.h b/include/bits/wchar-ldbl.h ---- a/include/bits/wchar-ldbl.h 1970-01-01 00:00:00.000000000 +0000 -+++ b/include/bits/wchar-ldbl.h 2011-12-22 17:59:24.565119304 +0000 -@@ -0,0 +1 @@ -+#include -diff -Nur a/include/features.h b/include/features.h ---- a/include/features.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/include/features.h 2011-12-22 17:59:24.565119304 +0000 -@@ -310,8 +310,13 @@ - #endif - - #if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \ -- && __GNUC_PREREQ (4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0 --# if _FORTIFY_SOURCE > 1 -+ && defined __OPTIMIZE__ && __OPTIMIZE__ > 0 -+# if !__GNUC_PREREQ (4, 1) -+# ifdef __GNUC_RH_RELEASE__ -+# warning _FORTIFY_SOURCE supported only with GCC 4.1 and later -+# endif -+# define __USE_FORTIFY_LEVEL 0 -+# elif _FORTIFY_SOURCE > 1 - # define __USE_FORTIFY_LEVEL 2 - # else - # define __USE_FORTIFY_LEVEL 1 -diff -Nur a/include/libc-symbols.h b/include/libc-symbols.h ---- a/include/libc-symbols.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/include/libc-symbols.h 2011-12-22 17:59:24.566119304 +0000 -@@ -626,7 +626,7 @@ - # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) - # define libc_hidden_def(name) hidden_def (name) - # define libc_hidden_weak(name) hidden_weak (name) --# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) -+# define libc_hidden_nolink(name, version) hidden_def (name) - # define libc_hidden_ver(local, name) hidden_ver (local, name) - # define libc_hidden_data_def(name) hidden_data_def (name) - # define libc_hidden_data_weak(name) hidden_data_weak (name) -diff -Nur a/include/link.h b/include/link.h ---- a/include/link.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/include/link.h 2011-12-22 17:59:24.567119304 +0000 -@@ -1,6 +1,6 @@ - /* Data structure for communication from the run-time dynamic linker for - loaded ELF shared objects. -- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. -+ Copyright (C) 1995-2006, 2007, 2009, 2010 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 -@@ -192,6 +192,9 @@ - during LD_TRACE_PRELINKING=1 - contains any DT_SYMBOLIC - libraries. */ -+ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be -+ freed, ie. not allocated with -+ the dummy malloc in ld.so. */ - - /* Collected information about own RPATH directories. */ - struct r_search_path_struct l_rpath_dirs; -@@ -240,9 +243,6 @@ - - /* List of object in order of the init and fini calls. */ - struct link_map **l_initfini; -- /* The init and fini list generated at startup, saved when the -- object is also loaded dynamically. */ -- struct link_map **l_orig_initfini; - - /* List of the dependencies introduced through symbol binding. */ - struct link_map_reldeps -@@ -290,7 +290,7 @@ - #endif - #ifndef FORCED_DYNAMIC_TLS_OFFSET - # if NO_TLS_OFFSET == 0 --# define FORCED_DYNAMIC_TLS_OFFSET 1 -+# define FORCED_DYNAMIC_TLS_OFFSET -1 - # elif NO_TLS_OFFSET == -1 - # define FORCED_DYNAMIC_TLS_OFFSET -2 - # else -diff -Nur a/include/stap-probe.h b/include/stap-probe.h ---- a/include/stap-probe.h 1970-01-01 00:00:00.000000000 +0000 -+++ b/include/stap-probe.h 2011-12-22 17:59:24.567119304 +0000 -@@ -0,0 +1,140 @@ -+/* Macros for defining Systemtap static probe points. -+ Copyright (C) 2011 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+#ifndef _STAP_PROBE_H -+#define _STAP_PROBE_H 1 -+ -+#ifdef USE_STAP_PROBE -+ -+# include -+ -+/* Our code uses one macro LIBC_PROBE (name, n, arg1, ..., argn). -+ -+ Without USE_STAP_PROBE, that does nothing but evaluates all -+ its arguments (to prevent bit rot, unlike e.g. assert). -+ -+ Systemtap's header defines the macros STAP_PROBE (provider, name) and -+ STAP_PROBEn (provider, name, arg1, ..., argn). For "provider" we paste -+ in the IN_LIB name (libc, libpthread, etc.) automagically. */ -+ -+# ifndef NOT_IN_libc -+# define IN_LIB libc -+# elif !defined IN_LIB -+/* This is intentionally defined with extra unquoted commas in it so -+ that macro substitution will bomb out when it is used. We don't -+ just use #error here, so that this header can be included by -+ other headers that use LIBC_PROBE inside their own macros. We -+ only want such headers to fail to compile if those macros are -+ actually used in a context where IN_LIB has not been defined. */ -+# define IN_LIB ,,,missing -DIN_LIB=... -- not extra-lib.mk?,,, -+# endif -+ -+# define LIBC_PROBE(name, n, ...) \ -+ LIBC_PROBE_1 (IN_LIB, name, n, ## __VA_ARGS__) -+ -+# define LIBC_PROBE_1(lib, name, n, ...) \ -+ STAP_PROBE##n (lib, name, ## __VA_ARGS__) -+ -+# define STAP_PROBE0 STAP_PROBE -+ -+# define LIBC_PROBE_ASM(name, template) \ -+ STAP_PROBE_ASM (IN_LIB, name, template) -+ -+# define LIBC_PROBE_ASM_OPERANDS STAP_PROBE_ASM_OPERANDS -+ -+#else /* Not USE_STAP_PROBE. */ -+ -+# ifndef __ASSEMBLER__ -+# define LIBC_PROBE(name, n, ...) DUMMY_PROBE##n (__VA_ARGS__) -+# else -+# define LIBC_PROBE(name, n, ...) /* Nothing. */ -+# endif -+ -+# define LIBC_PROBE_ASM(name, template) /* Nothing. */ -+# define LIBC_PROBE_ASM_OPERANDS(n, ...) /* Nothing. */ -+ -+/* This silliness lets us evaluate all the arguments for each arity -+ of probe. My kingdom for a real macro system. */ -+ -+# define DUMMY_PROBE0() do {} while (0) -+# define DUMMY_PROBE1(a1) do {} while ((void) (a1), 0) -+# define DUMMY_PROBE2(a1, a2) do {} while ((void) (a1), \ -+ (void) (a2), 0) -+# define DUMMY_PROBE3(a1, a2, a3) do {} while ((void) (a1), \ -+ (void) (a2), \ -+ (void) (a3), 0) -+# define DUMMY_PROBE4(a1, a2, a3, a4) do {} while ((void) (a1), \ -+ (void) (a2), \ -+ (void) (a3), \ -+ (void) (a4), 0) -+# define DUMMY_PROBE5(a1, a2, a3, a4, a5) \ -+ do {} while ((void) (a1), \ -+ (void) (a2), \ -+ (void) (a3), \ -+ (void) (a4), \ -+ (void) (a5), 0) -+# define DUMMY_PROBE6(a1, a2, a3, a4, a5, a6) \ -+ do {} while ((void) (a1), \ -+ (void) (a2), \ -+ (void) (a3), \ -+ (void) (a4), \ -+ (void) (a5), \ -+ (void) (a6), 0) -+# define DUMMY_PROBE7(a1, a2, a3, a4, a5, a6, a7) \ -+ do {} while ((void) (a1), \ -+ (void) (a2), \ -+ (void) (a3), \ -+ (void) (a4), \ -+ (void) (a5), \ -+ (void) (a6), \ -+ (void) (a7), 0) -+# define DUMMY_PROBE8(a1, a2, a3, a4, a5, a6, a7, a8) \ -+ do {} while ((void) (a1), \ -+ (void) (a2), \ -+ (void) (a3), \ -+ (void) (a4), \ -+ (void) (a5), \ -+ (void) (a6), \ -+ (void) (a7), \ -+ (void) (a8), 0) -+# define DUMMY_PROBE9(a1, a2, a3, a4, a5, a6, a7, a8, a9) \ -+ do {} while ((void) (a1), \ -+ (void) (a2), \ -+ (void) (a3), \ -+ (void) (a4), \ -+ (void) (a5), \ -+ (void) (a6), \ -+ (void) (a7), \ -+ (void) (a8), \ -+ (void) (a9), 0) -+# define DUMMY_PROBE10(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) \ -+ do {} while ((void) (a1), \ -+ (void) (a2), \ -+ (void) (a3), \ -+ (void) (a4), \ -+ (void) (a5), \ -+ (void) (a6), \ -+ (void) (a7), \ -+ (void) (a8), \ -+ (void) (a9), \ -+ (void) (a10), 0) -+ -+#endif /* USE_STAP_PROBE. */ -+ -+#endif /* stap-probe.h */ -diff -Nur a/include/sys/resource.h b/include/sys/resource.h ---- a/include/sys/resource.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/include/sys/resource.h 2011-12-22 17:59:24.567119304 +0000 -@@ -13,4 +13,5 @@ - - extern int __setrlimit (enum __rlimit_resource __resource, - const struct rlimit *__rlimits); -+libc_hidden_proto (__getrlimit) - #endif -diff -Nur a/inet/Makefile b/inet/Makefile ---- a/inet/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/inet/Makefile 2011-12-22 17:59:24.568119304 +0000 -@@ -57,6 +57,8 @@ - - include ../Rules - -+CFLAGS-tst-inet6_rth.c += -fno-strict-aliasing ++* We have incorporated the 4.4 BSD `db' library (version 1.85). New header ++ files and provide a rich set of functions for several ++ types of simple databases stored in memory and in files, and is ++ an old `ndbm'-compatible interface using the `db' functions. Link with ++ `-ldb' to get these functions. + - ifeq ($(have-thread-library),yes) - - CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1 -fexceptions -diff -Nur a/intl/locale.alias b/intl/locale.alias ---- a/intl/locale.alias 2011-12-22 16:50:52.000000000 +0000 -+++ b/intl/locale.alias 2011-12-22 17:59:24.568119304 +0000 -@@ -57,8 +57,6 @@ - korean.euc ko_KR.eucKR - ko_KR ko_KR.eucKR - lithuanian lt_LT.ISO-8859-13 --no_NO nb_NO.ISO-8859-1 --no_NO.ISO-8859-1 nb_NO.ISO-8859-1 - norwegian nb_NO.ISO-8859-1 - nynorsk nn_NO.ISO-8859-1 - polish pl_PL.ISO-8859-2 -diff -Nur a/libio/stdio.h b/libio/stdio.h ---- a/libio/stdio.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/libio/stdio.h 2011-12-22 17:59:24.569119304 +0000 -@@ -169,10 +169,12 @@ - extern struct _IO_FILE *stdin; /* Standard input stream. */ - extern struct _IO_FILE *stdout; /* Standard output stream. */ - extern struct _IO_FILE *stderr; /* Standard error output stream. */ -+#ifdef __STDC__ - /* C89/C99 say they're macros. Make them happy. */ - #define stdin stdin - #define stdout stdout - #define stderr stderr -+#endif - - __BEGIN_NAMESPACE_STD - /* Remove file FILENAME. */ -diff -Nur a/locale/iso-4217.def b/locale/iso-4217.def ---- a/locale/iso-4217.def 2011-12-22 16:50:52.000000000 +0000 -+++ b/locale/iso-4217.def 2011-12-22 17:59:24.569119304 +0000 -@@ -8,6 +8,7 @@ - * - * !!! The list has to be sorted !!! - */ -+DEFINE_INT_CURR("ADP") /* Andorran Peseta -> EUR */ - DEFINE_INT_CURR("AED") /* United Arab Emirates Dirham */ - DEFINE_INT_CURR("AFN") /* Afghanistan Afgani */ - DEFINE_INT_CURR("ALL") /* Albanian Lek */ -@@ -15,12 +16,14 @@ - DEFINE_INT_CURR("ANG") /* Netherlands Antilles */ - DEFINE_INT_CURR("AOA") /* Angolan Kwanza */ - DEFINE_INT_CURR("ARS") /* Argentine Peso */ -+DEFINE_INT_CURR("ATS") /* Austrian Schilling -> EUR */ - DEFINE_INT_CURR("AUD") /* Australian Dollar */ - DEFINE_INT_CURR("AWG") /* Aruba Guilder */ - DEFINE_INT_CURR("AZM") /* Azerbaijan Manat */ - DEFINE_INT_CURR("BAM") /* Bosnian and Herzegovina Convertible Mark */ - DEFINE_INT_CURR("BBD") /* Barbados Dollar */ - DEFINE_INT_CURR("BDT") /* Bangladesh Taka */ -+DEFINE_INT_CURR("BEF") /* Belgian Franc -> EUR */ - DEFINE_INT_CURR("BGN") /* Bulgarian Lev */ - DEFINE_INT_CURR("BHD") /* Bahraini Dinar */ - DEFINE_INT_CURR("BIF") /* Burundi Franc */ -@@ -44,6 +47,7 @@ - DEFINE_INT_CURR("CVE") /* Cape Verde Escudo */ - DEFINE_INT_CURR("CYP") /* Cypriot Pound */ - DEFINE_INT_CURR("CZK") /* Czech Koruna */ -+DEFINE_INT_CURR("DEM") /* German Mark -> EUR */ - DEFINE_INT_CURR("DJF") /* Djibouti Franc */ - DEFINE_INT_CURR("DKK") /* Danish Krone (Faroe Islands, Greenland) */ - DEFINE_INT_CURR("DOP") /* Dominican Republic */ -@@ -51,16 +55,20 @@ - DEFINE_INT_CURR("EEK") /* Estonian Kroon */ - DEFINE_INT_CURR("EGP") /* Egyptian Pound */ - DEFINE_INT_CURR("ERN") /* Eritrean Nakfa */ -+DEFINE_INT_CURR("ESP") /* Spanish Peseta -> EUR */ - DEFINE_INT_CURR("ETB") /* Ethiopian Birr */ - DEFINE_INT_CURR("EUR") /* European Union Euro */ -+DEFINE_INT_CURR("FIM") /* Finnish Markka -> EUR */ - DEFINE_INT_CURR("FJD") /* Fiji Dollar */ - DEFINE_INT_CURR("FKP") /* Falkland Islands Pound (Malvinas) */ -+DEFINE_INT_CURR("FRF") /* French Franc -> EUR */ - DEFINE_INT_CURR("GBP") /* British Pound */ - DEFINE_INT_CURR("GEL") /* Georgia Lari */ - DEFINE_INT_CURR("GHC") /* Ghana Cedi */ - DEFINE_INT_CURR("GIP") /* Gibraltar Pound */ - DEFINE_INT_CURR("GMD") /* Gambian Dalasi */ - DEFINE_INT_CURR("GNF") /* Guinea Franc */ -+DEFINE_INT_CURR("GRD") /* Greek Drachma -> EUR */ - DEFINE_INT_CURR("GTQ") /* Guatemala Quetzal */ - DEFINE_INT_CURR("GYD") /* Guyana Dollar */ - DEFINE_INT_CURR("HKD") /* Hong Kong Dollar */ -@@ -69,12 +77,14 @@ - DEFINE_INT_CURR("HTG") /* Haiti Gourde */ - DEFINE_INT_CURR("HUF") /* Hungarian Forint */ - DEFINE_INT_CURR("IDR") /* Indonesia Rupiah */ -+DEFINE_INT_CURR("IEP") /* Irish Pound -> EUR */ - DEFINE_INT_CURR("ILS") /* Israeli Shekel */ - DEFINE_INT_CURR("IMP") /* Isle of Man Pounds */ - DEFINE_INT_CURR("INR") /* Indian Rupee (Bhutan) */ - DEFINE_INT_CURR("IQD") /* Iraqi Dinar */ - DEFINE_INT_CURR("IRR") /* Iranian Rial */ - DEFINE_INT_CURR("ISK") /* Iceland Krona */ -+DEFINE_INT_CURR("ITL") /* Italian Lira -> EUR */ - DEFINE_INT_CURR("JEP") /* Jersey Pound */ - DEFINE_INT_CURR("JMD") /* Jamaican Dollar */ - DEFINE_INT_CURR("JOD") /* Jordanian Dinar */ -@@ -94,6 +104,7 @@ - DEFINE_INT_CURR("LRD") /* Liberian Dollar */ - DEFINE_INT_CURR("LSL") /* Lesotho Maloti */ - DEFINE_INT_CURR("LTL") /* Lithuanian Litas */ -+DEFINE_INT_CURR("LUF") /* Luxembourg Franc -> EUR */ - DEFINE_INT_CURR("LVL") /* Latvia Lat */ - DEFINE_INT_CURR("LYD") /* Libyan Arab Jamahiriya Dinar */ - DEFINE_INT_CURR("MAD") /* Moroccan Dirham */ -@@ -114,6 +125,7 @@ - DEFINE_INT_CURR("NAD") /* Namibia Dollar */ - DEFINE_INT_CURR("NGN") /* Nigeria Naira */ - DEFINE_INT_CURR("NIO") /* Nicaragua Cordoba Oro */ -+DEFINE_INT_CURR("NLG") /* Netherlands Guilder -> EUR */ - DEFINE_INT_CURR("NOK") /* Norwegian Krone */ - DEFINE_INT_CURR("NPR") /* Nepalese Rupee */ - DEFINE_INT_CURR("NZD") /* New Zealand Dollar */ -@@ -124,6 +136,7 @@ - DEFINE_INT_CURR("PHP") /* Philippines Peso */ - DEFINE_INT_CURR("PKR") /* Pakistan Rupee */ - DEFINE_INT_CURR("PLN") /* Polish Zloty */ -+DEFINE_INT_CURR("PTE") /* Portugese Escudo -> EUR */ - DEFINE_INT_CURR("PYG") /* Paraguay Guarani */ - DEFINE_INT_CURR("QAR") /* Qatar Rial */ - DEFINE_INT_CURR("ROL") /* Romanian Leu */ -diff -Nur a/locale/programs/locarchive.c b/locale/programs/locarchive.c ---- a/locale/programs/locarchive.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/locale/programs/locarchive.c 2011-12-22 17:59:24.570119304 +0000 -@@ -253,9 +253,9 @@ - /* forward decls for below */ - static uint32_t add_locale (struct locarhandle *ah, const char *name, - locale_data_t data, bool replace); --static void add_alias (struct locarhandle *ah, const char *alias, -- bool replace, const char *oldname, -- uint32_t *locrec_offset_p); -+void add_alias (struct locarhandle *ah, const char *alias, -+ bool replace, const char *oldname, -+ uint32_t *locrec_offset_p); - - - static bool -@@ -636,7 +636,7 @@ - #include "../../intl/explodename.c" - #include "../../intl/l10nflist.c" - --static struct namehashent * -+struct namehashent * - insert_name (struct locarhandle *ah, - const char *name, size_t name_len, bool replace) - { -@@ -694,7 +694,7 @@ - return &namehashtab[idx]; - } - --static void -+void - add_alias (struct locarhandle *ah, const char *alias, bool replace, - const char *oldname, uint32_t *locrec_offset_p) - { -diff -Nur a/localedata/ChangeLog b/localedata/ChangeLog ---- a/localedata/ChangeLog 2011-12-22 16:50:52.000000000 +0000 -+++ b/localedata/ChangeLog 2011-12-22 17:59:24.571119304 +0000 -@@ -64,6 +64,14 @@ - * tests-mbwc/tst_funcs.h (TST_DECL_VARS, TST_HEAD_LOCALE): - Remove unused variable. - -+2011-06-28 Andreas Schwab ++* New macro `strdupa' copies a string like `strdup', but uses local stack ++ space from `alloca' instead of dynamic heap space from `malloc'. + -+ * charmaps/GB18030: Correct some entries. ++* New function `strnlen' is like `strlen' but searches only a given maximum ++ number of characters for the null terminator. `stpncpy', `strndup' and ++ `strndupa' are similar variants for the `stpcpy', `strdup' and `strdupa' ++ function. + -+2011-06-21 Andreas Schwab ++* New function `statfs' in header . + -+ * charmaps/GB18030: Readd lost characters. ++* The new and interfaces contributed by Miles Bader ++ provide convenient functions for operating on blocks of null-terminated ++ strings. + - 2011-05-21 Ulrich Drepper - - [BZ #12788] -diff -Nur a/localedata/Makefile b/localedata/Makefile ---- a/localedata/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/localedata/Makefile 2011-12-22 17:59:24.572119304 +0000 -@@ -224,6 +224,7 @@ - echo -n '...'; \ - input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \ - $(LOCALEDEF) --alias-file=../intl/locale.alias \ -+ --no-archive \ - -i locales/$$input -c -f charmaps/$$charset \ - $(addprefix --prefix=,$(install_root)) $$locale; \ - echo ' done'; \ -diff -Nur a/localedata/SUPPORTED b/localedata/SUPPORTED ---- a/localedata/SUPPORTED 2011-12-22 16:50:52.000000000 +0000 -+++ b/localedata/SUPPORTED 2011-12-22 17:59:24.572119304 +0000 -@@ -88,6 +88,7 @@ - cy_GB/ISO-8859-14 \ - da_DK.UTF-8/UTF-8 \ - da_DK/ISO-8859-1 \ -+da_DK.ISO-8859-15/ISO-8859-15 \ - de_AT.UTF-8/UTF-8 \ - de_AT/ISO-8859-1 \ - de_AT@euro/ISO-8859-15 \ -@@ -119,6 +120,7 @@ - en_DK/ISO-8859-1 \ - en_GB.UTF-8/UTF-8 \ - en_GB/ISO-8859-1 \ -+en_GB.ISO-8859-15/ISO-8859-15 \ - en_HK.UTF-8/UTF-8 \ - en_HK/ISO-8859-1 \ - en_IE.UTF-8/UTF-8 \ -@@ -134,6 +136,7 @@ - en_SG/ISO-8859-1 \ - en_US.UTF-8/UTF-8 \ - en_US/ISO-8859-1 \ -+en_US.ISO-8859-15/ISO-8859-15 \ - en_ZA.UTF-8/UTF-8 \ - en_ZA/ISO-8859-1 \ - en_ZM/UTF-8 \ -@@ -316,6 +319,8 @@ - nl_NL@euro/ISO-8859-15 \ - nn_NO.UTF-8/UTF-8 \ - nn_NO/ISO-8859-1 \ -+no_NO.UTF-8/UTF-8 \ -+no_NO/ISO-8859-1 \ - nr_ZA/UTF-8 \ - nso_ZA/UTF-8 \ - oc_FR.UTF-8/UTF-8 \ -@@ -377,6 +382,7 @@ - sv_FI@euro/ISO-8859-15 \ - sv_SE.UTF-8/UTF-8 \ - sv_SE/ISO-8859-1 \ -+sv_SE.ISO-8859-15/ISO-8859-15 \ - sw_KE/UTF-8 \ - sw_TZ/UTF-8 \ - ta_IN/UTF-8 \ -diff -Nur a/localedata/locales/cy_GB b/localedata/locales/cy_GB ---- a/localedata/locales/cy_GB 2011-12-22 16:50:52.000000000 +0000 -+++ b/localedata/locales/cy_GB 2011-12-22 17:59:24.573119304 +0000 -@@ -248,8 +248,11 @@ - d_t_fmt "" - d_fmt "" - t_fmt "" --am_pm "";"" --t_fmt_ampm "" -+am_pm "";"" -+t_fmt_ampm "" -+date_fmt "/ -+/ -+" - END LC_TIME - - LC_MESSAGES -diff -Nur a/localedata/locales/en_GB b/localedata/locales/en_GB ---- a/localedata/locales/en_GB 2011-12-22 16:50:52.000000000 +0000 -+++ b/localedata/locales/en_GB 2011-12-22 17:59:24.573119304 +0000 -@@ -116,8 +116,8 @@ - d_t_fmt "" - d_fmt "" - t_fmt "" --am_pm "";"" --t_fmt_ampm "" -+am_pm "";"" -+t_fmt_ampm "" - date_fmt "/ - / - " -diff -Nur a/localedata/locales/no_NO b/localedata/locales/no_NO ---- a/localedata/locales/no_NO 1970-01-01 00:00:00.000000000 +0000 -+++ b/localedata/locales/no_NO 2011-12-22 17:59:24.573119304 +0000 -@@ -0,0 +1,69 @@ -+escape_char / -+comment_char % -+ -+% Norwegian language locale for Norway -+% Source: Norsk Standardiseringsforbund -+% Address: University Library, -+% Drammensveien 41, N-9242 Oslo, Norge -+% Contact: Kolbjoern Aamboe -+% Tel: +47 - 22859109 -+% Fax: +47 - 22434497 -+% Email: kolbjorn.aambo@usit.uio.no -+% Language: no -+% Territory: NO -+% Revision: 4.3 -+% Date: 1996-10-15 -+% Application: general -+% Users: general -+% Repertoiremap: mnemonic.ds -+% Charset: ISO-8859-1 -+% Distribution and use is free, also -+% for commercial purposes. -+ -+LC_IDENTIFICATION -+copy "nb_NO" -+END LC_IDENTIFICATION -+ -+LC_COLLATE -+copy "nb_NO" -+END LC_COLLATE -+ -+LC_CTYPE -+copy "nb_NO" -+END LC_CTYPE -+ -+LC_MONETARY -+copy "nb_NO" -+END LC_MONETARY -+ -+LC_NUMERIC -+copy "nb_NO" -+END LC_NUMERIC -+ -+LC_TIME -+copy "nb_NO" -+END LC_TIME -+ -+LC_MESSAGES -+copy "nb_NO" -+END LC_MESSAGES -+ -+LC_PAPER -+copy "nb_NO" -+END LC_PAPER -+ -+LC_TELEPHONE -+copy "nb_NO" -+END LC_TELEPHONE -+ -+LC_MEASUREMENT -+copy "nb_NO" -+END LC_MEASUREMENT -+ -+LC_NAME -+copy "nb_NO" -+END LC_NAME -+ -+LC_ADDRESS -+copy "nb_NO" -+END LC_ADDRESS -diff -Nur a/localedata/locales/zh_TW b/localedata/locales/zh_TW ---- a/localedata/locales/zh_TW 2011-12-22 16:50:52.000000000 +0000 -+++ b/localedata/locales/zh_TW 2011-12-22 17:59:24.574119304 +0000 -@@ -1,7 +1,7 @@ - comment_char % - escape_char / - % --% Chinese language locale for Taiwan R.O.C. -+% Chinese language locale for Taiwan - % charmap: BIG5-CP950 - % - % Original Author: -@@ -17,7 +17,7 @@ - % Reference: http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf - - LC_IDENTIFICATION --title "Chinese locale for Taiwan R.O.C." -+title "Chinese locale for Taiwan" - source "" - address "" - contact "" -@@ -25,7 +25,7 @@ - tel "" - fax "" - language "Chinese" --territory "Taiwan R.O.C." -+territory "Taiwan" - revision "0.2" - date "2000-08-02" - % -diff -Nur a/login/programs/pt_chown.c b/login/programs/pt_chown.c ---- a/login/programs/pt_chown.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/login/programs/pt_chown.c 2011-12-22 17:59:24.574119304 +0000 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #ifdef HAVE_LIBCAP - # include - # include -@@ -143,7 +144,7 @@ - uid_t uid = getuid (); - int remaining; - -- if (argc == 1 && euid == 0) -+ if (argc == 1 && fcntl (PTY_FILENO, F_GETFD) == 0) - { - #ifdef HAVE_LIBCAP - /* Drop privileges. */ -@@ -176,6 +177,13 @@ - - /* We aren't going to be using privileges, so drop them right now. */ - setuid (uid); -+#ifdef HAVE_LIBCAP -+ cap_t caps = cap_init (); -+ if (caps == NULL) -+ error (1, errno, "cap_init"); -+ cap_set_proc (caps); -+ cap_free (caps); -+#endif - - /* Set locale via LC_ALL. */ - setlocale (LC_ALL, ""); -@@ -195,9 +203,5 @@ - return EXIT_FAILURE; - } - -- /* Check if we are properly installed. */ -- if (euid != 0) -- error (FAIL_EXEC, 0, gettext ("needs to be installed setuid `root'")); -- - return EXIT_SUCCESS; - } -diff -Nur a/malloc/mcheck.c b/malloc/mcheck.c ---- a/malloc/mcheck.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/malloc/mcheck.c 2011-12-22 17:59:24.575119304 +0000 -@@ -25,10 +25,26 @@ - # include - # include - # include -+# include - # include - # include - #endif - -+#ifdef _LIBC -+extern __typeof (malloc) __libc_malloc; -+extern __typeof (free) __libc_free; -+extern __typeof (realloc) __libc_realloc; -+libc_hidden_proto (__libc_malloc) -+libc_hidden_proto (__libc_realloc) -+libc_hidden_proto (__libc_free) -+libc_hidden_proto (__libc_memalign) -+#else -+# define __libc_malloc(sz) malloc (sz) -+# define __libc_free(ptr) free (ptr) -+# define __libc_realloc(ptr, sz) realloc (ptr, sz) -+# define __libc_memalign(al, sz) memalign (al, sz) -+#endif -+ - /* Old hook values. */ - static void (*old_free_hook) (__ptr_t ptr, __const __ptr_t); - static __ptr_t (*old_malloc_hook) (__malloc_size_t size, const __ptr_t); -@@ -199,7 +215,7 @@ - if (old_free_hook != NULL) - (*old_free_hook) (ptr, caller); - else -- free (ptr); -+ __libc_free (ptr); - __free_hook = freehook; - } - -@@ -222,7 +238,7 @@ - hdr = (struct hdr *) (*old_malloc_hook) (sizeof (struct hdr) + size + 1, - caller); - else -- hdr = (struct hdr *) malloc (sizeof (struct hdr) + size + 1); -+ hdr = (struct hdr *) __libc_malloc (sizeof (struct hdr) + size + 1); - __malloc_hook = mallochook; - if (hdr == NULL) - return NULL; -@@ -259,7 +275,7 @@ - if (old_memalign_hook != NULL) - block = (*old_memalign_hook) (alignment, slop + size + 1, caller); - else -- block = memalign (alignment, slop + size + 1); -+ block = __libc_memalign (alignment, slop + size + 1); - __memalign_hook = memalignhook; - if (block == NULL) - return NULL; -@@ -320,8 +336,8 @@ - sizeof (struct hdr) + size + 1, - caller); - else -- hdr = (struct hdr *) realloc ((__ptr_t) hdr, -- sizeof (struct hdr) + size + 1); -+ hdr = (struct hdr *) __libc_realloc ((__ptr_t) hdr, -+ sizeof (struct hdr) + size + 1); - __free_hook = freehook; - __malloc_hook = mallochook; - __memalign_hook = memalignhook; -@@ -381,8 +397,8 @@ - if (__malloc_initialized <= 0 && !mcheck_used) - { - /* We call malloc() once here to ensure it is initialized. */ -- void *p = malloc (0); -- free (p); -+ void *p = __libc_malloc (0); -+ __libc_free (p); - - old_free_hook = __free_hook; - __free_hook = freehook; -diff -Nur a/manual/libc.texinfo b/manual/libc.texinfo ---- a/manual/libc.texinfo 2011-12-22 16:50:52.000000000 +0000 -+++ b/manual/libc.texinfo 2011-12-22 17:59:24.575119304 +0000 -@@ -5,7 +5,7 @@ - @c setchapternewpage odd - - @comment Tell install-info what to do. --@dircategory Software libraries -+@dircategory Libraries - @direntry - * Libc: (libc). C library. - @end direntry -diff -Nur a/misc/sys/cdefs.h b/misc/sys/cdefs.h ---- a/misc/sys/cdefs.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/misc/sys/cdefs.h 2011-12-22 17:59:24.576119305 +0000 -@@ -146,7 +146,10 @@ - #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) - #define __bos0(ptr) __builtin_object_size (ptr, 0) - --#if __GNUC_PREREQ (4,3) -+#if __GNUC_PREREQ (4,3) \ -+ || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \ -+ && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \ -+ && __GNUC_RH_RELEASE__ >= 31) - # define __warndecl(name, msg) \ - extern void name (void) __attribute__((__warning__ (msg))) - # define __warnattr(msg) __attribute__((__warning__ (msg))) -@@ -316,10 +319,16 @@ - - /* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 - inline semantics, unless -fgnu89-inline is used. */ --#if !defined __cplusplus || __GNUC_PREREQ (4,3) -+#if !defined __cplusplus || __GNUC_PREREQ (4,3) \ -+ || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \ -+ && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \ -+ && __GNUC_RH_RELEASE__ >= 31) - # if defined __GNUC_STDC_INLINE__ || defined __cplusplus - # define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) --# if __GNUC_PREREQ (4,3) -+# if __GNUC_PREREQ (4,3) \ -+ || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \ -+ && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \ -+ && __GNUC_RH_RELEASE__ >= 31) - # define __extern_always_inline \ - extern __always_inline __attribute__ ((__gnu_inline__, __artificial__)) - # else -@@ -339,7 +348,10 @@ - - /* GCC 4.3 and above allow passing all anonymous arguments of an - __extern_always_inline function to some other vararg function. */ --#if __GNUC_PREREQ (4,3) -+#if __GNUC_PREREQ (4,3) \ -+ || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \ -+ && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \ -+ && __GNUC_RH_RELEASE__ >= 31) - # define __va_arg_pack() __builtin_va_arg_pack () - # define __va_arg_pack_len() __builtin_va_arg_pack_len () - #endif -diff -Nur a/nis/Makefile b/nis/Makefile ---- a/nis/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/nis/Makefile 2011-12-22 17:59:24.576119305 +0000 -@@ -23,9 +23,9 @@ - - aux := nis_hash - -+headers := $(wildcard rpcsvc/*.[hx]) - distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ -- nisplus-parser.h nis_xdr.h nss \ -- $(wildcard rpcsvc/*.[hx]) -+ nisplus-parser.h nis_xdr.h nss - - # These are the databases available for the nis (and perhaps later nisplus) - # service. This must be a superset of the services in nss. -@@ -69,6 +69,8 @@ - - include ../Rules - -+CFLAGS-nis_findserv.c += -fno-strict-aliasing -+CFLAGS-ypclnt.c += -fno-strict-aliasing - - $(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version) - $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \ -diff -Nur a/nis/nss b/nis/nss ---- a/nis/nss 2011-12-22 16:50:52.000000000 +0000 -+++ b/nis/nss 2011-12-22 17:59:24.577119306 +0000 -@@ -25,7 +25,7 @@ - # memory with every getXXent() call. Otherwise each getXXent() call - # might result into a network communication with the server to get - # the next entry. --#SETENT_BATCH_READ=TRUE -+SETENT_BATCH_READ=TRUE - # - # ADJUNCT_AS_SHADOW - # If set to TRUE, the passwd routines in the NIS NSS module will not -diff -Nur a/nptl/ChangeLog b/nptl/ChangeLog ---- a/nptl/ChangeLog 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/ChangeLog 2011-12-22 17:59:24.579119308 +0000 -@@ -195,6 +195,51 @@ - clearing memory. - Patch partly by Robert Rex . - -+2011-02-22 Rayson Ho -+ -+ * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Low-level SystemTap -+ probes for i386. -+ * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise. -+ * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise. -+ * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S: Likewise. -+ * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: Likewise. -+ * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise. -+ * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise. -+ * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise. -+ * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise. -+ -+2011-02-09 Rayson Ho -+ -+ * DESIGN-systemtap-probes.txt: New file. -+ * pthread_cond_broadcast.c: SystemTap probes. -+ * pthread_cond_init.c: Likewise. -+ * pthread_cond_signal.c: Likewise. -+ * pthread_cond_wait.c: Likewise. -+ * pthread_cond_destroy.c: Likewise. -+ * pthread_create.c: Likewise. -+ * pthread_join.c: Likewise. -+ * pthread_mutex_destroy.c: Likewise. -+ * pthread_mutex_init.c: Likewise. -+ * pthread_mutex_lock.c: Likewise. -+ * pthread_mutex_timedlock.c: Likewise. -+ * pthread_mutex_unlock.c: Likewise. -+ * pthread_rwlock_destroy.c: Likewise. -+ * pthread_rwlock_rdlock.c: Likewise. -+ * pthread_rwlock_unlock.c: Likewise. -+ * pthread_rwlock_wrlock.c: Likewise. -+ * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. -+ * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. -+ * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Likewise. -+ * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise. -+ * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise. -+ * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise. -+ * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise. -+ * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise. -+ -+2010-07-23 Roland McGrath -+ -+ * pthread_create.c (start_thread): Define pthread_start LIBC_PROBE. -+ - 2011-01-19 Roland McGrath - - * pthread_cond_wait.c (__pthread_cond_wait): Fix comment typo. -@@ -4924,6 +4969,11 @@ - Move definition inside libpthread, libc, librt check. Provide - definition for rtld. - -+2004-09-02 Jakub Jelinek ++* A new suite of functions in handle all the details of reading ++ and writing the utmp file. + -+ * pthread_cond_destroy.c (__pthread_cond_destroy): If there are -+ waiters, awake all waiters on the associated mutex. ++* An implementation of the NIS/YP(tm) based NSS service was contributed by ++ Thorsten Kukuk. + - 2004-09-02 Ulrich Drepper - - * sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp. -@@ -6998,6 +7048,11 @@ - - * Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules). - -+2003-07-22 Jakub Jelinek ++* Paul Eggert and Ulrich Drepper modified the `strftime' function to be ++ completely POSIX compliant and also implemented the extended functionality ++ to handle alternate digit representation and alternate era date formats. + -+ * descr.h: Don't include lowlevellock.h, pthreaddef.h and dl-sysdep.h -+ if __need_struct_pthread_size, instead define lll_lock_t. ++* Ulrich Drepper provided an implementation of the `strptime' function ++ defined in XPG4.2 which transforms a string into a `struct tm' value. + - 2003-07-25 Jakub Jelinek - - * tst-cancel17.c (do_test): Check if aio_cancel failed. -diff -Nur a/nptl/DESIGN-systemtap-probes.txt b/nptl/DESIGN-systemtap-probes.txt ---- a/nptl/DESIGN-systemtap-probes.txt 1970-01-01 00:00:00.000000000 +0000 -+++ b/nptl/DESIGN-systemtap-probes.txt 2011-12-22 17:59:24.580119308 +0000 -@@ -0,0 +1,89 @@ -+Systemtap is a dynamic tracing/instrumenting tool available on Linux. Probes -+that are not fired at run time have close to zero overhead. -+ -+The following probes are available for NPTL: -+ -+Thread creation & Join Probes -+============================= -+pthread_create - probe for pthread_create -+ arg1 = pointer (pthread_t*) to thread -+ arg2 = pointer (pthread_attr_t*) to attr -+ arg3 = pointer (void *) to start_routine -+ arg4 = arguments to start_routine -+pthread_start - probe for actual thread creation -+ arg1 = struct pthread (members include thread ID, process ID) -+ arg2 = address of start_routine -+ arg3 = pointer to the list of arguments -+pthread_join - probe for pthread_join -+ arg1 = thread ID -+pthread_join_ret - probe for pthread_join return -+ arg1 = thread ID -+ arg2 = return value -+ -+Lock-related Probes -+=================== -+mutex_init - probe for pthread_mutex_init -+ arg1 = address of mutex lock -+mutex_acquired - probe for succ. return of pthread_mutex_lock -+ arg1 = address of mutex lock -+mutex_timedlock_acquired - probe for succ. return of pthread_mutex_timedlock -+ arg1 = address of mutex lock -+mutex_entry - probe for entry to the pthread_mutex_lock function -+ arg1 = address of mutex lock -+mutex_timedlock_entry - probe for entry to the pthread_mutex_timedlock function -+ arg1 = address of mutex lock, arg2 = address of timespec -+mutex_release - probe for pthread_mutex_unlock after the successful release of a -+ mutex lock -+ arg1 = address of mutex lock -+mutex_destroy - probe for pthread_mutex_destroy -+ arg1 = address of mutex lock -+ -+wrlock_entry - probe for entry to the pthread_rwlock_wrlock function -+ arg1 = address of rw lock -+rdlock_entry - probe for entry to the pthread_rwlock_rdlock function -+ arg1 = address of rw lock -+ -+rwlock_destroy - probe for pthread_rwlock_destroy -+ arg1 = address of rw lock -+wrlock_acquire_write - probe for pthread_rwlock_wrlock (after getting the lock) -+ arg1 = address of rw lock -+rdlock_acquire_read - probe for pthread_rwlock_rdlock after successfully getting -+ the lock -+ arg1 = address of rw lock -+rwlock_unlock - probe for pthread_rwlock_unlock -+ arg1 = address of rw lock -+ -+lll_lock_wait - probe in low-level (assembly language) locking code, only fired -+ when futex/FUTEX_WAIT is called (i.e. when trying to acquire a -+ contented lock) -+ arg1 = pointer to futex -+ arg2 = flags passed to the futex system call -+lll_lock_wait_private - probe in low-level (assembly language) locking code, -+ only fired when futex/FUTEX_WAIT is called (i.e. when -+ trying to acquire a contented lock) -+ arg1 = pointer to futex -+ -+lll_futex_wake - probe in low-level (assembly language) locking code, only fired -+ when futex (FUTEX_WAKE) is called -+ arg1 = pointer to futex -+ arg2 = number of processes to wake -+ arg3 = additional flags -+ -+Condition variable Probes -+========================= -+cond_init - probe for pthread_cond_init -+ arg1 = condition -+ arg2 = attr -+cond_destroy - probe for pthread_cond_destroy -+ arg1 = cond -+cond_wait - probe for pthread_cond_wait -+ arg1 = condition -+ arg2 = mutex lock -+cond_timedwait - probe for pthread_cond_timedwait -+ arg1 = condition -+ arg2 = mutex lock -+ arg3 = timespec -+cond_signal - probe for pthread_cond_signal -+ arg1 = condition -+cond_broadcast - probe for pthread_cond_broadcast -+ arg1 = condition -diff -Nur a/nptl/Makefile b/nptl/Makefile ---- a/nptl/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/Makefile 2011-12-22 17:59:24.580119308 +0000 -@@ -342,7 +342,8 @@ - extra-objs += $(crti-objs) $(crtn-objs) - omit-deps += crti crtn - --CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) -+CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) \ -+ -fno-asynchronous-unwind-tables - endif - - CFLAGS-flockfile.c = -D_IO_MTSAFE_IO -@@ -529,15 +530,19 @@ - $(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \ - $(objpfx)libpthread_nonshared.a - $(objpfx)tst-unload: $(common-objpfx)dlfcn/libdl.so --# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so, -+# $(objpfx)linklibc.so is used instead of $(common-objpfx)libc.so, - # since otherwise libpthread.so comes before libc.so when linking. - $(addprefix $(objpfx), $(tests-reverse)): \ -- $(objpfx)../libc.so $(objpfx)libpthread.so \ -+ $(objpfx)linklibc.so $(objpfx)libpthread.so \ - $(objpfx)libpthread_nonshared.a - $(objpfx)../libc.so: $(common-objpfx)libc.so ; - $(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(objpfx)libpthread.a - - $(objpfx)tst-atfork2.out: $(objpfx)tst-atfork2mod.so ++* Paul Eggert provided the tzselect shell script as part of the timezone ++ code. The shell script makes it easy to select the correct timezone ++ specification. + -+$(objpfx)linklibc.so: $(common-objpfx)libc.so -+ ln -s ../libc.so $@ -+generated += libclink.so - else - $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a - endif -diff -Nur a/nptl/Versions b/nptl/Versions ---- a/nptl/Versions 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/Versions 2011-12-22 17:59:24.581119308 +0000 -@@ -30,6 +30,7 @@ - __libc_alloca_cutoff; - # Internal libc interface to libpthread - __libc_dl_error_tsd; -+ __getrlimit; - } - } - -diff -Nur a/nptl/nptl-init.c b/nptl/nptl-init.c ---- a/nptl/nptl-init.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/nptl-init.c 2011-12-22 17:59:24.581119308 +0000 -@@ -415,7 +415,7 @@ - /* Determine the default allowed stack size. This is the size used - in case the user does not specify one. */ - struct rlimit limit; -- if (getrlimit (RLIMIT_STACK, &limit) != 0 -+ if (__getrlimit (RLIMIT_STACK, &limit) != 0 - || limit.rlim_cur == RLIM_INFINITY) - /* The system limit is not usable. Use an architecture-specific - default. */ -diff -Nur a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c ---- a/nptl/pthread_cond_broadcast.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_cond_broadcast.c 2011-12-22 17:59:24.582119308 +0000 -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -32,6 +33,8 @@ - __pthread_cond_broadcast (cond) - pthread_cond_t *cond; - { -+ LIBC_PROBE (cond_broadcast, 1, cond); -+ - int pshared = (cond->__data.__mutex == (void *) ~0l) - ? LLL_SHARED : LLL_PRIVATE; - /* Make sure we are alone. */ -diff -Nur a/nptl/pthread_cond_destroy.c b/nptl/pthread_cond_destroy.c ---- a/nptl/pthread_cond_destroy.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_cond_destroy.c 2011-12-22 17:59:24.582119308 +0000 -@@ -20,6 +20,7 @@ - #include - #include - #include "pthreadP.h" -+#include - - - int -@@ -29,6 +30,8 @@ - int pshared = (cond->__data.__mutex == (void *) ~0l) - ? LLL_SHARED : LLL_PRIVATE; - -+ LIBC_PROBE (cond_destroy, 1, cond); ++* The implementation of the malloc family of functions is completely replaced ++ by a new implementation by Doug Lea with many improvements by Wolfram Gloger. ++ The implementation uses the mmap function (if available) and it is ++ optimized for the use in multi threaded programs. + - /* Make sure we are alone. */ - lll_lock (cond->__data.__lock, pshared); - -diff -Nur a/nptl/pthread_cond_init.c b/nptl/pthread_cond_init.c ---- a/nptl/pthread_cond_init.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_cond_init.c 2011-12-22 17:59:24.583119308 +0000 -@@ -20,6 +20,7 @@ - - #include - #include "pthreadP.h" -+#include - - - int -@@ -42,6 +43,8 @@ - ? NULL : (void *) ~0l); - cond->__data.__broadcast_seq = 0; - -+ LIBC_PROBE (cond_init, 2, cond, cond_attr); -+ - return 0; - } - versioned_symbol (libpthread, __pthread_cond_init, -diff -Nur a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c ---- a/nptl/pthread_cond_signal.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_cond_signal.c 2011-12-22 17:59:24.583119308 +0000 -@@ -26,6 +26,7 @@ - - #include - #include -+#include - - - int -@@ -35,6 +36,8 @@ - int pshared = (cond->__data.__mutex == (void *) ~0l) - ? LLL_SHARED : LLL_PRIVATE; - -+ LIBC_PROBE (cond_signal, 1, cond); ++* Ulrich Drepper contributed a MD5 "encryption" for the crypt family of ++ functions. This new functionality is usable by specifying a special ++ salt string and it is compatible with implementation on *BSD systems. + - /* Make sure we are alone. */ - lll_lock (cond->__data.__lock, pshared); - -diff -Nur a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c ---- a/nptl/pthread_cond_wait.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_cond_wait.c 2011-12-22 17:59:24.583119308 +0000 -@@ -25,6 +25,7 @@ - #include - - #include -+#include - - - struct _condvar_cleanup_buffer -@@ -101,6 +102,8 @@ - int pshared = (cond->__data.__mutex == (void *) ~0l) - ? LLL_SHARED : LLL_PRIVATE; - -+ LIBC_PROBE (cond_wait, 2, cond, mutex); ++* Lots of functions from the XPG4.2 standard were added by Ulrich Drepper: ++ `getsubopt' to handle second level command line options, `bsd_signal' ++ to access BSD style `signal' functionality, the obsolete `regexp' style ++ expression matcher. + - /* Make sure we are alone. */ - lll_lock (cond->__data.__lock, pshared); - -diff -Nur a/nptl/pthread_create.c b/nptl/pthread_create.c ---- a/nptl/pthread_create.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_create.c 2011-12-22 17:59:24.584119309 +0000 -@@ -32,6 +32,8 @@ - - #include - -+#include ++* the `lchown' function is available on system which support this ++ functionality. + - - /* Local function to start thread and handle cleanup. */ - static int start_thread (void *arg); -@@ -300,6 +302,8 @@ - CANCEL_RESET (oldtype); - } - -+ LIBC_PROBE (pthread_start, 3, (pthread_t) pd, pd->start_routine, pd->arg); -+ - /* Run the code the user provided. */ - #ifdef CALL_THREAD_FCT - THREAD_SETMEM (pd, result, CALL_THREAD_FCT (pd)); -@@ -557,6 +561,8 @@ - /* Pass the descriptor to the caller. */ - *newthread = (pthread_t) pd; - -+ LIBC_PROBE (pthread_create, 4, newthread, attr, start_routine, arg); -+ - /* Start the thread. */ - return create_thread (pd, iattr, STACK_VARIABLES_ARGS); - } -diff -Nur a/nptl/pthread_join.c b/nptl/pthread_join.c ---- a/nptl/pthread_join.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_join.c 2011-12-22 17:59:24.585119309 +0000 -@@ -23,6 +23,8 @@ - #include - #include "pthreadP.h" - -+#include ++* The implementation of the shadow password handling function was contributed ++ by Ulrich Drepper. + - - static void - cleanup (void *arg) -@@ -55,6 +57,8 @@ - struct pthread *self = THREAD_SELF; - int result = 0; - -+ LIBC_PROBE (pthread_join, 1, threadid); -+ - /* During the wait we change to asynchronous cancellation. If we - are canceled the thread we are waiting for must be marked as - un-wait-ed for again. */ -@@ -110,5 +114,7 @@ - __free_tcb (pd); - } - -+ LIBC_PROBE (pthread_join_ret, 3, threadid, result, pd->result); -+ - return result; - } -diff -Nur a/nptl/pthread_mutex_destroy.c b/nptl/pthread_mutex_destroy.c ---- a/nptl/pthread_mutex_destroy.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_mutex_destroy.c 2011-12-22 17:59:24.585119309 +0000 -@@ -20,11 +20,15 @@ - #include - #include "pthreadP.h" - -+#include ++* David Mosberger-Tang changed the SunRPC implementation to be 64bit safe. + - - int - __pthread_mutex_destroy (mutex) - pthread_mutex_t *mutex; - { -+ LIBC_PROBE (mutex_destroy, 1, mutex); -+ - if ((mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP) == 0 - && mutex->__data.__nusers != 0) - return EBUSY; -diff -Nur a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c ---- a/nptl/pthread_mutex_init.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_mutex_init.c 2011-12-22 17:59:24.586119309 +0000 -@@ -24,6 +24,8 @@ - #include - #include "pthreadP.h" - -+#include -+ - static const struct pthread_mutexattr default_attr = - { - /* Default is a normal mutex, not shared between processes. */ -@@ -135,6 +137,8 @@ - // mutex->__spins = 0; already done by memset - // mutex->__next = NULL; already done by memset - -+ LIBC_PROBE (mutex_init, 1, mutex); -+ - return 0; - } - strong_alias (__pthread_mutex_init, pthread_mutex_init) -diff -Nur a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c ---- a/nptl/pthread_mutex_lock.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_mutex_lock.c 2011-12-22 17:59:24.586119309 +0000 -@@ -24,6 +24,7 @@ - #include - #include "pthreadP.h" - #include -+#include - - - #ifndef LLL_MUTEX_LOCK -@@ -48,6 +49,9 @@ - assert (sizeof (mutex->__size) >= sizeof (mutex->__data)); - - unsigned int type = PTHREAD_MUTEX_TYPE (mutex); ++* POSIX.1g support was added. The header is available, ++ `isfdtype' and `pselect' are implemented. Craig Metz contributed an ++ implementation of `getaddrinfo'. ++ ++Version 1.09 + -+ LIBC_PROBE (mutex_entry, 1, mutex); ++* For cross-compilation you should now set `BUILD_CC' instead of `HOST_CC'. + - if (__builtin_expect (type & ~PTHREAD_MUTEX_KIND_MASK_NP, 0)) - return __pthread_mutex_lock_full (mutex); - -@@ -127,6 +131,8 @@ - ++mutex->__data.__nusers; - #endif - -+ LIBC_PROBE (mutex_acquired, 1, mutex); ++* New header file and new functions `getfsspec', `getfsent' and ++ friends, for parsing /etc/fstab. This code comes from 4.4 BSD. + - return 0; - } - -@@ -467,6 +473,8 @@ - ++mutex->__data.__nusers; - #endif - -+ LIBC_PROBE (mutex_acquired, 1, mutex); -+ - return 0; - } - #ifndef __pthread_mutex_lock -diff -Nur a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c ---- a/nptl/pthread_mutex_timedlock.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_mutex_timedlock.c 2011-12-22 17:59:24.586119309 +0000 -@@ -24,6 +24,8 @@ - #include - #include - -+#include ++* The new function `daemon' from 4.4 BSD is useful for server programs that ++ want to put themselves in the background. + - - int - pthread_mutex_timedlock (mutex, abstime) -@@ -34,6 +36,8 @@ - pid_t id = THREAD_GETMEM (THREAD_SELF, tid); - int result = 0; - -+ LIBC_PROBE (mutex_timedlock_entry, 2, mutex, abstime); ++* Joel Sherrill has contributed support for several standalone boards that ++ run without an operating system. + - /* We must not check ABSTIME here. If the thread does not block - abstime must not be checked for a valid value. */ - -@@ -172,6 +176,8 @@ - - ++mutex->__data.__count; - -+ LIBC_PROBE (mutex_timedlock_acquired, 1, mutex); ++* `printf', `scanf' and friends now accept a `q' type modifier for long ++ long int as well as `ll'. Formats using these might be `%qu' or `%lld'. + - return 0; - } - } -@@ -242,6 +248,8 @@ - - ++mutex->__data.__count; - -+ LIBC_PROBE (mutex_timedlock_acquired, 1, mutex); ++* All of the code taken from BSD (notably most of the math and networking ++ routines) has been updated from the BSD 4.4-Lite release. + - return 0; - } - } -@@ -377,6 +385,8 @@ - - ++mutex->__data.__count; - -+ LIBC_PROBE (mutex_timedlock_acquired, 1, mutex); -+ - return 0; - } - } -@@ -477,6 +487,8 @@ - /* Record the ownership. */ - mutex->__data.__owner = id; - ++mutex->__data.__nusers; -+ -+ LIBC_PROBE (mutex_timedlock_acquired, 1, mutex); - } - - out: -diff -Nur a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c ---- a/nptl/pthread_mutex_unlock.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_mutex_unlock.c 2011-12-22 17:59:24.587119309 +0000 -@@ -22,6 +22,7 @@ - #include - #include "pthreadP.h" - #include -+#include - - static int - internal_function -@@ -50,6 +51,9 @@ - - /* Unlock. */ - lll_unlock (mutex->__data.__lock, PTHREAD_MUTEX_PSHARED (mutex)); ++* The resolver code has been updated from the BIND-4.9.3-BETA9 release. + -+ LIBC_PROBE (mutex_release, 1, mutex); ++* The new functions `getdomainname' and `setdomainname' fetch or change the ++ YP/NIS domain name. These are system calls which exist on systems which ++ have YP (aka NIS). + - return 0; - } - else if (__builtin_expect (type == PTHREAD_MUTEX_RECURSIVE_NP, 1)) -@@ -272,6 +276,9 @@ - PTHREAD_MUTEX_PSHARED (mutex)); - - int oldprio = newval >> PTHREAD_MUTEX_PRIO_CEILING_SHIFT; ++* The time zone data files have been updated for the latest international ++ conventions. + -+ LIBC_PROBE (mutex_release, 1, mutex); ++* The SunRPC programs `portmap' and `rpcinfo' are now installed in ++ $(sbindir) (usually /usr/local/sbin) instead of $(bindir). ++ ++Version 1.08 + - return __pthread_tpp_change_priority (oldprio, -1); - - default: -@@ -279,6 +286,7 @@ - return EINVAL; - } - -+ LIBC_PROBE (mutex_release, 1, mutex); - return 0; - } - -diff -Nur a/nptl/pthread_rwlock_destroy.c b/nptl/pthread_rwlock_destroy.c ---- a/nptl/pthread_rwlock_destroy.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_rwlock_destroy.c 2011-12-22 17:59:24.587119309 +0000 -@@ -18,12 +18,15 @@ - 02111-1307 USA. */ - - #include "pthreadP.h" -+#include - - - int - __pthread_rwlock_destroy (rwlock) - pthread_rwlock_t *rwlock; - { -+ LIBC_PROBE (rwlock_destroy, 1, rwlock); -+ - /* Nothing to be done. For now. */ - return 0; - } -diff -Nur a/nptl/pthread_rwlock_rdlock.c b/nptl/pthread_rwlock_rdlock.c ---- a/nptl/pthread_rwlock_rdlock.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_rwlock_rdlock.c 2011-12-22 17:59:24.588119309 +0000 -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* Acquire read lock for RWLOCK. */ -@@ -31,6 +32,8 @@ - { - int result = 0; - -+ LIBC_PROBE (rdlock_entry, 1, rwlock); ++* The C library now includes support for Sun RPC, from Sun's free ++ RPCSRC-4.0 distribution. The `portmap', `rpcinfo', and `rpcgen' programs ++ are included. (There is still no support for YP.) + - /* Make sure we are alone. */ - lll_lock (rwlock->__data.__lock, rwlock->__data.__shared); - -@@ -49,6 +52,8 @@ - --rwlock->__data.__nr_readers; - result = EAGAIN; - } -+ else -+ LIBC_PROBE (rdlock_acquire_read, 1, rwlock); - - break; - } -diff -Nur a/nptl/pthread_rwlock_unlock.c b/nptl/pthread_rwlock_unlock.c ---- a/nptl/pthread_rwlock_unlock.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_rwlock_unlock.c 2011-12-22 17:59:24.588119309 +0000 -@@ -22,11 +22,14 @@ - #include - #include - #include -+#include - - /* Unlock RWLOCK. */ - int - __pthread_rwlock_unlock (pthread_rwlock_t *rwlock) - { -+ LIBC_PROBE (rwlock_unlock, 1, rwlock); -+ - lll_lock (rwlock->__data.__lock, rwlock->__data.__shared); - if (rwlock->__data.__writer) - rwlock->__data.__writer = 0; -diff -Nur a/nptl/pthread_rwlock_wrlock.c b/nptl/pthread_rwlock_wrlock.c ---- a/nptl/pthread_rwlock_wrlock.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/pthread_rwlock_wrlock.c 2011-12-22 17:59:24.588119309 +0000 -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - - /* Acquire write lock for RWLOCK. */ -@@ -31,6 +32,8 @@ - { - int result = 0; - -+ LIBC_PROBE (wrlock_entry, 1, rwlock); ++* Tom Quinn has contributed a port of the C library to SGI machines running ++ Irix 4 (mips-sgi-irix4). + - /* Make sure we are alone. */ - lll_lock (rwlock->__data.__lock, rwlock->__data.__shared); - -@@ -41,6 +44,8 @@ - { - /* Mark self as writer. */ - rwlock->__data.__writer = THREAD_GETMEM (THREAD_SELF, tid); -+ -+ LIBC_PROBE (wrlock_acquire_write, 1, rwlock); - break; - } - -diff -Nur a/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h b/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h ---- a/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h 2011-12-22 17:59:24.589119309 +0000 -@@ -189,4 +189,7 @@ - /* Typed memory objects are not available. */ - #define _POSIX_TYPED_MEMORY_OBJECTS -1 - -+/* Streams are not available. */ -+#define _XOPEN_STREAMS -1 -+ - #endif /* bits/posix_opt.h */ -diff -Nur a/nptl/sysdeps/unix/sysv/linux/i386/Versions b/nptl/sysdeps/unix/sysv/linux/i386/Versions ---- a/nptl/sysdeps/unix/sysv/linux/i386/Versions 1970-01-01 00:00:00.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/Versions 2011-12-22 17:59:24.589119309 +0000 -@@ -0,0 +1,6 @@ -+libc { -+ GLIBC_PRIVATE { -+ # Internal libc interface to libpthread -+ __uname; -+ } -+} -diff -Nur a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S 2011-12-22 17:59:24.589119309 +0000 -@@ -22,6 +22,8 @@ - #include - #include - -+#include ++* The new `lockf' function is a simplified interface to the locking ++ facilities of `fcntl', included for compatibility. + - .text - - #ifdef __ASSUME_PRIVATE_FUTEX -@@ -91,7 +93,8 @@ - cmpl %edx, %eax /* NB: %edx == 2 */ - jne 2f - --1: movl $SYS_futex, %eax -+1: LIBC_PROBE (lll_lock_wait_private, 1, %ebx) -+ movl $SYS_futex, %eax - ENTER_KERNEL - - 2: movl %edx, %eax -diff -Nur a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S 2011-12-22 17:59:24.590119310 +0000 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - .text - -@@ -49,6 +50,8 @@ - - movl 20(%esp), %ebx - -+ LIBC_PROBE (cond_broadcast, 1, %edx) -+ - /* Get internal lock. */ - movl $1, %edx - xorl %eax, %eax -diff -Nur a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S 2011-12-22 17:59:24.590119310 +0000 -@@ -24,7 +24,7 @@ - #include - #include - #include -- -+#include - - .text - -@@ -45,6 +45,8 @@ - - movl 12(%esp), %edi - -+ LIBC_PROBE (cond_signal, 1, %edi) -+ - /* Get internal lock. */ - movl $1, %edx - xorl %eax, %eax -diff -Nur a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S 2011-12-22 17:59:24.591119311 +0000 -@@ -24,7 +24,7 @@ - #include - #include - #include -- -+#include - - .text - -@@ -61,6 +61,8 @@ - movl 20(%esp), %ebx - movl 28(%esp), %ebp - -+ LIBC_PROBE (cond_timedwait, 3, %ebx, 24(%esp), %ebp) -+ - cmpl $1000000000, 4(%ebp) - movl $EINVAL, %eax - jae 18f -diff -Nur a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 17:59:24.591119311 +0000 -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - - .text -@@ -61,6 +62,8 @@ - xorl %esi, %esi - movl 20(%esp), %ebx - -+ LIBC_PROBE (cond_wait, 2, 24(%esp), %ebx) -+ - /* Get internal lock. */ - movl $1, %edx - xorl %eax, %eax -diff -Nur a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S 2011-12-22 17:59:24.592119312 +0000 -@@ -23,6 +23,7 @@ - #include - #include - -+#include - - .text - -@@ -41,6 +42,8 @@ - xorl %esi, %esi - movl 12(%esp), %ebx - -+ LIBC_PROBE (rdlock_entry, 1, %ebx) -+ - /* Get the lock. */ - movl $1, %edx - xorl %eax, %eax -diff -Nur a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S 2011-12-22 17:59:24.592119312 +0000 -@@ -23,6 +23,7 @@ - #include - #include - -+#include - - .text - -@@ -41,6 +42,8 @@ - xorl %esi, %esi - movl 12(%esp), %ebx - -+ LIBC_PROBE (wrlock_entry, 1, %ebx) -+ - /* Get the lock. */ - movl $1, %edx - xorl %eax, %eax -diff -Nur a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h ---- a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2011-12-22 17:59:24.593119312 +0000 -@@ -20,6 +20,8 @@ - #ifndef _LOWLEVELLOCK_H - #define _LOWLEVELLOCK_H 1 - -+#include -+ - #ifndef __ASSEMBLER__ - # include - # include -@@ -226,6 +228,7 @@ - do { \ - int __ignore; \ - register __typeof (nr) _nr asm ("edx") = (nr); \ -+ LIBC_PROBE (lll_futex_wake, 3, futex, nr, private); \ - __asm __volatile (LLL_EBX_LOAD \ - LLL_ENTER_KERNEL \ - LLL_EBX_LOAD \ -diff -Nur a/nptl/sysdeps/unix/sysv/linux/i386/smp.h b/nptl/sysdeps/unix/sysv/linux/i386/smp.h ---- a/nptl/sysdeps/unix/sysv/linux/i386/smp.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/smp.h 2011-12-22 17:59:24.593119312 +0000 -@@ -37,7 +37,7 @@ - char *cp; - - /* Try reading the number using `sysctl' first. */ -- if (uname (&u.uts) == 0) -+ if (__uname (&u.uts) == 0) - cp = u.uts.version; - else - { -diff -Nur a/nptl/sysdeps/unix/sysv/linux/kernel-features.h b/nptl/sysdeps/unix/sysv/linux/kernel-features.h ---- a/nptl/sysdeps/unix/sysv/linux/kernel-features.h 1970-01-01 00:00:00.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/kernel-features.h 2011-12-22 17:59:24.593119312 +0000 -@@ -0,0 +1,6 @@ -+#include_next -+ -+/* NPTL can always assume all clone thread flags work. */ -+#ifndef __ASSUME_CLONE_THREAD_FLAGS -+# define __ASSUME_CLONE_THREAD_FLAGS 1 -+#endif -diff -Nur a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S 2011-12-22 17:59:24.594119312 +0000 -@@ -22,6 +22,8 @@ - #include - #include - -+#include ++* New time functions `timegm', `timelocal', and `dysize' for compatibility. ++ ++* New header file and new function `ftime' for compatibility. + - .text - - #ifdef __ASSUME_PRIVATE_FUTEX -@@ -87,7 +89,8 @@ - cmpl %edx, %eax /* NB: %edx == 2 */ - jne 2f - --1: movl $SYS_futex, %eax -+1: LIBC_PROBE (lll_lock_wait_private, 1, %rdi) -+ movl $SYS_futex, %eax - syscall - - 2: movl %edx, %eax -@@ -126,7 +129,8 @@ - cmpl %edx, %eax /* NB: %edx == 2 */ - jne 2f - --1: movl $SYS_futex, %eax -+1: LIBC_PROBE (lll_lock_wait, 2, %rdi, %rsi) -+ movl $SYS_futex, %eax - syscall - - 2: movl %edx, %eax -diff -Nur a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2011-12-22 17:59:24.594119312 +0000 -@@ -20,6 +20,8 @@ - #ifndef _LOWLEVELLOCK_H - #define _LOWLEVELLOCK_H 1 - -+#include -+ - #ifndef __ASSEMBLER__ - # include - # include -@@ -227,6 +229,7 @@ - do { \ - int __ignore; \ - register __typeof (nr) _nr __asm ("edx") = (nr); \ -+ LIBC_PROBE (lll_futex_wake, 3, futex, nr, private); \ - __asm __volatile ("syscall" \ - : "=a" (__ignore) \ - : "0" (SYS_futex), "D" (futex), \ -diff -Nur a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S 2011-12-22 17:59:24.595119312 +0000 -@@ -25,7 +25,7 @@ - #include - #include - #include -- -+#include - - .text - -@@ -35,6 +35,8 @@ - .align 16 - __pthread_cond_broadcast: - -+ LIBC_PROBE (cond_broadcast, 1, %rdi) -+ - /* Get internal lock. */ - movl $1, %esi - xorl %eax, %eax -diff -Nur a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S 2011-12-22 17:59:24.595119312 +0000 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - - .text -@@ -34,6 +35,8 @@ - .align 16 - __pthread_cond_signal: - -+ LIBC_PROBE (cond_signal, 1, %rdi) -+ - /* Get internal lock. */ - movq %rdi, %r8 - movl $1, %esi -diff -Nur a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S 2011-12-22 17:59:24.596119312 +0000 -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - #include - -@@ -68,6 +69,8 @@ - cfi_adjust_cfa_offset(FRAME_SIZE) - cfi_remember_state - -+ LIBC_PROBE (cond_timedwait, 3, %rdi, %rsi, %rdx) -+ - cmpq $1000000000, 8(%rdx) - movl $EINVAL, %eax - jae 48f -diff -Nur a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 17:59:24.596119312 +0000 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - #include - -@@ -66,6 +67,8 @@ - +--------------------------+ - */ - -+ LIBC_PROBE (cond_wait, 2, %rdi, %rsi) ++* New header files and and new function `poll' for ++ compatibility. + - cmpq $-1, dep_mutex(%rdi) - - /* Prepare structure passed to cancellation handler. */ -diff -Nur a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S 2011-12-22 17:59:24.597119312 +0000 -@@ -22,7 +22,7 @@ - #include - #include - #include -- -+#include - - .text - -@@ -31,6 +31,9 @@ - .align 16 - __pthread_rwlock_rdlock: - cfi_startproc ++* The error message printed by `assert' for a failed assertion now includes ++ the name of the program (if using GNU ld) and the name of the calling ++ function (with versions of GCC that support this). + -+ LIBC_PROBE (rdlock_entry, 1, %rdi) ++* The `psignal' function is now declared in , not . + - xorq %r10, %r10 - - /* Get the lock. */ -diff -Nur a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S 2011-12-22 17:59:24.597119312 +0000 -@@ -22,7 +22,7 @@ - #include - #include - #include -- -+#include - - .text - -@@ -31,6 +31,9 @@ - .align 16 - __pthread_rwlock_wrlock: - cfi_startproc ++* The library now includes the header file and memory ++ management functions `mmap', `munmap', `mprotect', `msync', and ++ `madvise', on systems that support those facilities. + -+ LIBC_PROBE (wrlock_entry, 1, %rdi) ++* The interface for `mcheck' has changed slightly: the function called to ++ abort the program when an allocation inconsistency is detected now takes ++ an argument that indicates the type of failure. The new function ++ `mprobe' lets you request a consistency check for a particular block at ++ any time (checks are normally done only when you call `free' or `realloc' ++ on a block). + - xorq %r10, %r10 - - /* Get the lock. */ -diff -Nur a/nscd/nscd.conf b/nscd/nscd.conf ---- a/nscd/nscd.conf 2011-12-22 16:50:52.000000000 +0000 -+++ b/nscd/nscd.conf 2011-12-22 17:59:24.597119312 +0000 -@@ -33,7 +33,7 @@ - # logfile /var/log/nscd.log - # threads 4 - # max-threads 32 --# server-user nobody -+ server-user nscd - # stat-user somebody - debug-level 0 - # reload-count 5 -diff -Nur a/nscd/nscd.init b/nscd/nscd.init ---- a/nscd/nscd.init 2011-12-22 16:50:52.000000000 +0000 -+++ b/nscd/nscd.init 2011-12-22 17:59:24.598119312 +0000 -@@ -9,6 +9,7 @@ - # slow naming services like NIS, NIS+, LDAP, or hesiod. - # processname: /usr/sbin/nscd - # config: /etc/nscd.conf -+# config: /etc/sysconfig/nscd - # - ### BEGIN INIT INFO - # Provides: nscd -@@ -28,20 +29,8 @@ - # Source function library. - . /etc/init.d/functions - --# nscd does not run on any kernel lower than 2.2.0 because of threading --# problems, so we require that in first place. --case $(uname -r) in -- 2.[2-9].*) -- # this is okay -- ;; -- [3-9]*) -- # these are of course also okay -- ;; -- *) -- #this is not -- exit 1 -- ;; --esac -+# Source an auxiliary options file if we have one, and pick up NSCD_OPTIONS. -+[ -r /etc/sysconfig/nscd ] && . /etc/sysconfig/nscd - - RETVAL=0 - prog=nscd -@@ -50,7 +39,7 @@ - [ -d /var/run/nscd ] || mkdir /var/run/nscd - [ -d /var/db/nscd ] || mkdir /var/db/nscd - echo -n $"Starting $prog: " -- daemon /usr/sbin/nscd -+ daemon /usr/sbin/nscd $NSCD_OPTIONS - RETVAL=$? - echo - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd -@@ -83,11 +72,11 @@ - # See how we were called. - case "$1" in - start) -- start -+ [ -e /var/lock/subsys/nscd ] || start - RETVAL=$? - ;; - stop) -- stop -+ [ ! -e /var/lock/subsys/nscd ] || stop - RETVAL=$? - ;; - status) -@@ -99,14 +88,17 @@ - RETVAL=$? - ;; - try-restart | condrestart) -- [ -e /var/lock/subsys/nscd ] && restart -+ [ ! -e /var/lock/subsys/nscd ] || restart - RETVAL=$? - ;; - force-reload | reload) - echo -n $"Reloading $prog: " -- killproc /usr/sbin/nscd -HUP -- RETVAL=$? -- echo -+ RETVAL=0 -+ /usr/sbin/nscd -i passwd || RETVAL=$? -+ /usr/sbin/nscd -i group || RETVAL=$? -+ /usr/sbin/nscd -i hosts || RETVAL=$? -+ /usr/sbin/nscd -i services || RETVAL=$? -+ echo - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" -diff -Nur a/nscd/selinux.c b/nscd/selinux.c ---- a/nscd/selinux.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nscd/selinux.c 2011-12-22 17:59:24.598119312 +0000 -@@ -270,6 +270,18 @@ - { - int rc; - -+#if defined HAVE_LIBAUDIT && defined HAVE_LIBCAP -+ if (server_user != NULL && getuid () == 0) -+ { -+ /* We need to preserve the capabilities in the AVC thread. */ -+ if (prctl (PR_SET_KEEPCAPS, 1) == -1) -+ { -+ dbg_log (_("Failed to set keep-capabilities")); -+ error (EXIT_FAILURE, errno, _("prctl(KEEPCAPS) failed")); -+ } -+ } -+#endif -+ - rc = - pthread_create (&avc_notify_thread, NULL, (void *(*) (void *)) run, NULL); - if (rc != 0) -diff -Nur a/nss/Makefile b/nss/Makefile ---- a/nss/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/nss/Makefile 2011-12-22 17:59:24.599119312 +0000 -@@ -88,6 +88,7 @@ - - include ../Rules - -+CFLAGS-files-hosts.c += -fno-strict-aliasing - - ifeq (yes,$(build-static-nss)) - $(objpfx)getent: $(objpfx)libnss_files.a -diff -Nur a/nss/nss_files/files-XXX.c b/nss/nss_files/files-XXX.c ---- a/nss/nss_files/files-XXX.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/nss/nss_files/files-XXX.c 2011-12-22 17:59:24.599119312 +0000 -@@ -190,7 +190,7 @@ - { - char *p; - struct parser_data *data = (void *) buffer; -- int linebuflen = buffer + buflen - data->linebuffer; -+ size_t linebuflen = buffer + buflen - data->linebuffer; - int parse_result; - - if (buflen < sizeof *data + 2) -diff -Nur a/posix/Makefile b/posix/Makefile ---- a/posix/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/posix/Makefile 2011-12-22 17:59:24.600119312 +0000 -@@ -320,15 +320,8 @@ - mv -f $@/$$spec.new $@/$$spec; \ - done < $(objpfx)getconf.speclist - --$(objpfx)getconf.speclist: $(objpfx)getconf --ifeq (no,$(cross-compiling)) -- LC_ALL=C GETCONF_DIR=/dev/null \ -- $(run-program-prefix) $< _POSIX_V7_WIDTH_RESTRICTED_ENVS > $@.new -- LC_ALL=C GETCONF_DIR=/dev/null \ -- $(run-program-prefix) $< _POSIX_V6_WIDTH_RESTRICTED_ENVS >> $@.new -- LC_ALL=C GETCONF_DIR=/dev/null \ -- $(run-program-prefix) $< _XBS5_WIDTH_RESTRICTED_ENVS >> $@.new --else -- > $@.new --endif -+$(objpfx)getconf.speclist: getconf.speclist.h -+ $(CC) -E $(CFLAGS) $(CPPFLAGS) $< \ -+ | sed -n -e '/START_OF_STRINGS/,$${/\(POSIX_V[67]\|XBS5\)_/{s/^[^"]*"//;s/".*$$//;p}}' \ -+ > $@.new - mv -f $@.new $@ -diff -Nur a/posix/gai.conf b/posix/gai.conf ---- a/posix/gai.conf 2011-12-22 16:50:52.000000000 +0000 -+++ b/posix/gai.conf 2011-12-22 17:59:24.600119312 +0000 -@@ -41,7 +41,7 @@ - # - # precedence - # Add another rule to the RFC 3484 precedence table. See section 2.1 --# and 10.3 in RFC 3484. The default is: -+# and 10.3 in RFC 3484. The RFC requires: - # - #precedence ::1/128 50 - #precedence ::/0 40 -@@ -58,7 +58,7 @@ - # Add another rule to the RFC 3484 scope table for IPv4 addresses. - # By default the scope IDs described in section 3.2 in RFC 3484 are - # used. Changing these defaults should hardly ever be necessary. --# The defaults are equivalent to: -+# The definitions in RFC 1918 are equivalent to: - # - #scopev4 ::ffff:169.254.0.0/112 2 - #scopev4 ::ffff:127.0.0.0/104 2 -@@ -75,3 +75,5 @@ - #scopev4 ::ffff:169.254.0.0/112 2 - #scopev4 ::ffff:127.0.0.0/104 2 - #scopev4 ::ffff:0.0.0.0/96 14 -+# -+# This is what the Red Hat setting currently uses. -diff -Nur a/posix/getconf.speclist.h b/posix/getconf.speclist.h ---- a/posix/getconf.speclist.h 1970-01-01 00:00:00.000000000 +0000 -+++ b/posix/getconf.speclist.h 2011-12-22 17:59:24.600119312 +0000 -@@ -0,0 +1,39 @@ -+#include -+const char *START_OF_STRINGS = -+#if _POSIX_V7_ILP32_OFF32 == 1 -+"POSIX_V7_ILP32_OFF32" -+#endif -+#if _POSIX_V7_ILP32_OFFBIG == 1 -+"POSIX_V7_ILP32_OFFBIG" -+#endif -+#if _POSIX_V7_LP64_OFF64 == 1 -+"POSIX_V7_LP64_OFF64" -+#endif -+#if _POSIX_V7_LPBIG_OFFBIG == 1 -+"POSIX_V7_LPBIG_OFFBIG" -+#endif -+#if _POSIX_V6_ILP32_OFF32 == 1 -+"POSIX_V6_ILP32_OFF32" -+#endif -+#if _POSIX_V6_ILP32_OFFBIG == 1 -+"POSIX_V6_ILP32_OFFBIG" -+#endif -+#if _POSIX_V6_LP64_OFF64 == 1 -+"POSIX_V6_LP64_OFF64" -+#endif -+#if _POSIX_V6_LPBIG_OFFBIG == 1 -+"POSIX_V6_LPBIG_OFFBIG" -+#endif -+#if _XBS5_ILP32_OFF32 == 1 -+"XBS5_ILP32_OFF32" -+#endif -+#if _XBS5_ILP32_OFFBIG == 1 -+"XBS5_ILP32_OFFBIG" -+#endif -+#if _XBS5_LP64_OFF64 == 1 -+"XBS5_LP64_OFF64" -+#endif -+#if _XBS5_LPBIG_OFFBIG == 1 -+"XBS5_LPBIG_OFFBIG" -+#endif -+""; -diff -Nur a/posix/regcomp.c b/posix/regcomp.c ---- a/posix/regcomp.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/posix/regcomp.c 2011-12-22 17:59:24.601119313 +0000 -@@ -2745,40 +2745,29 @@ - - /* Local function for parse_bracket_exp used in _LIBC environement. - Seek the collating symbol entry correspondings to NAME. -- Return the index of the symbol in the SYMB_TABLE. */ -+ Return the index of the symbol in the SYMB_TABLE, -+ or -1 if not found. */ - - auto inline int32_t - __attribute ((always_inline)) -- seek_collating_symbol_entry (name, name_len) -- const unsigned char *name; -- size_t name_len; -+ seek_collating_symbol_entry (const unsigned char *name, size_t name_len) - { -- int32_t hash = elem_hash ((const char *) name, name_len); -- int32_t elem = hash % table_size; -- if (symb_table[2 * elem] != 0) -- { -- int32_t second = hash % (table_size - 2) + 1; -+ int32_t elem; - -- do -- { -- /* First compare the hashing value. */ -- if (symb_table[2 * elem] == hash -- /* Compare the length of the name. */ -- && name_len == extra[symb_table[2 * elem + 1]] -- /* Compare the name. */ -- && memcmp (name, &extra[symb_table[2 * elem + 1] + 1], -- name_len) == 0) -- { -- /* Yep, this is the entry. */ -- break; -- } -- -- /* Next entry. */ -- elem += second; -- } -- while (symb_table[2 * elem] != 0); -- } -- return elem; -+ for (elem = 0; elem < table_size; elem++) -+ if (symb_table[2 * elem] != 0) -+ { -+ int32_t idx = symb_table[2 * elem + 1]; -+ /* Skip the name of collating element name. */ -+ idx += 1 + extra[idx]; -+ if (/* Compare the length of the name. */ -+ name_len == extra[idx] -+ /* Compare the name. */ -+ && memcmp (name, &extra[idx + 1], name_len) == 0) -+ /* Yep, this is the entry. */ -+ return elem; -+ } -+ return -1; - } - - /* Local function for parse_bracket_exp used in _LIBC environment. -@@ -2787,8 +2776,7 @@ - - auto inline unsigned int - __attribute ((always_inline)) -- lookup_collation_sequence_value (br_elem) -- bracket_elem_t *br_elem; -+ lookup_collation_sequence_value (bracket_elem_t *br_elem) - { - if (br_elem->type == SB_CHAR) - { -@@ -2816,7 +2804,7 @@ - int32_t elem, idx; - elem = seek_collating_symbol_entry (br_elem->opr.name, - sym_name_len); -- if (symb_table[2 * elem] != 0) -+ if (elem != -1) - { - /* We found the entry. */ - idx = symb_table[2 * elem + 1]; -@@ -2834,7 +2822,7 @@ - /* Return the collation sequence value. */ - return *(unsigned int *) (extra + idx); - } -- else if (symb_table[2 * elem] == 0 && sym_name_len == 1) -+ else if (sym_name_len == 1) - { - /* No valid character. Match it as a single byte - character. */ -@@ -2856,11 +2844,8 @@ - - auto inline reg_errcode_t - __attribute ((always_inline)) -- build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem) -- re_charset_t *mbcset; -- int *range_alloc; -- bitset_t sbcset; -- bracket_elem_t *start_elem, *end_elem; -+ build_range_exp (bitset_t sbcset, re_charset_t *mbcset, int *range_alloc, -+ bracket_elem_t *start_elem, bracket_elem_t *end_elem) - { - unsigned int ch; - uint32_t start_collseq; -@@ -2939,25 +2924,22 @@ - - auto inline reg_errcode_t - __attribute ((always_inline)) -- build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name) -- re_charset_t *mbcset; -- int *coll_sym_alloc; -- bitset_t sbcset; -- const unsigned char *name; -+ build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, -+ int *coll_sym_alloc, const unsigned char *name) - { - int32_t elem, idx; - size_t name_len = strlen ((const char *) name); - if (nrules != 0) - { - elem = seek_collating_symbol_entry (name, name_len); -- if (symb_table[2 * elem] != 0) -+ if (elem != -1) - { - /* We found the entry. */ - idx = symb_table[2 * elem + 1]; - /* Skip the name of collating element name. */ - idx += 1 + extra[idx]; - } -- else if (symb_table[2 * elem] == 0 && name_len == 1) -+ else if (name_len == 1) - { - /* No valid character, treat it as a normal - character. */ -diff -Nur a/resolv/Makefile b/resolv/Makefile ---- a/resolv/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/resolv/Makefile 2011-12-22 17:59:24.602119314 +0000 -@@ -81,6 +81,7 @@ - CFLAGS-libresolv += -fstack-protector - endif - CFLAGS-res_hconf.c = -fexceptions -+CFLAGS-res_send.c += -fno-strict-aliasing - - # The BIND code elicits some harmless warnings. - +cflags += -Wno-strict-prototypes -Wno-write-strings -diff -Nur a/resource/getrlimit.c b/resource/getrlimit.c ---- a/resource/getrlimit.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/resource/getrlimit.c 2011-12-22 17:59:24.603119315 +0000 -@@ -28,6 +28,7 @@ - __set_errno (ENOSYS); - return -1; - } -+libc_hidden_def (__getrlimit) - weak_alias (__getrlimit, getrlimit) - - stub_warning (getrlimit) -diff -Nur a/scripts/check-local-headers.sh b/scripts/check-local-headers.sh ---- a/scripts/check-local-headers.sh 2011-12-22 16:50:52.000000000 +0000 -+++ b/scripts/check-local-headers.sh 2011-12-22 17:59:24.603119315 +0000 -@@ -29,7 +29,7 @@ - BEGIN { - status = 0 - exclude = "^" includedir \ -- "/(asm[-/]|linux/|selinux/|gd|nss3/|sys/capability\\.h|libaudit\\.h)" -+ "/(asm[-/]|linux/|selinux/|gd|nss3/|sys/capability\\.h|libaudit\\.h|sys/sdt(-config)?\\.h))" - } - /^[^ ]/ && $1 ~ /.*:/ { obj = $1 } - { -diff -Nur a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c ---- a/stdio-common/vfprintf.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/stdio-common/vfprintf.c 2011-12-22 17:59:24.604119316 +0000 -@@ -1161,41 +1161,9 @@ - else if (!is_long && spec != L_('S')) \ - { \ - if (prec != -1) \ -- { \ -- /* Search for the end of the string, but don't search past \ -- the length (in bytes) specified by the precision. Also \ -- don't use incomplete characters. */ \ -- if (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MB_CUR_MAX) == 1) \ -- len = __strnlen (string, prec); \ -- else \ -- { \ -- /* In case we have a multibyte character set the \ -- situation is more complicated. We must not copy \ -- bytes at the end which form an incomplete character. */\ -- size_t ignore_size = (unsigned) prec > 1024 ? 1024 : prec;\ -- wchar_t ignore[ignore_size]; \ -- const char *str2 = string; \ -- const char *strend = string + prec; \ -- if (strend < string) \ -- strend = (const char *) UINTPTR_MAX; \ -- \ -- mbstate_t ps; \ -- memset (&ps, '\0', sizeof (ps)); \ -- \ -- while (str2 != NULL && str2 < strend) \ -- if (__mbsnrtowcs (ignore, &str2, strend - str2, \ -- ignore_size, &ps) == (size_t) -1) \ -- { \ -- done = -1; \ -- goto all_done; \ -- } \ -- \ -- if (str2 == NULL) \ -- len = strlen (string); \ -- else \ -- len = str2 - string - (ps.__count & 7); \ -- } \ -- } \ -+ /* Search for the end of the string, but don't search past \ -+ the length (in bytes) specified by the precision. */ \ -+ len = __strnlen (string, prec); \ - else \ - len = strlen (string); \ - } \ -diff -Nur a/streams/Makefile b/streams/Makefile ---- a/streams/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/streams/Makefile 2011-12-22 17:59:24.605119317 +0000 -@@ -21,7 +21,7 @@ - # - subdir := streams - --headers = stropts.h sys/stropts.h bits/stropts.h bits/xtitypes.h -+#headers = stropts.h sys/stropts.h bits/stropts.h bits/xtitypes.h - routines = isastream getmsg getpmsg putmsg putpmsg fattach fdetach - - include ../Rules -diff -Nur a/sunrpc/Makefile b/sunrpc/Makefile ---- a/sunrpc/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/sunrpc/Makefile 2011-12-22 17:59:24.605119317 +0000 -@@ -53,7 +53,7 @@ - des_crypt.h) - headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \ - $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h --headers = rpc/netdb.h -+headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc) - install-others = $(inst_sysconfdir)/rpc - generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ - $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen -@@ -152,6 +152,10 @@ - - CPPFLAGS += -D_RPC_THREAD_SAFE_ - -+CFLAGS-clnt_tcp.c += -fno-strict-aliasing -+CFLAGS-clnt_udp.c += -fno-strict-aliasing -+CFLAGS-clnt_unix.c += -fno-strict-aliasing -+ - $(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so - $(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so - $(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so -diff -Nur a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h ---- a/sysdeps/generic/dl-cache.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/generic/dl-cache.h 2011-12-22 17:59:24.605119317 +0000 -@@ -36,6 +36,14 @@ - # define add_system_dir(dir) add_dir (dir) - #endif - -+#ifndef arch_startup -+# define arch_startup(argc, argv) do { } while (0) -+#endif ++* It is now possible to easily cross-compile the C library, building on one ++ system a library to run on another machine and/or operating system. All ++ you need to do is set the variable `HOST_CC' in `configparms' to the ++ native compiler for programs to run on the machine you are building on (a ++ few generator programs are used on Unix systems); set `CC' to the ++ cross-compiler. + -+#ifndef add_arch_dirs -+# define add_arch_dirs(config_file) do { } while (0) -+#endif ++* The new function `fexecve' (only implemented on the GNU system) executes ++ a program file given a file descriptor already open on the file. ++ ++Version 1.07 + - #define CACHEMAGIC "ld.so-1.7.0" - - /* libc5 and glibc 2.0/2.1 use the same format. For glibc 2.2 another -diff -Nur a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile ---- a/sysdeps/i386/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/i386/Makefile 2011-12-22 17:59:24.606119317 +0000 -@@ -2,6 +2,8 @@ - # Every i386 port in use uses gas syntax (I think). - asm-CPPFLAGS += -DGAS_SYNTAX - -+sysdep-ASFLAGS += -U__i686 ++* Brendan Kehoe has contributed most of a port to the DEC Alpha ++ running OSF/1 (alpha-dec-osf1). He says it is 75% complete. + - # The i386 `long double' is a distinct type we support. - long-double-fcts = yes - -@@ -68,6 +70,14 @@ - - ifneq (,$(filter -mno-tls-direct-seg-refs,$(CFLAGS))) - defines += -DNO_TLS_DIRECT_SEG_REFS -+else -+# .a libraries are not performance critical and so we -+# build them without direct TLS segment references -+# always. -+CPPFLAGS-.o += -DNO_TLS_DIRECT_SEG_REFS -+CFLAGS-.o += -mno-tls-direct-seg-refs -+CPPFLAGS-.oS += -DNO_TLS_DIRECT_SEG_REFS -+CFLAGS-.oS += -mno-tls-direct-seg-refs - endif - - ifeq ($(subdir),elf) -diff -Nur a/sysdeps/i386/__longjmp.S b/sysdeps/i386/__longjmp.S ---- a/sysdeps/i386/__longjmp.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/i386/__longjmp.S 2011-12-22 17:59:24.606119317 +0000 -@@ -1,5 +1,5 @@ - /* longjmp for i386. -- Copyright (C) 1995-1998,2000,2002,2005,2006,2009 -+ Copyright (C) 1995-1998,2000,2002,2005,2006,2009,2011 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - - .text - ENTRY (__longjmp) -@@ -33,6 +34,7 @@ - movl (JB_SP*4)(%eax), %ecx - PTR_DEMANGLE (%edx) - PTR_DEMANGLE (%ecx) -+ LIBC_PROBE (longjmp, 3, 4@%eax, -4@8(%esp), 4@%edx) - cfi_def_cfa(%eax, 0) - cfi_register(%eip, %edx) - cfi_register(%esp, %ecx) -@@ -50,6 +52,7 @@ - cfi_restore(%edi) - cfi_restore(%ebp) - -+ LIBC_PROBE (longjmp_target, 3, 4@%eax, -4@8(%esp), 4@%edx) - movl 8(%esp), %eax /* Second argument is return value. */ - movl %ecx, %esp - #else -@@ -57,12 +60,14 @@ - movl 8(%esp), %eax /* Second argument is return value. */ - /* Save the return address now. */ - movl (JB_PC*4)(%ecx), %edx -+ LIBC_PROBE (longjmp, 3, 4@%ecx, -4@%eax, 4@%edx) - /* Restore registers. */ - movl (JB_BX*4)(%ecx), %ebx - movl (JB_SI*4)(%ecx), %esi - movl (JB_DI*4)(%ecx), %edi - movl (JB_BP*4)(%ecx), %ebp - movl (JB_SP*4)(%ecx), %esp -+ LIBC_PROBE (longjmp_target, 3, 4@%ecx, -4@%ecx, 4@%edx) - #endif - /* Jump to saved PC. */ - jmp *%edx -diff -Nur a/sysdeps/i386/bsd-_setjmp.S b/sysdeps/i386/bsd-_setjmp.S ---- a/sysdeps/i386/bsd-_setjmp.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/i386/bsd-_setjmp.S 2011-12-22 17:59:24.606119317 +0000 -@@ -1,5 +1,6 @@ - /* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. i386 version. -- Copyright (C) 1994-1997,2000-2002,2005, 2006 Free Software Foundation, Inc. -+ Copyright (C) 1994-1997,2000-2002,2005,2006,2011 -+ 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,6 +26,7 @@ - #include - #include "bp-sym.h" - #include "bp-asm.h" -+#include - - #define PARMS LINKAGE /* no space for saved regs */ - #define JMPBUF PARMS -@@ -47,6 +49,7 @@ - #endif - movl %ecx, (JB_SP*4)(%edx) - movl PCOFF(%esp), %ecx /* Save PC we are returning to now. */ -+ LIBC_PROBE (setjmp, 3, 4@%edx, -4@$0, 4@%ecx) - #ifdef PTR_MANGLE - PTR_MANGLE (%ecx) - #endif -diff -Nur a/sysdeps/i386/bsd-setjmp.S b/sysdeps/i386/bsd-setjmp.S ---- a/sysdeps/i386/bsd-setjmp.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/i386/bsd-setjmp.S 2011-12-22 17:59:24.607119317 +0000 -@@ -1,5 +1,6 @@ - /* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. i386 version. -- Copyright (C) 1994-1997,2000,2001,2005, 2006 Free Software Foundation, Inc. -+ Copyright (C) 1994-1997,2000,2001,2005,2006,2011 -+ 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,6 +26,7 @@ - #include - #include "bp-sym.h" - #include "bp-asm.h" -+#include - - #define PARMS LINKAGE /* no space for saved regs */ - #define JMPBUF PARMS -@@ -49,6 +51,7 @@ - #endif - movl %ecx, (JB_SP*4)(%eax) - movl PCOFF(%esp), %ecx /* Save PC we are returning to now. */ -+ LIBC_PROBE (setjmp, 3, 4@%eax, -4@$1, 4@%ecx) - #ifdef PTR_MANGLE - PTR_MANGLE (%ecx) - #endif -diff -Nur a/sysdeps/i386/i686/Makefile b/sysdeps/i386/i686/Makefile ---- a/sysdeps/i386/i686/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/i386/i686/Makefile 2011-12-22 17:59:24.607119317 +0000 -@@ -9,19 +9,3 @@ - ifeq ($(subdir),string) - sysdep_routines += cacheinfo - endif -- --ifeq (yes,$(config-asflags-i686)) --CFLAGS-.o += -Wa,-mtune=i686 --CFLAGS-.os += -Wa,-mtune=i686 --CFLAGS-.op += -Wa,-mtune=i686 --CFLAGS-.og += -Wa,-mtune=i686 --CFLAGS-.ob += -Wa,-mtune=i686 --CFLAGS-.oS += -Wa,-mtune=i686 -- --ASFLAGS-.o += -Wa,-mtune=i686 --ASFLAGS-.os += -Wa,-mtune=i686 --ASFLAGS-.op += -Wa,-mtune=i686 --ASFLAGS-.og += -Wa,-mtune=i686 --ASFLAGS-.ob += -Wa,-mtune=i686 --ASFLAGS-.oS += -Wa,-mtune=i686 --endif -diff -Nur a/sysdeps/i386/setjmp.S b/sysdeps/i386/setjmp.S ---- a/sysdeps/i386/setjmp.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/i386/setjmp.S 2011-12-22 17:59:24.608119317 +0000 -@@ -1,5 +1,5 @@ - /* setjmp for i386. -- Copyright (C) 1995,1996,1997,2000,2001,2005,2006 -+ Copyright (C) 1995,1996,1997,2000,2001,2005,2006,2011 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - -@@ -23,6 +23,7 @@ - #include - #include "bp-sym.h" - #include "bp-asm.h" -+#include - - #define PARMS LINKAGE /* no space for saved regs */ - #define JMPBUF PARMS -@@ -44,6 +45,7 @@ - #endif - movl %ecx, (JB_SP*4)(%eax) - movl PCOFF(%esp), %ecx /* Save PC we are returning to now. */ -+ LIBC_PROBE (setjmp, 3, 4@%eax, -4@SIGMSK(%esp), 4@%ecx) - #ifdef PTR_MANGLE - PTR_MANGLE (%ecx) - #endif -diff -Nur a/sysdeps/ia64/Makefile b/sysdeps/ia64/Makefile ---- a/sysdeps/ia64/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/ia64/Makefile 2011-12-22 17:59:24.608119317 +0000 -@@ -12,8 +12,8 @@ - - ifeq (yes,$(build-shared)) - # Compatibility --sysdep_routines += ia64libgcc --shared-only-routines += ia64libgcc -+sysdep_routines += libgcc-compat -+shared-only-routines += libgcc-compat - endif - endif - -diff -Nur a/sysdeps/ia64/ia64libgcc.S b/sysdeps/ia64/ia64libgcc.S ---- a/sysdeps/ia64/ia64libgcc.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/ia64/ia64libgcc.S 1970-01-01 00:00:00.000000000 +0000 -@@ -1,350 +0,0 @@ --/* From the Intel IA-64 Optimization Guide, choose the minimum latency -- alternative. */ -- --#include --#undef ret -- --#include -- --#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6) -- --/* __divtf3 -- Compute a 80-bit IEEE double-extended quotient. -- farg0 holds the dividend. farg1 holds the divisor. */ -- --ENTRY(___divtf3) -- cmp.eq p7, p0 = r0, r0 -- frcpa.s0 f10, p6 = farg0, farg1 -- ;; --(p6) cmp.ne p7, p0 = r0, r0 -- .pred.rel.mutex p6, p7 --(p6) fnma.s1 f11 = farg1, f10, f1 --(p6) fma.s1 f12 = farg0, f10, f0 -- ;; --(p6) fma.s1 f13 = f11, f11, f0 --(p6) fma.s1 f14 = f11, f11, f11 -- ;; --(p6) fma.s1 f11 = f13, f13, f11 --(p6) fma.s1 f13 = f14, f10, f10 -- ;; --(p6) fma.s1 f10 = f13, f11, f10 --(p6) fnma.s1 f11 = farg1, f12, farg0 -- ;; --(p6) fma.s1 f11 = f11, f10, f12 --(p6) fnma.s1 f12 = farg1, f10, f1 -- ;; --(p6) fma.s1 f10 = f12, f10, f10 --(p6) fnma.s1 f12 = farg1, f11, farg0 -- ;; --(p6) fma.s0 fret0 = f12, f10, f11 --(p7) mov fret0 = f10 -- br.ret.sptk rp --END(___divtf3) -- .symver ___divtf3, __divtf3@GLIBC_2.2 -- --/* __divdf3 -- Compute a 64-bit IEEE double quotient. -- farg0 holds the dividend. farg1 holds the divisor. */ -- --ENTRY(___divdf3) -- cmp.eq p7, p0 = r0, r0 -- frcpa.s0 f10, p6 = farg0, farg1 -- ;; --(p6) cmp.ne p7, p0 = r0, r0 -- .pred.rel.mutex p6, p7 --(p6) fmpy.s1 f11 = farg0, f10 --(p6) fnma.s1 f12 = farg1, f10, f1 -- ;; --(p6) fma.s1 f11 = f12, f11, f11 --(p6) fmpy.s1 f13 = f12, f12 -- ;; --(p6) fma.s1 f10 = f12, f10, f10 --(p6) fma.s1 f11 = f13, f11, f11 -- ;; --(p6) fmpy.s1 f12 = f13, f13 --(p6) fma.s1 f10 = f13, f10, f10 -- ;; --(p6) fma.d.s1 f11 = f12, f11, f11 --(p6) fma.s1 f10 = f12, f10, f10 -- ;; --(p6) fnma.d.s1 f8 = farg1, f11, farg0 -- ;; --(p6) fma.d fret0 = f8, f10, f11 --(p7) mov fret0 = f10 -- br.ret.sptk rp -- ;; --END(___divdf3) -- .symver ___divdf3, __divdf3@GLIBC_2.2 -- --/* __divsf3 -- Compute a 32-bit IEEE float quotient. -- farg0 holds the dividend. farg1 holds the divisor. */ -- --ENTRY(___divsf3) -- cmp.eq p7, p0 = r0, r0 -- frcpa.s0 f10, p6 = farg0, farg1 -- ;; --(p6) cmp.ne p7, p0 = r0, r0 -- .pred.rel.mutex p6, p7 --(p6) fmpy.s1 f8 = farg0, f10 --(p6) fnma.s1 f9 = farg1, f10, f1 -- ;; --(p6) fma.s1 f8 = f9, f8, f8 --(p6) fmpy.s1 f9 = f9, f9 -- ;; --(p6) fma.s1 f8 = f9, f8, f8 --(p6) fmpy.s1 f9 = f9, f9 -- ;; --(p6) fma.d.s1 f10 = f9, f8, f8 -- ;; --(p6) fnorm.s.s0 fret0 = f10 --(p7) mov fret0 = f10 -- br.ret.sptk rp -- ;; --END(___divsf3) -- .symver ___divsf3, __divsf3@GLIBC_2.2 -- --/* __divdi3 -- Compute a 64-bit integer quotient. -- in0 holds the dividend. in1 holds the divisor. */ -- --ENTRY(___divdi3) -- .regstk 2,0,0,0 -- /* Transfer inputs to FP registers. */ -- setf.sig f8 = in0 -- setf.sig f9 = in1 -- ;; -- /* Convert the inputs to FP, so that they won't be treated as -- unsigned. */ -- fcvt.xf f8 = f8 -- fcvt.xf f9 = f9 -- ;; -- /* Compute the reciprocal approximation. */ -- frcpa.s1 f10, p6 = f8, f9 -- ;; -- /* 3 Newton-Raphson iterations. */ --(p6) fnma.s1 f11 = f9, f10, f1 --(p6) fmpy.s1 f12 = f8, f10 -- ;; --(p6) fmpy.s1 f13 = f11, f11 --(p6) fma.s1 f12 = f11, f12, f12 -- ;; --(p6) fma.s1 f10 = f11, f10, f10 --(p6) fma.s1 f11 = f13, f12, f12 -- ;; --(p6) fma.s1 f10 = f13, f10, f10 --(p6) fnma.s1 f12 = f9, f11, f8 -- ;; --(p6) fma.s1 f10 = f12, f10, f11 -- ;; -- /* Round quotient to an integer. */ -- fcvt.fx.trunc.s1 f10 = f10 -- ;; -- /* Transfer result to GP registers. */ -- getf.sig ret0 = f10 -- br.ret.sptk rp -- ;; --END(___divdi3) -- .symver ___divdi3, __divdi3@GLIBC_2.2 -- --/* __moddi3 -- Compute a 64-bit integer modulus. -- in0 holds the dividend (a). in1 holds the divisor (b). */ -- --ENTRY(___moddi3) -- .regstk 2,0,0,0 -- /* Transfer inputs to FP registers. */ -- setf.sig f14 = in0 -- setf.sig f9 = in1 -- ;; -- /* Convert the inputs to FP, so that they won't be treated as -- unsigned. */ -- fcvt.xf f8 = f14 -- fcvt.xf f9 = f9 -- ;; -- /* Compute the reciprocal approximation. */ -- frcpa.s1 f10, p6 = f8, f9 -- ;; -- /* 3 Newton-Raphson iterations. */ --(p6) fmpy.s1 f12 = f8, f10 --(p6) fnma.s1 f11 = f9, f10, f1 -- ;; --(p6) fma.s1 f12 = f11, f12, f12 --(p6) fmpy.s1 f13 = f11, f11 -- ;; --(p6) fma.s1 f10 = f11, f10, f10 --(p6) fma.s1 f11 = f13, f12, f12 -- ;; -- sub in1 = r0, in1 --(p6) fma.s1 f10 = f13, f10, f10 --(p6) fnma.s1 f12 = f9, f11, f8 -- ;; -- setf.sig f9 = in1 --(p6) fma.s1 f10 = f12, f10, f11 -- ;; -- fcvt.fx.trunc.s1 f10 = f10 -- ;; -- /* r = q * (-b) + a */ -- xma.l f10 = f10, f9, f14 -- ;; -- /* Transfer result to GP registers. */ -- getf.sig ret0 = f10 -- br.ret.sptk rp -- ;; --END(___moddi3) -- .symver ___moddi3, __moddi3@GLIBC_2.2 -- --/* __udivdi3 -- Compute a 64-bit unsigned integer quotient. -- in0 holds the dividend. in1 holds the divisor. */ -- --ENTRY(___udivdi3) -- .regstk 2,0,0,0 -- /* Transfer inputs to FP registers. */ -- setf.sig f8 = in0 -- setf.sig f9 = in1 -- ;; -- /* Convert the inputs to FP, to avoid FP software-assist faults. */ -- fcvt.xuf.s1 f8 = f8 -- fcvt.xuf.s1 f9 = f9 -- ;; -- /* Compute the reciprocal approximation. */ -- frcpa.s1 f10, p6 = f8, f9 -- ;; -- /* 3 Newton-Raphson iterations. */ --(p6) fnma.s1 f11 = f9, f10, f1 --(p6) fmpy.s1 f12 = f8, f10 -- ;; --(p6) fmpy.s1 f13 = f11, f11 --(p6) fma.s1 f12 = f11, f12, f12 -- ;; --(p6) fma.s1 f10 = f11, f10, f10 --(p6) fma.s1 f11 = f13, f12, f12 -- ;; --(p6) fma.s1 f10 = f13, f10, f10 --(p6) fnma.s1 f12 = f9, f11, f8 -- ;; --(p6) fma.s1 f10 = f12, f10, f11 -- ;; -- /* Round quotient to an unsigned integer. */ -- fcvt.fxu.trunc.s1 f10 = f10 -- ;; -- /* Transfer result to GP registers. */ -- getf.sig ret0 = f10 -- br.ret.sptk rp -- ;; --END(___udivdi3) -- .symver ___udivdi3, __udivdi3@GLIBC_2.2 -- --/* __umoddi3 -- Compute a 64-bit unsigned integer modulus. -- in0 holds the dividend (a). in1 holds the divisor (b). */ -- --ENTRY(___umoddi3) -- .regstk 2,0,0,0 -- /* Transfer inputs to FP registers. */ -- setf.sig f14 = in0 -- setf.sig f9 = in1 -- ;; -- /* Convert the inputs to FP, to avoid FP software assist faults. */ -- fcvt.xuf.s1 f8 = f14 -- fcvt.xuf.s1 f9 = f9 -- ;; -- /* Compute the reciprocal approximation. */ -- frcpa.s1 f10, p6 = f8, f9 -- ;; -- /* 3 Newton-Raphson iterations. */ --(p6) fmpy.s1 f12 = f8, f10 --(p6) fnma.s1 f11 = f9, f10, f1 -- ;; --(p6) fma.s1 f12 = f11, f12, f12 --(p6) fmpy.s1 f13 = f11, f11 -- ;; --(p6) fma.s1 f10 = f11, f10, f10 --(p6) fma.s1 f11 = f13, f12, f12 -- ;; -- sub in1 = r0, in1 --(p6) fma.s1 f10 = f13, f10, f10 --(p6) fnma.s1 f12 = f9, f11, f8 -- ;; -- setf.sig f9 = in1 --(p6) fma.s1 f10 = f12, f10, f11 -- ;; -- /* Round quotient to an unsigned integer. */ -- fcvt.fxu.trunc.s1 f10 = f10 -- ;; -- /* r = q * (-b) + a */ -- xma.l f10 = f10, f9, f14 -- ;; -- /* Transfer result to GP registers. */ -- getf.sig ret0 = f10 -- br.ret.sptk rp -- ;; --END(___umoddi3) -- .symver ___umoddi3, __umoddi3@GLIBC_2.2 -- --/* __multi3 -- Compute a 128-bit multiply of 128-bit multiplicands. -- in0/in1 holds one multiplicand (a), in2/in3 holds the other one (b). */ -- --ENTRY(___multi3) -- .regstk 4,0,0,0 -- setf.sig f6 = in1 -- movl r19 = 0xffffffff -- setf.sig f7 = in2 -- ;; -- and r14 = r19, in0 -- ;; -- setf.sig f10 = r14 -- and r14 = r19, in2 -- xmpy.l f9 = f6, f7 -- ;; -- setf.sig f6 = r14 -- shr.u r14 = in0, 32 -- ;; -- setf.sig f7 = r14 -- shr.u r14 = in2, 32 -- ;; -- setf.sig f8 = r14 -- xmpy.l f11 = f10, f6 -- xmpy.l f6 = f7, f6 -- ;; -- getf.sig r16 = f11 -- xmpy.l f7 = f7, f8 -- ;; -- shr.u r14 = r16, 32 -- and r16 = r19, r16 -- getf.sig r17 = f6 -- setf.sig f6 = in0 -- ;; -- setf.sig f11 = r14 -- getf.sig r21 = f7 -- setf.sig f7 = in3 -- ;; -- xma.l f11 = f10, f8, f11 -- xma.l f6 = f6, f7, f9 -- ;; -- getf.sig r18 = f11 -- ;; -- add r18 = r18, r17 -- ;; -- and r15 = r19, r18 -- cmp.ltu p7, p6 = r18, r17 -- ;; -- getf.sig r22 = f6 --(p7) adds r14 = 1, r19 -- ;; --(p7) add r21 = r21, r14 -- shr.u r14 = r18, 32 -- shl r15 = r15, 32 -- ;; -- add r20 = r21, r14 -- ;; -- add ret0 = r15, r16 -- add ret1 = r22, r20 -- br.ret.sptk rp -- ;; --END(___multi3) -- .symver ___multi3, __multi3@GLIBC_2.2 -- --#endif -diff -Nur a/sysdeps/ia64/libgcc-compat.c b/sysdeps/ia64/libgcc-compat.c ---- a/sysdeps/ia64/libgcc-compat.c 1970-01-01 00:00:00.000000000 +0000 -+++ b/sysdeps/ia64/libgcc-compat.c 2011-12-22 17:59:24.613119317 +0000 -@@ -0,0 +1,84 @@ -+/* pre-.hidden libgcc compatibility -+ Copyright (C) 2002 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. ++* You can set the variable `libprefix' in `configparms' to specify a prefix ++ to be prepended to installed library files; this makes it easy to install ++ the GNU C library to be linked as `-lgnuc' or whatever. + -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. ++* The new `stpncpy' is a cross between `stpcpy' and `strncpy': It ++ copies a limited number of characters from a string, and returns the ++ address of the last character written. + -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. ++* You no longer need to check for whether the installed `stddef.h' is ++ compatible with the GNU C library. configure now checks for you. + -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ ++* You can now define a per-stream `fileno' function to convert the ++ stream's cookie into an integral file descriptor. + ++* ``malloc (0)'' no longer returns a null pointer. Instead, it ++ allocates zero bytes of storage, and returns a unique pointer which ++ you can pass to `realloc' or `free'. The behavior is undefined if ++ you dereference this pointer. + -+#include -+#include ++* The C library now runs on Sony NEWS m68k machines running either ++ NewsOS 3 or NewsOS 4. + -+#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6) ++* The new `syscall' function is a system-dependent primitive function ++ for invoking system calls. It has the canonical behavior on Unix ++ systems, including unreliable return values for some calls (such as ++ `pipe', `fork' and `getppid'). + -+typedef int int128_t __attribute__((__mode__(TI))); ++* The error code `EWOULDBLOCK' is now obsolete; it is always defined ++ to `EAGAIN', which is the preferred name. On systems whose kernels ++ use two distinct codes, the C library now translates EWOULDBLOCK to ++ EAGAIN in every system call function. ++ ++Version 1.06 + -+extern long double __divtf3 (long double, long double) attribute_hidden; -+long double INTUSE (__divtf3) (long double x, long double y) -+{ -+ return __divtf3 (x, y); -+} -+symbol_version (INTUSE (__divtf3), __divtf3, GLIBC_2.2); ++* The GNU C Library Reference Manual is now distributed with the library. ++ `make dvi' will produce a DVI file of the printed manual. ++ `make info' will produce Info files that you can read on line using C-h i ++ in Emacs or the `info' program. ++ Please send comments on the manual to bug-glibc-manual@gnu.org. + -+extern double __divdf3 (double, double) attribute_hidden; -+double INTUSE (__divdf3) (double x, double y) -+{ -+ return __divdf3 (x, y); -+} -+symbol_version (INTUSE (__divdf3), __divdf3, GLIBC_2.2); ++* The library now supports SVR4 on i386s (i386-unknown-sysv4). + -+extern float __divsf3 (float, float) attribute_hidden; -+float INTUSE (__divsf3) (float x, float y) -+{ -+ return __divsf3 (x, y); -+} -+symbol_version (INTUSE (__divsf3), __divsf3, GLIBC_2.2); ++* Brendan Kehoe has contributed a port to Sun SPARCs running Solaris 2. + -+extern int64_t __divdi3 (int64_t, int64_t) attribute_hidden; -+int64_t INTUSE (__divdi3) (int64_t x, int64_t y) -+{ -+ return __divdi3 (x, y); -+} -+symbol_version (INTUSE (__divdi3), __divdi3, GLIBC_2.2); ++* Jason Merrill has contributed a port to the Sequent Symmetry running ++ Dynix version 3 (i386-sequent-dynix). + -+extern int64_t __moddi3 (int64_t, int64_t) attribute_hidden; -+int64_t INTUSE (__moddi3) (int64_t x, int64_t y) -+{ -+ return __moddi3 (x, y); -+} -+symbol_version (INTUSE (__moddi3), __moddi3, GLIBC_2.2); ++* The library has been ported to i386s running SCO 3.2.4 (also known as SCO ++ ODT 2.0; i386-unknown-sco3.2.4) or SCO 3.2 (i386-unknown-sco3.2). + -+extern uint64_t __udivdi3 (uint64_t, uint64_t) attribute_hidden; -+uint64_t INTUSE (__udivdi3) (uint64_t x, uint64_t y) -+{ -+ return __udivdi3 (x, y); -+} -+symbol_version (INTUSE (__udivdi3), __udivdi3, GLIBC_2.2); ++* New function `memory_warnings' lets you arrange to get warnings when ++ malloc is running out of memory to allocate, like Emacs gives you. + -+extern uint64_t __umoddi3 (uint64_t, uint64_t) attribute_hidden; -+uint64_t INTUSE (__umoddi3) (uint64_t x, uint64_t y) -+{ -+ return __umoddi3 (x, y); -+} -+symbol_version (INTUSE (__umoddi3), __umoddi3, GLIBC_2.2); ++* The C library now contains the relocating allocator used in Emacs 19 for ++ its editing buffers. This allocator (ralloc) minimizes allocation ++ overhead and fragmentation by moving allocated regions around whenever it ++ needs to. You always refer to a ralloc'd region with a "handle" (a ++ pointer to a pointer--an object of type `void **'). + -+extern int128_t __multi3 (int128_t, int128_t) attribute_hidden; -+int128_t INTUSE (__multi3) (int128_t x, int128_t y) -+{ -+ return __multi3 (x, y); -+} -+symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2); ++* There is a new `printf' format: `%m' gives you the string corresponding ++ to the error code in `errno'. + -+#endif -diff -Nur a/sysdeps/mach/hurd/getrlimit.c b/sysdeps/mach/hurd/getrlimit.c ---- a/sysdeps/mach/hurd/getrlimit.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/mach/hurd/getrlimit.c 2011-12-22 17:59:24.613119317 +0000 -@@ -44,4 +44,5 @@ - - return 0; - } -+libc_hidden_def (__getrlimit) - weak_alias (__getrlimit, getrlimit) -diff -Nur a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c ---- a/sysdeps/posix/getaddrinfo.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/posix/getaddrinfo.c 2011-12-22 17:59:24.615119317 +0000 -@@ -565,8 +565,8 @@ - - /* If we do not have to look for IPv6 addresses, use - the simple, old functions, which do not support -- IPv6 scope ids. */ -- if (req->ai_family == AF_INET) -+ IPv6 scope ids, nor retrieving the canonical name. */ -+ if (req->ai_family == AF_INET && (req->ai_flags & AI_CANONNAME) == 0) - { - size_t tmpbuflen = 512; - assert (tmpbuf == NULL); -@@ -1105,68 +1105,10 @@ - /* Only the first entry gets the canonical name. */ - if (at2 == at && (req->ai_flags & AI_CANONNAME) != 0) - { -- char *tmpbuf2 = NULL; -- bool malloc_tmpbuf2 = false; -- - if (canon == NULL) -- { -- struct hostent *h = NULL; -- int herrno; -- struct hostent th; -- size_t tmpbuf2len = 512; -- -- do -- { -- if (__libc_use_alloca (alloca_used + 2 * tmpbuf2len)) -- tmpbuf2 = extend_alloca_account (tmpbuf2, tmpbuf2len, -- tmpbuf2len * 2, -- alloca_used); -- else -- { -- char *newp = realloc (malloc_tmpbuf2 ? tmpbuf2 : NULL, -- 2 * tmpbuf2len); -- if (newp == NULL) -- { -- if (malloc_tmpbuf2) -- free (tmpbuf2); -- result = -EAI_MEMORY; -- goto free_and_return; -- } -- -- tmpbuf2 = newp; -- tmpbuf2len = 2 * tmpbuf2len; -- malloc_tmpbuf2 = true; -- } -- -- rc = __gethostbyaddr_r (at2->addr, -- ((at2->family == AF_INET6) -- ? sizeof (struct in6_addr) -- : sizeof (struct in_addr)), -- at2->family, &th, tmpbuf2, -- tmpbuf2len, &h, &herrno); -- } -- while (rc == ERANGE && herrno == NETDB_INTERNAL); -- -- if (rc != 0 && herrno == NETDB_INTERNAL) -- { -- if (malloc_tmpbuf2) -- free (tmpbuf2); -- -- __set_h_errno (herrno); -- result = -EAI_SYSTEM; -- goto free_and_return; -- } -- -- if (h != NULL) -- canon = h->h_name; -- else -- { -- assert (orig_name != NULL); -- /* If the canonical name cannot be determined, use -- the passed in string. */ -- canon = orig_name; -- } -- } -+ /* If the canonical name cannot be determined, use -+ the passed in string. */ -+ canon = orig_name; - - #ifdef HAVE_LIBIDN - if (req->ai_flags & AI_CANONIDN) -@@ -1181,9 +1123,6 @@ - int rc = __idna_to_unicode_lzlz (canon, &out, idn_flags); - if (rc != IDNA_SUCCESS) - { -- if (malloc_tmpbuf2) -- free (tmpbuf2); -- - if (rc == IDNA_MALLOC_ERROR) - result = -EAI_MEMORY; - else if (rc == IDNA_DLOPEN_ERROR) -@@ -1213,17 +1152,11 @@ - canon = strdup (canon); - if (canon == NULL) - { -- if (malloc_tmpbuf2) -- free (tmpbuf2); -- - result = -EAI_MEMORY; - goto free_and_return; - } - } - } -- -- if (malloc_tmpbuf2) -- free (tmpbuf2); - } - - family = at2->family; -@@ -1360,10 +1293,12 @@ - /* Link-local addresses: scope 2. */ - { { { 169, 254, 0, 0 } }, htonl_c (0xffff0000), 2 }, - { { { 127, 0, 0, 0 } }, htonl_c (0xff000000), 2 }, -+#if 0 - /* Site-local addresses: scope 5. */ - { { { 10, 0, 0, 0 } }, htonl_c (0xff000000), 5 }, - { { { 172, 16, 0, 0 } }, htonl_c (0xfff00000), 5 }, - { { { 192, 168, 0, 0 } }, htonl_c (0xffff0000), 5 }, -+#endif - /* Default: scope 14. */ - { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 } - }; -diff -Nur a/sysdeps/powerpc/powerpc64/Makefile b/sysdeps/powerpc/powerpc64/Makefile ---- a/sysdeps/powerpc/powerpc64/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/powerpc/powerpc64/Makefile 2011-12-22 17:59:24.615119317 +0000 -@@ -33,6 +33,7 @@ - # we use -fpic instead which is much better. - CFLAGS-initfini.s += -fpic -O1 - endif -+CFLAGS-libc-start.c += -fno-asynchronous-unwind-tables - endif - - ifeq ($(subdir),elf) -diff -Nur a/sysdeps/powerpc/powerpc64/elf/Makefile b/sysdeps/powerpc/powerpc64/elf/Makefile ---- a/sysdeps/powerpc/powerpc64/elf/Makefile 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/powerpc/powerpc64/elf/Makefile 2011-12-22 17:59:24.616119318 +0000 -@@ -9,3 +9,5 @@ - CFLAGS-rtld-memmove.os = $(no-special-regs) - CFLAGS-rtld-memchr.os = $(no-special-regs) - CFLAGS-rtld-strnlen.os = $(no-special-regs) -+ -+CFLAGS-gmon-start.c = -fno-strict-aliasing -diff -Nur a/sysdeps/s390/s390-64/utf16-utf32-z9.c b/sysdeps/s390/s390-64/utf16-utf32-z9.c ---- a/sysdeps/s390/s390-64/utf16-utf32-z9.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/s390/s390-64/utf16-utf32-z9.c 2011-12-22 17:59:24.616119318 +0000 -@@ -169,10 +169,7 @@ - register unsigned long long outlen asm("11") = outend - outptr; \ - uint64_t cc = 0; \ - \ -- asm volatile (".machine push \n\t" \ -- ".machine \"z9-109\" \n\t" \ -- "0: " INSTRUCTION " \n\t" \ -- ".machine pop \n\t" \ -+ asm volatile ("0: " INSTRUCTION " \n\t" \ - " jo 0b \n\t" \ - " ipm %2 \n" \ - : "+a" (pOutput), "+a" (pInput), "+d" (cc), \ -diff -Nur a/sysdeps/s390/s390-64/utf8-utf16-z9.c b/sysdeps/s390/s390-64/utf8-utf16-z9.c ---- a/sysdeps/s390/s390-64/utf8-utf16-z9.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/s390/s390-64/utf8-utf16-z9.c 2011-12-22 17:59:24.616119318 +0000 -@@ -151,10 +151,7 @@ - register unsigned long long outlen asm("11") = outend - outptr; \ - uint64_t cc = 0; \ - \ -- asm volatile (".machine push \n\t" \ -- ".machine \"z9-109\" \n\t" \ -- "0: " INSTRUCTION " \n\t" \ -- ".machine pop \n\t" \ -+ asm volatile ("0: " INSTRUCTION " \n\t" \ - " jo 0b \n\t" \ - " ipm %2 \n" \ - : "+a" (pOutput), "+a" (pInput), "+d" (cc), \ -diff -Nur a/sysdeps/s390/s390-64/utf8-utf32-z9.c b/sysdeps/s390/s390-64/utf8-utf32-z9.c ---- a/sysdeps/s390/s390-64/utf8-utf32-z9.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/s390/s390-64/utf8-utf32-z9.c 2011-12-22 17:59:24.617119319 +0000 -@@ -155,10 +155,7 @@ - register unsigned long long outlen asm("11") = outend - outptr; \ - uint64_t cc = 0; \ - \ -- asm volatile (".machine push \n\t" \ -- ".machine \"z9-109\" \n\t" \ -- "0: " INSTRUCTION " \n\t" \ -- ".machine pop \n\t" \ -+ asm volatile ("0: " INSTRUCTION " \n\t" \ - " jo 0b \n\t" \ - " ipm %2 \n" \ - : "+a" (pOutput), "+a" (pInput), "+d" (cc), \ -diff -Nur a/sysdeps/unix/nice.c b/sysdeps/unix/nice.c ---- a/sysdeps/unix/nice.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/nice.c 2011-12-22 17:59:24.617119319 +0000 -@@ -42,7 +42,12 @@ - __set_errno (save); - } - -- result = setpriority (PRIO_PROCESS, 0, prio + incr); -+ prio += incr; -+ if (prio < PRIO_MIN) -+ prio = PRIO_MIN; -+ else if (prio >= PRIO_MAX) -+ prio = PRIO_MAX - 1; -+ result = setpriority (PRIO_PROCESS, 0, prio); - if (result == -1) - { - if (errno == EACCES) -diff -Nur a/sysdeps/unix/sysv/linux/check_pf.c b/sysdeps/unix/sysv/linux/check_pf.c ---- a/sysdeps/unix/sysv/linux/check_pf.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/check_pf.c 2011-12-22 17:59:24.618119320 +0000 -@@ -27,16 +27,14 @@ - #include - #include - --#include --#include --#include -- - #include - #include - #include - #include - #include - -+#include "netlinkaccess.h" ++* In `scanf' formats, you can now use `%as' or `%a[' to do the normal `%s' ++ or `%[' conversion, but instead of filling in a fixed-sized buffer you ++ pass, the `a' modifier says to fill in a `char **' you pass with a ++ malloc'd string. + ++* The `fnmatch' function supports the new flag bits `FNM_LEADING_DIR' and ++ `FNM_CASEFOLD'. `FNM_LEADING_DIR' lets a pattern like `foo*' match a ++ name like `foo/bar'. `FNM_CASEFOLD' says to ignore case in matching. ++ ++* `mkstemp' is a traditional Unix function to atomically create and open a ++ uniquely-named temporary file. ++ ++Version 1.05 ++ ++* The standard location for the file that says what the local timezone is ++ has changed again. It is now `/usr/local/etc/localtime' (or more ++ precisely, `${prefix}/etc/localtime') rather than `/etc/localtime'. ++ ++* The distribution no longer contains any files with names longer than 14 ++ characters. ++ ++* `struct ttyent' has two new flag bits: TTY_TRUSTED and TTY_CONSOLE. ++ These are set by the new `trusted' and `console' keywords in `/etc/ttys'. ++ ++* New functions `ttyslot' and `syslog' from 4.4 BSD. ++ ++Version 1.04 ++ ++* The configuration process has changed quite a bit. The `configure' ++ script is now used just like the configuration scripts for other GNU ++ packages. The `sysdeps' directory hierarchy is much rearranged. ++ The file `INSTALL' explains the new scheme in detail. ++ ++* The header files no longer need to be processed into ANSI C and ++ traditional C versions. There is just one set of files to install, and ++ it will work with ANSI or old C compilers (including `gcc -traditional'). ++ ++* Brendan Kehoe and Ian Lance Taylor have ported the library to the ++ MIPS DECStation running Ultrix 4. ++ ++* The Sun 4 startup code (crt0) can now properly load SunOS 4 shared libraries. ++ Tom Quinn contributed the initial code. The GNU C library can NOT yet be ++ made itself into a shared library. ++ ++* Yet further improved support for the i386, running 4.3 BSD-like systems ++ (such as Mach 3 with the Unix single-server), or System V. ++ ++* New function `strncasecmp' to do case-insensitive string comparison ++ with limited length. ++ ++* New function `strsep' is a reentrant alternative to `strtok'. ++ ++* New functions `scandir' and `alphasort' for searching directories. ++ ++* New function `setenv' is a better interface to `putenv'. ++ ++* Ian Lance Taylor has contributed an implementation of the SVID `ftw' ++ function for traversing a directory tree. ++ ++* The GNU obstack package is now also part of the C library. ++ The new function `open_obstack_stream' creates a stdio stream that ++ writes onto an obstack; `obstack_printf' and `obstack_vprintf' do ++ formatted output directly to an obstack. ++ ++* Miscellaneous new functions: reboot, nice, sigaltstack (4.4 BSD only), ++ cfmakeraw, getusershell, getpass, swab, getttyent, seteuid, setegid. ++ ++* `FNM_FILE_NAME' is another name for `FNM_PATHNAME', used with `fnmatch'. ++ ++* The new functions `strfry' and `memfrob' do mysterious and wonderful ++ things to your strings. ++ ++* There are some new test programs: test-fseek, testmb, and testrand. ++ ++* Some work has been done to begin porting the library to 4.4 BSD and Linux. ++ These ports are not finished, but are a good starting place for really ++ supporting those systems. ++ ++* `/etc/localtime' is now the standard location for the file that says what ++ the local timezone is, rather than `/usr/local/lib/zoneinfo/localtime'. ++ This follows the general principle that `/etc' is the place for all local ++ configuration files. ++ ++* The C library header files now use `extern "C"' when used by the C++ ++ compiler, so the C library should now work with C++ code. ++ ++* The header file is gone. now declares bcopy, ++ bcmp, bzero, and ffs. (Update: nowadays these functions are declared ++ in .) ++ ++* Mike Haertel (of GNU e?grep and malloc fame) has written a new sorting ++ function which uses the `merge sort' algorithm, and is said to be ++ significantly faster than the old GNU `qsort' function. Merge sort is ++ now the standard `qsort' function. The new algorithm can require a lot ++ of temporary storage; so, the old sorting function is called when the ++ required storage is not available. ++ ++* The C library now includes Michael Glad's Ultra Fast Crypt, which ++ provides the Unix `crypt' function, plus some other entry points. ++ ++* The code and header files taken from 4.4 BSD have been updated with the ++ latest files released from Berkeley. ++ ++---------------------------------------------------------------------- ++Copyright information: ++ ++Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc. ++ ++ Permission is granted to anyone to make or distribute verbatim copies ++ of this document as received, in any medium, provided that the ++ copyright notice and this permission notice are preserved, ++ thus giving the recipient permission to redistribute in turn. ++ ++ Permission is granted to distribute modified versions ++ of this document, or of portions of it, ++ under the above conditions, provided also that they ++ carry prominent notices stating who last changed them. ++ ++Local variables: ++version-control: never ++fill-column: 76 ++End: +Common subdirectories: a/abilist and b/abilist +Common subdirectories: a/aout and b/aout +Common subdirectories: a/argp and b/argp +Common subdirectories: a/assert and b/assert +Common subdirectories: a/bits and b/bits +Common subdirectories: a/c_stubs and b/c_stubs +Common subdirectories: a/catgets and b/catgets +Common subdirectories: a/conf and b/conf +diff -Nup a/config.h.in b/config.h.in +--- a/config.h.in 2012-01-01 05:16:32.000000000 -0700 ++++ b/config.h.in 2012-01-01 13:08:53.292715874 -0700 +@@ -187,6 +187,9 @@ + /* Define if `.ctors' and `.dtors' sections shouldn't be used. */ + #undef NO_CTORS_DTORS_SECTIONS - #ifndef IFA_F_HOMEADDRESS - # define IFA_F_HOMEADDRESS 0 -diff -Nur a/sysdeps/unix/sysv/linux/futimesat.c b/sysdeps/unix/sysv/linux/futimesat.c ---- a/sysdeps/unix/sysv/linux/futimesat.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/futimesat.c 2011-12-22 17:59:24.618119320 +0000 -@@ -37,14 +37,14 @@ - { - int result; - -+ if (file == NULL) -+ return __futimes (fd, tvp); -+ - #ifdef __NR_futimesat - # ifndef __ASSUME_ATFCTS - if (__have_atfcts >= 0) - # endif - { -- if (file == NULL) -- return __futimes (fd, tvp); -- - result = INLINE_SYSCALL (futimesat, 3, fd, file, tvp); - # ifndef __ASSUME_ATFCTS - if (result == -1 && errno == ENOSYS) -@@ -58,22 +58,7 @@ - #ifndef __ASSUME_ATFCTS - char *buf = NULL; - -- if (file == NULL) -- { -- static const char procfd[] = "/proc/self/fd/%d"; -- /* Buffer for the path name we are going to use. It consists of -- - the string /proc/self/fd/ -- - the file descriptor number. -- The final NUL is included in the sizeof. A bit of overhead -- due to the format elements compensates for possible negative -- numbers. */ -- size_t buflen = sizeof (procfd) + sizeof (int) * 3; -- buf = alloca (buflen); -- -- __snprintf (buf, buflen, procfd, fd); -- file = buf; -- } -- else if (fd != AT_FDCWD && file[0] != '/') -+ if (fd != AT_FDCWD && file[0] != '/') - { - size_t filelen = strlen (file); - if (__builtin_expect (filelen == 0, 0)) -diff -Nur a/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S b/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S ---- a/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S 2011-12-22 17:59:24.619119321 +0000 -@@ -1,4 +1,5 @@ --/* Copyright (C) 2001,2004,2005,2006,2009 Free Software Foundation, Inc. -+/* Copyright (C) 2001,2004,2005,2006,2009,2011 -+ 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 -@@ -19,6 +20,7 @@ - #include - #include - #include -+#include ++/* Define if Systemtap probes should be defined. */ ++#undef USE_STAP_PROBE ++ + /* + */ +diff -Nup a/configure b/configure +--- a/configure 2012-01-01 13:08:19.157713463 -0700 ++++ b/configure 2012-01-01 13:08:53.294715875 -0700 +@@ -791,6 +791,7 @@ enable_kernel + enable_all_warnings + enable_multi_arch + enable_nss_crypt ++enable_systemtap + with_cpu + ' + ac_precious_vars='build_alias +@@ -1450,6 +1451,7 @@ Optional Features: + --enable-multi-arch enable single DSO with optimizations for multiple + architectures + --enable-nss-crypt enable libcrypt to use nss ++ --enable-systemtap enable systemtap static probe points [default=no] - .section .rodata.str1.1,"aMS",@progbits,1 -@@ -79,7 +81,9 @@ - cfi_adjust_cfa_offset(-12) - movl 4(%esp), %ecx + Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] +@@ -3804,6 +3806,51 @@ else + fi --.Lok: /* We add unwind information for the target here. */ -+.Lok: -+ LIBC_PROBE (longjmp, 3, 4@%ecx, -4@8(%esp), 4@%edx) -+ /* We add unwind information for the target here. */ - cfi_def_cfa(%ecx, 0) - cfi_register(%eip, %edx) - cfi_register(%esp, %edi) -@@ -102,5 +106,6 @@ - cfi_restore(%ebp) - /* Jump to saved PC. */ -+ LIBC_PROBE (longjmp_target, 3, 4@%ecx, -4@%eax, 4@%edx) - jmp *%edx - END (____longjmp_chk) -diff -Nur a/sysdeps/unix/sysv/linux/i386/dl-cache.h b/sysdeps/unix/sysv/linux/i386/dl-cache.h ---- a/sysdeps/unix/sysv/linux/i386/dl-cache.h 1970-01-01 00:00:00.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/i386/dl-cache.h 2011-12-22 17:59:24.620119321 +0000 -@@ -0,0 +1,59 @@ -+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig. -+ Copyright (C) 2004 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, write to the Free -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -+ 02111-1307 USA. */ -+ -+static inline int -+is_ia64 (void) ++# Check whether --enable-systemtap was given. ++if test "${enable_systemtap+set}" = set; then : ++ enableval=$enable_systemtap; systemtap=$enableval ++else ++ systemtap=no ++fi ++ ++if test x$systemtap != xno; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemtap static probe support" >&5 ++$as_echo_n "checking for systemtap static probe support... " >&6; } ++if test "${libc_cv_sdt+set}" = set; then : ++ $as_echo_n "(cached) " >&6 ++else ++ old_CFLAGS="$CFLAGS" ++ CFLAGS="-std=gnu99 $CFLAGS" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include ++void foo (int i, void *p) +{ -+ unsigned int fl1, fl2; -+ -+ /* See if we can use cpuid. */ -+ __asm__ ("pushfl; pushfl; popl %0; movl %0,%1; xorl %2,%0;" -+ "pushl %0; popfl; pushfl; popl %0; popfl" -+ : "=&r" (fl1), "=&r" (fl2) -+ : "i" (0x00200000)); -+ if (((fl1 ^ fl2) & 0x00200000) == 0) -+ return 0; -+ -+ /* Host supports cpuid. See if cpuid gives capabilities, try -+ CPUID(0). Preserve %ebx and %ecx; cpuid insn clobbers these, we -+ don't need their CPUID values here, and %ebx may be the PIC -+ register. */ -+ __asm__ ("pushl %%ecx; pushl %%ebx; cpuid; popl %%ebx; popl %%ecx" -+ : "=a" (fl1) : "0" (0) : "edx", "cc"); -+ if (fl1 == 0) -+ return 0; -+ -+ /* Invoke CPUID(1), return %edx; caller can examine bits to -+ determine what's supported. */ -+ __asm__ ("pushl %%ecx; pushl %%ebx; cpuid; popl %%ebx; popl %%ecx" -+ : "=d" (fl2), "=a" (fl1) : "1" (1) : "cc"); -+ return (fl2 & (1 << 30)) != 0; ++ asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) "" ++ :: STAP_PROBE_ASM_OPERANDS (2, i, p)); +} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO"; then : ++ libc_cv_sdt=yes ++else ++ libc_cv_sdt=no ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++ CFLAGS="$old_CFLAGS" ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sdt" >&5 ++$as_echo "$libc_cv_sdt" >&6; } ++ if test $libc_cv_sdt = yes; then ++ $as_echo "#define USE_STAP_PROBE 1" >>confdefs.h + -+#define arch_startup(argc, argv) \ -+ do { \ -+ /* On IA-64, try to execute 64-bit ldconfig if possible. \ -+ This is because the badly designed /emul/ia32-linux hack \ -+ will cause 32-bit ldconfig to do all sorts of weird things. */ \ -+ if (is_ia64 ()) \ -+ execv ("/emul/ia32-linux/../../sbin/ldconfig", \ -+ (char *const *) argv); \ -+ } while (0) -+ -+#include_next -diff -Nur a/sysdeps/unix/sysv/linux/i386/getrlimit.c b/sysdeps/unix/sysv/linux/i386/getrlimit.c ---- a/sysdeps/unix/sysv/linux/i386/getrlimit.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/i386/getrlimit.c 2011-12-22 17:59:24.620119321 +0000 -@@ -79,4 +79,5 @@ - } - - weak_alias (__new_getrlimit, __getrlimit); -+libc_hidden_weak (__getrlimit) - versioned_symbol (libc, __new_getrlimit, getrlimit, GLIBC_2_2); -diff -Nur a/sysdeps/unix/sysv/linux/ia64/dl-cache.h b/sysdeps/unix/sysv/linux/ia64/dl-cache.h ---- a/sysdeps/unix/sysv/linux/ia64/dl-cache.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/ia64/dl-cache.h 2011-12-22 17:59:24.621119321 +0000 -@@ -22,4 +22,31 @@ - #define _dl_cache_check_flags(flags) \ - ((flags) == _DL_CACHE_DEFAULT_ID) - -+#define EMUL_HACK "/emul/ia32-linux" -+ -+#define arch_startup(argc, argv) unlink (EMUL_HACK LD_SO_CACHE) -+ -+#define add_arch_dirs(config_file) \ -+ do { \ -+ int save_verbose = opt_verbose; \ -+ opt_verbose = 0; \ -+ \ -+ parse_conf (config_file, EMUL_HACK, true); \ -+ \ -+ /* Always add the standard search paths. */ \ -+ add_system_dir (EMUL_HACK SLIBDIR); \ -+ if (strcmp (SLIBDIR, LIBDIR)) \ -+ add_system_dir (EMUL_HACK LIBDIR); \ -+ \ -+ char emul_config_file[strlen (config_file) \ -+ + sizeof EMUL_HACK]; \ -+ strcpy (mempcpy (emul_config_file, EMUL_HACK, \ -+ strlen (EMUL_HACK)), config_file); \ -+ \ -+ if (! access (emul_config_file, R_OK)) \ -+ parse_conf (emul_config_file, EMUL_HACK, true); \ -+ \ -+ opt_verbose = save_verbose; \ -+ } while (0) -+ - #include_next -diff -Nur a/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c b/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c ---- a/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c 1970-01-01 00:00:00.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c 2011-12-22 17:59:24.621119321 +0000 -@@ -0,0 +1,5 @@ -+#ifdef IS_IN_ldconfig -+#include -+#else -+#include -+#endif -diff -Nur a/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h b/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h ---- a/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h 1970-01-01 00:00:00.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h 2011-12-22 17:59:24.621119321 +0000 -@@ -0,0 +1,5 @@ -+#ifdef IS_IN_ldconfig -+#include -+#else -+#include -+#endif -diff -Nur a/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed ---- a/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed 2011-12-22 17:59:24.621119321 +0000 -@@ -1 +1 @@ --s_^\(RTLDLIST=\)\([^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"\2-ia64\3 \2\3"_ -+s_^\(RTLDLIST=\)\([^ ]*\)-ia64\(\.so\.[0-9.]*\)[ ]*$_\1"\2-ia64\3 /emul/ia32-linux\2\3"_ -diff -Nur a/sysdeps/unix/sysv/linux/netlinkaccess.h b/sysdeps/unix/sysv/linux/netlinkaccess.h ---- a/sysdeps/unix/sysv/linux/netlinkaccess.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/netlinkaccess.h 2011-12-22 17:59:24.621119321 +0000 -@@ -25,6 +25,24 @@ - - #include - -+#ifndef IFA_MAX -+/* 2.6.19 kernel headers helpfully removed some macros and -+ moved lots of stuff into new headers, some of which aren't -+ included by linux/rtnetlink.h. */ -+#include -+#endif -+ -+#ifndef IFA_RTA -+# define IFA_RTA(r) \ -+ ((struct rtattr*) ((char*)(r) + NLMSG_ALIGN (sizeof (struct ifaddrmsg)))) -+# define IFA_PAYLOAD(n) NLMSG_PAYLOAD (n, sizeof (struct ifaddrmsg)) -+#endif -+ -+#ifndef IFLA_RTA -+# define IFLA_RTA(r) \ -+ ((struct rtattr*) ((char*)(r) + NLMSG_ALIGN (sizeof (struct ifinfomsg)))) -+# define IFLA_PAYLOAD(n) NLMSG_PAYLOAD (n, sizeof (struct ifinfomsg)) -+#endif - - struct netlink_res - { -diff -Nur a/sysdeps/unix/sysv/linux/paths.h b/sysdeps/unix/sysv/linux/paths.h ---- a/sysdeps/unix/sysv/linux/paths.h 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/paths.h 2011-12-22 17:59:24.622119321 +0000 -@@ -62,7 +62,7 @@ - #define _PATH_TTY "/dev/tty" - #define _PATH_UNIX "/boot/vmlinux" - #define _PATH_UTMP "/var/run/utmp" --#define _PATH_VI "/usr/bin/vi" -+#define _PATH_VI "/bin/vi" - #define _PATH_WTMP "/var/log/wtmp" - - /* Provide trailing slash, since mostly used for building pathnames. */ -diff -Nur a/sysdeps/unix/sysv/linux/tcsetattr.c b/sysdeps/unix/sysv/linux/tcsetattr.c ---- a/sysdeps/unix/sysv/linux/tcsetattr.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/tcsetattr.c 2011-12-22 17:59:24.622119321 +0000 -@@ -49,6 +49,7 @@ - { - struct __kernel_termios k_termios; - unsigned long int cmd; -+ int retval; - - switch (optional_actions) - { -@@ -80,6 +81,35 @@ - memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0], - __KERNEL_NCCS * sizeof (cc_t)); - -- return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios); -+ retval = INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios); -+ -+ if (retval == 0 && cmd == TCSETS) -+ { -+ /* The Linux kernel has a bug which silently ignore the invalid -+ c_cflag on pty. We have to check it here. */ -+ int save = errno; -+ retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios); -+ if (retval) -+ { -+ /* We cannot verify if the setting is ok. We don't return -+ an error (?). */ -+ __set_errno (save); -+ retval = 0; -+ } -+ else if ((termios_p->c_cflag & (PARENB | CREAD)) -+ != (k_termios.c_cflag & (PARENB | CREAD)) -+ || ((termios_p->c_cflag & CSIZE) -+ && ((termios_p->c_cflag & CSIZE) -+ != (k_termios.c_cflag & CSIZE)))) -+ { -+ /* It looks like the Linux kernel silently changed the -+ PARENB/CREAD/CSIZE bits in c_cflag. Report it as an -+ error. */ -+ __set_errno (EINVAL); -+ retval = -1; -+ } -+ } -+ -+ return retval; - } - libc_hidden_def (tcsetattr) -diff -Nur a/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S b/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S ---- a/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S 2011-12-22 17:59:24.623119321 +0000 -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - .section .rodata.str1.1,"aMS",@progbits,1 - .type longjmp_msg,@object -@@ -94,7 +95,9 @@ - movl %ebx, %esi - cfi_restore (%rsi) - --.Lok: /* We add unwind information for the target here. */ -+.Lok: -+ LIBC_PROBE (longjmp, 3, 8@%rdi, -4@%esi, 8@%rdx) -+ /* We add unwind information for the target here. */ - cfi_def_cfa(%rdi, 0) - cfi_register(%rsp,%r8) - cfi_register(%rbp,%r9) -@@ -113,5 +116,6 @@ - movl %esi, %eax - movq %r8,%rsp - movq %r9,%rbp -+ LIBC_PROBE (longjmp_target, 3, 8@%rdi, -4@%eax, 8@%rdx) - jmpq *%rdx - END (____longjmp_chk) -diff -Nur a/sysdeps/x86_64/__longjmp.S b/sysdeps/x86_64/__longjmp.S ---- a/sysdeps/x86_64/__longjmp.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/x86_64/__longjmp.S 2011-12-22 17:59:24.623119321 +0000 -@@ -1,4 +1,4 @@ --/* Copyright (C) 2001,2004,2005,2006,2009 Free Software Foundation, Inc. -+/* Copyright (C) 2001,2004,2005,2006,2009,2011 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 -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - /* Jump to the position specified by ENV, causing the - setjmp call there to return VAL, or 1 if VAL is 0. -@@ -34,6 +35,7 @@ - PTR_DEMANGLE (%r9) - PTR_DEMANGLE (%rdx) - #endif -+ LIBC_PROBE (longjmp, 3, 8@%rdi, -4@%esi, 8@%rdx) - /* We add unwind information for the target here. */ - cfi_def_cfa(%rdi, 0) - cfi_register(%rsp,%r8) -@@ -53,5 +55,6 @@ - mov %esi, %eax - movq %r8,%rsp - movq %r9,%rbp -+ LIBC_PROBE (longjmp_target, 3, 8@%rdi, -4@%eax, 8@%rdx) - jmpq *%rdx - END (__longjmp) -diff -Nur a/sysdeps/x86_64/setjmp.S b/sysdeps/x86_64/setjmp.S ---- a/sysdeps/x86_64/setjmp.S 2011-12-22 16:50:52.000000000 +0000 -+++ b/sysdeps/x86_64/setjmp.S 2011-12-22 17:59:24.624119322 +0000 -@@ -1,5 +1,5 @@ - /* setjmp for x86-64. -- Copyright (C) 2001, 2003, 2005, 2006 Free Software Foundation, Inc. -+ Copyright (C) 2001,2003,2005,2006,2011 Free Software Foundation, Inc. - This file is part of the GNU C Library. ++ else ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 ++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} ++as_fn_error $? "systemtap support needs sys/sdt.h with asm support ++See \`config.log' for more details" "$LINENO" 5; } ++ fi ++fi ++ + # The way shlib-versions is used to generate soversions.mk uses a + # fairly simplistic model for name recognition that can't distinguish + # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os +diff -Nup a/configure.in b/configure.in +--- a/configure.in 2012-01-01 05:16:32.000000000 -0700 ++++ b/configure.in 2012-01-01 13:08:53.295715875 -0700 +@@ -290,6 +290,29 @@ else + fi + AC_SUBST(libc_cv_nss_crypt) - The GNU C Library is free software; you can redistribute it and/or -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include ++AC_ARG_ENABLE([systemtap], ++ [AS_HELP_STRING([--enable-systemtap], ++ [enable systemtap static probe points @<:@default=no@:>@])], ++ [systemtap=$enableval], ++ [systemtap=no]) ++if test x$systemtap != xno; then ++ AC_CACHE_CHECK([for systemtap static probe support], libc_cv_sdt, [dnl ++ old_CFLAGS="$CFLAGS" ++ CFLAGS="-std=gnu99 $CFLAGS" ++ AC_COMPILE_IFELSE([#include ++void foo (int i, void *p) ++{ ++ asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) "" ++ :: STAP_PROBE_ASM_OPERANDS (2, i, p)); ++}], [libc_cv_sdt=yes], [libc_cv_sdt=no]) ++ CFLAGS="$old_CFLAGS"]) ++ if test $libc_cv_sdt = yes; then ++ AC_DEFINE([USE_STAP_PROBE]) ++ else ++ AC_MSG_FAILURE([systemtap support needs sys/sdt.h with asm support]) ++ fi ++fi ++ + # The way shlib-versions is used to generate soversions.mk uses a + # fairly simplistic model for name recognition that can't distinguish + # i486-pc-linux-gnu fully from i486-pc-gnu. So we mutate a $host_os +Common subdirectories: a/conform and b/conform +Common subdirectories: a/crypt and b/crypt +Common subdirectories: a/csu and b/csu +Common subdirectories: a/ctype and b/ctype +Common subdirectories: a/debug and b/debug +Common subdirectories: a/dirent and b/dirent +Common subdirectories: a/dlfcn and b/dlfcn +Common subdirectories: a/elf and b/elf +diff -Nup a/extra-lib.mk b/extra-lib.mk +--- a/extra-lib.mk 2012-01-01 05:16:32.000000000 -0700 ++++ b/extra-lib.mk 2012-01-01 13:08:53.304715875 -0700 +@@ -101,4 +101,4 @@ ifneq (,$(cpp-srcs-left)) + include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) + endif - ENTRY (__sigsetjmp) - /* Save registers. */ -@@ -41,6 +42,7 @@ - #endif - movq %rdx, (JB_RSP*8)(%rdi) - movq (%rsp), %rax /* Save PC we are returning to now. */ -+ LIBC_PROBE (setjmp, 3, 8@%rdi, -4@%esi, 8@%rax) - #ifdef PTR_MANGLE - PTR_MANGLE (%rax) - #endif -diff -Nur a/timezone/zic.c b/timezone/zic.c ---- a/timezone/zic.c 2011-12-22 16:50:52.000000000 +0000 -+++ b/timezone/zic.c 2011-12-22 17:59:24.625119322 +0000 -@@ -1921,7 +1921,7 @@ - if (stdrp != NULL && stdrp->r_hiyear == 2037) - return; - } -- if (stdrp == NULL && zp->z_nrules != 0) -+ if (stdrp == NULL && (zp->z_nrules != 0 || zp->z_stdoff != 0)) - return; - abbrvar = (stdrp == NULL) ? "" : stdrp->r_abbrvar; - doabbr(result, zp->z_format, abbrvar, FALSE, TRUE); +-CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1 ++CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1 -DIN_LIB=$(lib) +Common subdirectories: a/fedora and b/fedora +Common subdirectories: a/gmon and b/gmon +Common subdirectories: a/gnulib and b/gnulib +Common subdirectories: a/grp and b/grp +Common subdirectories: a/gshadow and b/gshadow +Common subdirectories: a/hesiod and b/hesiod +Common subdirectories: a/hurd and b/hurd +Common subdirectories: a/iconv and b/iconv +Common subdirectories: a/iconvdata and b/iconvdata +Common subdirectories: a/include and b/include +Common subdirectories: a/inet and b/inet +Common subdirectories: a/intl and b/intl +Common subdirectories: a/io and b/io +Common subdirectories: a/libidn and b/libidn +Common subdirectories: a/libio and b/libio +Common subdirectories: a/locale and b/locale +Common subdirectories: a/localedata and b/localedata +Common subdirectories: a/login and b/login +Common subdirectories: a/mach and b/mach +Common subdirectories: a/malloc and b/malloc +Common subdirectories: a/manual and b/manual +Common subdirectories: a/math and b/math +Common subdirectories: a/misc and b/misc +Common subdirectories: a/nis and b/nis +Common subdirectories: a/nptl and b/nptl +Common subdirectories: a/nptl_db and b/nptl_db +Common subdirectories: a/nscd and b/nscd +Common subdirectories: a/nss and b/nss +Common subdirectories: a/po and b/po +Common subdirectories: a/posix and b/posix +Common subdirectories: a/pwd and b/pwd +Common subdirectories: a/resolv and b/resolv +Common subdirectories: a/resource and b/resource +Common subdirectories: a/rt and b/rt +Common subdirectories: a/rtkaio and b/rtkaio +Common subdirectories: a/scripts and b/scripts +Common subdirectories: a/setjmp and b/setjmp +Common subdirectories: a/shadow and b/shadow +Common subdirectories: a/signal and b/signal +Common subdirectories: a/socket and b/socket +Common subdirectories: a/soft-fp and b/soft-fp +Common subdirectories: a/stdio-common and b/stdio-common +Common subdirectories: a/stdlib and b/stdlib +Common subdirectories: a/streams and b/streams +Common subdirectories: a/string and b/string +Common subdirectories: a/sunrpc and b/sunrpc +Common subdirectories: a/sysdeps and b/sysdeps +Common subdirectories: a/sysvipc and b/sysvipc +Common subdirectories: a/termios and b/termios +Common subdirectories: a/time and b/time +Common subdirectories: a/timezone and b/timezone +Common subdirectories: a/wcsmbs and b/wcsmbs +Common subdirectories: a/wctype and b/wctype diff --git a/glibc-rh769421.patch b/glibc-rh769421.patch index 67f5ad7..96ec3d7 100644 --- a/glibc-rh769421.patch +++ b/glibc-rh769421.patch @@ -1,7 +1,7 @@ -diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S ---- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:12.937212834 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2011-12-22 18:04:42.104222278 +0000 -@@ -137,7 +137,6 @@ __pthread_cond_wait: +diff -rNup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S +--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2012-01-01 13:11:35.782727180 -0700 +@@ -134,7 +134,6 @@ __pthread_cond_wait: cmpl $PI_BIT, %eax jne 18f @@ -9,7 +9,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sy movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx movl %ebp, %edx xorl %esi, %esi -@@ -151,9 +150,6 @@ __pthread_cond_wait: +@@ -148,9 +147,6 @@ __pthread_cond_wait: sete 16(%esp) je 19f @@ -19,7 +19,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sy /* Normal and PI futexes dont mix. Use normal futex functions only if the kernel does not support the PI futex functions. */ cmpl $-ENOSYS, %eax -@@ -398,78 +394,6 @@ __pthread_cond_wait: +@@ -395,78 +391,6 @@ __pthread_cond_wait: #endif call __lll_unlock_wake jmp 11b @@ -98,7 +98,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sy .size __pthread_cond_wait, .-__pthread_cond_wait versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, GLIBC_2_3_2) -@@ -642,10 +566,6 @@ __condvar_w_cleanup: +@@ -639,10 +563,6 @@ __condvar_w_cleanup: .long .LcleanupEND-.Lsub_cond_futex .long __condvar_w_cleanup-.LSTARTCODE .uleb128 0 @@ -109,19 +109,18 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sy .long .LcallUR-.LSTARTCODE .long .LENDCODE-.LcallUR .long 0 -Only in b/nptl/sysdeps/unix/sysv/linux/i386/i486: pthread_cond_wait.S.orig -diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S ---- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:04:12.941212837 +0000 -+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2011-12-22 18:05:05.155229737 +0000 -@@ -23,7 +23,6 @@ - #include +diff -rNup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2012-01-01 13:12:04.609729109 -0700 +@@ -24,6 +24,7 @@ #include #include --#include - #include + #include ++#include #include -@@ -137,14 +136,11 @@ __pthread_cond_wait: + +@@ -134,14 +135,11 @@ __pthread_cond_wait: cmpl $PI_BIT, %eax jne 61f @@ -136,7 +135,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde #ifdef __ASSUME_REQUEUE_PI jmp 62f #else -@@ -331,70 +327,6 @@ __pthread_cond_wait: +@@ -328,70 +326,6 @@ __pthread_cond_wait: 13: movq %r10, %rax jmp 14b @@ -207,7 +206,7 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde .size __pthread_cond_wait, .-__pthread_cond_wait versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, GLIBC_2_3_2) -@@ -547,15 +479,11 @@ __condvar_cleanup1: +@@ -544,15 +478,11 @@ __condvar_cleanup1: .uleb128 .LcleanupSTART-.LSTARTCODE .uleb128 .LcleanupEND-.LcleanupSTART .uleb128 __condvar_cleanup1-.LSTARTCODE @@ -225,5 +224,3 @@ diff -rup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysde .Lcstend: -Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.orig -Only in b/nptl/sysdeps/unix/sysv/linux/x86_64: pthread_cond_wait.S.rej diff --git a/glibc.spec b/glibc.spec index 3542d9a..92509e4 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ -%define glibcsrcdir glibc-2.14-16c6f99 -%define glibcversion 2.14.90 -%define glibcportsdir glibc-ports-2.14-c2aeee1 +%define glibcsrcdir glibc-2.15-a316c1f +%define glibcversion 2.15 +%define glibcportsdir glibc-ports-2.15-8a70b2d ### glibc.spec.in follows: %define run_glibc_tests 1 %define auxarches athlon alphaev6 @@ -28,7 +28,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 26%{?dist} +Release: 1%{?dist} # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. # Things that are linked directly into dynamically linked programs # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional @@ -269,7 +269,7 @@ rm -rf %{glibcportsdir} %patch0 -E -p1 %ifarch ia64 %if "%{_lib}" == "lib64" -#%patch1 -p1 +%patch1 -p1 %endif %endif %patch2 -p1 @@ -1128,6 +1128,9 @@ rm -f *.filelist* %endif %changelog +* Sun Jan 1 2012 Jeff Law - 2.15-1.fc17 + - Update from master (a316c1f) + * Thu Dec 22 2011 Jeff Law - 2.14.90-26.fc17 - Update from master (16c6f99) - Fix typo in recent tzfile change (#769476) diff --git a/sources b/sources index e3752e0..8bf8bca 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -5d434a88a92c4957d415748cbf10b532 glibc-2.14-16c6f99-fedora.tar.gz -5376ee70edca1e31fba32dabd777e9db glibc-2.14-16c6f99.tar.gz -a83cba20b4ef453e85335a400b1e137b glibc-ports-2.14-c2aeee1.tar.gz +9c0e2b4d8cd47eac34850a4172be2aed glibc-2.15-a316c1f-fedora.tar.gz +3d33246687a96d5dd7ca0e6f2660eabe glibc-2.15-a316c1f.tar.gz +3f86e957fb42b7fe8bb631ce10f37ed4 glibc-ports-2.15-8a70b2d.tar.gz