File system-boehm-gc.patch of Package gcc6

Only in gcc-6.5.0: autom4te.cache
--- gcc-6.5.0/configure.ac	2025-08-29 09:04:46.993647011 +0200
+++ gcc-6.5.0/configure.ac	2025-08-29 10:24:39.041088334 +0200
@@ -166,7 +166,6 @@
 		target-libssp \
 		target-libquadmath \
 		target-libgfortran \
-		target-boehm-gc \
 		${libgcj} \
 		target-libobjc \
 		target-libada \
@@ -835,7 +834,7 @@
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
   bfin-*-*)
-    noconfigdirs="$noconfigdirs target-boehm-gc"
+    noconfigdirs="$noconfigdirs"
     ;;
   cris-*-* | crisv32-*-*)
     unsupported_languages="$unsupported_languages java"
@@ -843,7 +842,7 @@
       *-*-linux*)
 	;;
       *) # See PR46792 regarding target-libffi.
-	noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
+	noconfigdirs="$noconfigdirs target-libffi";;
     esac
     ;;
   hppa*64*-*-linux*)
@@ -875,7 +874,7 @@
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
   mmix-*-*)
-    noconfigdirs="$noconfigdirs target-libffi target-boehm-gc"
+    noconfigdirs="$noconfigdirs target-libffi"
     ;;
   powerpc-*-aix*)
     # copied from rs6000-*-* entry
@@ -2166,30 +2165,6 @@
   fi
 done
 
-# Check for Boehm's garbage collector
-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
-  *,objc,*:*:yes:*target-boehm-gc*)
-    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 depending on target-libjava.
-    if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
-      noconfigdirs="$noconfigdirs target-boehm-gc"
-    fi
-    ;;
-esac
-
 # Disable libcilkrts, libitm, libsanitizer, libvtv, liboffloadmic if we're not building C++
 case ,${enable_languages}, in
   *,c++,*)
--- gcc-6.5.0/gcc/java/boehm.c	2025-08-29 09:04:49.618360504 +0200
+++ gcc-6.5.0/gcc/java/boehm.c	2025-08-29 09:08:56.054721459 +0200
@@ -136,10 +136,6 @@
   int pointer_after_end = 0;
   tree field, value, value_type;
 
-  /* If the GC wasn't requested, just use a null pointer.  */
-  if (! flag_use_boehm_gc)
-    return null_pointer_node;
-
   value_type = java_type_for_mode (ptr_mode, 1);
   wide_int mask = wi::zero (TYPE_PRECISION (value_type));
 
