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