[glibc/f13/master] 2.12.2-1

Andreas Schwab schwab at fedoraproject.org
Mon Dec 13 14:20:42 UTC 2010


commit 35bf200d2d6f2d68ccd020de07f9ea909f47c63e
Author: Andreas Schwab <schwab at redhat.com>
Date:   Mon Dec 13 15:20:05 2010 +0100

    2.12.2-1

 .gitignore         |    4 +-
 glibc-fedora.patch |  626 +++++++++++++---------------------------------------
 glibc.spec         |   47 ++++-
 sources            |    4 +-
 4 files changed, 207 insertions(+), 474 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 3fe0150..23fdcfa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-/glibc-2.12.1-7-gfc0ed7b-fedora.tar.bz2
-/glibc-2.12.1-7-gfc0ed7b.tar.bz2
+/glibc-2.12.2-fedora.tar.bz2
+/glibc-2.12.2.tar.bz2
diff --git a/glibc-fedora.patch b/glibc-fedora.patch
index 90438f1..2a1f881 100644
--- a/glibc-fedora.patch
+++ b/glibc-fedora.patch
@@ -1,31 +1,18 @@
---- glibc-2.12.1-7-gfc0ed7b/ChangeLog
-+++ glibc-2.12.1-3/ChangeLog
-@@ -1,3 +1,24 @@
-+2010-10-22  Andreas Schwab  <schwab at redhat.com>
-+
-+	* include/dlfcn.h (__RTLD_SECURE): Define.
-+	* elf/dl-load.c (_dl_map_object): Remove preloaded parameter.  Use
-+	mode & __RTLD_SECURE instead.
-+	(open_path): Remove preloaded parameter to secure.
-+	* sysdeps/generic/ldsodefs.h (_dl_map_object): Adjust declaration.
-+	* elf/dl-open.c (dl_open_worker): Adjust call to _dl_map_object.
-+	* elf/dl-deps.c (openaux): Likewise.
-+	* elf/rtld.c (struct map_args): Remove is_preloaded.
-+	(map_doit): Don't use it.
-+	(dl_main): Likewise.
-+	(do_preload): Use __RTLD_SECURE instead of is_preloaded.
-+	(dlmopen_doit): Add __RTLD_SECURE to mode bits.
-+
-+2010-10-18  Andreas Schwab  <schwab at redhat.com>
-+
-+	* elf/dl-load.c (is_dst): Remove last parameter.
-+	(_dl_dst_count): Ignore $ORIGIN in privileged programs.
-+	(_dl_dst_substitute): Likewise.
+--- glibc-2.12.2/ChangeLog
++++ /ChangeLog
+@@ -329,6 +329,11 @@
+ 	(do_preload): Use __RTLD_SECURE instead of is_preloaded.
+ 	(dlmopen_doit): Add __RTLD_SECURE to mode bits.
+ 
++2010-12-13  Andreas Schwab  <schwab at redhat.com>
++
++	* elf/dl-object.c (_dl_new_object): Ignore origin of privileged
++	program.
 +
  2010-10-06  Ulrich Drepper  <drepper at gmail.com>
  
  	* string/bug-strstr1.c: New file.
-@@ -44,6 +65,10 @@
+@@ -375,6 +380,10 @@
  
  	* version.h (VERSION): Bump for 2.12.1 release.
  
@@ -36,8 +23,8 @@
  2010-06-02  Kirill A. Shutemov  <kirill at shutemov.name>
  
  	* elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch
---- glibc-2.12.1-7-gfc0ed7b/ChangeLog.15
-+++ glibc-2.12.1-3/ChangeLog.15
+--- glibc-2.12.2/ChangeLog.15
++++ /ChangeLog.15
 @@ -477,6 +477,14 @@
  
  2004-11-26  Jakub Jelinek  <jakub at redhat.com>
@@ -103,8 +90,8 @@
  2004-08-30  Roland McGrath  <roland at frob.com>
  
  	* scripts/extract-abilist.awk: If `lastversion' variable defined, omit
---- glibc-2.12.1-7-gfc0ed7b/ChangeLog.16
-+++ glibc-2.12.1-3/ChangeLog.16
+--- glibc-2.12.2/ChangeLog.16
++++ /ChangeLog.16
 @@ -2042,6 +2042,9 @@
  	(__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT
  	followed by __THROW.
@@ -158,23 +145,9 @@
  2005-07-28  Thomas Schwinge  <schwinge at nic-nac-project.de>
  
  	[BZ #1137]
---- glibc-2.12.1-7-gfc0ed7b/ChangeLog.17
-+++ glibc-2.12.1-3/ChangeLog.17
-@@ -13,6 +13,13 @@
- 	handled here anymore.
- 	Patch mostly by Matt Turner <mattst88 at gmail.com>.
- 
-+2010-05-27  Andreas Schwab  <schwab at redhat.com>
-+
-+	* elf/Makefile ($(objpfx)tst-tls10): Depend on
-+	$(objpfx)tst-tlsmod7.so.
-+	($(objpfx)tst-tls11): Depend on $(objpfx)tst-tlsmod9.so.
-+	($(objpfx)tst-tls12): Depend on $(objpfx)tst-tlsmod11.so.
-+
- 2010-05-03  Ulrich Drepper  <drepper at redhat.com>
- 
- 	* version.h (VERSION): Bump for 2.12 release.
-@@ -256,6 +263,12 @@
+--- glibc-2.12.2/ChangeLog.17
++++ /ChangeLog.17
+@@ -256,6 +256,12 @@
  
  	* Makerules (libc-abis): Fix search for libc-abis in add-ons.
  
@@ -187,7 +160,7 @@
  2010-04-05  Thomas Schwinge  <thomas at schwinge.name>
  
  	* sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/.
-@@ -1010,6 +1023,19 @@
+@@ -1010,6 +1016,19 @@
  	* sysdeps/x86_64/fpu/fegetenv.c: Likewise
  	* sysdeps/s390/fpu/fegetenv.c: Likewise.  Remove unused headers.
  
@@ -207,7 +180,7 @@
  2010-02-05  H.J. Lu  <hongjiu.lu at intel.com>
  
  	[BZ #11230]
-@@ -2953,6 +2979,11 @@ d2009-10-30  Ulrich Drepper  <drepper at redhat.com>
+@@ -2953,6 +2972,11 @@ d2009-10-30  Ulrich Drepper  <drepper at redhat.com>
  	* sysdeps/generic/ldsodefs.h (struct rtld_global): The map element in
  	the unique symbol hash table should not be const.
  
@@ -219,7 +192,7 @@
  2009-07-21  Ulrich Drepper  <drepper at redhat.com>
  
  	* sysdeps/x86_64/multiarch/strstr.c: Minor cleanups.  Remove
-@@ -3218,6 +3249,11 @@ d2009-10-30  Ulrich Drepper  <drepper at redhat.com>
+@@ -3218,6 +3242,11 @@ d2009-10-30  Ulrich Drepper  <drepper at redhat.com>
  	out common code into new function get_common_indeces. Determine
  	extended family and model for Intel processors.
  
@@ -231,7 +204,7 @@
  2009-06-26  Ulrich Drepper  <drepper at redhat.com>
  
  	* resolv/resolv.h: Define RES_SNGLKUPREOP.
-@@ -11911,6 +11947,10 @@ d2009-10-30  Ulrich Drepper  <drepper at redhat.com>
+@@ -11911,6 +11940,10 @@ d2009-10-30  Ulrich Drepper  <drepper at redhat.com>
  	[BZ #4368]
  	* stdlib/stdlib.h: Remove obsolete part of comment for realpath.
  
@@ -242,7 +215,7 @@
  2007-04-16  Ulrich Drepper  <drepper at redhat.com>
  
  	[BZ #4364]
-@@ -13168,6 +13208,15 @@ d2009-10-30  Ulrich Drepper  <drepper at redhat.com>
+@@ -13168,6 +13201,15 @@ d2009-10-30  Ulrich Drepper  <drepper at redhat.com>
  	separators also if no non-zero digits found.
  	* stdlib/Makefile (tests): Add tst-strtod3.
  
@@ -258,8 +231,8 @@
  2006-12-09  Ulrich Drepper  <drepper at redhat.com>
  
  	[BZ #3632]
---- glibc-2.12.1-7-gfc0ed7b/Makeconfig
-+++ glibc-2.12.1-3/Makeconfig
+--- glibc-2.12.2/Makeconfig
++++ /Makeconfig
 @@ -789,12 +789,12 @@ endif
  # The assembler can generate debug information too.
  ifndef ASFLAGS
@@ -276,8 +249,8 @@
  
  ifndef BUILD_CC
  BUILD_CC = $(CC)
---- glibc-2.12.1-7-gfc0ed7b/csu/Makefile
-+++ glibc-2.12.1-3/csu/Makefile
+--- glibc-2.12.2/csu/Makefile
++++ /csu/Makefile
 @@ -93,7 +93,8 @@ omit-deps += $(crtstuff)
  $(crtstuff:%=$(objpfx)%.o): %.o: %.S $(objpfx)defs.h
  	$(compile.S) -g0 $(ASFLAGS-.os) -o $@
@@ -288,8 +261,8 @@
  
  vpath initfini.c $(sysdirs)
  
---- glibc-2.12.1-7-gfc0ed7b/csu/elf-init.c
-+++ glibc-2.12.1-3/csu/elf-init.c
+--- glibc-2.12.2/csu/elf-init.c
++++ /csu/elf-init.c
 @@ -63,6 +63,23 @@ extern void (*__init_array_end []) (int, char **, char **)
  extern void (*__fini_array_start []) (void) attribute_hidden;
  extern void (*__fini_array_end []) (void) attribute_hidden;
@@ -314,8 +287,8 @@
  
  /* These function symbols are provided for the .init/.fini section entry
     points automagically by the linker.  */
---- glibc-2.12.1-7-gfc0ed7b/debug/tst-chk1.c
-+++ glibc-2.12.1-3/debug/tst-chk1.c
+--- glibc-2.12.2/debug/tst-chk1.c
++++ /debug/tst-chk1.c
 @@ -17,6 +17,9 @@
     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
     02111-1307 USA.  */
@@ -344,196 +317,20 @@
  #  define O 0
  # else
  #  define O 1
---- glibc-2.12.1-7-gfc0ed7b/elf/Makefile
-+++ glibc-2.12.1-3/elf/Makefile
-@@ -759,11 +759,11 @@ $(objpfx)tst-tls8.out: $(objpfx)tst-tlsmod3.so $(objpfx)tst-tlsmod4.so
- $(objpfx)tst-tls9: $(libdl)
- $(objpfx)tst-tls9.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so
- 
--$(objpfx)tst-tls10: $(objpfx)tst-tlsmod8.so
-+$(objpfx)tst-tls10: $(objpfx)tst-tlsmod8.so $(objpfx)tst-tlsmod7.so
- 
--$(objpfx)tst-tls11: $(objpfx)tst-tlsmod10.so
-+$(objpfx)tst-tls11: $(objpfx)tst-tlsmod10.so $(objpfx)tst-tlsmod9.so
- 
--$(objpfx)tst-tls12: $(objpfx)tst-tlsmod12.so
-+$(objpfx)tst-tls12: $(objpfx)tst-tlsmod12.so $(objpfx)tst-tlsmod11.so
- 
- $(objpfx)tst-tls13: $(libdl)
- $(objpfx)tst-tls13.out: $(objpfx)tst-tlsmod13a.so
---- glibc-2.12.1-7-gfc0ed7b/elf/dl-deps.c
-+++ glibc-2.12.1-3/elf/dl-deps.c
-@@ -62,7 +62,7 @@ openaux (void *a)
- {
-   struct openaux_args *args = (struct openaux_args *) a;
- 
--  args->aux = _dl_map_object (args->map, args->name, 0,
-+  args->aux = _dl_map_object (args->map, args->name,
- 			      (args->map->l_type == lt_executable
- 			       ? lt_library : args->map->l_type),
- 			      args->trace_mode, args->open_mode,
---- glibc-2.12.1-7-gfc0ed7b/elf/dl-load.c
-+++ glibc-2.12.1-3/elf/dl-load.c
-@@ -169,8 +169,7 @@ local_strdup (const char *s)
- 
- 
- static size_t
--is_dst (const char *start, const char *name, const char *str,
--	int is_path, int secure)
-+is_dst (const char *start, const char *name, const char *str, int is_path)
- {
-   size_t len;
-   bool is_curly = false;
-@@ -199,11 +198,6 @@ is_dst (const char *start, const char *name, const char *str,
- 	   && (!is_path || name[len] != ':'))
-     return 0;
- 
--  if (__builtin_expect (secure, 0)
--      && ((name[len] != '\0' && (!is_path || name[len] != ':'))
--	  || (name != start + 1 && (!is_path || name[-2] != ':'))))
--    return 0;
--
-   return len;
- }
- 
-@@ -218,13 +212,12 @@ _dl_dst_count (const char *name, int is_path)
-     {
-       size_t len;
- 
--      /* $ORIGIN is not expanded for SUID/GUID programs (except if it
--	 is $ORIGIN alone) and it must always appear first in path.  */
-+      /* $ORIGIN is not expanded for SUID/GUID programs.  */
-       ++name;
--      if ((len = is_dst (start, name, "ORIGIN", is_path,
--			 INTUSE(__libc_enable_secure))) != 0
--	  || (len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0
--	  || (len = is_dst (start, name, "LIB", is_path, 0)) != 0)
-+      if (((len = is_dst (start, name, "ORIGIN", is_path)) != 0
-+	   && !INTUSE(__libc_enable_secure))
-+	  || (len = is_dst (start, name, "PLATFORM", is_path)) != 0
-+	  || (len = is_dst (start, name, "LIB", is_path)) != 0)
- 	++cnt;
- 
-       name = strchr (name + len, '$');
-@@ -256,9 +249,12 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result,
- 	  size_t len;
- 
- 	  ++name;
--	  if ((len = is_dst (start, name, "ORIGIN", is_path,
--			     INTUSE(__libc_enable_secure))) != 0)
-+	  if ((len = is_dst (start, name, "ORIGIN", is_path)) != 0)
- 	    {
-+	      /* Ignore this path element in SUID/SGID programs.  */
-+	      if (INTUSE(__libc_enable_secure))
-+		repl = (const char *) -1;
-+	      else
- #ifndef SHARED
- 	      if (l == NULL)
- 		repl = _dl_get_origin ();
-@@ -266,9 +262,9 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result,
- #endif
- 		repl = l->l_origin;
- 	    }
--	  else if ((len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0)
-+	  else if ((len = is_dst (start, name, "PLATFORM", is_path)) != 0)
- 	    repl = GLRO(dl_platform);
--	  else if ((len = is_dst (start, name, "LIB", is_path, 0)) != 0)
-+	  else if ((len = is_dst (start, name, "LIB", is_path)) != 0)
- 	    repl = DL_DST_LIB;
- 
- 	  if (repl != NULL && repl != (const char *) -1)
-@@ -1815,7 +1811,7 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
-    if MAY_FREE_DIRS is true.  */
- 
- static int
--open_path (const char *name, size_t namelen, int preloaded,
-+open_path (const char *name, size_t namelen, int secure,
- 	   struct r_search_path_struct *sps, char **realname,
- 	   struct filebuf *fbp, struct link_map *loader, int whatcode,
- 	   bool *found_other_class)
-@@ -1897,7 +1893,7 @@ open_path (const char *name, size_t namelen, int preloaded,
- 	  /* Remember whether we found any existing directory.  */
- 	  here_any |= this_dir->status[cnt] != nonexisting;
- 
--	  if (fd != -1 && __builtin_expect (preloaded, 0)
-+	  if (fd != -1 && __builtin_expect (secure, 0)
- 	      && INTUSE(__libc_enable_secure))
- 	    {
- 	      /* This is an extra security effort to make sure nobody can
-@@ -1966,7 +1962,7 @@ open_path (const char *name, size_t namelen, int preloaded,
- 
- struct link_map *
- internal_function
--_dl_map_object (struct link_map *loader, const char *name, int preloaded,
-+_dl_map_object (struct link_map *loader, const char *name,
- 		int type, int trace_mode, int mode, Lmid_t nsid)
- {
-   int fd;
-@@ -2070,7 +2066,8 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded,
- 	  for (l = loader; l; l = l->l_loader)
- 	    if (cache_rpath (l, &l->l_rpath_dirs, DT_RPATH, "RPATH"))
- 	      {
--		fd = open_path (name, namelen, preloaded, &l->l_rpath_dirs,
-+		fd = open_path (name, namelen, mode & __RTLD_SECURE,
-+				&l->l_rpath_dirs,
- 				&realname, &fb, loader, LA_SER_RUNPATH,
- 				&found_other_class);
- 		if (fd != -1)
-@@ -2085,14 +2082,15 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded,
- 	      && main_map != NULL && main_map->l_type != lt_loaded
- 	      && cache_rpath (main_map, &main_map->l_rpath_dirs, DT_RPATH,
- 			      "RPATH"))
--	    fd = open_path (name, namelen, preloaded, &main_map->l_rpath_dirs,
-+	    fd = open_path (name, namelen, mode & __RTLD_SECURE,
-+			    &main_map->l_rpath_dirs,
- 			    &realname, &fb, loader ?: main_map, LA_SER_RUNPATH,
- 			    &found_other_class);
- 	}
+--- glibc-2.12.2/elf/dl-object.c
++++ /elf/dl-object.c
+@@ -220,6 +220,9 @@ _dl_new_object (char *realname, const char *libname, int type,
+     out:
+       new->l_origin = origin;
+     }
++  else if (INTUSE(__libc_enable_secure) && type == lt_executable)
++    /* The origin of a privileged program cannot be trusted.  */
++    new->l_origin = (char *) -1;
  
-       /* Try the LD_LIBRARY_PATH environment variable.  */
-       if (fd == -1 && env_path_list.dirs != (void *) -1)
--	fd = open_path (name, namelen, preloaded, &env_path_list,
-+	fd = open_path (name, namelen, mode & __RTLD_SECURE, &env_path_list,
- 			&realname, &fb,
- 			loader ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded,
- 			LA_SER_LIBPATH, &found_other_class);
-@@ -2101,12 +2099,12 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded,
-       if (fd == -1 && loader != NULL
- 	  && cache_rpath (loader, &loader->l_runpath_dirs,
- 			  DT_RUNPATH, "RUNPATH"))
--	fd = open_path (name, namelen, preloaded,
-+	fd = open_path (name, namelen, mode & __RTLD_SECURE,
- 			&loader->l_runpath_dirs, &realname, &fb, loader,
- 			LA_SER_RUNPATH, &found_other_class);
- 
-       if (fd == -1
--	  && (__builtin_expect (! preloaded, 1)
-+	  && (__builtin_expect (! (mode & __RTLD_SECURE), 1)
- 	      || ! INTUSE(__libc_enable_secure)))
- 	{
- 	  /* Check the list of libraries in the file /etc/ld.so.cache,
-@@ -2172,7 +2170,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded,
- 	  && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
- 	      || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
- 	  && rtld_search_dirs.dirs != (void *) -1)
--	fd = open_path (name, namelen, preloaded, &rtld_search_dirs,
-+	fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
- 			&realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
- 
-       /* Add another newline when we are tracing the library loading.  */
---- glibc-2.12.1-7-gfc0ed7b/elf/dl-open.c
-+++ glibc-2.12.1-3/elf/dl-open.c
-@@ -252,7 +252,7 @@ dl_open_worker (void *a)
- 
-   /* Load the named object.  */
-   struct link_map *new;
--  args->map = new = _dl_map_object (call_map, file, 0, lt_loaded, 0,
-+  args->map = new = _dl_map_object (call_map, file, lt_loaded, 0,
- 				    mode | __RTLD_CALLMAP, args->nsid);
- 
-   /* If the pointer returned is NULL this means the RTLD_NOLOAD flag is
---- glibc-2.12.1-7-gfc0ed7b/elf/ldconfig.c
-+++ glibc-2.12.1-3/elf/ldconfig.c
+   return new;
+ }
+--- glibc-2.12.2/elf/ldconfig.c
++++ /elf/ldconfig.c
 @@ -1031,17 +1031,19 @@ search_dirs (void)
  
  
@@ -615,67 +412,8 @@
      }
  
    const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE;
---- glibc-2.12.1-7-gfc0ed7b/elf/rtld.c
-+++ glibc-2.12.1-3/elf/rtld.c
-@@ -589,7 +589,6 @@ struct map_args
-   /* Argument to map_doit.  */
-   char *str;
-   struct link_map *loader;
--  int is_preloaded;
-   int mode;
-   /* Return value of map_doit.  */
-   struct link_map *map;
-@@ -627,16 +626,17 @@ static void
- map_doit (void *a)
- {
-   struct map_args *args = (struct map_args *) a;
--  args->map = _dl_map_object (args->loader, args->str,
--			      args->is_preloaded, lt_library, 0, args->mode,
--			      LM_ID_BASE);
-+  args->map = _dl_map_object (args->loader, args->str, lt_library, 0,
-+			      args->mode, LM_ID_BASE);
- }
- 
- static void
- dlmopen_doit (void *a)
- {
-   struct dlmopen_args *args = (struct dlmopen_args *) a;
--  args->map = _dl_open (args->fname, RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT,
-+  args->map = _dl_open (args->fname,
-+			(RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT
-+			 | __RTLD_SECURE),
- 			dl_main, LM_ID_NEWLM, _dl_argc, INTUSE(_dl_argv),
- 			__environ);
- }
-@@ -806,8 +806,7 @@ do_preload (char *fname, struct link_map *main_map, const char *where)
- 
-   args.str = fname;
-   args.loader = main_map;
--  args.is_preloaded = 1;
--  args.mode = 0;
-+  args.mode = __RTLD_SECURE;
- 
-   unsigned int old_nloaded = GL(dl_ns)[LM_ID_BASE]._ns_nloaded;
- 
-@@ -1054,7 +1053,6 @@ of this helper program; chances are you did not intend to run this program.\n\
- 
- 	  args.str = rtld_progname;
- 	  args.loader = NULL;
--	  args.is_preloaded = 0;
- 	  args.mode = __RTLD_OPENEXEC;
- 	  (void) _dl_catch_error (&objname, &err_str, &malloced, map_doit,
- 				  &args);
-@@ -1066,7 +1064,7 @@ of this helper program; chances are you did not intend to run this program.\n\
-       else
- 	{
- 	  HP_TIMING_NOW (start);
--	  _dl_map_object (NULL, rtld_progname, 0, lt_library, 0,
-+	  _dl_map_object (NULL, rtld_progname, lt_library, 0,
- 			  __RTLD_OPENEXEC, LM_ID_BASE);
- 	  HP_TIMING_NOW (stop);
- 
---- glibc-2.12.1-7-gfc0ed7b/elf/tst-stackguard1.c
-+++ glibc-2.12.1-3/elf/tst-stackguard1.c
+--- glibc-2.12.2/elf/tst-stackguard1.c
++++ /elf/tst-stackguard1.c
 @@ -160,17 +160,21 @@ do_test (void)
       the 16 runs, something is very wrong.  */
    int ndifferences = 0;
@@ -700,26 +438,16 @@
      {
        puts ("stack guard canaries are not randomized enough");
        puts ("nor equal to the default canary value");
---- glibc-2.12.1-7-gfc0ed7b/include/bits/stdlib-ldbl.h
-+++ glibc-2.12.1-3/include/bits/stdlib-ldbl.h
+--- glibc-2.12.2/include/bits/stdlib-ldbl.h
++++ /include/bits/stdlib-ldbl.h
 @@ -0,0 +1 @@
 +#include <stdlib/bits/stdlib-ldbl.h>
---- glibc-2.12.1-7-gfc0ed7b/include/bits/wchar-ldbl.h
-+++ glibc-2.12.1-3/include/bits/wchar-ldbl.h
+--- glibc-2.12.2/include/bits/wchar-ldbl.h
++++ /include/bits/wchar-ldbl.h
 @@ -0,0 +1 @@
 +#include <wcsmbs/bits/wchar-ldbl.h>
---- glibc-2.12.1-7-gfc0ed7b/include/dlfcn.h
-+++ glibc-2.12.1-3/include/dlfcn.h
-@@ -9,6 +9,7 @@
- #define __RTLD_OPENEXEC	0x20000000
- #define __RTLD_CALLMAP	0x10000000
- #define __RTLD_AUDIT	0x08000000
-+#define __RTLD_SECURE	0x04000000 /* Apply additional security checks.  */
- 
- #define __LM_ID_CALLER	-2
- 
---- glibc-2.12.1-7-gfc0ed7b/include/features.h
-+++ glibc-2.12.1-3/include/features.h
+--- glibc-2.12.2/include/features.h
++++ /include/features.h
 @@ -308,8 +308,13 @@
  #endif
  
@@ -736,8 +464,8 @@
  #  define __USE_FORTIFY_LEVEL 2
  # else
  #  define __USE_FORTIFY_LEVEL 1
---- glibc-2.12.1-7-gfc0ed7b/intl/locale.alias
-+++ glibc-2.12.1-3/intl/locale.alias
+--- glibc-2.12.2/intl/locale.alias
++++ /intl/locale.alias
 @@ -57,8 +57,6 @@ korean		ko_KR.eucKR
  korean.euc 	ko_KR.eucKR
  ko_KR		ko_KR.eucKR
@@ -747,8 +475,8 @@
  norwegian       nb_NO.ISO-8859-1
  nynorsk		nn_NO.ISO-8859-1
  polish          pl_PL.ISO-8859-2
---- glibc-2.12.1-7-gfc0ed7b/libio/stdio.h
-+++ glibc-2.12.1-3/libio/stdio.h
+--- glibc-2.12.2/libio/stdio.h
++++ /libio/stdio.h
 @@ -165,10 +165,12 @@ typedef _G_fpos64_t fpos64_t;
  extern struct _IO_FILE *stdin;		/* Standard input stream.  */
  extern struct _IO_FILE *stdout;		/* Standard output stream.  */
@@ -762,8 +490,8 @@
  
  __BEGIN_NAMESPACE_STD
  /* Remove file FILENAME.  */
---- glibc-2.12.1-7-gfc0ed7b/locale/iso-4217.def
-+++ glibc-2.12.1-3/locale/iso-4217.def
+--- glibc-2.12.2/locale/iso-4217.def
++++ /locale/iso-4217.def
 @@ -8,6 +8,7 @@
   *
   * !!! The list has to be sorted !!!
@@ -855,8 +583,8 @@
  DEFINE_INT_CURR("PYG")		/* Paraguay Guarani  */
  DEFINE_INT_CURR("QAR")		/* Qatar Rial  */
  DEFINE_INT_CURR("ROL")		/* Romanian Leu  */
---- glibc-2.12.1-7-gfc0ed7b/locale/programs/locarchive.c
-+++ glibc-2.12.1-3/locale/programs/locarchive.c
+--- glibc-2.12.2/locale/programs/locarchive.c
++++ /locale/programs/locarchive.c
 @@ -134,7 +134,7 @@ create_archive (const char *archivefname, struct locarhandle *ah)
    size_t reserved = RESERVE_MMAP_SIZE;
    int xflags = 0;
@@ -915,8 +643,8 @@
  add_alias (struct locarhandle *ah, const char *alias, bool replace,
  	   const char *oldname, uint32_t *locrec_offset_p)
  {
---- glibc-2.12.1-7-gfc0ed7b/localedata/Makefile
-+++ glibc-2.12.1-3/localedata/Makefile
+--- glibc-2.12.2/localedata/Makefile
++++ /localedata/Makefile
 @@ -227,6 +227,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-locales-dir
  	echo -n '...'; \
  	input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
@@ -925,8 +653,8 @@
  		     -i locales/$$input -c -f charmaps/$$charset \
  		     $(addprefix --prefix=,$(install_root)) $$locale; \
  	echo ' done'; \
---- glibc-2.12.1-7-gfc0ed7b/localedata/SUPPORTED
-+++ glibc-2.12.1-3/localedata/SUPPORTED
+--- glibc-2.12.2/localedata/SUPPORTED
++++ /localedata/SUPPORTED
 @@ -85,6 +85,7 @@ cy_GB.UTF-8/UTF-8 \
  cy_GB/ISO-8859-14 \
  da_DK.UTF-8/UTF-8 \
@@ -968,8 +696,8 @@
  ta_IN/UTF-8 \
  te_IN/UTF-8 \
  tg_TJ.UTF-8/UTF-8 \
---- glibc-2.12.1-7-gfc0ed7b/localedata/locales/cy_GB
-+++ glibc-2.12.1-3/localedata/locales/cy_GB
+--- glibc-2.12.2/localedata/locales/cy_GB
++++ /localedata/locales/cy_GB
 @@ -248,8 +248,11 @@ mon         "<U0049><U006F><U006E><U0061><U0077><U0072>";/
  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>"
@@ -984,8 +712,8 @@
  END LC_TIME
  
  LC_MESSAGES
---- glibc-2.12.1-7-gfc0ed7b/localedata/locales/en_GB
-+++ glibc-2.12.1-3/localedata/locales/en_GB
+--- glibc-2.12.2/localedata/locales/en_GB
++++ /localedata/locales/en_GB
 @@ -116,8 +116,8 @@ mon         "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/
  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>"
@@ -997,8 +725,8 @@
  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>"
---- glibc-2.12.1-7-gfc0ed7b/localedata/locales/no_NO
-+++ glibc-2.12.1-3/localedata/locales/no_NO
+--- glibc-2.12.2/localedata/locales/no_NO
++++ /localedata/locales/no_NO
 @@ -0,0 +1,69 @@
 +escape_char	/
 +comment_char    %
@@ -1069,8 +797,8 @@
 +LC_ADDRESS
 +copy "nb_NO"
 +END LC_ADDRESS
---- glibc-2.12.1-7-gfc0ed7b/localedata/locales/zh_TW
-+++ glibc-2.12.1-3/localedata/locales/zh_TW
+--- glibc-2.12.2/localedata/locales/zh_TW
++++ /localedata/locales/zh_TW
 @@ -1,7 +1,7 @@
  comment_char %
  escape_char /
@@ -1098,14 +826,15 @@
  revision   "0.2"
  date       "2000-08-02"
  %
---- glibc-2.12.1-7-gfc0ed7b/malloc/mcheck.c
-+++ glibc-2.12.1-3/malloc/mcheck.c
-@@ -24,9 +24,25 @@
+--- glibc-2.12.2/malloc/mcheck.c
++++ /malloc/mcheck.c
+@@ -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
@@ -1126,7 +855,7 @@
  /* 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);
-@@ -197,7 +213,7 @@ freehook (__ptr_t ptr, const __ptr_t caller)
+@@ -199,7 +215,7 @@ freehook (__ptr_t ptr, const __ptr_t caller)
    if (old_free_hook != NULL)
      (*old_free_hook) (ptr, caller);
    else
@@ -1135,7 +864,7 @@
    __free_hook = freehook;
  }
  
-@@ -214,7 +230,7 @@ mallochook (__malloc_size_t size, const __ptr_t caller)
+@@ -222,7 +238,7 @@ mallochook (__malloc_size_t size, const __ptr_t caller)
      hdr = (struct hdr *) (*old_malloc_hook) (sizeof (struct hdr) + size + 1,
  					     caller);
    else
@@ -1144,7 +873,7 @@
    __malloc_hook = mallochook;
    if (hdr == NULL)
      return NULL;
-@@ -245,7 +261,7 @@ memalignhook (__malloc_size_t alignment, __malloc_size_t size,
+@@ -259,7 +275,7 @@ memalignhook (__malloc_size_t alignment, __malloc_size_t size,
    if (old_memalign_hook != NULL)
      block = (*old_memalign_hook) (alignment, slop + size + 1, caller);
    else
@@ -1153,7 +882,7 @@
    __memalign_hook = memalignhook;
    if (block == NULL)
      return NULL;
-@@ -300,8 +316,8 @@ reallochook (__ptr_t ptr, __malloc_size_t size, const __ptr_t caller)
+@@ -320,8 +336,8 @@ reallochook (__ptr_t ptr, __malloc_size_t size, const __ptr_t caller)
  					      sizeof (struct hdr) + size + 1,
  					      caller);
    else
@@ -1164,7 +893,7 @@
    __free_hook = freehook;
    __malloc_hook = mallochook;
    __memalign_hook = memalignhook;
-@@ -361,8 +377,8 @@ mcheck (func)
+@@ -381,8 +397,8 @@ mcheck (func)
    if (__malloc_initialized <= 0 && !mcheck_used)
      {
        /* We call malloc() once here to ensure it is initialized.  */
@@ -1175,8 +904,8 @@
  
        old_free_hook = __free_hook;
        __free_hook = freehook;
---- glibc-2.12.1-7-gfc0ed7b/manual/libc.texinfo
-+++ glibc-2.12.1-3/manual/libc.texinfo
+--- glibc-2.12.2/manual/libc.texinfo
++++ /manual/libc.texinfo
 @@ -5,7 +5,7 @@
  @c setchapternewpage odd
  
@@ -1186,8 +915,8 @@
  @direntry
  * Libc: (libc).                 C library.
  @end direntry
---- glibc-2.12.1-7-gfc0ed7b/misc/sys/cdefs.h
-+++ glibc-2.12.1-3/misc/sys/cdefs.h
+--- glibc-2.12.2/misc/sys/cdefs.h
++++ /misc/sys/cdefs.h
 @@ -132,7 +132,10 @@
  #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
  #define __bos0(ptr) __builtin_object_size (ptr, 0)
@@ -1231,8 +960,8 @@
  # define __va_arg_pack() __builtin_va_arg_pack ()
  # define __va_arg_pack_len() __builtin_va_arg_pack_len ()
  #endif
---- glibc-2.12.1-7-gfc0ed7b/nis/nss
-+++ glibc-2.12.1-3/nis/nss
+--- glibc-2.12.2/nis/nss
++++ /nis/nss
 @@ -25,7 +25,7 @@
  #  memory with every getXXent() call.  Otherwise each getXXent() call
  #  might result into a network communication with the server to get
@@ -1242,21 +971,9 @@
  #
  # ADJUNCT_AS_SHADOW
  #  If set to TRUE, the passwd routines in the NIS NSS module will not
---- glibc-2.12.1-7-gfc0ed7b/nptl/ChangeLog
-+++ glibc-2.12.1-3/nptl/ChangeLog
-@@ -3,6 +3,11 @@
- 	* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Fix incorrect
- 	location of ifndef __ASSUME_FUTEX_CLOCK_REALTIME.
- 
-+2010-05-27  Andreas Schwab  <schwab at redhat.com>
-+
-+	* Makefile ($(objpfx)tst-_res1): Depend on
-+	$(objpfx)tst-_res1mod1.so.
-+
- 2010-04-09  Ulrich Drepper  <drepper at redhat.com>
- 
- 	[BZ #11390]
-@@ -3889,6 +3894,15 @@
+--- glibc-2.12.2/nptl/ChangeLog
++++ /nptl/ChangeLog
+@@ -3938,6 +3938,15 @@
  	Use __sigfillset.  Document that sigfillset does the right thing wrt
  	to SIGSETXID.
  
@@ -1272,7 +989,7 @@
  2005-07-11  Jakub Jelinek  <jakub at redhat.com>
  
  	[BZ #1102]
-@@ -4625,6 +4639,11 @@
+@@ -4674,6 +4683,11 @@
  	Move definition inside libpthread, libc, librt check.  Provide
  	definition for rtld.
  
@@ -1284,7 +1001,7 @@
  2004-09-02  Ulrich Drepper  <drepper at redhat.com>
  
  	* sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp.
-@@ -6699,6 +6718,11 @@
+@@ -6748,6 +6762,11 @@
  
  	* Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules).
  
@@ -1296,9 +1013,9 @@
  2003-07-25  Jakub Jelinek  <jakub at redhat.com>
  
  	* tst-cancel17.c (do_test): Check if aio_cancel failed.
---- glibc-2.12.1-7-gfc0ed7b/nptl/Makefile
-+++ glibc-2.12.1-3/nptl/Makefile
-@@ -341,7 +341,8 @@ endif
+--- glibc-2.12.2/nptl/Makefile
++++ /nptl/Makefile
+@@ -342,7 +342,8 @@ endif
  extra-objs += $(crti-objs) $(crtn-objs)
  omit-deps += crti crtn
  
@@ -1308,16 +1025,7 @@
  endif
  
  CFLAGS-flockfile.c = -D_IO_MTSAFE_IO
-@@ -491,7 +492,7 @@ $(objpfx)tst-rwlock14: $(common-objpfx)rt/librt.so
- $(objpfx)tst-_res1mod2.so: $(objpfx)tst-_res1mod1.so
- LDFLAGS-tst-_res1mod1.so = -Wl,-soname,tst-_res1mod1.so
- LDFLAGS-tst-_res1mod2.so = -Wl,-soname,tst-_res1mod2.so
--$(objpfx)tst-_res1: $(objpfx)tst-_res1mod2.so $(shared-thread-library)
-+$(objpfx)tst-_res1: $(objpfx)tst-_res1mod2.so $(objpfx)tst-_res1mod1.so $(shared-thread-library)
- else
- $(objpfx)tst-cond11: $(common-objpfx)rt/librt.a
- $(objpfx)tst-cond19: $(common-objpfx)rt/librt.a
-@@ -527,15 +528,19 @@ $(addprefix $(objpfx), \
+@@ -529,15 +530,19 @@ $(addprefix $(objpfx), \
      $(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \
  				       $(objpfx)libpthread_nonshared.a
  $(objpfx)tst-unload: $(common-objpfx)dlfcn/libdl.so
@@ -1339,8 +1047,8 @@
  else
  $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a
  endif
---- glibc-2.12.1-7-gfc0ed7b/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
-+++ glibc-2.12.1-3/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
+--- glibc-2.12.2/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
++++ /nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
 @@ -189,4 +189,7 @@
  /* Typed memory objects are not available.  */
  #define _POSIX_TYPED_MEMORY_OBJECTS	-1
@@ -1349,8 +1057,8 @@
 +#define _XOPEN_STREAMS	-1
 +
  #endif /* bits/posix_opt.h */
---- glibc-2.12.1-7-gfc0ed7b/nptl/sysdeps/unix/sysv/linux/kernel-features.h
-+++ glibc-2.12.1-3/nptl/sysdeps/unix/sysv/linux/kernel-features.h
+--- glibc-2.12.2/nptl/sysdeps/unix/sysv/linux/kernel-features.h
++++ /nptl/sysdeps/unix/sysv/linux/kernel-features.h
 @@ -0,0 +1,6 @@
 +#include_next <kernel-features.h>
 +
@@ -1358,8 +1066,8 @@
 +#ifndef __ASSUME_CLONE_THREAD_FLAGS
 +# define __ASSUME_CLONE_THREAD_FLAGS	1
 +#endif
---- glibc-2.12.1-7-gfc0ed7b/nptl/tst-stackguard1.c
-+++ glibc-2.12.1-3/nptl/tst-stackguard1.c
+--- glibc-2.12.2/nptl/tst-stackguard1.c
++++ /nptl/tst-stackguard1.c
 @@ -190,17 +190,21 @@ do_test (void)
       the 16 runs, something is very wrong.  */
    int ndifferences = 0;
@@ -1384,8 +1092,8 @@
      {
        puts ("stack guard canaries are not randomized enough");
        puts ("nor equal to the default canary value");
---- glibc-2.12.1-7-gfc0ed7b/nscd/nscd.conf
-+++ glibc-2.12.1-3/nscd/nscd.conf
+--- glibc-2.12.2/nscd/nscd.conf
++++ /nscd/nscd.conf
 @@ -33,7 +33,7 @@
  #	logfile			/var/log/nscd.log
  #	threads			4
@@ -1395,8 +1103,8 @@
  #	stat-user		somebody
  	debug-level		0
  #	reload-count		5
---- glibc-2.12.1-7-gfc0ed7b/nscd/nscd.init
-+++ glibc-2.12.1-3/nscd/nscd.init
+--- glibc-2.12.2/nscd/nscd.init
++++ /nscd/nscd.init
 @@ -9,6 +9,7 @@
  #		slow naming services like NIS, NIS+, LDAP, or hesiod.
  # processname: /usr/sbin/nscd
@@ -1473,9 +1181,9 @@
  	;;
      *)
  	echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
---- glibc-2.12.1-7-gfc0ed7b/posix/Makefile
-+++ glibc-2.12.1-3/posix/Makefile
-@@ -305,15 +305,8 @@ $(inst_libexecdir)/getconf: $(inst_bindir)/getconf \
+--- glibc-2.12.2/posix/Makefile
++++ /posix/Makefile
+@@ -317,15 +317,8 @@ $(inst_libexecdir)/getconf: $(inst_bindir)/getconf \
  	  mv -f $@/$$spec.new $@/$$spec; \
  	done < $(objpfx)getconf.speclist
  
@@ -1495,8 +1203,8 @@
 +	  | sed -n -e '/START_OF_STRINGS/,$${/\(POSIX_V[67]\|_XBS5\)_/{s/^[^"]*"//;s/".*$$//;p}}' \
 +	  > $@.new
  	mv -f $@.new $@
---- glibc-2.12.1-7-gfc0ed7b/posix/gai.conf
-+++ glibc-2.12.1-3/posix/gai.conf
+--- glibc-2.12.2/posix/gai.conf
++++ /posix/gai.conf
 @@ -41,7 +41,7 @@
  #
  # precedence  <mask>   <value>
@@ -1521,8 +1229,8 @@
  #scopev4 ::ffff:0.0.0.0/96       14
 +#
 +#    This is what the Red Hat setting currently uses.
---- glibc-2.12.1-7-gfc0ed7b/posix/getconf.speclist.h
-+++ glibc-2.12.1-3/posix/getconf.speclist.h
+--- glibc-2.12.2/posix/getconf.speclist.h
++++ /posix/getconf.speclist.h
 @@ -0,0 +1,39 @@
 +#include <unistd.h>
 +const char *START_OF_STRINGS =
@@ -1563,8 +1271,8 @@
 +"XBS5_LPBIG_OFFBIG"
 +#endif
 +"";
---- glibc-2.12.1-7-gfc0ed7b/streams/Makefile
-+++ glibc-2.12.1-3/streams/Makefile
+--- glibc-2.12.2/streams/Makefile
++++ /streams/Makefile
 @@ -21,7 +21,7 @@
  #
  subdir	:= streams
@@ -1574,8 +1282,8 @@
  routines	= isastream getmsg getpmsg putmsg putpmsg fattach fdetach
  
  include ../Rules
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/generic/dl-cache.h
-+++ glibc-2.12.1-3/sysdeps/generic/dl-cache.h
+--- glibc-2.12.2/sysdeps/generic/dl-cache.h
++++ /sysdeps/generic/dl-cache.h
 @@ -36,6 +36,14 @@
  # define add_system_dir(dir) add_dir (dir)
  #endif
@@ -1591,24 +1299,8 @@
  #define CACHEMAGIC "ld.so-1.7.0"
  
  /* libc5 and glibc 2.0/2.1 use the same format.  For glibc 2.2 another
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/generic/ldsodefs.h
-+++ glibc-2.12.1-3/sysdeps/generic/ldsodefs.h
-@@ -824,11 +824,9 @@ extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *),
- 
- /* Open the shared object NAME and map in its segments.
-    LOADER's DT_RPATH is used in searching for NAME.
--   If the object is already opened, returns its existing map.
--   For preloaded shared objects PRELOADED is set to a non-zero
--   value to allow additional security checks.  */
-+   If the object is already opened, returns its existing map.  */
- extern struct link_map *_dl_map_object (struct link_map *loader,
--					const char *name, int preloaded,
-+					const char *name,
- 					int type, int trace_mode, int mode,
- 					Lmid_t nsid)
-      internal_function attribute_hidden;
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/i386/Makefile
-+++ glibc-2.12.1-3/sysdeps/i386/Makefile
+--- glibc-2.12.2/sysdeps/i386/Makefile
++++ /sysdeps/i386/Makefile
 @@ -2,6 +2,8 @@
  # Every i386 port in use uses gas syntax (I think).
  asm-CPPFLAGS += -DGAS_SYNTAX
@@ -1633,8 +1325,8 @@
  endif
  
  ifeq ($(subdir),elf)
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/i386/i686/Makefile
-+++ glibc-2.12.1-3/sysdeps/i386/i686/Makefile
+--- glibc-2.12.2/sysdeps/i386/i686/Makefile
++++ /sysdeps/i386/i686/Makefile
 @@ -9,19 +9,3 @@ stack-align-test-flags += -msse
  ifeq ($(subdir),string)
  sysdep_routines += cacheinfo
@@ -1655,8 +1347,8 @@
 -ASFLAGS-.ob += -Wa,-mtune=i686
 -ASFLAGS-.oS += -Wa,-mtune=i686
 -endif
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/ia64/Makefile
-+++ glibc-2.12.1-3/sysdeps/ia64/Makefile
+--- glibc-2.12.2/sysdeps/ia64/Makefile
++++ /sysdeps/ia64/Makefile
 @@ -12,8 +12,8 @@ elide-routines.os += hp-timing
  
  ifeq (yes,$(build-shared))
@@ -1668,8 +1360,8 @@
  endif
  endif
  
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/ia64/ia64libgcc.S
-+++ glibc-2.12.1-3/sysdeps/ia64/ia64libgcc.S
+--- glibc-2.12.2/sysdeps/ia64/ia64libgcc.S
++++ /sysdeps/ia64/ia64libgcc.S
 @@ -1,350 +0,0 @@
 -/* From the Intel IA-64 Optimization Guide, choose the minimum latency
 -   alternative.  */
@@ -2021,8 +1713,8 @@
 -	.symver	___multi3, __multi3 at GLIBC_2.2
 -
 -#endif
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/ia64/libgcc-compat.c
-+++ glibc-2.12.1-3/sysdeps/ia64/libgcc-compat.c
+--- glibc-2.12.2/sysdeps/ia64/libgcc-compat.c
++++ /sysdeps/ia64/libgcc-compat.c
 @@ -0,0 +1,84 @@
 +/* pre-.hidden libgcc compatibility
 +   Copyright (C) 2002 Free Software Foundation, Inc.
@@ -2108,8 +1800,8 @@
 +symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2);
 +
 +#endif
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/posix/getaddrinfo.c
-+++ glibc-2.12.1-3/sysdeps/posix/getaddrinfo.c
+--- glibc-2.12.2/sysdeps/posix/getaddrinfo.c
++++ /sysdeps/posix/getaddrinfo.c
 @@ -1099,10 +1099,12 @@ static const struct scopeentry
      /* Link-local addresses: scope 2.  */
      { { { 169, 254, 0, 0 } }, htonl_c (0xffff0000), 2 },
@@ -2123,8 +1815,8 @@
      /* Default: scope 14.  */
      { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 }
    };
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/powerpc/powerpc64/Makefile
-+++ glibc-2.12.1-3/sysdeps/powerpc/powerpc64/Makefile
+--- glibc-2.12.2/sysdeps/powerpc/powerpc64/Makefile
++++ /sysdeps/powerpc/powerpc64/Makefile
 @@ -30,6 +30,7 @@ ifneq ($(elf),no)
  # we use -fpic instead which is much better.
  CFLAGS-initfini.s += -fpic -O1
@@ -2133,8 +1825,8 @@
  endif
  
  ifeq ($(subdir),elf)
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/nice.c
-+++ glibc-2.12.1-3/sysdeps/unix/nice.c
+--- glibc-2.12.2/sysdeps/unix/nice.c
++++ /sysdeps/unix/nice.c
 @@ -42,7 +42,12 @@ nice (int incr)
  	__set_errno (save);
      }
@@ -2149,8 +1841,8 @@
    if (result == -1)
      {
        if (errno == EACCES)
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/check_pf.c
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/check_pf.c
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/check_pf.c
++++ /sysdeps/unix/sysv/linux/check_pf.c
 @@ -27,13 +27,10 @@
  #include <unistd.h>
  #include <sys/socket.h>
@@ -2166,8 +1858,8 @@
  
  #ifndef IFA_F_HOMEADDRESS
  # define IFA_F_HOMEADDRESS 0
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/dl-osinfo.h
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/dl-osinfo.h
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/dl-osinfo.h
++++ /sysdeps/unix/sysv/linux/dl-osinfo.h
 @@ -17,10 +17,13 @@
     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
     02111-1307 USA.  */
@@ -2215,8 +1907,8 @@
      }
    else
  #endif
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/futimesat.c
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/futimesat.c
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/futimesat.c
++++ /sysdeps/unix/sysv/linux/futimesat.c
 @@ -37,14 +37,14 @@ futimesat (fd, file, tvp)
  {
    int result;
@@ -2259,8 +1951,8 @@
      {
        size_t filelen = strlen (file);
        if (__builtin_expect (filelen == 0, 0))
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/i386/dl-cache.h
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/i386/dl-cache.h
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/i386/dl-cache.h
++++ /sysdeps/unix/sysv/linux/i386/dl-cache.h
 @@ -0,0 +1,59 @@
 +/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
 +   Copyright (C) 2004 Free Software Foundation, Inc.
@@ -2321,8 +2013,8 @@
 +  } while (0)
 +
 +#include_next <dl-cache.h>
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/ia64/dl-cache.h
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/ia64/dl-cache.h
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/dl-cache.h
++++ /sysdeps/unix/sysv/linux/ia64/dl-cache.h
 @@ -22,4 +22,31 @@
  #define _dl_cache_check_flags(flags) \
    ((flags) == _DL_CACHE_DEFAULT_ID)
@@ -2355,29 +2047,29 @@
 +  } while (0)
 +
  #include_next <dl-cache.h>
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c
++++ /sysdeps/unix/sysv/linux/ia64/dl-procinfo.c
 @@ -0,0 +1,5 @@
 +#ifdef IS_IN_ldconfig
 +#include <sysdeps/i386/dl-procinfo.c>
 +#else
 +#include <sysdeps/generic/dl-procinfo.c>
 +#endif
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h
++++ /sysdeps/unix/sysv/linux/ia64/dl-procinfo.h
 @@ -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
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
++++ /sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
 @@ -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"_
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/netlinkaccess.h
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/netlinkaccess.h
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/netlinkaccess.h
++++ /sysdeps/unix/sysv/linux/netlinkaccess.h
 @@ -25,6 +25,24 @@
  
  #include <kernel-features.h>
@@ -2403,8 +2095,8 @@
  
  struct netlink_res
  {
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/paths.h
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/paths.h
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/paths.h
++++ /sysdeps/unix/sysv/linux/paths.h
 @@ -62,7 +62,7 @@
  #define	_PATH_TTY	"/dev/tty"
  #define	_PATH_UNIX	"/boot/vmlinux"
@@ -2414,13 +2106,13 @@
  #define _PATH_WTMP	"/var/log/wtmp"
  
  /* Provide trailing slash, since mostly used for building pathnames. */
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
++++ /sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
 @@ -1 +1 @@
 -#include "../../fxstat.c"
 +#include "../../i386/fxstat.c"
---- glibc-2.12.1-7-gfc0ed7b/sysdeps/unix/sysv/linux/tcsetattr.c
-+++ glibc-2.12.1-3/sysdeps/unix/sysv/linux/tcsetattr.c
+--- glibc-2.12.2/sysdeps/unix/sysv/linux/tcsetattr.c
++++ /sysdeps/unix/sysv/linux/tcsetattr.c
 @@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios_p)
  {
    struct __kernel_termios k_termios;
@@ -2466,8 +2158,8 @@
 +  return retval;
  }
  libc_hidden_def (tcsetattr)
---- glibc-2.12.1-7-gfc0ed7b/timezone/zic.c
-+++ glibc-2.12.1-3/timezone/zic.c
+--- glibc-2.12.2/timezone/zic.c
++++ /timezone/zic.c
 @@ -1921,7 +1921,7 @@ const int			zonecount;
  		if (stdrp != NULL && stdrp->r_hiyear == 2037)
  			return;
diff --git a/glibc.spec b/glibc.spec
index 01338de..16d3318 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -1,5 +1,6 @@
-%define glibcsrcdir glibc-2.12.1-7-gfc0ed7b
-%define glibcversion 2.12.1
+%define glibcsrcdir glibc-2.12.2
+%define glibc_release_url http://ftp.gnu.org/pub/gnu/glibc/
+%define glibcversion 2.12.2
 ### glibc.spec.in follows:
 %define run_glibc_tests 1
 %define auxarches athlon sparcv9v sparc64v alphaev6
@@ -23,7 +24,7 @@
 Summary: The GNU libc libraries
 Name: glibc
 Version: %{glibcversion}
-Release: 4
+Release: 1
 # 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
@@ -1031,6 +1032,46 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Mon Dec 13 2010 Andreas Schwab <schwab at redhat.com> - 2.12.2-1
+- Update to 2.12.2 release
+  - Declare wcpcpy and wcpncpy only under _GNU_SOURCE
+  - Fix use of restrict in wchar.h and string.h
+  - Fix race in qsort_r initialization (BZ#11655)
+  - Fix IPTOS_CLASS definition (BZ#11903)
+  - Don't ignore zero TTL in DNS answers
+  - Fix x86 pthread_cond_signal() FUTEX_WAKE_OP fallback
+  - Work around kernel rejecting valid absolute timestamps
+  - Allow aux_cache_file open()ing to fail silently even in the chroot
+    mode (BZ#11149)
+  - Fix multiple nss_compat initgroups() bugs (BZ#10085)
+  - Properly convert f_fsid in statvfs (BZ#11611)
+  - Define MAP_HUGETLB and SWAP_FLAG_DISCARD
+  - Avoid too much stack use in fnmatch (BZ#11883)
+  - Fix comparison in sqrtl for IBM long double 128
+  - Fix warnings in __bswap_16 (BZ#12194)
+  - Properly quote output of locale (BZ#11904)
+  - Fix perturbing in malloc on free (BZ#12140)
+  - Don't expand DST twice in dl_open
+  - Fix memory leak for some invalid regular expressions (BZ#12078)
+  - Linux getifaddrs might return entries with ->ifa_addr being NULL
+    (BZ#12093)
+  - Handle large malloc requests (BZ#12005)
+  - getdents64 fallback d_type support
+  - Fix register conflict in s390 ____longjmp_chk
+  - Fix _FORITY_SOURCE version of longjmp for Linux/x86-64 (BZ#11968)
+  - Fix array overflow in floating point parser (BZ#7066)
+  - Missing server address again leads to localhost being used (BZ#10851)
+  - Document M_PERTURB
+  - Fix vDSO synthetic hwcap handling so they are not masked out from
+    ld.so.cache matching
+  - 32bit memset-sse2.S fails with uneven cache size (BZ#12191)
+  - Verify in ttyname() that the symlink is valid (BZ#12167)
+  - Fix concurrency problem between dl_open and dl_iterate_phdr
+  - Fix x86-64 strchr propagation of search byte into all bytes of SSE
+    register (BZ#12159)
+  - Fix alignment of AVX safe area on x86-64 (BZ#12113, #643889)
+- Don't ignore $ORIGIN in libraries
+
 * Fri Oct 22 2010 Andreas Schwab <schwab at redhat.com> - 2.12.1-4
 - Require suid bit on audit objects in privileged programs (CVE-2010-3856)
 
diff --git a/sources b/sources
index edacebe..e7e1a65 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-6adc738b68de953ee40106c35d47eb4a  glibc-2.12.1-7-gfc0ed7b-fedora.tar.bz2
-7bf150a7e0f5e4a70acfea24a88f7103  glibc-2.12.1-7-gfc0ed7b.tar.bz2
+6f43af0a0c5680bf7876e548f847bf22  glibc-2.12.2-fedora.tar.bz2
+903fcfa547df2f453476800e0838fe52  glibc-2.12.2.tar.bz2


More information about the scm-commits mailing list