@@ -223,8 +219,6 @@
 uses_jv_markobj_p (tree dtable)
 {
   tree v;
-  /* FIXME: what do we return if !flag_use_boehm_gc ? */
-  gcc_assert (flag_use_boehm_gc);
   /* FIXME: this is wrong if TARGET_VTABLE_USES_DESCRIPTORS.  However,
      this function is only used with flag_reduced_reflection.  No
      point in asserting unless we hit the bad case.  */
--- gcc-6.5.0/gcc/java/jvspec.c	2025-08-29 09:04:49.618149376 +0200
+++ gcc-6.5.0/gcc/java/jvspec.c	2025-08-29 09:08:56.054886315 +0200
@@ -65,7 +65,7 @@
 		   %<fassume-compiled* %<fno-assume-compiled*\
 		   %<fcompile-resource* %<fassert %<fno-assert \
 		   %<femit-class-file %<femit-class-files %<fencoding*\
-		   %<fuse-boehm-gc %<fhash-synchronization %<fjni\
+     %<fhash-synchronization %<fjni\
 		   %<findirect-dispatch\
 		   %<fno-store-check %<foutput-class-dir\
 		   %<fclasspath* %<fbootclasspath*\
--- gcc-6.5.0/gcc/java/lang.opt	2025-08-29 09:04:49.617506457 +0200
+++ gcc-6.5.0/gcc/java/lang.opt	2025-08-29 09:08:56.055017337 +0200
@@ -256,10 +256,6 @@
 Java Var(flag_store_check) Init(1)
 Enable assignability checks for stores into object arrays.
 
-fuse-boehm-gc
-Java Var(flag_use_boehm_gc)
-Generate code for the Boehm GC.
-
 fuse-divide-subroutine
 Java Var(flag_use_divide_subroutine) Init(1)
 Call a library routine to do integer divisions.
Only in gcc-6.5.0/libjava: autom4te.cache
--- gcc-6.5.0/libjava/boehm.cc	2025-08-29 09:04:47.456492179 +0200
+++ gcc-6.5.0/libjava/boehm.cc	2025-08-29 09:08:56.057093955 +0200
@@ -40,20 +40,18 @@
 
 extern "C"
 {
-#include <gc_config.h>
-
 // Set GC_DEBUG before including gc.h!
 #ifdef LIBGCJ_GC_DEBUG
 # define GC_DEBUG
 #endif
 
-#include <gc_mark.h>
-#include <gc_gcj.h>
-#include <javaxfc.h>  // GC_finalize_all declaration.  
+#include <gc/gc_mark.h>
+#include <gc/gc_gcj.h>
+#include <gc/javaxfc.h>  // GC_finalize_all declaration.
 
 #ifdef THREAD_LOCAL_ALLOC
 # define GC_REDIRECT_TO_LOCAL
-# include <gc_local_alloc.h>
+# include <gc/gc.h>
 #endif
 
   // From boehm's misc.c 
@@ -468,7 +466,9 @@
 int
 _Jv_SetGCFreeSpaceDivisor (int div)
 {
-  return (int)GC_set_free_space_divisor ((GC_word)div);
+  int old_div = (int)GC_get_free_space_divisor ();
+  GC_set_free_space_divisor ((GC_word)div);
+  return old_div;
 }
 
 void
@@ -523,7 +523,7 @@
   gc_initialized = 1;
 
   // Ignore pointers that do not point to the start of an object.
-  GC_all_interior_pointers = 0;
+  GC_set_all_interior_pointers(0);
 
 #if defined (HAVE_DLFCN_H) && defined (HAVE_DLADDR)
   // Tell the collector to ask us before scanning DSOs.
@@ -538,9 +538,9 @@
 
   // Cause an out of memory error to be thrown from the allocators,
   // instead of returning 0.  This is cheaper than checking on allocation.
-  GC_oom_fn = handle_out_of_memory;
+  GC_set_oom_fn(handle_out_of_memory);
 
-  GC_java_finalization = 1;
+  GC_set_java_finalization(1);
 
   // We use a different mark procedure for object arrays. This code 
   // configures a different object `kind' for object array allocation and
@@ -597,8 +597,8 @@
 void
 _Jv_GCInitializeFinalizers (void (*notifier) (void))
 {
-  GC_finalize_on_demand = 1;
-  GC_finalizer_notifier = notifier;
+  GC_set_finalize_on_demand(1);
+  GC_set_finalizer_notifier(notifier);
 }
 
 void
--- gcc-6.5.0/libjava/configure	2025-08-29 09:04:47.455654487 +0200
+++ gcc-6.5.0/libjava/configure	2025-08-29 12:08:18.103876853 +0200
@@ -700,10 +700,6 @@
 USING_NOGC_TRUE
 USING_BOEHMGC_FALSE
 USING_BOEHMGC_TRUE
-GCTESTSPEC
-JC1GCSPEC
-GCSPEC
-GCDEPS
 GCINCS
 GCLIBS
 LIBGCJTESTSPEC
@@ -957,6 +953,9 @@
 with_system_zlib
 with_x
 enable_java_gc
+with_target_bdw_gc
+with_target_bdw_gc_include
+with_target_bdw_gc_lib
 enable_rpath
 with_libiconv_prefix
 enable_tls
@@ -1646,7 +1645,8 @@
   --enable-interpreter    enable interpreter
   --disable-java-net      disable java.net
   --disable-jvmpi         disable JVMPI support
-  --enable-java-gc=TYPE   choose garbage collector (default is boehm)
+  --enable-java-gc[=ARG]  enable the use of the bdw-gc garbage collector with
+                          libjava [ARG={default,yes,no}]
   --disable-rpath         do not hardcode runtime library paths
   --enable-tls            Use thread-local storage [default=yes]
   --disable-symvers       disable symbol versioning for libjava
@@ -1677,6 +1677,16 @@
   --with-ecos             enable runtime eCos target support
   --with-system-zlib      use installed libz
   --with-x                use the X Window System
+  --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
+  --with-target-bdw-gc-include=PATHLIST
+                          specify directories for installed bdw-gc include
+                          files
+  --with-target-bdw-gc-lib=PATHLIST
+                          specify directories for installed bdw-gc library
   --with-gnu-ld           assume the C compiler uses GNU ld default=no
   --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
   --without-libiconv-prefix     don't search for libiconv in includedir and libdir
@@ -13389,7 +13399,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 13392 "configure"
+#line 13402 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -13495,7 +13505,7 @@
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 13498 "configure"
+#line 13508 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -20607,46 +20617,258 @@
 
 
 
-# Allow the GC to be disabled.  Can be useful when debugging.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for garbage collector to use" >&5
-$as_echo_n "checking for garbage collector to use... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if garbage collector is enabled" >&5
+$as_echo_n "checking if garbage collector is enabled... " >&6; }
 # Check whether --enable-java-gc was given.
 if test "${enable_java_gc+set}" = set; then :
-  enableval=$enable_java_gc; GC=$enableval
+  enableval=$enable_java_gc; USE_GC=$enableval
 else
-  GC=boehm
+  USE_GC=yes
 fi
 
+
+# Check whether --with-target-bdw-gc was given.
+if test "${with_target_bdw_gc+set}" = set; then :
+  withval=$with_target_bdw_gc;
+fi
+
+
+# Check whether --with-target-bdw-gc-include was given.
+if test "${with_target_bdw_gc_include+set}" = set; then :
+  withval=$with_target_bdw_gc_include;
+fi
+
+
+# Check whether --with-target-bdw-gc-lib was given.
+if test "${with_target_bdw_gc_lib+set}" = set; then :
+  withval=$with_target_bdw_gc_lib;
+fi
+
+
+case "${USE_GC}" in
+no)
+  use_bdw_gc=no
+  ;;
+yes|default)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bdw garbage collector" >&5
+$as_echo_n "checking for bdw garbage collector... " >&6; }
+  if test "x$with_target_bdw_gc$with_target_bdw_gc_include$with_target_bdw_gc_lib" = x; then
+        BDW_GC_CFLAGS=
+    GCLIBS="-lgc"
+  else
+        if test "x$with_target_bdw_gc_include" = x && test "x$with_target_bdw_gc_lib" != x; then
+      as_fn_error "found --with-target-bdw-gc-lib but --with-target-bdw-gc-include missing" "$LINENO" 5
+    elif test "x$with_target_bdw_gc_include" != x && test "x$with_target_bdw_gc_lib" = x; then
+      as_fn_error "found --with-target-bdw-gc-include but --with-target-bdw-gc-lib missing" "$LINENO" 5
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: using paths configured with --with-target-bdw-gc options" >&5
+$as_echo "using paths configured with --with-target-bdw-gc options" >&6; }
+    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
+        as_fn_error "no multilib path ($mldir) found in --with-target-bdw-gc" "$LINENO" 5
+      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; fallback=$i ;;
+        esac
+        if test "$mldir" = "$sd"; then
+          bdw_val=$d
+        fi
+      done
+      if test "x$bdw_val" = x && test "x$bdw_inc_dir" = x && test "x$fallback" != x; then
+        bdw_inc_dir="$fallback"
+      elif test "x$bdw_val" = x; then
+        as_fn_error "no multilib path ($mldir) found in --with-target-bdw-gc-include" "$LINENO" 5
+      else
+        bdw_inc_dir="$bdw_val"
+      fi
+    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
+        as_fn_error "no multilib path ($mldir) found in --with-target-bdw-gc-lib" "$LINENO" 5
+      fi
+      bdw_lib_dir="$bdw_val"
+    fi
+    if test "x$bdw_inc_dir" = x; then
+      as_fn_error "no multilib path ($mldir) found in --with-target-bdw-gc-include" "$LINENO" 5
+    fi
+    if test "x$bdw_lib_dir" = x; then
+      as_fn_error "no multilib path ($mldir) found in --with-target-bdw-gc-lib" "$LINENO" 5
+    fi
+    BDW_GC_CFLAGS="-I$bdw_inc_dir"
+    if test -f $bdw_lib_dir/libgc.la; then
+      GCLIBS="$bdw_lib_dir/libgc.la"
+    else
+      GCLIBS="-L$bdw_lib_dir -lgc"
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+  fi
+
+  case "$GCLIBS" in
+  *libgc.la)
+    use_bdw_gc=yes
+    ;;
+  *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for system boehm-gc" >&5
+$as_echo_n "checking for system boehm-gc... " >&6; }
+    save_CFLAGS=$CFLAGS
+    save_LIBS=$LIBS
+    CFLAGS="$CFLAGS $BDW_GC_CFLAGS"
+    LIBS="$LIBS $GCLIBS"
+            if test x$gcc_no_link = xyes; then
+  as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+fi
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <gc/gc.h>
+int
+main ()
+{
+GC_init()
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+        if test "$cross_compiling" = yes; then :
+            system_bdw_gc_found=no
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+          #include <gc/gc.h>
+          int main() {
+            GC_init();
+            return 0;
+          }
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  system_bdw_gc_found=yes
+else
+  system_bdw_gc_found=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+else
+  system_bdw_gc_found=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    CFLAGS=$save_CFLAGS
+    LIBS=$save_LIBS
+    if test x$enable_objc_gc = xauto && test x$system_bdw_gc_found = xno; then
+      as_fn_error "bdw-gc not found" "$LINENO" 5
+      use_bdw_gc=no
+    elif test x$enable_objc_gc = xyes && test x$system_bdw_gc_found = xno; then
+      as_fn_error "bdw-gc not found" "$LINENO" 5
+    else
+      use_bdw_gc=yes
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+    fi
+  esac
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GC_iterate_free_hblks in -lgc" >&5
+$as_echo_n "checking for GC_iterate_free_hblks in -lgc... " >&6; }
+if ${ac_cv_lib_gc_GC_iterate_free_hblks+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lgc  $LIBS"
+if test x$gcc_no_link = xyes; then
+  as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+fi
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char GC_iterate_free_hblks ();
+int
+main ()
+{
+return GC_iterate_free_hblks ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_gc_GC_iterate_free_hblks=yes
+else
+  ac_cv_lib_gc_GC_iterate_free_hblks=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gc_GC_iterate_free_hblks" >&5
+$as_echo "$ac_cv_lib_gc_GC_iterate_free_hblks" >&6; }
+if test "x$ac_cv_lib_gc_GC_iterate_free_hblks" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBGC 1
+_ACEOF
+
+  LIBS="-lgc $LIBS"
+
+else
+  as_fn_error "installed boehm-gc is too old" "$LINENO" 5
+fi
+
+
+if test "$use_bdw_gc" = no; then
+  as_fn_error "bdw-gc not found" "$LINENO" 5
 GCLIBS=
 GCINCS=
-GCDEPS=
-GCSPEC=
-JC1GCSPEC=
-GCTESTSPEC=
-case "$GC" in
- boehm)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: boehm" >&5
-$as_echo "boehm" >&6; }
-    GCLIBS=../boehm-gc/libgcjgc_convenience.la
-    JC1GCSPEC='-fuse-boehm-gc'
-    GCTESTSPEC="-L`${PWDCMD-pwd}`/../boehm-gc/.libs -rpath `${PWDCMD-pwd}`/../boehm-gc/.libs"
-    GCINCS='-I$(top_srcdir)/../boehm-gc/include -I../boehm-gc/include'
-    GCOBJS=boehm.lo
+  GCHDR=no-gc.h
+else
+  GCINCS=$BDW_GC_CFLAGS
+  GCLIBS=$GCLIBS
     GCHDR=boehm-gc.h
     # The POSIX thread support needs to know this.
 
 $as_echo "#define HAVE_BOEHM_GC 1" >>confdefs.h
 
