Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/3] a bugfix & fix for couple of qa warnings
@ 2011-07-12 18:52 nitin.a.kamble
  2011-07-12 18:52 ` [PATCH 1/3] binutils: package unpackaged files nitin.a.kamble
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: nitin.a.kamble @ 2011-07-12 18:52 UTC (permalink / raw)
  To: openembedded-core

From: Nitin A Kamble <nitin.a.kamble@intel.com>

The following changes since commit 7354fc9213f27aa1b643dbe88070437f1ee4c063:

  insane.bbclass: skip rdepends QA checks for kernel / modules (2011-07-12 15:22:09 +0100)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib nitin/misc
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/misc

Nitin A Kamble (3):
  binutils: package unpackaged files
  eglibc: fix installed but not packaged files
  eglibc: fix runtime assertion failure

 .../eglibc/eglibc-2.13/glibc_bug_fix_12454.patch   |  179 ++++++++++++++++++++
 meta/recipes-core/eglibc/eglibc-package.inc        |    4 +
 meta/recipes-core/eglibc/eglibc_2.13.bb            |    3 +-
 .../binutils/binutils-cross-canadian_2.21.1.bb     |    2 +-
 .../binutils/binutils-crosssdk_2.21.1.bb           |    2 +-
 meta/recipes-devtools/binutils/binutils.inc        |    2 +
 meta/recipes-devtools/binutils/binutils_2.21.1.bb  |    2 +-
 7 files changed, 190 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/glibc_bug_fix_12454.patch

-- 
1.7.4.4




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/3] binutils: package unpackaged files
  2011-07-12 18:52 [PATCH 0/3] a bugfix & fix for couple of qa warnings nitin.a.kamble
@ 2011-07-12 18:52 ` nitin.a.kamble
  2011-07-12 18:52 ` [PATCH 2/3] eglibc: fix installed but not packaged files nitin.a.kamble
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: nitin.a.kamble @ 2011-07-12 18:52 UTC (permalink / raw)
  To: openembedded-core

From: Nitin A Kamble <nitin.a.kamble@intel.com>

To fix these package qa warnings
WARNING: For recipe binutils, the following files were installed but not shipped in any package:
WARNING:   /usr/bin/ld.bfd
WARNING:   /usr/bin/elfedit

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
---
 .../binutils/binutils-cross-canadian_2.21.1.bb     |    2 +-
 .../binutils/binutils-crosssdk_2.21.1.bb           |    2 +-
 meta/recipes-devtools/binutils/binutils.inc        |    2 ++
 meta/recipes-devtools/binutils/binutils_2.21.1.bb  |    2 +-
 4 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-devtools/binutils/binutils-cross-canadian_2.21.1.bb b/meta/recipes-devtools/binutils/binutils-cross-canadian_2.21.1.bb
index 7dad2a6..e91e7dc 100644
--- a/meta/recipes-devtools/binutils/binutils-cross-canadian_2.21.1.bb
+++ b/meta/recipes-devtools/binutils/binutils-cross-canadian_2.21.1.bb
@@ -1,3 +1,3 @@
 require binutils_${PV}.bb
 require binutils-cross-canadian.inc
-PR = "r0"
+PR = "r1"
diff --git a/meta/recipes-devtools/binutils/binutils-crosssdk_2.21.1.bb b/meta/recipes-devtools/binutils/binutils-crosssdk_2.21.1.bb
index 0d6efff..21289cd 100644
--- a/meta/recipes-devtools/binutils/binutils-crosssdk_2.21.1.bb
+++ b/meta/recipes-devtools/binutils/binutils-crosssdk_2.21.1.bb
@@ -4,7 +4,7 @@ inherit crosssdk
 
 PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk"
 
-PR = "r0"
+PR = "r1"
 
 do_configure_prepend () {
 	sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgt
diff --git a/meta/recipes-devtools/binutils/binutils.inc b/meta/recipes-devtools/binutils/binutils.inc
index 08c14b2..9a6b9c8 100644
--- a/meta/recipes-devtools/binutils/binutils.inc
+++ b/meta/recipes-devtools/binutils/binutils.inc
@@ -35,11 +35,13 @@ FILES_${PN}-symlinks = " \
 	${bindir}/c++filt \
 	${bindir}/gprof \
 	${bindir}/ld \
+	${bindir}/ld.bfd \
 	${bindir}/nm \
 	${bindir}/objcopy \
 	${bindir}/objdump \
 	${bindir}/ranlib \
 	${bindir}/readelf \
+	${bindir}/elfedit \
 	${bindir}/size \
 	${bindir}/strip"
 
diff --git a/meta/recipes-devtools/binutils/binutils_2.21.1.bb b/meta/recipes-devtools/binutils/binutils_2.21.1.bb
index 368ec4a..4eb6566 100644
--- a/meta/recipes-devtools/binutils/binutils_2.21.1.bb
+++ b/meta/recipes-devtools/binutils/binutils_2.21.1.bb
@@ -1,6 +1,6 @@
 require binutils.inc
 
-PR = "r0"
+PR = "r1"
 
 LIC_FILES_CHKSUM="\
     file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
-- 
1.7.4.4




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] eglibc: fix installed but not packaged files
  2011-07-12 18:52 [PATCH 0/3] a bugfix & fix for couple of qa warnings nitin.a.kamble
  2011-07-12 18:52 ` [PATCH 1/3] binutils: package unpackaged files nitin.a.kamble
