configure: Avoid unnecessary constraints on executables for $build.
The executables for GCC's c-family compilers must be built with no-PIE because they use PCH and the current model for this requires that the exe is always lauched at the same address. Since the other language compilers share code with the c-family this constraint is also applied to them. However, the executables that run on $build (generators, and parsers for md and def files) need not have any such constraint they do not consume PCH files. This change simplifies the configuration and Makefile content by removing the code enforcing no-PIE on these exes. This also fixes a bootstrap issue with some Darwin versions and clang as the bootstrap compiler, where -no-PIE causes the correct relocation model to be switched off leading to invalid user-space code. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> gcc/ChangeLog: * Makefile.in: Remove variables related to applying no-PIE to the exes on $build. * configure: Regenerate. * configure.ac: Remove configuration related to applying no-PIE to the exes on $build.
This commit is contained in:
parent
70ee703c47
commit
fb32372651
3 changed files with 2 additions and 33 deletions
|
@ -799,13 +799,8 @@ DIR = ../gcc
|
|||
# Native compiler for the build machine and its switches.
|
||||
CC_FOR_BUILD = @CC_FOR_BUILD@
|
||||
CXX_FOR_BUILD = @CXX_FOR_BUILD@
|
||||
NO_PIE_CFLAGS_FOR_BUILD = @NO_PIE_CFLAGS_FOR_BUILD@
|
||||
NO_PIE_FLAG_FOR_BUILD = @NO_PIE_FLAG_FOR_BUILD@
|
||||
BUILD_CFLAGS= @BUILD_CFLAGS@ $(GENERATOR_CFLAGS) -DGENERATOR_FILE
|
||||
BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ $(GENERATOR_CFLAGS) -DGENERATOR_FILE
|
||||
BUILD_NO_PIE_CFLAGS = @BUILD_NO_PIE_CFLAGS@
|
||||
BUILD_CFLAGS += $(BUILD_NO_PIE_CFLAGS)
|
||||
BUILD_CXXFLAGS += $(BUILD_NO_PIE_CFLAGS)
|
||||
|
||||
# Native compiler that we use. This may be C++ some day.
|
||||
COMPILER_FOR_BUILD = $(CXX_FOR_BUILD)
|
||||
|
@ -817,8 +812,6 @@ BUILD_LINKERFLAGS = $(BUILD_CXXFLAGS)
|
|||
|
||||
# Native linker and preprocessor flags. For x-fragment overrides.
|
||||
BUILD_LDFLAGS=@BUILD_LDFLAGS@
|
||||
BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
|
||||
BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
|
||||
BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
|
||||
-I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
|
||||
|
||||
|
|
18
gcc/configure
vendored
18
gcc/configure
vendored
|
@ -753,10 +753,6 @@ FGREP
|
|||
SED
|
||||
LIBTOOL
|
||||
collect2
|
||||
NO_PIE_FLAG_FOR_BUILD
|
||||
NO_PIE_CFLAGS_FOR_BUILD
|
||||
BUILD_NO_PIE_FLAG
|
||||
BUILD_NO_PIE_CFLAGS
|
||||
STMP_FIXINC
|
||||
BUILD_LDFLAGS
|
||||
BUILD_CXXFLAGS
|
||||
|
@ -13324,24 +13320,14 @@ BUILD_CXXFLAGS='$(ALL_CXXFLAGS)'
|
|||
BUILD_LDFLAGS='$(LDFLAGS)'
|
||||
STMP_FIXINC=stmp-fixinc
|
||||
|
||||
BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS)'
|
||||
BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG)'
|
||||
|
||||
# And these apply if build != host, or we are generating coverage data
|
||||
if test x$build != x$host || test "x$coverage_flags" != x
|
||||
then
|
||||
BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS-$@) $(CFLAGS_FOR_BUILD)'
|
||||
BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS-$@) $(CXXFLAGS_FOR_BUILD)'
|
||||
BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
|
||||
|
||||
NO_PIE_CFLAGS_FOR_BUILD=${NO_PIE_CFLAGS_FOR_BUILD-${NO_PIE_CFLAGS}}
|
||||
NO_PIE_FLAG_FOR_BUILD=${NO_PIE_FLAG_FOR_BUILD-${NO_PIE_FLAG}}
|
||||
BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS_FOR_BUILD)'
|
||||
BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG_FOR_BUILD)'
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Expand extra_headers to include complete path.
|
||||
# This substitutes for lots of t-* files.
|
||||
extra_headers_list=
|
||||
|
@ -19468,7 +19454,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 19471 "configure"
|
||||
#line 19457 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
@ -19574,7 +19560,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 19577 "configure"
|
||||
#line 19563 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
|
|
@ -2466,23 +2466,13 @@ BUILD_CXXFLAGS='$(ALL_CXXFLAGS)' AC_SUBST(BUILD_CXXFLAGS)
|
|||
BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
|
||||
STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
|
||||
|
||||
BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS)' AC_SUBST(BUILD_NO_PIE_CFLAGS)
|
||||
BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG)' AC_SUBST(BUILD_NO_PIE_FLAG)
|
||||
|
||||
# And these apply if build != host, or we are generating coverage data
|
||||
if test x$build != x$host || test "x$coverage_flags" != x
|
||||
then
|
||||
BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS-$@) $(CFLAGS_FOR_BUILD)'
|
||||
BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS-$@) $(CXXFLAGS_FOR_BUILD)'
|
||||
BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
|
||||
|
||||
NO_PIE_CFLAGS_FOR_BUILD=${NO_PIE_CFLAGS_FOR_BUILD-${NO_PIE_CFLAGS}}
|
||||
NO_PIE_FLAG_FOR_BUILD=${NO_PIE_FLAG_FOR_BUILD-${NO_PIE_FLAG}}
|
||||
BUILD_NO_PIE_CFLAGS='$(NO_PIE_CFLAGS_FOR_BUILD)'
|
||||
BUILD_NO_PIE_FLAG='$(NO_PIE_FLAG_FOR_BUILD)'
|
||||
fi
|
||||
AC_SUBST(NO_PIE_CFLAGS_FOR_BUILD)
|
||||
AC_SUBST(NO_PIE_FLAG_FOR_BUILD)
|
||||
|
||||
# Expand extra_headers to include complete path.
|
||||
# This substitutes for lots of t-* files.
|
||||
|
|
Loading…
Add table
Reference in a new issue