[gcc-6] 07/401: * Update gnat and gdc patches, re-enable gnat and gdc.

Ximin Luo infinity0 at debian.org
Wed Apr 5 15:47:55 UTC 2017


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

infinity0 pushed a commit to branch pu/reproducible_builds
in repository gcc-6.

commit 79f8c60cdeae85439357878f1d9686e8e0c54996
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date:   Fri Dec 11 10:36:25 2015 +0000

      * Update gnat and gdc patches, re-enable gnat and gdc.
    
    
    git-svn-id: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-6@8491 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
 debian/changelog                          |   6 +
 debian/control                            | 273 +++++++++++++++++++++
 debian/patches/gdc-6-doc.diff             |  32 +--
 debian/patches/gdc-6.diff                 |  21 +-
 debian/patches/gdc-libphobos-build.diff   | 379 +++++++++++++++---------------
 debian/patches/gdc-versym-cpu.diff        |  22 +-
 debian/patches/gdc-versym-os.diff         |  20 +-
 debian/patches/libgnatprj-cross-hack.diff |  34 +--
 debian/rules.defs                         |   4 +-
 debian/rules.patch                        |   6 +-
 10 files changed, 525 insertions(+), 272 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 9e6208c..f98690c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+gcc-6 (6-20151210-2) experimental; urgency=medium
+
+  * Update gnat and gdc patches, re-enable gnat and gdc.
+
+ -- Matthias Klose <doko at debian.org>  Fri, 11 Dec 2015 12:35:03 +0100
+
 gcc-6 (6-20151210-1) experimental; urgency=medium
 
   * GCC 6 snapshot build, taken from 20151210.
diff --git a/debian/control b/debian/control
index efa51ee..0bc6c49 100644
--- a/debian/control
+++ b/debian/control
@@ -2185,6 +2185,279 @@ Description: GNU Standard C++ Library v3 (documentation files)
  alphabetical list, compound list, file list, namespace members,
  compound members and file members.
 
+Package: gnat-6
+Architecture: any
+Priority: optional
+Pre-Depends: ${misc:Pre-Depends}
+Depends: gcc-6-base (= ${gcc:Version}), gcc-6 (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends}
+Suggests: gnat-6-doc, ada-reference-manual-2012, gnat-6-sjlj
+Breaks:   gnat (<< 4.6.1), dh-ada-library (<< 6.0), gnat-4.6-base (= 4.6.4-2),
+ gnat-4.9-base (= 4.9-20140330-1)
+Replaces: gnat (<< 4.6.1), dh-ada-library (<< 6.0), gnat-4.6-base (= 4.6.4-2),
+ gnat-4.9-base (= 4.9-20140330-1)
+# Takes over symlink from gnat (<< 4.6.1): /usr/bin/gnatgcc.
+# Takes over file from dh-ada-library (<< 6.0): debian_packaging.mk.
+# g-base 4.6.4-2, 4.9-20140330-1 contain debian_packaging.mk by mistake.
+# Newer versions of gnat and dh-ada-library will not provide these files.
+Conflicts: gnat (<< 4.1), gnat-3.1, gnat-3.2, gnat-3.3, gnat-3.4, gnat-3.5,
+ gnat-4.0, gnat-4.1, gnat-4.2, gnat-4.3, gnat-4.4, gnat-4.6, gnat-4.7, gnat-4.8,
+ gnat-4.9, gnat-5
+# These other packages will continue to provide /usr/bin/gnatmake and
+# other files.
+Description: GNU Ada compiler
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ This package provides the compiler, tools and runtime library that handles
+ exceptions using the default zero-cost mechanism.
+
+Package: gnat-6-sjlj
+Architecture: any
+Priority: extra
+Pre-Depends: ${misc:Pre-Depends}
+Depends: gcc-6-base (= ${gcc:Version}), gnat-6 (= ${gnat:Version}), ${misc:Depends}
+Description: GNU Ada compiler (setjump/longjump runtime library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ This package provides an alternative runtime library that handles
+ exceptions using the setjump/longjump mechanism (as a static library
+ only).  You can install it to supplement the normal compiler.
+
+Package: libgnat-6
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Depends: gcc-6-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: runtime for applications compiled with GNAT (shared library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnat library provides runtime components needed by most
+ applications produced with GNAT.
+ .
+ This package contains the runtime shared library.
+
+Package: libgnat-6-dbg
+Section: debug
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: extra
+Depends: gcc-6-base (= ${gcc:Version}), libgnat-6 (= ${gnat:Version}), ${misc:Depends}
+Description: runtime for applications compiled with GNAT (debugging symbols)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnat library provides runtime components needed by most
+ applications produced with GNAT.
+ .
+ This package contains the debugging symbols.
+
+Package: libgnatvsn6-dev
+Section: libdevel
+Architecture: any
+Priority: extra
+Depends: gcc-6-base (= ${gcc:Version}), gnat-6 (= ${gnat:Version}),
+ libgnatvsn6 (= ${gnat:Version}), ${misc:Depends}
+Conflicts: libgnatvsn-dev (<< 6), libgnatvsn4.1-dev, libgnatvsn4.3-dev, libgnatvsn4.4-dev, libgnatvsn4.5-dev, libgnatvsn4.6-dev
+Description: GNU Ada compiler selected components (development files)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnatvsn library exports selected GNAT components for use in other
+ packages, most notably ASIS tools. It is licensed under the GNAT-Modified
+ GPL, allowing to link proprietary programs with it.
+ .
+ This package contains the development files and static library.
+
+Package: libgnatvsn6
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Section: libs
+Depends: gcc-6-base (= ${gcc:Version}), libgnat-6 (= ${gnat:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Ada compiler selected components (shared library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnatvsn library exports selected GNAT components for use in other
+ packages, most notably ASIS tools. It is licensed under the GNAT-Modified
+ GPL, allowing to link proprietary programs with it.
+ .
+ This package contains the runtime shared library.
+
+Package: libgnatvsn6-dbg
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: extra
+Section: debug
+Depends: gcc-6-base (= ${gcc:Version}), libgnatvsn6 (= ${gnat:Version}), ${misc:Depends}
+Suggests: gnat
+Description: GNU Ada compiler selected components (debugging symbols)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ The libgnatvsn library exports selected GNAT components for use in other
+ packages, most notably ASIS tools. It is licensed under the GNAT-Modified
+ GPL, allowing to link proprietary programs with it.
+ .
+ This package contains the debugging symbols.
+
+Package: libgnatprj6-dev
+Section: libdevel
+Architecture: any
+Priority: extra
+Depends: gcc-6-base (= ${gcc:Version}), gnat-6 (= ${gnat:Version}),
+ libgnatprj6 (= ${gnat:Version}),
+ libgnatvsn6-dev (= ${gnat:Version}), ${misc:Depends}
+Conflicts: libgnatprj-dev (<< 6), libgnatprj4.1-dev, libgnatprj4.3-dev, libgnatprj4.4-dev, libgnatprj4.5-dev, libgnatprj4.6-dev
+Description: GNU Ada compiler Project Manager (development files)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ GNAT uses project files to organise source and object files in large-scale
+ development efforts. The libgnatprj library exports GNAT project files
+ management for use in other packages, most notably ASIS tools (package
+ asis-programs) and GNAT Programming Studio (package gnat-gps). It is
+ licensed under the pure GPL; all programs that use it must also be
+ distributed under the GPL, or not distributed at all.
+ .
+ This package contains the development files and static library.
+
+Package: libgnatprj6
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: optional
+Section: libs
+Depends: gcc-6-base (= ${gcc:Version}), libgnat-6 (= ${gnat:Version}),
+ libgnatvsn6 (= ${gnat:Version}),
+ ${shlibs:Depends}, ${misc:Depends}
+Description: GNU Ada compiler Project Manager (shared library)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ GNAT uses project files to organise source and object files in large-scale
+ development efforts. The libgnatprj library exports GNAT project files
+ management for use in other packages, most notably ASIS tools (package
+ asis-programs) and GNAT Programming Studio (package gnat-gps). It is
+ licensed under the pure GPL; all programs that use it must also be
+ distributed under the GPL, or not distributed at all.
+ .
+ This package contains the runtime shared library.
+
+Package: libgnatprj6-dbg
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Priority: extra
+Section: debug
+Depends: gcc-6-base (= ${gcc:Version}), libgnatprj6 (= ${gnat:Version}), ${misc:Depends}
+Suggests: gnat
+Description: GNU Ada compiler Project Manager (debugging symbols)
+ GNAT is a compiler for the Ada programming language. It produces optimized
+ code on platforms supported by the GNU Compiler Collection (GCC).
+ .
+ GNAT uses project files to organise source and object files in large-scale
+ development efforts. The libgnatprj library exports GNAT project files
+ management for use in other packages, most notably ASIS tools (package
+ asis-programs) and GNAT Programming Studio (package gnat-gps). It is
+ licensed under the pure GPL; all programs that use it must also be
+ distributed under the GPL, or not distributed at all.
+ .
+ This package contains the debugging symbols.
+
+Package: gdc-6
+Architecture: any
+Priority: optional
+Depends: gcc-6-base (>= ${gcc:SoftVersion}), g++-6 (>= ${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-6-multilib
+Architecture: any
+Priority: optional
+Depends: gcc-6-base (>= ${gcc:SoftVersion}), gdc-6 (= ${gcc:Version}), gcc-6-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-6-dev
+Architecture: amd64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386
+Section: libdevel
+Priority: optional
+Depends: gcc-6-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-6-dev
+Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el x32
+Section: libdevel
+Priority: optional
+Depends: gcc-6-base (= ${gcc:Version}), lib64gcc-6-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-6-dev
+Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el
+Section: libdevel
+Priority: optional
+Depends: gcc-6-base (= ${gcc:Version}), lib32gcc-6-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-6-dev
+Architecture: amd64 i386
+Section: libdevel
+Priority: optional
+Depends: gcc-6-base (= ${gcc:Version}), libx32gcc-6-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: gcc`'PV-soft-float
+#Architecture: arm armel armhf
+#Priority: PRI(optional)
+#Depends: BASEDEP, depifenabled(`cdev',`gcc`'PV (= ${gcc:Version}),') ${shlibs:Depends}, ${misc:Depends}
+#Conflicts: gcc-4.4-soft-float, gcc-4.5-soft-float, gcc-4.6-soft-float
+#BUILT_USING`'dnl
+#Description: GCC soft-floating-point gcc libraries (ARM)
+# These are versions of basic static libraries such as libgcc.a compiled
+# with the -msoft-float option, for CPUs without a floating-point unit.
+
 Package: fixincludes
 Architecture: any
 Priority: optional
diff --git a/debian/patches/gdc-6-doc.diff b/debian/patches/gdc-6-doc.diff
index 80493ab..c8c50d2 100644
--- a/debian/patches/gdc-6-doc.diff
+++ b/debian/patches/gdc-6-doc.diff
@@ -1,8 +1,6 @@
 # DP: This implements D language support in the GCC back end, and adds
 # DP: relevant documentation about the GDC front end (documentation part).
 
-Index: b/src/gcc/doc/frontends.texi
-===================================================================
 --- a/src/gcc/doc/frontends.texi
 +++ b/src/gcc/doc/frontends.texi
 @@ -9,6 +9,7 @@
@@ -22,30 +20,26 @@ Index: b/src/gcc/doc/frontends.texi
  
  The abbreviation @dfn{GCC} has multiple meanings in common use.  The
  current official meaning is ``GNU Compiler Collection'', which refers
-Index: b/src/gcc/doc/install.texi
-===================================================================
 --- a/src/gcc/doc/install.texi
 +++ b/src/gcc/doc/install.texi
-@@ -1547,12 +1547,12 @@ their runtime libraries should be built.
- grep language= */config-lang.in
+@@ -1547,12 +1547,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:
 - at code{all}, @code{ada}, @code{c}, @code{c++}, @code{fortran},
 + at code{all}, @code{ada}, @code{c}, @code{c++}, @code{d}, @code{fortran},
- @code{go}, @code{java}, @code{objc}, @code{obj-c++}.
+ @code{go}, @code{java}, @code{jit}, @code{lto}, @code{objc}, @code{obj-c++}.
  Building the Ada compiler has special requirements, see below.
  If you do not pass this flag, or specify the option @code{all}, then all
  default languages available in the @file{gcc} sub-tree will be configured.
--Ada, Go and Objective-C++ are not default languages; the rest are.
-+Ada, D, Go and Objective-C++ are not default languages; the rest are.
+-Ada, Go, Jit, and Objective-C++ are not default languages.  LTO is not a
++Ada, D, Go, Jit, and Objective-C++ are not default languages.  LTO is not a
+ default language, but is built by default because @option{--enable-lto} is
+ enabled by default.  The other languages are default languages.
  
- @item --enable-stage1-languages=@var{lang1}, at var{lang2}, at dots{}
- Specify that a particular subset of compilers and their runtime
-Index: b/src/gcc/doc/invoke.texi
-===================================================================
 --- a/src/gcc/doc/invoke.texi
 +++ b/src/gcc/doc/invoke.texi
-@@ -1259,6 +1259,15 @@ called @dfn{specs}.
+@@ -1269,6 +1269,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}.
  
@@ -61,7 +55,7 @@ Index: b/src/gcc/doc/invoke.texi
  @c GCC also knows about some suffixes for languages not yet included:
  @c Pascal:
  @c @var{file}.p
-@@ -1294,6 +1303,7 @@ objective-c  objective-c-header  objecti
+@@ -1304,6 +1313,7 @@ objective-c  objective-c-header  objective-c-cpp-output
  objective-c++ objective-c++-header objective-c++-cpp-output
  assembler  assembler-with-cpp
  ada
@@ -69,11 +63,9 @@ Index: b/src/gcc/doc/invoke.texi
  f77  f77-cpp-input f95  f95-cpp-input
  go
  java
-Index: b/src/gcc/doc/sourcebuild.texi
-===================================================================
 --- a/src/gcc/doc/sourcebuild.texi
 +++ b/src/gcc/doc/sourcebuild.texi
-@@ -109,6 +109,9 @@ The Objective-C and Objective-C++ runtim
+@@ -109,6 +109,9 @@ The Objective-C and Objective-C++ runtime library.
  @item libquadmath
  The runtime support library for quad-precision math operations.
  
@@ -83,11 +75,9 @@ Index: b/src/gcc/doc/sourcebuild.texi
  @item libssp
  The Stack protector runtime library.
  
-Index: b/src/gcc/doc/standards.texi
-===================================================================
 --- a/src/gcc/doc/standards.texi
 +++ b/src/gcc/doc/standards.texi
-@@ -280,6 +280,16 @@ available online, see @uref{http://gcc.g
+@@ -280,6 +280,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-6.diff
index 6f27bed..526fc2f 100644
--- a/debian/patches/gdc-6.diff
+++ b/debian/patches/gdc-6.diff
@@ -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
-@@ -25733,7 +25733,8 @@ rs6000_output_function_epilogue (FILE *f
+@@ -27229,7 +27229,8 @@ rs6000_output_function_epilogue (FILE *f
        if (lang_GNU_C ()
  	  || ! strcmp (language_string, "GNU GIMPLE")
  	  || ! strcmp (language_string, "GNU Go")
@@ -63,11 +63,12 @@ Index: b/src/gcc/dwarf2out.c
 ===================================================================
 --- a/src/gcc/dwarf2out.c
 +++ b/src/gcc/dwarf2out.c
-@@ -4756,6 +4756,15 @@ is_ada (void)
+@@ -4765,6 +4765,16 @@ is_ada (void)
    return lang == DW_LANG_Ada95 || lang == DW_LANG_Ada83;
  }
  
 +/* Return TRUE if the language is D.  */
++
 +static inline bool
 +is_dlang (void)
 +{
@@ -76,10 +77,10 @@ Index: b/src/gcc/dwarf2out.c
 +  return lang == DW_LANG_D;
 +}
 +
- /* Remove the specified attribute if present.  */
+ /* Remove the specified attribute if present.  Return TRUE if removal
+    was successful.  */
  
- static void
-@@ -19843,6 +19852,8 @@ gen_compile_unit_die (const char *filena
+@@ -20324,6 +20334,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;
@@ -88,7 +89,7 @@ Index: b/src/gcc/dwarf2out.c
        else if (dwarf_version >= 5 || !dwarf_strict)
  	{
  	  if (strcmp (language_string, "GNU Go") == 0)
-@@ -20811,7 +20822,7 @@ declare_in_namespace (tree thing, dw_die
+@@ -21349,7 +21361,7 @@ declare_in_namespace (tree thing, dw_die
  
    if (ns_context != context_die)
      {
@@ -97,7 +98,7 @@ Index: b/src/gcc/dwarf2out.c
  	return ns_context;
        if (DECL_P (thing))
  	gen_decl_die (thing, NULL, ns_context);
-@@ -20834,7 +20845,7 @@ gen_namespace_die (tree decl, dw_die_ref
+@@ -21372,7 +21384,7 @@ gen_namespace_die (tree decl, dw_die_ref
      {
        /* Output a real namespace or module.  */
        context_die = setup_namespace_context (decl, comp_unit_die ());
@@ -106,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.  */
-@@ -20897,7 +20908,7 @@ gen_decl_die (tree decl, tree origin, dw
+@@ -21435,7 +21447,7 @@ gen_decl_die (tree decl, tree origin, dw
        break;
  
      case CONST_DECL:
@@ -115,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.  */
-@@ -21368,7 +21379,7 @@ dwarf2out_decl (tree decl)
+@@ -21955,7 +21967,7 @@ dwarf2out_decl (tree decl)
      case CONST_DECL:
        if (debug_info_level <= DINFO_LEVEL_TERSE)
  	return;
@@ -128,7 +129,7 @@ Index: b/src/gcc/gcc.c
 ===================================================================
 --- a/src/gcc/gcc.c
 +++ b/src/gcc/gcc.c
-@@ -1148,6 +1148,7 @@ static const struct compiler default_com
+@@ -1288,6 +1288,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 ee10020..1678778 100644
--- a/debian/patches/gdc-libphobos-build.diff
+++ b/debian/patches/gdc-libphobos-build.diff
@@ -1,5 +1,64 @@
 # 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
@@ -12,7 +71,15 @@ Index: b/src/configure.ac
  		target-boehm-gc \
  		${libgcj} \
  		target-libobjc \
-@@ -1352,6 +1353,7 @@ else
+@@ -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)"
@@ -20,7 +87,7 @@ Index: b/src/configure.ac
    DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
    LD_FOR_BUILD="\$(LD)"
    NM_FOR_BUILD="\$(NM)"
-@@ -3266,6 +3268,7 @@ AC_SUBST(DLLTOOL_FOR_BUILD)
+@@ -3311,6 +3314,7 @@ AC_SUBST(DLLTOOL_FOR_BUILD)
  AC_SUBST(GCJ_FOR_BUILD)
  AC_SUBST(GFORTRAN_FOR_BUILD)
  AC_SUBST(GOC_FOR_BUILD)
@@ -28,7 +95,7 @@ Index: b/src/configure.ac
  AC_SUBST(LDFLAGS_FOR_BUILD)
  AC_SUBST(LD_FOR_BUILD)
  AC_SUBST(NM_FOR_BUILD)
-@@ -3376,6 +3379,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TA
+@@ -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)
@@ -36,7 +103,7 @@ Index: b/src/configure.ac
  
  ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
  ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
-@@ -3411,6 +3415,8 @@ GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_T
+@@ -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)
@@ -49,7 +116,7 @@ Index: b/src/Makefile.def
 ===================================================================
 --- a/src/Makefile.def
 +++ b/src/Makefile.def
-@@ -156,6 +156,7 @@ target_modules = { module= libquadmath;
+@@ -161,6 +161,7 @@ target_modules = { module= libquadmath;
  target_modules = { module= libgfortran; };
  target_modules = { module= libobjc; };
  target_modules = { module= libgo; };
@@ -57,7 +124,7 @@ Index: b/src/Makefile.def
  target_modules = { module= libtermcap; no_check=true;
                     missing=mostlyclean;
                     missing=clean;
-@@ -313,6 +314,7 @@ flags_to_pass = { flag= GCJ_FOR_TARGET ;
+@@ -318,6 +319,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 ; };
@@ -65,7 +132,7 @@ 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 ; };
-@@ -583,6 +585,8 @@ dependencies = { module=configure-target
+@@ -595,6 +597,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; };
@@ -74,7 +141,7 @@ Index: b/src/Makefile.def
  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; };
-@@ -646,6 +650,8 @@ languages = { language=objc;	gcc-check-t
+@@ -659,6 +663,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; };
@@ -83,66 +150,66 @@ Index: b/src/Makefile.def
  
  // Toplevel bootstrap
  bootstrap_stage = { id=1 ; };
-Index: b/src/config-ml.in
+Index: b/src/Makefile.tpl
 ===================================================================
---- a/src/config-ml.in
-+++ b/src/config-ml.in
-@@ -524,6 +524,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}" \
-@@ -757,7 +758,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' '
-@@ -766,6 +767,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.
-@@ -842,6 +844,18 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n
- 	  esac
- 	done
+--- 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; \
+@@ -284,6 +286,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@
+@@ -481,6 +485,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@
  
-+	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,6 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- CC="$CC"
- CXX="$CXX"
- GFORTRAN="$GFORTRAN"
--GCJ="$GCJ"])])dnl
-+GCJ="$GCJ"
-+GDC="$GDC"])])dnl
-+
+@@ -606,6 +611,7 @@ EXTRA_HOST_FLAGS = \
+ 	'GCJ=$(GCJ)' \
+ 	'GFORTRAN=$(GFORTRAN)' \
+ 	'GOC=$(GOC)' \
++	'GDC=$(GDC)' \
+ 	'LD=$(LD)' \
+ 	'LIPO=$(LIPO)' \
+ 	'NM=$(NM)' \
+@@ -662,6 +668,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
@@ -163,7 +230,7 @@ Index: b/src/Makefile.in
  	AR="$(AR)"; export AR; \
  	AS="$(AS)"; export AS; \
  	CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
-@@ -280,6 +282,7 @@ BASE_TARGET_EXPORTS = \
+@@ -281,6 +283,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; \
@@ -171,7 +238,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; \
-@@ -347,6 +350,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@
@@ -179,7 +246,7 @@ Index: b/src/Makefile.in
  LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
  LD_FOR_BUILD = @LD_FOR_BUILD@
  NM_FOR_BUILD = @NM_FOR_BUILD@
-@@ -529,6 +533,7 @@ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @
+@@ -528,6 +532,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@
@@ -187,7 +254,7 @@ Index: b/src/Makefile.in
  DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
  LD_FOR_TARGET=@LD_FOR_TARGET@
  
-@@ -751,6 +756,7 @@ BASE_FLAGS_TO_PASS = \
+@@ -752,6 +757,7 @@ BASE_FLAGS_TO_PASS = \
  	"GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
  	"GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \
  	"GOCFLAGS_FOR_TARGET=$(GOCFLAGS_FOR_TARGET)" \
@@ -195,7 +262,7 @@ Index: b/src/Makefile.in
  	"LD_FOR_TARGET=$(LD_FOR_TARGET)" \
  	"LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \
  	"LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \
-@@ -804,6 +810,7 @@ EXTRA_HOST_FLAGS = \
+@@ -805,6 +811,7 @@ EXTRA_HOST_FLAGS = \
  	'GCJ=$(GCJ)' \
  	'GFORTRAN=$(GFORTRAN)' \
  	'GOC=$(GOC)' \
@@ -203,7 +270,7 @@ Index: b/src/Makefile.in
  	'LD=$(LD)' \
  	'LIPO=$(LIPO)' \
  	'NM=$(NM)' \
-@@ -852,6 +859,7 @@ EXTRA_TARGET_FLAGS = \
+@@ -861,6 +868,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)' \
@@ -211,7 +278,7 @@ Index: b/src/Makefile.in
  	'LD=$(COMPILER_LD_FOR_TARGET)' \
  	'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
  	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
-@@ -954,6 +962,7 @@ configure-target:  \
+@@ -963,6 +971,7 @@ configure-target:  \
      maybe-configure-target-libgfortran \
      maybe-configure-target-libobjc \
      maybe-configure-target-libgo \
@@ -219,7 +286,7 @@ Index: b/src/Makefile.in
      maybe-configure-target-libtermcap \
      maybe-configure-target-winsup \
      maybe-configure-target-libgloss \
-@@ -1123,6 +1132,7 @@ all-target: maybe-all-target-libquadmath
+@@ -1134,6 +1143,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
@@ -227,7 +294,7 @@ Index: b/src/Makefile.in
  all-target: maybe-all-target-libtermcap
  all-target: maybe-all-target-winsup
  all-target: maybe-all-target-libgloss
-@@ -1221,6 +1231,7 @@ info-target: maybe-info-target-libquadma
+@@ -1232,6 +1242,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
@@ -235,7 +302,7 @@ Index: b/src/Makefile.in
  info-target: maybe-info-target-libtermcap
  info-target: maybe-info-target-winsup
  info-target: maybe-info-target-libgloss
-@@ -1312,6 +1323,7 @@ dvi-target: maybe-dvi-target-libquadmath
+@@ -1323,6 +1334,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
@@ -243,7 +310,7 @@ Index: b/src/Makefile.in
  dvi-target: maybe-dvi-target-libtermcap
  dvi-target: maybe-dvi-target-winsup
  dvi-target: maybe-dvi-target-libgloss
-@@ -1403,6 +1415,7 @@ pdf-target: maybe-pdf-target-libquadmath
+@@ -1414,6 +1426,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
@@ -251,7 +318,7 @@ Index: b/src/Makefile.in
  pdf-target: maybe-pdf-target-libtermcap
  pdf-target: maybe-pdf-target-winsup
  pdf-target: maybe-pdf-target-libgloss
-@@ -1494,6 +1507,7 @@ html-target: maybe-html-target-libquadma
+@@ -1505,6 +1518,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
@@ -259,7 +326,7 @@ Index: b/src/Makefile.in
  html-target: maybe-html-target-libtermcap
  html-target: maybe-html-target-winsup
  html-target: maybe-html-target-libgloss
-@@ -1585,6 +1599,7 @@ TAGS-target: maybe-TAGS-target-libquadma
+@@ -1596,6 +1610,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
@@ -267,7 +334,7 @@ Index: b/src/Makefile.in
  TAGS-target: maybe-TAGS-target-libtermcap
  TAGS-target: maybe-TAGS-target-winsup
  TAGS-target: maybe-TAGS-target-libgloss
-@@ -1676,6 +1691,7 @@ install-info-target: maybe-install-info-
+@@ -1687,6 +1702,7 @@ install-info-target: maybe-install-info-
  install-info-target: maybe-install-info-target-libgfortran
  install-info-target: maybe-install-info-target-libobjc
  install-info-target: maybe-install-info-target-libgo
@@ -275,7 +342,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
-@@ -1767,6 +1783,7 @@ install-pdf-target: maybe-install-pdf-ta
+@@ -1778,6 +1794,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
@@ -283,7 +350,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
-@@ -1858,6 +1875,7 @@ install-html-target: maybe-install-html-
+@@ -1869,6 +1886,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
@@ -291,7 +358,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
-@@ -1949,6 +1967,7 @@ installcheck-target: maybe-installcheck-
+@@ -1960,6 +1978,7 @@ installcheck-target: maybe-installcheck-
  installcheck-target: maybe-installcheck-target-libgfortran
  installcheck-target: maybe-installcheck-target-libobjc
  installcheck-target: maybe-installcheck-target-libgo
@@ -299,7 +366,7 @@ Index: b/src/Makefile.in
  installcheck-target: maybe-installcheck-target-libtermcap
  installcheck-target: maybe-installcheck-target-winsup
  installcheck-target: maybe-installcheck-target-libgloss
-@@ -2040,6 +2059,7 @@ mostlyclean-target: maybe-mostlyclean-ta
+@@ -2051,6 +2070,7 @@ mostlyclean-target: maybe-mostlyclean-ta
  mostlyclean-target: maybe-mostlyclean-target-libgfortran
  mostlyclean-target: maybe-mostlyclean-target-libobjc
  mostlyclean-target: maybe-mostlyclean-target-libgo
@@ -307,7 +374,7 @@ Index: b/src/Makefile.in
  mostlyclean-target: maybe-mostlyclean-target-libtermcap
  mostlyclean-target: maybe-mostlyclean-target-winsup
  mostlyclean-target: maybe-mostlyclean-target-libgloss
-@@ -2131,6 +2151,7 @@ clean-target: maybe-clean-target-libquad
+@@ -2142,6 +2162,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
@@ -315,7 +382,7 @@ Index: b/src/Makefile.in
  clean-target: maybe-clean-target-libtermcap
  clean-target: maybe-clean-target-winsup
  clean-target: maybe-clean-target-libgloss
-@@ -2222,6 +2243,7 @@ distclean-target: maybe-distclean-target
+@@ -2233,6 +2254,7 @@ distclean-target: maybe-distclean-target
  distclean-target: maybe-distclean-target-libgfortran
  distclean-target: maybe-distclean-target-libobjc
  distclean-target: maybe-distclean-target-libgo
@@ -323,7 +390,7 @@ Index: b/src/Makefile.in
  distclean-target: maybe-distclean-target-libtermcap
  distclean-target: maybe-distclean-target-winsup
  distclean-target: maybe-distclean-target-libgloss
-@@ -2313,6 +2335,7 @@ maintainer-clean-target: maybe-maintaine
+@@ -2324,6 +2346,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
@@ -331,7 +398,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
-@@ -2459,6 +2482,7 @@ check-target:  \
+@@ -2470,6 +2493,7 @@ check-target:  \
      maybe-check-target-libgfortran \
      maybe-check-target-libobjc \
      maybe-check-target-libgo \
@@ -339,7 +406,7 @@ Index: b/src/Makefile.in
      maybe-check-target-libtermcap \
      maybe-check-target-winsup \
      maybe-check-target-libgloss \
-@@ -2637,6 +2661,7 @@ install-target:  \
+@@ -2657,6 +2681,7 @@ install-target:  \
      maybe-install-target-libgfortran \
      maybe-install-target-libobjc \
      maybe-install-target-libgo \
@@ -347,7 +414,7 @@ Index: b/src/Makefile.in
      maybe-install-target-libtermcap \
      maybe-install-target-winsup \
      maybe-install-target-libgloss \
-@@ -2748,6 +2773,7 @@ install-strip-target:  \
+@@ -2768,6 +2793,7 @@ install-strip-target:  \
      maybe-install-strip-target-libgfortran \
      maybe-install-strip-target-libobjc \
      maybe-install-strip-target-libgo \
@@ -355,7 +422,7 @@ Index: b/src/Makefile.in
      maybe-install-strip-target-libtermcap \
      maybe-install-strip-target-winsup \
      maybe-install-strip-target-libgloss \
-@@ -41295,6 +41321,464 @@ maintainer-clean-target-libgo:
+@@ -41718,6 +41744,464 @@ maintainer-clean-target-libgo:
  
  
  
@@ -371,8 +438,8 @@ Index: b/src/Makefile.in
 +	@r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	echo "Checking multilib configuration for libphobos..."; \
-+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos ; \
-+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null ; \
++	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
++	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
 +	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
 +	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
 +	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
@@ -384,7 +451,7 @@ Index: b/src/Makefile.in
 +	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
 +	fi; \
 +	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
-+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos ; \
++	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
 +	$(NORMAL_TARGET_EXPORTS)  \
 +	echo Configuring in $(TARGET_SUBDIR)/libphobos; \
 +	cd "$(TARGET_SUBDIR)/libphobos" || exit 1; \
@@ -484,11 +551,11 @@ Index: b/src/Makefile.in
 +info-target-libphobos: \
 +    configure-target-libphobos 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing info in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing info in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -510,11 +577,11 @@ Index: b/src/Makefile.in
 +dvi-target-libphobos: \
 +    configure-target-libphobos 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing dvi in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing dvi in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -536,11 +603,11 @@ Index: b/src/Makefile.in
 +pdf-target-libphobos: \
 +    configure-target-libphobos 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing pdf in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing pdf in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -562,11 +629,11 @@ Index: b/src/Makefile.in
 +html-target-libphobos: \
 +    configure-target-libphobos 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing html in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing html in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -588,11 +655,11 @@ Index: b/src/Makefile.in
 +TAGS-target-libphobos: \
 +    configure-target-libphobos 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing TAGS in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing TAGS in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -615,11 +682,11 @@ Index: b/src/Makefile.in
 +    configure-target-libphobos \
 +    info-target-libphobos 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing install-info in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing install-info in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -642,11 +709,11 @@ Index: b/src/Makefile.in
 +    configure-target-libphobos \
 +    pdf-target-libphobos 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing install-pdf in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing install-pdf in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -669,11 +736,11 @@ Index: b/src/Makefile.in
 +    configure-target-libphobos \
 +    html-target-libphobos 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing install-html in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing install-html in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -695,11 +762,11 @@ Index: b/src/Makefile.in
 +installcheck-target-libphobos: \
 +    configure-target-libphobos 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing installcheck in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing installcheck in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -720,11 +787,11 @@ Index: b/src/Makefile.in
 +
 +mostlyclean-target-libphobos: 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -745,11 +812,11 @@ Index: b/src/Makefile.in
 +
 +clean-target-libphobos: 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing clean in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing clean in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -770,11 +837,11 @@ Index: b/src/Makefile.in
 +
 +distclean-target-libphobos: 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing distclean in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing distclean in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -795,11 +862,11 @@ Index: b/src/Makefile.in
 +
 +maintainer-clean-target-libphobos: 
 +	@: $(MAKE); $(unstage)
-+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0 ; \
++	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
 +	r=`${PWD_COMMAND}`; export r; \
 +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 +	$(NORMAL_TARGET_EXPORTS) \
-+	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libphobos" ; \
++	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libphobos"; \
 +	for flag in $(EXTRA_TARGET_FLAGS); do \
 +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
 +	done; \
@@ -820,7 +887,7 @@ Index: b/src/Makefile.in
  .PHONY: configure-target-libtermcap maybe-configure-target-libtermcap
  maybe-configure-target-libtermcap:
  @if gcc-bootstrap
-@@ -48714,6 +49198,14 @@ check-gcc-go:
+@@ -49137,6 +49621,14 @@ check-gcc-go:
  	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-go);
  check-go: check-gcc-go check-target-libgo
  
@@ -835,7 +902,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.
-@@ -50850,6 +51342,7 @@ configure-target-libquadmath: stage_last
+@@ -51343,6 +51835,7 @@ configure-target-libquadmath: stage_last
  configure-target-libgfortran: stage_last
  configure-target-libobjc: stage_last
  configure-target-libgo: stage_last
@@ -843,7 +910,7 @@ Index: b/src/Makefile.in
  configure-target-libtermcap: stage_last
  configure-target-winsup: stage_last
  configure-target-libgloss: stage_last
-@@ -50888,6 +51381,7 @@ configure-target-libquadmath: maybe-all-
+@@ -51381,6 +51874,7 @@ configure-target-libquadmath: maybe-all-
  configure-target-libgfortran: maybe-all-gcc
  configure-target-libobjc: maybe-all-gcc
  configure-target-libgo: maybe-all-gcc
@@ -851,7 +918,7 @@ Index: b/src/Makefile.in
  configure-target-libtermcap: maybe-all-gcc
  configure-target-winsup: maybe-all-gcc
  configure-target-libgloss: maybe-all-gcc
-@@ -51693,6 +52187,8 @@ configure-target-libgo: maybe-all-target
+@@ -52242,6 +52736,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
@@ -860,7 +927,7 @@ Index: b/src/Makefile.in
  configure-target-libjava: maybe-configure-target-zlib
  configure-target-libjava: maybe-configure-target-boehm-gc
  configure-target-libjava: maybe-configure-target-libffi
-@@ -51810,6 +52306,7 @@ configure-target-libquadmath: maybe-all-
+@@ -52360,6 +52856,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
@@ -868,7 +935,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
-@@ -51857,6 +52354,8 @@ configure-target-libobjc: maybe-all-targ
+@@ -52407,6 +52904,8 @@ configure-target-libobjc: maybe-all-targ
  
  configure-target-libgo: maybe-all-target-newlib maybe-all-target-libgloss
  
@@ -877,63 +944,3 @@ 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; \
-@@ -283,6 +285,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; \
-@@ -350,6 +353,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@
-@@ -482,6 +486,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@
- 
-@@ -605,6 +610,7 @@ EXTRA_HOST_FLAGS = \
- 	'GCJ=$(GCJ)' \
- 	'GFORTRAN=$(GFORTRAN)' \
- 	'GOC=$(GOC)' \
-+	'GDC=$(GDC)' \
- 	'LD=$(LD)' \
- 	'LIPO=$(LIPO)' \
- 	'NM=$(NM)' \
-@@ -653,6 +659,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)' \
diff --git a/debian/patches/gdc-versym-cpu.diff b/debian/patches/gdc-versym-cpu.diff
index 9d7baf3..2008633 100644
--- a/debian/patches/gdc-versym-cpu.diff
+++ b/debian/patches/gdc-versym-cpu.diff
@@ -47,9 +47,9 @@ Index: b/src/gcc/config/aarch64/aarch64.h
 ===================================================================
 --- a/src/gcc/config/aarch64/aarch64.h
 +++ b/src/gcc/config/aarch64/aarch64.h
-@@ -95,6 +95,14 @@
- 	builtin_define ("__ARM_FEATURE_CRYPTO");	\
-     } while (0)
+@@ -26,6 +26,14 @@
+ #define TARGET_CPU_CPP_BUILTINS()	\
+   aarch64_cpu_cpp_builtins (pfile)
  
 +/* Target CPU builtins for D.  */
 +#define TARGET_CPU_D_BUILTINS()				\
@@ -61,7 +61,7 @@ Index: b/src/gcc/config/aarch64/aarch64.h
 +
  

  
- /* Target machine storage layout.  */
+ #define REGISTER_TARGET_PRAGMAS() aarch64_register_pragmas ()
 Index: b/src/gcc/config/alpha/alpha.h
 ===================================================================
 --- a/src/gcc/config/alpha/alpha.h
@@ -94,9 +94,9 @@ Index: b/src/gcc/config/arm/arm.h
 ===================================================================
 --- a/src/gcc/config/arm/arm.h
 +++ b/src/gcc/config/arm/arm.h
-@@ -172,6 +172,31 @@ extern char arm_arch_name[];
- 	  builtin_define ("__ARM_ASM_SYNTAX_UNIFIED__");\
-     } while (0)
+@@ -47,6 +47,31 @@ extern char arm_arch_name[];
+ /* Target CPU builtins.  */
+ #define TARGET_CPU_CPP_BUILTINS() arm_cpu_cpp_builtins (pfile)
  
 +/* Target CPU builtins for D.  */
 +#define TARGET_CPU_D_BUILTINS()				\
@@ -130,7 +130,7 @@ Index: b/src/gcc/config/i386/i386.h
 ===================================================================
 --- a/src/gcc/config/i386/i386.h
 +++ b/src/gcc/config/i386/i386.h
-@@ -647,6 +647,24 @@ extern const char *host_detect_local_cpu
+@@ -657,6 +657,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
-@@ -593,6 +593,54 @@ struct mips_cpu_info {
+@@ -622,6 +622,54 @@ struct mips_cpu_info {
      }									\
    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
-@@ -703,6 +703,28 @@ extern unsigned char rs6000_recip_bits[]
+@@ -763,6 +763,28 @@ extern unsigned char rs6000_recip_bits[]
  #define TARGET_CPU_CPP_BUILTINS() \
    rs6000_cpu_cpp_builtins (pfile)
  
@@ -294,7 +294,7 @@ Index: b/src/gcc/config/s390/s390.h
 ===================================================================
 --- a/src/gcc/config/s390/s390.h
 +++ b/src/gcc/config/s390/s390.h
-@@ -113,6 +113,22 @@ enum processor_flags
+@@ -175,6 +175,22 @@ enum processor_flags
  /* Target CPU builtins.  */
  #define TARGET_CPU_CPP_BUILTINS() s390_cpu_cpp_builtins (pfile)
  
diff --git a/debian/patches/gdc-versym-os.diff b/debian/patches/gdc-versym-os.diff
index dc820d2..6ac6fe4 100644
--- a/debian/patches/gdc-versym-os.diff
+++ b/debian/patches/gdc-versym-os.diff
@@ -77,9 +77,9 @@ Index: b/src/gcc/config/darwin.h
 ===================================================================
 --- a/src/gcc/config/darwin.h
 +++ b/src/gcc/config/darwin.h
-@@ -923,4 +923,10 @@ extern void darwin_driver_init (unsigned
-    providing an osx-version-min of this unless overridden by the User.  */
- #define DEF_MIN_OSX_VERSION "10.4"
+@@ -932,4 +932,10 @@ extern void darwin_driver_init (unsigned
+    fall-back default.  */
+ #define DEF_MIN_OSX_VERSION "10.5"
  
 +#define TARGET_OS_D_BUILTINS()					\
 +    do {							\
@@ -279,7 +279,7 @@ Index: b/src/gcc/config/linux.h
 ===================================================================
 --- a/src/gcc/config/linux.h
 +++ b/src/gcc/config/linux.h
-@@ -49,6 +49,28 @@ see the files COPYING3 and COPYING.RUNTI
+@@ -53,6 +53,28 @@ see the files COPYING3 and COPYING.RUNTI
  	builtin_assert ("system=posix");			\
      } while (0)
  
@@ -306,8 +306,8 @@ Index: b/src/gcc/config/linux.h
 +    } while (0)
 +
  /* Determine which dynamic linker to use depending on whether GLIBC or
-    uClibc or Bionic is the default C library and whether
-    -muclibc or -mglibc or -mbionic has been passed to change the default.  */
+    uClibc or Bionic or musl is the default C library and whether
+    -muclibc or -mglibc or -mbionic or -mmusl has been passed to change
 Index: b/src/gcc/config/mips/linux-common.h
 ===================================================================
 --- a/src/gcc/config/mips/linux-common.h
@@ -370,7 +370,7 @@ Index: b/src/gcc/config/rs6000/aix.h
 ===================================================================
 --- a/src/gcc/config/rs6000/aix.h
 +++ b/src/gcc/config/rs6000/aix.h
-@@ -115,6 +115,13 @@
+@@ -129,6 +129,13 @@
      }						\
    while (0)
  
@@ -388,7 +388,7 @@ Index: b/src/gcc/config/rs6000/linux.h
 ===================================================================
 --- a/src/gcc/config/rs6000/linux.h
 +++ b/src/gcc/config/rs6000/linux.h
-@@ -53,6 +53,17 @@
+@@ -57,6 +57,17 @@
      }						\
    while (0)
  
@@ -410,7 +410,7 @@ Index: b/src/gcc/config/rs6000/linux64.h
 ===================================================================
 --- a/src/gcc/config/rs6000/linux64.h
 +++ b/src/gcc/config/rs6000/linux64.h
-@@ -336,6 +336,17 @@ extern int dot_symbols;
+@@ -388,6 +388,17 @@ extern int dot_symbols;
      }							\
    while (0)
  
@@ -426,5 +426,5 @@ Index: b/src/gcc/config/rs6000/linux64.h
 +  while (0)
 +
  #undef  CPP_OS_DEFAULT_SPEC
- #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)"
+ #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux) %(include_extra)"
  
diff --git a/debian/patches/libgnatprj-cross-hack.diff b/debian/patches/libgnatprj-cross-hack.diff
index aa6f1ab..75c5fb4 100644
--- a/debian/patches/libgnatprj-cross-hack.diff
+++ b/debian/patches/libgnatprj-cross-hack.diff
@@ -37,33 +37,11 @@ Index: b/src/libgnatprj/Makefile.in
 ===================================================================
 --- a/src/libgnatprj/Makefile.in
 +++ b/src/libgnatprj/Makefile.in
-@@ -92,12 +92,12 @@ obj-shared/%.o: %.ads
- 	$(GCC) -c -fPIC $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@
+@@ -38,6 +38,7 @@ LN_S := @LN_S@
  
- obj-shared/%.o: %.c
--	$(GPP) -c -fPIC $(CFLAGS) -DHAVE_CONFIG_H -DIN_GCC -pedantic \
-+	$(GPP) -c -fPIC $(CFLAGS) -DHAVE_CONFIG_H -DIN_GCC -DLIBGNATPRJ_CROSS_HACK -pedantic \
- 	   -I at srcdir@/../gcc -I at srcdir@/../include -I at srcdir@/../libcpp/include -I../../gcc \
- 	   $< -o $@
- 
- obj-shared/prefix.o: @srcdir@/../gcc/prefix.c
--	$(GPP) -c -fPIC $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" \
-+	$(GPP) -c -fPIC $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" -DLIBGNATPRJ_CROSS_HACK \
- 	   -I at srcdir@/../gcc -I at srcdir@/../include -I../../gcc -I at srcdir@/../libcpp/include \
- 	   $< -o $@
- 
-@@ -118,12 +118,12 @@ obj-static/%.o: %.ads
- 	$(GCC) -c $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@
- 
- obj-static/%.o: %.c
--	$(GPP) -c $(CFLAGS) -DHAVE_CONFIG_H -DIN_GCC -pedantic \
-+	$(GPP) -c $(CFLAGS) -DHAVE_CONFIG_H -DIN_GCC -DLIBGNATPRJ_CROSS_HACK -pedantic \
- 	   -I at srcdir@/../gcc -I at srcdir@/../include -I at srcdir@/../libcpp/include -I../../gcc \
- 	   $< -o $@
- 
- obj-static/prefix.o: @srcdir@/../gcc/prefix.c
--	$(GPP) -c $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" \
-+	$(GPP) -c $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" -DLIBGNATPRJ_CROSS_HACK \
- 	   -I at srcdir@/../gcc -I at srcdir@/../include -I../../gcc -I at srcdir@/../libcpp/include \
- 	   $< -o $@
+ ifneq (@build@, at host@)
+    CFLAGS += -b @host@
++   CFLAGS += -DLIBGNATPRJ_CROSS_HACK
+ endif
  
+ .PHONY: libgnatprj install
diff --git a/debian/rules.defs b/debian/rules.defs
index 0fc0b0c..41118ae 100644
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -615,7 +615,7 @@ ifneq (,$(filter $(distrelease),lucid))
 endif
 with_ada := $(call envfilt, ada, , , $(with_ada))
 
-with_ada := disabled for GCC 6
+#with_ada := disabled for GCC 6
 
 ifeq ($(DEB_STAGE)-$(filter libgnat, $(with_rtlibs)),rtlibs-)
   with_ada := disabled for rtlibs stage
@@ -911,7 +911,7 @@ ifeq ($(DEB_STAGE)-$(filter libphobos, $(with_rtlibs)),rtlibs-)
 endif
 with_d := $(call envfilt, d, , , $(with_d))
 
-with_d := not yet built for GCC 6
+#with_d := not yet built for GCC 6
 
 ifeq ($(with_base_only),yes)
   with_d := no
diff --git a/debian/rules.patch b/debian/rules.patch
index 5fc9676..df1c14a 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -147,10 +147,8 @@ ifeq ($(with_ada),yes)
 	ada-libgnatvsn \
 	ada-libgnatprj \
 	ada-gnattools-cross \
-	ada-acats
-    #ifneq (,$(filter $(build_type), build-cross cross-build-cross))
-	debian_patches += libgnatprj-cross-hack
-    #endif
+	ada-acats \
+	libgnatprj-cross-hack
     ifneq (,$(filter $(distrelease),lucid precise))
       debian_patches += \
 	libgnatprj-link

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



More information about the Reproducible-commits mailing list