re PR other/54279 (first stage build with g++ fails with "." as the first component of $PATH)

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * configure.ac (CXX_FOR_TARGET): Change over to use xg++.
        * configure: Regenerate.
        * Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Change over to use xg++.
        * Makefile.in: Regenerate.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * Makefile.in (${QMTEST_DIR}/context): Use xg++ instead of g++.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * Make-lang.in (g++$(exeext)): Rename to
        (xg++$(exeext)): This.
        (g++-cross$(exeext)): Use xg++$(exeext) instead of g++$(exeext).
        (c++.start.encap): Likewise.
        (c++.install-common): Likewise.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * lib/g++.exp (g++_init): Search for xg++ instead of g++ in the build
        directories.
        * lib/obj-c++.exp (obj-c++_init): Likewise.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * scripts/testsuite_flags.in (--build-cxx): Use xg++ instead of g++.
        * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.

From-SVN: r193910
This commit is contained in:
Andrew Pinski 2012-11-28 22:11:29 +00:00 committed by Andrew Pinski
parent 373b9e782b
commit 5d99894e65
15 changed files with 49 additions and 14 deletions

View File

@ -1,3 +1,11 @@
2012-11-28 Andrew Pinski <apinski@cavium.com>
PR bootstrap/54279
* configure.ac (CXX_FOR_TARGET): Change over to use xg++.
* configure: Regenerate.
* Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Change over to use xg++.
* Makefile.in: Regenerate.
2012-11-27 Siddhesh Poyarekar <siddhesh@redhat.com>
* configure.ac: Disable libsanitizer if we're not building C++.

View File

@ -235,7 +235,7 @@ POSTSTAGE1_CXX_EXPORT = \
@if target-libstdc++-v3-bootstrap
# Override the above if we're bootstrapping C++.
POSTSTAGE1_CXX_EXPORT = \
CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \
CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xg++$(exeext) \
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \

View File

@ -238,7 +238,7 @@ POSTSTAGE1_CXX_EXPORT = \
@if target-libstdc++-v3-bootstrap
# Override the above if we're bootstrapping C++.
POSTSTAGE1_CXX_EXPORT = \
CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \
CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xg++$(exeext) \
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \

2
configure vendored
View File

@ -13628,7 +13628,7 @@ else
esac
if test $ok = yes; then
# An in-tree tool is available and we can use it
CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5
$as_echo "just compiled" >&6; }
elif expr "x$CXX_FOR_TARGET" : "x/" > /dev/null; then

View File