-    ;;
- no)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-    GCHDR=no-gc.h
-    ;;
- *)
-    as_fn_error "unrecognized collector \"$GC\"" "$LINENO" 5
-    ;;
-esac
+fi
 
 
 
@@ -20655,7 +20877,7 @@
 
 ac_config_links="$ac_config_links include/java-gc.h:include/$GCHDR"
 
- if test "$GC" = boehm; then
+ if test "$USE_GC" = yes; then
   USING_BOEHMGC_TRUE=
   USING_BOEHMGC_FALSE='#'
 else
@@ -20663,7 +20885,7 @@
   USING_BOEHMGC_FALSE=
 fi
 
- if test "$GC" = no; then
+ if test "$USE_GC" = no; then
   USING_NOGC_TRUE=
   USING_NOGC_FALSE='#'
 else
@@ -20760,7 +20982,7 @@
 
     # If we're using the Boehm GC, then we happen to know that it
     # defines _REENTRANT, so we don't bother.  Eww.
-    if test "$GC" != boehm; then
+    if test "$USE_GC" = no; then
 
 $as_echo "#define _REENTRANT 1" >>confdefs.h
 
@@ -23293,7 +23515,7 @@
 
    # On Solaris, and maybe other architectures, the Boehm collector
    # requires -ldl.
-   if test "$GC" = boehm; then
+   if test "$USE_GC" != no; then
       case "${host}" in
 	  *-*-darwin*)
 	    ;;
--- gcc-6.5.0/libjava/configure.ac	2025-08-29 09:04:47.456219548 +0200
+++ gcc-6.5.0/libjava/configure.ac	2025-08-29 09:08:56.066972967 +0200
@@ -935,48 +935,174 @@
 
 AC_SUBST(LIBGCJTESTSPEC)
 
