[gcc-7] 42/354: * Build the GC enabled libobjc using the system libgc when available

Ximin Luo infinity0 at debian.org
Thu Nov 23 15:50:28 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 ff509404ada07673b55c876c7464c0a58bc7c8a6
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date:   Tue Nov 22 23:53:08 2016 +0000

      * Build the GC enabled libobjc using the system libgc when available
    
    
    git-svn-id: svn+ssh://svn.debian.org/svn/gcccvs/branches/sid/gcc-7@9121 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
 debian/patches/boehm-gc-getnprocs.diff  |   20 -
 debian/patches/boehm-gc-nocheck.diff    |   18 -
 debian/patches/gdc-libphobos-build.diff |   78 +-
 debian/patches/libobjc-system-gc.diff   | 1360 ++++++++++++++++++++++++++++---
 debian/patches/note-gnu-stack.diff      |   47 --
 debian/rules.patch                      |    5 +-
 6 files changed, 1288 insertions(+), 240 deletions(-)

diff --git a/debian/patches/boehm-gc-getnprocs.diff b/debian/patches/boehm-gc-getnprocs.diff
deleted file mode 100644
index 5b470cf..0000000
--- a/debian/patches/boehm-gc-getnprocs.diff
+++ /dev/null
@@ -1,20 +0,0 @@
-# DP: boehm-gc/pthread_support.c (GC_get_nprocs): Use sysconf as fallback.
-
----
- boehm-gc/pthread_support.c |    3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-Index: b/src/boehm-gc/pthread_support.c
-===================================================================
---- a/src/boehm-gc/pthread_support.c
-+++ b/src/boehm-gc/pthread_support.c
-@@ -724,7 +724,8 @@ int GC_get_nprocs()
-     f = open("/proc/stat", O_RDONLY);
-     if (f < 0 || (len = STAT_READ(f, stat_buf, STAT_BUF_SIZE)) < 100) {
- 	WARN("Couldn't read /proc/stat\n", 0);
--	return -1;
-+	/* Fallback to sysconf after the warning */
-+	return sysconf(_SC_NPROCESSORS_ONLN);
-     }
-     for (i = 0; i < len - 100; ++i) {
-         if (stat_buf[i] == '\n' && stat_buf[i+1] == 'c'
diff --git a/debian/patches/boehm-gc-nocheck.diff b/debian/patches/boehm-gc-nocheck.diff
deleted file mode 100644
index 231daf6..0000000
--- a/debian/patches/boehm-gc-nocheck.diff
+++ /dev/null
@@ -1,18 +0,0 @@
-# DP: Disable running the boehm-gc testsuite. Hangs the buildd at least on hppa.
-
----
- boehm-gc/Makefile.in |    3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
---- a/src/boehm-gc/Makefile.in
-+++ b/src/boehm-gc/Makefile.in
-@@ -684,7 +684,8 @@ check-TESTS: $(TESTS)
- 	  test "$$failed" -eq 0; \
- 	else :; fi
- check-am: $(check_PROGRAMS)
--	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
-+	: # $(MAKE) $(AM_MAKEFLAGS) check-TESTS
-+	@echo target $@ disabled for Debian build.
- check: check-recursive
- all-am: Makefile $(LTLIBRARIES) all-multi
- installdirs: installdirs-recursive
diff --git a/debian/patches/gdc-libphobos-build.diff b/debian/patches/gdc-libphobos-build.diff
index 0a9e2f9..ff640e6 100644
--- a/debian/patches/gdc-libphobos-build.diff
+++ b/debian/patches/gdc-libphobos-build.diff
@@ -12,7 +12,7 @@ Index: b/src/Makefile.def
  target_modules = { module= libtermcap; no_check=true;
                     missing=mostlyclean;
                     missing=clean;
-@@ -290,6 +291,7 @@ flags_to_pass = { flag= FLAGS_FOR_TARGET
+@@ -289,6 +290,7 @@ flags_to_pass = { flag= FLAGS_FOR_TARGET
  flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
  flags_to_pass = { flag= GOC_FOR_TARGET ; };
  flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
@@ -20,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 ; };
-@@ -560,6 +562,8 @@ dependencies = { module=configure-target
+@@ -558,6 +560,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-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; };
-@@ -614,6 +618,8 @@ languages = { language=objc;	gcc-check-t
+ dependencies = { module=configure-target-liboffloadmic; on=configure-target-libgomp; };
+ dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; };
+@@ -610,6 +614,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; };
@@ -114,7 +114,7 @@ Index: b/src/Makefile.in
      maybe-configure-target-libtermcap \
      maybe-configure-target-winsup \
      maybe-configure-target-libgloss \
-@@ -1160,6 +1169,7 @@ all-target: maybe-all-target-libquadmath
+@@ -1159,6 +1168,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
@@ -122,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
-@@ -1254,6 +1264,7 @@ info-target: maybe-info-target-libquadma
+@@ -1252,6 +1262,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
@@ -130,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
-@@ -1341,6 +1352,7 @@ dvi-target: maybe-dvi-target-libquadmath
+@@ -1338,6 +1349,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
@@ -138,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
-@@ -1428,6 +1440,7 @@ pdf-target: maybe-pdf-target-libquadmath
+@@ -1424,6 +1436,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
@@ -146,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
-@@ -1515,6 +1528,7 @@ html-target: maybe-html-target-libquadma
+@@ -1510,6 +1523,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
@@ -154,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
-@@ -1602,6 +1616,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
@@ -162,7 +162,7 @@ Index: b/src/Makefile.in
  TAGS-target: maybe-TAGS-target-libtermcap
  TAGS-target: maybe-TAGS-target-winsup
  TAGS-target: maybe-TAGS-target-libgloss
-@@ -1689,6 +1704,7 @@ install-info-target: maybe-install-info-
+@@ -1682,6 +1697,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
@@ -170,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
-@@ -1776,6 +1792,7 @@ install-pdf-target: maybe-install-pdf-ta
+@@ -1768,6 +1784,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
@@ -178,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
-@@ -1863,6 +1880,7 @@ install-html-target: maybe-install-html-
+@@ -1854,6 +1871,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
@@ -186,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
-@@ -1950,6 +1968,7 @@ installcheck-target: maybe-installcheck-
+@@ -1940,6 +1958,7 @@ installcheck-target: maybe-installcheck-
  installcheck-target: maybe-installcheck-target-libgfortran
  installcheck-target: maybe-installcheck-target-libobjc
  installcheck-target: maybe-installcheck-target-libgo
@@ -194,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
-@@ -2037,6 +2056,7 @@ mostlyclean-target: maybe-mostlyclean-ta
+@@ -2026,6 +2045,7 @@ mostlyclean-target: maybe-mostlyclean-ta
  mostlyclean-target: maybe-mostlyclean-target-libgfortran
  mostlyclean-target: maybe-mostlyclean-target-libobjc
  mostlyclean-target: maybe-mostlyclean-target-libgo
@@ -202,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
-@@ -2124,6 +2144,7 @@ clean-target: maybe-clean-target-libquad
+@@ -2112,6 +2132,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
@@ -210,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
-@@ -2211,6 +2232,7 @@ distclean-target: maybe-distclean-target
+@@ -2198,6 +2219,7 @@ distclean-target: maybe-distclean-target
  distclean-target: maybe-distclean-target-libgfortran
  distclean-target: maybe-distclean-target-libobjc
  distclean-target: maybe-distclean-target-libgo
@@ -218,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
-@@ -2298,6 +2320,7 @@ maintainer-clean-target: maybe-maintaine
+@@ -2284,6 +2306,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
@@ -226,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
-@@ -2441,6 +2464,7 @@ check-target:  \
+@@ -2426,6 +2449,7 @@ check-target:  \
      maybe-check-target-libgfortran \
      maybe-check-target-libobjc \
      maybe-check-target-libgo \
@@ -234,7 +234,7 @@ Index: b/src/Makefile.in
      maybe-check-target-libtermcap \
      maybe-check-target-winsup \
      maybe-check-target-libgloss \
-@@ -2624,6 +2648,7 @@ install-target:  \
+@@ -2608,6 +2632,7 @@ install-target:  \
      maybe-install-target-libgfortran \
      maybe-install-target-libobjc \
      maybe-install-target-libgo \
@@ -242,7 +242,7 @@ Index: b/src/Makefile.in
      maybe-install-target-libtermcap \
      maybe-install-target-winsup \
      maybe-install-target-libgloss \
-@@ -2731,6 +2756,7 @@ install-strip-target:  \
+@@ -2714,6 +2739,7 @@ install-strip-target:  \
      maybe-install-strip-target-libgfortran \
      maybe-install-strip-target-libobjc \
      maybe-install-strip-target-libgo \
@@ -250,7 +250,7 @@ Index: b/src/Makefile.in
      maybe-install-strip-target-libtermcap \
      maybe-install-strip-target-winsup \
      maybe-install-strip-target-libgloss \
-@@ -46029,6 +46055,464 @@ maintainer-clean-target-libgo:
+@@ -46011,6 +46037,464 @@ maintainer-clean-target-libgo:
  
  
  
@@ -715,7 +715,17 @@ Index: b/src/Makefile.in
  .PHONY: configure-target-libtermcap maybe-configure-target-libtermcap
  maybe-configure-target-libtermcap:
  @if gcc-bootstrap
-@@ -52234,6 +52718,14 @@ check-gcc-go:
+@@ -47763,9 +48247,6 @@ maintainer-clean-target-libffi:
+ 
+ 
+ 
+-
+-
+-
+ .PHONY: configure-target-zlib maybe-configure-target-zlib
+ maybe-configure-target-zlib:
+ @if gcc-bootstrap
+@@ -51758,6 +52239,14 @@ check-gcc-go:
  	(cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-go);
  check-go: check-gcc-go check-target-libgo
  
@@ -730,7 +740,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.
-@@ -55111,6 +55603,7 @@ configure-target-libquadmath: stage_last
+@@ -54635,6 +55124,7 @@ configure-target-libquadmath: stage_last
  configure-target-libgfortran: stage_last
  configure-target-libobjc: stage_last
  configure-target-libgo: stage_last
@@ -738,7 +748,7 @@ Index: b/src/Makefile.in
  configure-target-libtermcap: stage_last
  configure-target-winsup: stage_last
  configure-target-libgloss: stage_last
-@@ -55147,6 +55640,7 @@ configure-target-libquadmath: maybe-all-
+@@ -54670,6 +55160,7 @@ configure-target-libquadmath: maybe-all-
  configure-target-libgfortran: maybe-all-gcc
  configure-target-libobjc: maybe-all-gcc
  configure-target-libgo: maybe-all-gcc
@@ -746,16 +756,16 @@ Index: b/src/Makefile.in
  configure-target-libtermcap: maybe-all-gcc
  configure-target-winsup: maybe-all-gcc
  configure-target-libgloss: maybe-all-gcc
-@@ -56178,6 +56672,8 @@ configure-target-libgo: maybe-all-target
+@@ -55699,6 +56190,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-libobjc: maybe-configure-target-boehm-gc
- all-target-libobjc: maybe-all-target-boehm-gc
  configure-target-libstdc++-v3: maybe-configure-target-libgomp
-@@ -56306,6 +56802,7 @@ configure-target-libquadmath: maybe-all-
+ 
+ configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
+@@ -55825,6 +56318,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
@@ -763,7 +773,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
-@@ -56349,6 +56846,8 @@ configure-target-libobjc: maybe-all-targ
+@@ -55867,6 +56361,8 @@ configure-target-libobjc: maybe-all-targ
  
  configure-target-libgo: maybe-all-target-newlib maybe-all-target-libgloss
  
@@ -921,7 +931,7 @@ Index: b/src/configure.ac
    DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
    LD_FOR_BUILD="\$(LD)"
    NM_FOR_BUILD="\$(NM)"
-@@ -3190,6 +3194,7 @@ AC_SUBST(CXX_FOR_BUILD)
+@@ -3204,6 +3208,7 @@ AC_SUBST(CXX_FOR_BUILD)
  AC_SUBST(DLLTOOL_FOR_BUILD)
  AC_SUBST(GFORTRAN_FOR_BUILD)
  AC_SUBST(GOC_FOR_BUILD)
@@ -929,7 +939,7 @@ Index: b/src/configure.ac
  AC_SUBST(LDFLAGS_FOR_BUILD)
  AC_SUBST(LD_FOR_BUILD)
  AC_SUBST(NM_FOR_BUILD)
-@@ -3299,6 +3304,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TA
+@@ -3313,6 +3318,7 @@ NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TA
  NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
  NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
  NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
@@ -937,7 +947,7 @@ Index: b/src/configure.ac
  
  ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
  ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
-@@ -3332,6 +3338,8 @@ GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_T
+@@ -3346,6 +3352,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)
diff --git a/debian/patches/libobjc-system-gc.diff b/debian/patches/libobjc-system-gc.diff
index e12558a..e9ac172 100644
--- a/debian/patches/libobjc-system-gc.diff
+++ b/debian/patches/libobjc-system-gc.diff
@@ -1,11 +1,19 @@
-# DP: Build the GC enabled libobjc using the system libgc when available
-
 <toplevel>
 
 2016-11-19  Matthias Klose  <doko at ubuntu.com>
 
-	* configure.ac: Include pkg.m4, check for bdw-gc pkg-config module.
+	* Makefile.def: Remove reference to boehm-gc target module.
+  	* configure.ac: Include pkg.m4, check for --with-target-bdw-gc
+	options and for the bdw-gc pkg-config module.
 	* configure: Regenerate.
+	* Makefile.in: Regenerate.
+
+gcc/
+
+2016-11-19  Matthias Klose  <doko at ubuntu.com>
+
+	* doc/install.texi: Document configure options --enable-objc-gc
+	and --with-target-bdw-gc.
 
 config/
 
@@ -21,13 +29,982 @@ libobjc/
 	system provided boehm-gc.
 	* configure: Regenerate.
 	* Makefile.in (OBJC_BOEHM_GC_LIBS): Get value from configure.
-	* gc.c: Optionally include system boehm-gc headers.
+	* gc.c: Include system bdw-gc headers.
 	* memory.c: Likewise
 	* objects.c: Likewise
 
+boehm-gc/
+
+2016-11-19  Matthias Klose  <doko at ubuntu.com>
+
+	Remove
+
+--- a/src/Makefile.def
++++ b/src/Makefile.def
+@@ -166,7 +166,6 @@
+ target_modules = { module= libgloss; no_check=true; };
+ target_modules = { module= libffi; no_install=true; };
+ target_modules = { module= zlib; };
+-target_modules = { module= boehm-gc; };
+ target_modules = { module= rda; };
+ target_modules = { module= libada; };
+ target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
+@@ -543,7 +542,6 @@
+ // a dependency on libgcc for native targets to configure.
+ lang_env_dependencies = { module=libiberty; no_c=true; };
+ 
+-dependencies = { module=configure-target-boehm-gc; on=all-target-libstdc++-v3; };
+ dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
+ dependencies = { module=all-target-fastjar; on=all-target-zlib; };
+ dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
+@@ -551,8 +549,6 @@
+ 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-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; };
+ dependencies = { module=configure-target-liboffloadmic; on=configure-target-libgomp; };
+ dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; };
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -998,7 +998,6 @@
+     maybe-configure-target-libgloss \
+     maybe-configure-target-libffi \
+     maybe-configure-target-zlib \
+-    maybe-configure-target-boehm-gc \
+     maybe-configure-target-rda \
+     maybe-configure-target-libada \
+     maybe-configure-target-libgomp \
+@@ -1164,7 +1163,6 @@
+ all-target: maybe-all-target-libgloss
+ all-target: maybe-all-target-libffi
+ all-target: maybe-all-target-zlib
+-all-target: maybe-all-target-boehm-gc
+ all-target: maybe-all-target-rda
+ all-target: maybe-all-target-libada
+ @if target-libgomp-no-bootstrap
+@@ -1257,7 +1255,6 @@
+ info-target: maybe-info-target-libgloss
+ info-target: maybe-info-target-libffi
+ info-target: maybe-info-target-zlib
+-info-target: maybe-info-target-boehm-gc
+ info-target: maybe-info-target-rda
+ info-target: maybe-info-target-libada
+ info-target: maybe-info-target-libgomp
+@@ -1343,7 +1340,6 @@
+ dvi-target: maybe-dvi-target-libgloss
+ dvi-target: maybe-dvi-target-libffi
+ dvi-target: maybe-dvi-target-zlib
+-dvi-target: maybe-dvi-target-boehm-gc
+ dvi-target: maybe-dvi-target-rda
+ dvi-target: maybe-dvi-target-libada
+ dvi-target: maybe-dvi-target-libgomp
+@@ -1429,7 +1425,6 @@
+ pdf-target: maybe-pdf-target-libgloss
+ pdf-target: maybe-pdf-target-libffi
+ pdf-target: maybe-pdf-target-zlib
+-pdf-target: maybe-pdf-target-boehm-gc
+ pdf-target: maybe-pdf-target-rda
+ pdf-target: maybe-pdf-target-libada
+ pdf-target: maybe-pdf-target-libgomp
+@@ -1515,7 +1510,6 @@
+ html-target: maybe-html-target-libgloss
+ html-target: maybe-html-target-libffi
+ html-target: maybe-html-target-zlib
+-html-target: maybe-html-target-boehm-gc
+ html-target: maybe-html-target-rda
+ html-target: maybe-html-target-libada
+ html-target: maybe-html-target-libgomp
+@@ -1601,7 +1595,6 @@
+ TAGS-target: maybe-TAGS-target-libgloss
+ TAGS-target: maybe-TAGS-target-libffi
+ TAGS-target: maybe-TAGS-target-zlib
+-TAGS-target: maybe-TAGS-target-boehm-gc
+ TAGS-target: maybe-TAGS-target-rda
+ TAGS-target: maybe-TAGS-target-libada
+ TAGS-target: maybe-TAGS-target-libgomp
+@@ -1687,7 +1680,6 @@
+ install-info-target: maybe-install-info-target-libgloss
+ install-info-target: maybe-install-info-target-libffi
+ install-info-target: maybe-install-info-target-zlib
+-install-info-target: maybe-install-info-target-boehm-gc
+ install-info-target: maybe-install-info-target-rda
+ install-info-target: maybe-install-info-target-libada
+ install-info-target: maybe-install-info-target-libgomp
+@@ -1773,7 +1765,6 @@
+ install-pdf-target: maybe-install-pdf-target-libgloss
+ install-pdf-target: maybe-install-pdf-target-libffi
+ install-pdf-target: maybe-install-pdf-target-zlib
+-install-pdf-target: maybe-install-pdf-target-boehm-gc
+ install-pdf-target: maybe-install-pdf-target-rda
+ install-pdf-target: maybe-install-pdf-target-libada
+ install-pdf-target: maybe-install-pdf-target-libgomp
+@@ -1859,7 +1850,6 @@
+ install-html-target: maybe-install-html-target-libgloss
+ install-html-target: maybe-install-html-target-libffi
+ install-html-target: maybe-install-html-target-zlib
+-install-html-target: maybe-install-html-target-boehm-gc
+ install-html-target: maybe-install-html-target-rda
+ install-html-target: maybe-install-html-target-libada
+ install-html-target: maybe-install-html-target-libgomp
+@@ -1945,7 +1935,6 @@
+ installcheck-target: maybe-installcheck-target-libgloss
+ installcheck-target: maybe-installcheck-target-libffi
+ installcheck-target: maybe-installcheck-target-zlib
+-installcheck-target: maybe-installcheck-target-boehm-gc
+ installcheck-target: maybe-installcheck-target-rda
+ installcheck-target: maybe-installcheck-target-libada
+ installcheck-target: maybe-installcheck-target-libgomp
+@@ -2031,7 +2020,6 @@
+ mostlyclean-target: maybe-mostlyclean-target-libgloss
+ mostlyclean-target: maybe-mostlyclean-target-libffi
+ mostlyclean-target: maybe-mostlyclean-target-zlib
+-mostlyclean-target: maybe-mostlyclean-target-boehm-gc
+ mostlyclean-target: maybe-mostlyclean-target-rda
+ mostlyclean-target: maybe-mostlyclean-target-libada
+ mostlyclean-target: maybe-mostlyclean-target-libgomp
+@@ -2117,7 +2105,6 @@
+ clean-target: maybe-clean-target-libgloss
+ clean-target: maybe-clean-target-libffi
+ clean-target: maybe-clean-target-zlib
+-clean-target: maybe-clean-target-boehm-gc
+ clean-target: maybe-clean-target-rda
+ clean-target: maybe-clean-target-libada
+ clean-target: maybe-clean-target-libgomp
+@@ -2203,7 +2190,6 @@
+ distclean-target: maybe-distclean-target-libgloss
+ distclean-target: maybe-distclean-target-libffi
+ distclean-target: maybe-distclean-target-zlib
+-distclean-target: maybe-distclean-target-boehm-gc
+ distclean-target: maybe-distclean-target-rda
+ distclean-target: maybe-distclean-target-libada
+ distclean-target: maybe-distclean-target-libgomp
+@@ -2289,7 +2275,6 @@
+ maintainer-clean-target: maybe-maintainer-clean-target-libgloss
+ maintainer-clean-target: maybe-maintainer-clean-target-libffi
+ maintainer-clean-target: maybe-maintainer-clean-target-zlib
+-maintainer-clean-target: maybe-maintainer-clean-target-boehm-gc
+ maintainer-clean-target: maybe-maintainer-clean-target-rda
+ maintainer-clean-target: maybe-maintainer-clean-target-libada
+ maintainer-clean-target: maybe-maintainer-clean-target-libgomp
+@@ -2431,7 +2416,6 @@
+     maybe-check-target-libgloss \
+     maybe-check-target-libffi \
+     maybe-check-target-zlib \
+-    maybe-check-target-boehm-gc \
+     maybe-check-target-rda \
+     maybe-check-target-libada \
+     maybe-check-target-libgomp \
+@@ -2613,7 +2597,6 @@
+     maybe-install-target-libgloss \
+     maybe-install-target-libffi \
+     maybe-install-target-zlib \
+-    maybe-install-target-boehm-gc \
+     maybe-install-target-rda \
+     maybe-install-target-libada \
+     maybe-install-target-libgomp \
+@@ -2719,7 +2702,6 @@
+     maybe-install-strip-target-libgloss \
+     maybe-install-strip-target-libffi \
+     maybe-install-strip-target-zlib \
+-    maybe-install-strip-target-boehm-gc \
+     maybe-install-strip-target-rda \
+     maybe-install-strip-target-libada \
+     maybe-install-strip-target-libgomp \
+@@ -48324,464 +48306,6 @@
+ 
+ 
+ 
+-.PHONY: configure-target-boehm-gc maybe-configure-target-boehm-gc
+-maybe-configure-target-boehm-gc:
+- at if gcc-bootstrap
+-configure-target-boehm-gc: stage_current
+- at endif gcc-bootstrap
+- at if target-boehm-gc
+-maybe-configure-target-boehm-gc: configure-target-boehm-gc
+-configure-target-boehm-gc: 
+-	@: $(MAKE); $(unstage)
+-	@r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	echo "Checking multilib configuration for boehm-gc..."; \
+-	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc; \
+-	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/boehm-gc/multilib.tmp 2> /dev/null; \
+-	if test -r $(TARGET_SUBDIR)/boehm-gc/multilib.out; then \
+-	  if cmp -s $(TARGET_SUBDIR)/boehm-gc/multilib.tmp $(TARGET_SUBDIR)/boehm-gc/multilib.out; then \
+-	    rm -f $(TARGET_SUBDIR)/boehm-gc/multilib.tmp; \
+-	  else \
+-	    rm -f $(TARGET_SUBDIR)/boehm-gc/Makefile; \
+-	    mv $(TARGET_SUBDIR)/boehm-gc/multilib.tmp $(TARGET_SUBDIR)/boehm-gc/multilib.out; \
+-	  fi; \
+-	else \
+-	  mv $(TARGET_SUBDIR)/boehm-gc/multilib.tmp $(TARGET_SUBDIR)/boehm-gc/multilib.out; \
+-	fi; \
+-	test ! -f $(TARGET_SUBDIR)/boehm-gc/Makefile || exit 0; \
+-	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc; \
+-	$(NORMAL_TARGET_EXPORTS)  \
+-	echo Configuring in $(TARGET_SUBDIR)/boehm-gc; \
+-	cd "$(TARGET_SUBDIR)/boehm-gc" || exit 1; \
+-	case $(srcdir) in \
+-	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+-	  *) topdir=`echo $(TARGET_SUBDIR)/boehm-gc/ | \
+-		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+-	esac; \
+-	module_srcdir=boehm-gc; \
+-	rm -f no-such-file || : ; \
+-	CONFIG_SITE=no-such-file $(SHELL) \
+-	  $$s/$$module_srcdir/configure \
+-	  --srcdir=$${topdir}/$$module_srcdir \
+-	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+-	  --target=${target_alias}  \
+-	  || exit 1
+- at endif target-boehm-gc
+-
+-
+-
+-
+-
+-.PHONY: all-target-boehm-gc maybe-all-target-boehm-gc
+-maybe-all-target-boehm-gc:
+- at if gcc-bootstrap
+-all-target-boehm-gc: stage_current
+- at endif gcc-bootstrap
+- at if target-boehm-gc
+-TARGET-target-boehm-gc=all
+-maybe-all-target-boehm-gc: all-target-boehm-gc
+-all-target-boehm-gc: configure-target-boehm-gc
+-	@: $(MAKE); $(unstage)
+-	@r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS)  \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)   \
+-		$(TARGET-target-boehm-gc))
+- at endif target-boehm-gc
+-
+-
+-
+-
+-
+-.PHONY: check-target-boehm-gc maybe-check-target-boehm-gc
+-maybe-check-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-check-target-boehm-gc: check-target-boehm-gc
+-
+-check-target-boehm-gc:
+-	@: $(MAKE); $(unstage)
+-	@r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
+-
+- at endif target-boehm-gc
+-
+-.PHONY: install-target-boehm-gc maybe-install-target-boehm-gc
+-maybe-install-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-install-target-boehm-gc: install-target-boehm-gc
+-
+-install-target-boehm-gc: installdirs
+-	@: $(MAKE); $(unstage)
+-	@r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
+-
+- at endif target-boehm-gc
+-
+-.PHONY: install-strip-target-boehm-gc maybe-install-strip-target-boehm-gc
+-maybe-install-strip-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-install-strip-target-boehm-gc: install-strip-target-boehm-gc
+-
+-install-strip-target-boehm-gc: installdirs
+-	@: $(MAKE); $(unstage)
+-	@r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
+-
+- at endif target-boehm-gc
+-
+-# Other targets (info, dvi, pdf, etc.)
+-
+-.PHONY: maybe-info-target-boehm-gc info-target-boehm-gc
+-maybe-info-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-info-target-boehm-gc: info-target-boehm-gc
+-
+-info-target-boehm-gc: \
+-    configure-target-boehm-gc 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0; \
+-	r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	echo "Doing info in $(TARGET_SUBDIR)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           info) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-dvi-target-boehm-gc dvi-target-boehm-gc
+-maybe-dvi-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-dvi-target-boehm-gc: dvi-target-boehm-gc
+-
+-dvi-target-boehm-gc: \
+-    configure-target-boehm-gc 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0; \
+-	r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	echo "Doing dvi in $(TARGET_SUBDIR)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           dvi) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-pdf-target-boehm-gc pdf-target-boehm-gc
+-maybe-pdf-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-pdf-target-boehm-gc: pdf-target-boehm-gc
+-
+-pdf-target-boehm-gc: \
+-    configure-target-boehm-gc 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0; \
+-	r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	echo "Doing pdf in $(TARGET_SUBDIR)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           pdf) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-html-target-boehm-gc html-target-boehm-gc
+-maybe-html-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-html-target-boehm-gc: html-target-boehm-gc
+-
+-html-target-boehm-gc: \
+-    configure-target-boehm-gc 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0; \
+-	r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	echo "Doing html in $(TARGET_SUBDIR)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           html) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-TAGS-target-boehm-gc TAGS-target-boehm-gc
+-maybe-TAGS-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-TAGS-target-boehm-gc: TAGS-target-boehm-gc
+-
+-TAGS-target-boehm-gc: \
+-    configure-target-boehm-gc 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0; \
+-	r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	echo "Doing TAGS in $(TARGET_SUBDIR)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           TAGS) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-install-info-target-boehm-gc install-info-target-boehm-gc
+-maybe-install-info-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-install-info-target-boehm-gc: install-info-target-boehm-gc
+-
+-install-info-target-boehm-gc: \
+-    configure-target-boehm-gc \
+-    info-target-boehm-gc 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/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)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           install-info) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-install-pdf-target-boehm-gc install-pdf-target-boehm-gc
+-maybe-install-pdf-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-install-pdf-target-boehm-gc: install-pdf-target-boehm-gc
+-
+-install-pdf-target-boehm-gc: \
+-    configure-target-boehm-gc \
+-    pdf-target-boehm-gc 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/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)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           install-pdf) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-install-html-target-boehm-gc install-html-target-boehm-gc
+-maybe-install-html-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-install-html-target-boehm-gc: install-html-target-boehm-gc
+-
+-install-html-target-boehm-gc: \
+-    configure-target-boehm-gc \
+-    html-target-boehm-gc 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/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)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           install-html) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-installcheck-target-boehm-gc installcheck-target-boehm-gc
+-maybe-installcheck-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-installcheck-target-boehm-gc: installcheck-target-boehm-gc
+-
+-installcheck-target-boehm-gc: \
+-    configure-target-boehm-gc 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0; \
+-	r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	echo "Doing installcheck in $(TARGET_SUBDIR)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           installcheck) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-mostlyclean-target-boehm-gc mostlyclean-target-boehm-gc
+-maybe-mostlyclean-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-mostlyclean-target-boehm-gc: mostlyclean-target-boehm-gc
+-
+-mostlyclean-target-boehm-gc: 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0; \
+-	r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	echo "Doing mostlyclean in $(TARGET_SUBDIR)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           mostlyclean) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-clean-target-boehm-gc clean-target-boehm-gc
+-maybe-clean-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-clean-target-boehm-gc: clean-target-boehm-gc
+-
+-clean-target-boehm-gc: 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0; \
+-	r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	echo "Doing clean in $(TARGET_SUBDIR)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           clean) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-distclean-target-boehm-gc distclean-target-boehm-gc
+-maybe-distclean-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-distclean-target-boehm-gc: distclean-target-boehm-gc
+-
+-distclean-target-boehm-gc: 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0; \
+-	r=`${PWD_COMMAND}`; export r; \
+-	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+-	$(NORMAL_TARGET_EXPORTS) \
+-	echo "Doing distclean in $(TARGET_SUBDIR)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           distclean) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-.PHONY: maybe-maintainer-clean-target-boehm-gc maintainer-clean-target-boehm-gc
+-maybe-maintainer-clean-target-boehm-gc:
+- at if target-boehm-gc
+-maybe-maintainer-clean-target-boehm-gc: maintainer-clean-target-boehm-gc
+-
+-maintainer-clean-target-boehm-gc: 
+-	@: $(MAKE); $(unstage)
+-	@[ -f $(TARGET_SUBDIR)/boehm-gc/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)/boehm-gc"; \
+-	for flag in $(EXTRA_TARGET_FLAGS); do \
+-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+-	done; \
+-	(cd $(TARGET_SUBDIR)/boehm-gc && \
+-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+-	          "RANLIB=$${RANLIB}" \
+-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+-	           maintainer-clean) \
+-	  || exit 1
+-
+- at endif target-boehm-gc
+-
+-
+-
+-
+-
+ .PHONY: configure-target-rda maybe-configure-target-rda
+ maybe-configure-target-rda:
+ @if gcc-bootstrap
+@@ -54740,7 +54264,6 @@
+ configure-target-libgloss: stage_last
+ configure-target-libffi: stage_last
+ configure-target-zlib: stage_last
+-configure-target-boehm-gc: stage_last
+ configure-target-rda: stage_last
+ configure-target-libada: stage_last
+ configure-stage1-target-libgomp: maybe-all-stage1-gcc
+@@ -54775,7 +54298,6 @@
+ configure-target-libgloss: maybe-all-gcc
+ configure-target-libffi: maybe-all-gcc
+ configure-target-zlib: maybe-all-gcc
+-configure-target-boehm-gc: maybe-all-gcc
+ configure-target-rda: maybe-all-gcc
+ configure-target-libada: maybe-all-gcc
+ configure-target-libgomp: maybe-all-gcc
+@@ -55790,7 +55312,6 @@
+ all-flex: maybe-all-build-texinfo
+ all-m4: maybe-all-intl
+ all-m4: maybe-all-build-texinfo
+-configure-target-boehm-gc: maybe-all-target-libstdc++-v3
+ configure-target-fastjar: maybe-configure-target-zlib
+ all-target-fastjar: maybe-all-target-zlib
+ configure-target-libgo: maybe-configure-target-libffi
+@@ -55798,8 +55319,6 @@
+ all-target-libgo: maybe-all-target-libbacktrace
+ all-target-libgo: maybe-all-target-libffi
+ all-target-libgo: maybe-all-target-libatomic
+-configure-target-libobjc: maybe-configure-target-boehm-gc
+-all-target-libobjc: maybe-all-target-boehm-gc
+ configure-target-libstdc++-v3: maybe-configure-target-libgomp
+ 
+ configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
+@@ -55931,7 +55450,6 @@
+ configure-target-libgloss: maybe-all-target-libgcc
+ configure-target-libffi: maybe-all-target-libgcc
+ configure-target-zlib: maybe-all-target-libgcc
+-configure-target-boehm-gc: maybe-all-target-libgcc
+ configure-target-rda: maybe-all-target-libgcc
+ configure-target-libada: maybe-all-target-libgcc
+ configure-target-libgomp: maybe-all-target-libgcc
+@@ -55978,8 +55496,6 @@
+ 
+ configure-target-zlib: maybe-all-target-newlib maybe-all-target-libgloss
+ 
+-configure-target-boehm-gc: maybe-all-target-newlib maybe-all-target-libgloss
+-
+ configure-target-rda: maybe-all-target-newlib maybe-all-target-libgloss
+ 
+ configure-target-libada: maybe-all-target-newlib maybe-all-target-libgloss
 --- a/src/config/pkg.m4
 +++ b/src/config/pkg.m4
-@@ -0,0 +1,550 @@
+@@ -0,0 +1,825 @@
++dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
++dnl serial 11 (pkg-config-0.29)
++dnl
++dnl Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
++dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists at gmail.com>
++dnl
++dnl This program is free software; you can redistribute it and/or modify
++dnl it under the terms of the GNU General Public License as published by
++dnl the Free Software Foundation; either version 2 of the License, or
++dnl (at your option) any later version.
++dnl
++dnl This program is distributed in the hope that it will be useful, but
++dnl WITHOUT ANY WARRANTY; without even the implied warranty of
++dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++dnl General Public License for more details.
++dnl
++dnl You should have received a copy of the GNU General Public License
++dnl along with this program; if not, write to the Free Software
++dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
++dnl 02111-1307, USA.
++dnl
++dnl As a special exception to the GNU General Public License, if you
++dnl distribute this file as part of a program that contains a
++dnl configuration script generated by Autoconf, you may include it under
++dnl the same distribution terms that you use for the rest of that
++dnl program.
++
++dnl PKG_PREREQ(MIN-VERSION)
++dnl -----------------------
++dnl Since: 0.29
++dnl
++dnl Verify that the version of the pkg-config macros are at least
++dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
++dnl installed version of pkg-config, this checks the developer's version
++dnl of pkg.m4 when generating configure.
++dnl
++dnl To ensure that this macro is defined, also add:
++dnl m4_ifndef([PKG_PREREQ],
++dnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
++dnl
++dnl See the "Since" comment for each macro you use to see what version
++dnl of the macros you require.
++m4_defun([PKG_PREREQ],
++[m4_define([PKG_MACROS_VERSION], [0.29])
++m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
++    [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
++])dnl PKG_PREREQ
++
++dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
++dnl ----------------------------------
++dnl Since: 0.16
++dnl
++dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
++dnl first found in the path. Checks that the version of pkg-config found
++dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
++dnl used since that's the first version where most current features of
++dnl pkg-config existed.
++AC_DEFUN([PKG_PROG_PKG_CONFIG],
++[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
++m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
++m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
++AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
++AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
++AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
++
++if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
++	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
++fi
++if test -n "$PKG_CONFIG"; then
++	_pkg_min_version=m4_default([$1], [0.9.0])
++	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
++	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
++		AC_MSG_RESULT([yes])
++	else
++		AC_MSG_RESULT([no])
++		PKG_CONFIG=""
++	fi
++fi[]dnl
++])dnl PKG_PROG_PKG_CONFIG
++
++dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
++dnl -------------------------------------------------------------------
++dnl Since: 0.18
++dnl
++dnl Check to see whether a particular set of modules exists. Similar to
++dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
++dnl
++dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++dnl only at the first occurence in configure.ac, so if the first place
++dnl it's called might be skipped (such as if it is within an "if", you
++dnl have to call PKG_CHECK_EXISTS manually
++AC_DEFUN([PKG_CHECK_EXISTS],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++if test -n "$PKG_CONFIG" && \
++    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
++  m4_default([$2], [:])
++m4_ifvaln([$3], [else
++  $3])dnl
++fi])
++
++dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
++dnl ---------------------------------------------
++dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
++dnl pkg_failed based on the result.
++m4_define([_PKG_CONFIG],
++[if test -n "$$1"; then
++    pkg_cv_[]$1="$$1"
++ elif test -n "$PKG_CONFIG"; then
++    PKG_CHECK_EXISTS([$3],
++                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
++		      test "x$?" != "x0" && pkg_failed=yes ],
++		     [pkg_failed=yes])
++ else
++    pkg_failed=untried
++fi[]dnl
++])dnl _PKG_CONFIG
++
++dnl _PKG_SHORT_ERRORS_SUPPORTED
++dnl ---------------------------
++dnl Internal check to see if pkg-config supports short errors.
++AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
++        _pkg_short_errors_supported=yes
++else
++        _pkg_short_errors_supported=no
++fi[]dnl
++])dnl _PKG_SHORT_ERRORS_SUPPORTED
++
++
++dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
++dnl   [ACTION-IF-NOT-FOUND])
++dnl --------------------------------------------------------------
++dnl Since: 0.4.0
++dnl
++dnl Note that if there is a possibility the first call to
++dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
++dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
++AC_DEFUN([PKG_CHECK_MODULES],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
++AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
++
++pkg_failed=no
++AC_MSG_CHECKING([for $1])
++
++_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
++_PKG_CONFIG([$1][_LIBS], [libs], [$2])
++
++m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
++and $1[]_LIBS to avoid the need to call pkg-config.
++See the pkg-config man page for more details.])
++
++if test $pkg_failed = yes; then
++   	AC_MSG_RESULT([no])
++        _PKG_SHORT_ERRORS_SUPPORTED
++        if test $_pkg_short_errors_supported = yes; then
++	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
++        else 
++	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
++        fi
++	# Put the nasty error message in config.log where it belongs
++	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
++
++	m4_default([$4], [AC_MSG_ERROR(
++[Package requirements ($2) were not met:
++
++$$1_PKG_ERRORS
++
++Consider adjusting the PKG_CONFIG_PATH environment variable if you
++installed software in a non-standard prefix.
++
++_PKG_TEXT])[]dnl
++        ])
++elif test $pkg_failed = untried; then
++     	AC_MSG_RESULT([no])
++	m4_default([$4], [AC_MSG_FAILURE(
++[The pkg-config script could not be found or is too old.  Make sure it
++is in your PATH or set the PKG_CONFIG environment variable to the full
++path to pkg-config.
++
++_PKG_TEXT
++
++To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
++        ])
++else
++	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
++	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
++        AC_MSG_RESULT([yes])
++	$3
++fi[]dnl
++])dnl PKG_CHECK_MODULES
++
++
++dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
++dnl   [ACTION-IF-NOT-FOUND])
++dnl ---------------------------------------------------------------------
++dnl Since: 0.29
++dnl
++dnl Checks for existence of MODULES and gathers its build flags with
++dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
++dnl and VARIABLE-PREFIX_LIBS from --libs.
++dnl
++dnl Note that if there is a possibility the first call to
++dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
++dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
++dnl configure.ac.
++AC_DEFUN([PKG_CHECK_MODULES_STATIC],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++_save_PKG_CONFIG=$PKG_CONFIG
++PKG_CONFIG="$PKG_CONFIG --static"
++PKG_CHECK_MODULES($@)
++PKG_CONFIG=$_save_PKG_CONFIG[]dnl
++])dnl PKG_CHECK_MODULES_STATIC
++
++
++dnl PKG_INSTALLDIR([DIRECTORY])
++dnl -------------------------
++dnl Since: 0.27
++dnl
++dnl Substitutes the variable pkgconfigdir as the location where a module
++dnl should install pkg-config .pc files. By default the directory is
++dnl $libdir/pkgconfig, but the default can be changed by passing
++dnl DIRECTORY. The user can override through the --with-pkgconfigdir
++dnl parameter.
++AC_DEFUN([PKG_INSTALLDIR],
++[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
++m4_pushdef([pkg_description],
++    [pkg-config installation directory @<:@]pkg_default[@:>@])
++AC_ARG_WITH([pkgconfigdir],
++    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
++    [with_pkgconfigdir=]pkg_default)
++AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
++m4_popdef([pkg_default])
++m4_popdef([pkg_description])
++])dnl PKG_INSTALLDIR
++
++
++dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
++dnl --------------------------------
++dnl Since: 0.27
++dnl
++dnl Substitutes the variable noarch_pkgconfigdir as the location where a
++dnl module should install arch-independent pkg-config .pc files. By
++dnl default the directory is $datadir/pkgconfig, but the default can be
++dnl changed by passing DIRECTORY. The user can override through the
++dnl --with-noarch-pkgconfigdir parameter.
++AC_DEFUN([PKG_NOARCH_INSTALLDIR],
++[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
++m4_pushdef([pkg_description],
++    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
++AC_ARG_WITH([noarch-pkgconfigdir],
++    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
++    [with_noarch_pkgconfigdir=]pkg_default)
++AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
++m4_popdef([pkg_default])
++m4_popdef([pkg_description])
++])dnl PKG_NOARCH_INSTALLDIR
++
++
++dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
++dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
++dnl -------------------------------------------
++dnl Since: 0.28
++dnl
++dnl Retrieves the value of the pkg-config variable for the given module.
++AC_DEFUN([PKG_CHECK_VAR],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
++
++_PKG_CONFIG([$1], [variable="][$3]["], [$2])
++AS_VAR_COPY([$1], [pkg_cv_][$1])
++
++AS_VAR_IF([$1], [""], [$5], [$4])dnl
++])dnl PKG_CHECK_VAR
 +dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
 +dnl serial 11 (pkg-config-0.29)
 +dnl
@@ -588,32 +1565,119 @@ libobjc/
  
  AC_INIT(move-if-change)
  AC_PREREQ(2.64)
-@@ -2062,14 +2063,20 @@
+@@ -161,7 +162,6 @@
+ 		target-libssp \
+ 		target-libquadmath \
+ 		target-libgfortran \
+-		target-boehm-gc \
+ 		target-libffi \
+ 		target-libobjc \
+ 		target-libada \
+@@ -2060,22 +2060,36 @@
+ AC_ARG_ENABLE(objc-gc,
+ [AS_HELP_STRING([--enable-objc-gc],
  		[enable use of Boehm's garbage collector with the
- 		 GNU Objective-C runtime])],
- [case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
+-		 GNU Objective-C runtime])],
+-[case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
 -  *,objc,*:*:yes:*target-boehm-gc*)
-+  *,objc,*:*:yes:*target-boehm-gc*|*,objc,*:*:auto:*target-boehm-gc*|*,objc,*:*:system:*target-boehm-gc*)
-     AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
-+esac
-+case ,${enable_languages},:${enable_objc_gc} in
-+  *,objc,*:auto|*,objc,*:system)
+-    AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
+-    ;;
+-esac])
+-
+-# Make sure we only build Boehm's garbage collector if required.
+-case ,${enable_languages},:${enable_objc_gc} in
+-  *,objc,*:yes)
+-    # Keep target-boehm-gc if requested for Objective-C.
+-    ;;
+-  *)
+-    # Otherwise remove target-boehm-gc.
+-    noconfigdirs="$noconfigdirs target-boehm-gc"
+-    ;;
++		 GNU Objective-C runtime])])
++AC_ARG_WITH([target-bdw-gc],
++[AS_HELP_STRING([--with-target-bdw-gc=PATHLIST],
++		[specify prefix directory for installed bdw-gc package.
++		 Equivalent to --with-target-bdw-gc-include=PATH/include
++		 plus --with-target-bdw-gc-lib=PATH/lib])])
++AC_ARG_WITH([target-bdw-gc-include],
++[AS_HELP_STRING([--with-target-bdw-gc-include=PATHLIST],
++		[specify directories for installed bdw-gc include files])])
++AC_ARG_WITH([target-bdw-gc-lib],
++[AS_HELP_STRING([--with-target-bdw-gc-lib=PATHLIST],
++		[specify directories for installed bdw-gc library])])
++		  
++case ,${enable_languages},:${enable_objc_gc} in *,objc,*:yes|*,objc,*:auto)
++  AC_MSG_CHECKING([for bdw garbage collector])
++  if test "x$with_target_bdw_gc$with_target_bdw_gc_include$with_target_bdw_gc_lib" = x; then
++    dnl no bdw-gw options, fall back to the bdw-gc pkg-config module
 +    PKG_CHECK_EXISTS(bdw-gc,
-+      AC_MSG_RESULT([found]),
-+      AC_MSG_ERROR([bdw-gc pkg-config module not found]))
-     ;;
- esac])
++      AC_MSG_RESULT([using bdw-gc pkg-config module]),
++      AC_MSG_ERROR([no --with-target-bdw-gc options and no bdw-gc pkg-config module found]))
++  else
++    dnl bdw-gw options, first error checking, complete checking in libobjc
++    if test "x$with_target_bdw_gc_include" = x && test "x$with_target_bdw_gc_lib" != x; then
++      AC_MSG_ERROR([found --with-target-bdw-gc-lib but --with-target-bdw-gc-include missing])
++    elif test "x$with_target_bdw_gc_include" != x && test "x$with_target_bdw_gc_lib" = x; then
++      AC_MSG_ERROR([found --with-target-bdw-gc-include but --with-target-bdw-gc-lib missing])
++    else
++      AC_MSG_RESULT([using paths configured with --with-target-bdw-gc options])
++    fi
++  fi
+ esac
  
- # Make sure we only build Boehm's garbage collector if required.
- case ,${enable_languages},:${enable_objc_gc} in
--  *,objc,*:yes)
-+  *,objc,*:yes|*,objc,*:auto)
-     # Keep target-boehm-gc if requested for Objective-C.
-     ;;
-   *)
+ # Disable libcilkrts, libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
+--- a/src/gcc/doc/install.texi
++++ b/src/gcc/doc/install.texi
+@@ -2183,6 +2183,37 @@
+ overrides, you can pass a setting for @env{CONFIG_SITE} and set
+ variables in the site file.
+ 
++ at subheading Objective-C-Specific Options
++
++The following options apply to the build of the Objective-C runtime library.
++
++ at table @code
++ at item --enable-objc-gc
++Specify that an additional variant of the GNU Objective-C runtime library
++is built, using an external build of the Boehm-Demers-Weiser garbage
++collector (@uref{http://www.hboehm.info/gc/}).  This library needs to be
++available for each multilib variant, unless configured with
++ at option{--enable-objc-gc=@samp{auto}} in which case the build of the
++additional runtime library is skipped when not available and the build
++continues.
++
++ at item --with-target-bdw-gc=@var{list}
++ at itemx --with-target-bdw-gc-include=@var{list}
++ at itemx --with-target-bdw-gc-lib=@var{list}
++Specify search directories for the garbage collector header files and
++libraries. @var{list} is a comma separated list of key value pairs of the
++form @samp{@var{multilibdir}=@var{path}}, where the default multilib key
++is named as @samp{.} (dot), or is omitted (e.g.
++ at samp{--with-target-bdw-gc=/opt/bdw-gc,32=/opt-bdw-gc32}).
++
++The options @option{--with-target-bdw-gc-include} and
++ at option{--with-target-bdw-gc-lib} must always be specified together
++for each multilib variant and they take precedence over
++ at option{--with-target-bdw-gc}.  If none of these options are
++specified, the values are taken from the @command{pkg-config}
++ at samp{bdw-gc} module.
++ at end table
++
+ @html
+ <hr />
+ <p>
 --- a/src/libobjc/Makefile.in
 +++ b/src/libobjc/Makefile.in
-@@ -95,7 +95,7 @@
+@@ -47,8 +47,6 @@
+ 
+ top_builddir = .
+ 
+--include ../boehm-gc/threads.mk
+-
+ libdir = $(exec_prefix)/lib
+ libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
+ 
+@@ -95,7 +93,7 @@
  OBJC_GCFLAGS=@OBJC_GCFLAGS@
  OBJC_BOEHM_GC=@OBJC_BOEHM_GC@
  OBJC_BOEHM_GC_INCLUDES=@OBJC_BOEHM_GC_INCLUDES@
@@ -660,7 +1724,7 @@ libobjc/
  # -----------
  # Directories
  # -----------
-@@ -214,6 +196,87 @@
+@@ -214,6 +196,163 @@
  
  gt_BITFIELD_TYPE_MATTERS
  
@@ -669,77 +1733,153 @@ libobjc/
 +# -----------
 +
 +AC_ARG_ENABLE(objc-gc,
-+[  --enable-objc-gc       enable the use of Boehm's garbage collector with
-+                          the GNU Objective-C runtime. Valid values are
-+                          yes, no, system or auto],
-+[case $enable_objc_gc in
-+  no)
-+    use_boehm_gc=no
-+    ;;
-+  auto|system)
-+    PKG_CHECK_MODULES(BDW_GC, bdw-gc >= 7)
-+    AC_MSG_CHECKING([for system boehm-gc])
-+    save_CFLAGS=$CFLAGS
-+    save_LIBS=$LIBS
-+    CFLAGS="$CFLAGS $BDW_GC_CFLAGS"
-+    LIBS="$LIBS $BDW_GC_LIBS"
-+    dnl the link test is not good enough for ARM32 multilib detection,
-+    dnl first check to link, then to run
-+    AC_LINK_IFELSE(
-+      [AC_LANG_PROGRAM([#include <gc/gc.h>],[GC_init()])],
-+      [
-+        AC_RUN_IFELSE([AC_LANG_SOURCE([[
-+          #include <gc/gc.h>
-+          int main() {
-+            GC_init();
-+            return 0;
-+          }
-+          ]])],
-+          [system_boehm_gc_found=yes],
-+          [system_boehm_gc_found=no],
-+          dnl assume no system boehm-gc for cross builds ...
-+          [system_boehm_gc_found=no]
-+        )
-+      ],
-+      [system_boehm_gc_found=no])
-+    CFLAGS=$save_CFLAGS
-+    LIBS=$save_LIBS
-+    if test x$enable_objc_gc = xsystem && test x$system_boehm_gc_found = xno; then
-+      AC_MSG_ERROR([system boehm-gc required but not found])
-+    elif test x$system_boehm_gc_found = xno; then
-+      use_boehm_gc=internal
-+      AC_MSG_RESULT([not found, falling back to internal boehm-gc])
++[AS_HELP_STRING([--enable-objc-gc],
++		[enable use of Boehm's garbage collector with the
++		 GNU Objective-C runtime])])
++AC_ARG_WITH([target-bdw-gc],
++[AS_HELP_STRING([--with-target-bdw-gc=PATHLIST],
++		[specify prefix directory for installed bdw-gc package.
++		 Equivalent to --with-target-bdw-gc-include=PATH/include
++		 plus --with-target-bdw-gc-lib=PATH/lib])])
++AC_ARG_WITH([target-bdw-gc-include],
++[AS_HELP_STRING([--with-target-bdw-gc-include=PATHLIST],
++		[specify directories for installed bdw-gc include files])])
++AC_ARG_WITH([target-bdw-gc-lib],
++[AS_HELP_STRING([--with-target-bdw-gc-lib=PATHLIST],
++		[specify directories for installed bdw-gc library])])
++		  
++case "$enable_objc_gc" in
++no)
++  use_bdw_gc=no
++  ;;
++*)
++  AC_MSG_CHECKING([for bdw garbage collector])
++  if test "x$with_target_bdw_gc$with_target_bdw_gc_include$with_target_bdw_gc_lib" = x; then
++    dnl no bdw-gw options, fall back to the bdw-gc pkg-config module
++    PKG_CHECK_EXISTS(bdw-gc,
++      AC_MSG_RESULT([using bdw-gc pkg-config module]),
++      AC_MSG_ERROR([no --with-target-bdw-gc options and no bdw-gc pkg-config module found]))
++  else
++    dnl bdw-gw options, first error checking, complete checking in libobjc
++    if test "x$with_target_bdw_gc_include" = x && test "x$with_target_bdw_gc_lib" != x; then
++      AC_MSG_ERROR([found --with-target-bdw-gc-lib but --with-target-bdw-gc-include missing])
++    elif test "x$with_target_bdw_gc_include" != x && test "x$with_target_bdw_gc_lib" = x; then
++      AC_MSG_ERROR([found --with-target-bdw-gc-include but --with-target-bdw-gc-lib missing])
 +    else
-+      use_boehm_gc=system
-+      AC_MSG_RESULT([found])
++      AC_MSG_RESULT([using paths configured with --with-target-bdw-gc options])
++    fi
++  fi
++  mldir=`${CC-gcc} --print-multi-directory 2>/dev/null`
++  bdw_val=
++  if test "x$with_target_bdw_gc" != x; then
++    for i in `echo $with_target_bdw_gc | tr ',' ' '`; do
++      case "$i" in
++        *=*) sd=${i%%=*}; d=${i#*=} ;;
++        *) sd=.; d=$i ;;
++      esac
++      if test "$mldir" = "$sd"; then
++        bdw_val=$d
++      fi
++    done
++    if test "x$bdw_val" = x; then
++      AC_MSG_ERROR([no multilib path ($mldir) found in --with-target-bdw-gc])
++    fi
++    bdw_inc_dir="$bdw_val/include"
++    bdw_lib_dir="$bdw_val/lib"
++  fi
++  bdw_val=
++  if test "x$with_target_bdw_gc_include" != x; then
++    for i in `echo $with_target_bdw_gc_include | tr ',' ' '`; do
++      case "$i" in
++        *=*) sd=${i%%=*}; d=${i#*=} ;;
++        *) sd=.; d=$i ;;
++      esac
++      if test "$mldir" = "$sd"; then
++        bdw_val=$d
++      fi
++    done
++    if test "x$bdw_val" = x; then
++      AC_MSG_ERROR([no multilib path ($mldir) found in --with-target-bdw-gc-include])
 +    fi
-+    ;;
-+  *)
-+    use_boehm_gc=internal
-+    ;;
-+esac],
-+[use_boehm_gc=no])
-+
-+case "$use_boehm_gc" in
-+  internal)
-+    OBJC_GCFLAGS='-DOBJC_WITH_GC=1'
-+    OBJC_BOEHM_GC='libobjc_gc$(libsuffix).la'
-+    OBJC_BOEHM_GC_INCLUDES='-I$(top_srcdir)/../boehm-gc/include -I../boehm-gc/include'
-+    OBJC_BOEHM_GC_LIBS='../boehm-gc/libgcjgc_convenience.la $(thread_libs_and_flags)'
-+    ;;
-+  system)
-+    OBJC_GCFLAGS='-DOBJC_WITH_GC=1 -DSYSTEM_BOEHM_GC=1'
-+    OBJC_BOEHM_GC='libobjc_gc$(libsuffix).la'
-+    OBJC_BOEHM_GC_INCLUDES=$BDW_GC_CFLAGS
-+    OBJC_BOEHM_GC_LIBS=$BDW_GC_LIBS
-+    ;;
-+  *)
-+    OBJC_GCFLAGS=''
-+    OBJC_BOEHM_GC=''
-+    OBJC_BOEHM_GC_INCLUDES=''
-+    OBJC_BOEHM_GC_LIBS=''
-+    ;;
++    bdw_inc_dir="$bdw_val"
++  fi
++  bdw_val=
++  if test "x$with_target_bdw_gc_lib" != x; then
++    for i in `echo $with_target_bdw_gc_lib | tr ',' ' '`; do
++      case "$i" in
++        *=*) sd=${i%%=*}; d=${i#*=} ;;
++        *) sd=.; d=$i ;;
++      esac
++      if test "$mldir" = "$sd"; then
++        bdw_val=$d
++      fi
++    done
++    if test "x$bdw_val" = x; then
++      AC_MSG_ERROR([no multilib path ($mldir) found in --with-target-bdw-gc-lib])
++    fi
++    bdw_lib_dir="$bdw_val"
++  fi
++  if test "x$bdw_inc_dir" = x; then
++    AC_MSG_ERROR([no multilib path ($mldir) found in --with-target-bdw-gc-include])
++  fi
++  if test "x$bdw_lib_dir" = x; then
++    AC_MSG_ERROR([no multilib path ($mldir) found in --with-target-bdw-gc-lib])
++  fi
++  BDW_GC_CFLAGS="-I$bdw_inc_dir"
++  BDW_GC_LIBS="-L$bdw_lib_dir -lgc"
++  AC_MSG_RESULT([found])
++  use_bdw_gc=maybe
 +esac
++
++if test "$use_bdw_gc" = maybe; then
++  AC_MSG_CHECKING([for system boehm-gc])
++  save_CFLAGS=$CFLAGS
++  save_LIBS=$LIBS
++  CFLAGS="$CFLAGS $BDW_GC_CFLAGS"
++  LIBS="$LIBS $BDW_GC_LIBS"
++  dnl the link test is not good enough for ARM32 multilib detection,
++  dnl first check to link, then to run
++  AC_LINK_IFELSE(
++    [AC_LANG_PROGRAM([#include <gc/gc.h>],[GC_init()])],
++    [
++      AC_RUN_IFELSE([AC_LANG_SOURCE([[
++        #include <gc/gc.h>
++        int main() {
++          GC_init();
++          return 0;
++        }
++        ]])],
++        [system_bdw_gc_found=yes],
++        [system_bdw_gc_found=no],
++        dnl assume no system boehm-gc for cross builds ...
++        [system_bdw_gc_found=no]
++      )
++    ],
++    [system_bdw_gc_found=no])
++  CFLAGS=$save_CFLAGS
++  LIBS=$save_LIBS
++  if test x$enable_objc_gc = xauto && test x$system_bdw_gc_found = xno; then
++    AC_MSG_WARN([system bdw-gc not found, not building libobjc_gc])
++    use_bdw_gc=no
++  elif test x$enable_objc_gc = xyes && test x$system_bdw_gc_found = xno; then
++    AC_MSG_ERROR([system bdw-gc required but not found])
++  else
++    use_bdw_gc=yes
++    AC_MSG_RESULT([found])
++  fi
++fi
++
++if test "$use_bdw_gc" = no; then
++  OBJC_GCFLAGS=''
++  OBJC_BOEHM_GC=''
++  OBJC_BOEHM_GC_INCLUDES=''
++  OBJC_BOEHM_GC_LIBS=''
++else
++  OBJC_GCFLAGS='-DOBJC_WITH_GC=1'
++  OBJC_BOEHM_GC='libobjc_gc$(libsuffix).la'
++  OBJC_BOEHM_GC_INCLUDES=$BDW_GC_CFLAGS
++  OBJC_BOEHM_GC_LIBS=$BDW_GC_LIBS
++fi
 +AC_SUBST(OBJC_GCFLAGS)
 +AC_SUBST(OBJC_BOEHM_GC)
 +AC_SUBST(OBJC_BOEHM_GC_INCLUDES)
@@ -750,59 +1890,45 @@ libobjc/
  # ------
 --- a/src/libobjc/gc.c
 +++ b/src/libobjc/gc.c
-@@ -36,7 +36,11 @@
+@@ -36,7 +36,7 @@
  #include "objc/runtime.h"
  #include "objc-private/module-abi-8.h"
  
-+#if SYSTEM_BOEHM_GC
+-#include <gc.h>
 +#include <gc/gc.h>
-+#else
- #include <gc.h>
-+#endif
  #include <limits.h>
  
  /* gc_typed.h uses the following but doesn't declare them */
-@@ -44,7 +48,11 @@
+@@ -44,7 +44,7 @@
  typedef GC_signed_word signed_word;
  #define BITS_PER_WORD (CHAR_BIT * sizeof (word))
  
-+#if SYSTEM_BOEHM_GC
+-#include <gc_typed.h>
 +#include <gc/gc_typed.h>
-+#else
- #include <gc_typed.h>
-+#endif
  
  /* The following functions set up in `mask` the corresponding pointers.
     The offset is incremented with the size of the type.  */
 --- a/src/libobjc/memory.c
 +++ b/src/libobjc/memory.c
-@@ -41,7 +41,11 @@
+@@ -41,7 +41,7 @@
  #include "objc/runtime.h"
  
  #if OBJC_WITH_GC
-+#if SYSTEM_BOEHM_GC
+-#include <gc.h>
 +#include <gc/gc.h>
-+#else
- #include <gc.h>
-+#endif
  
  void *
  objc_malloc (size_t size)
 --- a/src/libobjc/objects.c
 +++ b/src/libobjc/objects.c
-@@ -31,8 +31,13 @@
+@@ -31,8 +31,8 @@
  #include <string.h>                     /* For memcpy()  */
  
  #if OBJC_WITH_GC
 -# include <gc.h>
 -# include <gc_typed.h>
-+# if SYSTEM_BOEHM_GC
-+#  include <gc/gc.h>
-+#  include <gc/gc_typed.h>
-+# else
-+#  include <gc.h>
-+#  include <gc_typed.h>
-+# endif
++# include <gc/gc.h>
++# include <gc/gc_typed.h>
  #endif
  
  /* FIXME: The semantics of extraBytes are not really clear.  */
diff --git a/debian/patches/note-gnu-stack.diff b/debian/patches/note-gnu-stack.diff
index b1b9e31..866895b 100644
--- a/debian/patches/note-gnu-stack.diff
+++ b/debian/patches/note-gnu-stack.diff
@@ -19,14 +19,6 @@ gcc/
 
 	* config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
 
-boehm-gc/
-
-2005-02-08  Jakub Jelinek  <jakub at redhat.com>
-
-	* ia64_save_regs_in_stack.s: Moved to...
-	* ia64_save_regs_in_stack.S: ... this.  Add .note.GNU-stack
-	on Linux.
-
 libffi/
 
 2007-05-11  Daniel Jacobowitz  <dan at debian.org>
@@ -50,8 +42,6 @@ libffi/
 	* src/arm/sysv.S: Likewise.
 
 ---
- boehm-gc/ia64_save_regs_in_stack.S   |   15 +++++++++++++++
- boehm-gc/ia64_save_regs_in_stack.s   |   12 ------------
  gcc/config/ia64/linux.h              |    3 +++
  gcc/config/rs6000/ppc-asm.h          |    2 +-
  libgcc/config/ia64/crtbegin.S        |    4 ++++
@@ -61,43 +51,6 @@ libffi/
  libgcc/config/ia64/lib1funcs.S       |    4 ++++
  9 files changed, 39 insertions(+), 13 deletions(-)
 
-Index: b/src/boehm-gc/ia64_save_regs_in_stack.s
-===================================================================
---- a/src/boehm-gc/ia64_save_regs_in_stack.s
-+++ /dev/null
-@@ -1,12 +0,0 @@
--        .text
--        .align 16
--        .global GC_save_regs_in_stack
--        .proc GC_save_regs_in_stack
--GC_save_regs_in_stack:
--        .body
--        flushrs
--        ;;
--        mov r8=ar.bsp
--        br.ret.sptk.few rp
--        .endp GC_save_regs_in_stack
--
-Index: b/src/boehm-gc/ia64_save_regs_in_stack.S
-===================================================================
---- /dev/null
-+++ b/src/boehm-gc/ia64_save_regs_in_stack.S
-@@ -0,0 +1,15 @@
-+        .text
-+        .align 16
-+        .global GC_save_regs_in_stack
-+        .proc GC_save_regs_in_stack
-+GC_save_regs_in_stack:
-+        .body
-+        flushrs
-+        ;;
-+        mov r8=ar.bsp
-+        br.ret.sptk.few rp
-+        .endp GC_save_regs_in_stack
-+
-+#ifdef __linux__
-+	.section .note.GNU-stack,"", at progbits
-+#endif
 Index: b/src/libgcc/config/ia64/crtbegin.S
 ===================================================================
 --- a/src/libgcc/config/ia64/crtbegin.S
diff --git a/debian/rules.patch b/debian/rules.patch
index a469997..b062dd4 100644
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -13,6 +13,7 @@ series_file	?= $(patchdir)/series
 # which patches should be applied?
 
 debian_patches = \
+	libobjc-system-gc \
 	$(if $(with_linaro_branch),gcc-linaro) \
 	$(if $(with_linaro_branch),gcc-linaro-no-macros) \
 	$(if $(with_linaro_branch),linaro-issue2575) \
@@ -32,8 +33,6 @@ endif
 debian_patches += \
 	gcc-gfdl-build
 
-#	boehm-gc-nocheck: seems to work on the buildds \
-
 debian_patches += \
 	gcc-textdomain \
 	gcc-driver-extra-langs$(if $(with_linaro_branch),-linaro)
@@ -50,7 +49,6 @@ debian_patches += \
 	libstdc++-man-3cxx \
 	libstdc++-test-installed \
 	alpha-no-ev4-directive \
-	boehm-gc-getnprocs \
 	note-gnu-stack \
 	libgomp-omp_h-multilib \
 	gccgo-version \
@@ -227,7 +225,6 @@ debian_patches += gcc-ice-apport
 debian_patches += skip-bootstrap-multilib
 debian_patches += libffi-ro-eh_frame_sect
 debian_patches += libffi-mips
-debian_patches += libobjc-system-gc
 
 # sigaction on sparc changed between glibc 2.19 and 2.21
 ifeq (,$(filter 2.1%, $(shell dpkg-query -l libc-bin | awk '/^.i/ {print $$3}')))

-- 
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