aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZongchun Yu <Zongchun.Yu@freescale.com>2014-01-22 13:23:42 +0800
committerFathi Boudra <fathi.boudra@linaro.org>2014-01-22 11:49:11 +0200
commitcda1269ee7f271cb8559c2961ea96b82128dc762 (patch)
tree8e8866911b81a95a20f567b9534ea698e4ca6477
parent6b442ef6d789d79f26835a0e651379421bddd0b1 (diff)
external-linaro-toolchain: fix No GNU_HASH in the elf binary QA Issue
Change-Id: I34b0e6a462a5c6031923555927748908bc04cb40 Signed-off-by: Zongchun Yu <Zongchun.Yu@freescale.com>
-rw-r--r--meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc27
1 files changed, 27 insertions, 0 deletions
diff --git a/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc b/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc
index 831b168..4a86be7 100644
--- a/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc
+++ b/meta-linaro-toolchain/conf/distro/include/tcmode-external-linaro.inc
@@ -44,6 +44,33 @@ DISTRO_FEATURES_LIBC = "ipv4 ipv6 libc-backtrace libc-big-macros libc-bsd libc-c
ENABLE_BINARY_LOCALE_GENERATION = "0"
GLIBC_INTERNAL_USE_BINARY_LOCALE = "precompiled"
+ERROR_QA[type] ?= "list"
+python toolchain_metadata_setup () {
+ import subprocess
+ if not isinstance(e, bb.event.ConfigParsed):
+ return
+
+ d = e.data
+ l = d.createCopy()
+ l.finalize()
+ oe_import(l)
+
+ external_toolchain = l.getVar('EXTERNAL_TOOLCHAIN', True)
+ if not external_toolchain or external_toolchain == 'UNDEFINED':
+ bb.fatal("Error: EXTERNAL_TOOLCHAIN must be set to the path to your linaro toolchain")
+
+ if not os.path.exists(external_toolchain):
+ bb.fatal("Error: EXTERNAL_TOOLCHAIN path '%s' does not exist" % external_toolchain)
+
+ # The external toolchain may not have been built with the oe-core preferred
+ # gnu hash setting, so ensure that the corresponding sanity check is not an error.
+ error_qa = oe.data.typed_value('ERROR_QA', l)
+ if 'ldflags' in error_qa:
+ error_qa.remove('ldflags')
+ d.setVar('ERROR_QA', ' '.join(error_qa))
+}
+addhandler toolchain_metadata_setup
+
def populate_toolchain_links(d):
import errno
import os