]> code.ossystems Code Review - openembedded-core.git/commit
distutils-base.bbclass: Do not use -pie with hardening
authorKhem Raj <raj.khem@gmail.com>
Fri, 2 Jun 2017 04:34:03 +0000 (21:34 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 9 Jun 2017 16:12:05 +0000 (17:12 +0100)
commit6a4e3b696d32809279f1550cc1d67bc6b9979a03
tree75c16c76dc7c9a13c6b605b7b8127a0076c69af7
parent3bc8d328e0659560798eff9c1ab40ec42b354bcb
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@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/distutils-common-base.bbclass