-# Allow the GC to be disabled.  Can be useful when debugging.
-AC_MSG_CHECKING([for garbage collector to use])
+AC_MSG_CHECKING([if garbage collector is enabled])
 AC_ARG_ENABLE(java-gc,
-  AS_HELP_STRING([--enable-java-gc=TYPE],
-                 [choose garbage collector (default is boehm)]),
-  [GC=$enableval],
-  [GC=boehm])
+[AS_HELP_STRING([[--enable-java-gc[=ARG]]],
+    [enable the use of the bdw-gc garbage collector with libjava @<:@ARG={default,yes,no}@:>@])],
+[USE_GC=$enableval],
+[USE_GC=yes])
+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 "${USE_GC}" in
+no)
+  use_bdw_gc=no
+  ;;
+yes|default)
+  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, assuming bdw-gc in default locations
+    BDW_GC_CFLAGS=
+    GCLIBS="-lgc"
+  else
+    dnl bdw-gw options passed by configure flags
+    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
+    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; fallback=$i ;;
+        esac
+        if test "$mldir" = "$sd"; then
+          bdw_val=$d
+        fi
+      done
+      if test "x$bdw_val" = x && test "x$bdw_inc_dir" = x && test "x$fallback" != x; then
+        bdw_inc_dir="$fallback"
+      elif test "x$bdw_val" = x; then
+        AC_MSG_ERROR([no multilib path ($mldir) found in --with-target-bdw-gc-include])
+      else
+        bdw_inc_dir="$bdw_val"
+      fi
+    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"
+    if test -f $bdw_lib_dir/libgc.la; then
+      GCLIBS="$bdw_lib_dir/libgc.la"
+    else
+      GCLIBS="-L$bdw_lib_dir -lgc"
+    fi
+    AC_MSG_RESULT([found])
+  fi
+
+  case "$GCLIBS" in
+  *libgc.la)
+    use_bdw_gc=yes
+    ;;
+  *)
+    AC_MSG_CHECKING([for system boehm-gc])
+    save_CFLAGS=$CFLAGS
+    save_LIBS=$LIBS
+    CFLAGS="$CFLAGS $BDW_GC_CFLAGS"
+    LIBS="$LIBS $GCLIBS"
+    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_ERROR([bdw-gc not found])
+      use_bdw_gc=no
+    elif test x$enable_objc_gc = xyes && test x$system_bdw_gc_found = xno; then
+      AC_MSG_ERROR([bdw-gc not found])
+    else
+      use_bdw_gc=yes
+      AC_MSG_RESULT([found])
+    fi
+  esac
+esac
+
+AC_CHECK_LIB([gc], [GC_iterate_free_hblks], [], [AC_MSG_ERROR([installed boehm-gc is too old])])
+
+if test "$use_bdw_gc" = no; then
+  AC_MSG_ERROR([bdw-gc not found])
 GCLIBS=
 GCINCS=
-GCDEPS=
-GCSPEC=
-JC1GCSPEC=
-GCTESTSPEC=
-case "$GC" in
- boehm)
-    AC_MSG_RESULT(boehm)
-    GCLIBS=../boehm-gc/libgcjgc_convenience.la
-    JC1GCSPEC='-fuse-boehm-gc'
-    GCTESTSPEC="-L`${PWDCMD-pwd}`/../boehm-gc/.libs -rpath `${PWDCMD-pwd}`/../boehm-gc/.libs"
-    GCINCS='-I$(top_srcdir)/../boehm-gc/include -I../boehm-gc/include'
-    GCOBJS=boehm.lo    
+  GCHDR=no-gc.h
+else
+  GCINCS=$BDW_GC_CFLAGS
+  GCLIBS=$GCLIBS
     GCHDR=boehm-gc.h
     # The POSIX thread support needs to know this.
     AC_DEFINE(HAVE_BOEHM_GC, 1, [Define if Boehm GC in use.])
-    ;;
- no)
-    AC_MSG_RESULT(none)
-    GCHDR=no-gc.h
-    ;;
- *)
-    AC_MSG_ERROR([unrecognized collector "$GC"])
-    ;;
-esac
+fi
+
 AC_SUBST(GCLIBS)
 AC_SUBST(GCINCS)
-AC_SUBST(GCDEPS)
-AC_SUBST(GCSPEC)
-AC_SUBST(JC1GCSPEC)
-AC_SUBST(GCTESTSPEC)
 AC_CONFIG_LINKS(include/java-gc.h:include/$GCHDR)
-AM_CONDITIONAL(USING_BOEHMGC, test "$GC" = boehm)
-AM_CONDITIONAL(USING_NOGC, test "$GC" = no)
+AM_CONDITIONAL(USING_BOEHMGC, test "$USE_GC" = yes)
+AM_CONDITIONAL(USING_NOGC, test "$USE_GC" = no)
 
 
 AC_MSG_CHECKING([for thread model used by GCC])
@@ -1060,7 +1186,7 @@
 
     # If we're using the Boehm GC, then we happen to know that it
     # defines _REENTRANT, so we don't bother.  Eww.
-    if test "$GC" != boehm; then
+    if test "$USE_GC" = no; then
        AC_DEFINE(_REENTRANT, 1, [Required define if using POSIX threads])
     fi
     AC_DEFINE(_POSIX_PTHREAD_SEMANTICS, 1, [Required define if using POSIX threads])
@@ -1415,7 +1541,7 @@
 
    # On Solaris, and maybe other architectures, the Boehm collector
    # requires -ldl.
-   if test "$GC" = boehm; then
+   if test "$USE_GC" != no; then
       case "${host}" in
 	  *-*-darwin*)
 	    ;;
--- gcc-6.5.0/libjava/gcj/Makefile.in	2025-08-29 09:04:47.956717650 +0200
+++ gcc-6.5.0/libjava/gcj/Makefile.in	2025-08-29 09:08:56.067236413 +0200
@@ -164,7 +164,6 @@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GCC_FOR_ECJX = @GCC_FOR_ECJX@
-GCDEPS = @GCDEPS@
 GCINCS = @GCINCS@
 GCJ = @GCJ@
 GCJDEPMODE = @GCJDEPMODE@
@@ -174,8 +173,6 @@
 GCJ_BIN_DIR = @GCJ_BIN_DIR@
 GCJ_FOR_ECJX = @GCJ_FOR_ECJX@
 GCLIBS = @GCLIBS@
-GCSPEC = @GCSPEC@
-GCTESTSPEC = @GCTESTSPEC@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_LIBS = @GLIB_LIBS@
 GREP = @GREP@
@@ -193,7 +190,6 @@
 JAR = @JAR@
 JAVA_HOME = @JAVA_HOME@
 JAVA_VERSION = @JAVA_VERSION@
