External compilers will explicitly pass -fPIE -pie flags
unlike internal toolchain which does not use them, so the build
fails with external toolchains because, its passing these
flags to linker when building shared library, which is not
correct it should just use -fPIC

Fixes errors e.g.
| 
/mnt/a/oe/build/tmp/work/corei7-64-bec-linux/libproxy/0.4.14-r0/recipe-sysroot-native/usr/bin/x86_64-bec-linux/x86_64-bec-linux-ld:
 ../libmodman/libmodman.a(module_manager.cpp.o): relocation R_X86_64_PC32 
against symbol 
`_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St6vectorIPN9libmodman14base_extensionESaISB_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E'
 can not be used when making a shared object; recompile with -fPIC

Signed-off-by: Khem Raj <[email protected]>
---
 meta/recipes-support/libproxy/libproxy_0.4.14.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-support/libproxy/libproxy_0.4.14.bb 
b/meta/recipes-support/libproxy/libproxy_0.4.14.bb
index fcdb82f06c..f91bd67f7b 100644
--- a/meta/recipes-support/libproxy/libproxy_0.4.14.bb
+++ b/meta/recipes-support/libproxy/libproxy_0.4.14.bb
@@ -32,6 +32,7 @@ EXTRA_OECMAKE += " \
     -DLIB_INSTALL_DIR=${libdir} \
     -DLIBEXEC_INSTALL_DIR=${libexecdir} \
 "
+SECURITY_PIE_CFLAGS_remove = "-fPIE -pie"
 
 FILES_${PN} += "${libdir}/${BPN}/${PV}/modules"
 FILES_${PN}-dev += "${datadir}/cmake"
-- 
2.13.3

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to