[packages/glibc] - up to 2.20

arekm arekm at pld-linux.org
Sun Sep 7 23:05:14 CEST 2014


commit c0c7ef32382013f3aa5fc413df208da73741fe89
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Sun Sep 7 23:04:40 2014 +0200

    - up to 2.20

 glibc-arm-alignment-fix.patch |   6 +-
 glibc-git.patch               | 199 ------------------------------------------
 glibc-morelocales.patch       |   4 +-
 glibc-sotruss-sh.patch        |   6 +-
 glibc.spec                    |  22 ++---
 5 files changed, 15 insertions(+), 222 deletions(-)
---
diff --git a/glibc.spec b/glibc.spec
index 4ed46d4..a95d2a5 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -15,14 +15,14 @@
 %bcond_without	localedb	# don't build localedb-all (is time consuming)
 %bcond_with	cross		# build using crossgcc (without libgcc_eh)
 #
-%{!?min_kernel:%global		min_kernel	2.6.16}
+%{!?min_kernel:%global		min_kernel	2.6.32}
 
 %ifarch sparc64
 %undefine	with_memusage
 %endif
 
-%define		core_version	2.19
-%define		llh_version	7:2.6.20.4-1
+%define		core_version	2.20
+%define		llh_version	7:2.6.32.1-1
 
 Summary:	GNU libc
 Summary(de.UTF-8):	GNU libc
@@ -35,12 +35,12 @@ Summary(tr.UTF-8):	GNU libc
 Summary(uk.UTF-8):	GNU libc версії
 Name:		glibc
 Version:	%{core_version}
-Release:	6
+Release:	1
 Epoch:		6
 License:	LGPL v2.1+
 Group:		Libraries
 Source0:	http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5:	e26b8cc666b162f999404b03970f14e4
+# Source0-md5:	948a6e06419a01bd51e97206861595b0
 Source2:	nscd.init
 Source3:	nscd.sysconfig
 Source4:	nscd.logrotate
@@ -51,7 +51,6 @@ Source6:	%{name}-localedb-gen
 Source7:	%{name}-LD-path.c
 Source8:	nscd.upstart
 Source9:	nscd.tmpfiles
-Patch100:	%{name}-git.patch
 # against GNU TP (libc domain)
 #Patch1:		%{name}-pl.po-update.patch
 Patch2:		%{name}-pld.patch
@@ -940,9 +939,6 @@ Narzędzie do profilowania zużycia pamięci.
 echo "Minimal supported kernel is 2.6.16" >&2
 exit 1
 %endif
-
-%patch100 -p1
-
 %patch2 -p1
 %patch3 -p0
 %patch4 -p1
@@ -982,10 +978,6 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
 
 chmod +x scripts/cpp
 
-# i786 (aka pentium4) hack
-ln -s i686 nptl/sysdeps/i386/i786
-ln -s i686 nptl/sysdeps/unix/sysv/linux/i386/i786
-
 %build
 # glibc has its own way to remove PLT relocations. / H. J. Lu.
 unset LD_SYMBOLIC_FUNCTIONS || :
@@ -1001,7 +993,7 @@ cd builddir
 CC="%{__cc} -m64 -mcpu=ultrasparc -mvis -fcall-used-g6"
 %endif
 
-AddOns=nptl,libidn
+AddOns=libidn
 %ifarch %{ports_arch}
 AddOns=$AddOns,ports
 %endif
@@ -1149,7 +1141,7 @@ install %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/nscd.conf
 rm -rf documentation
 install -d documentation
 
-for f in ANNOUNCE ChangeLog DESIGN-{barrier,condvar,rwlock,sem}.txt TODO{,-kernel,-testing}; do
+for f in ChangeLog.old DESIGN-{barrier,condvar,rwlock,sem}.txt TODO{,-kernel,-testing}; do
 	cp -af nptl/$f documentation/$f.nptl
 done
 cp -af crypt/README.ufc-crypt ChangeLog* documentation
diff --git a/glibc-arm-alignment-fix.patch b/glibc-arm-alignment-fix.patch
index beb49c3..53a38ed 100644
--- a/glibc-arm-alignment-fix.patch
+++ b/glibc-arm-alignment-fix.patch
@@ -1,6 +1,6 @@
-diff -dur glibc-2.11.backup/ports/sysdeps/arm/dl-machine.h glibc-2.11/ports/sysdeps/arm/dl-machine.h
---- glibc-2.11.backup/ports/sysdeps/arm/dl-machine.h	2009-11-10 08:12:18.000000000 +0100
-+++ glibc-2.11/ports/sysdeps/arm/dl-machine.h	2009-11-11 10:07:48.030872826 +0100
+diff -dur glibc-2.11.backup/sysdeps/arm/dl-machine.h glibc-2.11/sysdeps/arm/dl-machine.h
+--- glibc-2.11.backup/sysdeps/arm/dl-machine.h	2009-11-10 08:12:18.000000000 +0100
++++ glibc-2.11/sysdeps/arm/dl-machine.h	2009-11-11 10:07:48.030872826 +0100
 @@ -585,13 +585,22 @@
  }
  # endif
