> Date: Fri, 24 Jun 2011 10:14:13 +0200
> From: Richard Guenther <richard.guent...@gmail.com>

> On Thu, Jun 23, 2011 at 8:23 PM, Hans-Peter Nilsson
> <hans-peter.nils...@axis.com> wrote:
> > Here's the patch I tested for 4.6, native
> > x86_64-unknown-linux-gnu, cross to cris-axis-elf, both with old
> > and new ("breaking") newlib.
> >
> > Ok for 4.6 and after testing, earlier branches?
> 
> Ok for 4.6.2 and 4.5.

The patch didn't apply cleanly to 4.5 so for the record here's
the adjusted variant I just committed, and also the
target-specific bits I instead committed to 4.4, noting that
skipdirs is the preferable variable to set for silent skipping.
Hours too late for the now-closed-and-final-released 4.3, alas.

4.4:
        * configure.ac (cris-*-* | crisv32-*-*, mmix-*-*): Add
        target-libiberty to skipdirs.
        * configure: Regenerate.

Index: configure.ac
===================================================================
--- configure.ac        (revision 175397)
+++ configure.ac        (working copy)
@@ -612,6 +612,7 @@ case "${target}" in
     ;;
   cris-*-* | crisv32-*-*)
     unsupported_languages="$unsupported_languages java"
+    skipdirs="$skipdirs target-libiberty"
     case "${target}" in
       *-*-aout)
        unsupported_languages="$unsupported_languages fortran"
@@ -783,6 +784,7 @@ case "${target}" in
     noconfigdirs="$noconfigdirs target-libstdc++-v3"
     ;;
   mmix-*-*)
+    skipdirs="$skipdirs target-libiberty"
     noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss"
     unsupported_languages="$unsupported_languages fortran java"
     ;;

4.5:
        PR regression/47836
        PR bootstrap/23656
        PR other/47733
        PR bootstrap/49247
        PR c/48825
        * configure.ac (target_libraries): Remove target-libiberty.
        Remove all target-specific settings adding target-libiberty to
        skipdirs and noconfigdirs.  Remove checking target_configdirs
        and removing target-libiberty but keeping target-libgcc if
        otherwise empty.
        * Makefile.def (target_modules): Don't add libiberty.
        (dependencies): Remove all traces of target-libiberty.
        * configure, Makefile.in: Regenerate.

Index: configure.ac
===================================================================
--- configure.ac        (revision 175382)
+++ configure.ac        (working copy)
@@ -185,9 +185,8 @@ libgcj="target-libffi \
 
 # these libraries are built for the target environment, and are built after
 # the host libraries and the host tools (which may be a cross compiler)
-#
+# Note that libiberty is not a target library.
 target_libraries="target-libgcc \
-               target-libiberty \
                target-libgloss \
                target-newlib \
                target-libgomp \
@@ -506,14 +505,14 @@ case "${target}" in
     ;;
   *-*-kaos*)
     # Remove unsupported stuff on all kaOS configurations.
-    skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-librx"
+    skipdirs="${libgcj} target-libstdc++-v3 target-librx"
     skipdirs="$skipdirs target-libobjc target-examples target-groff 
target-gperf"
     skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc 
target-zlib"
     noconfigdirs="$noconfigdirs target-libgloss"
     ;;
   *-*-netbsd*)
     # Skip some stuff on all NetBSD configurations.
-    noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
 
     # Skip some stuff that's unsupported on some NetBSD configurations.
     case "${target}" in
@@ -525,20 +524,20 @@ case "${target}" in
     esac
     ;;
   *-*-netware*)
-    noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss 
${libgcj} target-libmudflap"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj} 
target-libmudflap"
     ;;
   *-*-rtems*)
     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
     # The tpf target doesn't support gdb yet.
   *-*-tpf*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty 
${libgcj} target-libmudflap gdb tcl tk libgui itcl"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj} 
target-libmudflap gdb tcl tk libgui itcl"
     ;;
   *-*-uclinux*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda 
${libgcj}"
     ;;
   *-*-vxworks*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty 
target-libstdc++-v3 ${libgcj}"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss 
target-libstdc++-v3 ${libgcj}"
     ;;
   alpha*-dec-osf*)
     # ld works, but does not support shared libraries.
@@ -566,7 +565,7 @@ case "${target}" in
   sh*-*-pe|mips*-*-pe|*arm-wince-pe)
     noconfigdirs="$noconfigdirs ${libgcj}"
     noconfigdirs="$noconfigdirs target-examples"
