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. Thanks, Richard. > > 2011-06-22 Hans-Peter Nilsson <h...@axis.com> > > 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 175300) > +++ configure.ac (working copy) > @@ -186,9 +186,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 \ > @@ -595,14 +594,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 > @@ -614,21 +613,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*) > - skipdirs="${skipdirs} target-libiberty" > 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. > @@ -656,7 +654,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 > @@ -690,7 +688,7 @@ case "${target}" in > libgloss_dir=arm > ;; > arm*-*-symbianelf*) > - noconfigdirs="$noconfigdirs ${libgcj} target-libiberty" > + noconfigdirs="$noconfigdirs ${libgcj}" > libgloss_dir=arm > ;; > arm-*-pe*) > @@ -709,7 +707,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" > @@ -888,7 +886,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*) > @@ -918,9 +916,6 @@ case "${target}" in > mt-*-*) > noconfigdirs="$noconfigdirs sim" > ;; > - picochip-*-*) > - noconfigdirs="$noconfigdirs target-libiberty" > - ;; > powerpc-*-aix*) > # copied from rs6000-*-* entry > noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp > target-newlib ${libgcj}" > @@ -962,7 +957,6 @@ case "${target}" in > noconfigdirs="$noconfigdirs gprof target-libssp ${libgcj}" > ;; > mips*-sde-elf*) > - skipdirs="$skipdirs target-libiberty" > noconfigdirs="$noconfigdirs ${libgcj}" > if test x$with_newlib = xyes; then > noconfigdirs="$noconfigdirs gprof" > @@ -1052,7 +1046,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" > @@ -2120,27 +2114,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 175300) > +++ Makefile.def (working copy) > @@ -167,7 +167,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; }; > @@ -551,7 +550,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-libgo; on=configure-target-libffi; > }; > dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; > }; > dependencies = { module=all-target-libgo; on=all-target-libffi; }; > @@ -565,9 +563,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 > @@ -582,10 +578,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; }; > dependencies = { module=configure-target-libgfortran; > on=all-target-libquadmath; }; > > brgds, H-P >