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> 2015-10-29 Richard Biener <rguenther@suse.de>
PR middle-end/56956 PR middle-end/56956
...@@ -258,11 +258,14 @@ LINKER = $(CC) ...@@ -258,11 +258,14 @@ LINKER = $(CC)
LINKER_FLAGS = $(CFLAGS) LINKER_FLAGS = $(CFLAGS)
endif 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. # 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. # 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. # Like LINKER, but use a mutex for serializing front end links.
ifeq (@DO_LINK_MUTEX@,true) ifeq (@DO_LINK_MUTEX@,true)
...@@ -755,10 +758,13 @@ DIR = ../gcc ...@@ -755,10 +758,13 @@ DIR = ../gcc
# Native compiler for the build machine and its switches. # Native compiler for the build machine and its switches.
CC_FOR_BUILD = @CC_FOR_BUILD@ CC_FOR_BUILD = @CC_FOR_BUILD@
CXX_FOR_BUILD = @CXX_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_CFLAGS= @BUILD_CFLAGS@ -DGENERATOR_FILE
BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ -DGENERATOR_FILE BUILD_CXXFLAGS = @BUILD_CXXFLAGS@ -DGENERATOR_FILE
BUILD_CFLAGS += @NO_PIE_CFLAGS@ BUILD_NO_PIE_CFLAGS = @BUILD_NO_PIE_CFLAGS@
BUILD_CXXFLAGS += @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. # Native compiler that we use. This may be C++ some day.
COMPILER_FOR_BUILD = $(CXX_FOR_BUILD) COMPILER_FOR_BUILD = $(CXX_FOR_BUILD)
...@@ -770,7 +776,8 @@ BUILD_LINKERFLAGS = $(BUILD_CXXFLAGS) ...@@ -770,7 +776,8 @@ BUILD_LINKERFLAGS = $(BUILD_CXXFLAGS)
# Native linker and preprocessor flags. For x-fragment overrides. # Native linker and preprocessor flags. For x-fragment overrides.
BUILD_LDFLAGS=@BUILD_LDFLAGS@ 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) \ BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
-I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS) -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
......
...@@ -707,6 +707,10 @@ FGREP ...@@ -707,6 +707,10 @@ FGREP
SED SED
LIBTOOL LIBTOOL
collect2 collect2
NO_PIE_FLAG_FOR_BUILD
NO_PIE_CFLAGS_FOR_BUILD
BUILD_NO_PIE_FLAG
BUILD_NO_PIE_CFLAGS
STMP_FIXINC STMP_FIXINC
BUILD_LDFLAGS BUILD_LDFLAGS
BUILD_CXXFLAGS BUILD_CXXFLAGS
...@@ -7096,7 +7100,8 @@ if test x$ac_checking != x ; then ...@@ -7096,7 +7100,8 @@ if test x$ac_checking != x ; then
$as_echo "#define ENABLE_CHECKING 1" >>confdefs.h $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 nocommon_flag=-fno-common
else else
...@@ -12253,14 +12258,24 @@ BUILD_CXXFLAGS='$(ALL_CXXFLAGS)' ...@@ -12253,14 +12258,24 @@ BUILD_CXXFLAGS='$(ALL_CXXFLAGS)'
BUILD_LDFLAGS='$(LDFLAGS)' BUILD_LDFLAGS='$(LDFLAGS)'
STMP_FIXINC=stmp-fixinc 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 # And these apply if build != host, or we are generating coverage data
if test x$build != x$host || test "x$coverage_flags" != x if test x$build != x$host || test "x$coverage_flags" != x
then then
BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)' BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CXXFLAGS_FOR_BUILD)' BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CXXFLAGS_FOR_BUILD)'
BUILD_LDFLAGS='$(LDFLAGS_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 fi
# Expand extra_headers to include complete path. # Expand extra_headers to include complete path.
# This substitutes for lots of t-* files. # This substitutes for lots of t-* files.
extra_headers_list= extra_headers_list=
...@@ -18390,7 +18405,7 @@ else ...@@ -18390,7 +18405,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 18393 "configure" #line 18408 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
...@@ -18496,7 +18511,7 @@ else ...@@ -18496,7 +18511,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 18499 "configure" #line 18514 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
......
...@@ -2041,13 +2041,23 @@ BUILD_CXXFLAGS='$(ALL_CXXFLAGS)' AC_SUBST(BUILD_CXXFLAGS) ...@@ -2041,13 +2041,23 @@ BUILD_CXXFLAGS='$(ALL_CXXFLAGS)' AC_SUBST(BUILD_CXXFLAGS)
BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS) BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC) 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 # And these apply if build != host, or we are generating coverage data
if test x$build != x$host || test "x$coverage_flags" != x if test x$build != x$host || test "x$coverage_flags" != x
then then
BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)' BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CXXFLAGS_FOR_BUILD)' BUILD_CXXFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CXXFLAGS_FOR_BUILD)'
BUILD_LDFLAGS='$(LDFLAGS_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 fi
AC_SUBST(NO_PIE_CFLAGS_FOR_BUILD)
AC_SUBST(NO_PIE_FLAG_FOR_BUILD)
# Expand extra_headers to include complete path. # Expand extra_headers to include complete path.
# This substitutes for lots of t-* files. # 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