diff --git a/glibc-git.patch b/glibc-git.patch
deleted file mode 100644
index bf4c813..0000000
--- a/glibc-git.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-commit a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8
-Author: Florian Weimer <fweimer at redhat.com>
-Date:   Tue Aug 26 19:38:59 2014 +0200
-
-    __gconv_translit_find: Disable function [BZ #17187]
-    
-    This functionality has never worked correctly, and the implementation
-    contained a security vulnerability (CVE-2014-5119).
-
-diff --git a/iconv/gconv_trans.c b/iconv/gconv_trans.c
-index 1e25854..e0835fc 100644
---- a/iconv/gconv_trans.c
-+++ b/iconv/gconv_trans.c
-@@ -238,181 +238,12 @@ __gconv_transliterate (struct __gconv_step *step,
-   return __GCONV_ILLEGAL_INPUT;
- }
- 
--
--/* Structure to represent results of found (or not) transliteration
--   modules.  */
--struct known_trans
--{
--  /* This structure must remain the first member.  */
--  struct trans_struct info;
--
--  char *fname;
--  void *handle;
--  int open_count;
--};
--
--
--/* Tree with results of previous calls to __gconv_translit_find.  */
--static void *search_tree;
--
--/* We modify global data.   */
--__libc_lock_define_initialized (static, lock);
--
--
--/* Compare two transliteration entries.  */
--static int
--trans_compare (const void *p1, const void *p2)
--{
--  const struct known_trans *s1 = (const struct known_trans *) p1;
--  const struct known_trans *s2 = (const struct known_trans *) p2;
--
--  return strcmp (s1->info.name, s2->info.name);
--}
--
--
--/* Open (maybe reopen) the module named in the struct.  Get the function
--   and data structure pointers we need.  */
--static int
--open_translit (struct known_trans *trans)
--{
--  __gconv_trans_query_fct queryfct;
--
--  trans->handle = __libc_dlopen (trans->fname);
--  if (trans->handle == NULL)
--    /* Not available.  */
--    return 1;
--
--  /* Find the required symbol.  */
--  queryfct = __libc_dlsym (trans->handle, "gconv_trans_context");
--  if (queryfct == NULL)
--    {
--      /* We cannot live with that.  */
--    close_and_out:
--      __libc_dlclose (trans->handle);
--      trans->handle = NULL;
--      return 1;
--    }
--
--  /* Get the context.  */
--  if (queryfct (trans->info.name, &trans->info.csnames, &trans->info.ncsnames)
--      != 0)
--    goto close_and_out;
--
--  /* Of course we also have to have the actual function.  */
--  trans->info.trans_fct = __libc_dlsym (trans->handle, "gconv_trans");
--  if (trans->info.trans_fct == NULL)
--    goto close_and_out;
--
--  /* Now the optional functions.  */
--  trans->info.trans_init_fct =
--    __libc_dlsym (trans->handle, "gconv_trans_init");
--  trans->info.trans_context_fct =
--    __libc_dlsym (trans->handle, "gconv_trans_context");
--  trans->info.trans_end_fct =
--    __libc_dlsym (trans->handle, "gconv_trans_end");
--
--  trans->open_count = 1;
--
--  return 0;
--}
--
--
- int
- internal_function
- __gconv_translit_find (struct trans_struct *trans)
- {
--  struct known_trans **found;
--  const struct path_elem *runp;
--  int res = 1;
--
--  /* We have to have a name.  */
--  assert (trans->name != NULL);
--
--  /* Acquire the lock.  */
--  __libc_lock_lock (lock);
--
--  /* See whether we know this module already.  */
--  found = __tfind (trans, &search_tree, trans_compare);
--  if (found != NULL)
--    {
--      /* Is this module available?  */
--      if ((*found)->handle != NULL)
--	{
--	  /* Maybe we have to reopen the file.  */
--	  if ((*found)->handle != (void *) -1)
--	    /* The object is not unloaded.  */
--	    res = 0;
--	  else if (open_translit (*found) == 0)
--	    {
--	      /* Copy the data.  */
--	      *trans = (*found)->info;
--	      (*found)->open_count++;
--	      res = 0;
--	    }
--	}
--    }
--  else
--    {
--      size_t name_len = strlen (trans->name) + 1;
--      int need_so = 0;
--      struct known_trans *newp;
--
--      /* We have to continue looking for the module.  */
--      if (__gconv_path_elem == NULL)
--	__gconv_get_path ();
--
--      /* See whether we have to append .so.  */
--      if (name_len <= 4 || memcmp (&trans->name[name_len - 4], ".so", 3) != 0)
--	need_so = 1;
--
--      /* Create a new entry.  */
--      newp = (struct known_trans *) malloc (sizeof (struct known_trans)
--					    + (__gconv_max_path_elem_len
--					       + name_len + 3)
--					    + name_len);
--      if (newp != NULL)
--	{
--	  char *cp;
--
--	  /* Clear the struct.  */
--	  memset (newp, '\0', sizeof (struct known_trans));
--
--	  /* Store a copy of the module name.  */
--	  newp->info.name = cp = (char *) (newp + 1);
--	  cp = __mempcpy (cp, trans->name, name_len);
--
--	  newp->fname = cp;
--
--	  /* Search in all the directories.  */
--	  for (runp = __gconv_path_elem; runp->name != NULL; ++runp)
--	    {
--	      cp = __mempcpy (__stpcpy ((char *) newp->fname, runp->name),
--			      trans->name, name_len);
--	      if (need_so)
--		memcpy (cp, ".so", sizeof (".so"));
--
--	      if (open_translit (newp) == 0)
--		{
--		  /* We found a module.  */
--		  res = 0;
--		  break;
--		}
--	    }
--
--	  if (res)
--	    newp->fname = NULL;
--
--	  /* In any case we'll add the entry to our search tree.  */
--	  if (__tsearch (newp, &search_tree, trans_compare) == NULL)
--	    {
--	      /* Yickes, this should not happen.  Unload the object.  */
--	      res = 1;
--	      /* XXX unload here.  */
--	    }
--	}
--    }
--
--  __libc_lock_unlock (lock);
--
--  return res;
-+  /* Transliteration module loading has been removed because it never
-+     worked as intended and suffered from a security vulnerability.
-+     Consequently, this function always fails.  */
-+  return 1;
- }
diff --git a/glibc-morelocales.patch b/glibc-morelocales.patch
index 924e58f..ea6384a 100644
--- a/glibc-morelocales.patch
+++ b/glibc-morelocales.patch
@@ -6513,13 +6513,13 @@ diff -Nur glibc/localedata/locales.orig/shn_MM glibc/localedata/locales/shn_MM
  tt_RU/UTF-8 \
  tt_RU at iqtelif/UTF-8 \
  ug_CN/UTF-8 \
-@@ -426,7 +494,9 @@
+@@ -426,8 +494,9 @@
  uk_UA/KOI8-U \
  unm_US/UTF-8 \
  ur_IN/UTF-8 \
 +ur_PK.CP1256/CP1256 \
  ur_PK/UTF-8 \
-+uz_UZ.UTF-8/UTF-8 \
+ uz_UZ.UTF-8/UTF-8 \
  uz_UZ/ISO-8859-1 \
  uz_UZ at cyrillic/UTF-8 \
  ve_ZA/UTF-8 \
diff --git a/glibc-sotruss-sh.patch b/glibc-sotruss-sh.patch
index 9d4ca45..c972c9c 100644
--- a/glibc-sotruss-sh.patch
+++ b/glibc-sotruss-sh.patch
@@ -1,9 +1,9 @@
 Despite ksh shebang, sotruss is apparently bash script (function keyword, $"" NLS)
 However mksh also accepts this syntax leaving strings untranslated.
---- glibc-2.14/elf/sotruss.ksh.orig	2011-05-31 06:12:33.000000000 +0200
-+++ glibc-2.14/elf/sotruss.ksh	2011-06-11 09:42:22.467864393 +0200
+--- glibc-2.14/elf/sotruss.sh.orig	2011-05-31 06:12:33.000000000 +0200
++++ glibc-2.14/elf/sotruss.sh	2011-06-11 09:42:22.467864393 +0200
 @@ -1,4 +1,4 @@
--#! @KSH@
+-#! @BASH@
 +#! /bin/mksh
  # Copyright (C) 2011-2014 Free Software Foundation, Inc.
  # This file is part of the GNU C Library.
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/glibc.git/commitdiff/c0c7ef32382013f3aa5fc413df208da73741fe89



More information about the pld-cvs-commit mailing list