@ 2011-07-12 18:52 ` nitin.a.kamble
  2011-07-12 18:52 ` [PATCH 3/3] eglibc: fix runtime assertion failure nitin.a.kamble
  2011-07-13 11:34 ` [PATCH 0/3] a bugfix & fix for couple of qa warnings Richard Purdie
  3 siblings, 0 replies; 5+ messages in thread
From: nitin.a.kamble @ 2011-07-12 18:52 UTC (permalink / raw)
  To: openembedded-core

From: Nitin A Kamble <nitin.a.kamble@intel.com>

Fixes these package QA warnings:

WARNING: For recipe eglibc, the following files were installed but not shipped in any package:
WARNING:   /etc/localtime

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
---
 meta/recipes-core/eglibc/eglibc-package.inc |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
index dd40af1..03f2205 100644
--- a/meta/recipes-core/eglibc/eglibc-package.inc
+++ b/meta/recipes-core/eglibc/eglibc-package.inc
@@ -88,6 +88,10 @@ DESCRIPTION_libsotruss = "Library to support sotruss which traces calls through
 
 inherit libc-common
 
+do_install_append () {
+	rm -f ${D}${sysconfdir}/localtime
+}
+
 do_install_locale () {
 	dest=${D}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}
 	install -d ${dest}${base_libdir} ${dest}${bindir} ${dest}${libdir} ${dest}${datadir}
-- 
1.7.4.4




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] eglibc: fix runtime assertion failure
  2011-07-12 18:52 [PATCH 0/3] a bugfix & fix for couple of qa warnings nitin.a.kamble
  2011-07-12 18:52 ` [PATCH 1/3] binutils: package unpackaged files nitin.a.kamble
  2011-07-12 18:52 ` [PATCH 2/3] eglibc: fix installed but not packaged files nitin.a.kamble
@ 2011-07-12 18:52 ` nitin.a.kamble
  2011-07-13 11:34 ` [PATCH 0/3] a bugfix & fix for couple of qa warnings Richard Purdie
  3 siblings, 0 replies; 5+ messages in thread
From: nitin.a.kamble @ 2011-07-12 18:52 UTC (permalink / raw)
  To: openembedded-core

From: Nitin A Kamble <nitin.a.kamble@intel.com>

This fixes bug [YOCTO #1237]

Runtime assertion errors were observed:
Inconsistency detected by ld.so: dl-deps.c: 622: _dl_map_object_deps: Assertion `nlist > 1' failed!

A fix was available for this issue:
 http://sourceware.org/bugzilla/show_bug.cgi?id=12454

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
---
 .../eglibc/eglibc-2.13/glibc_bug_fix_12454.patch   |  179 ++++++++++++++++++++
 meta/recipes-core/eglibc/eglibc_2.13.bb            |    3 +-
 2 files changed, 181 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/glibc_bug_fix_12454.patch

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
new file mode 100644
index 0000000..71ba851
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.13/glibc_bug_fix_12454.patch
@@ -0,0 +1,179 @@
+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 be65787..feaf7ca 100644
--- a/meta/recipes-core/eglibc/eglibc_2.13.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.13.bb
@@ -4,7 +4,7 @@ SRCREV = "14157"
 
 DEPENDS += "gperf-native"
 FILESPATHPKG =. "eglibc-svn:"
-PR = "r6"
+PR = "r7"
 PR_append = "+svnr${SRCPV}"
 
 EGLIBC_BRANCH="eglibc-2_13"
@@ -16,6 +16,7 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http
            file://stack-protector-test.patch \
            file://etc/ld.so.conf \
            file://generate-supported.mk \
+           file://glibc_bug_fix_12454.patch \
 	   "
 LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \
       file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
-- 
1.7.4.4




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/3] a bugfix & fix for couple of qa warnings
  2011-07-12 18:52 [PATCH 0/3] a bugfix & fix for couple of qa warnings nitin.a.kamble
                   ` (2 preceding siblings ...)
  2011-07-12 18:52 ` [PATCH 3/3] eglibc: fix runtime assertion failure nitin.a.kamble
@ 2011-07-13 11:34 ` Richard Purdie
  3 siblings, 0 replies; 5+ messages in thread
From: Richard Purdie @ 2011-07-13 11:34 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Tue, 2011-07-12 at 11:52 -0700, nitin.a.kamble@intel.com wrote:
> From: Nitin A Kamble <nitin.a.kamble@intel.com>
> 
> The following changes since commit 7354fc9213f27aa1b643dbe88070437f1ee4c063:
> 
>   insane.bbclass: skip rdepends QA checks for kernel / modules (2011-07-12 15:22:09 +0100)
> 
> are available in the git repository at:
>   git://git.pokylinux.org/poky-contrib nitin/misc
>   http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/misc
> 
> Nitin A Kamble (3):
>   binutils: package unpackaged files
>   eglibc: fix installed but not packaged files
>   eglibc: fix runtime assertion failure

Merged to master, thanks.

Richard




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-07-13 11:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-12 18:52 [PATCH 0/3] a bugfix & fix for couple of qa warnings nitin.a.kamble
2011-07-12 18:52 ` [PATCH 1/3] binutils: package unpackaged files nitin.a.kamble
2011-07-12 18:52 ` [PATCH 2/3] eglibc: fix installed but not packaged files nitin.a.kamble
2011-07-12 18:52 ` [PATCH 3/3] eglibc: fix runtime assertion failure nitin.a.kamble
2011-07-13 11:34 ` [PATCH 0/3] a bugfix & fix for couple of qa warnings Richard Purdie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox