path: root/meta/recipes-support
diff options
authorKhem Raj <>2017-07-23 17:47:43 -0700
committerRichard Purdie <>2017-08-09 09:24:02 +0100
commit0505075ae8d339ba097aebb82b4d0ae62f87c0a9 (patch)
tree6ac6ad2b28dc62bcf392ceef0e127805433b4978 /meta/recipes-support
parent65e644368fc9c294af96906528ee0cf30305e0a6 (diff)
ossp-uuid, libffi, libgcrypt: Pass --tag=CC option to libtool
libtool tries to guess the --tag value based on CC/CXX environment variables and the compile commandline generated by makefiles. This heuristics however fails when we construct CC variables in OE and add security flags to it, especially -fPIE -pie which are added by external compilers e.g. clang particularly. It fails because libtool removed PIE flags from compiler cmdline intelligently if it figures out that its building a library, which means that the CC variable passed from cmdline does not match with the compiler cmdline constructed by libtool and we end up with errors like | arm-bec-linux-musleabi-libtool: compile: unable to infer tagged configuration | arm-bec-linux-musleabi-libtool: error: specify a tag with '--tag' This works with internal gcc toolchain because we configure gcc for PIE when hardening is selected and dont pass -fPIE -pie options explicitly but this is not an option for clang, and some external gcc toolchains using older gcc This patch adds the --tag option to help libtool set correct tags in packages where it cant get it right via its heuristics Signed-off-by: Khem Raj <> Signed-off-by: Ross Burton <>
Diffstat (limited to 'meta/recipes-support')
2 files changed, 3 insertions, 1 deletions
diff --git a/meta/recipes-support/libffi/ b/meta/recipes-support/libffi/
index 2a3f4b743d..57989a2602 100644
--- a/meta/recipes-support/libffi/
+++ b/meta/recipes-support/libffi/
@@ -20,7 +20,7 @@ SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43"
SRC_URI[sha256sum] = "d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37"
EXTRA_OECONF += "--disable-builddir"
+EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'"
inherit autotools texinfo
FILES_${PN}-dev += "${libdir}/libffi-${PV}"
@@ -30,3 +30,4 @@ FILES_${PN}-dev += "${libdir}/libffi-${PV}"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/libgcrypt/ b/meta/recipes-support/libgcrypt/
index 83351594ea..ec8b875efa 100644
--- a/meta/recipes-support/libgcrypt/
+++ b/meta/recipes-support/libgcrypt/
@@ -29,6 +29,7 @@ BINCONFIG = "${bindir}/libgcrypt-config"
inherit autotools texinfo binconfig-disabled pkgconfig
EXTRA_OECONF = "--disable-asm"
+EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'"
PACKAGECONFIG ??= "capabilities"
PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap"