[oe] [STABLE][PATCH 010/125] (e)glibc-package: fix kernel version passed to qemu

Marcin Juszkiewicz marcin at juszkiewicz.com.pl
Wed Jul 1 18:54:11 UTC 2009


From: Roman I Khimov <khimov at altell.ru>

Binary locale generation fails with

FATAL: kernel too old

if (e)glibc is configured for kernels newer than 2.6.16. This comes from
kernel version check in sysdeps/unix/sysv/linux/dl-osinfo.h. We configure
(e)glibc with "--enable-kernel=${OLDEST_KERNEL}", so to pass this check we
need kernel version reported from QEMU to (e)glibc be $OLDEST_KERNEL or higher.

Fix qemu "-r" parameter to match OLDEST_KERNEL.

Acked-by: Tom Rini <trini at embeddedalley.com>
Signed-off-by: Marcin Juszkiewicz <marcin at juszkiewicz.com.pl>
---
 recipes/eglibc/eglibc-package.bbclass |    6 +++++-
 recipes/glibc/glibc-package.bbclass   |    6 +++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/recipes/eglibc/eglibc-package.bbclass b/recipes/eglibc/eglibc-package.bbclass
index 7fcb558..01f698a 100644
--- a/recipes/eglibc/eglibc-package.bbclass
+++ b/recipes/eglibc/eglibc-package.bbclass
@@ -287,7 +287,11 @@ python package_do_split_gconvs () {
 
 	def output_locale_binary(name, locale, encoding):
 		target_arch = bb.data.getVar("TARGET_ARCH", d, 1)
-		qemu = "qemu-%s -r 2.6.16" % target_arch
+		kernel_ver = bb.data.getVar("OLDEST_KERNEL", d, 1)
+		if kernel_ver is None:
+			qemu = "qemu-%s  -s 1048576" % target_arch
+		else:
+			qemu = "qemu-%s  -s 1048576 -r %s" % (target_arch, kernel_ver)
 		pkgname = 'locale-base-' + legitimize_package_name(name)
 		m = re.match("(.*)\.(.*)", name)
 		if m:
diff --git a/recipes/glibc/glibc-package.bbclass b/recipes/glibc/glibc-package.bbclass
index 89fbd1c..8db8c5c 100644
--- a/recipes/glibc/glibc-package.bbclass
+++ b/recipes/glibc/glibc-package.bbclass
@@ -252,7 +252,11 @@ python package_do_split_gconvs () {
 		if target_arch in ("i486", "i586", "i686"):
 		   target_arch = "i386"
 
-		qemu = "qemu-%s  -s 1048576 -r 2.6.16" % target_arch
+		kernel_ver = bb.data.getVar("OLDEST_KERNEL", d, 1)
+		if kernel_ver is None:
+			qemu = "qemu-%s  -s 1048576" % target_arch
+		else:
+			qemu = "qemu-%s  -s 1048576 -r %s" % (target_arch, kernel_ver)
 		pkgname = 'locale-base-' + legitimize_package_name(name)
 		m = re.match("(.*)\.(.*)", name)
 		if m:
-- 
1.6.3.1







More information about the Openembedded-devel mailing list