-JC1GCSPEC = @JC1GCSPEC@
 JRE_BIN_DIR = @JRE_BIN_DIR@
 JRE_DIR = @JRE_DIR@
 JRE_LIB_DIR = @JRE_LIB_DIR@
--- gcc-6.5.0/libjava/gnu/gcj/util/natGCInfo.cc	2025-08-29 09:04:47.496963880 +0200
+++ gcc-6.5.0/libjava/gnu/gcj/util/natGCInfo.cc	2025-08-29 13:46:31.497307395 +0200
@@ -25,44 +25,9 @@
 #include <string.h>
 #include <errno.h>
 
-//
-// Boehm GC includes.
-//
-#ifdef PACKAGE_NAME
-#undef PACKAGE_NAME
-#endif
-
-#ifdef PACKAGE_STRING
-#undef PACKAGE_STRING
-#endif
-
-#ifdef PACKAGE_TARNAME
-#undef PACKAGE_TARNAME
-#endif
-
-#ifdef PACKAGE_VERSION
-#undef PACKAGE_VERSION
-#endif
-
-#ifdef TRUE
-#undef TRUE
-#endif
-
-#ifdef FALSE
-#undef FALSE
-#endif
-
-extern "C" {
-#include "private/dbg_mlc.h"
-  int GC_n_set_marks(hdr* hhdr);
-  ptr_t GC_clear_stack(ptr_t p);
-  extern int GC_gcj_kind;
-  extern int GC_gcj_debug_kind;
-}
-
-#endif
-
-#ifdef HAVE_PROC_SELF_MAPS
+#include "gc/gc.h"
+#include "gc/gc_gcj.h"
+#include "gc/gc_mark.h"
 
 static int gc_ok = 1;
 
@@ -76,87 +41,58 @@
 };
 
 static void
-GC_print_debug_callback(hblk *h, word user_data)
+GC_print_debug_callback(GC_hblk_s *h, void* user_data)
 {
-  hdr *hhdr = HDR(h);
-  size_t bytes = WORDS_TO_BYTES(hhdr -> hb_sz);
+  size_t bytes;
 
   gc_debug_info *pinfo = (gc_debug_info *)user_data;
 
   fprintf(pinfo->fp, "ptr = %#lx, kind = %d, size = %zd, marks = %d\n",
-          (unsigned long)h, hhdr->hb_obj_kind, bytes, GC_n_set_marks(hhdr));
+	  (unsigned long)h, GC_get_kind_and_size(h, &bytes), bytes, GC_count_set_marks_in_hblk(h));
 }
 
-/*
-  this next section of definitions shouldn't really be here.
-  copied from boehmgc/allchblk.c
-*/
+struct print_hblkfl_s {
+  FILE *fp;
+  GC_word total_free;
+  int prev_index;
+};
 
-# define UNIQUE_THRESHOLD 32
-# define HUGE_THRESHOLD 256
-# define FL_COMPRESSION 8
-# define N_HBLK_FLS (HUGE_THRESHOLD - UNIQUE_THRESHOLD)/FL_COMPRESSION \
-                         + UNIQUE_THRESHOLD
-#ifndef USE_MUNMAP
-extern "C" {
-  extern word GC_free_bytes[N_HBLK_FLS+1];
+static void GC_CALLBACK print_hblkfl_file_item(struct GC_hblk_s *h, int i,
+					       void* client_data)
+{
+  GC_word sz;
+  print_hblkfl_s *pdata = (print_hblkfl_s *)client_data;
+
+  if (pdata->prev_index != i) {
+    fprintf(pdata->fp, "Free list %d:\n", i);
+    pdata->prev_index = i;
 }
-#endif
 
-# ifdef USE_MUNMAP
-#   define IS_MAPPED(hhdr) (((hhdr) -> hb_flags & WAS_UNMAPPED) == 0)
-# else  /* !USE_MMAP */
-#   define IS_MAPPED(hhdr) 1
-# endif /* USE_MUNMAP */
+  sz = GC_size(h);
+  fprintf(pdata->fp, "\t0x%lx size %lu ", (unsigned long)h,
+	   (unsigned long)sz);
+  pdata->total_free += sz;
+
+  if (GC_is_black_listed(h, GC_get_hblk_size()) != 0)
+    fprintf(pdata->fp, "start black listed\n");
+  else if (GC_is_black_listed(h, sz) != 0)
+    fprintf(pdata->fp, "partially black listed\n");
+  else
+    fprintf(pdata->fp, "not black listed\n");
+}
 
 static void
 GC_print_hblkfreelist_file(FILE *fp)
 {
-  struct hblk * h;
-  word total_free = 0;
-  hdr * hhdr;
-  word sz;
-  int i;
+  print_hblkfl_s data;
+  data.fp = fp;
+  data.total_free = 0;
+  data.prev_index = -1;
     
   fprintf(fp, "---------- Begin free map ----------\n");
-  for (i = 0; i <= N_HBLK_FLS; ++i)
-    {
-      h = GC_hblkfreelist[i];
-#ifdef USE_MUNMAP
-      if (0 != h)
-        fprintf (fp, "Free list %ld:\n", (unsigned long)i);
-#else
-      if (0 != h)
-        fprintf (fp, "Free list %ld (Total size %ld):\n",
-                 (unsigned long)i,
-                 (unsigned long)GC_free_bytes[i]);
-#endif
-      while (h != 0)
-        {
-          hhdr = HDR(h);
-          sz = hhdr -> hb_sz;
-          fprintf (fp, "\t0x%lx size %lu ", (unsigned long)h,
-                   (unsigned long)sz);
-          total_free += sz;
-
-          if (GC_is_black_listed (h, HBLKSIZE) != 0)
-            fprintf (fp, "start black listed\n");
-          else if (GC_is_black_listed(h, hhdr -> hb_sz) != 0)
-            fprintf (fp, "partially black listed\n");
-          else
-            fprintf (fp, "not black listed\n");
-
-          h = hhdr -> hb_next;
-        }
-    }
-#ifndef USE_MUNMAP
-  if (total_free != GC_large_free_bytes)
-    {
-      fprintf (fp, "GC_large_free_bytes = %lu (INCONSISTENT!!)\n",
-               (unsigned long) GC_large_free_bytes);
-    }
-#endif
-  fprintf (fp, "Total of %lu bytes on free list\n", (unsigned long)total_free);
+  GC_iterate_free_hblks(print_hblkfl_file_item, &data);
+  fprintf(fp, "Total of %lu bytes on free list\n",
+	   (unsigned long)data.total_free);
   fprintf (fp, "---------- End free map ----------\n");
 }
 
@@ -173,7 +109,7 @@
   if (gc_ok)
     GC_gcollect();
   fprintf(info.fp, "---------- Begin block map ----------\n");
-  GC_apply_to_all_blocks(GC_print_debug_callback, (word)(void*)(&info));
+  GC_apply_to_all_blocks(GC_print_debug_callback, &info);
   //fprintf(fp, "#Total used %d free %d wasted %d\n", info.used, info.free, info.wasted);
   //fprintf(fp, "#Total blocks %d; %dK bytes\n", info.blocks, info.blocks*4);
   fprintf(info.fp, "---------- End block map ----------\n");
@@ -194,8 +130,8 @@
     int bytes_fd;
 
     void print_address_map();
-    void enumerate_callback(struct hblk *h);
-    static void enumerate_callback_adaptor(struct hblk *h, word dummy);
+    void enumerate_callback(GC_hblk_s *h);
+    static void enumerate_callback_adaptor(GC_hblk_s *h, void* dummy);
   };
 }
 
