From patchwork Thu Jun 23 18:23:29 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans-Peter Nilsson X-Patchwork-Id: 101664 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 01AC8B6F86 for ; Fri, 24 Jun 2011 04:24:01 +1000 (EST) Received: (qmail 17922 invoked by alias); 23 Jun 2011 18:23:58 -0000 Received: (qmail 17912 invoked by uid 22791); 23 Jun 2011 18:23:57 -0000 X-SWARE-Spam-Status: No, hits=-0.3 required=5.0 tests=AWL, BAYES_50, TW_BF, TW_BJ, TW_IB, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from anubis.se.axis.com (HELO anubis.se.axis.com) (195.60.68.12) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 23 Jun 2011 18:23:36 +0000 Received: from localhost (localhost [127.0.0.1]) by anubis.se.axis.com (Postfix) with ESMTP id 625CC19D8B for ; Thu, 23 Jun 2011 20:23:32 +0200 (CEST) Received: from anubis.se.axis.com ([127.0.0.1]) by localhost (anubis.se.axis.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id HziaWwe3XcWX for ; Thu, 23 Jun 2011 20:23:30 +0200 (CEST) Received: from thoth.se.axis.com (thoth.se.axis.com [10.0.2.173]) by anubis.se.axis.com (Postfix) with ESMTP id 3466419D81 for ; Thu, 23 Jun 2011 20:23:30 +0200 (CEST) Received: from ignucius.se.axis.com (ignucius.se.axis.com [10.88.21.50]) by thoth.se.axis.com (Postfix) with ESMTP id 0FBC7340DD; Thu, 23 Jun 2011 20:23:30 +0200 (CEST) Received: from ignucius.se.axis.com (localhost [127.0.0.1]) by ignucius.se.axis.com (8.12.8p1/8.12.8/Debian-2woody1) with ESMTP id p5NINTF6023399; Thu, 23 Jun 2011 20:23:29 +0200 Received: (from hp@localhost) by ignucius.se.axis.com (8.12.8p1/8.12.8/Debian-2woody1) id p5NINT4C023395; Thu, 23 Jun 2011 20:23:29 +0200 Date: Thu, 23 Jun 2011 20:23:29 +0200 Message-Id: <201106231823.p5NINT4C023395@ignucius.se.axis.com> From: Hans-Peter Nilsson To: gcc-patches@gcc.gnu.org Subject: [RFA:] Removing target-libiberty on branches MIME-Version: 1.0 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org 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? 2011-06-22 Hans-Peter Nilsson 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. brgds, H-P 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; };