[oe-commits] Khem Raj : uclibc: Add thumb-interwork as local distro feature to enable bx

git version control git at git.openembedded.org
Fri Jul 9 00:31:49 UTC 2010


Module: openembedded.git
Branch: org.openembedded.dev
Commit: b568cfe4aed343dbe1423d88d1bfed7c39698739
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=b568cfe4aed343dbe1423d88d1bfed7c39698739

Author: Khem Raj <raj.khem at gmail.com>
Date:   Thu Jul  8 13:24:29 2010 -0700

uclibc: Add thumb-interwork as local distro feature to enable bx

* Bump SRC_REV for uclibc_git
* Pass SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE} otherwise
  utils dont get the hash_style right and QA complains.

Signed-off-by: Khem Raj <raj.khem at gmail.com>

---

 recipes/uclibc/uclibc-config.inc |    7 +++++--
 recipes/uclibc/uclibc.inc        |    9 ++++++---
 recipes/uclibc/uclibc_git.bb     |    5 ++---
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/recipes/uclibc/uclibc-config.inc b/recipes/uclibc/uclibc-config.inc
index 82dfcfe..5a6fbe8 100644
--- a/recipes/uclibc/uclibc-config.inc
+++ b/recipes/uclibc/uclibc-config.inc
@@ -90,16 +90,19 @@ def uclibc_cfg(feature, features, tokens, cnf, rem):
 		cnf.extend([token + '=y' for token in tokens])
 	else:
 		cnf.extend(['# ' + token + ' is not set' for token in tokens])
+
 # Map distro and machine features to config settings
 def features_to_uclibc_settings(d):
 	cnf, rem = ([], [])
 	distro_features = bb.data.getVar('DISTRO_FEATURES', d).split()
-	machine_features = bb.data.getVar('MACHINE_FEATURES', d).split()
+	if bb.data.getVar('THUMB_INTERWORKING', d, 1) == "yes":
+		distro_features += "thumb-interworking"
+	#machine_features = bb.data.getVar('MACHINE_FEATURES', d).split()
 	uclibc_cfg('ipv4',      distro_features, 'UCLIBC_HAS_IPV4', cnf, rem)
 	uclibc_cfg('ipv6',      distro_features, 'UCLIBC_HAS_IPV6', cnf, rem)
 	uclibc_cfg('largefile', distro_features, 'UCLIBC_HAS_LFS', cnf, rem)
 	uclibc_cfg('nls',       distro_features, 'UCLIBC_HAS_LOCALE', cnf, rem)
-	uclibc_cfg('bx',        machine_features,'USE_BX', cnf, rem)
+	uclibc_cfg('thumb-interwork', distro_features,'USE_BX', cnf, rem)
 	return "\n".join(cnf), "\n".join(rem)
 # X, Y = ${@features_to_uclibc_settings(d)}
 # unfortunately doesn't seem to work with bitbake, workaround:
diff --git a/recipes/uclibc/uclibc.inc b/recipes/uclibc/uclibc.inc
index b925386..746bccc 100644
--- a/recipes/uclibc/uclibc.inc
+++ b/recipes/uclibc/uclibc.inc
@@ -19,7 +19,6 @@ python __anonymous () {
         raise bb.parse.SkipPackage("incompatible with target %s" %
                                    bb.data.getVar('TARGET_OS', d, 1))
 }
-
 PROVIDES += "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
 DEPENDS = "virtual/${TARGET_PREFIX}binutils \
            virtual/${TARGET_PREFIX}gcc-intermediate \
@@ -79,8 +78,12 @@ EXTRA_OEMAKE = "${OEMAKE_NO_CC} \
 EXTRA_OEMAKE_task_do_package = "${OEMAKE_NO_CC}"
 
 # enable verbose output:
-export V="1"
+export V="2"
 
+# -O<n> -fno-omit-frame-pointer ends up with GCC ICE on thumb as reported
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44860
+#
+CFLAGS_arm := "${@oe_filter_out('-fno-omit-frame-pointer', '${CFLAGS}', d)}"
 UCLIBC_EXTRA_CFLAGS  := "${@oe_filter_out('(-I\S+|-i\S+)', '${CFLAGS}', d)}"
 UCLIBC_EXTRA_LDFLAGS := "${@oe_filter_out('(-L\S+|-l\S+)', '${LDFLAGS}', d)}"
 do_compile_prepend () {
@@ -180,7 +183,7 @@ do_configure() {
 
 do_install() {
         oe_runmake PREFIX=${D} install
-        oe_runmake PREFIX=${D} install_utils
+        oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" install_utils
 }
 
 get_monotonic_srcrev () {
diff --git a/recipes/uclibc/uclibc_git.bb b/recipes/uclibc/uclibc_git.bb
index 281a9b2..30375bb 100644
--- a/recipes/uclibc/uclibc_git.bb
+++ b/recipes/uclibc/uclibc_git.bb
@@ -7,7 +7,7 @@
 # on whether the base patches apply to the selected (SRCDATE) svn release.
 #
 UCLIBC_BASE ?= "0.9.31"
-SRCREV="13f9f3229bd7623352927f3b0de17e2b3f7a3ecc"
+SRCREV="42fb51e0d4e7ab9fe8ff2be3a7405acb8d44e9b2"
 PR_append = "+gitr${SRCPV}"
 DEFAULT_PREFERENCE = "-1"
 #DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take
@@ -23,8 +23,7 @@ FILESPATHPKG =. "uclibc-git:uclibc-${UCLIBC_BASE}:"
 
 #as stated above, uclibc needs real kernel-headers
 #however: we can't depend on virtual/kernel when nptl hits due to depends deadlocking ....
-KERNEL_SOURCE = "${CROSS_DIR}/${TARGET_SYS}"
-
+KERNEL_SOURCE = "${STAGING_DIR_HOST}/${exec_prefix}"
 SRC_URI = "git://uclibc.org/uClibc.git;branch=master;protocol=git \
 	file://uClibc.config \
 	file://uClibc.machine \





More information about the Openembedded-commits mailing list