@@ -300,7 +236,7 @@
   if (gc_ok)
     GC_gcollect();
   GC_apply_to_all_blocks(enumerate_callback_adaptor, 
-                         (word)(void*)(this));
+			 this);
   fprintf(fp, "---------- End object map ----------\n");
   fflush(fp); 
 
@@ -316,25 +252,24 @@
 }
 
 void
-GC_enumerator::enumerate_callback_adaptor(struct hblk *h,
-                                          word dummy)
+GC_enumerator::enumerate_callback_adaptor(GC_hblk_s *h,
+					  void* dummy)
 {
   GC_enumerator* pinfo = (GC_enumerator*)dummy;
   pinfo->enumerate_callback(h);
 }
 
 void
-GC_enumerator::enumerate_callback(struct hblk *h)
+GC_enumerator::enumerate_callback(GC_hblk_s *h)
 {
-  hdr * hhdr = HDR(h);
-  size_t bytes = WORDS_TO_BYTES(hhdr->hb_sz);
+  size_t bytes;
   int i;
 
-  for (i = 0; i == 0 || (i + bytes <= HBLKSIZE); i += bytes)
+  for (i = 0; i == 0 || (i + bytes <= GC_get_hblk_size()); i += bytes)
     {
-      int inUse = mark_bit_from_hdr(hhdr,BYTES_TO_WORDS(i));  // in use
+      int inUse = GC_is_marked((char*)h+i);                   // in use
       char *ptr = (char*)h+i;                                 // address
-      int kind = hhdr->hb_obj_kind;                           // kind
+      int kind = GC_get_kind_and_size(h, &bytes);             // kind
       void *klass = 0;
       void *data = 0;
       if (kind == GC_gcj_kind
@@ -431,7 +366,7 @@
 
   J2A(name, n);
   oomDumpName = n;
-  GC_oom_fn = nomem_handler;
+  GC_set_oom_fn(nomem_handler);
 }
 
 #else  // HAVE_PROC_SELF_MAPS
--- gcc-6.5.0/libjava/include/boehm-gc.h	2025-08-29 09:04:47.956334319 +0200
+++ gcc-6.5.0/libjava/include/boehm-gc.h	2025-08-29 13:46:31.497965118 +0200
@@ -27,9 +27,9 @@
 #include <java/lang/Class.h>
 #include <string.h>
 
-#include <gc_ext_config.h> // for THREAD_LOCAL_ALLOC
+#include <gc/gc.h> // for THREAD_LOCAL_ALLOC
 
-extern "C" void * GC_gcj_malloc(size_t, void *);
+extern "C" void * GC_gcj_malloc(size_t, const void *);
 extern "C" void * GC_malloc_atomic(size_t);
 #ifdef THREAD_LOCAL_ALLOC
 extern "C" void * GC_local_gcj_malloc(size_t, void *);
@@ -41,8 +41,7 @@
 inline void *
 _Jv_AllocObj (jsize size, jclass klass)
 {
-  // This should call GC_GCJ_MALLOC, but that would involve
-  // including gc.h.
+  // FIXME: This should call GC_GCJ_MALLOC
 #ifdef THREAD_LOCAL_ALLOC
   return GC_local_gcj_malloc (size, klass->vtable);
 #else 
--- gcc-6.5.0/libjava/include/config.h.in	2025-08-29 09:04:47.956354384 +0200
+++ gcc-6.5.0/libjava/include/config.h.in	2025-08-29 09:11:22.331943820 +0200
@@ -152,6 +152,9 @@
 /* Define if your <locale.h> file defines LC_MESSAGES. */
 #undef HAVE_LC_MESSAGES
 
+/* Define to 1 if you have the `gc' library (-lgc). */
+#undef HAVE_LIBGC
+
 /* Define to 1 if you have the <locale.h> header file. */
 #undef HAVE_LOCALE_H
 
--- gcc-6.5.0/libjava/include/Makefile.in	2025-08-29 09:04:47.956305651 +0200
+++ gcc-6.5.0/libjava/include/Makefile.in	2025-08-29 09:08:56.067600928 +0200
@@ -165,7 +165,6 @@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GCC_FOR_ECJX = @GCC_FOR_ECJX@
-GCDEPS = @GCDEPS@
 GCINCS = @GCINCS@
 GCJ = @GCJ@
 GCJDEPMODE = @GCJDEPMODE@
@@ -175,8 +174,6 @@
 GCJ_BIN_DIR = @GCJ_BIN_DIR@
 GCJ_FOR_ECJX = @GCJ_FOR_ECJX@
 GCLIBS = @GCLIBS@
-GCSPEC = @GCSPEC@
-GCTESTSPEC = @GCTESTSPEC@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_LIBS = @GLIB_LIBS@
 GREP = @GREP@
@@ -194,7 +191,6 @@
 JAR = @JAR@
 JAVA_HOME = @JAVA_HOME@
 JAVA_VERSION = @JAVA_VERSION@
-JC1GCSPEC = @JC1GCSPEC@
 JRE_BIN_DIR = @JRE_BIN_DIR@
 JRE_DIR = @JRE_DIR@
 JRE_LIB_DIR = @JRE_LIB_DIR@
--- gcc-6.5.0/libjava/libgcj.spec.in	2025-08-29 09:04:47.456299803 +0200
+++ gcc-6.5.0/libjava/libgcj.spec.in	2025-08-29 09:08:56.068091794 +0200
@@ -7,6 +7,6 @@
 *startfile: @THREADSTARTFILESPEC@ %(startfileorig)
 
 %rename lib liborig
-*lib: @LD_START_STATIC_SPEC@ @LIBGCJ_SPEC@ @LD_FINISH_STATIC_SPEC@ @LIBMATHSPEC@ @LDLIBICONV@ @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) @LIBSTDCXXSPEC@ %(liborig)
+*lib: @LD_START_STATIC_SPEC@ @LIBGCJ_SPEC@ @LD_FINISH_STATIC_SPEC@ @LIBMATHSPEC@ @LDLIBICONV@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) @LIBSTDCXXSPEC@ %(liborig)
 
-*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @CHECKREFSPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ @BACKTRACESPEC@ @IEEESPEC@ @ATOMICSPEC@ @LIBGCJ_BC_SPEC@ -fkeep-inline-functions
+*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @CHECKREFSPEC@ @EXCEPTIONSPEC@ @BACKTRACESPEC@ @IEEESPEC@ @ATOMICSPEC@ @LIBGCJ_BC_SPEC@ -fkeep-inline-functions
--- gcc-6.5.0/libjava/Makefile.in	2025-08-29 09:04:47.455028231 +0200
+++ gcc-6.5.0/libjava/Makefile.in	2025-08-29 09:08:56.056309546 +0200
@@ -590,7 +590,6 @@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GCC_FOR_ECJX = @GCC_FOR_ECJX@
-GCDEPS = @GCDEPS@
 GCINCS = @GCINCS@
 GCJ = @GCJ@
 GCJDEPMODE = @GCJDEPMODE@
@@ -600,8 +599,6 @@
 GCJ_BIN_DIR = @GCJ_BIN_DIR@
 GCJ_FOR_ECJX = @GCJ_FOR_ECJX@
 GCLIBS = @GCLIBS@
-GCSPEC = @GCSPEC@
-GCTESTSPEC = @GCTESTSPEC@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_LIBS = @GLIB_LIBS@
 GREP = @GREP@
@@ -619,7 +616,6 @@
 JAR = @JAR@
 JAVA_HOME = @JAVA_HOME@
 JAVA_VERSION = @JAVA_VERSION@
-JC1GCSPEC = @JC1GCSPEC@
 JRE_BIN_DIR = @JRE_BIN_DIR@
 JRE_DIR = @JRE_DIR@
 JRE_LIB_DIR = @JRE_LIB_DIR@
--- gcc-6.5.0/libjava/testsuite/Makefile.in	2025-08-29 09:04:47.897892426 +0200
+++ gcc-6.5.0/libjava/testsuite/Makefile.in	2025-08-29 09:08:56.068195259 +0200
@@ -134,7 +134,6 @@
 EXEEXT = @EXEEXT@
 FGREP = @FGREP@
 GCC_FOR_ECJX = @GCC_FOR_ECJX@
-GCDEPS = @GCDEPS@
 GCINCS = @GCINCS@
 GCJ = @GCJ@
 GCJDEPMODE = @GCJDEPMODE@
@@ -144,8 +143,6 @@
 GCJ_BIN_DIR = @GCJ_BIN_DIR@
 GCJ_FOR_ECJX = @GCJ_FOR_ECJX@
 GCLIBS = @GCLIBS@
-GCSPEC = @GCSPEC@
-GCTESTSPEC = @GCTESTSPEC@
 GLIB_CFLAGS = @GLIB_CFLAGS@
 GLIB_LIBS = @GLIB_LIBS@
 GREP = @GREP@
@@ -163,7 +160,6 @@
 JAR = @JAR@
 JAVA_HOME = @JAVA_HOME@
 JAVA_VERSION = @JAVA_VERSION@
-JC1GCSPEC = @JC1GCSPEC@
 JRE_BIN_DIR = @JRE_BIN_DIR@
 JRE_DIR = @JRE_DIR@
 JRE_LIB_DIR = @JRE_LIB_DIR@
--- gcc-6.5.0/Makefile.def	2025-08-29 09:04:46.990812433 +0200
+++ gcc-6.5.0/Makefile.def	2025-08-29 10:20:27.301669966 +0200
@@ -167,7 +167,6 @@
 target_modules = { module= libjava; raw_cxx=true;
                    extra_configure_flags="$(EXTRA_CONFIGARGS_LIBJAVA)"; };
 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; };
