env/hardening: handle {i686,mips,mipsel}-musl in a common place.

This commit is contained in:
Juan RP 2015-12-12 08:32:38 +01:00
parent 4ef7d8525f
commit b53ac251ea

View File

@ -4,7 +4,17 @@ CXXFLAGS="-fstack-protector-strong -D_FORTIFY_SOURCE=2 $CXXFLAGS"
# Enable as-needed and relro by default.
LDFLAGS="-Wl,--as-needed -Wl,-z,relro $LDFLAGS"
if [ -z "$nopie" ] && [ "$XBPS_TARGET_ARCH" != mipsel-musl ]; then
case "$XBPS_TARGET_MACHINE" in
i686-musl) # SSP currently broken (see https://github.com/voidlinux/void-packages/issues/2902)
CFLAGS+=" -fno-stack-protector"
CXXFLAGS+=" -fno-stack-protector"
;;
mips-musl|mipsel-musl) # PIE support broken
unset nopie
;;
esac
if [ -z "$nopie" ]; then
_GCCSPECSDIR=${XBPS_COMMONDIR}/environment/configure/gccspecs
CFLAGS="-specs=${_GCCSPECSDIR}/hardened-cc1 $CFLAGS"
CXXFLAGS="-specs=${_GCCSPECSDIR}/hardened-cc1 $CXXFLAGS"