gcc: drop explicit -fno-PIE, let gcc figure this out.
Explicit -fno-PIE results in parts of libstdc++.a being built non-PIC, which breaks -static-libstdc++ for PIE binaries. Also requires lots of fiddling in the build system which we try to avoid. See #8842.
This commit is contained in:
parent
5650abfedf
commit
ec067ff736
|
@ -3,7 +3,7 @@ _majorver=7.2
|
|||
|
||||
pkgname=gcc
|
||||
version=${_majorver}.0
|
||||
revision=3
|
||||
revision=4
|
||||
short_desc="The GNU C Compiler"
|
||||
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
||||
homepage="http://gcc.gnu.org"
|
||||
|
@ -80,21 +80,6 @@ replaces="gcc-c++>=0"
|
|||
pre_configure() {
|
||||
# _FORTIFY_SOURCE needs an optimization level.
|
||||
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {gcc,libiberty}/configure
|
||||
|
||||
if [ -n "$nopie" ]; then
|
||||
# Fix configure failures by adding -no-pie when linking conftest.c/.cpp files
|
||||
find -name configure -exec sed -i {} \
|
||||
-e 's;$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS;& -no-pie;' \
|
||||
-e 's;$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS;& -no-pie;' \
|
||||
\;
|
||||
# Fix linking error for fixincl by adding -no-pie
|
||||
sed -i fixincludes/Makefile.in \
|
||||
-e 's;-o $(FI);-no-pie &;' \
|
||||
-e 's;-o $@;-no-pie &;'
|
||||
# Fix linking error for gotools by adding -no-pie
|
||||
sed -i gotools/Makefile.in \
|
||||
-e 's;LINK = .*;& -no-pie;'
|
||||
fi
|
||||
}
|
||||
do_configure() {
|
||||
local _langs _args _hash
|
||||
|
@ -167,6 +152,10 @@ do_configure() {
|
|||
export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}"
|
||||
export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}"
|
||||
|
||||
# Disable explicit -fno-PIE, gcc will figure this out itself.
|
||||
export CFLAGS="${CFLAGS//-fno-PIE/}"
|
||||
export CXXFLAGS="${CXXFLAGS//-fno-PIE/}"
|
||||
|
||||
_args+=" --prefix=/usr"
|
||||
_args+=" --mandir=/usr/share/man"
|
||||
_args+=" --infodir=/usr/share/info"
|
||||
|
|
Loading…
Reference in New Issue