[glibc] - Resync with upstream sources.

Jeffrey Law law at fedoraproject.org
Wed May 23 18:18:22 UTC 2012


commit f7dfce46ed31b2f0b5b9f942743de15a868906ff
Author: Jeff Law <law at redhat.com>
Date:   Wed May 23 12:18:07 2012 -0600

       - Resync with upstream sources.

 .gitignore                  |    3 +
 glibc-arm-hardfloat-1.patch |   11 -
 glibc-arm-hardfloat-2.patch |   42 --
 glibc-fedora.patch          | 1702 ++++++++++++++-----------------------------
 glibc-rh179072.patch        |   85 ++--
 glibc-rh454629.patch        |   13 -
 glibc-rh624296.patch        |   13 -
 glibc-rh740506.patch        |   40 -
 glibc-rh740682.patch        |   12 +-
 glibc-rh758888.patch        |   52 --
 glibc-rh760935.patch        |   18 -
 glibc-rh769421.patch        |   27 +-
 glibc-rh770869.patch        |   98 ---
 glibc-rh783979.patch        |   12 -
 glibc-rh784402.patch        |  144 ----
 glibc-rh788989.patch        |  131 ----
 glibc-rh794797-2.patch      |  119 ---
 glibc-rh794797.patch        |  240 ------
 glibc-rh795498.patch        |   13 -
 glibc-rh798471.patch        |   31 -
 glibc-rh801650.patch        |  253 -------
 glibc-rh804792.patch        |  241 ------
 glibc-rh806070.patch        |  137 ----
 glibc-rh806403.patch        |   13 -
 glibc-rh817276.patch        |  411 -----------
 glibc-stap-libm.patch       |   26 +-
 glibc-stap.patch            |  788 ++++++++++----------
 glibc-sw13618.patch         |  267 -------
 glibc-sw13979.patch         |   30 -
 glibc.spec                  |  154 ++---
 sources                     |    6 +-
 31 files changed, 1062 insertions(+), 4070 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e1d2eb5..824f6cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,6 @@ glibc-2.14-394-g8f3b1ff
 /glibc-ports-2.15-8a70b2d.tar.gz
 /glibc-2.15-0ea698a.tar.gz
 /glibc-ports-2.15-ad8ae7d.tar.gz
+/glibc-2.15.90-8b728fa3.tar.gz
+/glibc-ports-2.15.90-4645e97.tar.gz
+/glibc-2.15.90-8b728fa3-fedora.tar.gz
diff --git a/glibc-fedora.patch b/glibc-fedora.patch
index 6eba417..27bb88e 100644
--- a/glibc-fedora.patch
+++ b/glibc-fedora.patch
@@ -1,7 +1,7 @@
-diff -Nrup a/ChangeLog b/ChangeLog
---- a/ChangeLog	2012-01-01 05:16:32.000000000 -0700
-+++ b/ChangeLog	2012-04-05 15:45:52.986330790 -0600
-@@ -2542,6 +2542,11 @@
+diff -Nrup c/ChangeLog d/ChangeLog
+--- c/ChangeLog	2012-05-20 19:47:38.000000000 -0600
++++ d/ChangeLog	2012-05-20 23:08:50.859742834 -0600
+@@ -10666,6 +10666,11 @@
  
  	* sysdeps/mach/hurd/sys/param.h (DEV_BSIZE): New macro.
  
@@ -13,7 +13,7 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2011-09-08  Andreas Schwab  <schwab at redhat.com>
  
  	* elf/dl-load.c (lose): Check for non-null L.
-@@ -2804,6 +2809,11 @@
+@@ -10928,6 +10933,11 @@
  	* sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Fix cfi
  	directive.
  
@@ -25,7 +25,7 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2011-08-24  David S. Miller  <davem at davemloft.net>
  
  	* sysdeps/sparc/sparc64/strcmp.S: Rewrite.
-@@ -3609,6 +3619,14 @@
+@@ -11733,6 +11743,14 @@
  	* config.make.in: Likewise.
  	* malloc/Makefile: Likewise.
  
@@ -40,7 +40,7 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2011-06-27  Andreas Schwab  <schwab at redhat.com>
  
  	* iconvdata/gb18030.c (BODY for TO_LOOP): Fix encoding of non-BMP
-@@ -3740,6 +3758,10 @@
+@@ -11864,6 +11882,10 @@
  
  	* inet/getnetgrent_r.c: Use DL_CALL_FCT in several places.
  
@@ -51,7 +51,7 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2011-06-20  David S. Miller  <davem at davemloft.net>
  
  	* sysdeps/sparc/sparc32/dl-plt.h: Protect against multiple
-@@ -4362,6 +4384,13 @@
+@@ -12486,6 +12508,13 @@
  	* libio/Makefile (tests): Add bug-fclose1.
  	* libio/bug-fclose1.c: New file.
  
