Commit 5148d2e3 by H.J. Lu Committed by H.J. Lu

Add BUILD_NO_PIE_CFLAGS and BUILD_NO_PIE_FLAG

We shouldn't use NO_PIE_CFLAGS and NO_PIE_FLAG with CXX_FOR_BUILD
when CXX_FOR_BUILD != CXX.  This patch adds BUILD_NO_PIE_CFLAGS
and BUILD_NO_PIE_FLAG to use with CXX_FOR_BUILD.  They are set to
NO_PIE_CFLAGS and NO_PIE_FLAG when build machine == host machine.
Otherwise, they are set to NO_PIE_CFLAGS_FOR_BUILD and
NO_PIE_FLAG_FOR_BUILD.

	* Makefile.in (NO_PIE_CFLAGS): New.
	(NO_PIE_FLAG): Likewise.
	(NO_PIE_CFLAGS_FOR_BUILD): Likewise.
	(NO_PIE_FLAG_FOR_BUILD): Likewise.
	(BUILD_NO_PIE_CFLAGS): Likewise.
	(BUILD_NO_PIE_FLAG): Likewise.
	(COMPILER): Replace @NO_PIE_CFLAGS@ with $(NO_PIE_CFLAGS).
	(LINKER): Replace @NO_PIE_FLAG@ with $(NO_PIE_FLAG).
	(BUILD_CFLAGS): Replace @NO_PIE_CFLAGS@ with
	$(BUILD_NO_PIE_CFLAGS).
	(BUILD_CXXFLAGS): Likewise.
	(BUILD_LDFLAGS ): Replace @NO_PIE_FLAG@ with
	$(BUILD_NO_PIE_FLAG).
	* configure.ac (BUILD_NO_PIE_CFLAGS): New.  AC_SUBST.
	(BUILD_NO_PIE_FLAG): Likewise.
	(NO_PIE_CFLAGS_FOR_BUILD): Likewise.
	(NO_PIE_FLAG_FOR_BUILD): Likewise.
	* configure: Regenerated.

From-SVN: r229522
parent 41e977ac
2015-10-29 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (NO_PIE_CFLAGS): New.
(NO_PIE_FLAG): Likewise.
(NO_PIE_CFLAGS_FOR_BUILD): Likewise.
(NO_PIE_FLAG_FOR_BUILD): Likewise.
(BUILD_NO_PIE_CFLAGS): Likewise.
(BUILD_NO_PIE_FLAG): Likewise.
(COMPILER): Replace @NO_PIE_CFLAGS@ with $(NO_PIE_CFLAGS).
(LINKER): Replace @NO_PIE_FLAG@ with $(NO_PIE_FLAG).
(BUILD_CFLAGS): Replace @NO_PIE_CFLAGS@ with
$(BUILD_NO_PIE_CFLAGS).
(BUILD_CXXFLAGS): Likewise.
(BUILD_LDFLAGS ): Replace @NO_PIE_FLAG@ with
$(BUILD_NO_PIE_FLAG).
* configure.ac (BUILD_NO_PIE_CFLAGS): New. AC_SUBST.
(BUILD_NO_PIE_FLAG): Likewise.
(NO_PIE_CFLAGS_FOR_BUILD): Likewise.
(NO_PIE_FLAG_FOR_BUILD): Likewise.
* configure: Regenerated.
2015-10-29 Richard Biener <rguenther@suse.de>
PR middle-end/56956
......@@ -258,11 +258,14 @@ LINKER = $(CC)
LINKER_FLAGS = $(CFLAGS)
endif
NO_PIE_CFLAGS = @NO_PIE_CFLAGS@
NO_PIE_FLAG = @NO_PIE_FLAG@
# We don't want to compile the compilers with -fPIE, it make PCH fail.
COMPILER += @NO_PIE_CFLAGS@
COMPILER += $(NO_PIE_CFLAGS)
# Link with -no-pie since we compile the compiler with -fno-PIE.
LINKER += @NO_PIE_FLAG@
LINKER += $(NO_PIE_FLAG)
# Like LINKER, but use a mutex for serializing front end links.
ifeq (@DO_LINK_MUTEX@,true)
......@@ -755,10 +758,13 @@ 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@ -DGENERATOR_FILE
BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ -DGENERATOR_FILE
BUILD_CFLAGS += @NO_PIE_CFLAGS@
BUILD_CXXFLAGS += @NO_PIE_CFLAGS@
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)
......@@ -770,7 +776,8 @@ BUILD_LINKERFLAGS = $(BUILD_CXXFLAGS)
# Native linker and preprocessor flags. For x-fragment overrides.
BUILD_LDFLAGS=@BUILD_LDFLAGS@
BUILD_LDFLAGS += @NO_PIE_FLAG@
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)
......
......@@ -707,6 +707,10 @@ 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
......@@ -7096,7 +7100,8 @@ if test x$ac_checking != x ; then
$as_echo "#define ENABLE_CHECKING 1" >>confdefs.h
$as_echo "#define CHECKING_P 1" >>confdefs.h
$as_echo "#define CHECKING_P 1" >>confdefs.h
nocommon_flag=-fno-common
else
......@@ -12253,14 +12258,24 @@ 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_FOR_BUILD)'
BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_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=
......@@ -18390,7 +18405,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 18393 "configure"
#line 18408 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
......@@ -18496,7 +18511,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 18499 "configure"
#line 18514 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
......
......@@ -2041,13 +2041,23 @@ 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_FOR_BUILD)'
BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment