All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.