diff --git a/glibc-fedora.patch b/glibc-fedora.patch index bfef6cf..25fa067 100644 --- a/glibc-fedora.patch +++ b/glibc-fedora.patch @@ -1,6 +1,6 @@ -diff -Nup a/ChangeLog b/ChangeLog +diff -Nrup a/ChangeLog b/ChangeLog --- a/ChangeLog 2012-01-01 05:16:32.000000000 -0700 -+++ b/ChangeLog 2012-01-01 13:08:53.281715870 -0700 ++++ b/ChangeLog 2012-01-01 20:41:26.621439845 -0700 @@ -2542,6 +2542,11 @@ * sysdeps/mach/hurd/sys/param.h (DEV_BSIZE): New macro. @@ -208,9 +208,9 @@ diff -Nup a/ChangeLog b/ChangeLog 2010-05-28 Luis Machado * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi. -diff -Nup a/ChangeLog.15 b/ChangeLog.15 +diff -Nrup 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 ++++ b/ChangeLog.15 2012-01-01 20:41:26.623439845 -0700 @@ -477,6 +477,14 @@ 2004-11-26 Jakub Jelinek @@ -276,9 +276,9 @@ diff -Nup a/ChangeLog.15 b/ChangeLog.15 2004-08-30 Roland McGrath * scripts/extract-abilist.awk: If `lastversion' variable defined, omit -diff -Nup a/ChangeLog.16 b/ChangeLog.16 +diff -Nrup 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 ++++ b/ChangeLog.16 2012-01-01 20:41:26.626439845 -0700 @@ -2042,6 +2042,9 @@ (__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT followed by __THROW. @@ -301,9 +301,9 @@ diff -Nup a/ChangeLog.16 b/ChangeLog.16 2006-01-19 Thomas Schwinge * libio/genops.c: Include . -diff -Nup a/ChangeLog.17 b/ChangeLog.17 +diff -Nrup 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 ++++ b/ChangeLog.17 2012-01-01 20:41:26.629439844 -0700 @@ -256,6 +256,12 @@ * Makerules (libc-abis): Fix search for libc-abis in add-ons. @@ -368,6781 +368,9 @@ diff -Nup a/ChangeLog.17 b/ChangeLog.17 2006-12-09 Ulrich Drepper [BZ #3632] -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 +diff -Nrup a/Makeconfig b/Makeconfig --- a/Makeconfig 2012-01-01 05:16:32.000000000 -0700 -+++ b/Makeconfig 2012-01-01 13:08:53.291715873 -0700 ++++ b/Makeconfig 2012-01-01 20:41:26.630439843 -0700 @@ -803,12 +803,12 @@ endif # The assembler can generate debug information too. ifndef ASFLAGS @@ -7159,9 +387,9 @@ diff -Nup a/Makeconfig b/Makeconfig ifndef BUILD_CC BUILD_CC = $(CC) -diff -Nup a/NEWS b/NEWS +diff -Nrup a/NEWS b/NEWS --- a/NEWS 2012-01-01 05:16:32.000000000 -0700 -+++ b/NEWS 2012-01-01 13:08:53.292715874 -0700 ++++ b/NEWS 2012-01-01 20:41:26.631439843 -0700 @@ -84,16 +84,6 @@ Version 2.14 12724, 12734, 12738, 12746, 12766, 12775, 12777, 12782, 12788, 12792, 12795, 12811, 12813, 12814, 12841 @@ -7179,2069 +407,9 @@ diff -Nup a/NEWS b/NEWS * New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at, syncfs, setns, sendmmsg -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. -+ -+* Support for priority inheritance mutexes added by Jakub Jelinek and -+ Ulrich Drepper. -+ -+* 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. -+ -+* 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 interface has several new flags from 4.4 BSD that extend the -+ POSIX.2 `glob' function to do ~ and {...} expansion. -+ -+* New function `unsetenv' complements `setenv' for compatibility with 4.4 BSD. -+ `clearenv' which is used in POSIX.9 is also available. -+ -+* New function `getsid' returns session ID number on systems that support it. -+ -+* 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. -+ -+* New macro `strdupa' copies a string like `strdup', but uses local stack -+ space from `alloca' instead of dynamic heap space from `malloc'. -+ -+* 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. -+ -+* New function `statfs' in header . -+ -+* The new and interfaces contributed by Miles Bader -+ provide convenient functions for operating on blocks of null-terminated -+ strings. -+ -+* A new suite of functions in handle all the details of reading -+ and writing the utmp file. -+ -+* An implementation of the NIS/YP(tm) based NSS service was contributed by -+ Thorsten Kukuk. -+ -+* 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. -+ -+* Ulrich Drepper provided an implementation of the `strptime' function -+ defined in XPG4.2 which transforms a string into a `struct tm' value. -+ -+* 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. -+ -+* 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. -+ -+* 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. -+ -+* 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. -+ -+* the `lchown' function is available on system which support this -+ functionality. -+ -+* The implementation of the shadow password handling function was contributed -+ by Ulrich Drepper. -+ -+* David Mosberger-Tang changed the SunRPC implementation to be 64bit safe. -+ -+* POSIX.1g support was added. The header is available, -+ `isfdtype' and `pselect' are implemented. Craig Metz contributed an -+ implementation of `getaddrinfo'. -+ -+Version 1.09 -+ -+* For cross-compilation you should now set `BUILD_CC' instead of `HOST_CC'. -+ -+* New header file and new functions `getfsspec', `getfsent' and -+ friends, for parsing /etc/fstab. This code comes from 4.4 BSD. -+ -+* The new function `daemon' from 4.4 BSD is useful for server programs that -+ want to put themselves in the background. -+ -+* Joel Sherrill has contributed support for several standalone boards that -+ run without an operating system. -+ -+* `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'. -+ -+* 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. -+ -+* The resolver code has been updated from the BIND-4.9.3-BETA9 release. -+ -+* 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). -+ -+* The time zone data files have been updated for the latest international -+ conventions. -+ -+* The SunRPC programs `portmap' and `rpcinfo' are now installed in -+ $(sbindir) (usually /usr/local/sbin) instead of $(bindir). -+ -+Version 1.08 -+ -+* 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.) -+ -+* Tom Quinn has contributed a port of the C library to SGI machines running -+ Irix 4 (mips-sgi-irix4). -+ -+* The new `lockf' function is a simplified interface to the locking -+ facilities of `fcntl', included for compatibility. -+ -+* New time functions `timegm', `timelocal', and `dysize' for compatibility. -+ -+* New header file and new function `ftime' for compatibility. -+ -+* New header files and and new function `poll' for -+ compatibility. -+ -+* 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). -+ -+* The `psignal' function is now declared in , not . -+ -+* The library now includes the header file and memory -+ management functions `mmap', `munmap', `mprotect', `msync', and -+ `madvise', on systems that support those facilities. -+ -+* 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). -+ -+* 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. -+ -+* 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 -+ -+* Brendan Kehoe has contributed most of a port to the DEC Alpha -+ running OSF/1 (alpha-dec-osf1). He says it is 75% complete. -+ -+* 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 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. -+ -+* 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 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. -+ -+* The C library now runs on Sony NEWS m68k machines running either -+ NewsOS 3 or NewsOS 4. -+ -+* 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'). -+ -+* 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 -+ -+* 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. -+ -+* The library now supports SVR4 on i386s (i386-unknown-sysv4). -+ -+* Brendan Kehoe has contributed a port to Sun SPARCs running Solaris 2. -+ -+* Jason Merrill has contributed a port to the Sequent Symmetry running -+ Dynix version 3 (i386-sequent-dynix). -+ -+* 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). -+ -+* New function `memory_warnings' lets you arrange to get warnings when -+ malloc is running out of memory to allocate, like Emacs gives you. -+ -+* 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 **'). -+ -+* There is a new `printf' format: `%m' gives you the string corresponding -+ to the error code in `errno'. -+ -+* 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 +diff -Nrup 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 ++++ b/config.h.in 2012-01-01 20:41:26.632439843 -0700 @@ -187,6 +187,9 @@ /* Define if `.ctors' and `.dtors' sections shouldn't be used. */ #undef NO_CTORS_DTORS_SECTIONS @@ -9252,9 +420,9 @@ diff -Nup a/config.h.in b/config.h.in /* */ -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 +diff -Nrup a/configure b/configure +--- a/configure 2012-01-01 20:40:50.423446105 -0700 ++++ b/configure 2012-01-01 20:41:26.634439843 -0700 @@ -791,6 +791,7 @@ enable_kernel enable_all_warnings enable_multi_arch @@ -9323,9 +491,9 @@ diff -Nup a/configure b/configure # 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 +diff -Nrup 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 ++++ b/configure.in 2012-01-01 20:41:26.635439843 -0700 @@ -290,6 +290,29 @@ else fi AC_SUBST(libc_cv_nss_crypt) @@ -9356,73 +524,4138 @@ diff -Nup a/configure.in b/configure.in # 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 +diff -Nrup a/csu/Makefile b/csu/Makefile +--- a/csu/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/csu/Makefile 2012-01-01 20:41:26.635439843 -0700 +@@ -93,7 +93,8 @@ omit-deps += $(crtstuff) + $(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 -Nrup a/csu/elf-init.c b/csu/elf-init.c +--- a/csu/elf-init.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/csu/elf-init.c 2012-01-01 20:41:26.636439843 -0700 +@@ -64,6 +64,23 @@ extern void (*__init_array_end []) (int, + 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 -Nrup a/debug/tst-chk1.c b/debug/tst-chk1.c +--- a/debug/tst-chk1.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/debug/tst-chk1.c 2012-01-01 20:41:26.636439843 -0700 +@@ -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 @@ do_test (void) + 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 @@ do_test (void) + 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 -Nrup a/elf/Makefile b/elf/Makefile +--- a/elf/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/Makefile 2012-01-01 20:41:26.637439843 -0700 +@@ -135,6 +135,7 @@ include ../Makeconfig + 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-ldconfig.c = $(SYSCONF-FLAGS) -D' + 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 -Nrup a/elf/dl-close.c b/elf/dl-close.c +--- a/elf/dl-close.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/dl-close.c 2012-01-01 20:41:26.638439843 -0700 +@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map) + 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 -Nrup a/elf/dl-deps.c b/elf/dl-deps.c +--- a/elf/dl-deps.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/dl-deps.c 2012-01-01 20:41:26.638439843 -0700 +@@ -489,6 +489,7 @@ _dl_map_object_deps (struct link_map *ma + 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 @@ Filters not supported with LD_TRACE_PREL + 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 @@ Filters not supported with LD_TRACE_PREL + _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 -Nrup a/elf/dl-init.c b/elf/dl-init.c +--- a/elf/dl-init.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/dl-init.c 2012-01-01 20:41:26.639439843 -0700 +@@ -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 @@ _dl_init (struct link_map *main_map, int + 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 -Nrup a/elf/dl-libc.c b/elf/dl-libc.c +--- a/elf/dl-libc.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/dl-libc.c 2012-01-01 20:41:26.639439843 -0700 +@@ -270,13 +270,13 @@ libc_freeres_fn (free_mem) + + 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 @@ libc_freeres_fn (free_mem) + 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 -Nrup a/elf/dl-load.c b/elf/dl-load.c +--- a/elf/dl-load.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/dl-load.c 2012-01-01 20:41:26.640439842 -0700 +@@ -250,8 +250,7 @@ is_trusted_path_normalize (const char *p + + + 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_dst (const char *start, const char *n + && (!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 @@ _dl_dst_count (const char *name, int is_ + { + 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 @@ _dl_dst_substitute (struct link_map *l, + 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 @@ _dl_dst_substitute (struct link_map *l, + 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 @@ _dl_dst_substitute (struct link_map *l, + 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 -Nrup a/elf/dl-support.c b/elf/dl-support.c +--- a/elf/dl-support.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/dl-support.c 2012-01-01 20:41:26.641439841 -0700 +@@ -82,10 +82,8 @@ unsigned long long _dl_load_adds; + 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 -Nrup a/elf/ldconfig.c b/elf/ldconfig.c +--- a/elf/ldconfig.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/ldconfig.c 2012-01-01 20:41:26.641439841 -0700 +@@ -1034,17 +1034,19 @@ search_dirs (void) + + + 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 @@ parse_conf (const char *filename, bool d + 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 @@ parse_conf (const char *filename, bool d + 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 @@ parse_conf_include (const char *config_f + { + 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 @@ main (int argc, char **argv) + /* Set the text message domain. */ + textdomain (_libc_intl_domainname); + ++ arch_startup (argc, argv); ++ + /* Parse and process arguments. */ + int remaining; + argp_parse (&argp, argc, argv, 0, &remaining, NULL); +@@ -1352,12 +1363,14 @@ main (int argc, char **argv) + + 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); ++ ++ add_arch_dirs (config_file); + } + + const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE; +diff -Nrup a/elf/ldd.bash.in b/elf/ldd.bash.in +--- a/elf/ldd.bash.in 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/ldd.bash.in 2012-01-01 20:41:26.642439841 -0700 +@@ -167,18 +167,6 @@ warning: you do not have execution permi + 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 @@ warning: you do not have execution permi + result=1 + } + ;; +- 2) ++ 0|2) + try_trace "$RTLD" "$file" || result=1 + ;; + *) +diff -Nrup a/elf/rtld-Rules b/elf/rtld-Rules +--- a/elf/rtld-Rules 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/rtld-Rules 2012-01-01 20:41:26.642439841 -0700 +@@ -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 @@ ifdef rtld-depfiles + 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 -Nrup a/elf/rtld.c b/elf/rtld.c +--- a/elf/rtld.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/elf/rtld.c 2012-01-01 20:41:26.643439841 -0700 +@@ -107,7 +107,6 @@ static struct audit_list + 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 @@ static struct audit_list + 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 @@ dl_main (const ElfW(Phdr) *phdr, + /* 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 @@ of this helper program; chances are you + 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 @@ ERROR: ld.so: object '%s' cannot be load + 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 @@ ERROR: ld.so: object '%s' cannot be load + + /* 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 -Nrup 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 ++++ b/extra-lib.mk 2012-01-01 20:41:26.644439841 -0700 @@ -101,4 +101,4 @@ ifneq (,$(cpp-srcs-left)) 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) -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 -Nrup a/include/bits/stdlib-ldbl.h b/include/bits/stdlib-ldbl.h +--- a/include/bits/stdlib-ldbl.h 1969-12-31 17:00:00.000000000 -0700 ++++ b/include/bits/stdlib-ldbl.h 2012-01-01 20:41:26.644439841 -0700 +@@ -0,0 +1 @@ ++#include +diff -Nrup a/include/bits/wchar-ldbl.h b/include/bits/wchar-ldbl.h +--- a/include/bits/wchar-ldbl.h 1969-12-31 17:00:00.000000000 -0700 ++++ b/include/bits/wchar-ldbl.h 2012-01-01 20:41:26.644439841 -0700 +@@ -0,0 +1 @@ ++#include +diff -Nrup a/include/features.h b/include/features.h +--- a/include/features.h 2012-01-01 05:16:32.000000000 -0700 ++++ b/include/features.h 2012-01-01 20:41:26.644439841 -0700 +@@ -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 -Nrup a/include/libc-symbols.h b/include/libc-symbols.h +--- a/include/libc-symbols.h 2012-01-01 05:16:32.000000000 -0700 ++++ b/include/libc-symbols.h 2012-01-01 20:41:26.645439841 -0700 +@@ -626,7 +626,7 @@ for linking") + # 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 -Nrup a/include/link.h b/include/link.h +--- a/include/link.h 2012-01-01 05:16:32.000000000 -0700 ++++ b/include/link.h 2012-01-01 20:41:26.646439841 -0700 +@@ -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 @@ struct link_map + 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 @@ struct link_map + + /* 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 @@ struct link_map + #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 -Nrup a/include/stap-probe.h b/include/stap-probe.h +--- a/include/stap-probe.h 1969-12-31 17:00:00.000000000 -0700 ++++ b/include/stap-probe.h 2012-01-01 20:41:26.646439841 -0700 +@@ -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 -Nrup a/include/sys/resource.h b/include/sys/resource.h +--- a/include/sys/resource.h 2012-01-01 05:16:32.000000000 -0700 ++++ b/include/sys/resource.h 2012-01-01 20:41:26.647439841 -0700 +@@ -13,4 +13,5 @@ extern int __getrusage (enum __rusage_wh + + extern int __setrlimit (enum __rlimit_resource __resource, + const struct rlimit *__rlimits); ++libc_hidden_proto (__getrlimit) + #endif +diff -Nrup a/inet/Makefile b/inet/Makefile +--- a/inet/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/inet/Makefile 2012-01-01 20:41:26.647439841 -0700 +@@ -57,6 +57,8 @@ tests := htontest test_ifindex tst-ntoa + + include ../Rules + ++CFLAGS-tst-inet6_rth.c += -fno-strict-aliasing ++ + ifeq ($(have-thread-library),yes) + + CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1 -fexceptions +diff -Nrup a/intl/locale.alias b/intl/locale.alias +--- a/intl/locale.alias 2012-01-01 05:16:32.000000000 -0700 ++++ b/intl/locale.alias 2012-01-01 20:41:26.647439841 -0700 +@@ -57,8 +57,6 @@ korean ko_KR.eucKR + 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 -Nrup a/libio/stdio.h b/libio/stdio.h +--- a/libio/stdio.h 2012-01-01 05:16:32.000000000 -0700 ++++ b/libio/stdio.h 2012-01-01 20:41:26.648439841 -0700 +@@ -169,10 +169,12 @@ typedef _G_fpos64_t fpos64_t; + 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 -Nrup a/locale/iso-4217.def b/locale/iso-4217.def +--- a/locale/iso-4217.def 2012-01-01 05:16:32.000000000 -0700 ++++ b/locale/iso-4217.def 2012-01-01 20:41:26.649439841 -0700 +@@ -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("AMD") /* Armenia Dram + 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("CUP") /* Cuban Peso * + 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("DZD") /* Algerian Dina + 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("HRK") /* Croatia Kuna + 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("LKR") /* Sri Lankan Ru + 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("MZM") /* Mozambique Me + 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("PGK") /* Papau New Gui + 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 -Nrup a/locale/programs/locarchive.c b/locale/programs/locarchive.c +--- a/locale/programs/locarchive.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/locale/programs/locarchive.c 2012-01-01 20:41:26.649439841 -0700 +@@ -253,9 +253,9 @@ oldlocrecentcmp (const void *a, const vo + /* 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 @@ close_archive (struct locarhandle *ah) + #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 @@ insert_name (struct locarhandle *ah, + 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 -Nrup a/localedata/ChangeLog b/localedata/ChangeLog +--- a/localedata/ChangeLog 2012-01-01 05:16:32.000000000 -0700 ++++ b/localedata/ChangeLog 2012-01-01 20:41:26.651439841 -0700 +@@ -90,6 +90,14 @@ + * tests-mbwc/tst_funcs.h (TST_DECL_VARS, TST_HEAD_LOCALE): + Remove unused variable. + ++2011-06-28 Andreas Schwab ++ ++ * charmaps/GB18030: Correct some entries. ++ ++2011-06-21 Andreas Schwab ++ ++ * charmaps/GB18030: Readd lost characters. ++ + 2011-05-21 Ulrich Drepper + + [BZ #12788] +diff -Nrup a/localedata/Makefile b/localedata/Makefile +--- a/localedata/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/localedata/Makefile 2012-01-01 20:41:26.652439840 -0700 +@@ -224,6 +224,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-lo + 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 -Nrup a/localedata/SUPPORTED b/localedata/SUPPORTED +--- a/localedata/SUPPORTED 2012-01-01 05:16:32.000000000 -0700 ++++ b/localedata/SUPPORTED 2012-01-01 20:41:26.652439840 -0700 +@@ -88,6 +88,7 @@ cy_GB.UTF-8/UTF-8 \ + 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.UTF-8/UTF-8 \ + 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.UTF-8/UTF-8 \ + 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/ISO-8859-1 \ + 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/ISO-8859-1 \ + 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 -Nrup a/localedata/locales/cy_GB b/localedata/locales/cy_GB +--- a/localedata/locales/cy_GB 2012-01-01 05:16:32.000000000 -0700 ++++ b/localedata/locales/cy_GB 2012-01-01 20:41:26.653439839 -0700 +@@ -248,8 +248,11 @@ mon "" + d_fmt "" + t_fmt "" +-am_pm "";"" +-t_fmt_ampm "" ++am_pm "";"" ++t_fmt_ampm "" ++date_fmt "/ ++/ ++" + END LC_TIME + + LC_MESSAGES +diff -Nrup a/localedata/locales/en_GB b/localedata/locales/en_GB +--- a/localedata/locales/en_GB 2012-01-01 05:16:32.000000000 -0700 ++++ b/localedata/locales/en_GB 2012-01-01 20:41:26.653439839 -0700 +@@ -116,8 +116,8 @@ mon "" + d_fmt "" + t_fmt "" +-am_pm "";"" +-t_fmt_ampm "" ++am_pm "";"" ++t_fmt_ampm "" + date_fmt "/ + / + " +diff -Nrup a/localedata/locales/no_NO b/localedata/locales/no_NO +--- a/localedata/locales/no_NO 1969-12-31 17:00:00.000000000 -0700 ++++ b/localedata/locales/no_NO 2012-01-01 20:41:26.653439839 -0700 +@@ -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 -Nrup a/localedata/locales/zh_TW b/localedata/locales/zh_TW +--- a/localedata/locales/zh_TW 2012-01-01 05:16:32.000000000 -0700 ++++ b/localedata/locales/zh_TW 2012-01-01 20:41:26.653439839 -0700 +@@ -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 @@ escape_char / + % 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 @@ email "bug-glibc-locales@gnu.org" + tel "" + fax "" + language "Chinese" +-territory "Taiwan R.O.C." ++territory "Taiwan" + revision "0.2" + date "2000-08-02" + % +diff -Nrup a/login/programs/pt_chown.c b/login/programs/pt_chown.c +--- a/login/programs/pt_chown.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/login/programs/pt_chown.c 2012-01-01 20:41:26.654439839 -0700 +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #ifdef HAVE_LIBCAP + # include + # include +@@ -143,7 +144,7 @@ main (int argc, char *argv[]) + 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 @@ main (int argc, char *argv[]) + + /* 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 @@ main (int argc, char *argv[]) + 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 -Nrup a/malloc/mcheck.c b/malloc/mcheck.c +--- a/malloc/mcheck.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/malloc/mcheck.c 2012-01-01 20:41:26.654439839 -0700 +@@ -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 @@ freehook (__ptr_t ptr, const __ptr_t cal + if (old_free_hook != NULL) + (*old_free_hook) (ptr, caller); + else +- free (ptr); ++ __libc_free (ptr); + __free_hook = freehook; + } + +@@ -222,7 +238,7 @@ mallochook (__malloc_size_t size, const + 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 @@ memalignhook (__malloc_size_t alignment, + 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 @@ reallochook (__ptr_t ptr, __malloc_size_ + 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 @@ mcheck (func) + 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 -Nrup a/manual/libc.texinfo b/manual/libc.texinfo +--- a/manual/libc.texinfo 2012-01-01 05:16:32.000000000 -0700 ++++ b/manual/libc.texinfo 2012-01-01 20:41:26.655439839 -0700 +@@ -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 -Nrup a/misc/sys/cdefs.h b/misc/sys/cdefs.h +--- a/misc/sys/cdefs.h 2012-01-01 05:16:32.000000000 -0700 ++++ b/misc/sys/cdefs.h 2012-01-01 20:41:26.655439839 -0700 +@@ -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 -Nrup a/nis/Makefile b/nis/Makefile +--- a/nis/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/nis/Makefile 2012-01-01 20:41:26.656439839 -0700 +@@ -23,9 +23,9 @@ subdir := nis + + 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 @@ libnss_nisplus-inhibit-o = $(filter-out + + 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 -Nrup a/nis/nss b/nis/nss +--- a/nis/nss 2012-01-01 05:16:32.000000000 -0700 ++++ b/nis/nss 2012-01-01 20:41:26.656439839 -0700 +@@ -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 -Nrup a/nptl/ChangeLog b/nptl/ChangeLog +--- a/nptl/ChangeLog 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/ChangeLog 2012-01-01 20:41:26.659439839 -0700 +@@ -210,6 +210,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. +@@ -4939,6 +4984,11 @@ + Move definition inside libpthread, libc, librt check. Provide + definition for rtld. + ++2004-09-02 Jakub Jelinek ++ ++ * pthread_cond_destroy.c (__pthread_cond_destroy): If there are ++ waiters, awake all waiters on the associated mutex. ++ + 2004-09-02 Ulrich Drepper + + * sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp. +@@ -7013,6 +7063,11 @@ + + * Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules). + ++2003-07-22 Jakub Jelinek ++ ++ * descr.h: Don't include lowlevellock.h, pthreaddef.h and dl-sysdep.h ++ if __need_struct_pthread_size, instead define lll_lock_t. ++ + 2003-07-25 Jakub Jelinek + + * tst-cancel17.c (do_test): Check if aio_cancel failed. +diff -Nrup a/nptl/DESIGN-systemtap-probes.txt b/nptl/DESIGN-systemtap-probes.txt +--- a/nptl/DESIGN-systemtap-probes.txt 1969-12-31 17:00:00.000000000 -0700 ++++ b/nptl/DESIGN-systemtap-probes.txt 2012-01-01 20:41:26.660439839 -0700 +@@ -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 -Nrup a/nptl/Makefile b/nptl/Makefile +--- a/nptl/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/Makefile 2012-01-01 20:41:26.660439839 -0700 +@@ -342,7 +342,8 @@ endif + 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 @@ $(addprefix $(objpfx), \ + $(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 ++ ++$(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 -Nrup a/nptl/Versions b/nptl/Versions +--- a/nptl/Versions 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/Versions 2012-01-01 20:41:26.661439839 -0700 +@@ -30,6 +30,7 @@ libc { + __libc_alloca_cutoff; + # Internal libc interface to libpthread + __libc_dl_error_tsd; ++ __getrlimit; + } + } + +diff -Nrup a/nptl/nptl-init.c b/nptl/nptl-init.c +--- a/nptl/nptl-init.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/nptl-init.c 2012-01-01 20:41:26.661439839 -0700 +@@ -415,7 +415,7 @@ __pthread_initialize_minimal_internal (v + /* 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 -Nrup a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c +--- a/nptl/pthread_cond_broadcast.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_cond_broadcast.c 2012-01-01 20:41:26.662439839 -0700 +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -32,6 +33,8 @@ int + __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 -Nrup a/nptl/pthread_cond_destroy.c b/nptl/pthread_cond_destroy.c +--- a/nptl/pthread_cond_destroy.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_cond_destroy.c 2012-01-01 20:41:26.662439839 -0700 +@@ -20,6 +20,7 @@ + #include + #include + #include "pthreadP.h" ++#include + + + int +@@ -29,6 +30,8 @@ __pthread_cond_destroy (cond) + int pshared = (cond->__data.__mutex == (void *) ~0l) + ? LLL_SHARED : LLL_PRIVATE; + ++ LIBC_PROBE (cond_destroy, 1, cond); ++ + /* Make sure we are alone. */ + lll_lock (cond->__data.__lock, pshared); + +diff -Nrup a/nptl/pthread_cond_init.c b/nptl/pthread_cond_init.c +--- a/nptl/pthread_cond_init.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_cond_init.c 2012-01-01 20:41:26.662439839 -0700 +@@ -20,6 +20,7 @@ + + #include + #include "pthreadP.h" ++#include + + + int +@@ -42,6 +43,8 @@ __pthread_cond_init (cond, cond_attr) + ? 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 -Nrup a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c +--- a/nptl/pthread_cond_signal.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_cond_signal.c 2012-01-01 20:41:26.663439839 -0700 +@@ -26,6 +26,7 @@ + + #include + #include ++#include + + + int +@@ -35,6 +36,8 @@ __pthread_cond_signal (cond) + int pshared = (cond->__data.__mutex == (void *) ~0l) + ? LLL_SHARED : LLL_PRIVATE; + ++ LIBC_PROBE (cond_signal, 1, cond); ++ + /* Make sure we are alone. */ + lll_lock (cond->__data.__lock, pshared); + +diff -Nrup a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c +--- a/nptl/pthread_cond_wait.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_cond_wait.c 2012-01-01 20:41:26.663439839 -0700 +@@ -25,6 +25,7 @@ + #include + + #include ++#include + + + struct _condvar_cleanup_buffer +@@ -101,6 +102,8 @@ __pthread_cond_wait (cond, mutex) + int pshared = (cond->__data.__mutex == (void *) ~0l) + ? LLL_SHARED : LLL_PRIVATE; + ++ LIBC_PROBE (cond_wait, 2, cond, mutex); ++ + /* Make sure we are alone. */ + lll_lock (cond->__data.__lock, pshared); + +diff -Nrup a/nptl/pthread_create.c b/nptl/pthread_create.c +--- a/nptl/pthread_create.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_create.c 2012-01-01 20:41:26.664439838 -0700 +@@ -32,6 +32,8 @@ + + #include + ++#include ++ + + /* Local function to start thread and handle cleanup. */ + static int start_thread (void *arg); +@@ -300,6 +302,8 @@ start_thread (void *arg) + 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 @@ __pthread_create_2_1 (newthread, attr, s + /* 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 -Nrup a/nptl/pthread_join.c b/nptl/pthread_join.c +--- a/nptl/pthread_join.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_join.c 2012-01-01 20:41:26.664439838 -0700 +@@ -23,6 +23,8 @@ + #include + #include "pthreadP.h" + ++#include ++ + + static void + cleanup (void *arg) +@@ -55,6 +57,8 @@ pthread_join (threadid, thread_return) + 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 @@ pthread_join (threadid, thread_return) + __free_tcb (pd); + } + ++ LIBC_PROBE (pthread_join_ret, 3, threadid, result, pd->result); ++ + return result; + } +diff -Nrup a/nptl/pthread_mutex_destroy.c b/nptl/pthread_mutex_destroy.c +--- a/nptl/pthread_mutex_destroy.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_mutex_destroy.c 2012-01-01 20:41:26.665439837 -0700 +@@ -20,11 +20,15 @@ + #include + #include "pthreadP.h" + ++#include ++ + + 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 -Nrup a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c +--- a/nptl/pthread_mutex_init.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_mutex_init.c 2012-01-01 20:41:26.665439837 -0700 +@@ -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 @@ __pthread_mutex_init (mutex, mutexattr) + // 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 -Nrup a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c +--- a/nptl/pthread_mutex_lock.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_mutex_lock.c 2012-01-01 20:41:26.665439837 -0700 +@@ -24,6 +24,7 @@ + #include + #include "pthreadP.h" + #include ++#include + + + #ifndef LLL_MUTEX_LOCK +@@ -48,6 +49,9 @@ __pthread_mutex_lock (mutex) + assert (sizeof (mutex->__size) >= sizeof (mutex->__data)); + + unsigned int type = PTHREAD_MUTEX_TYPE (mutex); ++ ++ LIBC_PROBE (mutex_entry, 1, mutex); ++ + if (__builtin_expect (type & ~PTHREAD_MUTEX_KIND_MASK_NP, 0)) + return __pthread_mutex_lock_full (mutex); + +@@ -127,6 +131,8 @@ __pthread_mutex_lock (mutex) + ++mutex->__data.__nusers; + #endif + ++ LIBC_PROBE (mutex_acquired, 1, mutex); ++ + return 0; + } + +@@ -467,6 +473,8 @@ __pthread_mutex_lock_full (pthread_mutex + ++mutex->__data.__nusers; + #endif + ++ LIBC_PROBE (mutex_acquired, 1, mutex); ++ + return 0; + } + #ifndef __pthread_mutex_lock +diff -Nrup a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c +--- a/nptl/pthread_mutex_timedlock.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_mutex_timedlock.c 2012-01-01 20:41:26.666439837 -0700 +@@ -24,6 +24,8 @@ + #include + #include + ++#include ++ + + int + pthread_mutex_timedlock (mutex, abstime) +@@ -34,6 +36,8 @@ pthread_mutex_timedlock (mutex, abstime) + pid_t id = THREAD_GETMEM (THREAD_SELF, tid); + int result = 0; + ++ LIBC_PROBE (mutex_timedlock_entry, 2, mutex, abstime); ++ + /* 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 @@ pthread_mutex_timedlock (mutex, abstime) + + ++mutex->__data.__count; + ++ LIBC_PROBE (mutex_timedlock_acquired, 1, mutex); ++ + return 0; + } + } +@@ -242,6 +248,8 @@ pthread_mutex_timedlock (mutex, abstime) + + ++mutex->__data.__count; + ++ LIBC_PROBE (mutex_timedlock_acquired, 1, mutex); ++ + return 0; + } + } +@@ -377,6 +385,8 @@ pthread_mutex_timedlock (mutex, abstime) + + ++mutex->__data.__count; + ++ LIBC_PROBE (mutex_timedlock_acquired, 1, mutex); ++ + return 0; + } + } +@@ -477,6 +487,8 @@ pthread_mutex_timedlock (mutex, abstime) + /* Record the ownership. */ + mutex->__data.__owner = id; + ++mutex->__data.__nusers; ++ ++ LIBC_PROBE (mutex_timedlock_acquired, 1, mutex); + } + + out: +diff -Nrup a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c +--- a/nptl/pthread_mutex_unlock.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_mutex_unlock.c 2012-01-01 20:41:26.666439837 -0700 +@@ -22,6 +22,7 @@ + #include + #include "pthreadP.h" + #include ++#include + + static int + internal_function +@@ -50,6 +51,9 @@ __pthread_mutex_unlock_usercnt (mutex, d + + /* Unlock. */ + lll_unlock (mutex->__data.__lock, PTHREAD_MUTEX_PSHARED (mutex)); ++ ++ LIBC_PROBE (mutex_release, 1, mutex); ++ + return 0; + } + else if (__builtin_expect (type == PTHREAD_MUTEX_RECURSIVE_NP, 1)) +@@ -272,6 +276,9 @@ __pthread_mutex_unlock_full (pthread_mut + PTHREAD_MUTEX_PSHARED (mutex)); + + int oldprio = newval >> PTHREAD_MUTEX_PRIO_CEILING_SHIFT; ++ ++ LIBC_PROBE (mutex_release, 1, mutex); ++ + return __pthread_tpp_change_priority (oldprio, -1); + + default: +@@ -279,6 +286,7 @@ __pthread_mutex_unlock_full (pthread_mut + return EINVAL; + } + ++ LIBC_PROBE (mutex_release, 1, mutex); + return 0; + } + +diff -Nrup a/nptl/pthread_rwlock_destroy.c b/nptl/pthread_rwlock_destroy.c +--- a/nptl/pthread_rwlock_destroy.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_rwlock_destroy.c 2012-01-01 20:41:26.667439837 -0700 +@@ -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 -Nrup a/nptl/pthread_rwlock_rdlock.c b/nptl/pthread_rwlock_rdlock.c +--- a/nptl/pthread_rwlock_rdlock.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_rwlock_rdlock.c 2012-01-01 20:41:26.667439837 -0700 +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + + /* Acquire read lock for RWLOCK. */ +@@ -31,6 +32,8 @@ __pthread_rwlock_rdlock (rwlock) + { + int result = 0; + ++ LIBC_PROBE (rdlock_entry, 1, rwlock); ++ + /* Make sure we are alone. */ + lll_lock (rwlock->__data.__lock, rwlock->__data.__shared); + +@@ -49,6 +52,8 @@ __pthread_rwlock_rdlock (rwlock) + --rwlock->__data.__nr_readers; + result = EAGAIN; + } ++ else ++ LIBC_PROBE (rdlock_acquire_read, 1, rwlock); + + break; + } +diff -Nrup a/nptl/pthread_rwlock_unlock.c b/nptl/pthread_rwlock_unlock.c +--- a/nptl/pthread_rwlock_unlock.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_rwlock_unlock.c 2012-01-01 20:41:26.668439837 -0700 +@@ -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 -Nrup a/nptl/pthread_rwlock_wrlock.c b/nptl/pthread_rwlock_wrlock.c +--- a/nptl/pthread_rwlock_wrlock.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/pthread_rwlock_wrlock.c 2012-01-01 20:41:26.668439837 -0700 +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + + /* Acquire write lock for RWLOCK. */ +@@ -31,6 +32,8 @@ __pthread_rwlock_wrlock (rwlock) + { + int result = 0; + ++ LIBC_PROBE (wrlock_entry, 1, rwlock); ++ + /* Make sure we are alone. */ + lll_lock (rwlock->__data.__lock, rwlock->__data.__shared); + +@@ -41,6 +44,8 @@ __pthread_rwlock_wrlock (rwlock) + { + /* Mark self as writer. */ + rwlock->__data.__writer = THREAD_GETMEM (THREAD_SELF, tid); ++ ++ LIBC_PROBE (wrlock_acquire_write, 1, rwlock); + break; + } + +diff -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h 2012-01-01 20:41:26.668439837 -0700 +@@ -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 -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/Versions b/nptl/sysdeps/unix/sysv/linux/i386/Versions +--- a/nptl/sysdeps/unix/sysv/linux/i386/Versions 1969-12-31 17:00:00.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/Versions 2012-01-01 20:41:26.669439837 -0700 +@@ -0,0 +1,6 @@ ++libc { ++ GLIBC_PRIVATE { ++ # Internal libc interface to libpthread ++ __uname; ++ } ++} +diff -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S 2012-01-01 20:41:26.669439837 -0700 +@@ -22,6 +22,8 @@ + #include + #include + ++#include ++ + .text + + #ifdef __ASSUME_PRIVATE_FUTEX +@@ -91,7 +93,8 @@ __lll_lock_wait_private: + 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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S 2012-01-01 20:41:26.670439837 -0700 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + .text + +@@ -49,6 +50,8 @@ __pthread_cond_broadcast: + + movl 20(%esp), %ebx + ++ LIBC_PROBE (cond_broadcast, 1, %edx) ++ + /* Get internal lock. */ + movl $1, %edx + xorl %eax, %eax +diff -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S 2012-01-01 20:41:26.670439837 -0700 +@@ -24,7 +24,7 @@ + #include + #include + #include +- ++#include + + .text + +@@ -45,6 +45,8 @@ __pthread_cond_signal: + + movl 12(%esp), %edi + ++ LIBC_PROBE (cond_signal, 1, %edi) ++ + /* Get internal lock. */ + movl $1, %edx + xorl %eax, %eax +diff -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S 2012-01-01 20:41:26.670439837 -0700 +@@ -24,7 +24,7 @@ + #include + #include + #include +- ++#include + + .text + +@@ -61,6 +61,8 @@ __pthread_cond_timedwait: + 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 -Nrup 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 20:41:26.671439837 -0700 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + + .text +@@ -61,6 +62,8 @@ __pthread_cond_wait: + 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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S 2012-01-01 20:41:26.671439837 -0700 +@@ -23,6 +23,7 @@ + #include + #include + ++#include + + .text + +@@ -41,6 +42,8 @@ __pthread_rwlock_rdlock: + xorl %esi, %esi + movl 12(%esp), %ebx + ++ LIBC_PROBE (rdlock_entry, 1, %ebx) ++ + /* Get the lock. */ + movl $1, %edx + xorl %eax, %eax +diff -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S 2012-01-01 20:41:26.672439837 -0700 +@@ -23,6 +23,7 @@ + #include + #include + ++#include + + .text + +@@ -41,6 +42,8 @@ __pthread_rwlock_wrlock: + xorl %esi, %esi + movl 12(%esp), %ebx + ++ LIBC_PROBE (wrlock_entry, 1, %ebx) ++ + /* Get the lock. */ + movl $1, %edx + xorl %eax, %eax +diff -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2012-01-01 20:41:26.672439837 -0700 +@@ -20,6 +20,8 @@ + #ifndef _LOWLEVELLOCK_H + #define _LOWLEVELLOCK_H 1 + ++#include ++ + #ifndef __ASSEMBLER__ + # include + # include +@@ -226,6 +228,7 @@ LLL_STUB_UNWIND_INFO_END + 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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/smp.h 2012-01-01 20:41:26.673439836 -0700 +@@ -37,7 +37,7 @@ is_smp_system (void) + 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 -Nrup 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 1969-12-31 17:00:00.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/kernel-features.h 2012-01-01 20:41:26.673439836 -0700 +@@ -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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S 2012-01-01 20:41:26.673439836 -0700 +@@ -22,6 +22,8 @@ + #include + #include + ++#include ++ + .text + + #ifdef __ASSUME_PRIVATE_FUTEX +@@ -87,7 +89,8 @@ __lll_lock_wait_private: + 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 @@ __lll_lock_wait: + 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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h 2012-01-01 20:41:26.674439835 -0700 +@@ -20,6 +20,8 @@ + #ifndef _LOWLEVELLOCK_H + #define _LOWLEVELLOCK_H 1 + ++#include ++ + #ifndef __ASSEMBLER__ + # include + # include +@@ -227,6 +229,7 @@ LLL_STUB_UNWIND_INFO_END + 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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S 2012-01-01 20:41:26.674439835 -0700 +@@ -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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S 2012-01-01 20:41:26.675439835 -0700 +@@ -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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S 2012-01-01 20:41:26.675439835 -0700 +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + #include + +@@ -68,6 +69,8 @@ __pthread_cond_timedwait: + 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 -Nrup 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 20:41:26.676439836 -0700 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include + +@@ -66,6 +67,8 @@ __pthread_cond_wait: + +--------------------------+ + */ + ++ LIBC_PROBE (cond_wait, 2, %rdi, %rsi) ++ + cmpq $-1, dep_mutex(%rdi) + + /* Prepare structure passed to cancellation handler. */ +diff -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S 2012-01-01 20:41:26.677439836 -0700 +@@ -22,7 +22,7 @@ + #include + #include + #include +- ++#include + + .text + +@@ -31,6 +31,9 @@ + .align 16 + __pthread_rwlock_rdlock: + cfi_startproc ++ ++ LIBC_PROBE (rdlock_entry, 1, %rdi) ++ + xorq %r10, %r10 + + /* Get the lock. */ +diff -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S 2012-01-01 20:41:26.677439836 -0700 +@@ -22,7 +22,7 @@ + #include + #include + #include +- ++#include + + .text + +@@ -31,6 +31,9 @@ + .align 16 + __pthread_rwlock_wrlock: + cfi_startproc ++ ++ LIBC_PROBE (wrlock_entry, 1, %rdi) ++ + xorq %r10, %r10 + + /* Get the lock. */ +diff -Nrup a/nscd/nscd.conf b/nscd/nscd.conf +--- a/nscd/nscd.conf 2012-01-01 05:16:32.000000000 -0700 ++++ b/nscd/nscd.conf 2012-01-01 20:41:26.677439836 -0700 +@@ -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 -Nrup a/nscd/nscd.init b/nscd/nscd.init +--- a/nscd/nscd.init 2012-01-01 05:16:32.000000000 -0700 ++++ b/nscd/nscd.init 2012-01-01 20:41:26.678439836 -0700 +@@ -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 @@ start () { + [ -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 @@ restart() { + # 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 @@ case "$1" in + 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 -Nrup a/nscd/selinux.c b/nscd/selinux.c +--- a/nscd/selinux.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nscd/selinux.c 2012-01-01 20:41:26.678439836 -0700 +@@ -270,6 +270,18 @@ avc_create_thread (void (*run) (void)) + { + 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 -Nrup a/nss/Makefile b/nss/Makefile +--- a/nss/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/nss/Makefile 2012-01-01 20:41:26.679439836 -0700 +@@ -88,6 +88,7 @@ endif + + include ../Rules + ++CFLAGS-files-hosts.c += -fno-strict-aliasing + + ifeq (yes,$(build-static-nss)) + $(objpfx)getent: $(objpfx)libnss_files.a +diff -Nrup a/nss/nss_files/files-XXX.c b/nss/nss_files/files-XXX.c +--- a/nss/nss_files/files-XXX.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/nss/nss_files/files-XXX.c 2012-01-01 20:41:26.679439836 -0700 +@@ -190,7 +190,7 @@ internal_getent (struct STRUCTURE *resul + { + 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 -Nrup a/posix/Makefile b/posix/Makefile +--- a/posix/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/posix/Makefile 2012-01-01 20:41:26.680439836 -0700 +@@ -320,15 +320,8 @@ $(inst_libexecdir)/getconf: $(inst_bindi + 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 -Nrup a/posix/gai.conf b/posix/gai.conf +--- a/posix/gai.conf 2012-01-01 05:16:32.000000000 -0700 ++++ b/posix/gai.conf 2012-01-01 20:41:26.680439836 -0700 +@@ -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 -Nrup a/posix/getconf.speclist.h b/posix/getconf.speclist.h +--- a/posix/getconf.speclist.h 1969-12-31 17:00:00.000000000 -0700 ++++ b/posix/getconf.speclist.h 2012-01-01 20:41:26.680439836 -0700 +@@ -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 -Nrup a/posix/regcomp.c b/posix/regcomp.c +--- a/posix/regcomp.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/posix/regcomp.c 2012-01-01 20:41:26.681439836 -0700 +@@ -2745,40 +2745,29 @@ parse_bracket_exp (re_string_t *regexp, + + /* 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 @@ parse_bracket_exp (re_string_t *regexp, + + 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 @@ parse_bracket_exp (re_string_t *regexp, + 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 @@ parse_bracket_exp (re_string_t *regexp, + /* 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 @@ parse_bracket_exp (re_string_t *regexp, + + 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 @@ parse_bracket_exp (re_string_t *regexp, + + 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 -Nrup a/resolv/Makefile b/resolv/Makefile +--- a/resolv/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/resolv/Makefile 2012-01-01 20:41:26.682439836 -0700 +@@ -81,6 +81,7 @@ ifeq (yes,$(have-ssp)) + 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 -Nrup a/resource/getrlimit.c b/resource/getrlimit.c +--- a/resource/getrlimit.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/resource/getrlimit.c 2012-01-01 20:41:26.682439836 -0700 +@@ -28,6 +28,7 @@ __getrlimit (enum __rlimit_resource reso + __set_errno (ENOSYS); + return -1; + } ++libc_hidden_def (__getrlimit) + weak_alias (__getrlimit, getrlimit) + + stub_warning (getrlimit) +diff -Nrup a/scripts/check-local-headers.sh b/scripts/check-local-headers.sh +--- a/scripts/check-local-headers.sh 2012-01-01 05:16:32.000000000 -0700 ++++ b/scripts/check-local-headers.sh 2012-01-01 20:41:26.683439836 -0700 +@@ -29,7 +29,7 @@ exec ${AWK} -v includedir="$includedir" + 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 -Nrup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c +--- a/stdio-common/vfprintf.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/stdio-common/vfprintf.c 2012-01-01 20:41:26.683439836 -0700 +@@ -1161,41 +1161,9 @@ vfprintf (FILE *s, const CHAR_T *format, + 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 -Nrup a/streams/Makefile b/streams/Makefile +--- a/streams/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/streams/Makefile 2012-01-01 20:41:26.684439835 -0700 +@@ -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 -Nrup a/sunrpc/Makefile b/sunrpc/Makefile +--- a/sunrpc/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/sunrpc/Makefile 2012-01-01 20:41:26.684439835 -0700 +@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth + 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 @@ CFLAGS-openchild.c = -fexceptions + + 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 -Nrup a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h +--- a/sysdeps/generic/dl-cache.h 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/generic/dl-cache.h 2012-01-01 20:41:26.685439835 -0700 +@@ -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 ++ ++#ifndef add_arch_dirs ++# define add_arch_dirs(config_file) do { } while (0) ++#endif ++ + #define CACHEMAGIC "ld.so-1.7.0" + + /* libc5 and glibc 2.0/2.1 use the same format. For glibc 2.2 another +diff -Nrup a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile +--- a/sysdeps/i386/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/i386/Makefile 2012-01-01 20:41:26.685439835 -0700 +@@ -2,6 +2,8 @@ + # Every i386 port in use uses gas syntax (I think). + asm-CPPFLAGS += -DGAS_SYNTAX + ++sysdep-ASFLAGS += -U__i686 ++ + # The i386 `long double' is a distinct type we support. + long-double-fcts = yes + +@@ -68,6 +70,14 @@ endif + + 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 -Nrup a/sysdeps/i386/__longjmp.S b/sysdeps/i386/__longjmp.S +--- a/sysdeps/i386/__longjmp.S 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/i386/__longjmp.S 2012-01-01 20:41:26.686439835 -0700 +@@ -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 @@ ENTRY (__longjmp) + 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 @@ ENTRY (__longjmp) + 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 @@ ENTRY (__longjmp) + 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 -Nrup a/sysdeps/i386/bsd-_setjmp.S b/sysdeps/i386/bsd-_setjmp.S +--- a/sysdeps/i386/bsd-_setjmp.S 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/i386/bsd-_setjmp.S 2012-01-01 20:41:26.686439835 -0700 +@@ -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 @@ ENTRY (BP_SYM (_setjmp)) + #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 -Nrup a/sysdeps/i386/bsd-setjmp.S b/sysdeps/i386/bsd-setjmp.S +--- a/sysdeps/i386/bsd-setjmp.S 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/i386/bsd-setjmp.S 2012-01-01 20:41:26.687439834 -0700 +@@ -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 @@ ENTRY (BP_SYM (setjmp)) + #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 -Nrup a/sysdeps/i386/i686/Makefile b/sysdeps/i386/i686/Makefile +--- a/sysdeps/i386/i686/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/i386/i686/Makefile 2012-01-01 20:41:26.687439834 -0700 +@@ -9,19 +9,3 @@ stack-align-test-flags += -msse + 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 -Nrup a/sysdeps/i386/setjmp.S b/sysdeps/i386/setjmp.S +--- a/sysdeps/i386/setjmp.S 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/i386/setjmp.S 2012-01-01 20:41:26.687439834 -0700 +@@ -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 @@ ENTRY (BP_SYM (__sigsetjmp)) + #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 -Nrup a/sysdeps/ia64/Makefile b/sysdeps/ia64/Makefile +--- a/sysdeps/ia64/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/ia64/Makefile 2012-01-01 20:41:26.688439833 -0700 +@@ -12,8 +12,8 @@ elide-routines.os += hp-timing + + ifeq (yes,$(build-shared)) + # Compatibility +-sysdep_routines += ia64libgcc +-shared-only-routines += ia64libgcc ++sysdep_routines += libgcc-compat ++shared-only-routines += libgcc-compat + endif + endif + +diff -Nrup a/sysdeps/ia64/ia64libgcc.S b/sysdeps/ia64/ia64libgcc.S +--- a/sysdeps/ia64/ia64libgcc.S 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/ia64/ia64libgcc.S 1969-12-31 17:00:00.000000000 -0700 +@@ -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 -Nrup a/sysdeps/ia64/libgcc-compat.c b/sysdeps/ia64/libgcc-compat.c +--- a/sysdeps/ia64/libgcc-compat.c 1969-12-31 17:00:00.000000000 -0700 ++++ b/sysdeps/ia64/libgcc-compat.c 2012-01-01 20:41:26.694439833 -0700 +@@ -0,0 +1,84 @@ ++/* pre-.hidden libgcc compatibility ++ Copyright (C) 2002 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++ ++#include ++#include ++ ++#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6) ++ ++typedef int int128_t __attribute__((__mode__(TI))); ++ ++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); ++ ++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); ++ ++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); ++ ++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); ++ ++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); ++ ++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); ++ ++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); ++ ++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); ++ ++#endif +diff -Nrup a/sysdeps/mach/hurd/getrlimit.c b/sysdeps/mach/hurd/getrlimit.c +--- a/sysdeps/mach/hurd/getrlimit.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/mach/hurd/getrlimit.c 2012-01-01 20:41:26.694439833 -0700 +@@ -44,4 +44,5 @@ __getrlimit (enum __rlimit_resource reso + + return 0; + } ++libc_hidden_def (__getrlimit) + weak_alias (__getrlimit, getrlimit) +diff -Nrup a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c +--- a/sysdeps/posix/getaddrinfo.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/posix/getaddrinfo.c 2012-01-01 20:41:26.695439833 -0700 +@@ -565,8 +565,8 @@ gaih_inet (const char *name, const struc + + /* 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 @@ gaih_inet (const char *name, const struc + /* 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 @@ gaih_inet (const char *name, const struc + 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 @@ gaih_inet (const char *name, const struc + 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 @@ static const struct scopeentry + /* 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 -Nrup a/sysdeps/powerpc/powerpc64/Makefile b/sysdeps/powerpc/powerpc64/Makefile +--- a/sysdeps/powerpc/powerpc64/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/powerpc/powerpc64/Makefile 2012-01-01 20:41:26.695439833 -0700 +@@ -33,6 +33,7 @@ ifneq ($(elf),no) + # 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 -Nrup a/sysdeps/powerpc/powerpc64/elf/Makefile b/sysdeps/powerpc/powerpc64/elf/Makefile +--- a/sysdeps/powerpc/powerpc64/elf/Makefile 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/powerpc/powerpc64/elf/Makefile 2012-01-01 20:41:26.696439833 -0700 +@@ -9,3 +9,5 @@ CFLAGS-rtld-mempcpy.os = $(no-special-re + 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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/s390/s390-64/utf16-utf32-z9.c 2012-01-01 20:41:26.696439833 -0700 +@@ -169,10 +169,7 @@ gconv_end (struct __gconv_step *data) + 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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/s390/s390-64/utf8-utf16-z9.c 2012-01-01 20:41:26.697439833 -0700 +@@ -151,10 +151,7 @@ gconv_end (struct __gconv_step *data) + 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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/s390/s390-64/utf8-utf32-z9.c 2012-01-01 20:41:26.697439833 -0700 +@@ -155,10 +155,7 @@ gconv_end (struct __gconv_step *data) + 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 -Nrup a/sysdeps/unix/nice.c b/sysdeps/unix/nice.c +--- a/sysdeps/unix/nice.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/nice.c 2012-01-01 20:41:26.698439833 -0700 +@@ -42,7 +42,12 @@ nice (int incr) + __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 -Nrup a/sysdeps/unix/sysv/linux/check_pf.c b/sysdeps/unix/sysv/linux/check_pf.c +--- a/sysdeps/unix/sysv/linux/check_pf.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/check_pf.c 2012-01-01 20:41:26.698439833 -0700 +@@ -27,16 +27,14 @@ + #include + #include + +-#include +-#include +-#include +- + #include + #include + #include + #include + #include + ++#include "netlinkaccess.h" ++ + + #ifndef IFA_F_HOMEADDRESS + # define IFA_F_HOMEADDRESS 0 +diff -Nrup a/sysdeps/unix/sysv/linux/futimesat.c b/sysdeps/unix/sysv/linux/futimesat.c +--- a/sysdeps/unix/sysv/linux/futimesat.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/futimesat.c 2012-01-01 20:41:26.699439832 -0700 +@@ -37,14 +37,14 @@ futimesat (fd, file, tvp) + { + 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 @@ futimesat (fd, file, tvp) + #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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S 2012-01-01 20:41:26.699439832 -0700 +@@ -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 + + + .section .rodata.str1.1,"aMS",@progbits,1 +@@ -79,7 +81,9 @@ ENTRY (____longjmp_chk) + cfi_adjust_cfa_offset(-12) + movl 4(%esp), %ecx + +-.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 @@ ENTRY (____longjmp_chk) + cfi_restore(%ebp) + + /* Jump to saved PC. */ ++ LIBC_PROBE (longjmp_target, 3, 4@%ecx, -4@%eax, 4@%edx) + jmp *%edx + END (____longjmp_chk) +diff -Nrup 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 1969-12-31 17:00:00.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/i386/dl-cache.h 2012-01-01 20:41:26.700439831 -0700 +@@ -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) ++{ ++ 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; ++} ++ ++#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 -Nrup a/sysdeps/unix/sysv/linux/i386/getrlimit.c b/sysdeps/unix/sysv/linux/i386/getrlimit.c +--- a/sysdeps/unix/sysv/linux/i386/getrlimit.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/i386/getrlimit.c 2012-01-01 20:41:26.700439831 -0700 +@@ -79,4 +79,5 @@ __new_getrlimit (enum __rlimit_resource + } + + weak_alias (__new_getrlimit, __getrlimit); ++libc_hidden_weak (__getrlimit) + versioned_symbol (libc, __new_getrlimit, getrlimit, GLIBC_2_2); +diff -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/ia64/dl-cache.h 2012-01-01 20:41:26.701439831 -0700 +@@ -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 -Nrup 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 1969-12-31 17:00:00.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c 2012-01-01 20:41:26.701439831 -0700 +@@ -0,0 +1,5 @@ ++#ifdef IS_IN_ldconfig ++#include ++#else ++#include ++#endif +diff -Nrup 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 1969-12-31 17:00:00.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h 2012-01-01 20:41:26.701439831 -0700 +@@ -0,0 +1,5 @@ ++#ifdef IS_IN_ldconfig ++#include ++#else ++#include ++#endif +diff -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed 2012-01-01 20:41:26.701439831 -0700 +@@ -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 -Nrup a/sysdeps/unix/sysv/linux/netlinkaccess.h b/sysdeps/unix/sysv/linux/netlinkaccess.h +--- a/sysdeps/unix/sysv/linux/netlinkaccess.h 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/netlinkaccess.h 2012-01-01 20:41:26.702439831 -0700 +@@ -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 -Nrup a/sysdeps/unix/sysv/linux/paths.h b/sysdeps/unix/sysv/linux/paths.h +--- a/sysdeps/unix/sysv/linux/paths.h 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/paths.h 2012-01-01 20:41:26.702439831 -0700 +@@ -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 -Nrup a/sysdeps/unix/sysv/linux/tcsetattr.c b/sysdeps/unix/sysv/linux/tcsetattr.c +--- a/sysdeps/unix/sysv/linux/tcsetattr.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/tcsetattr.c 2012-01-01 20:41:26.703439831 -0700 +@@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios + { + struct __kernel_termios k_termios; + unsigned long int cmd; ++ int retval; + + switch (optional_actions) + { +@@ -80,6 +81,35 @@ tcsetattr (fd, optional_actions, termios + 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 -Nrup 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 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S 2012-01-01 20:41:26.703439831 -0700 +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + .section .rodata.str1.1,"aMS",@progbits,1 + .type longjmp_msg,@object +@@ -94,7 +95,9 @@ ENTRY(____longjmp_chk) + 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 @@ ENTRY(____longjmp_chk) + 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 -Nrup a/sysdeps/x86_64/__longjmp.S b/sysdeps/x86_64/__longjmp.S +--- a/sysdeps/x86_64/__longjmp.S 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/x86_64/__longjmp.S 2012-01-01 20:41:26.703439831 -0700 +@@ -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 @@ ENTRY(__longjmp) + 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 @@ ENTRY(__longjmp) + 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 -Nrup a/sysdeps/x86_64/setjmp.S b/sysdeps/x86_64/setjmp.S +--- a/sysdeps/x86_64/setjmp.S 2012-01-01 05:16:32.000000000 -0700 ++++ b/sysdeps/x86_64/setjmp.S 2012-01-01 20:41:26.704439831 -0700 +@@ -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. + + The GNU C Library is free software; you can redistribute it and/or +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + ENTRY (__sigsetjmp) + /* Save registers. */ +@@ -41,6 +42,7 @@ ENTRY (__sigsetjmp) + #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 -Nrup a/timezone/zic.c b/timezone/zic.c +--- a/timezone/zic.c 2012-01-01 05:16:32.000000000 -0700 ++++ b/timezone/zic.c 2012-01-01 20:41:26.705439831 -0700 +@@ -1921,7 +1921,7 @@ const int zonecount; + 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); diff --git a/glibc-rh769421.patch b/glibc-rh769421.patch index 96ec3d7..996aba1 100644 --- a/glibc-rh769421.patch +++ b/glibc-rh769421.patch @@ -1,7 +1,7 @@ -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: +diff -Nrup 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 20:52:51.546347249 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S 2012-01-01 20:57:21.880320786 -0700 +@@ -137,7 +137,6 @@ __pthread_cond_wait: cmpl $PI_BIT, %eax jne 18f @@ -9,7 +9,7 @@ diff -rNup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/s movl $(FUTEX_WAIT_REQUEUE_PI|FUTEX_PRIVATE_FLAG), %ecx movl %ebp, %edx xorl %esi, %esi -@@ -148,9 +147,6 @@ __pthread_cond_wait: +@@ -151,9 +150,6 @@ __pthread_cond_wait: sete 16(%esp) je 19f @@ -19,7 +19,7 @@ diff -rNup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/s /* Normal and PI futexes dont mix. Use normal futex functions only if the kernel does not support the PI futex functions. */ cmpl $-ENOSYS, %eax -@@ -395,78 +391,6 @@ __pthread_cond_wait: +@@ -398,78 +394,6 @@ __pthread_cond_wait: #endif call __lll_unlock_wake jmp 11b @@ -98,7 +98,7 @@ diff -rNup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/s .size __pthread_cond_wait, .-__pthread_cond_wait versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, GLIBC_2_3_2) -@@ -639,10 +563,6 @@ __condvar_w_cleanup: +@@ -642,10 +566,6 @@ __condvar_w_cleanup: .long .LcleanupEND-.Lsub_cond_futex .long __condvar_w_cleanup-.LSTARTCODE .uleb128 0 @@ -109,18 +109,10 @@ diff -rNup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/s .long .LcallUR-.LSTARTCODE .long .LENDCODE-.LcallUR .long 0 -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 - -@@ -134,14 +135,11 @@ __pthread_cond_wait: +diff -Nrup 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 20:52:51.550347247 -0700 ++++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S 2012-01-01 20:57:21.883320786 -0700 +@@ -137,14 +137,11 @@ __pthread_cond_wait: cmpl $PI_BIT, %eax jne 61f @@ -135,7 +127,7 @@ diff -rNup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysd #ifdef __ASSUME_REQUEUE_PI jmp 62f #else -@@ -328,70 +326,6 @@ __pthread_cond_wait: +@@ -331,70 +328,6 @@ __pthread_cond_wait: 13: movq %r10, %rax jmp 14b @@ -206,7 +198,7 @@ diff -rNup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysd .size __pthread_cond_wait, .-__pthread_cond_wait versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, GLIBC_2_3_2) -@@ -544,15 +478,11 @@ __condvar_cleanup1: +@@ -547,15 +480,11 @@ __condvar_cleanup1: .uleb128 .LcleanupSTART-.LSTARTCODE .uleb128 .LcleanupEND-.LcleanupSTART .uleb128 __condvar_cleanup1-.LSTARTCODE