@@ -65,7 +65,7 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2011-05-12  Ulrich Drepper  <drepper at gmail.com>
  
  	[BZ #12511]
-@@ -4639,13 +4668,6 @@
+@@ -12763,13 +12792,6 @@
  	* stdlib/bug-getcontext.c: New file.
  	* stdlib/Makefile: Add rules to build and run bug-getcontext.
  
@@ -79,7 +79,7 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2011-04-11  Andreas Krebbel  <Andreas.Krebbel at de.ibm.com>
  
  	* sysdeps/s390/s390-32/elf/start.S (_start): Skip extra zeroes
-@@ -4943,6 +4965,10 @@
+@@ -13067,6 +13089,10 @@
  	$LDFLAGS and -nostdlib -nostartfiles to linking step.  Change main
  	to _start.
  
@@ -90,7 +90,7 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2011-03-06  Ulrich Drepper  <drepper at gmail.com>
  
  	* elf/dl-load.c (_dl_map_object): If we are looking for the first
-@@ -5159,6 +5185,12 @@
+@@ -13283,6 +13309,12 @@
  	* shadow/sgetspent.c: Check return value of __sgetspent_r instead
  	of errno.
  
@@ -103,7 +103,7 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2011-01-19  Ulrich Drepper  <drepper at gmail.com>
  
  	[BZ #11724]
-@@ -5846,6 +5878,19 @@
+@@ -13970,6 +14002,19 @@
  	* sysdeps/unix/sysv/linux/internal_statvfs.c (INTERNAL_STATVFS):
  	Mask out sign-bit copies when constructing f_fsid.
  
@@ -123,7 +123,7 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2010-09-24  Petr Baudis <pasky at suse.cz>
  
  	* debug/stack_chk_fail_local.c: Add missing licence exception.
-@@ -6638,6 +6683,17 @@
+@@ -14762,6 +14807,17 @@
  	call returning > 0 value.
  	* sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise.
  
@@ -141,7 +141,7 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2010-06-07  Andreas Schwab  <schwab at redhat.com>
  
  	* dlfcn/Makefile: Remove explicit dependencies on libc.so and
-@@ -6690,6 +6746,21 @@
+@@ -14814,6 +14870,21 @@
  	* hurd/hurd/fd.h (__file_name_lookup_at): Update comment.
  	* sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS.
  
@@ -163,9 +163,9 @@ diff -Nrup a/ChangeLog b/ChangeLog
  2010-05-28  Luis Machado  <luisgpm at br.ibm.com>
  
  	* sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi.
-diff -Nrup a/ChangeLog.15 b/ChangeLog.15
---- a/ChangeLog.15	2012-01-01 05:16:32.000000000 -0700
-+++ b/ChangeLog.15	2012-04-05 15:41:04.185890417 -0600
+diff -Nrup c/ChangeLog.15 d/ChangeLog.15
+--- c/ChangeLog.15	2012-05-20 19:47:38.000000000 -0600
++++ d/ChangeLog.15	2012-05-20 23:50:01.609051556 -0600
 @@ -477,6 +477,14 @@
  
  2004-11-26  Jakub Jelinek  <jakub at redhat.com>
@@ -181,33 +181,7 @@ diff -Nrup a/ChangeLog.15 b/ChangeLog.15
  	* sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add GETCONF_DIR.
  
  2004-11-26  Kaz Kojima  <kkojima at rr.iij4u.or.jp>
-@@ -1103,6 +1111,13 @@
- 	* sysdeps/generic/tempname.c (__path_search): Add missing argument
- 	TRY_TMPDIR.
- 
-+2004-11-02  Jakub Jelinek  <jakub at redhat.com>
-+
-+	* include/features.h (__USE_FORTIFY_LEVEL): Also set for Red Hat
-+	GCC 3.4.x-RH >= 3.4.2-8.
-+	* debug/tst-chk1.c (do_test): Deal with GCC 3.4.x-RH not
-+	being able to recognize subobjects.
-+
- 2004-10-31  Mariusz Mazur <mmazur at kernel.pl>
- 
- 	* sysdeps/unix/sysv/linux/alpha/setregid.c: New file.
-@@ -1443,6 +1458,11 @@
- 	* sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ...
- 	(__readonly_area): ... this.
- 
-+2004-10-19  Jakub Jelinek  <jakub at redhat.com>
-+
-+	* include/features.h (__USE_FORTIFY_LEVEL): Enable even with
-+	Red Hat gcc4 4.0.0 and above.
-+
- 2004-10-18  Jakub Jelinek  <jakub at redhat.com>
- 
- 	* sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking
-@@ -3182,6 +3202,23 @@
+@@ -3182,6 +3190,17 @@
  	before return type.
  	* locale/localename.c (__current_locale_name): Likewise.
  
@@ -221,19 +195,13 @@ diff -Nrup a/ChangeLog.15 b/ChangeLog.15
 +	Call add_arch_dirs.
 +	* sysdeps/generic/dl-cache.h (arch_startup, add_arch_dirs): Define.
 +	* sysdeps/unix/sysv/linux/i386/dl-cache.h: New file.
-+	* sysdeps/unix/sysv/linux/ia64/dl-cache.h (EMUL_HACK, arch_startup,
-+	add_arch_dirs): Define.
-+	* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Prepend
-+	/emul/ia32-linux before the 32-bit ld.so pathname.
-+	* sysdeps/unix/sysv/linux/ia64/dl-procinfo.c: New file.
-+	* sysdeps/unix/sysv/linux/ia64/dl-procinfo.h: New file.
 +
  2004-08-30  Roland McGrath  <roland at frob.com>
  
  	* scripts/extract-abilist.awk: If `lastversion' variable defined, omit
-diff -Nrup a/ChangeLog.16 b/ChangeLog.16
---- a/ChangeLog.16	2012-01-01 05:16:32.000000000 -0700
-+++ b/ChangeLog.16	2012-04-05 15:41:04.195890363 -0600
+diff -Nrup c/ChangeLog.16 d/ChangeLog.16
+--- c/ChangeLog.16	2012-05-20 19:47:38.000000000 -0600
++++ d/ChangeLog.16	2012-05-20 23:08:50.866742799 -0600
 @@ -2042,6 +2042,9 @@
  	(__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT
  	followed by __THROW.
@@ -256,9 +224,9 @@ diff -Nrup a/ChangeLog.16 b/ChangeLog.16
  2006-01-19  Thomas Schwinge  <tschwinge at gnu.org>
  
  	* libio/genops.c: Include <stdbool.h>.
-diff -Nrup a/ChangeLog.17 b/ChangeLog.17
---- a/ChangeLog.17	2012-01-01 05:16:32.000000000 -0700
-+++ b/ChangeLog.17	2012-04-05 15:41:04.240890120 -0600
+diff -Nrup c/ChangeLog.17 d/ChangeLog.17
+--- c/ChangeLog.17	2012-05-20 19:47:38.000000000 -0600
++++ d/ChangeLog.17	2012-05-20 23:47:48.209688292 -0600
 @@ -256,6 +256,12 @@
  
  	* Makerules (libc-abis): Fix search for libc-abis in add-ons.
@@ -284,19 +252,7 @@ diff -Nrup a/ChangeLog.17 b/ChangeLog.17
  2009-07-21  Ulrich Drepper  <drepper at redhat.com>
  
  	* sysdeps/x86_64/multiarch/strstr.c: Minor cleanups.  Remove
-@@ -3218,6 +3229,11 @@ d2009-10-30  Ulrich Drepper  <drepper at re
- 	out common code into new function get_common_indeces. Determine
- 	extended family and model for Intel processors.
- 
-+2009-06-26  Andreas Schwab  <aschwab at redhat.com>
-+
-+	* timezone/zic.c (stringzone): Don't try to generate a POSIX TZ
-+	string when the timezone ends in DST.
-+
- 2009-06-26  Ulrich Drepper  <drepper at redhat.com>
- 
- 	* resolv/resolv.h: Define RES_SNGLKUPREOP.
-@@ -11818,6 +11834,10 @@ d2009-10-30  Ulrich Drepper  <drepper at re
+@@ -11818,6 +11829,10 @@ d2009-10-30  Ulrich Drepper  <drepper at re
  	[BZ #4368]
  	* stdlib/stdlib.h: Remove obsolete part of comment for realpath.
  
@@ -307,7 +263,7 @@ diff -Nrup a/ChangeLog.17 b/ChangeLog.17
  2007-04-16  Ulrich Drepper  <drepper at redhat.com>
  
  	[BZ #4364]
-@@ -13075,6 +13095,15 @@ d2009-10-30  Ulrich Drepper  <drepper at re
+@@ -13075,6 +13090,15 @@ d2009-10-30  Ulrich Drepper  <drepper at re
  	separators also if no non-zero digits found.
  	* stdlib/Makefile (tests): Add tst-strtod3.
  
@@ -323,10 +279,10 @@ diff -Nrup a/ChangeLog.17 b/ChangeLog.17
  2006-12-09  Ulrich Drepper  <drepper at redhat.com>
  
  	[BZ #3632]
-diff -Nrup a/Makeconfig b/Makeconfig
---- a/Makeconfig	2012-01-01 05:16:32.000000000 -0700
-+++ b/Makeconfig	2012-04-05 15:41:04.243890105 -0600
-@@ -803,12 +803,12 @@ endif
+diff -Nrup c/Makeconfig d/Makeconfig
+--- c/Makeconfig	2012-05-20 19:47:38.000000000 -0600
++++ d/Makeconfig	2012-05-20 23:08:50.899742641 -0600
+@@ -749,12 +749,12 @@ endif
  # The assembler can generate debug information too.
  ifndef ASFLAGS
  ifeq ($(have-cpp-asm-debuginfo),yes)
@@ -342,10 +298,10 @@ diff -Nrup a/Makeconfig b/Makeconfig
  
  ifndef BUILD_CC
  BUILD_CC = $(CC)
-diff -Nrup a/NEWS b/NEWS
---- a/NEWS	2012-01-01 05:16:32.000000000 -0700
-+++ b/NEWS	2012-04-05 15:41:04.244890100 -0600
-@@ -84,16 +84,6 @@ Version 2.14
+diff -Nrup c/NEWS d/NEWS
+--- c/NEWS	2012-05-20 19:47:38.000000000 -0600
++++ d/NEWS	2012-05-20 23:08:50.900742636 -0600
+@@ -149,16 +149,6 @@ Version 2.14
    12724, 12734, 12738, 12746, 12766, 12775, 12777, 12782, 12788, 12792,
    12795, 12811, 12813, 12814, 12841
  
@@ -362,23 +318,10 @@ diff -Nrup a/NEWS b/NEWS
  * New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at,
    syncfs, setns, sendmmsg
  
-diff -Nrup a/csu/Makefile b/csu/Makefile
---- a/csu/Makefile	2012-01-01 05:16:32.000000000 -0700
-+++ b/csu/Makefile	2012-04-05 15:41:04.245890094 -0600
-@@ -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-04-05 15:41:04.246890088 -0600
-@@ -64,6 +64,23 @@ extern void (*__init_array_end []) (int,
+diff -Nrup c/csu/elf-init.c d/csu/elf-init.c
+--- c/csu/elf-init.c	2012-05-20 19:47:38.000000000 -0600
++++ d/csu/elf-init.c	2012-05-20 23:08:50.902742626 -0600
+@@ -63,6 +63,23 @@ extern void (*__init_array_end []) (int,
  extern void (*__fini_array_start []) (void) attribute_hidden;
  extern void (*__fini_array_end []) (void) attribute_hidden;
  
@@ -402,12 +345,12 @@ diff -Nrup a/csu/elf-init.c b/csu/elf-init.c
  
  /* 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-04-05 15:41:04.247890082 -0600
-@@ -17,6 +17,9 @@
-    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-    02111-1307 USA.  */
+diff -Nrup c/debug/tst-chk1.c d/debug/tst-chk1.c
+--- c/debug/tst-chk1.c	2012-05-20 19:47:38.000000000 -0600
++++ d/debug/tst-chk1.c	2012-05-20 23:08:50.903742622 -0600
+@@ -16,6 +16,9 @@
+    License along with the GNU C Library; if not, see
+    <http://www.gnu.org/licenses/>.  */
  
 +/* Hack: make sure GCC doesn't know __chk_fail () will not return.  */
 +#define __noreturn__
@@ -415,7 +358,7 @@ diff -Nrup a/debug/tst-chk1.c b/debug/tst-chk1.c
  #include <assert.h>
  #include <fcntl.h>
  #include <locale.h>
-@@ -243,7 +246,7 @@ do_test (void)
+@@ -244,7 +247,7 @@ do_test (void)
    if (memcmp (a.buf1, "aabcdabcjj", 10))
      FAIL ();
  
@@ -424,7 +367,7 @@ diff -Nrup a/debug/tst-chk1.c b/debug/tst-chk1.c
    /* 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)
+@@ -359,7 +362,7 @@ do_test (void)
    memset (a.buf1 + 9, 'j', l0 + 2);
    CHK_FAIL_END
  
@@ -433,10 +376,10 @@ diff -Nrup a/debug/tst-chk1.c b/debug/tst-chk1.c
  #  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-04-05 15:41:04.248890076 -0600
-@@ -135,6 +135,7 @@ include ../Makeconfig
+diff -Nrup c/elf/Makefile d/elf/Makefile
+--- c/elf/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/elf/Makefile	2012-05-20 23:08:50.904742618 -0600
+@@ -50,6 +50,7 @@ include ../Makeconfig
  ifeq ($(unwind-find-fde),yes)
  routines += unwind-dw2-fde-glibc
  shared-only-routines += unwind-dw2-fde-glibc
@@ -444,10 +387,10 @@ diff -Nrup a/elf/Makefile b/elf/Makefile
  endif
  
  before-compile  = $(objpfx)trusted-dirs.h
-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-04-05 15:41:04.249890071 -0600
-@@ -24,11 +24,9 @@
+diff -Nrup c/elf/dl-init.c d/elf/dl-init.c
+--- c/elf/dl-init.c	2012-05-20 19:47:38.000000000 -0600
++++ d/elf/dl-init.c	2012-05-20 23:08:50.905742613 -0600
+@@ -23,11 +23,9 @@
  /* Type of the initializer.  */
  typedef void (*init_t) (int, char **, char **);
  
@@ -459,7 +402,7 @@ diff -Nrup a/elf/dl-init.c b/elf/dl-init.c
  
  
  static void
-@@ -133,9 +131,7 @@ _dl_init (struct link_map *main_map, int
+@@ -132,9 +130,7 @@ _dl_init (struct link_map *main_map, int
    while (i-- > 0)
      call_init (main_map->l_initfini[i], argc, argv, env);
  
@@ -469,10 +412,10 @@ diff -Nrup a/elf/dl-init.c b/elf/dl-init.c
 -#endif
  }
  INTDEF (_dl_init)
-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-04-05 15:41:04.250890066 -0600
-@@ -250,8 +250,7 @@ is_trusted_path_normalize (const char *p
+diff -Nrup c/elf/dl-load.c d/elf/dl-load.c
+--- c/elf/dl-load.c	2012-05-20 19:47:38.000000000 -0600
++++ d/elf/dl-load.c	2012-05-20 23:08:50.906742608 -0600
+@@ -249,8 +249,7 @@ is_trusted_path_normalize (const char *p
  
  
  static size_t
@@ -482,7 +425,7 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
  {
    size_t len;
    bool is_curly = false;
-@@ -280,12 +279,6 @@ is_dst (const char *start, const char *n
+@@ -279,12 +278,6 @@ is_dst (const char *start, const char *n
  	   && (!is_path || name[len] != ':'))
      return 0;
  
@@ -495,7 +438,7 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
    return len;
  }
  
-@@ -300,13 +293,10 @@ _dl_dst_count (const char *name, int is_
+@@ -299,13 +292,10 @@ _dl_dst_count (const char *name, int is_
      {
        size_t len;
  
@@ -512,7 +455,7 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
  	++cnt;
  
        name = strchr (name + len, '$');
-@@ -339,9 +329,16 @@ _dl_dst_substitute (struct link_map *l,
+@@ -338,9 +328,16 @@ _dl_dst_substitute (struct link_map *l,
  	  size_t len;
  
  	  ++name;
@@ -531,7 +474,7 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
  #ifndef SHARED
  	      if (l == NULL)
  		repl = _dl_get_origin ();
-@@ -352,9 +349,9 @@ _dl_dst_substitute (struct link_map *l,
+@@ -351,9 +348,9 @@ _dl_dst_substitute (struct link_map *l,
  	      check_for_trusted = (INTUSE(__libc_enable_secure)
  				   && l->l_type == lt_executable);
  	    }
@@ -543,7 +486,7 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
  	    repl = DL_DST_LIB;
  
  	  if (repl != NULL && repl != (const char *) -1)
-@@ -374,6 +371,7 @@ _dl_dst_substitute (struct link_map *l,
+@@ -373,6 +370,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;
@@ -551,10 +494,10 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
  	    }
  	  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-04-05 15:41:04.251890061 -0600
-@@ -82,10 +82,8 @@ unsigned long long _dl_load_adds;
+diff -Nrup c/elf/dl-support.c d/elf/dl-support.c
+--- c/elf/dl-support.c	2012-05-20 19:47:38.000000000 -0600
++++ d/elf/dl-support.c	2012-05-20 23:08:50.907742603 -0600
+@@ -81,10 +81,8 @@ unsigned long long _dl_load_adds;
     create a fake scope containing nothing.  */
  struct r_scope_elem _dl_initial_searchlist;
  
@@ -565,10 +508,10 @@ diff -Nrup a/elf/dl-support.c b/elf/dl-support.c
  
  /* 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-04-05 15:41:04.252890056 -0600
-@@ -1034,17 +1034,19 @@ search_dirs (void)
+diff -Nrup c/elf/ldconfig.c d/elf/ldconfig.c
+--- c/elf/ldconfig.c	2012-05-20 19:47:38.000000000 -0600
++++ d/elf/ldconfig.c	2012-05-20 23:08:50.908742598 -0600
+@@ -1033,17 +1033,19 @@ search_dirs (void)
  
  
  static void parse_conf_include (const char *config_file, unsigned int lineno,
@@ -590,7 +533,7 @@ diff -Nrup a/elf/ldconfig.c b/elf/ldconfig.c
  
    if (do_chroot && opt_chroot)
      {
-@@ -1105,7 +1107,14 @@ parse_conf (const char *filename, bool d
+@@ -1106,7 +1108,14 @@ Warning: ignoring configuration file tha
  	  cp += 8;
  	  while ((dir = strsep (&cp, " \t")) != NULL)
  	    if (dir[0] != '\0')
@@ -606,7 +549,7 @@ diff -Nrup a/elf/ldconfig.c b/elf/ldconfig.c
  	}
        else if (!strncasecmp (cp, "hwcap", 5) && isblank (cp[5]))
  	{
-@@ -1168,7 +1177,7 @@ parse_conf (const char *filename, bool d
+@@ -1169,7 +1178,7 @@ Warning: ignoring configuration file tha
     config files to read.  */
  static void
  parse_conf_include (const char *config_file, unsigned int lineno,
@@ -615,7 +558,7 @@ diff -Nrup a/elf/ldconfig.c b/elf/ldconfig.c
  {
    if (opt_chroot && pattern[0] != '/')
      error (EXIT_FAILURE, 0,
-@@ -1200,7 +1209,7 @@ parse_conf_include (const char *config_f
+@@ -1201,7 +1210,7 @@ parse_conf_include (const char *config_f
      {
      case 0:
        for (size_t i = 0; i < gl.gl_pathc; ++i)
@@ -624,7 +567,7 @@ diff -Nrup a/elf/ldconfig.c b/elf/ldconfig.c
        globfree64 (&gl);
        break;
  
-@@ -1243,6 +1252,8 @@ main (int argc, char **argv)
+@@ -1244,6 +1253,8 @@ main (int argc, char **argv)
    /* Set the text message domain.  */
    textdomain (_libc_intl_domainname);
  
@@ -633,7 +576,7 @@ diff -Nrup a/elf/ldconfig.c b/elf/ldconfig.c
    /* Parse and process arguments.  */
    int remaining;
    argp_parse (&argp, argc, argv, 0, &remaining, NULL);
-@@ -1352,12 +1363,14 @@ main (int argc, char **argv)
+@@ -1353,12 +1364,14 @@ main (int argc, char **argv)
  
    if (!opt_only_cline)
      {
@@ -649,10 +592,10 @@ diff -Nrup a/elf/ldconfig.c b/elf/ldconfig.c
      }
  
    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-04-05 15:41:04.253890051 -0600
-@@ -167,18 +167,6 @@ warning: you do not have execution permi
+diff -Nrup c/elf/ldd.bash.in d/elf/ldd.bash.in
+--- c/elf/ldd.bash.in	2012-05-20 19:47:38.000000000 -0600
++++ d/elf/ldd.bash.in	2012-05-20 23:08:50.909742593 -0600
+@@ -166,18 +166,6 @@ warning: you do not have execution permi
        fi
      done
      case $ret in
@@ -671,7 +614,7 @@ diff -Nrup a/elf/ldd.bash.in b/elf/ldd.bash.in
      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
+@@ -185,7 +173,7 @@ warning: you do not have execution permi
  	result=1
        }
        ;;
@@ -680,10 +623,10 @@ diff -Nrup a/elf/ldd.bash.in b/elf/ldd.bash.in
        try_trace "$RTLD" "$file" || result=1
        ;;
      *)
-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-04-05 15:41:04.255890040 -0600
-@@ -107,7 +107,6 @@ static struct audit_list
+diff -Nrup c/elf/rtld.c d/elf/rtld.c
+--- c/elf/rtld.c	2012-05-20 19:47:38.000000000 -0600
++++ d/elf/rtld.c	2012-05-20 23:08:50.910742588 -0600
+@@ -106,7 +106,6 @@ static struct audit_list
    struct audit_list *next;
  } *audit_list;
  
@@ -691,7 +634,7 @@ diff -Nrup a/elf/rtld.c b/elf/rtld.c
  /* 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
+@@ -116,7 +115,6 @@ static struct audit_list
     never be called.  */
  int _dl_starting_up = 0;
  INTVARDEF(_dl_starting_up)
@@ -710,7 +653,7 @@ diff -Nrup a/elf/rtld.c b/elf/rtld.c
  
    if (*user_entry == (ElfW(Addr)) ENTRY_POINT)
      {
-@@ -1397,7 +1393,9 @@ of this helper program; chances are you
+@@ -1408,7 +1404,9 @@ of this helper program; chances are you
  	      char *copy = malloc (len);
  	      if (copy == NULL)
  		_dl_fatal_printf ("out of memory\n");
@@ -721,7 +664,7 @@ diff -Nrup a/elf/rtld.c b/elf/rtld.c
  	    }
  
  	  /* Add the vDSO to the object list.  */
-@@ -2327,7 +2325,6 @@ ERROR: ld.so: object '%s' cannot be load
+@@ -2343,7 +2341,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));
@@ -729,50 +672,19 @@ diff -Nrup a/elf/rtld.c b/elf/rtld.c
    if (! prelinked && rtld_multiple_ref)
      {
        /* There was an explicit ref to the dynamic linker as a shared lib.
-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-04-05 15:41:04.256890034 -0600
+diff -Nrup c/include/bits/stdlib-ldbl.h d/include/bits/stdlib-ldbl.h
+--- c/include/bits/stdlib-ldbl.h	1969-12-31 17:00:00.000000000 -0700
++++ d/include/bits/stdlib-ldbl.h	2012-05-20 23:08:50.911742583 -0600
 @@ -0,0 +1 @@
 +#include <stdlib/bits/stdlib-ldbl.h>
-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-04-05 15:41:04.256890034 -0600
+diff -Nrup c/include/bits/wchar-ldbl.h d/include/bits/wchar-ldbl.h
+--- c/include/bits/wchar-ldbl.h	1969-12-31 17:00:00.000000000 -0700
++++ d/include/bits/wchar-ldbl.h	2012-05-20 23:08:50.912742578 -0600
 @@ -0,0 +1 @@
 +#include <wcsmbs/bits/wchar-ldbl.h>
-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-04-05 15:41:04.257890028 -0600
-@@ -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-04-05 15:41:04.258890022 -0600
-@@ -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-04-05 15:41:04.259890017 -0600
+diff -Nrup c/include/link.h d/include/link.h
+--- c/include/link.h	2012-05-20 19:47:38.000000000 -0600
++++ d/include/link.h	2012-05-20 23:08:50.914742568 -0600
 @@ -1,6 +1,6 @@
  /* Data structure for communication from the run-time dynamic linker for
     loaded ELF shared objects.
@@ -781,7 +693,7 @@ diff -Nrup a/include/link.h b/include/link.h
     This file is part of the GNU C Library.
  
     The GNU C Library is free software; you can redistribute it and/or
-@@ -290,7 +290,7 @@ struct link_map
+@@ -289,7 +289,7 @@ struct link_map
  #endif
  #ifndef FORCED_DYNAMIC_TLS_OFFSET
  # if NO_TLS_OFFSET == 0
@@ -790,19 +702,20 @@ diff -Nrup a/include/link.h b/include/link.h
  # elif NO_TLS_OFFSET == -1
  #  define FORCED_DYNAMIC_TLS_OFFSET -2
  # else
-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-04-05 15:41:04.259890017 -0600
-@@ -13,4 +13,5 @@ extern int __getrusage (enum __rusage_wh
+diff -Nrup c/include/sys/resource.h d/include/sys/resource.h
+--- c/include/sys/resource.h	2012-05-20 19:47:38.000000000 -0600
++++ d/include/sys/resource.h	2012-05-20 23:08:50.915742564 -0600
+@@ -14,5 +14,6 @@ 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-04-05 15:41:04.260890012 -0600
-@@ -57,6 +57,8 @@ tests := htontest test_ifindex tst-ntoa
+ #endif
+diff -Nrup c/inet/Makefile d/inet/Makefile
+--- c/inet/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/inet/Makefile	2012-05-20 23:08:50.916742560 -0600
+@@ -54,6 +54,8 @@ tests := htontest test_ifindex tst-ntoa
  
  include ../Rules
  
@@ -811,10 +724,10 @@ diff -Nrup a/inet/Makefile b/inet/Makefile
  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-04-05 15:41:04.261890007 -0600
-@@ -57,8 +57,6 @@ korean		ko_KR.eucKR
+diff -Nrup c/intl/locale.alias d/intl/locale.alias
+--- c/intl/locale.alias	2012-05-20 19:47:38.000000000 -0600
++++ d/intl/locale.alias	2012-05-20 23:08:50.916742560 -0600
+@@ -56,8 +56,6 @@ korean		ko_KR.eucKR
  korean.euc 	ko_KR.eucKR
  ko_KR		ko_KR.eucKR
  lithuanian      lt_LT.ISO-8859-13
@@ -823,10 +736,10 @@ diff -Nrup a/intl/locale.alias b/intl/locale.alias
  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-04-05 15:41:04.261890007 -0600
-@@ -169,10 +169,12 @@ typedef _G_fpos64_t fpos64_t;
+diff -Nrup c/libio/stdio.h d/libio/stdio.h
+--- c/libio/stdio.h	2012-05-20 19:47:38.000000000 -0600
++++ d/libio/stdio.h	2012-05-20 23:08:50.979742258 -0600
+@@ -168,10 +168,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.  */
@@ -839,9 +752,9 @@ diff -Nrup a/libio/stdio.h b/libio/stdio.h
  
  __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-04-05 15:41:04.331889626 -0600
+diff -Nrup c/locale/iso-4217.def d/locale/iso-4217.def
+--- c/locale/iso-4217.def	2012-05-20 19:47:38.000000000 -0600
++++ d/locale/iso-4217.def	2012-05-20 23:08:50.980742253 -0600
 @@ -8,6 +8,7 @@
   *
   * !!! The list has to be sorted !!!
@@ -933,10 +846,10 @@ diff -Nrup a/locale/iso-4217.def b/locale/iso-4217.def
  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-04-05 15:41:04.332889619 -0600
-@@ -253,9 +253,9 @@ oldlocrecentcmp (const void *a, const vo
+diff -Nrup c/locale/programs/locarchive.c d/locale/programs/locarchive.c
+--- c/locale/programs/locarchive.c	2012-05-20 19:47:38.000000000 -0600
++++ d/locale/programs/locarchive.c	2012-05-20 23:08:50.981742248 -0600
+@@ -252,9 +252,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);
@@ -949,7 +862,7 @@ diff -Nrup a/locale/programs/locarchive.c b/locale/programs/locarchive.c
  
  
  static bool
-@@ -636,7 +636,7 @@ close_archive (struct locarhandle *ah)
+@@ -635,7 +635,7 @@ close_archive (struct locarhandle *ah)
  #include "../../intl/explodename.c"
  #include "../../intl/l10nflist.c"
  
@@ -958,7 +871,7 @@ diff -Nrup a/locale/programs/locarchive.c b/locale/programs/locarchive.c
  insert_name (struct locarhandle *ah,
  	     const char *name, size_t name_len, bool replace)
  {
-@@ -694,7 +694,7 @@ insert_name (struct locarhandle *ah,
+@@ -693,7 +693,7 @@ insert_name (struct locarhandle *ah,
    return &namehashtab[idx];
  }
  
@@ -967,10 +880,10 @@ diff -Nrup a/locale/programs/locarchive.c b/locale/programs/locarchive.c
  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-04-05 15:41:04.334889614 -0600
-@@ -90,6 +90,14 @@
+diff -Nrup c/localedata/ChangeLog d/localedata/ChangeLog
+--- c/localedata/ChangeLog	2012-05-20 19:47:38.000000000 -0600
++++ d/localedata/ChangeLog	2012-05-20 23:08:50.982742243 -0600
+@@ -145,6 +145,14 @@
  	* tests-mbwc/tst_funcs.h (TST_DECL_VARS, TST_HEAD_LOCALE):
  	Remove unused variable.
  
@@ -985,10 +898,10 @@ diff -Nrup a/localedata/ChangeLog b/localedata/ChangeLog
  2011-05-21  Ulrich Drepper  <drepper at gmail.com>
  
  	[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-04-05 15:41:04.336889605 -0600
-@@ -224,6 +224,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-lo
+diff -Nrup c/localedata/Makefile d/localedata/Makefile
+--- c/localedata/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/localedata/Makefile	2012-05-20 23:08:50.984742233 -0600
+@@ -211,6 +211,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-lo
  	echo -n '...'; \
  	input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
  	$(LOCALEDEF) --alias-file=../intl/locale.alias \
@@ -996,9 +909,9 @@ diff -Nrup a/localedata/Makefile b/localedata/Makefile
  		     -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-04-05 15:41:04.337889599 -0600
+diff -Nrup c/localedata/SUPPORTED d/localedata/SUPPORTED
+--- c/localedata/SUPPORTED	2012-05-20 19:47:38.000000000 -0600
++++ d/localedata/SUPPORTED	2012-05-20 23:08:50.984742233 -0600
 @@ -88,6 +88,7 @@ cy_GB.UTF-8/UTF-8 \
  cy_GB/ISO-8859-14 \
  da_DK.UTF-8/UTF-8 \
@@ -1040,40 +953,36 @@ diff -Nrup a/localedata/SUPPORTED b/localedata/SUPPORTED
  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-04-05 15:41:04.337889599 -0600
-@@ -248,8 +248,11 @@ mon         "<U0049><U006F><U006E><U0061
+diff -Nrup c/localedata/locales/cy_GB d/localedata/locales/cy_GB
+--- c/localedata/locales/cy_GB	2012-05-20 19:47:38.000000000 -0600
++++ d/localedata/locales/cy_GB	2012-05-20 23:32:38.203028870 -0600
+@@ -248,9 +248,9 @@ mon         "<U0049><U006F><U006E><U0061
  d_t_fmt     "<U0044><U0079><U0064><U0064><U0020><U0025><U0041><U0020><U0025><U0064><U0020><U006d><U0069><U0073><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
  d_fmt       "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0079>"
  t_fmt       "<U0025><U0054>"
--am_pm       "";""
--t_fmt_ampm  ""
+-am_pm       "<U0061><U006D>";"<U0070><U006D>"
 +am_pm       "<U0041><U004D>";"<U0050><U004D>"
-+t_fmt_ampm  "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0050><U0020><U0025><U005A>"
+ t_fmt_ampm  "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0050><U0020><U0025><U005A>"
+-date_fmt    "<U0025><U0061><U0020><U0025><U0065><U0020><U0025><U0062>/
 +date_fmt    "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
-+<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
-+<U0025><U005A><U0020><U0025><U0059>"
+ <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+ <U0025><U005A><U0020><U0025><U0059>"
  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-04-05 15:41:04.337889599 -0600
-@@ -116,8 +116,8 @@ mon         "<U004A><U0061><U006E><U0075
+diff -Nrup c/localedata/locales/en_GB d/localedata/locales/en_GB
+--- c/localedata/locales/en_GB	2012-05-20 19:47:38.000000000 -0600
++++ d/localedata/locales/en_GB	2012-05-20 23:33:14.483855936 -0600
+@@ -116,7 +116,7 @@ mon         "<U004A><U0061><U006E><U0075
  d_t_fmt     "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
  d_fmt       "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
  t_fmt       "<U0025><U0054>"
--am_pm       "";""
--t_fmt_ampm  ""
+-am_pm       "<U0061><U006D>";"<U0070><U006D>"
 +am_pm       "<U0041><U004D>";"<U0050><U004D>"
-+t_fmt_ampm  "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0050><U0020><U0025><U005A>"
- date_fmt	"<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
+ t_fmt_ampm  "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0050><U0020><U0025><U005A>"
+ date_fmt    "<U0025><U0061><U0020><U0025><U0065><U0020><U0025><U0062>/
  <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
- <U0025><U005A><U0020><U0025><U0059>"
-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-04-05 15:41:04.337889599 -0600
+diff -Nrup c/localedata/locales/no_NO d/localedata/locales/no_NO
+--- c/localedata/locales/no_NO	1969-12-31 17:00:00.000000000 -0700
++++ d/localedata/locales/no_NO	2012-05-20 23:08:50.986742223 -0600
 @@ -0,0 +1,69 @@
 +escape_char	/
 +comment_char    %
@@ -1144,9 +1053,9 @@ diff -Nrup a/localedata/locales/no_NO b/localedata/locales/no_NO
 +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-04-05 15:41:04.338889593 -0600
+diff -Nrup c/localedata/locales/zh_TW d/localedata/locales/zh_TW
+--- c/localedata/locales/zh_TW	2012-05-20 19:47:38.000000000 -0600
++++ d/localedata/locales/zh_TW	2012-05-20 23:08:50.986742223 -0600
 @@ -1,7 +1,7 @@
  comment_char %
  escape_char /
@@ -1174,10 +1083,10 @@ diff -Nrup a/localedata/locales/zh_TW b/localedata/locales/zh_TW
  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-04-05 15:41:04.338889593 -0600
-@@ -29,6 +29,7 @@
+diff -Nrup c/login/programs/pt_chown.c d/login/programs/pt_chown.c
+--- c/login/programs/pt_chown.c	2012-05-20 19:47:38.000000000 -0600
++++ d/login/programs/pt_chown.c	2012-05-20 23:08:50.987742218 -0600
+@@ -28,6 +28,7 @@
  #include <string.h>
  #include <sys/stat.h>
  #include <unistd.h>
@@ -1185,7 +1094,7 @@ diff -Nrup a/login/programs/pt_chown.c b/login/programs/pt_chown.c
  #ifdef HAVE_LIBCAP
  # include <sys/capability.h>
  # include <sys/prctl.h>
-@@ -143,7 +144,7 @@ main (int argc, char *argv[])
+@@ -142,7 +143,7 @@ main (int argc, char *argv[])
    uid_t uid = getuid ();
    int remaining;
  
@@ -1194,7 +1103,7 @@ diff -Nrup a/login/programs/pt_chown.c b/login/programs/pt_chown.c
      {
  #ifdef HAVE_LIBCAP
    /* Drop privileges.  */
-@@ -176,6 +177,13 @@ main (int argc, char *argv[])
+@@ -175,6 +176,13 @@ main (int argc, char *argv[])
  
    /* We aren't going to be using privileges, so drop them right now. */
    setuid (uid);
@@ -1208,7 +1117,7 @@ diff -Nrup a/login/programs/pt_chown.c b/login/programs/pt_chown.c
  
    /* Set locale via LC_ALL.  */
    setlocale (LC_ALL, "");
-@@ -195,9 +203,5 @@ main (int argc, char *argv[])
+@@ -194,9 +202,5 @@ main (int argc, char *argv[])
        return EXIT_FAILURE;
      }
  
@@ -1218,90 +1127,11 @@ diff -Nrup a/login/programs/pt_chown.c b/login/programs/pt_chown.c
 -
    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-04-05 15:41:04.338889593 -0600
-@@ -25,10 +25,26 @@
- # include <mcheck.h>
- # include <stdint.h>
- # include <stdio.h>
-+# include <stdlib.h>
- # include <libintl.h>
- # include <errno.h>
- #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-04-05 15:41:04.338889593 -0600
-@@ -5,7 +5,7 @@
- @c setchapternewpage odd
+diff -Nrup c/manual/libc.texinfo d/manual/libc.texinfo
+--- c/manual/libc.texinfo	2012-05-20 19:47:38.000000000 -0600
++++ d/manual/libc.texinfo	2012-05-20 23:08:50.988742213 -0600
+@@ -7,7 +7,7 @@
+ @include macros.texi
  
  @comment Tell install-info what to do.
 - at dircategory Software libraries
@@ -1309,12 +1139,12 @@ diff -Nrup a/manual/libc.texinfo b/manual/libc.texinfo
  @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-04-05 15:41:04.339889587 -0600
-@@ -146,7 +146,10 @@
- #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
+diff -Nrup c/misc/sys/cdefs.h d/misc/sys/cdefs.h
+--- c/misc/sys/cdefs.h	2012-05-20 19:47:38.000000000 -0600
++++ d/misc/sys/cdefs.h	2012-05-20 23:17:48.280185158 -0600
+@@ -142,7 +142,10 @@
  #define __bos0(ptr) __builtin_object_size (ptr, 0)
+ #define __fortify_function __extern_always_inline __attribute_artificial__
  
 -#if __GNUC_PREREQ (4,3)
 +#if __GNUC_PREREQ (4,3) \
@@ -1324,26 +1154,19 @@ diff -Nrup a/misc/sys/cdefs.h b/misc/sys/cdefs.h
  # define __warndecl(name, msg) \
    extern void name (void) __attribute__((__warning__ (msg)))
  # define __warnattr(msg) __attribute__((__warning__ (msg)))
-@@ -316,10 +319,16 @@
+@@ -320,7 +323,10 @@
  
  /* 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)
++       && __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 @@
+ #  define __extern_always_inline \
+@@ -333,7 +339,10 @@
  
  /* GCC 4.3 and above allow passing all anonymous arguments of an
     __extern_always_inline function to some other vararg function.  */
@@ -1355,22 +1178,10 @@ diff -Nrup a/misc/sys/cdefs.h b/misc/sys/cdefs.h
  # 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-04-05 15:41:04.339889587 -0600
-@@ -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
+diff -Nrup c/nis/Makefile d/nis/Makefile
+--- c/nis/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/nis/Makefile	2012-05-20 23:08:50.988742213 -0600
+@@ -71,6 +71,8 @@ libnss_nisplus-inhibit-o = $(filter-out
  
  include ../Rules
  
@@ -1379,9 +1190,9 @@ diff -Nrup a/nis/Makefile b/nis/Makefile
  
  $(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-04-05 15:41:04.339889587 -0600
+diff -Nrup c/nis/nss d/nis/nss
+--- c/nis/nss	2012-05-20 19:47:38.000000000 -0600
++++ d/nis/nss	2012-05-20 23:08:50.989742208 -0600
 @@ -25,7 +25,7 @@
  #  memory with every getXXent() call.  Otherwise each getXXent() call
  #  might result into a network communication with the server to get
@@ -1391,10 +1202,10 @@ diff -Nrup a/nis/nss b/nis/nss
  #
  # 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-04-05 15:41:04.341889575 -0600
-@@ -210,6 +210,51 @@
+diff -Nrup c/nptl/ChangeLog d/nptl/ChangeLog
+--- c/nptl/ChangeLog	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/ChangeLog	2012-05-20 23:08:50.992742195 -0600
+@@ -678,6 +678,51 @@
  	clearing memory.
  	Patch partly by Robert Rex <robert.rex at exasol.com>.
  
@@ -1446,7 +1257,7 @@ diff -Nrup a/nptl/ChangeLog b/nptl/ChangeLog
  2011-01-19  Roland McGrath  <roland at redhat.com>
  
  	* pthread_cond_wait.c (__pthread_cond_wait): Fix comment typo.
-@@ -4939,6 +4984,11 @@
+@@ -5407,6 +5452,11 @@
  	Move definition inside libpthread, libc, librt check.  Provide
  	definition for rtld.
  
@@ -1458,7 +1269,7 @@ diff -Nrup a/nptl/ChangeLog b/nptl/ChangeLog
  2004-09-02  Ulrich Drepper  <drepper at redhat.com>
  
  	* sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp.
-@@ -7013,6 +7063,11 @@
+@@ -7481,6 +7531,11 @@
  
  	* Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules).
  
@@ -1470,9 +1281,9 @@ diff -Nrup a/nptl/ChangeLog b/nptl/ChangeLog
  2003-07-25  Jakub Jelinek  <jakub at redhat.com>
  
  	* 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-04-05 15:41:04.344889556 -0600
+diff -Nrup c/nptl/DESIGN-systemtap-probes.txt d/nptl/DESIGN-systemtap-probes.txt
+--- c/nptl/DESIGN-systemtap-probes.txt	1969-12-31 17:00:00.000000000 -0700
++++ d/nptl/DESIGN-systemtap-probes.txt	2012-05-20 23:08:50.994742186 -0600
 @@ -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.
@@ -1563,20 +1374,10 @@ diff -Nrup a/nptl/DESIGN-systemtap-probes.txt b/nptl/DESIGN-systemtap-probes.txt
 +            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-04-05 15:41:04.345889554 -0600
-@@ -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), \
+diff -Nrup c/nptl/Makefile d/nptl/Makefile
+--- c/nptl/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/Makefile	2012-05-20 23:08:50.995742181 -0600
+@@ -529,15 +529,19 @@ $(addprefix $(objpfx), \
      $(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \
  				       $(objpfx)libpthread_nonshared.a
  $(objpfx)tst-unload: $(common-objpfx)dlfcn/libdl.so
@@ -1598,9 +1399,9 @@ diff -Nrup a/nptl/Makefile b/nptl/Makefile
  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-04-05 15:41:04.345889554 -0600
+diff -Nrup c/nptl/Versions d/nptl/Versions
+--- c/nptl/Versions	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/Versions	2012-05-20 23:08:50.996742176 -0600
 @@ -30,6 +30,7 @@ libc {
      __libc_alloca_cutoff;
      # Internal libc interface to libpthread
@@ -1609,10 +1410,10 @@ diff -Nrup a/nptl/Versions b/nptl/Versions
    }
  }
  
-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-04-05 15:41:04.345889554 -0600
-@@ -415,7 +415,7 @@ __pthread_initialize_minimal_internal (v
+diff -Nrup c/nptl/nptl-init.c d/nptl/nptl-init.c
+--- c/nptl/nptl-init.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/nptl-init.c	2012-05-20 23:08:50.996742176 -0600
+@@ -414,7 +414,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;
@@ -1621,10 +1422,10 @@ diff -Nrup a/nptl/nptl-init.c b/nptl/nptl-init.c
        || 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-04-05 15:41:04.346889550 -0600
-@@ -23,6 +23,7 @@
+diff -Nrup c/nptl/pthread_cond_broadcast.c d/nptl/pthread_cond_broadcast.c
+--- c/nptl/pthread_cond_broadcast.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_cond_broadcast.c	2012-05-20 23:08:50.997742171 -0600
+@@ -22,6 +22,7 @@
  #include <lowlevellock.h>
  #include <pthread.h>
  #include <pthreadP.h>
@@ -1632,7 +1433,7 @@ diff -Nrup a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c
  
  #include <shlib-compat.h>
  #include <kernel-features.h>
-@@ -32,6 +33,8 @@ int
+@@ -31,6 +32,8 @@ int
  __pthread_cond_broadcast (cond)
       pthread_cond_t *cond;
  {
@@ -1641,10 +1442,10 @@ diff -Nrup a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c
    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-04-05 15:41:04.346889550 -0600
-@@ -20,6 +20,7 @@
+diff -Nrup c/nptl/pthread_cond_destroy.c d/nptl/pthread_cond_destroy.c
+--- c/nptl/pthread_cond_destroy.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_cond_destroy.c	2012-05-20 23:08:50.997742171 -0600
+@@ -19,6 +19,7 @@
  #include <errno.h>
  #include <shlib-compat.h>
  #include "pthreadP.h"
@@ -1652,7 +1453,7 @@ diff -Nrup a/nptl/pthread_cond_destroy.c b/nptl/pthread_cond_destroy.c
  
  
  int
-@@ -29,6 +30,8 @@ __pthread_cond_destroy (cond)
+@@ -28,6 +29,8 @@ __pthread_cond_destroy (cond)
    int pshared = (cond->__data.__mutex == (void *) ~0l)
  		? LLL_SHARED : LLL_PRIVATE;
  
@@ -1661,10 +1462,10 @@ diff -Nrup a/nptl/pthread_cond_destroy.c b/nptl/pthread_cond_destroy.c
    /* 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-04-05 15:41:04.346889550 -0600
-@@ -20,6 +20,7 @@
+diff -Nrup c/nptl/pthread_cond_init.c d/nptl/pthread_cond_init.c
+--- c/nptl/pthread_cond_init.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_cond_init.c	2012-05-20 23:08:50.998742166 -0600
+@@ -19,6 +19,7 @@
  
  #include <shlib-compat.h>
  #include "pthreadP.h"
@@ -1672,7 +1473,7 @@ diff -Nrup a/nptl/pthread_cond_init.c b/nptl/pthread_cond_init.c
  
  
  int
-@@ -42,6 +43,8 @@ __pthread_cond_init (cond, cond_attr)
+@@ -41,6 +42,8 @@ __pthread_cond_init (cond, cond_attr)
  			  ? NULL : (void *) ~0l);
    cond->__data.__broadcast_seq = 0;
  
@@ -1681,10 +1482,10 @@ diff -Nrup a/nptl/pthread_cond_init.c b/nptl/pthread_cond_init.c
    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-04-05 15:41:04.346889550 -0600
-@@ -26,6 +26,7 @@
+diff -Nrup c/nptl/pthread_cond_signal.c d/nptl/pthread_cond_signal.c
+--- c/nptl/pthread_cond_signal.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_cond_signal.c	2012-05-20 23:08:50.998742166 -0600
+@@ -25,6 +25,7 @@
  
  #include <shlib-compat.h>
  #include <kernel-features.h>
@@ -1692,7 +1493,7 @@ diff -Nrup a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c
  
  
  int
-@@ -35,6 +36,8 @@ __pthread_cond_signal (cond)
+@@ -34,6 +35,8 @@ __pthread_cond_signal (cond)
    int pshared = (cond->__data.__mutex == (void *) ~0l)
  		? LLL_SHARED : LLL_PRIVATE;
  
@@ -1701,10 +1502,10 @@ diff -Nrup a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c
    /* 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-04-05 15:41:04.346889550 -0600
-@@ -25,6 +25,7 @@
+diff -Nrup c/nptl/pthread_cond_wait.c d/nptl/pthread_cond_wait.c
+--- c/nptl/pthread_cond_wait.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_cond_wait.c	2012-05-20 23:08:50.999742161 -0600
+@@ -24,6 +24,7 @@
  #include <pthreadP.h>
  
  #include <shlib-compat.h>
@@ -1712,7 +1513,7 @@ diff -Nrup a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
  
  
  struct _condvar_cleanup_buffer
-@@ -101,6 +102,8 @@ __pthread_cond_wait (cond, mutex)
+@@ -100,6 +101,8 @@ __pthread_cond_wait (cond, mutex)
    int pshared = (cond->__data.__mutex == (void *) ~0l)
    		? LLL_SHARED : LLL_PRIVATE;
  
@@ -1721,10 +1522,10 @@ diff -Nrup a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
    /* 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-04-05 15:41:04.347889544 -0600
-@@ -32,6 +32,8 @@
+diff -Nrup c/nptl/pthread_create.c d/nptl/pthread_create.c
+--- c/nptl/pthread_create.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_create.c	2012-05-20 23:08:51.000742156 -0600
+@@ -31,6 +31,8 @@
  
  #include <shlib-compat.h>
  
@@ -1733,7 +1534,7 @@ diff -Nrup a/nptl/pthread_create.c b/nptl/pthread_create.c
  
  /* Local function to start thread and handle cleanup.  */
  static int start_thread (void *arg);
-@@ -300,6 +302,8 @@ start_thread (void *arg)
+@@ -299,6 +301,8 @@ start_thread (void *arg)
  	  CANCEL_RESET (oldtype);
  	}
  
@@ -1742,7 +1543,7 @@ diff -Nrup a/nptl/pthread_create.c b/nptl/pthread_create.c
        /* 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
+@@ -556,6 +560,8 @@ __pthread_create_2_1 (newthread, attr, s
    /* Pass the descriptor to the caller.  */
    *newthread = (pthread_t) pd;
  
@@ -1751,10 +1552,10 @@ diff -Nrup a/nptl/pthread_create.c b/nptl/pthread_create.c
    /* 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-04-05 15:41:04.347889544 -0600
-@@ -23,6 +23,8 @@
+diff -Nrup c/nptl/pthread_join.c d/nptl/pthread_join.c
+--- c/nptl/pthread_join.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_join.c	2012-05-20 23:08:51.000742156 -0600
+@@ -22,6 +22,8 @@
  #include <atomic.h>
  #include "pthreadP.h"
  
@@ -1763,7 +1564,7 @@ diff -Nrup a/nptl/pthread_join.c b/nptl/pthread_join.c
  
  static void
  cleanup (void *arg)
-@@ -55,6 +57,8 @@ pthread_join (threadid, thread_return)
+@@ -54,6 +56,8 @@ pthread_join (threadid, thread_return)
    struct pthread *self = THREAD_SELF;
    int result = 0;
  
@@ -1772,7 +1573,7 @@ diff -Nrup a/nptl/pthread_join.c b/nptl/pthread_join.c
    /* 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)
+@@ -109,5 +113,7 @@ pthread_join (threadid, thread_return)
        __free_tcb (pd);
      }
  
@@ -1780,10 +1581,10 @@ diff -Nrup a/nptl/pthread_join.c b/nptl/pthread_join.c
 +
    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-04-05 15:41:04.347889544 -0600
-@@ -20,11 +20,15 @@
+diff -Nrup c/nptl/pthread_mutex_destroy.c d/nptl/pthread_mutex_destroy.c
+--- c/nptl/pthread_mutex_destroy.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_mutex_destroy.c	2012-05-20 23:08:51.001742151 -0600
+@@ -19,11 +19,15 @@
  #include <errno.h>
  #include "pthreadP.h"
  
@@ -1799,10 +1600,10 @@ diff -Nrup a/nptl/pthread_mutex_destroy.c b/nptl/pthread_mutex_destroy.c
    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-04-05 15:41:04.347889544 -0600
-@@ -24,6 +24,8 @@
+diff -Nrup c/nptl/pthread_mutex_init.c d/nptl/pthread_mutex_init.c
+--- c/nptl/pthread_mutex_init.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_mutex_init.c	2012-05-20 23:08:51.001742151 -0600
+@@ -23,6 +23,8 @@
  #include <kernel-features.h>
  #include "pthreadP.h"
  
@@ -1811,7 +1612,7 @@ diff -Nrup a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c
  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)
+@@ -134,6 +136,8 @@ __pthread_mutex_init (mutex, mutexattr)
    // mutex->__spins = 0;	already done by memset
    // mutex->__next = NULL;	already done by memset
  
@@ -1820,10 +1621,10 @@ diff -Nrup a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c
    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-04-05 15:41:04.348889538 -0600
-@@ -24,6 +24,7 @@
+diff -Nrup c/nptl/pthread_mutex_lock.c d/nptl/pthread_mutex_lock.c
+--- c/nptl/pthread_mutex_lock.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_mutex_lock.c	2012-05-20 23:08:51.001742151 -0600
+@@ -23,6 +23,7 @@
  #include <not-cancel.h>
  #include "pthreadP.h"
  #include <lowlevellock.h>
@@ -1831,7 +1632,7 @@ diff -Nrup a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c
  
  
  #ifndef LLL_MUTEX_LOCK
-@@ -48,6 +49,9 @@ __pthread_mutex_lock (mutex)
+@@ -47,6 +48,9 @@ __pthread_mutex_lock (mutex)
    assert (sizeof (mutex->__size) >= sizeof (mutex->__data));
  
    unsigned int type = PTHREAD_MUTEX_TYPE (mutex);
@@ -1841,7 +1642,7 @@ diff -Nrup a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c
    if (__builtin_expect (type & ~PTHREAD_MUTEX_KIND_MASK_NP, 0))
      return __pthread_mutex_lock_full (mutex);
  
-@@ -127,6 +131,8 @@ __pthread_mutex_lock (mutex)
+@@ -126,6 +130,8 @@ __pthread_mutex_lock (mutex)
    ++mutex->__data.__nusers;
  #endif
  
@@ -1850,7 +1651,7 @@ diff -Nrup a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c
    return 0;
  }
  
-@@ -467,6 +473,8 @@ __pthread_mutex_lock_full (pthread_mutex
+@@ -466,6 +472,8 @@ __pthread_mutex_lock_full (pthread_mutex
    ++mutex->__data.__nusers;
  #endif
  
@@ -1859,10 +1660,10 @@ diff -Nrup a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c
    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-04-05 15:41:04.348889538 -0600
-@@ -24,6 +24,8 @@
+diff -Nrup c/nptl/pthread_mutex_timedlock.c d/nptl/pthread_mutex_timedlock.c
+--- c/nptl/pthread_mutex_timedlock.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_mutex_timedlock.c	2012-05-20 23:08:51.002742146 -0600
+@@ -23,6 +23,8 @@
  #include <lowlevellock.h>
  #include <not-cancel.h>
  
@@ -1871,7 +1672,7 @@ diff -Nrup a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c
  
  int
  pthread_mutex_timedlock (mutex, abstime)
-@@ -34,6 +36,8 @@ pthread_mutex_timedlock (mutex, abstime)
+@@ -33,6 +35,8 @@ pthread_mutex_timedlock (mutex, abstime)
    pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
    int result = 0;
  
@@ -1880,7 +1681,7 @@ diff -Nrup a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c
    /* 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)
+@@ -171,6 +175,8 @@ pthread_mutex_timedlock (mutex, abstime)
  
  		  ++mutex->__data.__count;
  
@@ -1889,7 +1690,7 @@ diff -Nrup a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c
  		  return 0;
  		}
  	    }
-@@ -242,6 +248,8 @@ pthread_mutex_timedlock (mutex, abstime)
+@@ -241,6 +247,8 @@ pthread_mutex_timedlock (mutex, abstime)
  
  		++mutex->__data.__count;
  
@@ -1898,7 +1699,7 @@ diff -Nrup a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c
  		return 0;
  	      }
  	  }
-@@ -377,6 +385,8 @@ pthread_mutex_timedlock (mutex, abstime)
+@@ -376,6 +384,8 @@ pthread_mutex_timedlock (mutex, abstime)
  
  		++mutex->__data.__count;
  
@@ -1907,7 +1708,7 @@ diff -Nrup a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c
  		return 0;
  	      }
  	  }
-@@ -477,6 +487,8 @@ pthread_mutex_timedlock (mutex, abstime)
+@@ -476,6 +486,8 @@ pthread_mutex_timedlock (mutex, abstime)
        /* Record the ownership.  */
        mutex->__data.__owner = id;
        ++mutex->__data.__nusers;
@@ -1916,10 +1717,10 @@ diff -Nrup a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c
      }
  
   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-04-05 15:41:04.348889538 -0600
-@@ -22,6 +22,7 @@
+diff -Nrup c/nptl/pthread_mutex_unlock.c d/nptl/pthread_mutex_unlock.c
+--- c/nptl/pthread_mutex_unlock.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_mutex_unlock.c	2012-05-20 23:08:51.002742146 -0600
+@@ -21,6 +21,7 @@
  #include <stdlib.h>
  #include "pthreadP.h"
  #include <lowlevellock.h>
@@ -1927,7 +1728,7 @@ diff -Nrup a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c
  
  static int
  internal_function
-@@ -50,6 +51,9 @@ __pthread_mutex_unlock_usercnt (mutex, d
+@@ -49,6 +50,9 @@ __pthread_mutex_unlock_usercnt (mutex, d
  
        /* Unlock.  */
        lll_unlock (mutex->__data.__lock, PTHREAD_MUTEX_PSHARED (mutex));
@@ -1937,7 +1738,7 @@ diff -Nrup a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c
        return 0;
      }
    else if (__builtin_expect (type == PTHREAD_MUTEX_RECURSIVE_NP, 1))
-@@ -272,6 +276,9 @@ __pthread_mutex_unlock_full (pthread_mut
+@@ -271,6 +275,9 @@ __pthread_mutex_unlock_full (pthread_mut
  			PTHREAD_MUTEX_PSHARED (mutex));
  
        int oldprio = newval >> PTHREAD_MUTEX_PRIO_CEILING_SHIFT;
@@ -1947,7 +1748,7 @@ diff -Nrup a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c
        return __pthread_tpp_change_priority (oldprio, -1);
  
      default:
-@@ -279,6 +286,7 @@ __pthread_mutex_unlock_full (pthread_mut
+@@ -278,6 +285,7 @@ __pthread_mutex_unlock_full (pthread_mut
        return EINVAL;
      }
  
@@ -1955,11 +1756,11 @@ diff -Nrup a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c
    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-04-05 15:41:04.348889538 -0600
-@@ -18,12 +18,15 @@
-    02111-1307 USA.  */
+diff -Nrup c/nptl/pthread_rwlock_destroy.c d/nptl/pthread_rwlock_destroy.c
+--- c/nptl/pthread_rwlock_destroy.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_rwlock_destroy.c	2012-05-20 23:08:51.003742141 -0600
+@@ -17,12 +17,15 @@
+    <http://www.gnu.org/licenses/>.  */
  
  #include "pthreadP.h"
 +#include <stap-probe.h>
@@ -1974,10 +1775,10 @@ diff -Nrup a/nptl/pthread_rwlock_destroy.c b/nptl/pthread_rwlock_destroy.c
    /* 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-04-05 15:41:04.348889538 -0600
-@@ -22,6 +22,7 @@
+diff -Nrup c/nptl/pthread_rwlock_rdlock.c d/nptl/pthread_rwlock_rdlock.c
+--- c/nptl/pthread_rwlock_rdlock.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_rwlock_rdlock.c	2012-05-20 23:08:51.003742141 -0600
+@@ -21,6 +21,7 @@
  #include <lowlevellock.h>
  #include <pthread.h>
  #include <pthreadP.h>
@@ -1985,7 +1786,7 @@ diff -Nrup a/nptl/pthread_rwlock_rdlock.c b/nptl/pthread_rwlock_rdlock.c
  
  
  /* Acquire read lock for RWLOCK.  */
-@@ -31,6 +32,8 @@ __pthread_rwlock_rdlock (rwlock)
+@@ -30,6 +31,8 @@ __pthread_rwlock_rdlock (rwlock)
  {
    int result = 0;
  
@@ -1994,7 +1795,7 @@ diff -Nrup a/nptl/pthread_rwlock_rdlock.c b/nptl/pthread_rwlock_rdlock.c
    /* Make sure we are alone.  */
    lll_lock (rwlock->__data.__lock, rwlock->__data.__shared);
  
-@@ -49,6 +52,8 @@ __pthread_rwlock_rdlock (rwlock)
+@@ -48,6 +51,8 @@ __pthread_rwlock_rdlock (rwlock)
  	      --rwlock->__data.__nr_readers;
  	      result = EAGAIN;
  	    }
@@ -2003,10 +1804,10 @@ diff -Nrup a/nptl/pthread_rwlock_rdlock.c b/nptl/pthread_rwlock_rdlock.c
  
  	  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-04-05 15:41:04.349889532 -0600
-@@ -22,11 +22,14 @@
+diff -Nrup c/nptl/pthread_rwlock_unlock.c d/nptl/pthread_rwlock_unlock.c
+--- c/nptl/pthread_rwlock_unlock.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_rwlock_unlock.c	2012-05-20 23:08:51.003742141 -0600
+@@ -21,11 +21,14 @@
  #include <lowlevellock.h>
  #include <pthread.h>
  #include <pthreadP.h>
@@ -2021,10 +1822,10 @@ diff -Nrup a/nptl/pthread_rwlock_unlock.c b/nptl/pthread_rwlock_unlock.c
    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-04-05 15:41:04.349889532 -0600
-@@ -22,6 +22,7 @@
+diff -Nrup c/nptl/pthread_rwlock_wrlock.c d/nptl/pthread_rwlock_wrlock.c
+--- c/nptl/pthread_rwlock_wrlock.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/pthread_rwlock_wrlock.c	2012-05-20 23:08:51.004742136 -0600
+@@ -21,6 +21,7 @@
  #include <lowlevellock.h>
  #include <pthread.h>
  #include <pthreadP.h>
@@ -2032,7 +1833,7 @@ diff -Nrup a/nptl/pthread_rwlock_wrlock.c b/nptl/pthread_rwlock_wrlock.c
  
  
  /* Acquire write lock for RWLOCK.  */
-@@ -31,6 +32,8 @@ __pthread_rwlock_wrlock (rwlock)
+@@ -30,6 +31,8 @@ __pthread_rwlock_wrlock (rwlock)
  {
    int result = 0;
  
@@ -2041,7 +1842,7 @@ diff -Nrup a/nptl/pthread_rwlock_wrlock.c b/nptl/pthread_rwlock_wrlock.c
    /* Make sure we are alone.  */
    lll_lock (rwlock->__data.__lock, rwlock->__data.__shared);
  
-@@ -41,6 +44,8 @@ __pthread_rwlock_wrlock (rwlock)
+@@ -40,6 +43,8 @@ __pthread_rwlock_wrlock (rwlock)
  	{
  	  /* Mark self as writer.  */
  	  rwlock->__data.__writer = THREAD_GETMEM (THREAD_SELF, tid);
@@ -2050,10 +1851,10 @@ diff -Nrup a/nptl/pthread_rwlock_wrlock.c b/nptl/pthread_rwlock_wrlock.c
  	  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-04-05 15:41:04.350889527 -0600
-@@ -189,4 +189,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h d/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
+--- c/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h	2012-05-20 23:08:51.004742136 -0600
+@@ -188,4 +188,7 @@
  /* Typed memory objects are not available.  */
  #define _POSIX_TYPED_MEMORY_OBJECTS	-1
  
@@ -2061,9 +1862,9 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h b/nptl/sysdeps/unix/s
 +#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-04-05 15:41:04.350889527 -0600
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/Versions d/nptl/sysdeps/unix/sysv/linux/i386/Versions
+--- c/nptl/sysdeps/unix/sysv/linux/i386/Versions	1969-12-31 17:00:00.000000000 -0700
++++ d/nptl/sysdeps/unix/sysv/linux/i386/Versions	2012-05-20 23:08:51.004742136 -0600
 @@ -0,0 +1,6 @@
 +libc {
 +  GLIBC_PRIVATE {
@@ -2071,10 +1872,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/Versions b/nptl/sysdeps/unix/sysv
 +    __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-04-05 15:41:04.351889521 -0600
-@@ -22,6 +22,8 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S d/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
+--- c/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S	2012-05-20 23:08:51.004742136 -0600
+@@ -21,6 +21,8 @@
  #include <kernel-features.h>
  #include <lowlevellock.h>
  
@@ -2083,7 +1884,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S b/nptl/sysdep
  	.text
  
  #ifdef __ASSUME_PRIVATE_FUTEX
-@@ -91,7 +93,8 @@ __lll_lock_wait_private:
+@@ -90,7 +92,8 @@ __lll_lock_wait_private:
  	cmpl	%edx, %eax	/* NB:	 %edx == 2 */
  	jne 2f
  
@@ -2093,10 +1894,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S b/nptl/sysdep
  	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-04-05 15:41:04.353889509 -0600
-@@ -24,6 +24,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
+--- c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S	2012-05-20 23:08:51.006742127 -0600
+@@ -23,6 +23,7 @@
  #include <kernel-features.h>
  #include <pthread-pi-defines.h>
  #include <pthread-errnos.h>
@@ -2104,7 +1905,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S b/n
  
  	.text
  
-@@ -49,6 +50,8 @@ __pthread_cond_broadcast:
+@@ -48,6 +49,8 @@ __pthread_cond_broadcast:
  
  	movl	20(%esp), %ebx
  
@@ -2113,10 +1914,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S b/n
  	/* 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-04-05 15:41:04.353889509 -0600
-@@ -24,7 +24,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
+--- c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S	2012-05-20 23:08:51.007742123 -0600
+@@ -23,7 +23,7 @@
  #include <kernel-features.h>
  #include <pthread-pi-defines.h>
  #include <pthread-errnos.h>
@@ -2125,7 +1926,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S b/nptl
  
  	.text
  
-@@ -45,6 +45,8 @@ __pthread_cond_signal:
+@@ -44,6 +44,8 @@ __pthread_cond_signal:
  
  	movl	12(%esp), %edi
  
@@ -2134,10 +1935,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S b/nptl
  	/* 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-04-05 15:41:04.353889510 -0600
-@@ -24,7 +24,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
+--- c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S	2012-05-20 23:08:51.008742118 -0600
+@@ -23,7 +23,7 @@
  #include <pthread-errnos.h>
  #include <pthread-pi-defines.h>
  #include <kernel-features.h>
@@ -2146,7 +1947,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S b/n
  
  	.text
  
-@@ -61,6 +61,8 @@ __pthread_cond_timedwait:
+@@ -60,6 +60,8 @@ __pthread_cond_timedwait:
  	movl	20(%esp), %ebx
  	movl	28(%esp), %ebp
  
@@ -2155,9 +1956,9 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S b/n
  	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-04-05 15:41:04.353889510 -0600
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
+--- c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S	2012-05-20 23:08:51.010742108 -0600
 @@ -25,6 +25,7 @@
  #include <pthread-errnos.h>
  #include <pthread-pi-defines.h>
@@ -2175,10 +1976,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/s
  	/* 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-04-05 15:41:04.353889510 -0600
-@@ -23,6 +23,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S
+--- c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S	2012-05-20 23:08:51.011742103 -0600
+@@ -22,6 +22,7 @@
  #include <pthread-errnos.h>
  #include <kernel-features.h>
  
@@ -2186,7 +1987,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S b/np
  
  	.text
  
-@@ -41,6 +42,8 @@ __pthread_rwlock_rdlock:
+@@ -40,6 +41,8 @@ __pthread_rwlock_rdlock:
  	xorl	%esi, %esi
  	movl	12(%esp), %ebx
  
@@ -2195,10 +1996,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S b/np
  	/* 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-04-05 15:41:04.353889510 -0600
-@@ -23,6 +23,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
+--- c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S	2012-05-20 23:08:51.011742103 -0600
+@@ -22,6 +22,7 @@
  #include <pthread-errnos.h>
  #include <kernel-features.h>
  
@@ -2206,7 +2007,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S b/np
  
  	.text
  
-@@ -41,6 +42,8 @@ __pthread_rwlock_wrlock:
+@@ -40,6 +41,8 @@ __pthread_rwlock_wrlock:
  	xorl	%esi, %esi
  	movl	12(%esp), %ebx
  
@@ -2215,10 +2016,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S b/np
  	/* 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-04-05 15:41:04.354889506 -0600
-@@ -20,6 +20,8 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h d/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
+--- c/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h	2012-05-20 23:08:51.012742098 -0600
+@@ -19,6 +19,8 @@
  #ifndef _LOWLEVELLOCK_H
  #define _LOWLEVELLOCK_H	1
  
@@ -2227,7 +2028,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/nptl/sysdeps/uni
  #ifndef __ASSEMBLER__
  # include <time.h>
  # include <sys/param.h>
-@@ -226,6 +228,7 @@ LLL_STUB_UNWIND_INFO_END
+@@ -225,6 +227,7 @@ LLL_STUB_UNWIND_INFO_END
    do {									      \
      int __ignore;							      \
      register __typeof (nr) _nr asm ("edx") = (nr);			      \
@@ -2235,10 +2036,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/nptl/sysdeps/uni
      __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-04-05 15:41:04.354889506 -0600
-@@ -37,7 +37,7 @@ is_smp_system (void)
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/smp.h d/nptl/sysdeps/unix/sysv/linux/i386/smp.h
+--- c/nptl/sysdeps/unix/sysv/linux/i386/smp.h	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/i386/smp.h	2012-05-20 23:08:51.013742093 -0600
+@@ -36,7 +36,7 @@ is_smp_system (void)
    char *cp;
  
    /* Try reading the number using `sysctl' first.  */
@@ -2247,9 +2048,9 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/smp.h b/nptl/sysdeps/unix/sysv/li
      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-04-05 15:41:04.354889506 -0600
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/kernel-features.h d/nptl/sysdeps/unix/sysv/linux/kernel-features.h
+--- c/nptl/sysdeps/unix/sysv/linux/kernel-features.h	1969-12-31 17:00:00.000000000 -0700
++++ d/nptl/sysdeps/unix/sysv/linux/kernel-features.h	2012-05-20 23:08:51.013742093 -0600
 @@ -0,0 +1,6 @@
 +#include_next <kernel-features.h>
 +
@@ -2257,10 +2058,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/kernel-features.h b/nptl/sysdeps/unix/
 +#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-04-05 15:41:04.354889506 -0600
-@@ -22,6 +22,8 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S d/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
+--- c/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S	2012-05-20 23:08:51.014742088 -0600
+@@ -21,6 +21,8 @@
  #include <kernel-features.h>
  #include <lowlevellock.h>
  
@@ -2269,7 +2070,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/nptl/sysdeps/u
  	.text
  
  #ifdef __ASSUME_PRIVATE_FUTEX
-@@ -87,7 +89,8 @@ __lll_lock_wait_private:
+@@ -86,7 +88,8 @@ __lll_lock_wait_private:
  	cmpl	%edx, %eax	/* NB:	 %edx == 2 */
  	jne	2f
  
@@ -2279,7 +2080,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/nptl/sysdeps/u
  	syscall
  
  2:	movl	%edx, %eax
-@@ -126,7 +129,8 @@ __lll_lock_wait:
+@@ -125,7 +128,8 @@ __lll_lock_wait:
  	cmpl	%edx, %eax	/* NB:	 %edx == 2 */
  	jne	2f
  
@@ -2289,9 +2090,9 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/nptl/sysdeps/u
  	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-04-05 15:41:04.355889501 -0600
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h d/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
+--- c/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h	2012-05-20 23:08:51.015742083 -0600
 @@ -20,6 +20,8 @@
  #ifndef _LOWLEVELLOCK_H
  #define _LOWLEVELLOCK_H	1
@@ -2309,10 +2110,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/nptl/sysdeps/u
      __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-04-05 15:41:04.355889501 -0600
-@@ -25,7 +25,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
+--- c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S	2012-05-20 23:08:51.015742083 -0600
+@@ -24,7 +24,7 @@
  #include <kernel-features.h>
  #include <pthread-pi-defines.h>
  #include <pthread-errnos.h>
@@ -2321,7 +2122,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S b/nptl
  
  	.text
  
-@@ -35,6 +35,8 @@
+@@ -34,6 +34,8 @@
  	.align	16
  __pthread_cond_broadcast:
  
@@ -2330,10 +2131,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S b/nptl
  	/* 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-04-05 15:41:04.355889501 -0600
-@@ -24,6 +24,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
+--- c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S	2012-05-20 23:08:51.016742078 -0600
+@@ -23,6 +23,7 @@
  #include <pthread-pi-defines.h>
  #include <kernel-features.h>
  #include <pthread-errnos.h>
@@ -2341,7 +2142,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S b/nptl/sy
  
  
  	.text
-@@ -34,6 +35,8 @@
+@@ -33,6 +34,8 @@
  	.align	16
  __pthread_cond_signal:
  
@@ -2350,10 +2151,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S b/nptl/sy
  	/* 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-04-05 15:41:04.356889495 -0600
-@@ -23,6 +23,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+--- c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S	2012-05-20 23:08:51.017742073 -0600
+@@ -22,6 +22,7 @@
  #include <lowlevelcond.h>
  #include <pthread-pi-defines.h>
  #include <pthread-errnos.h>
@@ -2361,7 +2162,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/nptl
  
  #include <kernel-features.h>
  
-@@ -68,6 +69,8 @@ __pthread_cond_timedwait:
+@@ -67,6 +68,8 @@ __pthread_cond_timedwait:
  	cfi_adjust_cfa_offset(FRAME_SIZE)
  	cfi_remember_state
  
@@ -2370,10 +2171,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/nptl
  	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-04-05 15:41:04.356889495 -0600
-@@ -24,6 +24,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+--- c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S	2012-05-20 23:21:12.455236368 -0600
+@@ -23,6 +23,7 @@
  #include <tcb-offsets.h>
  #include <pthread-pi-defines.h>
  #include <pthread-errnos.h>
@@ -2381,19 +2182,19 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysd
  
  #include <kernel-features.h>
  
-@@ -66,6 +67,8 @@ __pthread_cond_wait:
+@@ -65,6 +66,8 @@ __pthread_cond_wait:
  	            +--------------------------+
  	*/
  
 +	LIBC_PROBE (cond_wait, 2, %rdi, %rsi)
 +
- 	cmpq	$-1, dep_mutex(%rdi)
+ 	LP_OP(cmp) $-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-04-05 15:41:04.357889489 -0600
-@@ -22,7 +22,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S
+--- c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S	2012-05-20 23:08:51.018742069 -0600
+@@ -21,7 +21,7 @@
  #include <lowlevelrwlock.h>
  #include <pthread-errnos.h>
  #include <kernel-features.h>
@@ -2402,7 +2203,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S b/nptl/
  
  	.text
  
-@@ -31,6 +31,9 @@
+@@ -30,6 +30,9 @@
  	.align	16
  __pthread_rwlock_rdlock:
  	cfi_startproc
@@ -2412,10 +2213,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S b/nptl/
  	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-04-05 15:41:04.358889483 -0600
-@@ -22,7 +22,7 @@
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S
+--- c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S	2012-05-20 19:47:38.000000000 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S	2012-05-20 23:08:51.019742065 -0600
+@@ -21,7 +21,7 @@
  #include <lowlevelrwlock.h>
  #include <pthread-errnos.h>
  #include <kernel-features.h>
@@ -2424,7 +2225,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S b/nptl/
  
  	.text
  
-@@ -31,6 +31,9 @@
+@@ -30,6 +30,9 @@
  	.align	16
  __pthread_rwlock_wrlock:
  	cfi_startproc
@@ -2434,9 +2235,9 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S b/nptl/
  	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-04-05 15:41:04.358889483 -0600
+diff -Nrup c/nscd/nscd.conf d/nscd/nscd.conf
+--- c/nscd/nscd.conf	2012-05-20 19:47:38.000000000 -0600
++++ d/nscd/nscd.conf	2012-05-20 23:08:51.020742061 -0600
 @@ -33,7 +33,7 @@
  #	logfile			/var/log/nscd.log
  #	threads			4
@@ -2446,9 +2247,9 @@ diff -Nrup a/nscd/nscd.conf b/nscd/nscd.conf
  #	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-04-05 15:41:04.358889483 -0600
+diff -Nrup c/nscd/nscd.init d/nscd/nscd.init
+--- c/nscd/nscd.init	2012-05-20 19:47:38.000000000 -0600
++++ d/nscd/nscd.init	2012-05-20 23:08:51.021742056 -0600
 @@ -9,6 +9,7 @@
  #		slow naming services like NIS, NIS+, LDAP, or hesiod.
  # processname: /usr/sbin/nscd
@@ -2525,10 +2326,10 @@ diff -Nrup a/nscd/nscd.init b/nscd/nscd.init
  	;;
      *)
  	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-04-05 15:41:04.358889483 -0600
-@@ -270,6 +270,18 @@ avc_create_thread (void (*run) (void))
+diff -Nrup c/nscd/selinux.c d/nscd/selinux.c
+--- c/nscd/selinux.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nscd/selinux.c	2012-05-20 23:08:51.067741835 -0600
+@@ -269,6 +269,18 @@ avc_create_thread (void (*run) (void))
  {
    int rc;
  
@@ -2547,21 +2348,21 @@ diff -Nrup a/nscd/selinux.c b/nscd/selinux.c
    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-04-05 15:41:04.359889477 -0600
-@@ -88,6 +88,7 @@ endif
- 
- include ../Rules
+diff -Nrup c/nss/Makefile d/nss/Makefile
+--- c/nss/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/nss/Makefile	2012-05-20 23:08:51.067741835 -0600
+@@ -101,6 +101,7 @@ $(libnss_db-dbs:%=$(objpfx)%.c): $(objpf
+ 	 echo '#include "$<"') > $@.new
+ 	mv -f $@.new $@
  
 +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-04-05 15:41:04.359889477 -0600
-@@ -190,7 +190,7 @@ internal_getent (struct STRUCTURE *resul
+ $(objpfx)makedb: $(makedb-modules:%=$(objpfx)%.o)
+ 
+diff -Nrup c/nss/nss_files/files-XXX.c d/nss/nss_files/files-XXX.c
+--- c/nss/nss_files/files-XXX.c	2012-05-20 19:47:38.000000000 -0600
++++ d/nss/nss_files/files-XXX.c	2012-05-20 23:08:51.067741835 -0600
+@@ -189,7 +189,7 @@ internal_getent (struct STRUCTURE *resul
  {
    char *p;
    struct parser_data *data = (void *) buffer;
@@ -2570,10 +2371,10 @@ diff -Nrup a/nss/nss_files/files-XXX.c b/nss/nss_files/files-XXX.c
    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-04-05 15:41:04.359889477 -0600
-@@ -320,15 +320,8 @@ $(inst_libexecdir)/getconf: $(inst_bindi
+diff -Nrup c/posix/Makefile d/posix/Makefile
+--- c/posix/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/posix/Makefile	2012-05-20 23:08:51.068741830 -0600
+@@ -305,15 +305,8 @@ $(inst_libexecdir)/getconf: $(inst_bindi
  	  mv -f $@/$$spec.new $@/$$spec; \
  	done < $(objpfx)getconf.speclist
  
@@ -2593,9 +2394,9 @@ diff -Nrup a/posix/Makefile b/posix/Makefile
 +	  | 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-04-05 15:41:04.359889477 -0600
+diff -Nrup c/posix/gai.conf d/posix/gai.conf
+--- c/posix/gai.conf	2012-05-20 19:47:38.000000000 -0600
++++ d/posix/gai.conf	2012-05-20 23:08:51.068741830 -0600
 @@ -41,7 +41,7 @@
  #
  # precedence  <mask>   <value>
@@ -2620,9 +2421,9 @@ diff -Nrup a/posix/gai.conf b/posix/gai.conf
  #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-04-05 15:41:04.360889471 -0600
+diff -Nrup c/posix/getconf.speclist.h d/posix/getconf.speclist.h
+--- c/posix/getconf.speclist.h	1969-12-31 17:00:00.000000000 -0700
++++ d/posix/getconf.speclist.h	2012-05-20 23:08:51.068741830 -0600
 @@ -0,0 +1,39 @@
 +#include <unistd.h>
 +const char *START_OF_STRINGS =
@@ -2663,10 +2464,10 @@ diff -Nrup a/posix/getconf.speclist.h b/posix/getconf.speclist.h
 +"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-04-05 15:41:04.360889471 -0600
-@@ -2745,40 +2745,29 @@ parse_bracket_exp (re_string_t *regexp,
+diff -Nrup c/posix/regcomp.c d/posix/regcomp.c
+--- c/posix/regcomp.c	2012-05-20 19:47:38.000000000 -0600
++++ d/posix/regcomp.c	2012-05-20 23:08:51.069741825 -0600
+@@ -2772,40 +2772,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.
@@ -2725,7 +2526,7 @@ diff -Nrup a/posix/regcomp.c b/posix/regcomp.c
      }
  
    /* Local function for parse_bracket_exp used in _LIBC environment.
-@@ -2787,8 +2776,7 @@ parse_bracket_exp (re_string_t *regexp,
+@@ -2814,8 +2803,7 @@ parse_bracket_exp (re_string_t *regexp,
  
    auto inline unsigned int
    __attribute ((always_inline))
@@ -2735,7 +2536,7 @@ diff -Nrup a/posix/regcomp.c b/posix/regcomp.c
      {
        if (br_elem->type == SB_CHAR)
  	{
-@@ -2816,7 +2804,7 @@ parse_bracket_exp (re_string_t *regexp,
+@@ -2843,7 +2831,7 @@ parse_bracket_exp (re_string_t *regexp,
  	      int32_t elem, idx;
  	      elem = seek_collating_symbol_entry (br_elem->opr.name,
  						  sym_name_len);
@@ -2744,7 +2545,7 @@ diff -Nrup a/posix/regcomp.c b/posix/regcomp.c
  		{
  		  /* We found the entry.  */
  		  idx = symb_table[2 * elem + 1];
-@@ -2834,7 +2822,7 @@ parse_bracket_exp (re_string_t *regexp,
+@@ -2861,7 +2849,7 @@ parse_bracket_exp (re_string_t *regexp,
  		  /* Return the collation sequence value.  */
  		  return *(unsigned int *) (extra + idx);
  		}
@@ -2753,7 +2554,7 @@ diff -Nrup a/posix/regcomp.c b/posix/regcomp.c
  		{
  		  /* No valid character.  Match it as a single byte
  		     character.  */
-@@ -2856,11 +2844,8 @@ parse_bracket_exp (re_string_t *regexp,
+@@ -2883,11 +2871,8 @@ parse_bracket_exp (re_string_t *regexp,
  
    auto inline reg_errcode_t
    __attribute ((always_inline))
@@ -2767,7 +2568,7 @@ diff -Nrup a/posix/regcomp.c b/posix/regcomp.c
      {
        unsigned int ch;
        uint32_t start_collseq;
-@@ -2939,25 +2924,22 @@ parse_bracket_exp (re_string_t *regexp,
+@@ -2966,25 +2951,22 @@ parse_bracket_exp (re_string_t *regexp,
  
    auto inline reg_errcode_t
    __attribute ((always_inline))
@@ -2797,10 +2598,10 @@ diff -Nrup a/posix/regcomp.c b/posix/regcomp.c
  	    {
  	      /* 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-04-05 15:41:04.362889462 -0600
-@@ -81,6 +81,7 @@ ifeq (yes,$(have-ssp))
+diff -Nrup c/resolv/Makefile d/resolv/Makefile
+--- c/resolv/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/resolv/Makefile	2012-05-20 23:08:51.070741820 -0600
+@@ -80,6 +80,7 @@ ifeq (yes,$(have-ssp))
  CFLAGS-libresolv += -fstack-protector
  endif
  CFLAGS-res_hconf.c = -fexceptions
@@ -2808,10 +2609,10 @@ diff -Nrup a/resolv/Makefile b/resolv/Makefile
  
  # 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-04-05 15:41:04.363889457 -0600
-@@ -28,6 +28,7 @@ __getrlimit (enum __rlimit_resource reso
+diff -Nrup c/resource/getrlimit.c d/resource/getrlimit.c
+--- c/resource/getrlimit.c	2012-05-20 19:47:38.000000000 -0600
++++ d/resource/getrlimit.c	2012-05-20 23:08:51.071741815 -0600
+@@ -27,6 +27,7 @@ __getrlimit (enum __rlimit_resource reso
    __set_errno (ENOSYS);
    return -1;
  }
@@ -2819,10 +2620,10 @@ diff -Nrup a/resource/getrlimit.c b/resource/getrlimit.c
  weak_alias (__getrlimit, getrlimit)
  
  stub_warning (getrlimit)
-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-04-05 15:41:04.364889452 -0600
-@@ -1161,41 +1161,9 @@ vfprintf (FILE *s, const CHAR_T *format,
+diff -Nrup c/stdio-common/vfprintf.c d/stdio-common/vfprintf.c
+--- c/stdio-common/vfprintf.c	2012-05-20 19:47:38.000000000 -0600
++++ d/stdio-common/vfprintf.c	2012-05-20 23:14:50.905012494 -0600
+@@ -1168,42 +1168,9 @@ vfprintf (FILE *s, const CHAR_T *format,
  	else if (!is_long && spec != L_('S'))				      \
  	  {								      \
  	    if (prec != -1)						      \
@@ -2851,6 +2652,7 @@ diff -Nrup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
 -		      if (__mbsnrtowcs (ignore, &str2, strend - str2,	      \
 -					ignore_size, &ps) == (size_t) -1)     \
 -			{						      \
+-			  /* Conversion function has set errno.  */	      \
 -			  done = -1;					      \
 -			  goto all_done;				      \
 -			}						      \
@@ -2861,16 +2663,16 @@ diff -Nrup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
 -		      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);				      \
++	      /* Search for th eend 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-04-05 15:41:04.365889446 -0600
-@@ -21,7 +21,7 @@
+diff -Nrup c/streams/Makefile d/streams/Makefile
+--- c/streams/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/streams/Makefile	2012-05-20 23:08:51.073741805 -0600
+@@ -20,7 +20,7 @@
  #
  subdir	:= streams
  
@@ -2879,10 +2681,10 @@ diff -Nrup a/streams/Makefile b/streams/Makefile
  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-04-05 15:41:04.366889440 -0600
-@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth
+diff -Nrup c/sunrpc/Makefile d/sunrpc/Makefile
+--- c/sunrpc/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/sunrpc/Makefile	2012-05-20 23:08:51.074741800 -0600
+@@ -52,7 +52,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
@@ -2891,9 +2693,9 @@ diff -Nrup a/sunrpc/Makefile b/sunrpc/Makefile
  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_
+@@ -150,6 +150,10 @@ sunrpc-CPPFLAGS = -D_RPC_THREAD_SAFE_
+ CPPFLAGS += $(sunrpc-CPPFLAGS)
+ BUILD_CPPFLAGS += $(sunrpc-CPPFLAGS)
  
 +CFLAGS-clnt_tcp.c += -fno-strict-aliasing
 +CFLAGS-clnt_udp.c += -fno-strict-aliasing
@@ -2902,10 +2704,10 @@ diff -Nrup a/sunrpc/Makefile b/sunrpc/Makefile
  $(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-04-05 15:41:04.367889434 -0600
-@@ -36,6 +36,14 @@
+diff -Nrup c/sysdeps/generic/dl-cache.h d/sysdeps/generic/dl-cache.h
+--- c/sysdeps/generic/dl-cache.h	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/generic/dl-cache.h	2012-05-20 23:08:51.074741800 -0600
+@@ -35,6 +35,14 @@
  # define add_system_dir(dir) add_dir (dir)
  #endif
  
@@ -2920,9 +2722,9 @@ diff -Nrup a/sysdeps/generic/dl-cache.h b/sysdeps/generic/dl-cache.h
  #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-04-05 15:41:04.368889429 -0600
+diff -Nrup c/sysdeps/i386/Makefile d/sysdeps/i386/Makefile
+--- c/sysdeps/i386/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/i386/Makefile	2012-05-20 23:08:51.075741795 -0600
 @@ -2,6 +2,8 @@
  # Every i386 port in use uses gas syntax (I think).
  asm-CPPFLAGS += -DGAS_SYNTAX
@@ -2932,7 +2734,7 @@ diff -Nrup a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
  # The i386 `long double' is a distinct type we support.
  long-double-fcts = yes
  
-@@ -68,6 +70,14 @@ endif
+@@ -62,6 +64,14 @@ endif
  
  ifneq (,$(filter -mno-tls-direct-seg-refs,$(CFLAGS)))
  defines += -DNO_TLS_DIRECT_SEG_REFS
@@ -2947,9 +2749,9 @@ diff -Nrup a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
  endif
  
  ifeq ($(subdir),elf)
-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-04-05 15:41:04.368889429 -0600
+diff -Nrup c/sysdeps/i386/i686/Makefile d/sysdeps/i386/i686/Makefile
+--- c/sysdeps/i386/i686/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/i386/i686/Makefile	2012-05-20 23:08:51.075741795 -0600
 @@ -9,19 +9,3 @@ stack-align-test-flags += -msse
  ifeq ($(subdir),string)
  sysdep_routines += cacheinfo
@@ -2970,377 +2772,9 @@ diff -Nrup a/sysdeps/i386/i686/Makefile b/sysdeps/i386/i686/Makefile
 -ASFLAGS-.ob += -Wa,-mtune=i686
 -ASFLAGS-.oS += -Wa,-mtune=i686
 -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-04-05 15:41:04.369889424 -0600
-@@ -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 <sysdep.h>
--#undef ret
--
--#include <shlib-compat.h>
--
--#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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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-04-05 15:41:04.372889408 -0600
+diff -Nrup c/sysdeps/ia64/libgcc-compat.c d/sysdeps/ia64/libgcc-compat.c
+--- c/sysdeps/ia64/libgcc-compat.c	1969-12-31 17:00:00.000000000 -0700
++++ d/sysdeps/ia64/libgcc-compat.c	2012-05-20 23:09:09.184654770 -0600
 @@ -0,0 +1,84 @@
 +/* pre-.hidden libgcc compatibility
 +   Copyright (C) 2002 Free Software Foundation, Inc.
@@ -3426,18 +2860,18 @@ diff -Nrup a/sysdeps/ia64/libgcc-compat.c b/sysdeps/ia64/libgcc-compat.c
 +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-04-05 15:41:04.372889408 -0600
-@@ -44,4 +44,5 @@ __getrlimit (enum __rlimit_resource reso
+diff -Nrup c/sysdeps/mach/hurd/getrlimit.c d/sysdeps/mach/hurd/getrlimit.c
+--- c/sysdeps/mach/hurd/getrlimit.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/mach/hurd/getrlimit.c	2012-05-20 23:09:09.214654625 -0600
+@@ -43,4 +43,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-04-05 15:41:04.374889397 -0600
+diff -Nrup c/sysdeps/posix/getaddrinfo.c d/sysdeps/posix/getaddrinfo.c
+--- c/sysdeps/posix/getaddrinfo.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/posix/getaddrinfo.c	2012-05-20 23:09:09.216654615 -0600
 @@ -565,8 +565,8 @@ gaih_inet (const char *name, const struc
  
  	  /* If we do not have to look for IPv6 addresses, use
@@ -3562,30 +2996,23 @@ diff -Nrup a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
      /* 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-04-05 15:41:04.374889397 -0600
-@@ -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-04-05 15:41:04.375889392 -0600
-@@ -9,3 +9,5 @@ CFLAGS-rtld-mempcpy.os = $(no-special-re
- CFLAGS-rtld-memmove.os = $(no-special-regs)
+diff -Nrup c/sysdeps/powerpc/powerpc64/Makefile d/sysdeps/powerpc/powerpc64/Makefile
+--- c/sysdeps/powerpc/powerpc64/Makefile	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/powerpc/powerpc64/Makefile	2012-05-20 23:19:58.698579498 -0600
+@@ -35,6 +35,9 @@ CFLAGS-rtld-memmove.os = $(no-special-re
  CFLAGS-rtld-memchr.os = $(no-special-regs)
  CFLAGS-rtld-strnlen.os = $(no-special-regs)
-+
+ 
++CFLAGS-libc-start.c += -fno-asynchronous-unwind-tables
 +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-04-05 15:41:04.376889386 -0600
-@@ -169,10 +169,7 @@ gconv_end (struct __gconv_step *data)
++
+ ifeq ($(subdir),csu)
+ sysdep_routines += hp-timing
+ elide-routines.os += hp-timing
+diff -Nrup c/sysdeps/s390/s390-64/utf16-utf32-z9.c d/sysdeps/s390/s390-64/utf16-utf32-z9.c
+--- c/sysdeps/s390/s390-64/utf16-utf32-z9.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/s390/s390-64/utf16-utf32-z9.c	2012-05-20 23:09:49.644460330 -0600
+@@ -168,10 +168,7 @@ gconv_end (struct __gconv_step *data)
      register unsigned long long outlen asm("11") = outend - outptr;	\
      uint64_t cc = 0;							\
  									\
@@ -3597,10 +3024,10 @@ diff -Nrup a/sysdeps/s390/s390-64/utf16-utf32-z9.c b/sysdeps/s390/s390-64/utf16-
                    "   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-04-05 15:41:04.377889380 -0600
-@@ -151,10 +151,7 @@ gconv_end (struct __gconv_step *data)
+diff -Nrup c/sysdeps/s390/s390-64/utf8-utf16-z9.c d/sysdeps/s390/s390-64/utf8-utf16-z9.c
+--- c/sysdeps/s390/s390-64/utf8-utf16-z9.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/s390/s390-64/utf8-utf16-z9.c	2012-05-20 23:09:49.645460325 -0600
+@@ -150,10 +150,7 @@ gconv_end (struct __gconv_step *data)
      register unsigned long long outlen asm("11") = outend - outptr;	\
      uint64_t cc = 0;							\
  									\
@@ -3612,10 +3039,10 @@ diff -Nrup a/sysdeps/s390/s390-64/utf8-utf16-z9.c b/sysdeps/s390/s390-64/utf8-ut
                    "   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-04-05 15:41:04.378889375 -0600
-@@ -155,10 +155,7 @@ gconv_end (struct __gconv_step *data)
+diff -Nrup c/sysdeps/s390/s390-64/utf8-utf32-z9.c d/sysdeps/s390/s390-64/utf8-utf32-z9.c
+--- c/sysdeps/s390/s390-64/utf8-utf32-z9.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/s390/s390-64/utf8-utf32-z9.c	2012-05-20 23:09:49.646460320 -0600
+@@ -154,10 +154,7 @@ gconv_end (struct __gconv_step *data)
      register unsigned long long outlen asm("11") = outend - outptr;	\
      uint64_t cc = 0;							\
  									\
@@ -3627,10 +3054,10 @@ diff -Nrup a/sysdeps/s390/s390-64/utf8-utf32-z9.c b/sysdeps/s390/s390-64/utf8-ut
                    "   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-04-05 15:41:04.380889365 -0600
-@@ -42,7 +42,12 @@ nice (int incr)
+diff -Nrup c/sysdeps/unix/nice.c d/sysdeps/unix/nice.c
+--- c/sysdeps/unix/nice.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/unix/nice.c	2012-05-20 23:09:49.646460320 -0600
+@@ -41,7 +41,12 @@ nice (int incr)
  	__set_errno (save);
      }
  
@@ -3644,10 +3071,10 @@ diff -Nrup a/sysdeps/unix/nice.c b/sysdeps/unix/nice.c
    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-04-05 15:41:04.381889359 -0600
-@@ -27,16 +27,14 @@
+diff -Nrup c/sysdeps/unix/sysv/linux/check_pf.c d/sysdeps/unix/sysv/linux/check_pf.c
+--- c/sysdeps/unix/sysv/linux/check_pf.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/unix/sysv/linux/check_pf.c	2012-05-20 23:09:49.647460315 -0600
+@@ -26,16 +26,14 @@
  #include <unistd.h>
  #include <sys/socket.h>
  
@@ -3666,10 +3093,10 @@ diff -Nrup a/sysdeps/unix/sysv/linux/check_pf.c b/sysdeps/unix/sysv/linux/check_
  
  #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-04-05 15:41:04.381889359 -0600
-@@ -37,14 +37,14 @@ futimesat (fd, file, tvp)
+diff -Nrup c/sysdeps/unix/sysv/linux/futimesat.c d/sysdeps/unix/sysv/linux/futimesat.c
+--- c/sysdeps/unix/sysv/linux/futimesat.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/unix/sysv/linux/futimesat.c	2012-05-20 23:09:49.648460310 -0600
+@@ -36,14 +36,14 @@ futimesat (fd, file, tvp)
  {
    int result;
  
@@ -3687,7 +3114,7 @@ diff -Nrup a/sysdeps/unix/sysv/linux/futimesat.c b/sysdeps/unix/sysv/linux/futim
        result = INLINE_SYSCALL (futimesat, 3, fd, file, tvp);
  # ifndef __ASSUME_ATFCTS
        if (result == -1 && errno == ENOSYS)
-@@ -58,22 +58,7 @@ futimesat (fd, file, tvp)
+@@ -57,22 +57,7 @@ futimesat (fd, file, tvp)
  #ifndef __ASSUME_ATFCTS
    char *buf = NULL;
  
@@ -3711,9 +3138,9 @@ diff -Nrup a/sysdeps/unix/sysv/linux/futimesat.c b/sysdeps/unix/sysv/linux/futim
      {
        size_t filelen = strlen (file);
        if (__builtin_expect (filelen == 0, 0))
-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-04-05 15:41:04.382889354 -0600
+diff -Nrup c/sysdeps/unix/sysv/linux/i386/dl-cache.h d/sysdeps/unix/sysv/linux/i386/dl-cache.h
+--- c/sysdeps/unix/sysv/linux/i386/dl-cache.h	1969-12-31 17:00:00.000000000 -0700
++++ d/sysdeps/unix/sysv/linux/i386/dl-cache.h	2012-05-20 23:09:49.648460310 -0600
 @@ -0,0 +1,59 @@
 +/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
 +   Copyright (C) 2004 Free Software Foundation, Inc.
@@ -3774,78 +3201,37 @@ diff -Nrup a/sysdeps/unix/sysv/linux/i386/dl-cache.h b/sysdeps/unix/sysv/linux/i
 +  } while (0)
 +
 +#include_next <dl-cache.h>
-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-04-05 15:41:04.383889348 -0600
-@@ -79,4 +79,5 @@ __new_getrlimit (enum __rlimit_resource
+diff -Nrup c/sysdeps/unix/sysv/linux/i386/getrlimit.c d/sysdeps/unix/sysv/linux/i386/getrlimit.c
+--- c/sysdeps/unix/sysv/linux/i386/getrlimit.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/unix/sysv/linux/i386/getrlimit.c	2012-05-20 23:09:49.649460305 -0600
+@@ -78,4 +78,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-04-05 15:41:04.383889348 -0600
-@@ -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 <dl-cache.h>
-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-04-05 15:41:04.384889343 -0600
+diff -Nrup c/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c d/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c
+--- c/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c	1969-12-31 17:00:00.000000000 -0700
++++ d/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c	2012-05-20 23:09:56.233428665 -0600
 @@ -0,0 +1,5 @@
 +#ifdef IS_IN_ldconfig
 +#include <sysdeps/i386/dl-procinfo.c>
 +#else
 +#include <sysdeps/generic/dl-procinfo.c>
 +#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-04-05 15:41:04.419889156 -0600
+diff -Nrup c/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h d/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h
+--- c/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h	1969-12-31 17:00:00.000000000 -0700
++++ d/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h	2012-05-20 23:09:56.234428660 -0600
 @@ -0,0 +1,5 @@
 +#ifdef IS_IN_ldconfig
 +#include <sysdeps/unix/sysv/linux/i386/dl-procinfo.h>
 +#else
 +#include <sysdeps/generic/dl-procinfo.h>
 +#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-04-05 15:41:04.420889150 -0600
-@@ -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-04-05 15:41:04.420889150 -0600
-@@ -25,6 +25,24 @@
+diff -Nrup c/sysdeps/unix/sysv/linux/netlinkaccess.h d/sysdeps/unix/sysv/linux/netlinkaccess.h
+--- c/sysdeps/unix/sysv/linux/netlinkaccess.h	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/unix/sysv/linux/netlinkaccess.h	2012-05-20 23:09:58.405418226 -0600
+@@ -24,6 +24,24 @@
  
  #include <kernel-features.h>
  
@@ -3870,9 +3256,9 @@ diff -Nrup a/sysdeps/unix/sysv/linux/netlinkaccess.h b/sysdeps/unix/sysv/linux/n
  
  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-04-05 15:41:04.421889143 -0600
+diff -Nrup c/sysdeps/unix/sysv/linux/paths.h d/sysdeps/unix/sysv/linux/paths.h
+--- c/sysdeps/unix/sysv/linux/paths.h	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/unix/sysv/linux/paths.h	2012-05-20 23:09:58.406418222 -0600
 @@ -62,7 +62,7 @@
  #define	_PATH_TTY	"/dev/tty"
  #define	_PATH_UNIX	"/boot/vmlinux"
@@ -3882,10 +3268,10 @@ diff -Nrup a/sysdeps/unix/sysv/linux/paths.h b/sysdeps/unix/sysv/linux/paths.h
  #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-04-05 15:41:04.421889143 -0600
-@@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios
+diff -Nrup c/sysdeps/unix/sysv/linux/tcsetattr.c d/sysdeps/unix/sysv/linux/tcsetattr.c
+--- c/sysdeps/unix/sysv/linux/tcsetattr.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/unix/sysv/linux/tcsetattr.c	2012-05-20 23:09:58.444418038 -0600
+@@ -48,6 +48,7 @@ tcsetattr (fd, optional_actions, termios
  {
    struct __kernel_termios k_termios;
    unsigned long int cmd;
@@ -3893,7 +3279,7 @@ diff -Nrup a/sysdeps/unix/sysv/linux/tcsetattr.c b/sysdeps/unix/sysv/linux/tcset
  
    switch (optional_actions)
      {
-@@ -80,6 +81,35 @@ tcsetattr (fd, optional_actions, termios
+@@ -79,6 +80,35 @@ tcsetattr (fd, optional_actions, termios
    memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0],
  	  __KERNEL_NCCS * sizeof (cc_t));
  
@@ -3930,15 +3316,3 @@ diff -Nrup a/sysdeps/unix/sysv/linux/tcsetattr.c b/sysdeps/unix/sysv/linux/tcset
 +  return retval;
  }
  libc_hidden_def (tcsetattr)
-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-04-05 15:41:04.422889137 -0600
-@@ -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-rh179072.patch b/glibc-rh179072.patch
index d17fd13..0ce664c 100644
--- a/glibc-rh179072.patch
+++ b/glibc-rh179072.patch
@@ -1,7 +1,7 @@
-diff -Nrup a/elf/dl-close.c b/elf/dl-close.c
---- a/elf/dl-close.c	2012-01-25 21:49:58.892869984 -0700
-+++ b/elf/dl-close.c	2012-01-25 21:50:22.283882509 -0700
-@@ -32,6 +32,7 @@
+diff -Nrup c/elf/dl-close.c d/elf/dl-close.c
+--- c/elf/dl-close.c	2012-05-21 00:08:02.410897531 -0600
++++ d/elf/dl-close.c	2012-05-21 00:08:40.874716006 -0600
+@@ -31,6 +31,7 @@
  #include <sys/mman.h>
  #include <sysdep-cancel.h>
  #include <tls.h>
@@ -9,7 +9,7 @@ diff -Nrup a/elf/dl-close.c b/elf/dl-close.c
  
  
  /* Type of the constructor functions.  */
-@@ -469,6 +470,7 @@ _dl_close_worker (struct link_map *map)
+@@ -468,6 +469,7 @@ _dl_close_worker (struct link_map *map)
    struct r_debug *r = _dl_debug_initialize (0, nsid);
    r->r_state = RT_DELETE;
    _dl_debug_state ();
@@ -17,7 +17,7 @@ diff -Nrup a/elf/dl-close.c b/elf/dl-close.c
  
    if (unload_global)
      {
-@@ -738,6 +740,7 @@ _dl_close_worker (struct link_map *map)
+@@ -737,6 +739,7 @@ _dl_close_worker (struct link_map *map)
    /* Notify the debugger those objects are finalized and gone.  */
    r->r_state = RT_CONSISTENT;
    _dl_debug_state ();
@@ -25,10 +25,10 @@ diff -Nrup a/elf/dl-close.c b/elf/dl-close.c
  
    /* Recheck if we need to retry, release the lock.  */
   out:
-diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
---- a/elf/dl-load.c	2012-01-25 21:49:58.895869986 -0700
-+++ b/elf/dl-load.c	2012-01-25 21:50:22.288882511 -0700
-@@ -36,6 +36,7 @@
+diff -Nrup c/elf/dl-load.c d/elf/dl-load.c
+--- c/elf/dl-load.c	2012-05-21 00:08:02.219898432 -0600
++++ d/elf/dl-load.c	2012-05-21 00:08:40.876715997 -0600
+@@ -35,6 +35,7 @@
  #include <stackinfo.h>
  #include <caller.h>
  #include <sysdep.h>
@@ -36,7 +36,7 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
  
  #include <dl-dst.h>
  
-@@ -881,7 +882,7 @@ _dl_init_paths (const char *llp)
+@@ -880,7 +881,7 @@ _dl_init_paths (const char *llp)
  static void
  __attribute__ ((noreturn, noinline))
  lose (int code, int fd, const char *name, char *realname, struct link_map *l,
@@ -45,7 +45,7 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
  {
    /* The file might already be closed.  */
    if (fd != -1)
-@@ -895,6 +896,7 @@ lose (int code, int fd, const char *name
+@@ -894,6 +895,7 @@ lose (int code, int fd, const char *name
      {
        r->r_state = RT_CONSISTENT;
        _dl_debug_state ();
@@ -53,7 +53,7 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
      }
  
    _dl_signal_error (code, name, NULL, msg);
-@@ -933,7 +935,7 @@ _dl_map_object_from_fd (const char *name
+@@ -932,7 +934,7 @@ _dl_map_object_from_fd (const char *name
        errval = errno;
      call_lose:
        lose (errval, fd, name, realname, l, errstring,
@@ -62,7 +62,7 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
      }
  
    /* Look again to see if the real name matched another already loaded.  */
-@@ -1040,6 +1042,7 @@ _dl_map_object_from_fd (const char *name
+@@ -1039,6 +1041,7 @@ _dl_map_object_from_fd (const char *name
  	 linking has not been used before.  */
        r->r_state = RT_ADD;
        _dl_debug_state ();
@@ -70,7 +70,7 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
        make_consistent = true;
      }
    else
-@@ -1735,7 +1738,7 @@ open_verify (const char *name, struct fi
+@@ -1734,7 +1737,7 @@ open_verify (const char *name, struct fi
  	      name = strdupa (realname);
  	      free (realname);
  	    }
@@ -79,10 +79,10 @@ diff -Nrup a/elf/dl-load.c b/elf/dl-load.c
  	}
  
        /* See whether the ELF header is what we expect.  */
-diff -Nrup a/elf/dl-open.c b/elf/dl-open.c
---- a/elf/dl-open.c	2012-01-01 05:16:32.000000000 -0700
-+++ b/elf/dl-open.c	2012-01-25 21:50:22.291882514 -0700
-@@ -33,6 +33,7 @@
+diff -Nrup c/elf/dl-open.c d/elf/dl-open.c
+--- c/elf/dl-open.c	2012-05-20 19:47:38.000000000 -0600
++++ d/elf/dl-open.c	2012-05-21 00:11:29.229920776 -0600
+@@ -32,6 +32,7 @@
  #include <caller.h>
  #include <sysdep-cancel.h>
  #include <tls.h>
@@ -90,7 +90,7 @@ diff -Nrup a/elf/dl-open.c b/elf/dl-open.c
  
  #include <dl-dst.h>
  
-@@ -292,6 +293,7 @@ dl_open_worker (void *a)
+@@ -291,6 +292,7 @@ dl_open_worker (void *a)
    struct r_debug *r = _dl_debug_initialize (0, args->nsid);
    r->r_state = RT_CONSISTENT;
    _dl_debug_state ();
@@ -98,26 +98,27 @@ diff -Nrup a/elf/dl-open.c b/elf/dl-open.c
  
    /* Print scope information.  */
    if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0))
-@@ -308,10 +310,18 @@ dl_open_worker (void *a)
-   struct link_map *l = new;
-   while (l->l_next)
-     l = l->l_next;
+@@ -376,10 +378,19 @@ dl_open_worker (void *a)
+ 	}
+     }
+ 
 +  int relocation_in_progress = 0;
-   while (1)
++
+   for (size_t i = nmaps; i-- > 0; )
      {
-       if (! l->l_real->l_relocated)
- 	{
-+	  if (! relocation_in_progress)
-+	    {
-+	      /* Notify the debugger that relocations are about to happen.  */
-+	      LIBC_PROBE (rtld_reloc_start, 2, args->nsid, r);
-+	      relocation_in_progress = 1;
-+	    }
+       l = maps[i];
+ 
++      if (! relocation_in_progress)
++	{
++	  /* Notify the debugger that relocations are about to happen.  */
++	  LIBC_PROBE (rtld_reloc_start, 2, args->nsid, r);
++	  relocation_in_progress = 1;
++	}
 +
  #ifdef SHARED
- 	  if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
- 	    {
-@@ -481,6 +491,10 @@ cannot load any more object with static
+       if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
+ 	{
+@@ -544,6 +555,10 @@ cannot load any more object with static
  	}
      }
  
@@ -128,10 +129,10 @@ diff -Nrup a/elf/dl-open.c b/elf/dl-open.c
    /* Run the initializer functions of new objects.  */
    _dl_init (new, args->argc, args->argv, args->env);
  
-diff -Nrup a/elf/rtld.c b/elf/rtld.c
---- a/elf/rtld.c	2012-01-25 21:49:58.898869987 -0700
-+++ b/elf/rtld.c	2012-01-25 21:53:42.262987201 -0700
-@@ -40,6 +40,7 @@
+diff -Nrup c/elf/rtld.c d/elf/rtld.c
+--- c/elf/rtld.c	2012-05-21 00:08:02.415897505 -0600
++++ d/elf/rtld.c	2012-05-21 00:08:40.917715803 -0600
+@@ -39,6 +39,7 @@
  #include <dl-osinfo.h>
  #include <dl-procinfo.h>
  #include <tls.h>
@@ -139,7 +140,7 @@ diff -Nrup a/elf/rtld.c b/elf/rtld.c
  #include <stackinfo.h>
  
  #include <assert.h>
-@@ -1670,6 +1671,7 @@ ERROR: ld.so: object '%s' cannot be load
+@@ -1681,6 +1682,7 @@ ERROR: ld.so: object '%s' cannot be load
    /* We start adding objects.  */
    r->r_state = RT_ADD;
    _dl_debug_state ();
@@ -147,7 +148,7 @@ diff -Nrup a/elf/rtld.c b/elf/rtld.c
  
    /* Auditing checkpoint: we are ready to signal that the initial map
       is being constructed.  */
-@@ -2382,6 +2384,7 @@ ERROR: ld.so: object '%s' cannot be load
+@@ -2398,6 +2400,7 @@ ERROR: ld.so: object '%s' cannot be load
    r = _dl_debug_initialize (0, LM_ID_BASE);
    r->r_state = RT_CONSISTENT;
    _dl_debug_state ();
diff --git a/glibc-rh740682.patch b/glibc-rh740682.patch
index b0418d1..999d266 100644
--- a/glibc-rh740682.patch
+++ b/glibc-rh740682.patch
@@ -1,10 +1,10 @@
-diff -rup a/time/sys/time.h b/time/sys/time.h
---- a/time/sys/time.h	2012-01-01 05:16:32.000000000 -0700
-+++ b/time/sys/time.h	2012-01-26 11:16:44.309112430 -0700
-@@ -78,7 +78,7 @@ extern int gettimeofday (struct timeval
+diff -rup c/time/sys/time.h d/time/sys/time.h
+--- c/time/sys/time.h	2012-05-20 19:47:38.000000000 -0600
++++ d/time/sys/time.h	2012-05-21 00:14:17.033127079 -0600
+@@ -77,7 +77,7 @@ extern int gettimeofday (struct timeval
     This call is restricted to the super-user.  */
- extern int settimeofday (__const struct timeval *__tv,
- 			 __const struct timezone *__tz)
+ extern int settimeofday (const struct timeval *__tv,
+ 			 const struct timezone *__tz)
 -     __THROW __nonnull ((1));
 +     __THROW;
  
diff --git a/glibc-rh769421.patch b/glibc-rh769421.patch
index 996aba1..dd03490 100644
--- a/glibc-rh769421.patch
+++ b/glibc-rh769421.patch
@@ -1,6 +1,6 @@
-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
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
+--- c/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S	2012-05-20 23:58:20.732670548 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S	2012-05-20 23:58:52.667518135 -0600
 @@ -137,7 +137,6 @@ __pthread_cond_wait:
  	cmpl	$PI_BIT, %eax
  	jne	18f
@@ -109,10 +109,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/s
  	.long	.LcallUR-.LSTARTCODE
  	.long	.LENDCODE-.LcallUR
  	.long	0
-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:
+diff -Nrup c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+--- c/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S	2012-05-20 23:58:20.736670528 -0600
++++ d/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S	2012-05-21 00:01:39.870720001 -0600
+@@ -136,14 +136,11 @@ __pthread_cond_wait:
  	cmpl	$PI_BIT, %eax
  	jne	61f
  
@@ -127,11 +127,10 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysd
  #ifdef __ASSUME_REQUEUE_PI
  	jmp	62f
  #else
-@@ -331,70 +328,6 @@ __pthread_cond_wait:
- 
+@@ -331,69 +328,6 @@ __pthread_cond_wait:
  13:	movq	%r10, %rax
  	jmp	14b
--
+ 
 -91:
 -.LcleanupSTART2:
 -	/* FUTEX_WAIT_REQUEUE_PI returned EAGAIN.  We need to
@@ -152,7 +151,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysd
 -#if cond_lock != 0
 -	addq	$cond_lock, %rdi
 -#endif
--	cmpq	$-1, dep_mutex-cond_lock(%rdi)
+-	LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
 -	movl	$LLL_PRIVATE, %eax
 -	movl	$LLL_SHARED, %esi
 -	cmovne	%eax, %esi
@@ -178,7 +177,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysd
 -#if cond_lock != 0
 -	addq	$cond_lock, %rdi
 -#endif
--	cmpq	$-1, dep_mutex-cond_lock(%rdi)
+-	LP_OP(cmp) $-1, dep_mutex-cond_lock(%rdi)
 -	movl	$LLL_PRIVATE, %eax
 -	movl	$LLL_SHARED, %esi
 -	cmovne	%eax, %esi
@@ -190,7 +189,7 @@ diff -Nrup a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/nptl/sysd
 -93:
 -	/* Set the rest of SYS_futex args for FUTEX_WAIT_REQUEUE_PI. */
 -	xorq	%r10, %r10
--	movq	dep_mutex(%rdi), %r8
+-	mov	dep_mutex(%rdi), %R8_LP
 -	leaq	cond_futex(%rdi), %rdi
 -	jmp	90b
 -.LcleanupEND2:
@@ -198,7 +197,7 @@ diff -Nrup 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)
-@@ -547,15 +480,11 @@ __condvar_cleanup1:
+@@ -546,15 +480,11 @@ __condvar_cleanup1:
  	.uleb128 .LcleanupSTART-.LSTARTCODE
  	.uleb128 .LcleanupEND-.LcleanupSTART
  	.uleb128 __condvar_cleanup1-.LSTARTCODE
diff --git a/glibc-rh770869.patch b/glibc-rh770869.patch
index f9c3a3b..8757641 100644
--- a/glibc-rh770869.patch
+++ b/glibc-rh770869.patch
@@ -21,101 +21,3 @@ diff -rup a/fedora/nscd.service b/fedora/nscd.service
  
  [Install]
  WantedBy=multi-user.target
-diff -rup a/nscd/nscd.c b/nscd/nscd.c
---- a/nscd/nscd.c	2012-01-01 05:16:32.000000000 -0700
-+++ b/nscd/nscd.c	2012-02-03 13:07:50.509740586 -0700
-@@ -72,7 +72,12 @@ thread_info_t thread_info;
- int do_shutdown;
- int disabled_passwd;
- int disabled_group;
--int go_background = 1;
-+
-+/* Default is to daemonize.  Set to 1 to run in foreground in
-+   debugging mode, or negative to run in foreground but otherwise
-+   behave like a daemon, i.e., detach from terminal and use
-+   syslog.  */
-+static int run_in_foreground = 0;
- 
- static const char *conffile = _PATH_NSCDCONF;
- 
-@@ -104,6 +109,8 @@ static const struct argp_option options[
-     N_("Read configuration data from NAME") },
-   { "debug", 'd', NULL, 0,
-     N_("Do not fork and display messages on the current tty") },
-+  { "foreground", 'F', NULL, 0,
-+    N_("Do not fork, but otherwise behave like a deamon") },
-   { "nthreads", 't', N_("NUMBER"), 0, N_("Start NUMBER threads") },
-   { "shutdown", 'K', NULL, 0, N_("Shut the server down") },
-   { "statistics", 'g', NULL, 0, N_("Print current configuration statistics") },
-@@ -174,16 +181,22 @@ main (int argc, char **argv)
-   /* Determine page size.  */
-   pagesize_m1 = getpagesize () - 1;
- 
--  /* Behave like a daemon.  */
--  if (go_background)
-+  if (run_in_foreground <= 0)
-     {
-       int i;
-+      pid_t pid;
- 
--      pid_t pid = fork ();
--      if (pid == -1)
--	error (EXIT_FAILURE, errno, _("cannot fork"));
--      if (pid != 0)
--	exit (0);
-+      /* Behave like a daemon.  */
-+      if (!run_in_foreground)
-+	{
-+	  pid = fork ();
-+	  if (pid == -1)
-+	    error (EXIT_FAILURE, errno, _("cannot fork"));
-+	  if (pid != 0)
-+	    exit (0);
-+	}
-+      else
-+	fprintf (stderr, _("further output sent to syslog\n"));
- 
-       int nullfd = open (_PATH_DEVNULL, O_RDWR);
-       if (nullfd != -1)
-@@ -234,11 +247,14 @@ main (int argc, char **argv)
- 	for (i = min_close_fd; i < getdtablesize (); i++)
- 	  close (i);
- 
--      pid = fork ();
--      if (pid == -1)
--	error (EXIT_FAILURE, errno, _("cannot fork"));
--      if (pid != 0)
--	exit (0);
-+      if (!run_in_foreground)
-+	{
-+	  pid = fork ();
-+	  if (pid == -1)
-+	    error (EXIT_FAILURE, errno, _("cannot fork"));
-+	  if (pid != 0)
-+	    exit (0);
-+	}
- 
-       setsid ();
- 
-@@ -260,7 +276,7 @@ main (int argc, char **argv)
-       signal (SIGTSTP, SIG_IGN);
-     }
-   else
--    /* In foreground mode we are not paranoid.  */
-+    /* In debug mode we are not paranoid.  */
-     paranoia = 0;
- 
-   signal (SIGINT, termination_handler);
-@@ -309,7 +325,11 @@ parse_opt (int key, char *arg, struct ar
-     {
-     case 'd':
-       ++debug_level;
--      go_background = 0;
-+      run_in_foreground = 1;
-+      break;
-+
-+    case 'F':
-+      run_in_foreground = -1;
-       break;
- 
-     case 'f':
diff --git a/glibc-stap-libm.patch b/glibc-stap-libm.patch
index 07761b9..fd20b7f 100644
--- a/glibc-stap-libm.patch
+++ b/glibc-stap-libm.patch
@@ -1,16 +1,16 @@
-diff -rup a/sysdeps/ieee754/dbl-64/slowexp.c b/sysdeps/ieee754/dbl-64/slowexp.c
---- a/sysdeps/ieee754/dbl-64/slowexp.c	2012-01-01 05:16:32.000000000 -0700
-+++ b/sysdeps/ieee754/dbl-64/slowexp.c	2012-03-13 11:57:51.225330782 -0600
-@@ -31,6 +31,8 @@
+diff -rup c/sysdeps/ieee754/dbl-64/slowexp.c d/sysdeps/ieee754/dbl-64/slowexp.c
+--- c/sysdeps/ieee754/dbl-64/slowexp.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/ieee754/dbl-64/slowexp.c	2012-05-21 10:02:51.693957300 -0600
+@@ -30,6 +30,8 @@
  #include "mpa.h"
- #include "math_private.h"
+ #include <math_private.h>
  
 +#include <stap-probe.h>
 +
  #ifndef SECTION
  # define SECTION
  #endif
-@@ -61,12 +63,21 @@ __slowexp(double x) {
+@@ -60,12 +62,21 @@ __slowexp(double x) {
    __sub(&mpy,&mpcor,&mpz,p);
    __mp_dbl(&mpw, &w, p);
    __mp_dbl(&mpz, &z, p);
@@ -33,19 +33,19 @@ diff -rup a/sysdeps/ieee754/dbl-64/slowexp.c b/sysdeps/ieee754/dbl-64/slowexp.c
      return res;
    }
  }
-diff -rup a/sysdeps/ieee754/dbl-64/slowpow.c b/sysdeps/ieee754/dbl-64/slowpow.c
---- a/sysdeps/ieee754/dbl-64/slowpow.c	2012-01-01 05:16:32.000000000 -0700
-+++ b/sysdeps/ieee754/dbl-64/slowpow.c	2012-03-13 11:57:59.865284437 -0600
-@@ -35,6 +35,8 @@
+diff -rup c/sysdeps/ieee754/dbl-64/slowpow.c d/sysdeps/ieee754/dbl-64/slowpow.c
+--- c/sysdeps/ieee754/dbl-64/slowpow.c	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/ieee754/dbl-64/slowpow.c	2012-05-21 10:02:51.694957291 -0600
+@@ -34,6 +34,8 @@
  #include "mpa.h"
- #include "math_private.h"
+ #include <math_private.h>
  
 +#include <stap-probe.h>
 +
  #ifndef SECTION
  # define SECTION
  #endif
-@@ -66,7 +68,12 @@ __slowpow(double x, double y, double z)
+@@ -65,7 +67,12 @@ __slowpow(double x, double y, double z)
    __mp_dbl(&mpr, &res, p);
    __sub(&mpp,&eps,&mpr1,p);   /*  pp -eps =r1 */
    __mp_dbl(&mpr1, &res1, p);  /*  converting into double precision */
@@ -59,7 +59,7 @@ diff -rup a/sysdeps/ieee754/dbl-64/slowpow.c b/sysdeps/ieee754/dbl-64/slowpow.c
  
    p = 32;     /* if we get here result wasn't calculated exactly, continue */
    __dbl_mp(x,&mpx,p);                          /* for more exact calculation */
-@@ -76,5 +83,10 @@ __slowpow(double x, double y, double z)
+@@ -75,5 +82,10 @@ __slowpow(double x, double y, double z)
    __mul(&mpy,&mpz,&mpw,p);  /* y*z =w    */
    __mpexp(&mpw, &mpp, p);   /* e^w=pp    */
    __mp_dbl(&mpp, &res, p);  /* converting into double precision */
diff --git a/glibc-stap.patch b/glibc-stap.patch
index b3ff9fa..d481a0b 100644
--- a/glibc-stap.patch
+++ b/glibc-stap.patch
@@ -1,270 +1,157 @@
-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/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 <sysdep.h>
- #include <jmpbuf-offsets.h>
- #include <asm-syntax.h>
-+#include <stap-probe.h>
- 
- 	.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 at 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)
+diff -Nrup c/config.h.in d/config.h.in
+--- c/config.h.in	2012-05-20 19:47:38.000000000 -0600
++++ d/config.h.in	2012-05-20 23:51:59.511489307 -0600
+@@ -208,6 +208,9 @@
  
-+	LIBC_PROBE (longjmp_target, 3, 4@%eax, -4 at 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 <jmpbuf-offsets.h>
- #include "bp-sym.h"
- #include "bp-asm.h"
-+#include <stap-probe.h>
++/* Define if Systemtap <sys/sdt.h> probes should be defined.  */
++#undef USE_STAP_PROBE
++
+ /*
+  */
  
- #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.
+diff -Nrup c/configure d/configure
+--- c/configure	2012-05-20 23:51:08.075734606 -0600
++++ d/configure	2012-05-20 23:53:48.520969358 -0600
+@@ -1441,6 +1441,7 @@ Optional Features:
+   --enable-nss-crypt      enable libcrypt to use nss
+   --enable-obsolete-rpc   build and install the obsolete RPC code for
+                           link-time usage
++  --enable-systemtap      enable systemtap static probe points [default=no]
  
-    The GNU C Library is free software; you can redistribute it and/or
-@@ -25,6 +26,7 @@
- #include <jmpbuf-offsets.h>
- #include "bp-sym.h"
- #include "bp-asm.h"
-+#include <stap-probe.h>
+ Optional Packages:
+   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+@@ -3767,6 +3768,51 @@ if test "$link_obsolete_rpc" = yes; then
  
- #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/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.
+ fi
  
-@@ -23,6 +23,7 @@
- #include <asm-syntax.h>
- #include "bp-sym.h"
- #include "bp-asm.h"
-+#include <stap-probe.h>
++# Check whether --enable-systemtap was given.
++if test "${enable_systemtap+set}" = set; then :
++  enableval=$enable_systemtap; systemtap=$enableval
++else
++  systemtap=no
++fi
++
++if test x$systemtap != xno; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemtap static probe support" >&5
++$as_echo_n "checking for systemtap static probe support... " >&6; }
++if test "${libc_cv_sdt+set}" = set; then :
++  $as_echo_n "(cached) " >&6
++else
++    old_CFLAGS="$CFLAGS"
++  CFLAGS="-std=gnu99 $CFLAGS"
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++#include <sys/sdt.h>
++void foo (int i, void *p)
++{
++  asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) ""
++       :: STAP_PROBE_ASM_OPERANDS (2, i, p));
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  libc_cv_sdt=yes
++else
++  libc_cv_sdt=no
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS="$old_CFLAGS"
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sdt" >&5
++$as_echo "$libc_cv_sdt" >&6; }
++  if test $libc_cv_sdt = yes; then
++    $as_echo "#define USE_STAP_PROBE 1" >>confdefs.h
++
++  else
++    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "systemtap support needs sys/sdt.h with asm support
++See \`config.log' for more details" "$LINENO" 5; }
++  fi
++fi
++
+ # The way shlib-versions is used to generate soversions.mk uses a
+ # fairly simplistic model for name recognition that can't distinguish
+ # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
+diff -Nrup c/configure.in d/configure.in
+--- c/configure.in	2012-05-20 19:47:38.000000000 -0600
++++ d/configure.in	2012-05-20 23:51:59.558489083 -0600
+@@ -263,6 +263,29 @@ if test "$link_obsolete_rpc" = yes; then
+   AC_DEFINE(LINK_OBSOLETE_RPC)
+ fi
  
- #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 at SIGMSK(%esp), 4@%ecx)
- #ifdef PTR_MANGLE
- 	PTR_MANGLE (%ecx)
- #endif
-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.
++AC_ARG_ENABLE([systemtap],
++              [AS_HELP_STRING([--enable-systemtap],
++	       [enable systemtap static probe points @<:@default=no@:>@])],
++              [systemtap=$enableval],
++	      [systemtap=no])
++if test x$systemtap != xno; then
++  AC_CACHE_CHECK([for systemtap static probe support], libc_cv_sdt, [dnl
++  old_CFLAGS="$CFLAGS"
++  CFLAGS="-std=gnu99 $CFLAGS"
++  AC_COMPILE_IFELSE([#include <sys/sdt.h>
++void foo (int i, void *p)
++{
++  asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) ""
++       :: STAP_PROBE_ASM_OPERANDS (2, i, p));
++}], [libc_cv_sdt=yes], [libc_cv_sdt=no])
++  CFLAGS="$old_CFLAGS"])
++  if test $libc_cv_sdt = yes; then
++    AC_DEFINE([USE_STAP_PROBE])
++  else
++    AC_MSG_FAILURE([systemtap support needs sys/sdt.h with asm support])
++  fi
++fi
++
+ # The way shlib-versions is used to generate soversions.mk uses a
+ # fairly simplistic model for name recognition that can't distinguish
+ # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
+diff -Nrup c/elf/Makefile d/elf/Makefile
+--- c/elf/Makefile	2012-05-20 23:51:07.907735407 -0600
++++ d/elf/Makefile	2012-05-20 23:51:59.561489070 -0600
+@@ -423,7 +423,8 @@ CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
+ CFLAGS-cache.c = $(SYSCONF-FLAGS)
+ CFLAGS-rtld.c = $(SYSCONF-FLAGS)
  
-    The GNU C Library is free software; you can redistribute it and/or
-@@ -19,6 +20,7 @@
- #include <sysdep.h>
- #include <jmpbuf-offsets.h>
- #include <asm-syntax.h>
-+#include <stap-probe.h>
+-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 c/elf/rtld-Rules d/elf/rtld-Rules
+--- c/elf/rtld-Rules	2012-05-20 19:47:38.000000000 -0600
++++ d/elf/rtld-Rules	2012-05-20 23:51:59.561489070 -0600
+@@ -1,7 +1,7 @@
+ # Subroutine makefile for compiling libc modules linked into dynamic linker.
  
- 	.section .rodata.str1.1,"aMS", at progbits,1
-@@ -79,7 +81,9 @@ ENTRY (____longjmp_chk)
- 	cfi_adjust_cfa_offset(-12)
- 	movl	4(%esp), %ecx
+ # 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.
  
--.Lok:	/* We add unwind information for the target here.  */
-+.Lok:
-+	LIBC_PROBE (longjmp, 3, 4@%ecx, -4 at 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)
+ # The GNU C Library is free software; you can redistribute it and/or
+@@ -130,6 +130,6 @@ ifdef rtld-depfiles
+ endif
  
- 	/* 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/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 <sysdep.h>
- #include <jmpbuf-offsets.h>
- #include <asm-syntax.h>
-+#include <stap-probe.h>
+ # 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
  
- 	.section .rodata.str1.1,"aMS", at progbits,1
- 	.type	longjmp_msg, at object
-@@ -94,7 +95,9 @@ ENTRY(____longjmp_chk)
- 	movl	%ebx, %esi
- 	cfi_restore (%rsi)
+ endif
+diff -Nrup c/extra-lib.mk d/extra-lib.mk
+--- c/extra-lib.mk	2012-05-20 19:47:38.000000000 -0600
++++ d/extra-lib.mk	2012-05-20 23:51:59.559489078 -0600
+@@ -101,4 +101,4 @@ ifneq (,$(cpp-srcs-left))
+ include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
+ endif
  
--.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 <sysdep.h>
- #include <jmpbuf-offsets.h>
- #include <asm-syntax.h>
-+#include <stap-probe.h>
- 
- /* 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 <sysdep.h>
- #include <jmpbuf-offsets.h>
- #include <asm-syntax.h>
-+#include <stap-probe.h>
- 
- 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/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
+-CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1
++CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1 -DIN_LIB=$(lib)
+diff -Nrup c/include/stap-probe.h d/include/stap-probe.h
+--- c/include/stap-probe.h	1969-12-31 17:00:00.000000000 -0700
++++ d/include/stap-probe.h	2012-05-20 23:51:59.510489312 -0600
 @@ -0,0 +1,140 @@
 +/* Macros for defining Systemtap <sys/sdt.h> static probe points.
 +   Copyright (C) 2011 Free Software Foundation, Inc.
@@ -406,162 +293,267 @@ diff -Nrup a/include/stap-probe.h b/include/stap-probe.h
 +#endif	/* USE_STAP_PROBE.  */
 +
 +#endif	/* stap-probe.h */
-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 20:41:26.632439843 -0700
-@@ -187,6 +187,9 @@
- /* Define if `.ctors' and `.dtors' sections shouldn't be used.  */
- #undef	NO_CTORS_DTORS_SECTIONS
+diff -Nrup c/scripts/check-local-headers.sh d/scripts/check-local-headers.sh
+--- c/scripts/check-local-headers.sh	2012-05-20 19:47:38.000000000 -0600
++++ d/scripts/check-local-headers.sh	2012-05-20 23:54:51.258670072 -0600
+@@ -28,7 +28,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 c/sysdeps/i386/__longjmp.S d/sysdeps/i386/__longjmp.S
+--- c/sysdeps/i386/__longjmp.S	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/i386/__longjmp.S	2012-05-20 23:51:59.478489471 -0600
+@@ -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.
  
-+/* Define if Systemtap <sys/sdt.h> probes should be defined.  */
-+#undef USE_STAP_PROBE
-+
- /*
-  */
+@@ -20,6 +20,7 @@
+ #include <sysdep.h>
+ #include <jmpbuf-offsets.h>
+ #include <asm-syntax.h>
++#include <stap-probe.h>
  
-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
- enable_nss_crypt
-+enable_systemtap
- with_cpu
- '
-       ac_precious_vars='build_alias
-@@ -1450,6 +1451,7 @@ Optional Features:
-   --enable-multi-arch     enable single DSO with optimizations for multiple
-                           architectures
-   --enable-nss-crypt      enable libcrypt to use nss
-+  --enable-systemtap      enable systemtap static probe points [default=no]
+ 	.text
+ ENTRY (__longjmp)
+@@ -32,6 +33,7 @@ ENTRY (__longjmp)
+ 	movl (JB_SP*4)(%eax), %ecx
+ 	PTR_DEMANGLE (%edx)
+ 	PTR_DEMANGLE (%ecx)
++	LIBC_PROBE (longjmp, 3, 4@%eax, -4 at 8(%esp), 4@%edx)
+ 	cfi_def_cfa(%eax, 0)
+ 	cfi_register(%eip, %edx)
+ 	cfi_register(%esp, %ecx)
+@@ -49,6 +51,7 @@ ENTRY (__longjmp)
+ 	cfi_restore(%edi)
+ 	cfi_restore(%ebp)
  
- Optional Packages:
-   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-@@ -3804,6 +3806,51 @@ else
- fi
++	LIBC_PROBE (longjmp_target, 3, 4@%eax, -4 at 8(%esp), 4@%edx)
+ 	movl 8(%esp), %eax	/* Second argument is return value.  */
+ 	movl %ecx, %esp
+ #else
+@@ -56,12 +59,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 c/sysdeps/i386/bsd-_setjmp.S d/sysdeps/i386/bsd-_setjmp.S
+--- c/sysdeps/i386/bsd-_setjmp.S	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/i386/bsd-_setjmp.S	2012-05-20 23:51:59.479489464 -0600
+@@ -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
+@@ -24,6 +25,7 @@
+ #include <jmpbuf-offsets.h>
+ #include "bp-sym.h"
+ #include "bp-asm.h"
++#include <stap-probe.h>
  
-+# Check whether --enable-systemtap was given.
-+if test "${enable_systemtap+set}" = set; then :
-+  enableval=$enable_systemtap; systemtap=$enableval
-+else
-+  systemtap=no
-+fi
-+
-+if test x$systemtap != xno; then
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemtap static probe support" >&5
-+$as_echo_n "checking for systemtap static probe support... " >&6; }
-+if test "${libc_cv_sdt+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+    old_CFLAGS="$CFLAGS"
-+  CFLAGS="-std=gnu99 $CFLAGS"
-+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+#include <sys/sdt.h>
-+void foo (int i, void *p)
-+{
-+  asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) ""
-+       :: STAP_PROBE_ASM_OPERANDS (2, i, p));
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+  libc_cv_sdt=yes
-+else
-+  libc_cv_sdt=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+  CFLAGS="$old_CFLAGS"
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sdt" >&5
-+$as_echo "$libc_cv_sdt" >&6; }
-+  if test $libc_cv_sdt = yes; then
-+    $as_echo "#define USE_STAP_PROBE 1" >>confdefs.h
-+
-+  else
-+    { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "systemtap support needs sys/sdt.h with asm support
-+See \`config.log' for more details" "$LINENO" 5; }
-+  fi
-+fi
-+
- # The way shlib-versions is used to generate soversions.mk uses a
- # fairly simplistic model for name recognition that can't distinguish
- # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
-diff -Nrup a/configure.in b/configure.in
---- a/configure.in	2012-01-01 05:16:32.000000000 -0700
-+++ b/configure.in	2012-01-01 20:41:26.635439843 -0700
-@@ -290,6 +290,29 @@ else
- fi
- AC_SUBST(libc_cv_nss_crypt)
+ #define PARMS	LINKAGE		/* no space for saved regs */
+ #define JMPBUF	PARMS
+@@ -46,6 +48,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 c/sysdeps/i386/bsd-setjmp.S d/sysdeps/i386/bsd-setjmp.S
+--- c/sysdeps/i386/bsd-setjmp.S	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/i386/bsd-setjmp.S	2012-05-20 23:51:59.505489337 -0600
+@@ -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.
  
-+AC_ARG_ENABLE([systemtap],
-+              [AS_HELP_STRING([--enable-systemtap],
-+	       [enable systemtap static probe points @<:@default=no@:>@])],
-+              [systemtap=$enableval],
-+	      [systemtap=no])
-+if test x$systemtap != xno; then
-+  AC_CACHE_CHECK([for systemtap static probe support], libc_cv_sdt, [dnl
-+  old_CFLAGS="$CFLAGS"
-+  CFLAGS="-std=gnu99 $CFLAGS"
-+  AC_COMPILE_IFELSE([#include <sys/sdt.h>
-+void foo (int i, void *p)
-+{
-+  asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) ""
-+       :: STAP_PROBE_ASM_OPERANDS (2, i, p));
-+}], [libc_cv_sdt=yes], [libc_cv_sdt=no])
-+  CFLAGS="$old_CFLAGS"])
-+  if test $libc_cv_sdt = yes; then
-+    AC_DEFINE([USE_STAP_PROBE])
-+  else
-+    AC_MSG_FAILURE([systemtap support needs sys/sdt.h with asm support])
-+  fi
-+fi
-+
- # The way shlib-versions is used to generate soversions.mk uses a
- # fairly simplistic model for name recognition that can't distinguish
- # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
-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 20:41:26.644439841 -0700
-@@ -101,4 +101,4 @@ ifneq (,$(cpp-srcs-left))
- include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
- endif
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -24,6 +25,7 @@
+ #include <jmpbuf-offsets.h>
+ #include "bp-sym.h"
+ #include "bp-asm.h"
++#include <stap-probe.h>
  
--CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1
-+CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1 -DIN_LIB=$(lib)
-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
-@@ -505,7 +506,8 @@ CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'
- CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
- CFLAGS-cache.c = $(SYSCONF-FLAGS)
+ #define PARMS  LINKAGE		/* no space for saved regs */
+ #define JMPBUF PARMS
+@@ -48,6 +50,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 c/sysdeps/i386/setjmp.S d/sysdeps/i386/setjmp.S
+--- c/sysdeps/i386/setjmp.S	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/i386/setjmp.S	2012-05-20 23:51:59.507489327 -0600
+@@ -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.
  
--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)
+@@ -22,6 +22,7 @@
+ #include <asm-syntax.h>
+ #include "bp-sym.h"
+ #include "bp-asm.h"
++#include <stap-probe.h>
  
- test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names))))
- generated += $(addsuffix .so,$(strip $(modules-names)))
-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.
+ #define PARMS	LINKAGE		/* no space for saved regs */
+ #define JMPBUF	PARMS
+@@ -43,6 +44,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 at SIGMSK(%esp), 4@%ecx)
+ #ifdef PTR_MANGLE
+ 	PTR_MANGLE (%ecx)
+ #endif
+diff -Nrup c/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S d/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S
+--- c/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S	2012-05-20 23:51:59.507489327 -0600
+@@ -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.
  
- # 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
+@@ -18,6 +19,7 @@
+ #include <sysdep.h>
+ #include <jmpbuf-offsets.h>
+ #include <asm-syntax.h>
++#include <stap-probe.h>
  
- # 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
+ 	.section .rodata.str1.1,"aMS", at progbits,1
+@@ -78,7 +80,9 @@ ENTRY (____longjmp_chk)
+ 	cfi_adjust_cfa_offset(-12)
+ 	movl	4(%esp), %ecx
  
- endif
+-.Lok:	/* We add unwind information for the target here.  */
++.Lok:
++	LIBC_PROBE (longjmp, 3, 4@%ecx, -4 at 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)
+@@ -101,5 +105,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 c/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S d/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
+--- c/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S	2012-05-20 23:51:59.508489322 -0600
+@@ -18,6 +18,7 @@
+ #include <sysdep.h>
+ #include <jmpbuf-offsets.h>
+ #include <asm-syntax.h>
++#include <stap-probe.h>
+ 
+ #include <sigaltstack-offsets.h>
+ 
+@@ -95,7 +96,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)
+@@ -114,5 +117,6 @@ ENTRY(____longjmp_chk)
+ 	movl	%esi, %eax
+ 	mov	%R8_LP, %RSP_LP
+ 	movq	%r9,%rbp
++	LIBC_PROBE (longjmp_target, 3, 8@%rdi, -4@%eax, 8@%rdx)
+ 	jmpq	*%rdx
+ END (____longjmp_chk)
+diff -Nrup c/sysdeps/x86_64/__longjmp.S d/sysdeps/x86_64/__longjmp.S
+--- c/sysdeps/x86_64/__longjmp.S	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/x86_64/__longjmp.S	2012-05-20 23:51:59.509489317 -0600
+@@ -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
+@@ -18,6 +18,7 @@
+ #include <sysdep.h>
+ #include <jmpbuf-offsets.h>
+ #include <asm-syntax.h>
++#include <stap-probe.h>
+ 
+ /* Jump to the position specified by ENV, causing the
+    setjmp call there to return VAL, or 1 if VAL is 0.
+@@ -33,6 +34,7 @@ ENTRY(__longjmp)
+ 	PTR_DEMANGLE (%r9)
+ 	PTR_DEMANGLE (%RDX_LP)
+ #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)
+@@ -52,5 +54,6 @@ ENTRY(__longjmp)
+ 	mov %esi, %eax
+ 	mov %R8_LP,%RSP_LP
+ 	movq %r9,%rbp
++	LIBC_PROBE (longjmp_target, 3, 8@%rdi, -4@%eax, 8@%rdx)
+ 	jmpq *%rdx
+ END (__longjmp)
+diff -Nrup c/sysdeps/x86_64/setjmp.S d/sysdeps/x86_64/setjmp.S
+--- c/sysdeps/x86_64/setjmp.S	2012-05-20 19:47:38.000000000 -0600
++++ d/sysdeps/x86_64/setjmp.S	2012-05-20 23:52:44.907272800 -0600
+@@ -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
+@@ -19,6 +19,7 @@
+ #include <sysdep.h>
+ #include <jmpbuf-offsets.h>
+ #include <asm-syntax.h>
++#include <stap-probe.h>
+ 
+ ENTRY (__sigsetjmp)
+ 	/* Save registers.  */
+@@ -40,6 +41,7 @@ ENTRY (__sigsetjmp)
+ #endif
+ 	movq %rdx, (JB_RSP*8)(%rdi)
+ 	mov (%rsp), %RAX_LP	/* Save PC we are returning to now.  */
++	LIBC_PROBE (setjmp, 3, 8@%rdi, -4@%esi, 8@%rax)
+ #ifdef PTR_MANGLE
+ 	PTR_MANGLE (%RAX_LP)
+ #endif
diff --git a/glibc.spec b/glibc.spec
index 19b0db6..86f614e 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -1,6 +1,6 @@
-%define glibcsrcdir glibc-2.15-a316c1f
-%define glibcversion 2.15
-%define glibcportsdir glibc-ports-2.15-ad8ae7d
+%define glibcsrcdir glibc-2.15.90-8b728fa3
+%define glibcversion 2.15.90
+%define glibcportsdir glibc-ports-2.15.90-4645e97
 ### glibc.spec.in follows:
 %define run_glibc_tests 1
 %define auxarches athlon alphaev6
@@ -28,7 +28,7 @@
 Summary: The GNU libc libraries
 Name: glibc
 Version: %{glibcversion}
-Release: 41%{?dist}
+Release: 1%{?dist}
 # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
 # Things that are linked directly into dynamically linked programs
 # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
@@ -68,51 +68,36 @@ Patch0001: %{name}-stap.patch
 
 # Reverting an upstream patch.  I don't think this has been discussed
 # upstream yet.
-Patch0006: %{name}-rh769421.patch
+Patch0005: %{name}-rh769421.patch
 
 # Depends on systemtap infrastructure, so can't go upstream
-Patch0012: %{name}-rh179072.patch
+Patch0009: %{name}-rh179072.patch
 
 # Needs to be sent upstream
-Patch0013: %{name}-rh697421.patch
+Patch0010: %{name}-rh697421.patch
 
 # Needs to be sent upstream
-Patch0014: %{name}-rh740682.patch
+Patch0011: %{name}-rh740682.patch
 
 # Needs to be sent upstream
-Patch0018: %{name}-rh657588.patch
+Patch0013: %{name}-rh657588.patch
 
 # Not likely to be accepted upstream
-Patch0019: %{name}-rh787201.patch
+Patch0014: %{name}-rh787201.patch
 
 # Not necessary to send upstream, fedora specific
-Patch0023: %{name}-rh688948.patch
+Patch0018: %{name}-rh688948.patch
 
 # Needs to be sent upstream
-Patch0027: %{name}-rh564528.patch
+Patch0021: %{name}-rh564528.patch
 
 # stap and thus will never be accepted upstream
-Patch0044: %{name}-stap-libm.patch
+Patch0029: %{name}-stap-libm.patch
 
 #
 # Patches from upstream
 #
 
-Patch1004: %{name}-rh740506.patch
-Patch1010: %{name}-rh784402.patch
-Patch1026: %{name}-rh624296.patch
-Patch1034: %{name}-rh794797.patch
-Patch1035: %{name}-rh788989.patch
-Patch1036: %{name}-rh795498.patch
-Patch1037: %{name}-rh760935.patch
-Patch1038: %{name}-rh798471.patch
-Patch1039: %{name}-rh758888.patch
-Patch1041: %{name}-rh794797-2.patch
-Patch1046: %{name}-rh806403.patch
-Patch1047: %{name}-rh806070.patch
-Patch1048: %{name}-rh804792.patch
-Patch1052: %{name}-sw13979.patch
-Patch1053: %{name}-rh817276.patch
 
 #
 # Patches submitted, but not yet approved upstream.
@@ -126,69 +111,57 @@ Patch2002: %{name}-sw13579.patch
 Patch2003: %{name}-rh757881.patch
 
 # Upstream BZ 13013
-Patch2005: %{name}-rh730856.patch
+Patch2004: %{name}-rh730856.patch
 
-Patch2007: %{name}-rh729661.patch
+Patch2006: %{name}-rh729661.patch
 
 # Upstream BZ 13197
-Patch2008: %{name}-rh446078.patch
-
-# Upstream BZ 13905
-Patch2009: %{name}-rh454629.patch
+Patch2007: %{name}-rh446078.patch
 
 # Upstream BZ 13948
-Patch2011: %{name}-rh622499.patch
+Patch2008: %{name}-rh622499.patch
 
 # Upstream BZ 13618
-Patch2015: %{name}-sw13618.patch
-Patch2016: %{name}-sw13618-2.patch
+Patch2012: %{name}-sw13618-2.patch
 
-Patch2017: %{name}-rh783979.patch
-Patch2020: %{name}-rh741105.patch
-Patch2021: %{name}-rh770869.patch
-Patch2022: %{name}-rh691912.patch
-Patch2024: %{name}-rh770439.patch
-Patch2025: %{name}-rh789209.patch
+Patch2015: %{name}-rh741105.patch
+Patch2016: %{name}-rh770869.patch
+Patch2017: %{name}-rh691912.patch
+Patch2019: %{name}-rh770439.patch
+Patch2020: %{name}-rh789209.patch
 
 # Upstream BZ 13604
-Patch2028: %{name}-rh790292.patch
+Patch2022: %{name}-rh790292.patch
 
 # Upstream BZ 13603
-Patch2029: %{name}-rh790298.patch
+Patch2023: %{name}-rh790298.patch
 
 # Upstream BZ 13698
-Patch2030: %{name}-rh791161.patch
+Patch2024: %{name}-rh791161.patch
 
 # Upstream BZ 12377
-Patch2031: %{name}-rh697149.patch
+Patch2025: %{name}-rh697149.patch
 
 # Upstream BZ 9954
-Patch2032: %{name}-rh739743.patch
+Patch2026: %{name}-rh739743.patch
 
 # Upstream BZ 13939
-Patch2033: %{name}-rh789238.patch
+Patch2027: %{name}-rh789238.patch
 
 #Upstream BZ 13818
-Patch2040: %{name}-rh800224.patch
+Patch2028: %{name}-rh800224.patch
 
-Patch2045: %{name}-rh803286.patch
+Patch2030: %{name}-rh803286.patch
 
 
 # Upstream BZ 13939
-Patch2049: %{name}-rh789238-2.patch
+Patch2031: %{name}-rh789238-2.patch
 
 # Upstream BZ 13946
-Patch2050: %{name}-rh682500.patch
+Patch2032: %{name}-rh682500.patch
 
 # Upstream BZ 13761
-Patch2051: %{name}-rh788989-2.patch
-
-# Upstream, see libc-alpha posting from Carlos O'Donell 5/5/2012
-Patch2054: %{name}-arm-hardfloat-1.patch
-Patch2055: %{name}-arm-hardfloat-2.patch
-
-# Upstream BZ 13753/14059
-Patch2056: %{name}-rh801650.patch
+Patch2033: %{name}-rh788989-2.patch
 
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Obsoletes: glibc-profile < 2.4
@@ -407,61 +380,36 @@ rm -rf %{glibcportsdir}
 %patch0001 -E -p1
 %patch2002 -p1
 %patch2003 -p1
-%patch1004 -p1
-%patch2005 -p1
-%patch0006 -p1
+%patch2004 -p1
+%patch0005 -p1
+%patch2006 -p1
 %patch2007 -p1
 %patch2008 -p1
-%patch2009 -p1
-%patch1010 -p1
-%patch2011 -p1
-%patch0012 -p1
+%patch0009 -p1
+%patch0010 -p1
+%patch0011 -p1
+%patch2012 -p1
 %patch0013 -p1
 %patch0014 -p1
 %patch2015 -p1
 %patch2016 -p1
 %patch2017 -p1
 %patch0018 -p1
-%patch0019 -p1
+%patch2019 -p1
 %patch2020 -p1
-%patch2021 -p1
+%patch0021 -p1
 %patch2022 -p1
-%patch0023 -p1
+%patch2023 -p1
 %patch2024 -p1
 %patch2025 -p1
-%patch1026 -p1
-%patch0027 -p1
+%patch2026 -p1
+%patch2027 -p1
 %patch2028 -p1
-%patch2029 -p1
+#%patch0029 -p1
 %patch2030 -p1
 %patch2031 -p1
 %patch2032 -p1
 %patch2033 -p1
-%patch1034 -p1
-%patch1035 -p1
-%patch1036 -p1
-%patch1037 -p1
-%patch1038 -p1
-%patch1039 -p1
-%patch2040 -p1
-%patch1041 -p1
-%patch0044 -p1
-%patch2045 -p1
-%patch1046 -p1
-%patch1047 -p1
-%patch1048 -p1
-%patch2049 -p1
-%patch2050 -p1
-%patch2051 -p1
-%patch1052 -p1
-%patch2054 -p1
-
-pushd ../%{glibcportsdir}
-%patch1053 -p1
-%patch2055 -p1
-popd
-
-%patch2056 -p1
 
 # A lot of programs still misuse memcpy when they have to use
 # memmove. The memcpy implementation below is not tolerant at
@@ -560,6 +508,7 @@ configure_CFLAGS="$build_CFLAGS -fno-asynchronous-unwind-tables"
 %ifarch %{multiarcharches}
 	--enable-multi-arch \
 %endif
+	--enable-obsolete-rpc \
 %ifarch %{systemtaparches}
 	--enable-systemtap \
 %endif
@@ -1252,8 +1201,8 @@ rm -f *.filelist*
 %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/cache/ldconfig/aux-cache
 %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache
 %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/gai.conf
-%doc README NEWS INSTALL FAQ BUGS NOTES PROJECTS CONFORMANCE
-%doc COPYING COPYING.LIB README.libm LICENSES
+%doc README NEWS INSTALL BUGS PROJECTS CONFORMANCE
+%doc COPYING COPYING.LIB LICENSES
 %doc hesiod/README.hesiod
 
 %if %{xenpackage}
@@ -1318,6 +1267,9 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Wed May 23 2012  Jeff Law <law at redhat.com> - 2.15.90-1
+  - Resync with upstream sources.
+
 * Tue May 22 2012 Patsy Franklin <pfrankli at redhat.com> - 2.15-41
   - Fix tzdata trigger (#822200)
   - Make the symlink relative rather than linking into the buildroot (#822200).
diff --git a/sources b/sources
index 1f4929b..52d7945 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-9c0e2b4d8cd47eac34850a4172be2aed  glibc-2.15-a316c1f-fedora.tar.gz
-3d33246687a96d5dd7ca0e6f2660eabe  glibc-2.15-a316c1f.tar.gz
-aab8b3cee4a585a8da1eea40979fabae  glibc-ports-2.15-ad8ae7d.tar.gz
+a958330a0f9d3c388abef8cbc8b868e3  glibc-2.15.90-8b728fa3.tar.gz
+6de42dba1548f09bc6adff993db2f9fe  glibc-ports-2.15.90-4645e97.tar.gz
+abe0e2514f86286214b6af4c5cff0577  glibc-2.15.90-8b728fa3-fedora.tar.gz


More information about the scm-commits mailing list