@@ -546,7 +545,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; };
@@ -555,14 +553,10 @@
 dependencies = { module=all-target-libgo; on=all-target-libffi; };
 dependencies = { module=all-target-libgo; on=all-target-libatomic; };
 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; };
 dependencies = { module=all-target-libjava; on=all-fastjar; };
 dependencies = { module=all-target-libjava; on=all-target-zlib; };
-dependencies = { module=all-target-libjava; on=all-target-boehm-gc; };
 dependencies = { module=all-target-libjava; on=all-target-libffi; };
-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; };
--- gcc-6.5.0/Makefile.in	2025-08-29 09:04:46.991813086 +0200
+++ gcc-6.5.0/Makefile.in	2025-08-29 10:19:19.966939595 +0200
@@ -972,7 +972,6 @@
     maybe-configure-target-libffi \
     maybe-configure-target-libjava \
     maybe-configure-target-zlib \
-    maybe-configure-target-boehm-gc \
     maybe-configure-target-rda \
     maybe-configure-target-libada \
     maybe-configure-target-libgomp \
@@ -1139,7 +1138,6 @@
 all-target: maybe-all-target-libffi
 all-target: maybe-all-target-libjava
 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
@@ -1233,7 +1231,6 @@
 info-target: maybe-info-target-libffi
 info-target: maybe-info-target-libjava
 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
@@ -1320,7 +1317,6 @@
 dvi-target: maybe-dvi-target-libffi
 dvi-target: maybe-dvi-target-libjava
 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
