[gcc-7] 12/354: * Update gdc to the trunk 20161114.

Ximin Luo infinity0 at debian.org
Thu Nov 23 15:50:21 UTC 2017


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch master
in repository gcc-7.

commit b5915952dc63dc37194dfad4e6b3bb7b53de0fac
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date:   Mon Nov 14 14:01:20 2016 +0000

      * Update gdc to the trunk 20161114.
    
    
    git-svn-id: svn+ssh://svn.debian.org/svn/gcccvs/branches/sid/gcc-7@9052 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
 debian/changelog                                  |   1 +
 debian/control                                    |  75 ++++
 debian/patches/{gdc-6-doc.diff => gdc-7-doc.diff} |  18 +-
 debian/patches/{gdc-6.diff => gdc-7.diff}         |  18 +-
 debian/patches/gdc-libphobos-build.diff           | 424 +++++++++++-----------
 debian/patches/gdc-libphobos-link.diff            |   6 +-
 debian/patches/gdc-symbol-mangling.diff           |  38 --
 debian/patches/gdc-versym-cpu.diff                |  10 +-
 debian/patches/gdc-versym-os.diff                 |  25 +-
 debian/rules.d/binary-d.mk                        |   8 +-
 debian/rules.defs                                 |   2 +-
 debian/rules.patch                                |   5 +-
 debian/rules2                                     |   3 +-
 13 files changed, 327 insertions(+), 306 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 73a33b3..0eb6a0b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 gcc-7 (7-20161112-2) UNRELEASED; urgency=medium
 
   * More symbol files updates.
+  * Update gdc to the trunk 20161114.
 
  -- Matthias Klose <doko at debian.org>  Sun, 13 Nov 2016 13:04:49 +0100
 
diff --git a/debian/control b/debian/control
index 053691c..7f50337 100644
--- a/debian/control
+++ b/debian/control
@@ -2048,6 +2048,81 @@ Description: GNU Standard C++ Library v3 (documentation files)
  alphabetical list, compound list, file list, namespace members,
  compound members and file members.
 