@ -3129,7 +3129,7 @@ GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
dnl see comments for CXX_FOR_TARGET_FLAG_TO_PASS
GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
[gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
[gcc/xg++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
c++)
GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
[gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],

View File

@ -1,3 +1,8 @@
2012-11-28 Andrew Pinski <apinski@cavium.com>
PR bootstrap/54279
* Makefile.in (${QMTEST_DIR}/context): Use xg++ instead of g++.
2012-11-28 Richard Sandiford <rdsandiford@googlemail.com>
PR rtl-optimization/55052

View File

@ -5184,7 +5184,7 @@ ${QMTEST_DIR}/context: stamp-qmtest
echo "CompilerTable.c_path=${objdir}/xgcc" >> $@
echo "CompilerTable.c_options=-B${objdir}/" >> $@
echo "CompilerTable.cplusplus_kind=GCC" >> $@
echo "CompilerTable.cplusplus_path=${objdir}/g++" >> $@
echo "CompilerTable.cplusplus_path=${objdir}/xg++" >> $@
echo "CompilerTable.cplusplus_options=-B${objdir}/" >> $@
echo "DejaGNUTest.target=${target_noncanonical}" >> $@

View File

@ -1,3 +1,12 @@
2012-11-28 Andrew Pinski <apinski@cavium.com>
PR bootstrap/54279
* Make-lang.in (g++$(exeext)): Rename to
(xg++$(exeext)): This.
(g++-cross$(exeext)): Use xg++$(exeext) instead of g++$(exeext).
(c++.start.encap): Likewise.
(c++.install-common): Likewise.
2012-11-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55446

View File

@ -61,15 +61,15 @@ g++spec.o: $(srcdir)/cp/g++spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \
# Create the compiler driver for g++.
GXX_OBJS = $(GCC_OBJS) g++spec.o
g++$(exeext): $(GXX_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBDEPS)
xg++$(exeext): $(GXX_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBDEPS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
$(GXX_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a \
$(EXTRA_GCC_LIBS) $(LIBS)
# Create a version of the g++ driver which calls the cross-compiler.
g++-cross$(exeext): g++$(exeext)
g++-cross$(exeext): xg++$(exeext)
-rm -f g++-cross$(exeext)
cp g++$(exeext) g++-cross$(exeext)
cp xg++$(exeext) g++-cross$(exeext)
# The compiler itself.
# Shared with C front end:
@ -124,7 +124,7 @@ endif
# Build hooks:
c++.all.cross: g++-cross$(exeext)
c++.start.encap: g++$(exeext)
c++.start.encap: xg++$(exeext)
c++.rest.encap:
c++.info:
c++.install-info:
@ -172,7 +172,7 @@ check_g++_parallelize = old-deja.exp dg.exp dg-torture.exp
# and also as either g++ (if native) or $(tooldir)/bin/g++.
c++.install-common: installdirs
-rm -f $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext)
-$(INSTALL_PROGRAM) g++$(exeext) $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext)
-$(INSTALL_PROGRAM) xg++$(exeext) $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext)
-chmod a+x $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext)
-rm -f $(DESTDIR)$(bindir)/$(CXX_INSTALL_NAME)$(exeext)
-( cd $(DESTDIR)$(bindir) && \

View File

@ -1,3 +1,10 @@
2012-11-28 Andrew Pinski <apinski@cavium.com>
PR bootstrap/54279
* lib/g++.exp (g++_init): Search for xg++ instead of g++ in the build
directories.
* lib/obj-c++.exp (obj-c++_init): Likewise.
2012-11-28 Tobias Burnus <burnus@net-b.de>
PR fortran/52161

View File

@ -210,7 +210,7 @@ proc g++_init { args } {
if { [is_remote host] || ! [info exists TESTING_IN_BUILD_TREE] } {
set GXX_UNDER_TEST [transform c++]
} else {
set GXX_UNDER_TEST [findfile $base_dir/../../g++ "$base_dir/../../g++ -B$base_dir/../../" [findfile $base_dir/g++ "$base_dir/g++ -B$base_dir/" [transform c++]]]
set GXX_UNDER_TEST [findfile $base_dir/../../xg++ "$base_dir/../../xg++ -B$base_dir/../../" [findfile $base_dir/xg++ "$base_dir/xg++ -B$base_dir/" [transform c++]]]
}
}
}

View File

@ -221,7 +221,7 @@ proc obj-c++_init { args } {
if { [is_remote host] || ! [info exists TESTING_IN_BUILD_TREE] } {
set OBJCXX_UNDER_TEST [transform c++]
} else {
set OBJCXX_UNDER_TEST [findfile $base_dir/../../g++ "$base_dir/../../g++ -B$base_dir/../../" [findfile $base_dir/g++ "$base_dir/g++ -B$base_dir/" [transform c++]]]
set OBJCXX_UNDER_TEST [findfile $base_dir/../../xg++ "$base_dir/../../xg++ -B$base_dir/../../" [findfile $base_dir/xg++ "$base_dir/xg++ -B$base_dir/" [transform c++]]]
}
}
}

View File

@ -1,3 +1,9 @@
2012-11-28 Andrew Pinski <apinski@cavium.com>
PR bootstrap/54279
* scripts/testsuite_flags.in (--build-cxx): Use xg++ instead of g++.
* testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
2012-11-28 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/std/functional (_Mem_fn): Constrain function call operators

View File

@ -45,7 +45,7 @@ case ${query} in
;;
--build-cxx)
CXX_build="@CXX@"
CXX=`echo "$CXX_build" | sed 's,gcc/xgcc ,gcc/g++ ,'`
CXX=`echo "$CXX_build" | sed 's,gcc/xgcc ,gcc/xg++ ,'`
echo ${CXX}
;;
--build-cc)

View File

@ -181,7 +181,7 @@ proc libstdc++_init { testfile } {
# Compute what needs to be added to the existing LD_LIBRARY_PATH.
if {$gccdir != ""} {
set compiler ${gccdir}/g++
set compiler ${gccdir}/xg++
set ld_library_path ${ld_library_path_tmp}
append ld_library_path ":${blddir}/src/.libs"