-    noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
+    noconfigdirs="$noconfigdirs texinfo send-pr"
     noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
     noconfigdirs="$noconfigdirs expect dejagnu"
     # the C++ libraries don't build on top of CE's C libraries
@@ -600,7 +599,7 @@ case "${target}" in
     libgloss_dir=arm
     ;;
   arm*-*-symbianelf*)
-    noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
+    noconfigdirs="$noconfigdirs ${libgcj}"
     libgloss_dir=arm
     ;;
   arm-*-pe*)
@@ -619,7 +618,7 @@ case "${target}" in
     noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
     ;;
   avr-*-*)
-    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj} 
target-libssp"
+    noconfigdirs="$noconfigdirs target-libstdc++-v3 ${libgcj} target-libssp"
     ;;
   bfin-*-*)
     unsupported_languages="$unsupported_languages java"
@@ -798,7 +797,7 @@ case "${target}" in
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
   m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
-    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
+    noconfigdirs="$noconfigdirs target-libstdc++-v3 ${libgcj}"
     libgloss_dir=m68hc11
     ;;
   m68k-*-elf*)
@@ -869,7 +868,6 @@ case "${target}" in
     noconfigdirs="$noconfigdirs gprof ${libgcj}"
     ;;
   mips*-sde-elf*)
-    skipdirs="$skipdirs target-libiberty"
     noconfigdirs="$noconfigdirs ${libgcj}"
     if test x$with_newlib = xyes; then
       noconfigdirs="$noconfigdirs gprof"
@@ -965,7 +963,7 @@ case "${target}" in
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
   ip2k-*-*)
-    noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
+    noconfigdirs="$noconfigdirs target-libstdc++-v3 ${libgcj}"
     ;;
   *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
@@ -2108,27 +2106,6 @@ for dir in . $skipdirs $noconfigdirs ; d
   fi
 done
 
-# Sometimes the tools are distributed with libiberty but with no other
-# libraries.  In that case, we don't want to build target-libiberty.
-# Don't let libgcc imply libiberty either.
-if test -n "${target_configdirs}" ; then
-  libgcc=
-  others=
-  for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
-    if test "$i" = "libgcc"; then
-      libgcc=target-libgcc
-    elif test "$i" != "libiberty" ; then
-      if test -r $srcdir/$i/configure ; then
-       others=yes;
-       break;
-      fi
-    fi
-  done
-  if test -z "${others}" ; then
-    target_configdirs=$libgcc
-  fi
-fi
-
 # Quietly strip out all directories which aren't configurable in this tree.
 # This relies on all configurable subdirectories being autoconfiscated, which
 # is now the case.
Index: Makefile.def
===================================================================
--- Makefile.def        (revision 175382)
+++ Makefile.def        (working copy)
@@ -164,7 +164,6 @@ target_modules = { module= libtermcap; n
                    missing=maintainer-clean; };
 target_modules = { module= winsup; };
 target_modules = { module= libgloss; no_check=true; };
-target_modules = { module= libiberty; };
 target_modules = { module= gperf; };
 target_modules = { module= examples; no_check=true; no_install=true; };
 target_modules = { module= libffi; };
@@ -532,7 +531,6 @@ dependencies = { module=configure-target
 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=all-target-fastjar; on=all-target-libiberty; };
 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-qthreads; };
@@ -543,9 +541,7 @@ dependencies = { module=all-target-libja
 dependencies = { module=all-target-libjava; on=all-target-qthreads; };
 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-libiberty; };
 dependencies = { module=all-target-libobjc; on=all-target-boehm-gc; };
-dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; };
 dependencies = { module=configure-target-libstdc++-v3; 
on=configure-target-libgomp; };
 // parallel_list.o and parallel_settings.o depend on omp.h, which is
 // generated by the libgomp configure.  Unfortunately, due to the use of
@@ -560,10 +556,7 @@ lang_env_dependencies = { module=winsup;
 lang_env_dependencies = { module=qthreads; };
 
 dependencies = { module=all-target-libgloss; on=all-target-newlib; };
-dependencies = { module=all-target-winsup; on=all-target-libiberty; };
 dependencies = { module=all-target-winsup; on=all-target-libtermcap; };
-dependencies = { module=configure-target-libiberty; on=all-binutils; };
-dependencies = { module=configure-target-libiberty; on=all-ld; };
 dependencies = { module=configure-target-newlib; on=all-binutils; };
 dependencies = { module=configure-target-newlib; on=all-ld; };
 



brgds, H-P

Reply via email to