@@ -1407,7 +1403,6 @@
 pdf-target: maybe-pdf-target-libffi
 pdf-target: maybe-pdf-target-libjava
 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
@@ -1494,7 +1489,6 @@
 html-target: maybe-html-target-libffi
 html-target: maybe-html-target-libjava
 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
@@ -1581,7 +1575,6 @@
 TAGS-target: maybe-TAGS-target-libffi
 TAGS-target: maybe-TAGS-target-libjava
 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
@@ -1668,7 +1661,6 @@
 install-info-target: maybe-install-info-target-libffi
 install-info-target: maybe-install-info-target-libjava
 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
@@ -1755,7 +1747,6 @@
 install-pdf-target: maybe-install-pdf-target-libffi
 install-pdf-target: maybe-install-pdf-target-libjava
 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
@@ -1842,7 +1833,6 @@
 install-html-target: maybe-install-html-target-libffi
 install-html-target: maybe-install-html-target-libjava
 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
@@ -1929,7 +1919,6 @@
 installcheck-target: maybe-installcheck-target-libffi
 installcheck-target: maybe-installcheck-target-libjava
 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
@@ -2016,7 +2005,6 @@
 mostlyclean-target: maybe-mostlyclean-target-libffi
 mostlyclean-target: maybe-mostlyclean-target-libjava
 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
@@ -2103,7 +2091,6 @@
 clean-target: maybe-clean-target-libffi
 clean-target: maybe-clean-target-libjava
 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
@@ -2190,7 +2177,6 @@
 distclean-target: maybe-distclean-target-libffi
 distclean-target: maybe-distclean-target-libjava
 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
@@ -2277,7 +2263,6 @@
 maintainer-clean-target: maybe-maintainer-clean-target-libffi
 maintainer-clean-target: maybe-maintainer-clean-target-libjava
 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
@@ -2420,7 +2405,6 @@
     maybe-check-target-libffi \
     maybe-check-target-libjava \
     maybe-check-target-zlib \
-    maybe-check-target-boehm-gc \
     maybe-check-target-rda \
     maybe-check-target-libada \
     maybe-check-target-libgomp \
@@ -2603,7 +2587,6 @@
     maybe-install-target-libffi \
     maybe-install-target-libjava \
     maybe-install-target-zlib \
-    maybe-install-target-boehm-gc \
     maybe-install-target-rda \
     maybe-install-target-libada \
     maybe-install-target-libgomp \
@@ -2710,7 +2693,6 @@
     maybe-install-strip-target-libffi \
     maybe-install-strip-target-libjava \
     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 \
@@ -44421,464 +44403,6 @@
 
 
 
-.PHONY: configure-target-boehm-gc maybe-configure-target-boehm-gc
-maybe-configure-target-boehm-gc:
-@if gcc-bootstrap
-configure-target-boehm-gc: stage_current
-@endif gcc-bootstrap
-@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
-@endif target-boehm-gc
-
-
-
-
-
-.PHONY: all-target-boehm-gc maybe-all-target-boehm-gc
-maybe-all-target-boehm-gc:
-@if gcc-bootstrap
-all-target-boehm-gc: stage_current
-@endif gcc-bootstrap
-@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))
-@endif target-boehm-gc
-
-
-
-
-
-.PHONY: check-target-boehm-gc maybe-check-target-boehm-gc
-maybe-check-target-boehm-gc:
-@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)
-
-@endif target-boehm-gc
-
-.PHONY: install-target-boehm-gc maybe-install-target-boehm-gc
-maybe-install-target-boehm-gc:
-@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)
-
-@endif target-boehm-gc
-
-.PHONY: install-strip-target-boehm-gc maybe-install-strip-target-boehm-gc
-maybe-install-strip-target-boehm-gc:
-@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)
-
-@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:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-dvi-target-boehm-gc dvi-target-boehm-gc
-maybe-dvi-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-pdf-target-boehm-gc pdf-target-boehm-gc
-maybe-pdf-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-html-target-boehm-gc html-target-boehm-gc
-maybe-html-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-TAGS-target-boehm-gc TAGS-target-boehm-gc
-maybe-TAGS-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-install-info-target-boehm-gc install-info-target-boehm-gc
-maybe-install-info-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-install-pdf-target-boehm-gc install-pdf-target-boehm-gc
-maybe-install-pdf-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-install-html-target-boehm-gc install-html-target-boehm-gc
-maybe-install-html-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-installcheck-target-boehm-gc installcheck-target-boehm-gc
-maybe-installcheck-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-mostlyclean-target-boehm-gc mostlyclean-target-boehm-gc
-maybe-mostlyclean-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-clean-target-boehm-gc clean-target-boehm-gc
-maybe-clean-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-distclean-target-boehm-gc distclean-target-boehm-gc
-maybe-distclean-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-.PHONY: maybe-maintainer-clean-target-boehm-gc maintainer-clean-target-boehm-gc
-maybe-maintainer-clean-target-boehm-gc:
-@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
-
-@endif target-boehm-gc
-
-
-
-
-
 .PHONY: configure-target-rda maybe-configure-target-rda
 maybe-configure-target-rda:
 @if gcc-bootstrap
@@ -49995,7 +49519,6 @@
 configure-target-libffi: stage_last
 configure-target-libjava: 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
@@ -50029,7 +49552,6 @@
 configure-target-libffi: maybe-all-gcc
 configure-target-libjava: 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
@@ -50864,7 +50386,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
@@ -50873,14 +50394,10 @@
 all-target-libgo: maybe-all-target-libffi
 all-target-libgo: maybe-all-target-libatomic
 configure-target-libjava: maybe-configure-target-zlib
-configure-target-libjava: maybe-configure-target-boehm-gc
 configure-target-libjava: maybe-configure-target-libffi
 all-target-libjava: maybe-all-fastjar
 all-target-libjava: maybe-all-target-zlib
-all-target-libjava: maybe-all-target-boehm-gc
 all-target-libjava: maybe-all-target-libffi
-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
@@ -50996,7 +50513,6 @@
 configure-target-libffi: maybe-all-target-libgcc
 configure-target-libjava: 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
@@ -51046,8 +50562,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
openSUSE Build Service is sponsored by