[oe-commits] [openembedded-core] 15/18: distutils-base.bbclass: Do not use -pie with hardening

git at git.openembedded.org git at git.openembedded.org
Mon Jun 5 15:57:51 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 8254917877a8cb0141c6d20bd242505ceb2265c7
Author: Khem Raj <raj.khem at gmail.com>
AuthorDate: Fri Jun 2 09:01:50 2017 -0700

    distutils-base.bbclass: Do not use -pie with hardening
    
    Fix build when PIE is turned on. It tries to build
    .so file using -pie and -shared flags together because
    its doing compile and link in same step CFLAGS and LDFLAGS
    are combined and does not work, ending in errors e.g.
    
    | /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-musleabi/python-pygpgme/0.3-r0/recipe-sysroot/usr/l
    ib/Scrt1.o: In function `_start_c':
    | /usr/src/debug/musl/1.1.16+gitAUTOINC+179766aa2e-r0/git/crt/crt1.c:17: undefined reference to `main'
    | collect2: error: ld returned 1 exit status
    
    This error while cryptic is due to the fact that we are
    building a shared library but also pass -pie flag to the link
    step after specify LDHSARED ( which is -shared linker flags )
    
    we can not use -pie when doing shared libs. This is true for all the python
    modules inheriting setup tools
    
    Disable the pie flags thusly for all modules using setuptools since
    this setting is done in setuptools makefiles which are then used
    during module compiles
    
    Signed-off-by: Khem Raj <raj.khem at gmail.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/classes/distutils-base.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes/distutils-base.bbclass b/meta/classes/distutils-base.bbclass
index 9f398d7..d6137c4 100644
--- a/meta/classes/distutils-base.bbclass
+++ b/meta/classes/distutils-base.bbclass
@@ -2,3 +2,5 @@ DEPENDS  += "${@["${PYTHON_PN}-native ${PYTHON_PN}", ""][(d.getVar('PACKAGES') =
 RDEPENDS_${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-target']}"
 
 inherit distutils-common-base pythonnative
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list