aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/uclibc
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2010-07-08 13:24:29 -0700
committerKhem Raj <raj.khem@gmail.com>2010-07-08 17:23:57 -0700
commitb568cfe4aed343dbe1423d88d1bfed7c39698739 (patch)
treec7042090352d72f96965f8137d36a4aa9ddb66b3 /recipes/uclibc
parent2b886cb404f8985b8ad08fa8d6763442b2ce27ac (diff)
downloadopenembedded-b568cfe4aed343dbe1423d88d1bfed7c39698739.tar.gz
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@gmail.com>
Diffstat (limited to 'recipes/uclibc')
-rw-r--r--recipes/uclibc/uclibc-config.inc7
-rw-r--r--recipes/uclibc/uclibc.inc9
-rw-r--r--recipes/uclibc/uclibc_git.bb5
3 files changed, 13 insertions, 8 deletions
diff --git a/recipes/uclibc/uclibc-config.inc b/recipes/uclibc/uclibc-config.inc
index 82dfcfe123..5a6fbe82e9 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 b925386c95..746bccc924 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 281a9b2d26..30375bb95f 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 \