From cda1269ee7f271cb8559c2961ea96b82128dc762 Mon Sep 17 00:00:00 2001 From: Zongchun Yu Date: Wed, 22 Jan 2014 13:23:42 +0800 Subject: external-linaro-toolchain: fix No GNU_HASH in the elf binary QA Issue Change-Id: I34b0e6a462a5c6031923555927748908bc04cb40 Signed-off-by: Zongchun Yu --- .../conf/distro/include/tcmode-external-linaro.inc | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) 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 831b168e..4a86be77 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 -- cgit v1.2.3