+Package: gdc-7
+Architecture: any
+Priority: optional
+Depends: gcc-7-base (>= ${gcc:SoftVersion}), g++-7 (>= ${gcc:SoftVersion}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends}
+Provides: gdc, d-compiler, d-v2-compiler
+Replaces: gdc (<< 4.4.6-5)
+Description: GNU D compiler (version 2)
+ This is the GNU D compiler, which compiles D on platforms supported by gcc.
+ It uses the gcc backend to generate optimised code.
+ .
+ This compiler supports D language version 2.
+
+Package: gdc-7-multilib
+Architecture: any
+Priority: optional
+Depends: gcc-7-base (>= ${gcc:SoftVersion}), gdc-7 (= ${gcc:Version}), gcc-7-multilib (= ${gcc:Version}), ${dep:libphobosbiarchdev}${shlibs:Depends}, ${misc:Depends}
+Description: GNU D compiler (version 2, multilib support)
+ This is the GNU D compiler, which compiles D on platforms supported by gcc.
+ It uses the gcc backend to generate optimised code.
+ .
+ This is a dependency package, depending on development packages
+ for the non-default multilib architecture(s).
+
+Package: libphobos-7-dev
+Architecture: amd64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386
+Section: libdevel
+Priority: optional
+Depends: gcc-7-base (= ${gcc:Version}), zlib1g-dev, ${shlibs:Depends}, ${misc:Depends}
+Description: Phobos D standard library
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+#Package: libphobos`'PHOBOS_V`'PV`'TS-dbg
+#Section: debug
+#Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs')
+#Priority: extra
+#Depends: BASELDEP, libphobos`'PHOBOS_V`'PV-dev (= ${gdc:Version}), ${misc:Depends}
+#Provides: libphobos`'PHOBOS_V`'TS-dbg
+#BUILT_USING`'dnl
+#Description: The Phobos D standard library (debug symbols)
+# This is the Phobos standard library that comes with the D2 compiler.
+# .
+# For more information check http://www.dlang.org/phobos/
+
+Package: lib64phobos-7-dev
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Section: libdevel
+Priority: optional
+Depends: gcc-7-base (= ${gcc:Version}), lib64gcc-7-dev (= ${gcc:Version}), lib64z1-dev, ${shlibs:Depends}, ${misc:Depends}
+Description: Phobos D standard library (64bit development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: lib32phobos-7-dev
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Section: libdevel
+Priority: optional
+Depends: gcc-7-base (= ${gcc:Version}), lib32gcc-7-dev (= ${gcc:Version}), lib32z1-dev, ${shlibs:Depends}, ${misc:Depends}
+Description: Phobos D standard library (64bit development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
+Package: libx32phobos-7-dev
+Architecture: amd64 i386
+Section: libdevel
+Priority: optional
+Depends: gcc-7-base (= ${gcc:Version}), libx32gcc-7-dev (= ${gcc:Version}), ${dep:libx32z}, ${shlibs:Depends}, ${misc:Depends}
+Description: Phobos D standard library (x32 development files)
+ This is the Phobos standard library that comes with the D2 compiler.
+ .
+ For more information check http://www.dlang.org/phobos/
+
 Package: fixincludes
 Architecture: any
 Priority: optional
diff --git a/debian/patches/gdc-6-doc.diff b/debian/patches/gdc-7-doc.diff
similarity index 89%
rename from debian/patches/gdc-6-doc.diff
rename to debian/patches/gdc-7-doc.diff
index c8c50d2..0854043 100644
--- a/debian/patches/gdc-6-doc.diff
+++ b/debian/patches/gdc-7-doc.diff
@@ -2,7 +2,7 @@
 # DP: relevant documentation about the GDC front end (documentation part).
 
 --- a/src/gcc/doc/frontends.texi
-+++ b/src/gcc/doc/frontends.texi
++++ a/src/gcc/doc/frontends.texi
 @@ -9,6 +9,7 @@
  @cindex GNU Compiler Collection
  @cindex GNU C Compiler
@@ -21,8 +21,8 @@
  The abbreviation @dfn{GCC} has multiple meanings in common use.  The
  current official meaning is ``GNU Compiler Collection'', which refers
 --- a/src/gcc/doc/install.texi
-+++ b/src/gcc/doc/install.texi
-@@ -1547,12 +1547,12 @@ their runtime libraries should be built.  For a list of valid values for
++++ a/src/gcc/doc/install.texi
+@@ -1566,12 +1566,12 @@ their runtime libraries should be built.  For a list of valid values for
  grep ^language= */config-lang.in
  @end smallexample
  Currently, you can use any of the following:
@@ -38,8 +38,8 @@
  enabled by default.  The other languages are default languages.
  
 --- a/src/gcc/doc/invoke.texi
-+++ b/src/gcc/doc/invoke.texi
-@@ -1269,6 +1269,15 @@ called @dfn{specs}.
++++ a/src/gcc/doc/invoke.texi
+@@ -1330,6 +1330,15 @@ called @dfn{specs}.
  Ada source code file containing a library unit body (a subprogram or
  package body).  Such files are also called @dfn{bodies}.
  
@@ -55,7 +55,7 @@
  @c GCC also knows about some suffixes for languages not yet included:
  @c Pascal:
  @c @var{file}.p
-@@ -1304,6 +1313,7 @@ objective-c  objective-c-header  objective-c-cpp-output
+@@ -1365,6 +1374,7 @@ objective-c  objective-c-header  objective-c-cpp-output
  objective-c++ objective-c++-header objective-c++-cpp-output
  assembler  assembler-with-cpp
  ada
@@ -64,7 +64,7 @@
  go
  java
 --- a/src/gcc/doc/sourcebuild.texi
-+++ b/src/gcc/doc/sourcebuild.texi
++++ a/src/gcc/doc/sourcebuild.texi
 @@ -109,6 +109,9 @@ The Objective-C and Objective-C++ runtime library.
  @item libquadmath
  The runtime support library for quad-precision math operations.
@@ -76,8 +76,8 @@
  The Stack protector runtime library.
  
 --- a/src/gcc/doc/standards.texi
-+++ b/src/gcc/doc/standards.texi
-@@ -280,6 +280,16 @@ available online, see @uref{http://gcc.gnu.org/readings.html}
++++ a/src/gcc/doc/standards.texi
+@@ -307,6 +307,16 @@ available online, see @uref{http://gcc.gnu.org/readings.html}
  As of the GCC 4.7.1 release, GCC supports the Go 1 language standard,
  described at @uref{http://golang.org/doc/go1.html}.
  
diff --git a/debian/patches/gdc-6.diff b/debian/patches/gdc-7.diff
similarity index 89%
rename from debian/patches/gdc-6.diff
rename to debian/patches/gdc-7.diff
index dc144b2..d4c2be7 100644
--- a/debian/patches/gdc-6.diff
+++ b/debian/patches/gdc-7.diff
@@ -20,7 +20,7 @@ Index: b/src/gcc/config/i386/cygming.h
 ===================================================================
 --- a/src/gcc/config/i386/cygming.h
 +++ b/src/gcc/config/i386/cygming.h
-@@ -175,6 +175,10 @@ along with GCC; see the file COPYING3.
+@@ -181,6 +181,10 @@ along with GCC; see the file COPYING3.
  
  #undef MATH_LIBRARY
  #define MATH_LIBRARY ""
@@ -49,7 +49,7 @@ Index: b/src/gcc/config/rs6000/rs6000.c
 ===================================================================
 --- a/src/gcc/config/rs6000/rs6000.c
 +++ b/src/gcc/config/rs6000/rs6000.c
-@@ -28533,7 +28533,8 @@ rs6000_output_function_epilogue (FILE *f
+@@ -30292,7 +30292,8 @@ rs6000_output_function_epilogue (FILE *f
        if (lang_GNU_C ()
  	  || ! strcmp (language_string, "GNU GIMPLE")
  	  || ! strcmp (language_string, "GNU Go")
@@ -63,7 +63,7 @@ Index: b/src/gcc/dwarf2out.c
 ===================================================================
 --- a/src/gcc/dwarf2out.c
 +++ b/src/gcc/dwarf2out.c
-@@ -4846,6 +4846,16 @@ is_ada (void)
+@@ -5023,6 +5023,16 @@ is_ada (void)
    return lang == DW_LANG_Ada95 || lang == DW_LANG_Ada83;
  }
  
@@ -80,7 +80,7 @@ Index: b/src/gcc/dwarf2out.c
  /* Remove the specified attribute if present.  Return TRUE if removal
     was successful.  */
  
-@@ -21948,6 +21958,8 @@ gen_compile_unit_die (const char *filena
+@@ -23407,6 +23417,8 @@ gen_compile_unit_die (const char *filena
  	language = DW_LANG_ObjC;
        else if (strcmp (language_string, "GNU Objective-C++") == 0)
  	language = DW_LANG_ObjC_plus_plus;
@@ -89,7 +89,7 @@ Index: b/src/gcc/dwarf2out.c
        else if (dwarf_version >= 5 || !dwarf_strict)
  	{
  	  if (strcmp (language_string, "GNU Go") == 0)
-@@ -23400,7 +23412,7 @@ declare_in_namespace (tree thing, dw_die
+@@ -24927,7 +24939,7 @@ declare_in_namespace (tree thing, dw_die
  
    if (ns_context != context_die)
      {
@@ -98,7 +98,7 @@ Index: b/src/gcc/dwarf2out.c
  	return ns_context;
        if (DECL_P (thing))
  	gen_decl_die (thing, NULL, NULL, ns_context);
-@@ -23423,7 +23435,7 @@ gen_namespace_die (tree decl, dw_die_ref
+@@ -24950,7 +24962,7 @@ gen_namespace_die (tree decl, dw_die_ref
      {
        /* Output a real namespace or module.  */
        context_die = setup_namespace_context (decl, comp_unit_die ());
@@ -107,7 +107,7 @@ Index: b/src/gcc/dwarf2out.c
  			       ? DW_TAG_module : DW_TAG_namespace,
  			       context_die, decl);
        /* For Fortran modules defined in different CU don't add src coords.  */
-@@ -23490,7 +23502,7 @@ gen_decl_die (tree decl, tree origin, st
+@@ -25017,7 +25029,7 @@ gen_decl_die (tree decl, tree origin, st
        break;
  
      case CONST_DECL:
@@ -116,7 +116,7 @@ Index: b/src/gcc/dwarf2out.c
  	{
  	  /* The individual enumerators of an enum type get output when we output
  	     the Dwarf representation of the relevant enum type itself.  */
-@@ -24011,7 +24023,7 @@ dwarf2out_decl (tree decl)
+@@ -25562,7 +25574,7 @@ dwarf2out_decl (tree decl)
      case CONST_DECL:
        if (debug_info_level <= DINFO_LEVEL_TERSE)
  	return;
@@ -129,7 +129,7 @@ Index: b/src/gcc/gcc.c
 ===================================================================
 --- a/src/gcc/gcc.c
 +++ b/src/gcc/gcc.c
-@@ -1288,6 +1288,7 @@ static const struct compiler default_com
+@@ -1304,6 +1304,7 @@ static const struct compiler default_com
    {".java", "#Java", 0, 0, 0}, {".class", "#Java", 0, 0, 0},
    {".zip", "#Java", 0, 0, 0}, {".jar", "#Java", 0, 0, 0},
    {".go", "#Go", 0, 1, 0},
diff --git a/debian/patches/gdc-libphobos-build.diff b/debian/patches/gdc-libphobos-build.diff
index 31ec133..4a1e0fa 100644
--- a/debian/patches/gdc-libphobos-build.diff
+++ b/debian/patches/gdc-libphobos-build.diff
@@ -1,122 +1,10 @@
 # DP: This implements building of libphobos library in GCC.
 
-Index: b/src/config-ml.in
-===================================================================
---- a/src/config-ml.in
-+++ b/src/config-ml.in
-@@ -513,6 +513,7 @@ multi-do:
- 				exec_prefix="$(exec_prefix)" \
- 				GCJFLAGS="$(GCJFLAGS) $${flags}" \
- 				GOCFLAGS="$(GOCFLAGS) $${flags}" \
-+				GDCFLAGS="$(GDCFLAGS) $${flags}" \
- 				CXXFLAGS="$(CXXFLAGS) $${flags}" \
- 				LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
- 				LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
-@@ -746,7 +747,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
-         break
-       fi
-     done
--    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"'
-+    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags" GDC="${GDC_}$flags"'
- 
-     if [ "${with_target_subdir}" = "." ]; then
- 	CC_=$CC' '
-@@ -755,6 +756,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
- 	GCJ_=$GCJ' '
- 	GFORTRAN_=$GFORTRAN' '
- 	GOC_=$GOC' '
-+	GDC_=$GDC' '
-     else
- 	# Create a regular expression that matches any string as long
- 	# as ML_POPDIR.
-@@ -831,6 +833,18 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
- 	  esac
- 	done
- 
-+	GDC_=
-+	for arg in ${GDC}; do
-+	  case $arg in
-+	  -[BIL]"${ML_POPDIR}"/*)
-+	    GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-+	  "${ML_POPDIR}"/*)
-+	    GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
-+	  *)
-+	    GDC_="${GDC_}${arg} " ;;
-+	  esac
-+	done
-+
- 	if test "x${LD_LIBRARY_PATH+set}" = xset; then
- 	  LD_LIBRARY_PATH_=
- 	  for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
-Index: b/src/config/multi.m4
-===================================================================
---- a/src/config/multi.m4
-+++ b/src/config/multi.m4
-@@ -65,4 +65,5 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- CC="$CC"
- CXX="$CXX"
- GFORTRAN="$GFORTRAN"
--GCJ="$GCJ"])])dnl
-+GCJ="$GCJ"
-+GDC="$GDC"])])dnl
-Index: b/src/configure.ac
-===================================================================
---- a/src/configure.ac
-+++ b/src/configure.ac
-@@ -171,6 +171,7 @@ target_libraries="target-libgcc \
- 		target-libssp \
- 		target-libquadmath \
- 		target-libgfortran \
-+		target-libphobos \
- 		target-boehm-gc \
- 		${libgcj} \
- 		target-libobjc \
-@@ -1371,6 +1372,7 @@ if test "${build}" != "${host}" ; then
-   GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
-   GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
-   GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
-+  GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
-   DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
-   LD_FOR_BUILD=${LD_FOR_BUILD-ld}
-   NM_FOR_BUILD=${NM_FOR_BUILD-nm}
-@@ -1385,6 +1387,7 @@ else
-   GCJ_FOR_BUILD="\$(GCJ)"
-   GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
-   GOC_FOR_BUILD="\$(GOC)"
-+  GDC_FOR_BUILD="\$(GDC)"
-   DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
-   LD_FOR_BUILD="\$(LD)"
-   NM_FOR_BUILD="\$(NM)"
-@@ -3311,6 +3314,7 @@ AC_SUBST(DLLTOOL_FOR_BUILD)
- AC_SUBST(GCJ_FOR_BUILD)
- AC_SUBST(GFORTRAN_FOR_BUILD)
- AC_SUBST(GOC_FOR_BUILD)
-+AC_SUBST(GDC_FOR_BUILD)
- AC_SUBST(LDFLAGS_FOR_BUILD)
- AC_SUBST(LD_FOR_BUILD)
- AC_SUBST(NM_FOR_BUILD)
-@@ -3421,6 +3425,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TA
- NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
- NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
- NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
-+NCN_STRICT_CHECK_TARGET_TOOLS(GDC_FOR_TARGET, gdc)
- 
- ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
- ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
-@@ -3456,6 +3461,8 @@ GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_T
- 		[gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
- GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,
- 		[gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go)
-+GCC_TARGET_TOOL(gdc, GDC_FOR_TARGET, GDC,
-+		[gcc/gdc -B$$r/$(HOST_SUBDIR)/gcc/], d)
- GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
- GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
- GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
 Index: b/src/Makefile.def
 ===================================================================
 --- a/src/Makefile.def
 +++ b/src/Makefile.def
-@@ -162,6 +162,7 @@ target_modules = { module= libquadmath;
+@@ -157,6 +157,7 @@ target_modules = { module= libquadmath;
  target_modules = { module= libgfortran; };
  target_modules = { module= libobjc; };
  target_modules = { module= libgo; };
@@ -124,7 +12,7 @@ Index: b/src/Makefile.def
  target_modules = { module= libtermcap; no_check=true;
                     missing=mostlyclean;
                     missing=clean;
-@@ -319,6 +320,7 @@ flags_to_pass = { flag= GCJ_FOR_TARGET ;
+@@ -284,6 +285,7 @@ flags_to_pass = { flag= GCJ_FOR_TARGET ;
  flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
  flags_to_pass = { flag= GOC_FOR_TARGET ; };
  flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
@@ -132,16 +20,16 @@ Index: b/src/Makefile.def
  flags_to_pass = { flag= LD_FOR_TARGET ; };
  flags_to_pass = { flag= LIPO_FOR_TARGET ; };
  flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
-@@ -596,6 +598,8 @@ dependencies = { module=configure-target
+@@ -552,6 +554,8 @@ dependencies = { module=configure-target
  dependencies = { module=all-target-libgo; on=all-target-libbacktrace; };
  dependencies = { module=all-target-libgo; on=all-target-libffi; };
  dependencies = { module=all-target-libgo; on=all-target-libatomic; };
 +dependencies = { module=configure-target-libphobos; on=configure-target-zlib; };
 +dependencies = { module=all-target-libphobos; on=all-target-zlib; };
- dependencies = { module=configure-target-libjava; on=configure-target-zlib; };
- dependencies = { module=configure-target-libjava; on=configure-target-boehm-gc; };
- dependencies = { module=configure-target-libjava; on=configure-target-libffi; };
-@@ -660,6 +664,8 @@ languages = { language=objc;	gcc-check-t
+ dependencies = { module=configure-target-libobjc; on=configure-target-boehm-gc; };
+ dependencies = { module=all-target-libobjc; on=all-target-boehm-gc; };
+ dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
+@@ -606,6 +610,8 @@ languages = { language=objc;	gcc-check-t
  languages = { language=obj-c++;	gcc-check-target=check-obj-c++; };
  languages = { language=go;	gcc-check-target=check-go;
  				lib-check-target=check-target-libgo; };
@@ -150,66 +38,6 @@ Index: b/src/Makefile.def
  
  // Toplevel bootstrap
  bootstrap_stage = { id=1 ; };
-Index: b/src/Makefile.tpl
-===================================================================
---- a/src/Makefile.tpl
-+++ b/src/Makefile.tpl
-@@ -160,6 +160,7 @@ BUILD_EXPORTS = \
- 	GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
- 	GOC="$(GOC_FOR_BUILD)"; export GOC; \
- 	GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
-+	GDC="$(GDC_FOR_BUILD)"; export GDC; \
- 	DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
- 	LD="$(LD_FOR_BUILD)"; export LD; \
- 	LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
-@@ -197,6 +198,7 @@ HOST_EXPORTS = \
- 	GCJ="$(GCJ)"; export GCJ; \
- 	GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
- 	GOC="$(GOC)"; export GOC; \
-+	GDC="$(GDC)"; export GDC; \
- 	AR="$(AR)"; export AR; \
- 	AS="$(AS)"; export AS; \
- 	CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
-@@ -285,6 +287,7 @@ BASE_TARGET_EXPORTS = \
- 	GCJ="$(GCJ_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GCJ; \
- 	GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
- 	GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
-+	GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
- 	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
- 	LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
- 	LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
-@@ -353,6 +356,7 @@ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
- GCJ_FOR_BUILD = @GCJ_FOR_BUILD@
- GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
- GOC_FOR_BUILD = @GOC_FOR_BUILD@
-+GDC_FOR_BUILD = @GDC_FOR_BUILD@
- LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
- LD_FOR_BUILD = @LD_FOR_BUILD@
- NM_FOR_BUILD = @NM_FOR_BUILD@
-@@ -483,6 +487,7 @@ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @
- GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@
- GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
- GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
-+GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
- DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
- LD_FOR_TARGET=@LD_FOR_TARGET@
- 
-@@ -609,6 +614,7 @@ EXTRA_HOST_FLAGS = \
- 	'GCJ=$(GCJ)' \
- 	'GFORTRAN=$(GFORTRAN)' \
- 	'GOC=$(GOC)' \
-+	'GDC=$(GDC)' \
- 	'LD=$(LD)' \
- 	'LIPO=$(LIPO)' \
- 	'NM=$(NM)' \
-@@ -665,6 +671,7 @@ EXTRA_TARGET_FLAGS = \
- 	'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 	'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 	'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
-+	'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 	'LD=$(COMPILER_LD_FOR_TARGET)' \
- 	'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
- 	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
 Index: b/src/Makefile.in
 ===================================================================
 --- a/src/Makefile.in
@@ -238,7 +66,7 @@ Index: b/src/Makefile.in
  	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
  	LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
  	LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
-@@ -350,6 +353,7 @@ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
+@@ -348,6 +351,7 @@ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
  GCJ_FOR_BUILD = @GCJ_FOR_BUILD@
  GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
  GOC_FOR_BUILD = @GOC_FOR_BUILD@
@@ -246,7 +74,7 @@ Index: b/src/Makefile.in
  LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
  LD_FOR_BUILD = @LD_FOR_BUILD@
  NM_FOR_BUILD = @NM_FOR_BUILD@
-@@ -530,6 +534,7 @@ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @
+@@ -558,6 +562,7 @@ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @
  GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@
  GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
  GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
@@ -254,7 +82,7 @@ Index: b/src/Makefile.in
  DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
  LD_FOR_TARGET=@LD_FOR_TARGET@
  
-@@ -754,6 +759,7 @@ BASE_FLAGS_TO_PASS = \
+@@ -782,6 +787,7 @@ BASE_FLAGS_TO_PASS = \
  	"GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
  	"GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \
  	"GOCFLAGS_FOR_TARGET=$(GOCFLAGS_FOR_TARGET)" \
@@ -262,7 +90,7 @@ Index: b/src/Makefile.in
  	"LD_FOR_TARGET=$(LD_FOR_TARGET)" \
  	"LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \
  	"LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \
-@@ -808,6 +814,7 @@ EXTRA_HOST_FLAGS = \
+@@ -842,6 +848,7 @@ EXTRA_HOST_FLAGS = \
  	'GCJ=$(GCJ)' \
  	'GFORTRAN=$(GFORTRAN)' \
  	'GOC=$(GOC)' \
@@ -270,7 +98,7 @@ Index: b/src/Makefile.in
  	'LD=$(LD)' \
  	'LIPO=$(LIPO)' \
  	'NM=$(NM)' \
-@@ -864,6 +871,7 @@ EXTRA_TARGET_FLAGS = \
+@@ -899,6 +906,7 @@ EXTRA_TARGET_FLAGS = \
  	'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
  	'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
  	'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
@@ -278,7 +106,7 @@ Index: b/src/Makefile.in
  	'LD=$(COMPILER_LD_FOR_TARGET)' \
  	'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
  	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
-@@ -966,6 +974,7 @@ configure-target:  \
+@@ -1001,6 +1009,7 @@ configure-target:  \
      maybe-configure-target-libgfortran \
      maybe-configure-target-libobjc \
      maybe-configure-target-libgo \
@@ -286,7 +114,7 @@ Index: b/src/Makefile.in
      maybe-configure-target-libtermcap \
      maybe-configure-target-winsup \
      maybe-configure-target-libgloss \
-@@ -1137,6 +1146,7 @@ all-target: maybe-all-target-libquadmath
+@@ -1167,6 +1176,7 @@ all-target: maybe-all-target-libquadmath
  all-target: maybe-all-target-libgfortran
  all-target: maybe-all-target-libobjc
  all-target: maybe-all-target-libgo
@@ -294,7 +122,7 @@ Index: b/src/Makefile.in
  all-target: maybe-all-target-libtermcap
  all-target: maybe-all-target-winsup
  all-target: maybe-all-target-libgloss
-@@ -1235,6 +1245,7 @@ info-target: maybe-info-target-libquadma
+@@ -1260,6 +1270,7 @@ info-target: maybe-info-target-libquadma
  info-target: maybe-info-target-libgfortran
  info-target: maybe-info-target-libobjc
  info-target: maybe-info-target-libgo
@@ -302,7 +130,7 @@ Index: b/src/Makefile.in
  info-target: maybe-info-target-libtermcap
  info-target: maybe-info-target-winsup
  info-target: maybe-info-target-libgloss
-@@ -1326,6 +1337,7 @@ dvi-target: maybe-dvi-target-libquadmath
+@@ -1346,6 +1357,7 @@ dvi-target: maybe-dvi-target-libquadmath
  dvi-target: maybe-dvi-target-libgfortran
  dvi-target: maybe-dvi-target-libobjc
  dvi-target: maybe-dvi-target-libgo
@@ -310,7 +138,7 @@ Index: b/src/Makefile.in
  dvi-target: maybe-dvi-target-libtermcap
  dvi-target: maybe-dvi-target-winsup
  dvi-target: maybe-dvi-target-libgloss
-@@ -1417,6 +1429,7 @@ pdf-target: maybe-pdf-target-libquadmath
+@@ -1432,6 +1444,7 @@ pdf-target: maybe-pdf-target-libquadmath
  pdf-target: maybe-pdf-target-libgfortran
  pdf-target: maybe-pdf-target-libobjc
  pdf-target: maybe-pdf-target-libgo
@@ -318,7 +146,7 @@ Index: b/src/Makefile.in
  pdf-target: maybe-pdf-target-libtermcap
  pdf-target: maybe-pdf-target-winsup
  pdf-target: maybe-pdf-target-libgloss
-@@ -1508,6 +1521,7 @@ html-target: maybe-html-target-libquadma
+@@ -1518,6 +1531,7 @@ html-target: maybe-html-target-libquadma
  html-target: maybe-html-target-libgfortran
  html-target: maybe-html-target-libobjc
  html-target: maybe-html-target-libgo
@@ -326,7 +154,7 @@ Index: b/src/Makefile.in
  html-target: maybe-html-target-libtermcap
  html-target: maybe-html-target-winsup
  html-target: maybe-html-target-libgloss
-@@ -1599,6 +1613,7 @@ TAGS-target: maybe-TAGS-target-libquadma
+@@ -1604,6 +1618,7 @@ TAGS-target: maybe-TAGS-target-libquadma
  TAGS-target: maybe-TAGS-target-libgfortran
  TAGS-target: maybe-TAGS-target-libobjc
  TAGS-target: maybe-TAGS-target-libgo
@@ -342,7 +170,7 @@ Index: b/src/Makefile.in
  install-info-target: maybe-install-info-target-libtermcap
  install-info-target: maybe-install-info-target-winsup
  install-info-target: maybe-install-info-target-libgloss
-@@ -1781,6 +1797,7 @@ install-pdf-target: maybe-install-pdf-ta
+@@ -1776,6 +1792,7 @@ install-pdf-target: maybe-install-pdf-ta
  install-pdf-target: maybe-install-pdf-target-libgfortran
  install-pdf-target: maybe-install-pdf-target-libobjc
  install-pdf-target: maybe-install-pdf-target-libgo
@@ -350,7 +178,7 @@ Index: b/src/Makefile.in
  install-pdf-target: maybe-install-pdf-target-libtermcap
  install-pdf-target: maybe-install-pdf-target-winsup
  install-pdf-target: maybe-install-pdf-target-libgloss
-@@ -1872,6 +1889,7 @@ install-html-target: maybe-install-html-
+@@ -1862,6 +1879,7 @@ install-html-target: maybe-install-html-
  install-html-target: maybe-install-html-target-libgfortran
  install-html-target: maybe-install-html-target-libobjc
  install-html-target: maybe-install-html-target-libgo
@@ -358,7 +186,7 @@ Index: b/src/Makefile.in
  install-html-target: maybe-install-html-target-libtermcap
  install-html-target: maybe-install-html-target-winsup
  install-html-target: maybe-install-html-target-libgloss
-@@ -1963,6 +1981,7 @@ installcheck-target: maybe-installcheck-
+@@ -1948,6 +1966,7 @@ installcheck-target: maybe-installcheck-
  installcheck-target: maybe-installcheck-target-libgfortran
  installcheck-target: maybe-installcheck-target-libobjc
  installcheck-target: maybe-installcheck-target-libgo
@@ -366,7 +194,7 @@ Index: b/src/Makefile.in
  installcheck-target: maybe-installcheck-target-libtermcap
  installcheck-target: maybe-installcheck-target-winsup
  installcheck-target: maybe-installcheck-target-libgloss
-@@ -2054,6 +2073,7 @@ mostlyclean-target: maybe-mostlyclean-ta
+@@ -2034,6 +2053,7 @@ mostlyclean-target: maybe-mostlyclean-ta
  mostlyclean-target: maybe-mostlyclean-target-libgfortran
  mostlyclean-target: maybe-mostlyclean-target-libobjc
  mostlyclean-target: maybe-mostlyclean-target-libgo
@@ -374,7 +202,7 @@ Index: b/src/Makefile.in
  mostlyclean-target: maybe-mostlyclean-target-libtermcap
  mostlyclean-target: maybe-mostlyclean-target-winsup
  mostlyclean-target: maybe-mostlyclean-target-libgloss
-@@ -2145,6 +2165,7 @@ clean-target: maybe-clean-target-libquad
+@@ -2120,6 +2140,7 @@ clean-target: maybe-clean-target-libquad
  clean-target: maybe-clean-target-libgfortran
  clean-target: maybe-clean-target-libobjc
  clean-target: maybe-clean-target-libgo
@@ -382,7 +210,7 @@ Index: b/src/Makefile.in
  clean-target: maybe-clean-target-libtermcap
  clean-target: maybe-clean-target-winsup
  clean-target: maybe-clean-target-libgloss
-@@ -2236,6 +2257,7 @@ distclean-target: maybe-distclean-target
+@@ -2206,6 +2227,7 @@ distclean-target: maybe-distclean-target
  distclean-target: maybe-distclean-target-libgfortran
  distclean-target: maybe-distclean-target-libobjc
  distclean-target: maybe-distclean-target-libgo
@@ -390,7 +218,7 @@ Index: b/src/Makefile.in
  distclean-target: maybe-distclean-target-libtermcap
  distclean-target: maybe-distclean-target-winsup
  distclean-target: maybe-distclean-target-libgloss
-@@ -2327,6 +2349,7 @@ maintainer-clean-target: maybe-maintaine
+@@ -2292,6 +2314,7 @@ maintainer-clean-target: maybe-maintaine
  maintainer-clean-target: maybe-maintainer-clean-target-libgfortran
  maintainer-clean-target: maybe-maintainer-clean-target-libobjc
  maintainer-clean-target: maybe-maintainer-clean-target-libgo
@@ -398,7 +226,7 @@ Index: b/src/Makefile.in
  maintainer-clean-target: maybe-maintainer-clean-target-libtermcap
  maintainer-clean-target: maybe-maintainer-clean-target-winsup
  maintainer-clean-target: maybe-maintainer-clean-target-libgloss
-@@ -2474,6 +2497,7 @@ check-target:  \
+@@ -2434,6 +2457,7 @@ check-target:  \
      maybe-check-target-libgfortran \
      maybe-check-target-libobjc \
      maybe-check-target-libgo \
@@ -406,7 +234,7 @@ Index: b/src/Makefile.in
      maybe-check-target-libtermcap \
      maybe-check-target-winsup \
      maybe-check-target-libgloss \
-@@ -2661,6 +2685,7 @@ install-target:  \
+@@ -2616,6 +2640,7 @@ install-target:  \
      maybe-install-target-libgfortran \
      maybe-install-target-libobjc \
      maybe-install-target-libgo \
@@ -414,7 +242,7 @@ Index: b/src/Makefile.in
      maybe-install-target-libtermcap \
      maybe-install-target-winsup \
      maybe-install-target-libgloss \
-@@ -2772,6 +2797,7 @@ install-strip-target:  \
+@@ -2722,6 +2747,7 @@ install-strip-target:  \
      maybe-install-strip-target-libgfortran \
      maybe-install-strip-target-libobjc \
      maybe-install-strip-target-libgo \
@@ -422,7 +250,7 @@ Index: b/src/Makefile.in
      maybe-install-strip-target-libtermcap \
      maybe-install-strip-target-winsup \
      maybe-install-strip-target-libgloss \
-@@ -41722,6 +41748,464 @@ maintainer-clean-target-libgo:
+@@ -46122,6 +46148,464 @@ maintainer-clean-target-libgo:
  
  
  
@@ -887,7 +715,7 @@ Index: b/src/Makefile.in
  .PHONY: configure-target-libtermcap maybe-configure-target-libtermcap
  maybe-configure-target-libtermcap:
  @if gcc-bootstrap
-@@ -49141,6 +49625,14 @@ check-gcc-go:
+@@ -51863,6 +52347,14 @@ check-gcc-go:
  	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-go);
  check-go: check-gcc-go check-target-libgo
  
@@ -902,7 +730,7 @@ Index: b/src/Makefile.in
  
  # The gcc part of install-no-fixedincludes, which relies on an intimate
  # knowledge of how a number of gcc internal targets (inter)operate.  Delegate.
-@@ -51347,6 +51839,7 @@ configure-target-libquadmath: stage_last
+@@ -54740,6 +55232,7 @@ configure-target-libquadmath: stage_last
  configure-target-libgfortran: stage_last
  configure-target-libobjc: stage_last
  configure-target-libgo: stage_last
@@ -910,7 +738,7 @@ Index: b/src/Makefile.in
  configure-target-libtermcap: stage_last
  configure-target-winsup: stage_last
  configure-target-libgloss: stage_last
-@@ -51385,6 +51878,7 @@ configure-target-libquadmath: maybe-all-
+@@ -54775,6 +55268,7 @@ configure-target-libquadmath: maybe-all-
  configure-target-libgfortran: maybe-all-gcc
  configure-target-libobjc: maybe-all-gcc
  configure-target-libgo: maybe-all-gcc
@@ -918,16 +746,16 @@ Index: b/src/Makefile.in
  configure-target-libtermcap: maybe-all-gcc
  configure-target-winsup: maybe-all-gcc
  configure-target-libgloss: maybe-all-gcc
-@@ -52246,6 +52740,8 @@ configure-target-libgo: maybe-all-target
+@@ -55803,6 +56297,8 @@ configure-target-libgo: maybe-all-target
  all-target-libgo: maybe-all-target-libbacktrace
  all-target-libgo: maybe-all-target-libffi
  all-target-libgo: maybe-all-target-libatomic
 +configure-target-libphobos: maybe-configure-target-zlib
 +all-target-libphobos: maybe-all-target-zlib
- configure-target-libjava: maybe-configure-target-zlib
- configure-target-libjava: maybe-configure-target-boehm-gc
- configure-target-libjava: maybe-configure-target-libffi
-@@ -52364,6 +52860,7 @@ configure-target-libquadmath: maybe-all-
+ configure-target-libobjc: maybe-configure-target-boehm-gc
+ all-target-libobjc: maybe-all-target-boehm-gc
+ configure-target-libstdc++-v3: maybe-configure-target-libgomp
+@@ -55931,6 +56427,7 @@ configure-target-libquadmath: maybe-all-
  configure-target-libgfortran: maybe-all-target-libgcc
  configure-target-libobjc: maybe-all-target-libgcc
  configure-target-libgo: maybe-all-target-libgcc
@@ -935,7 +763,7 @@ Index: b/src/Makefile.in
  configure-target-libtermcap: maybe-all-target-libgcc
  configure-target-winsup: maybe-all-target-libgcc
  configure-target-libgloss: maybe-all-target-libgcc
-@@ -52411,6 +52908,8 @@ configure-target-libobjc: maybe-all-targ
+@@ -55973,6 +56470,8 @@ configure-target-libobjc: maybe-all-targ
  
  configure-target-libgo: maybe-all-target-newlib maybe-all-target-libgloss
  
@@ -944,3 +772,177 @@ Index: b/src/Makefile.in
  configure-target-libtermcap: maybe-all-target-newlib maybe-all-target-libgloss
  
  configure-target-winsup: maybe-all-target-newlib maybe-all-target-libgloss
+Index: b/src/Makefile.tpl
+===================================================================
+--- a/src/Makefile.tpl
++++ b/src/Makefile.tpl
+@@ -160,6 +160,7 @@ BUILD_EXPORTS = \
+ 	GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+ 	GOC="$(GOC_FOR_BUILD)"; export GOC; \
+ 	GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
++	GDC="$(GDC_FOR_BUILD)"; export GDC; \
+ 	DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
+ 	LD="$(LD_FOR_BUILD)"; export LD; \
+ 	LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
+@@ -197,6 +198,7 @@ HOST_EXPORTS = \
+ 	GCJ="$(GCJ)"; export GCJ; \
+ 	GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
+ 	GOC="$(GOC)"; export GOC; \
++	GDC="$(GDC)"; export GDC; \
+ 	AR="$(AR)"; export AR; \
+ 	AS="$(AS)"; export AS; \
+ 	CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
+@@ -285,6 +287,7 @@ BASE_TARGET_EXPORTS = \
+ 	GCJ="$(GCJ_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GCJ; \
+ 	GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
+ 	GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
++	GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \
+ 	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ 	LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
+ 	LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+@@ -351,6 +354,7 @@ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
+ GCJ_FOR_BUILD = @GCJ_FOR_BUILD@
+ GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@
+ GOC_FOR_BUILD = @GOC_FOR_BUILD@
++GDC_FOR_BUILD = @GDC_FOR_BUILD@
+ LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
+ LD_FOR_BUILD = @LD_FOR_BUILD@
+ NM_FOR_BUILD = @NM_FOR_BUILD@
+@@ -491,6 +495,7 @@ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @
+ GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@
+ GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
+ GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@
++GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@
+ DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
+ LD_FOR_TARGET=@LD_FOR_TARGET@
+ 
+@@ -617,6 +622,7 @@ EXTRA_HOST_FLAGS = \
+ 	'GCJ=$(GCJ)' \
+ 	'GFORTRAN=$(GFORTRAN)' \
+ 	'GOC=$(GOC)' \
++	'GDC=$(GDC)' \
+ 	'LD=$(LD)' \
+ 	'LIPO=$(LIPO)' \
+ 	'NM=$(NM)' \
+@@ -674,6 +680,7 @@ EXTRA_TARGET_FLAGS = \
+ 	'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+ 	'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+ 	'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \
++	'GDC=$$(GDC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
+ 	'LD=$(COMPILER_LD_FOR_TARGET)' \
+ 	'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
+ 	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
+Index: b/src/config-ml.in
+===================================================================
+--- a/src/config-ml.in
++++ b/src/config-ml.in
+@@ -513,6 +513,7 @@ multi-do:
+ 				exec_prefix="$(exec_prefix)" \
+ 				GCJFLAGS="$(GCJFLAGS) $${flags}" \
+ 				GOCFLAGS="$(GOCFLAGS) $${flags}" \
++				GDCFLAGS="$(GDCFLAGS) $${flags}" \
+ 				CXXFLAGS="$(CXXFLAGS) $${flags}" \
+ 				LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
+ 				LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
+@@ -746,7 +747,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+         break
+       fi
+     done
+-    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags"'
++    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags" GDC="${GDC_}$flags"'
+ 
+     if [ "${with_target_subdir}" = "." ]; then
+ 	CC_=$CC' '
+@@ -755,6 +756,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ 	GCJ_=$GCJ' '
+ 	GFORTRAN_=$GFORTRAN' '
+ 	GOC_=$GOC' '
++	GDC_=$GDC' '
+     else
+ 	# Create a regular expression that matches any string as long
+ 	# as ML_POPDIR.
+@@ -831,6 +833,18 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
+ 	  esac
+ 	done
+ 
++	GDC_=
++	for arg in ${GDC}; do
++	  case $arg in
++	  -[BIL]"${ML_POPDIR}"/*)
++	    GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
++	  "${ML_POPDIR}"/*)
++	    GDC_="${GDC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
++	  *)
++	    GDC_="${GDC_}${arg} " ;;
++	  esac
++	done
++
+ 	if test "x${LD_LIBRARY_PATH+set}" = xset; then
+ 	  LD_LIBRARY_PATH_=
+ 	  for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
+Index: b/src/config/multi.m4
+===================================================================
+--- a/src/config/multi.m4
++++ b/src/config/multi.m4
+@@ -65,4 +65,5 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ CC="$CC"
+ CXX="$CXX"
+ GFORTRAN="$GFORTRAN"
+-GCJ="$GCJ"])])dnl
++GCJ="$GCJ"
++GDC="$GDC"])])dnl
+Index: b/src/configure.ac
+===================================================================
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -165,7 +165,8 @@ target_libraries="target-libgcc \
+ 		target-libffi \
+ 		target-libobjc \
+ 		target-libada \
+-		target-libgo"
++		target-libgo \
++		target-libphobos"
+ 
+ # these tools are built using the target libraries, and are intended to
+ # run only in the target environment
+@@ -1259,6 +1260,7 @@ if test "${build}" != "${host}" ; then
+   GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
+   GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
+   GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
++  GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc}
+   DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
+   LD_FOR_BUILD=${LD_FOR_BUILD-ld}
+   NM_FOR_BUILD=${NM_FOR_BUILD-nm}
+@@ -1273,6 +1275,7 @@ else
+   GCJ_FOR_BUILD="\$(GCJ)"
+   GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
+   GOC_FOR_BUILD="\$(GOC)"
++  GDC_FOR_BUILD="\$(GDC)"
+   DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
+   LD_FOR_BUILD="\$(LD)"
+   NM_FOR_BUILD="\$(NM)"
+@@ -3186,6 +3189,7 @@ AC_SUBST(DLLTOOL_FOR_BUILD)
+ AC_SUBST(GCJ_FOR_BUILD)
+ AC_SUBST(GFORTRAN_FOR_BUILD)
+ AC_SUBST(GOC_FOR_BUILD)
++AC_SUBST(GDC_FOR_BUILD)
+ AC_SUBST(LDFLAGS_FOR_BUILD)
+ AC_SUBST(LD_FOR_BUILD)
+ AC_SUBST(NM_FOR_BUILD)
+@@ -3296,6 +3300,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TA
+ NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
+ NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
+ NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
++NCN_STRICT_CHECK_TARGET_TOOLS(GDC_FOR_TARGET, gdc)
+ 
+ ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
+ ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
+@@ -3329,6 +3334,8 @@ GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_T
+ 		[gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
+ GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,
+ 		[gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go)
++GCC_TARGET_TOOL(gdc, GDC_FOR_TARGET, GDC,
++		[gcc/gdc -B$$r/$(HOST_SUBDIR)/gcc/], d)
+ GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
+ GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
+ GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
diff --git a/debian/patches/gdc-libphobos-link.diff b/debian/patches/gdc-libphobos-link.diff
index 8495796..8ed8bc4 100644
--- a/debian/patches/gdc-libphobos-link.diff
+++ b/debian/patches/gdc-libphobos-link.diff
@@ -1,5 +1,7 @@
 # DP: gdc: Always link with -ldl when linking with -lgphobos.
 
+Index: b/src/gcc/d/d-spec.c
+===================================================================
 --- a/src/gcc/d/d-spec.c
 +++ b/src/gcc/d/d-spec.c
 @@ -75,6 +75,10 @@
@@ -13,7 +15,7 @@
  void
  lang_specific_driver (cl_decoded_option **in_decoded_options,
  		      unsigned int *in_decoded_options_count,
-@@ -494,6 +498,10 @@
+@@ -510,6 +514,10 @@ lang_specific_driver (cl_decoded_option
  		       CL_DRIVER, &new_decoded_options[j]);
        added_libraries++;
        j++;
@@ -23,4 +25,4 @@
 +      j++;
  
  #ifdef HAVE_LD_STATIC_DYNAMIC
-       if (library > 1 && !static_link)
+       if (library == 3 && static_link)
diff --git a/debian/patches/gdc-symbol-mangling.diff b/debian/patches/gdc-symbol-mangling.diff
deleted file mode 100644
index 57704c1..0000000
--- a/debian/patches/gdc-symbol-mangling.diff
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/src/gcc/d/d-decls.cc
-+++ b/src/gcc/d/d-decls.cc
-@@ -291,11 +291,17 @@ FuncDeclaration::toSymbol()
-       tree vindex = NULL_TREE;
- 
-       // Run full semantic on symbols we need to know about during compilation.
--      if (inferRetType && type && !type->nextOf() && !functionSemantic())
-+      if (inferRetType && type && !type->nextOf())
- 	{
--	  csym = new Symbol();
--	  csym->Stree = error_mark_node;
--	  return csym;
-+	  Module *old_current_module_decl = current_module_decl;
-+	  current_module_decl = NULL;
-+	  if (!functionSemantic())
-+	    {
-+	      csym = new Symbol();
-+	      csym->Stree = error_mark_node;
-+	      return csym;
-+	    }
-+	  current_module_decl = old_current_module_decl;
- 	}
- 
-       // Use same symbol for FuncDeclaration templates with same mangle
---- a/src/gcc/d/d-objfile.cc
-+++ b/src/gcc/d/d-objfile.cc
-@@ -1155,8 +1155,11 @@ FuncDeclaration::toObjFile()
-   // Ensure all semantic passes have ran.
-   if (semanticRun < PASSsemantic3)
-     {
-+      Module *old_current_module_decl = current_module_decl;
-+      current_module_decl = NULL;
-       functionSemantic3();
-       Module::runDeferredSemantic3();
-+      current_module_decl = old_current_module_decl;
-     }
- 
-   if (global.errors)
diff --git a/debian/patches/gdc-versym-cpu.diff b/debian/patches/gdc-versym-cpu.diff
index 68c7179..a8f7753 100644
--- a/debian/patches/gdc-versym-cpu.diff
+++ b/debian/patches/gdc-versym-cpu.diff
@@ -125,12 +125,12 @@ Index: b/src/gcc/config/arm/arm.h
 +
  #include "config/arm/arm-opts.h"
  
- enum target_cpus
+ /* The processor for which instructions should be scheduled.  */
 Index: b/src/gcc/config/i386/i386.h
 ===================================================================
 --- a/src/gcc/config/i386/i386.h
 +++ b/src/gcc/config/i386/i386.h
-@@ -664,6 +664,24 @@ extern const char *host_detect_local_cpu
+@@ -660,6 +660,24 @@ extern const char *host_detect_local_cpu
  /* Target CPU builtins.  */
  #define TARGET_CPU_CPP_BUILTINS() ix86_target_macros ()
  
@@ -177,7 +177,7 @@ Index: b/src/gcc/config/mips/mips.h
 ===================================================================
 --- a/src/gcc/config/mips/mips.h
 +++ b/src/gcc/config/mips/mips.h
-@@ -622,6 +622,54 @@ struct mips_cpu_info {
+@@ -640,6 +640,54 @@ struct mips_cpu_info {
      }									\
    while (0)
  
@@ -236,7 +236,7 @@ Index: b/src/gcc/config/pa/pa.h
 ===================================================================
 --- a/src/gcc/config/pa/pa.h
 +++ b/src/gcc/config/pa/pa.h
-@@ -185,6 +185,20 @@ do {								\
+@@ -179,6 +179,20 @@ do {								\
         builtin_define("_PA_RISC1_0");				\
  } while (0)
  
@@ -261,7 +261,7 @@ Index: b/src/gcc/config/rs6000/rs6000.h
 ===================================================================
 --- a/src/gcc/config/rs6000/rs6000.h
 +++ b/src/gcc/config/rs6000/rs6000.h
-@@ -802,6 +802,28 @@ extern unsigned char rs6000_recip_bits[]
+@@ -815,6 +815,28 @@ extern unsigned char rs6000_recip_bits[]
  #define TARGET_CPU_CPP_BUILTINS() \
    rs6000_cpu_cpp_builtins (pfile)
  
diff --git a/debian/patches/gdc-versym-os.diff b/debian/patches/gdc-versym-os.diff
index 5c0757d..83472b8 100644
--- a/debian/patches/gdc-versym-os.diff
+++ b/debian/patches/gdc-versym-os.diff
@@ -40,7 +40,7 @@ Index: b/src/gcc/config/alpha/linux.h
  	  builtin_define ("_GNU_SOURCE");			\
      } while (0)
  
-+#undef TARGET_OS_D_BUILTINS 
++#undef TARGET_OS_D_BUILTINS
 +#define TARGET_OS_D_BUILTINS()					\
 +    do {							\
 +	if (OPTION_GLIBC)					\
@@ -77,7 +77,7 @@ Index: b/src/gcc/config/darwin.h
 ===================================================================
 --- a/src/gcc/config/darwin.h
 +++ b/src/gcc/config/darwin.h
-@@ -934,4 +934,10 @@ extern void darwin_driver_init (unsigned
+@@ -929,4 +929,10 @@ extern void darwin_driver_init (unsigned
     fall-back default.  */
  #define DEF_MIN_OSX_VERSION "10.5"
  
@@ -217,27 +217,6 @@ Index: b/src/gcc/config/kfreebsd-gnu.h
  #define GNU_USER_DYNAMIC_LINKER        GLIBC_DYNAMIC_LINKER
  #define GNU_USER_DYNAMIC_LINKER32      GLIBC_DYNAMIC_LINKER32
  #define GNU_USER_DYNAMIC_LINKER64      GLIBC_DYNAMIC_LINKER64
-Index: b/src/gcc/config/knetbsd-gnu.h
-===================================================================
---- a/src/gcc/config/knetbsd-gnu.h
-+++ b/src/gcc/config/knetbsd-gnu.h
-@@ -30,6 +30,16 @@ along with GCC; see the file COPYING3.
-     }						\
-   while (0)
- 
-+#undef TARGET_OS_D_BUILTINS
-+#define TARGET_OS_D_BUILTINS()			\
-+  do						\
-+    {						\
-+      builtin_define ("NetBSD");		\
-+      builtin_define ("Posix");			\
-+      builtin_define ("GNU_GLibc");		\
-+    }						\
-+  while (0)
-+
- 
- #undef GNU_USER_DYNAMIC_LINKER
- #define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1"
 Index: b/src/gcc/config/kopensolaris-gnu.h
 ===================================================================
 --- a/src/gcc/config/kopensolaris-gnu.h
diff --git a/debian/rules.d/binary-d.mk b/debian/rules.d/binary-d.mk
index d004819..f919381 100644
--- a/debian/rules.d/binary-d.mk
+++ b/debian/rules.d/binary-d.mk
@@ -157,10 +157,10 @@ $(binary_stamp)-libphobos: $(install_stamp)
 	rm -rf $(d_libphobos)
 	dh_installdirs -p$(p_libphobos) $(dirs_libphobos)
 
-	mv $(d)/$(usr_lib)/libg{druntime,phobos2}.a \
+	mv $(d)/$(usr_lib)/libg{druntime,phobos}.a \
 		$(d)/$(gcc_lib_dir)/.
 	$(dh_compat2) dh_movefiles -p$(p_libphobos) \
-		$(gcc_lib_dir)/libg{druntime,phobos2}.a
+		$(gcc_lib_dir)/libg{druntime,phobos}.a
 
 	# included in gdc package
 	rm -f $(d_libphobos)/$(gdc_include_dir)/__entrypoint.di
@@ -187,10 +187,10 @@ define __do_libphobos_dev
 	rm -rf $(d_l)
 	dh_installdirs -p$(p_l) \
 		$(gcc_lib_dir$(2))
-	mv $(d)/$(usr_lib$(2))/libg{druntime,phobos2}.a \
+	mv $(d)/$(usr_lib$(2))/libg{druntime,phobos}.a \
 		$(d)/$(gcc_lib_dir$(2))/.
 	$(dh_compat2) dh_movefiles -p$(p_l) \
-		$(gcc_lib_dir$(2))/libg{druntime,phobos2}.a
+		$(gcc_lib_dir$(2))/libg{druntime,phobos}.a
 	$(if $(2),,
 	$(dh_compat2) dh_movefiles -p$(p_l) \
 		$(gdc_include_dir)
diff --git a/debian/rules.defs b/debian/rules.defs
index c2693a3..d724ee0 100644
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -828,7 +828,7 @@ ifeq ($(DEB_STAGE)-$(filter libphobos, $(with_rtlibs)),rtlibs-)
 endif
 with_d := $(call envfilt, d, , , $(with_d))
 
-with_d := not yet built for GCC 7
+#with_d := not yet built for GCC 7
 
 ifeq ($(with_base_only),yes)
   with_d := no
diff --git a/debian/rules.patch b/debian/rules.patch
index 432d863..751ee7a 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -158,7 +158,7 @@ endif
 
 ifeq ($(with_d),yes)
   debian_patches += \
-	gdc-6 \
+	gdc-7 \
 	gdc-updates \
 	gdc-versym-cpu \
 	gdc-versym-os \
@@ -166,10 +166,9 @@ ifeq ($(with_d),yes)
 	gdc-base-version \
 	gdc-profiledbuild \
 	gdc-libphobos-link \
-	gdc-symbol-mangling
 #	gdc-multiarch
   ifneq ($(GFDL_INVARIANT_FREE),yes)
-    debian_patches += gdc-6-doc
+    debian_patches += gdc-7-doc
   else
     debian_patches += gdc-texinfo
   endif
diff --git a/debian/rules2 b/debian/rules2
index 4cc0ed1..c099221 100644
--- a/debian/rules2
+++ b/debian/rules2
@@ -355,7 +355,8 @@ endif
 
 endif # !DEB_STAGE
 
-CONFARGS += --with-system-zlib
+# FIXME: zlib not available for all multilibs
+#CONFARGS += --with-system-zlib
 
 ifeq ($(with_objc)-$(with_objc_gc),yes-yes)
   CONFARGS += --enable-objc-gc

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/gcc-7.git



More information about the Reproducible-commits mailing list