diff options
| author | Kang Kai <kai.kang@windriver.com> | 2011-11-16 15:50:23 +0800 | 
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-11-24 22:09:19 +0000 | 
| commit | e364b04a34d7c2a95145799773821e82b8677e78 (patch) | |
| tree | 7f2361fd715d8724107a4d22df7b2dc220336490 | |
| parent | a60449f6110bc86dd0d976413c169bafc0ebcada (diff) | |
| download | openembedded-core-e364b04a34d7c2a95145799773821e82b8677e78.tar.gz openembedded-core-e364b04a34d7c2a95145799773821e82b8677e78.tar.bz2 openembedded-core-e364b04a34d7c2a95145799773821e82b8677e78.zip | |
eglibc_2.13: update SRCREV
Update eglibc 2.13 SRCREV to 15508, just to sync with upstream
Remove glibc_bug_fix_12454.patch, because it is already merged.
Signed-off-by: Kang Kai <kai.kang@windriver.com>
| -rw-r--r-- | meta/conf/distro/include/distro_tracking_fields.inc | 3 | ||||
| -rw-r--r-- | meta/recipes-core/eglibc/eglibc-2.13/glibc_bug_fix_12454.patch | 179 | ||||
| -rw-r--r-- | meta/recipes-core/eglibc/eglibc_2.13.bb | 5 | 
3 files changed, 5 insertions, 182 deletions
| diff --git a/meta/conf/distro/include/distro_tracking_fields.inc b/meta/conf/distro/include/distro_tracking_fields.inc index 17d9f2f00b..d84b1b32cb 100644 --- a/meta/conf/distro/include/distro_tracking_fields.inc +++ b/meta/conf/distro/include/distro_tracking_fields.inc @@ -5721,6 +5721,9 @@ RECIPE_LATEST_VERSION_pn-groff = "1.21"  RECIPE_NO_UPDATE_REASON_pn-groff = "1.18.1.4 is latest GPLv2 Version no 1.21"  RECIPE_STATUS_pn-eglibc = "red" +RECIPE_LATEST_VERSION_pn-eglibc = "2.13-r15508" +RECIPE_LAST_UPDATE_pn-eglibc = "Nov 16, 2011" +RECIPE_MANUAL_CHECK_DATE_pn = "Nov 16, 2011"  RECIPE_STATUS_pn-lighttpd = "red"  RECIPE_LAST_UPDATE_pn-lighttpd = "Jul 28, 2011" diff --git a/meta/recipes-core/eglibc/eglibc-2.13/glibc_bug_fix_12454.patch b/meta/recipes-core/eglibc/eglibc-2.13/glibc_bug_fix_12454.patch deleted file mode 100644 index 71ba851773..0000000000 --- a/meta/recipes-core/eglibc/eglibc-2.13/glibc_bug_fix_12454.patch +++ /dev/null @@ -1,179 +0,0 @@ -Upstream-Status: Inappropriate [backport] - -Imported by Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/12 - -From 6b1e7d1992cd89032df431c0e0d1418b97e57cd8 Mon Sep 17 00:00:00 2001 -From: Ulrich Drepper <drepper@gmail.com> -Date: Mon, 30 May 2011 12:31:25 -0400 -Subject: [PATCH] Handle DSOs without any dependency in ld.so - ---- - ChangeLog     |    6 ++++ - NEWS          |    4 +- - elf/dl-deps.c |   93 +++++++++++++++++++++++++++++--------------------------- - elf/dl-fini.c |   10 ++++-- - elf/rtld.c    |    1 - - 5 files changed, 62 insertions(+), 52 deletions(-) - -Index: libc/ChangeLog -=================================================================== ---- libc.orig/ChangeLog -+++ libc/ChangeLog -@@ -1,3 +1,13 @@ -+2011-05-30  Ulrich Drepper  <drepper@gmail.com> -+ -+	[BZ #12454] -+	* elf/dl-deps.c (_dl_map_object_deps): Run initializer sorting only -+	when there are multiple maps. -+	* elf/dl-fini.c (_dl_sort_fini): Check for list of one. -+	(_dl_fini): Remove test here. -+ -+ 	* elf/rtld.c (dl_main): Don't allow the loader to load itself. -+ - 2010-09-28  Andreas Schwab  <schwab@redhat.com> - 	    Ulrich Drepper  <drepper@gmail.com> -  -Index: libc/elf/dl-deps.c -=================================================================== ---- libc.orig/elf/dl-deps.c -+++ libc/elf/dl-deps.c -@@ -613,61 +613,64 @@ Filters not supported with LD_TRACE_PREL - 	map->l_searchlist.r_list[i]->l_reserved = 0; -     } -  --  /* Now determine the order in which the initialization has to happen.  */ -+  /* Sort the initializer list to take dependencies into account.  The binary -+     itself will always be initialize last.  */ -   memcpy (l_initfini, map->l_searchlist.r_list, - 	  nlist * sizeof (struct link_map *)); -- --  /* We can skip looking for the binary itself which is at the front --     of the search list.  */ --  assert (nlist > 1); --  i = 1; --  bool seen[nlist]; --  memset (seen, false, nlist * sizeof (seen[0])); --  while (1) -+  if (__builtin_expect (nlist > 1, 1)) -     { --      /* Keep track of which object we looked at this round.  */ --      seen[i] = true; --      struct link_map *thisp = l_initfini[i]; -- --      /* Find the last object in the list for which the current one is --	 a dependency and move the current object behind the object --	 with the dependency.  */ --      unsigned int k = nlist - 1; --      while (k > i) -+      /* We can skip looking for the binary itself which is at the front -+	 of the search list.  */ -+      i = 1; -+      bool seen[nlist]; -+      memset (seen, false, nlist * sizeof (seen[0])); -+      while (1) - 	{ --	  struct link_map **runp = l_initfini[k]->l_initfini; --	  if (runp != NULL) --	    /* Look through the dependencies of the object.  */ --	    while (*runp != NULL) --	      if (__builtin_expect (*runp++ == thisp, 0)) --		{ --		  /* Move the current object to the back past the last --		     object with it as the dependency.  */ --		  memmove (&l_initfini[i], &l_initfini[i + 1], --			   (k - i) * sizeof (l_initfini[0])); --		  l_initfini[k] = thisp; -- --		  if (seen[i + 1]) -+	  /* Keep track of which object we looked at this round.  */ -+	  seen[i] = true; -+	  struct link_map *thisp = l_initfini[i]; -+ -+	  /* Find the last object in the list for which the current one is -+	     a dependency and move the current object behind the object -+	     with the dependency.  */ -+	  unsigned int k = nlist - 1; -+	  while (k > i) -+	    { -+	      struct link_map **runp = l_initfini[k]->l_initfini; -+	      if (runp != NULL) -+		/* Look through the dependencies of the object.  */ -+		while (*runp != NULL) -+		  if (__builtin_expect (*runp++ == thisp, 0)) - 		    { --		      ++i; --		      goto next_clear; -+		      /* Move the current object to the back past the last -+			 object with it as the dependency.  */ -+		      memmove (&l_initfini[i], &l_initfini[i + 1], -+			       (k - i) * sizeof (l_initfini[0])); -+		      l_initfini[k] = thisp; -+ -+		      if (seen[i + 1]) -+			{ -+			  ++i; -+			  goto next_clear; -+			} -+ -+		      memmove (&seen[i], &seen[i + 1], -+			       (k - i) * sizeof (seen[0])); -+		      seen[k] = true; -+ -+		      goto next; - 		    } -  --		  memmove (&seen[i], &seen[i + 1], (k - i) * sizeof (seen[0])); --		  seen[k] = true; -+	      --k; -+	    } -  --		  goto next; --		} -+	  if (++i == nlist) -+	    break; -+	next_clear: -+	  memset (&seen[i], false, (nlist - i) * sizeof (seen[0])); -  --	  --k; -+	next:; - 	} -- --      if (++i == nlist) --	break; --    next_clear: --      memset (&seen[i], false, (nlist - i) * sizeof (seen[0])); -- --    next:; -     } -  -   /* Terminate the list of dependencies.  */ -Index: libc/elf/dl-fini.c -=================================================================== ---- libc.orig/elf/dl-fini.c -+++ libc/elf/dl-fini.c -@@ -33,9 +33,12 @@ internal_function - _dl_sort_fini (struct link_map *l, struct link_map **maps, size_t nmaps, - 	       char *used, Lmid_t ns) - { -+  /* A list of one element need not be sorted.  */ -+  if (nmaps == 1) -+    return; -+ -   /* We can skip looking for the binary itself which is at the front -      of the search list for the main namespace.  */ --  assert (nmaps > 1); -   unsigned int i = ns == LM_ID_BASE; -   bool seen[nmaps]; -   memset (seen, false, nmaps * sizeof (seen[0])); -@@ -195,9 +198,8 @@ _dl_fini (void) -       assert (ns == LM_ID_BASE || i == nloaded || i == nloaded - 1); -       nmaps = i; -  --      if (nmaps > 1) --	/* Now we have to do the sorting.  */ --	_dl_sort_fini (GL(dl_ns)[ns]._ns_loaded, maps, nmaps, NULL, ns); -+      /* Now we have to do the sorting.  */ -+      _dl_sort_fini (GL(dl_ns)[ns]._ns_loaded, maps, nmaps, NULL, ns); -  -       /* We do not rely on the linked list of loaded object anymore from - 	 this point on.  We have our own list here (maps).  The various diff --git a/meta/recipes-core/eglibc/eglibc_2.13.bb b/meta/recipes-core/eglibc/eglibc_2.13.bb index f076ae7c7f..955c4ec4b9 100644 --- a/meta/recipes-core/eglibc/eglibc_2.13.bb +++ b/meta/recipes-core/eglibc/eglibc_2.13.bb @@ -1,9 +1,9 @@  require eglibc.inc -SRCREV = "14157" +SRCREV = "15508"  DEPENDS += "gperf-native" -PR = "r17" +PR = "r18"  PR_append = "+svnr${SRCPV}"  EGLIBC_BRANCH="eglibc-2_13" @@ -16,7 +16,6 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http             file://armv4-eabi-compile-fix.patch \             file://etc/ld.so.conf \             file://generate-supported.mk \ -           file://glibc_bug_fix_12454.patch \             file://ppc-sqrt.patch \             file://multilib_readlib.patch \  	   " | 
