]> sourceware.org Git - newlib-cygwin.git/commitdiff
This commit was manufactured by cvs2svn to create branch 'binutils- binutils-2_13-branchpoint
authorcvs2svn <>
Thu, 11 Jul 2002 20:14:42 +0000 (20:14 +0000)
committercvs2svn <>
Thu, 11 Jul 2002 20:14:42 +0000 (20:14 +0000)
2_13-branch'.

Sprout from kseitz_interps-20020528-branch 2002-06-18 21:15:59 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch'
Cherrypick from master 2002-07-11 20:14:41 UTC DJ Delorie <dj@redhat.com> '* configure.in: Remove two redundant tests.':
    COPYING.LIBGLOSS
    ChangeLog
    Makefile.in
    config-ml.in
    config.sub
    config/ChangeLog
    configure
    configure.in
    etc/ChangeLog
    etc/texi2pod.pl
    include/ChangeLog
    include/bfdlink.h
    include/demangle.h
    include/dis-asm.h
    include/elf/ChangeLog
    include/elf/alpha.h
    include/elf/common.h
    include/elf/dwarf2.h
    include/elf/sh.h
    include/elf/vax.h
    include/fibheap.h
    include/gdb/ChangeLog
    include/gdb/sim-d10v.h
    include/getopt.h
    include/hashtab.h
    include/libiberty.h
    include/opcode/ChangeLog
    include/opcode/a29k.h
    include/opcode/convex.h
    include/opcode/dlx.h
    include/opcode/i386.h
    include/opcode/mips.h
    include/opcode/or32.h
    include/partition.h
    include/sort.h
    include/splay-tree.h
    ltcf-cxx.sh
Delete:
    include/callback.h
    include/remote-sim.h

38 files changed:
COPYING.LIBGLOSS [new file with mode: 0644]
ChangeLog
Makefile.in
config-ml.in
config.sub
configure
configure.in
etc/ChangeLog
etc/texi2pod.pl
include/ChangeLog
include/bfdlink.h
include/callback.h [deleted file]
include/demangle.h
include/dis-asm.h
include/elf/ChangeLog
include/elf/alpha.h
include/elf/common.h
include/elf/dwarf2.h
include/elf/sh.h
include/elf/vax.h
include/fibheap.h
include/gdb/ChangeLog
include/gdb/sim-d10v.h
include/getopt.h
include/hashtab.h
include/libiberty.h
include/opcode/ChangeLog
include/opcode/a29k.h
include/opcode/convex.h
include/opcode/dlx.h
include/opcode/i386.h
include/opcode/mips.h
include/opcode/or32.h
include/partition.h
include/remote-sim.h [deleted file]
include/sort.h
include/splay-tree.h
ltcf-cxx.sh

diff --git a/COPYING.LIBGLOSS b/COPYING.LIBGLOSS
new file mode 100644 (file)
index 0000000..7a64054
--- /dev/null
@@ -0,0 +1,186 @@
+The libgloss subdirectory is a collection of software from several sources.
+Each have their own copyrights embedded in each file that they concern.
+
+(1) University of California, Berkeley
+
+Copyright (c) 1990 The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms are permitted
+provided that the above copyright notice and this paragraph are
+duplicated in all such forms and that any documentation,
+and other materials related to such distribution and use 
+acknowledge that the software was developed
+by the University of California, Berkeley.  The name of the
+University may not be used to endorse or promote products derived
+from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+(2) DJ Delorie
+
+Copyright (C) 1993 DJ Delorie
+All rights reserved.
+
+Redistribution and use in source and binary forms is permitted
+provided that the above copyright notice and following paragraph are
+duplicated in all such forms.
+
+This file is distributed WITHOUT ANY WARRANTY; without even the implied
+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+(3) GPL (fr30 directory only)
+
+Copyright (C) 1998 Free Software Foundation, Inc.
+Contributed by Cygnus Solutions.
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.
+
+(4) Advanced Micro Devices
+
+Copyright 1989, 1990 Advanced Micro Devices, Inc.
+
+This software is the property of Advanced Micro Devices, Inc  (AMD)  which
+specifically  grants the user the right to modify, use and distribute this
+software provided this notice is not removed or altered.  All other rights
+are reserved by AMD.
+
+AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+SOFTWARE.  IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+USE OF THIS SOFTWARE.
+
+So that all may benefit from your experience, please report  any  problems
+or  suggestions about this software to the 29K Technical Support Center at
+800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131  in  the  UK,  or
+0031-11-1129 in Japan, toll free.  The direct dial number is 512-462-4118.
+
+Advanced Micro Devices, Inc.
+29K Support Products
+Mail Stop 573
+5900 E. Ben White Blvd.
+Austin, TX 78741
+800-292-9263
+
+(5) Array Technology Corporation and MIPS (mips/lsi33k-stub.h)
+COPYRIGHT (C) 1991, 1992 ARRAY TECHNOLOGY CORPORATION
+              All Rights Reserved
+
+This software is confidential information which is proprietary to and
+a trade secret of ARRAY Technology Corporation.  Use, duplication, or
+disclosure is subject to the terms of a separate license agreement.
+
+Copyright 1985 by MIPS Computer Systems, Inc.
+(6) University of Utah and the Computer Systems Laboratory (CSL)
+
+Copyright (c) 1990,1994 The University of Utah and
+the Computer Systems Laboratory (CSL).  All rights reserved.
+
+Permission to use, copy, modify and distribute this software is hereby
+granted provided that (1) source code retains these copyright, permission,
+and disclaimer notices, and (2) redistributions including binaries
+reproduce the notices in supporting documentation, and (3) all advertising
+materials mentioning features or use of this software display the following
+acknowledgement: ``This product includes software developed by the
+Computer Systems Laboratory at the University of Utah.''
+
+THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
+IS" CONDITION.  THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
+ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+
+CSL requests users of this software to return to csl-dist@cs.utah.edu any
+improvements that they make and grant CSL redistribution rights.
+
+(7) Sun Microsystems
+
+Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+
+Developed at SunPro, a Sun Microsystems, Inc. business.
+Permission to use, copy, modify, and distribute this
+software is freely granted, provided that this notice 
+is preserved.
+
+(8) Hewlett Packard
+
+(c) Copyright 1986 HEWLETT-PACKARD COMPANY
+
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty:
+    permission to use, copy, modify, and distribute this file
+for any purpose is hereby granted without fee, provided that
+the above copyright notice and this notice appears in all
+copies, and that the name of Hewlett-Packard Company not be
+used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+Hewlett-Packard Company makes no representations about the
+suitability of this software for any purpose.
+
+(9) Hans-Peter Nilsson
+
+Copyright (C) 2001 Hans-Peter Nilsson
+
+Permission to use, copy, modify, and distribute this software is
+freely granted, provided that the above copyright notice, this notice
+and the following disclaimer are preserved with no changes.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.
+
+(10) No Copyright
+
+THIS SOFTWARE IS NOT COPYRIGHTED
+
+(11) Default copyright 
+
+Unless otherwise stated in each remaining libgloss file, the remaining
+files in the libgloss subdirectory are governed by the following copyright.
+This includes copyrights attributed to Cygnus Solutions and Cygnus Support
+which are now owned by Red Hat Incorporated.
+
+Copyright (c) 1994, 1997, 2001, 2002 Red Hat Incorporated.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions are met: 
+
+    Redistributions of source code must retain the above copyright 
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+    The name of Red Hat Incorporated may not be used to endorse 
+    or promote products derived from this software without specific 
+    prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED.  IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
index 0969e9c1c16d1b67753f29cc92b7abeddee29778..9f3934945c1c192301ee78727a6de041baea0e0b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,127 @@
+2002-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Remove two redundant tests.
+
+2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.in (mips*-*-irix6*o32): Enable stabs.
+
+2002-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Don't build grez.
+       * Makefile.in: Ditto.
+
+       * Makefile.in: Remove references to bsp, cygmon, libstub.
+       * configure.in: Ditto.
+
+       * configure.in: Remove leftover reference to gdbtest.
+
+2002-07-08  Phil Edwards  <pme@gcc.gnu.org>
+
+       * configure.in (gxx_include_dir):  Change to match versioned
+       C++ headers if --enable-version-specific-runtime-libs is used.
+
+2002-07-04  Steve Ellcey  <sje@cup.hp.com>
+
+       * ltcf-cxx.sh (hpux*): Modify to support ia64-*-hpux*.
+
+2002-07-03  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Make --without-x work.
+
+2002-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * contrib: New directory.  Created to contain a copy of the
+       texi2pod.pl script so that it is in the same place as the version in 
+       the FSF GCC sources.
+
+2002-07-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Rearrange target Makefile fragment collection.
+
+       * Makefile.in: Don't try to build gdbtest, tgas, ispell, inet, or
+       cvs[src].
+       * configure.in: Ditto.
+
+2002-07-01  Nathanael Nerode <neroden@gcc.gnu.org>
+
+       * Makefile.in: Eliminate 'apache' targets.
+       * configure.in: Eliminate 'apache' targets.
+
+       * configure.in: Eliminate redundant tests.  Reorganize.
+
+       * Makefile.in: Eliminate last reference to LIBGCC1_TEST.
+
+       * config-ml.in: Eliminate references to Cygnus configure.
+
+       * Makefile.in: Eliminate references to building emacs.
+
+2002-07-01  Denis Chertykov  <denisc@overta.ru>
+
+       * configure.in: Add support for ip2k.
+
+2002-06-24  Ben Elliston  <bje@redhat.com>
+
+       * configure.in (host_tools): Remove cgen.
+
+       * Makefile.in (all-cgen): Remove; runs from its source directory.
+       (check-cgen, install-cgen, clean-cgen): Likewise.
+       (all-opcodes): No not depend on all-cgen.
+       (all-sim): Likewise.
+
+2002-06-22  Nathanael Nerode  <neroden@twcny.rr.com>
+
+       * configure.in: Fix AIX configury bug.
+
+2002-06-19  Nathanael Nerode  <neroden@twcny.rr.com>
+
+       * configure.in: Replace ${topsrcdir} with ${srcdir}.
+
+       * configure.in: Move definition of libstdcxx_flags right above
+       usage, rather than way earlier.
+
+       * configure.in: Pull definition of is_cross_compiler earlier.
+
+       * configure.in: Rearrange a little.
+
+       * configure.in: Remove references to librx.
+       * Makefile.in: Remove references to librx.
+
+2002-06-19  Nathanael Nerode  <neroden@twcny.rr.com>
+
+       * configure.in: Eliminate ${gasdir} variable.
+
+2002-06-18  Dave Brolley  <brolley@redhat.com>
+
+       * configure.in: Add support for frv.
+       * config.sub: Add support for frv.
+
+2002-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (CFLAGS_FOR_TARGET): Add -O2.
+
+2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * configure.in (vax-*-netbsd*): Re-enable gas.
+
+2002-05-31  Nathanael Nerode  <neroden@twcny.rr.com>
+
+       * Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with BUILD_PREFIX,
+       BUILD_PREFIX_1, to correct nomenclature.
+       * configure: Likewise.
+
+       * Makefile.in: Eliminate version-specific references to tcl8.1, tk8.1.
+       * configure.in: Eliminate version-specific references to tcl8.1, tk8.1.
+
+2002-05-31  Olaf Hering  <olh@suse.de>
+
+       * config-ml.in: Propogate DESTDIR also.
+
+2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * configure.in (vax-*-netbsd*): Don't build gas for this
+       platform.
+
 2002-05-28  Marek Michalkiewicz  <marekm@amelek.gda.pl>
 
        * configure.in (noconfigdirs): Don't compile libiberty, libstdcxx
        * configure: Likewise.
        * configure.in: Likewise.
 
-       config:
-       * acinclude.m4: Allow for PWDCMD to override hardcoded pwd.
-
 2002-05-13  Nathanael Nerode  <neroden@twcny.rr.com>
 
        * configure.in: Simplify makefile fragment collection.
index 72bd8b078047cbecad2cb426787ccb9493925a64..c3caa1d0cd04e9409404cc2ab5f12e62b80f368b 100644 (file)
@@ -90,8 +90,8 @@ CC = cc
 # Special variables passed down in EXTRA_GCC_FLAGS.  They are defined
 # here so that they can be overridden by Makefile fragments.
 HOST_CC = $(CC_FOR_BUILD)
-HOST_PREFIX = 
-HOST_PREFIX_1 = loser-
+BUILD_PREFIX = 
+BUILD_PREFIX_1 = loser-
 
 # These flag values are normally overridden by the configure script.
 CFLAGS = -g
@@ -100,7 +100,11 @@ CXXFLAGS = -g -O2
 LDFLAGS = 
 LIBCFLAGS = $(CFLAGS)
 CFLAGS_FOR_BUILD = $(CFLAGS)
-CFLAGS_FOR_TARGET = $(CFLAGS)
+# During gcc bootstrap, if we use some random cc for stage1 then
+# CFLAGS will be just -g.  We want to ensure that TARGET libraries
+# (which we know are built with gcc) are built with optimizations so
+# prepend -O2 when setting CFLAGS_FOR_TARGET.
+CFLAGS_FOR_TARGET = -O2 $(CFLAGS)
 LDFLAGS_FOR_TARGET = 
 LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
 PICFLAG = 
@@ -182,7 +186,7 @@ OTHERS =
 
 # This is set by the configure script to the list of directories which
 # should be built using the target tools.
-TARGET_CONFIGDIRS = libiberty libgloss $(SPECIAL_LIBS) newlib librx winsup opcodes bsp libstub cygmon libf2c libobjc
+TARGET_CONFIGDIRS = libiberty libgloss $(SPECIAL_LIBS) newlib winsup opcodes libf2c libobjc
 
 # Target libraries are put under this directory:
 # Changed by configure to $(target_alias) if cross.
@@ -486,8 +490,8 @@ EXTRA_GCC_FLAGS = \
        'CXX=$(CXX)' \
        'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
        'HOST_CC=$(CC_FOR_BUILD)' \
-       'HOST_PREFIX=$(HOST_PREFIX)' \
-       'HOST_PREFIX_1=$(HOST_PREFIX_1)' \
+       'BUILD_PREFIX=$(BUILD_PREFIX)' \
+       'BUILD_PREFIX_1=$(BUILD_PREFIX_1)' \
        'NM=$(NM)' \
        "`echo 'RANLIB=$(RANLIB)' | sed -e s/.*=$$/XFOO=/`" \
        'WINDRES=$$(WINDRES_FOR_TARGET)' \
@@ -496,7 +500,6 @@ EXTRA_GCC_FLAGS = \
        "`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s/.*=$$/XFOO=/`" \
        "`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s/.*=$$/XFOO=/`" \
        "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s/.*=$$/XFOO=/`" \
-       "`echo 'LIBGCC1_TEST=$(LIBGCC1_TEST)' | sed -e s/.*=$$/XFOO=/`" \
        "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
        "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s/.*=$$/XFOO=/`" \
        "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s/.*=$$/XFOO=/`" \
@@ -521,7 +524,6 @@ CONFIGURE_BUILD_MODULES = \
 # This is a list of the targets for all of the modules which are compiled
 # using $(FLAGS_TO_PASS).
 ALL_MODULES = \
-       all-apache \
        all-ash \
        all-autoconf \
        all-automake \
@@ -531,8 +533,6 @@ ALL_MODULES = \
        all-bison \
        all-byacc \
        all-bzip2 \
-       all-cgen \
-       all-cvssrc \
        all-db \
        all-dejagnu \
        all-diff \
@@ -549,13 +549,10 @@ ALL_MODULES = \
        all-gnuserv \
        all-gprof \
        all-grep \
-       all-grez \
        all-gzip \
        all-hello \
        all-indent \
-       all-inet \
        all-intl \
-       all-ispell \
        all-itcl \
        all-ld \
        all-libgui \
@@ -580,10 +577,8 @@ ALL_MODULES = \
        all-snavigator \
        all-tar \
        all-tcl \
-       all-tcl8.1 \
        all-texinfo \
        all-textutils \
-       all-tgas \
        all-time \
        all-uudecode \
        all-wdiff \
@@ -605,7 +600,6 @@ NATIVE_CHECK_MODULES = \
        check-zip
 
 CROSS_CHECK_MODULES = \
-       check-apache \
        check-ash \
        check-autoconf \
        check-automake \
@@ -613,8 +607,6 @@ CROSS_CHECK_MODULES = \
        check-bfd \
        check-binutils \
        check-bzip2 \
-       check-cgen \
-       check-cvssrc \
        check-db \
        check-dejagnu \
        check-diff \
@@ -631,9 +623,7 @@ CROSS_CHECK_MODULES = \
        check-gzip \
        check-hello \
        check-indent \
-       check-inet \
        check-intl \
-       check-ispell \
        check-itcl \
        check-ld \
        check-libgui \
@@ -659,7 +649,6 @@ CROSS_CHECK_MODULES = \
        check-tcl \
        check-texinfo \
        check-textutils \
-       check-tgas \
        check-time \
        check-uudecode \
        check-wdiff \
@@ -675,7 +664,6 @@ CHECK_MODULES=$(NATIVE_CHECK_MODULES) $(CROSS_CHECK_MODULES)
 # We put install-tcl before install-itcl because itcl wants to run a
 # program on installation which uses the Tcl libraries.
 INSTALL_MODULES = \
-       install-apache \
        install-ash \
        install-autoconf \
        install-automake \
@@ -686,8 +674,6 @@ INSTALL_MODULES = \
        install-binutils \
        install-bison \
        install-byacc \
-       install-cgen \
-       install-cvssrc \
        install-db \
        install-dejagnu \
        install-diff \
@@ -704,15 +690,11 @@ INSTALL_MODULES = \
        install-gnuserv \
        install-gprof \
        install-grep \
-       install-grez \
        install-gzip \
        install-hello \
        install-indent \
-       install-inet \
        install-intl \
-       install-ispell \
        install-tcl \
-       install-tcl8.1 \
        install-itcl \
        install-ld \
        install-libgui \
@@ -735,7 +717,6 @@ INSTALL_MODULES = \
        install-snavigator \
        install-tar \
        install-textutils \
-       install-tgas \
        install-time \
        install-uudecode \
        install-wdiff \
@@ -745,20 +726,16 @@ INSTALL_MODULES = \
 # This is a list of the targets for all of the modules which are compiled
 # using $(X11_FLAGS_TO_PASS).
 ALL_X11_MODULES = \
-       all-emacs \
-       all-emacs19 \
        all-gdb \
        all-expect \
        all-guile \
        all-tclX \
        all-tk \
-       all-tk8.1 \
        all-tix
 
 # This is a list of the check targets for all of the modules which are
 # compiled using $(X11_FLAGS_TO_PASS).
 CHECK_X11_MODULES = \
-       check-emacs \
        check-gdb \
        check-guile \
        check-expect \
@@ -769,21 +746,17 @@ CHECK_X11_MODULES = \
 # This is a list of the install targets for all the modules which are
 # compiled using $(X11_FLAGS_TO_PASS).
 INSTALL_X11_MODULES = \
-       install-emacs \
-       install-emacs19 \
        install-gdb \
        install-guile \
        install-expect \
        install-tclX \
        install-tk \
-       install-tk8.1 \
        install-tix
 
 # This is a list of the targets for all of the modules which are compiled
 # using $(TARGET_FLAGS_TO_PASS).
 ALL_TARGET_MODULES = \
        all-target-libstdc++-v3 \
-       all-target-librx \
        all-target-newlib \
        all-target-libf2c \
        all-target-libobjc \
@@ -793,20 +766,16 @@ ALL_TARGET_MODULES = \
        all-target-libiberty \
        all-target-gperf \
        all-target-examples \
-       all-target-libstub \
        all-target-libffi \
        all-target-libjava \
        all-target-zlib \
        all-target-boehm-gc \
-       all-target-qthreads \
-       all-target-bsp \
-       all-target-cygmon
+       all-target-qthreads
 
 # This is a list of the configure targets for all of the modules which
 # are compiled using the target tools.
 CONFIGURE_TARGET_MODULES = \
        configure-target-libstdc++-v3 \
-       configure-target-librx \
        configure-target-newlib \
        configure-target-libf2c \
        configure-target-libobjc \
@@ -816,14 +785,11 @@ CONFIGURE_TARGET_MODULES = \
        configure-target-libiberty \
        configure-target-gperf \
        configure-target-examples \
-       configure-target-libstub \
        configure-target-libffi \
        configure-target-libjava \
        configure-target-zlib \
        configure-target-boehm-gc \
-       configure-target-qthreads \
-       configure-target-bsp \
-       configure-target-cygmon
+       configure-target-qthreads
 
 # This is a list of the check targets for all of the modules which are
 # compiled using $(TARGET_FLAGS_TO_PASS).
@@ -852,7 +818,6 @@ INSTALL_TARGET_MODULES = \
        install-target-winsup \
        install-target-libgloss \
        install-target-libiberty \
-       install-target-bsp \
        install-target-libjava \
        install-target-zlib \
        install-target-boehm-gc \
@@ -861,7 +826,6 @@ INSTALL_TARGET_MODULES = \
 
 # This is a list of the targets for which we can do a clean-{target}.
 CLEAN_MODULES = \
-       clean-apache \
        clean-ash \
        clean-autoconf \
        clean-automake \
@@ -871,8 +835,6 @@ CLEAN_MODULES = \
        clean-bison \
        clean-byacc \
        clean-bzip2 \
-       clean-cgen \
-       clean-cvssrc \
        clean-db \
        clean-dejagnu \
        clean-diff \
@@ -889,13 +851,10 @@ CLEAN_MODULES = \
        clean-gnuserv \
        clean-gprof \
        clean-grep \
-       clean-grez \
        clean-gzip \
        clean-hello \
        clean-indent \
-       clean-inet \
        clean-intl \
-       clean-ispell \
        clean-itcl \
        clean-ld \
        clean-libgui \
@@ -922,7 +881,6 @@ CLEAN_MODULES = \
        clean-tcl \
        clean-texinfo \
        clean-textutils \
-       clean-tgas \
        clean-time \
        clean-uudecode \
        clean-wdiff \
@@ -932,7 +890,6 @@ CLEAN_MODULES = \
 # All of the target modules that can be cleaned
 CLEAN_TARGET_MODULES = \
        clean-target-libstdc++-v3 \
-       clean-target-librx \
        clean-target-newlib \
        clean-target-libf2c \
        clean-target-libobjc \
@@ -941,19 +898,14 @@ CLEAN_TARGET_MODULES = \
        clean-target-libiberty \
        clean-target-gperf \
        clean-target-examples \
-       clean-target-libstub \
        clean-target-libffi \
        clean-target-libjava \
        clean-target-zlib \
        clean-target-boehm-gc \
-       clean-target-qthreads \
-       clean-target-bsp \
-       clean-target-cygmon
+       clean-target-qthreads
 
 # All of the x11 modules that can be cleaned
 CLEAN_X11_MODULES = \
-       clean-emacs \
-       clean-emacs19 \
        clean-gdb \
        clean-expect \
        clean-guile \
@@ -1178,11 +1130,6 @@ install.all: install-no-fixedincludes
                true ; \
        fi
 
-# inet-install is used because the I*Net wants DejaGNU installed but
-# not built.  Similarly, gzip is built but not installed.
-inet-install:
-       $(MAKE) INSTALL_MODULES="`echo $(INSTALL_MODULES) | sed -e 's/install-dejagnu//' -e 's/install-gzip//'`" install
-
 # install-no-fixedincludes is used because Cygnus can not distribute
 # the fixed header files.
 .PHONY: install-no-fixedincludes
@@ -1703,7 +1650,6 @@ ALL_GCC_C = $(ALL_GCC) all-target-newlib all-target-libgloss
 ALL_GCC_CXX = $(ALL_GCC_C) all-target-libstdc++-v3
 
 # This is a list of inter-dependencies among modules.
-all-apache:
 all-ash:
 all-autoconf: all-m4 all-texinfo
 all-automake: all-m4 all-texinfo
@@ -1713,19 +1659,11 @@ all-binutils: all-libiberty all-opcodes all-bfd all-flex all-bison all-byacc all
 all-bison: all-texinfo
 configure-target-boehm-gc: $(ALL_GCC_C) configure-target-qthreads
 all-target-boehm-gc: configure-target-boehm-gc
-configure-target-bsp: $(ALL_GCC_C)
-all-target-bsp: configure-target-bsp
 all-byacc:
 all-bzip2:
-all-cgen: all-libiberty
-all-cvssrc:
-configure-target-cygmon: $(ALL_GCC_C)
-all-target-cygmon: configure-target-cygmon all-target-libiberty all-target-libstub all-target-bsp
 all-db:
 all-dejagnu: all-tcl all-expect all-tk
 all-diff: all-libiberty
-all-emacs:
-all-emacs19: all-bison all-byacc
 all-etc:
 configure-target-examples: $(ALL_GCC_C)
 all-target-examples: configure-target-examples
@@ -1746,20 +1684,17 @@ configure-target-gperf: $(ALL_GCC_CXX)
 all-target-gperf: configure-target-gperf all-target-libiberty all-target-libstdc++-v3
 all-gprof: all-libiberty all-bfd all-opcodes all-intl
 all-grep: all-libiberty
-all-grez: all-libiberty all-bfd all-opcodes
-all-gui: all-gdb all-libproc all-target-librx
+all-gui: all-gdb all-libproc
 all-guile:
 all-gzip: all-libiberty
 all-hello: all-libiberty
 all-indent:
-all-inet: all-tcl all-send-pr all-perl
 all-intl:
-all-ispell: all-emacs19
-all-itcl: all-tcl all-tk all-tcl8.1 all-tk8.1
+all-itcl: all-tcl all-tk
 all-ld: all-libiberty all-bfd all-opcodes all-bison all-byacc all-flex all-intl
 configure-target-libgloss: $(ALL_GCC)
 all-target-libgloss: configure-target-libgloss configure-target-newlib
-all-libgui: all-tcl all-tk all-tcl8.1 all-tk8.1 all-itcl
+all-libgui: all-tcl all-tk all-itcl
 all-libiberty:
 
 all-build-libiberty: configure-build-libiberty
@@ -1768,12 +1703,8 @@ configure-target-libffi: $(ALL_GCC_C)
 all-target-libffi: configure-target-libffi
 configure-target-libjava: $(ALL_GCC_C) configure-target-zlib configure-target-boehm-gc configure-target-qthreads configure-target-libffi
 all-target-libjava: configure-target-libjava all-fastjar all-target-zlib all-target-boehm-gc all-target-qthreads all-target-libffi
-configure-target-librx: $(ALL_GCC_C)
-all-target-librx: configure-target-librx
 configure-target-libstdc++-v3: $(ALL_GCC_C)
 all-target-libstdc++-v3: configure-target-libstdc++-v3 all-target-libiberty
-configure-target-libstub: $(ALL_GCC_C)
-all-target-libstub: configure-target-libstub
 all-libtool:
 configure-target-libf2c: $(ALL_GCC_C)
 all-target-libf2c: configure-target-libf2c all-target-libiberty
@@ -1786,7 +1717,7 @@ configure-target-newlib: $(ALL_GCC)
 all-target-newlib: configure-target-newlib
 configure-target-libtermcap: $(ALL_GCC_C)
 all-target-libtermcap: configure-target-libtermcap
-all-opcodes: all-bfd all-libiberty all-cgen
+all-opcodes: all-bfd all-libiberty
 all-patch: all-libiberty
 all-perl:
 all-prms: all-libiberty
@@ -1799,19 +1730,16 @@ all-sed: all-libiberty
 all-send-pr: all-prms
 all-shellutils:
 all-sid: all-tcl all-tk
-all-sim: all-libiberty all-bfd all-opcodes all-readline all-cgen
+all-sim: all-libiberty all-bfd all-opcodes all-readline
 all-snavigator: all-tcl all-tk all-itcl all-tix all-db all-grep all-libgui
 all-tar: all-libiberty
 all-tcl:
-all-tcl8.1:
 all-tclX: all-tcl all-tk
 all-tk: all-tcl
-all-tk8.1: all-tcl8.1
 all-texinfo: all-libiberty
 all-textutils:
-all-tgas: all-libiberty all-bfd all-opcodes
 all-time:
-all-tix: all-tcl all-tk all-tcl8.1 all-tk8.1
+all-tix: all-tcl all-tk
 all-wdiff:
 configure-target-winsup: $(ALL_GCC_C)
 all-target-winsup: all-target-libiberty all-target-libtermcap configure-target-winsup
index 4b1be0f0956cbc1e1f76396a851410d9d0d1eca0..aae3f87fe74e5d9538e68ccde051aba58a83c1b1 100644 (file)
@@ -537,6 +537,7 @@ multi-do:
                                LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
                                LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
                                LDFLAGS="$(LDFLAGS) $${flags}" \
+                               DESTDIR="$(DESTDIR)" \
                                $(DO)); then \
                  true; \
                else \
index 4693ac17f95297469431c0534723cc617e57a960..69f444e790257cf0f91c25201f52f8780d379e76 100755 (executable)
@@ -231,7 +231,7 @@ case $basic_machine in
        | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
-       | fr30 \
+       | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | i370 | i860 | i960 | ia64 \
        | m32r | m68000 | m68k | m88k | mcore \
@@ -288,7 +288,7 @@ case $basic_machine in
        | clipper-* | cydra-* \
        | d10v-* | d30v-* | dlx-* \
        | elxsi-* \
-       | f30[01]-* | f700-* | fr30-* | fx80-* \
+       | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
        | i*86-* | i860-* | i960-* | ia64-* \
index 2cb059f6bf537c37a81815d8c4fa9d83d778bc57..339b23d3e7e9fba21189cc627991c569822062d9 100755 (executable)
--- a/configure
+++ b/configure
@@ -917,8 +917,8 @@ if [ "${build}" != "${host}" ]; then
 
   tools="AR AR_FOR_TARGET AS AS_FOR_TARGET BISON CC_FOR_BUILD"
   tools="${tools} CC_FOR_TARGET CXX_FOR_TARGET GCJ_FOR_TARGET"
-  tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET GCC_FOR_TARGET HOST_PREFIX"
-  tools="${tools} HOST_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM"
+  tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET GCC_FOR_TARGET BUILD_PREFIX"
+  tools="${tools} BUILD_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM"
   tools="${tools} NM_FOR_TARGET RANLIB RANLIB_FOR_TARGET"
   tools="${tools} WINDRES WINDRES_FOR_TARGET YACC"
   tools="${tools} OBJCOPY OBJDUMP"
@@ -955,8 +955,8 @@ t loop
   DLLTOOL=${DLLTOOL-${host_alias}-dlltool}
   DLLTOOL_FOR_TARGET=${DLLTOOL_FOR_TARGET-${target_alias}-dlltool}
   GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
-  HOST_PREFIX=${build_alias}-
-  HOST_PREFIX_1=${build_alias}-
+  BUILD_PREFIX=${build_alias}-
+  BUILD_PREFIX_1=${build_alias}-
   LD=${LD-${host_alias}-ld}
   LD_FOR_TARGET=${LD_FOR_TARGET-${target_alias}-ld}
   MAKEINFO=${MAKEINFO-makeinfo}
index b21918e07d48eef9e1afc8e1f7cfba897d5bda6d..ed4f7a78a12906af7eb7a03044eb41ce8d16bb07 100644 (file)
 
 # these libraries are used by various programs built for the host environment
 #
-host_libs="intl mmalloc libiberty opcodes bfd readline db tcl tk tcl8.1 tk8.1 tclX itcl tix libgui zlib"
+host_libs="intl mmalloc libiberty opcodes bfd readline db tcl tk tclX itcl tix libgui zlib"
 
 libstdcxx_version="target-libstdc++-v3"
-# Don't use libstdc++-v3's flags to configure/build itself.
-libstdcxx_flags='`case $$dir in libstdc++-v3 | libjava) ;; *) test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes;; esac` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
 
 # these tools are built for the host environment
 # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
 # know that we are building the simulator.
-host_tools="texinfo byacc flex bison binutils ld gas gcc cgen sid sim gdb make patch prms send-pr gprof gdbtest tgas etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool ispell grep diff rcs cvssrc fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl apache inet gawk findutils snavigator libtool gettext zip fastjar"
+host_tools="texinfo byacc flex bison binutils ld gas gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator libtool gettext zip fastjar"
 
 # libgcj represents the runtime libraries only used by gcj.
 libgcj="target-libffi \
@@ -66,7 +64,6 @@ libgcj="target-libffi \
 target_libs="target-libiberty \
                target-libgloss \
                target-newlib \
-               target-librx \
                ${libstdcxx_version} \
                target-libf2c \
                ${libgcj}
@@ -93,11 +90,11 @@ target_tools="target-examples target-groff target-gperf"
 #
 # This must be a single line because of the way it is searched by grep in
 # the code below.
-native_only="autoconf automake libtool cvssrc fileutils find gawk gettext grep gzip hello indent ispell m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl apache inet time ash bash bzip2 prms snavigator gnuserv target-gperf"
+native_only="autoconf automake libtool fileutils find gawk gettext grep gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms snavigator gnuserv target-gperf"
 
 # directories to be built in a cross environment only
 #
-cross_only="target-libgloss target-newlib target-cygmon target-opcodes target-libstub"
+cross_only="target-libgloss target-newlib target-opcodes"
 
 ## All tools belong in one of the four categories, and are assigned above
 ## We assign ${configdirs} this way to remove all embedded newlines.  This
@@ -118,1149 +115,1089 @@ appdirs=""
 
 # per-host:
 
-# Work in distributions that contain no compiler tools, like Autoconf.
-tentative_cc=""
-if test -d ${srcdir}/config ; then
+# There is no longer anything interesting in the per-host section.
+
+# per-target:
+
+# Define is_cross_compiler to save on calls to 'test'.
+is_cross_compiler=
+if test x"${host}" = x"${target}" ; then
+  is_cross_compiler=no
+else
+  is_cross_compiler=yes
+fi     
+
+# We always want to use the same name for this directory, so that dejagnu
+# can reliably find it.
+target_subdir=${target_alias}
+
+if test ! -d ${target_subdir} ; then
+  if mkdir ${target_subdir} ; then true
+  else
+    echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${target_subdir}" 1>&2
+    exit 1
+  fi
+fi
+
+build_subdir=${build_alias}
+
+if test x"${build_alias}" != x"${host}" ; then
+  if test ! -d ${build_subdir} ; then
+    if mkdir ${build_subdir} ; then true
+    else
+      echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${build_subdir}" 1>&2
+      exit 1
+    fi
+  fi
+fi
+
+# Skipdirs are removed silently.
+skipdirs=
+# Noconfigdirs are removed loudly.
+noconfigdirs=""
+
+use_gnu_ld=
+# Make sure we don't let GNU ld be added if we didn't want it.
+if test x$with_gnu_ld = xno ; then
+  use_gnu_ld=no
+  noconfigdirs="$noconfigdirs ld"
+fi
+
+use_gnu_as=
+# Make sure we don't let GNU as be added if we didn't want it.
+if test x$with_gnu_as = xno ; then
+  use_gnu_as=no
+  noconfigdirs="$noconfigdirs gas"
+fi
+
+# some tools are so dependent upon X11 that if we're not building with X, 
+# it's not even worth trying to configure, much less build, that tool.
+
+case ${with_x} in
+  yes | "") ;; # the default value for this tree is that X11 is available
+  no)
+    skipdirs="${skipdirs} tk tix itcl libgui"
+    # We won't be able to build gdbtk without X.
+    enable_gdbtk=no 
+    ;;
+  *)  echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
+esac
+
+# Some tools are only suitable for building in a "native" situation.
+# Remove these if host!=target.  Similarly, some are only suitable
+# for cross toolchains; remove if host=target.
+
+case $is_cross_compiler in
+  no) skipdirs="${skipdirs} ${cross_only}" ;;
+  yes) skipdirs="${skipdirs} ${native_only}" ;;
+esac
+
+# If both --with-headers and --with-libs are specified, default to
+# --without-newlib.
+if test x"${with_headers}" != x && test x"${with_libs}" != x ; then
+  if test x"${with_newlib}" = x ; then
+    with_newlib=no
+  fi
+fi
+
+# Recognize --with-newlib/--without-newlib.
+case ${with_newlib} in
+  no) skipdirs="${skipdirs} target-newlib" ;;
+  yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
+esac
+
+# Configure extra directories which are host specific
+
 case "${host}" in
-  m68k-hp-hpux*)
-    # Avoid "too much defining" errors from HPUX compiler.
-    tentative_cc="cc -Wp,-H256000"
-    host_makefile_frag="config/mh-hp300"
+  i[3456]86-*-go32*)
+    configdirs="$configdirs dosrel" ;;
+  i[3456]86-*-mingw32*)
+    configdirs="$configdirs dosrel" ;;
+  *-cygwin*)
+    configdirs="$configdirs libtermcap dosrel" ;;
+esac
+
+# Remove more programs from consideration, based on the host or 
+# target this usually means that a port of the program doesn't
+# exist yet.
+
+case "${host}" in
+  hppa*64*-*-*)
+    noconfigdirs="$noconfigdirs byacc"
     ;;
-  m68k-apollo-sysv*)
-    tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
-    host_makefile_frag="config/mh-apollo68"
+  i[3456]86-*-vsta)
+    noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix db snavigator gnuserv gettext"
     ;;
-  m68k-apollo-bsd*)
-    #None of the Apollo compilers can compile gas or binutils.  The preprocessor
-    # chokes on bfd, the compiler won't let you assign integers to enums, and
-    # other problems.  Defining CC to gcc is a questionable way to say "don't use
-    # the apollo compiler" (the preferred version of GCC could be called cc,
-    # or whatever), but I'm not sure leaving CC as cc is any better...
-    #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
-    tentative_cc=gcc
-    host_makefile_frag="config/mh-a68bsd"
+  i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
+    noconfigdirs="tcl tk expect dejagnu send-pr uudecode guile itcl tix db snavigator gnuserv libffi"
+       ;;
+  i[3456]86-*-mingw32*)
+    # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix db snavigator gnuserv"
+     noconfigdirs="expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
+       ;;
+  i[3456]86-*-beos*)
+     noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
+     ;;
+  *-*-cygwin*)
+     noconfigdirs="autoconf automake send-pr rcs guile perl"
     ;;
-  m88k-dg-dgux*)
-    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
-    host_makefile_frag="config/mh-dgux"
+  *-*-netbsd*)
+    noconfigdirs="rcs"
     ;;
-  m88k-harris-cxux*)
-    # Under CX/UX, we want to tell the compiler to use ANSI mode.
-    tentative_cc="cc -Xa"
-    host_makefile_frag="config/mh-cxux"
+  ppc*-*-pe)
+     noconfigdirs="patch diff make tk tcl expect dejagnu autoconf automake texinfo bison send-pr gprof rcs guile perl itcl tix db snavigator gnuserv"
     ;;
-  m88k-motorola-sysv*)
-    host_makefile_frag="config/mh-delta88"
+  powerpc-*-beos*)
+    noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
     ;;
-  mips*-dec-ultrix*)
-    tentative_cc="cc -Wf,-XNg1000"
-    host_makefile_frag="config/mh-decstation"
+esac
+
+# Save it here so that, even in case of --enable-libgcj, if the Java
+# front-end isn't enabled, we still get libgcj disabled.
+libgcj_saved=$libgcj
+case $enable_libgcj in
+yes)
+  # If we reset it here, it won't get added to noconfigdirs in the
+  # target-specific build rules, so it will be forcibly enabled
+  # (unless the Java language itself isn't enabled).
+  libgcj=
+  ;;
+no)
+  # Make sure we get it printed in the list of not supported target libs.
+  noconfigdirs="$noconfigdirs ${libgcj}"
+  ;;
+esac
+
+case "${target}" in
+  *-*-chorusos)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
-  mips*-nec-sysv4*)
-    # The C compiler on NEC MIPS SVR4 needs bigger tables.
-    tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
-    host_makefile_frag="config/mh-necv4"
+  *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
-  mips*-sgi-irix6*)
-    host_makefile_frag="config/mh-irix6"
+  *-*-netbsd*)
+    # Skip some stuff on all NetBSD configurations.
+    skipdirs="$skipdirs target-newlib target-libiberty target-libgloss"
+
+    # Skip some stuff that's unsupported on some NetBSD configurations.
+    case "${target}" in
+      i*86-*-netbsdelf*) ;;
+      *)
+       noconfigdirs="$noconfigdirs ${libgcj}"
+       ;;
+    esac
     ;;
-  mips*-sgi-irix5*)
-    host_makefile_frag="config/mh-irix5"
+  *-*-netware)
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-newlib target-libiberty target-libgloss ${libgcj}"
     ;;
-  mips*-sgi-irix4*)
-    # Tell compiler to use K&R C.  We can't compile under the SGI Ansi
-    # environment.  Also bump switch table size so that cp-parse will
-    # compile.  Bump string length limit so linker builds.
-    tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
+  *-*-rtems*)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+    case ${target} in
+       h8300*-*-* | h8500-*-*)
+         noconfigdirs="$noconfigdirs target-libf2c"
+          ;;
+        *) ;;
+    esac
     ;;
-  mips*-sgi-irix3*)
-    host_makefile_frag="config/mh-sysv"
+  *-*-vxworks*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
-  mips*-*-sysv4*)
-    host_makefile_frag="config/mh-sysv4"
+  alpha*-dec-osf*)
+    # ld works, but does not support shared libraries.
+    # newlib is not 64 bit ready.  I'm not sure about fileutils.
+    # gas doesn't generate exception information.
+    noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
     ;;
-  mips*-*-sysv*)
-    # This is for a MIPS running RISC/os 4.52C.
-
-    # This is needed for GDB, but needs to be in the top-level make because
-    # if a library is compiled with the bsd headers and gets linked with the
-    # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
-    # a different size).
-    # ptrace(2) apparently has problems in the BSD environment.  No workaround is
-    # known except to select the sysv environment.  Could we use /proc instead?
-    # These "sysv environments" and "bsd environments" often end up being a pain.
-    #
-    # This is not part of CFLAGS because perhaps not all C compilers have this
-    # option.
-    tentative_cc="cc -systype sysv"
-    host_makefile_frag="config/mh-riscos"
+  alpha*-*-*vms*)
+    noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
     ;;
-  i370-ibm-opened*)
-    tentative_cc="c89"
-    host_makefile_frag="config/mh-openedition"
+  alpha*-*-linux*)
+    # newlib is not 64 bit ready
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
-  i[3456]86-*-sysv5*)
-    host_makefile_frag="config/mh-sysv5"
+  alpha*-*-freebsd*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
-  i[3456]86-*-dgux*)
-    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
-    host_makefile_frag="config/mh-dgux386"
+  alpha*-*-*)
+    # newlib is not 64 bit ready
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
-  i[3456]86-ncr-sysv4.3*)
-    # The MetaWare compiler will generate a copyright message unless you
-    # turn it off by adding the -Hnocopyr flag.
-    tentative_cc="cc -Hnocopyr"
-    host_makefile_frag="config/mh-ncrsvr43"
+  sh-*-linux*)
+    noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+    ;;    
+  sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+    noconfigdirs="$noconfigdirs ${libgcj}"
+    noconfigdirs="$noconfigdirs target-examples"
+    noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
+    noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
+    noconfigdirs="$noconfigdirs expect dejagnu"
+    # the C++ libraries don't build on top of CE's C libraries
+    noconfigdirs="$noconfigdirs ${libstdcxx_version}"
+    skipdirs="$skipdirs target-newlib"
+    case "${host}" in
+      *-*-cygwin*) ;; # keep gdb and readline
+      *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version}"
+        ;;
+    esac
     ;;
-  i[3456]86-ncr-sysv4*)
-    # for an NCR 3000 (i486/SVR4) system.
-    # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
-    # This compiler not only emits obnoxious copyright messages every time
-    # you run it, but it chokes and dies on a whole bunch of GNU source
-    # files.  Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
-    tentative_cc="/usr/ccs/ATT/cc"
-    host_makefile_frag="config/mh-ncr3000"
+  arc-*-*)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  i[3456]86-*-sco3.2v5*)
-    host_makefile_frag="config/mh-sysv"
+  arm-*-pe*)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  i[3456]86-*-sco*)
-    # The native C compiler botches some simple uses of const.  Unfortunately,
-    # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
-    tentative_cc="cc -Dconst="
-    host_makefile_frag="config/mh-sco"
+  arm-*-oabi*)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  i[3456]86-*-udk*)
-    host_makefile_frag="config/mh-sysv5"
+  thumb-*-coff)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  i[3456]86-*-isc*)
-    host_makefile_frag="config/mh-sysv"
+  thumb-*-elf)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  i[3456]86-*-solaris2*)
-    host_makefile_frag="config/mh-sysv4"
+  thumb-*-oabi)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  i[3456]86-*-aix*)
-    host_makefile_frag="config/mh-aix386"
+  strongarm-*-elf)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  i[3456]86-*-msdosdjgpp*)
-    host_makefile_frag="config/mh-djgpp"
+  strongarm-*-coff)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  *-cygwin*)
-    host_makefile_frag="config/mh-cygwin"
+  xscale-*-elf)
+    noconfigdirs="$noconfigdirs target-libffi target-qthreads"
     ;;
-  *-mingw32*)
-    host_makefile_frag="config/mh-mingw32"
+  xscale-*-coff)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  *-interix*)
-    host_makefile_frag="config/mh-interix"
+  thumb-*-pe)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  vax-*-ultrix2*)
-    # The old BSD pcc isn't up to compiling parts of gdb so use gcc
-    tentative_cc=gcc
+  arm-*-riscix*)
+    noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
     ;;
-  *-*-solaris2*)
-    host_makefile_frag="config/mh-solaris"
+  avr-*-*)
+    noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
     ;;
-  m68k-sun-sunos*)
-    # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
-    # without overflowing the jump tables (-J says to use a 32 bit table)
-    tentative_cc="cc -J"
+  c4x-*-*)
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
     ;;
-  *-hp-hpux[78]*)
-    tentative_cc="cc -Wp,-H256000"
-    host_makefile_frag="config/mh-hpux8"
+  c54x*-*-* | tic54x-*-*)
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} gcc gdb newlib"
     ;;
-  *-hp-hpux*)
-    tentative_cc="cc -Wp,-H256000"
-    host_makefile_frag="config/mh-hpux"
+  cris-*-*)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  *-*-hiux*)
-    tentative_cc="cc -Wp,-H256000"
-    host_makefile_frag="config/mh-hpux"
+  d10v-*-*)
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
     ;;
-  rs6000-*-lynxos*)
-    # /bin/cc is less than useful for our purposes.  Always use GCC
-    tentative_cc="/usr/cygnus/progressive/bin/gcc"
-    host_makefile_frag="config/mh-lynxrs6k"
+  d30v-*-*)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  *-*-lynxos*)
-    # /bin/cc is less than useful for our purposes.  Always use GCC
-    tentative_cc="/bin/gcc"
+  fr30-*-elf*)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  *-*-sysv4*)
-    host_makefile_frag="config/mh-sysv4"
+  frv-*-*)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  *-*-sysv*)
-    host_makefile_frag="config/mh-sysv"
+  h8300*-*-*)
+    noconfigdirs="$noconfigdirs target-libgloss"
     ;;
-esac
-fi
-
-# If we aren't going to be using gcc, see if we can extract a definition
-# of CC from the fragment.
-# Actually, use the 'pre-extracted' version above.
-if test -z "${CC}" && test "${build}" = "${host}" ; then
-  IFS="${IFS=  }"; save_ifs="$IFS"; IFS="${IFS}:"
-  found=
-  for dir in $PATH; do
-    test -z "$dir" && dir=.
-    if test -f $dir/gcc; then
-      found=yes
-      break
-    fi
-  done
-  IFS="$save_ifs"
-  if test -z "${found}" && test -n "${tentative_cc}" ; then
-    CC=$tentative_cc
-  fi
-fi
-
-# We default to --with-shared on platforms where -fpic is meaningless.
-# Well, we don't yet, but we will.
-if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then
-  case "${target}" in
-    alpha*-dec-osf*)   enable_shared=yes ;;
-    alpha*-*-linux*)   enable_shared=yes ;;
-    mips-sgi-irix5*)   enable_shared=yes ;;
-    *)                 enable_shared=no ;;
-  esac
-fi
-
-# hpux11 in 64bit mode has libraries in a weird place.  Arrange to find
-# them automatically.
-case "${host}" in
-  hppa*64*-*-hpux11*)  
-    withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
+  h8500-*-*)
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} target-libf2c"
     ;;
-esac
-
-case "${enable_shared}" in
-  yes) shared=yes ;;
-  no) shared=no ;;
-  "") shared=no ;;
-  *) shared=yes ;;
-esac
-
-rm -f mh-frag
-if test -n "${host_makefile_frag}" ; then
-  for f in ${host_makefile_frag}
-  do
-    cat ${srcdir}/$f >> mh-frag
-  done
-  host_makefile_frag=mh-frag
-fi
-
-# per-target:
-
-case "${target}" in
-  v810*)
-    target_makefile_frag="${target_makefile_frag} config/mt-v810"
+  hppa*64*-*-linux* | parisc*64*-*-linux*)
+    # In this case, it's because the hppa64-linux target is for
+    # the kernel only at this point and has no libc, and thus no
+    # headers, crt*.o, etc., all of which are needed by these.
+    noconfigdirs="$noconfigdirs target-zlib"
     ;;
-  i[3456]86-*-netware*)
-    target_makefile_frag="${target_makefile_frag} config/mt-netware"
+  hppa*-*-*elf* | \
+  parisc*-*-linux* | hppa*-*-linux* | \
+  hppa*-*-lites* | \
+  hppa*64*-*-*)
+    noconfigdirs="$noconfigdirs ${libgcj}"
+    # Do configure ld/binutils/gas for this case.
     ;;
-  powerpc-*-netware*)
-    target_makefile_frag="${target_makefile_frag} config/mt-netware"
+  hppa*-*-*)
+    # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
+    # build on HP-UX 10.20.
+    noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
     ;;
-  alpha*-*-linux*)
-    target_makefile_frag="${target_makefile_frag} config/mt-linux"
-    target_makefile_frag="${target_makefile_frag} config/mt-alphaieee"
+  ia64*-*-elf*)
+    # No gdb support yet.
+    noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb"
     ;;
-  alpha*-*-*)
-    target_makefile_frag="${target_makefile_frag} config/mt-alphaieee"
+  ia64*-**-hpux*)
+    # No gdb or ld support yet.
+    noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
     ;;
-  *-*-linux*)
-    target_makefile_frag="${target_makefile_frag} config/mt-linux"
+  i[3456]86-*-coff | i[3456]86-*-elf)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  *-*-aix4.[3456789]* | *-*-aix[56789].*)
-    target_makefile_frag="${target_makefile_frag} config/mt-aix43"
+  i[34567]86-*-freebsd*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
-  mips*-*-pe | sh*-*-pe | *arm-wince-pe)
-    target_makefile_frag="${target_makefile_frag} config/mt-wince"
+  s390*-*-linux*)
+    # The libffi port is not yet in the GCC tree
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
-esac
+  i[3456]86-*-linux*)
+    # This section makes it possible to build newlib natively on linux.
+    # If we are using a cross compiler then don't configure newlib.
+    if test x${is_cross_compiler} != xno ; then
+         noconfigdirs="$noconfigdirs target-newlib"
+    fi
+    noconfigdirs="$noconfigdirs target-libgloss"
+    # If we are not using a cross compiler, do configure newlib.
+    # Note however, that newlib will only be configured in this situation
+    # if the --with-newlib option has been given, because otherwise
+    # 'target-newlib' will appear in skipdirs.
+    ;;
+  *-*-linux*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    ;;
+  i[3456]86-*-mingw32*)
+    target_configdirs="$target_configdirs target-mingw"
+    noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
 
-# If --enable-target-optspace always use -Os instead of -O2 to build
-# the target libraries, similarly if it is not specified, use -Os
-# on selected platforms.
-case "${enable_target_optspace}:${target}" in
-  yes:*)
-    target_makefile_frag="${target_makefile_frag} config/mt-ospace"
+    # Can't build gdb for mingw32 if not native.
+    case "${host}" in
+      i[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
+      *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix db snavigator gnuserv"
+         ;;
+    esac
+    ;;    
+  *-*-cygwin*)
+    target_configdirs="$target_configdirs target-libtermcap target-winsup"
+    noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
+    # always build newlib.
+    skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
+
+    # Can't build gdb for Cygwin if not native.
+    case "${host}" in
+      *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
+      *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
+         ;;
+    esac
+    ;;    
+  i[3456]86-*-pe)
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj}"
     ;;
-  :d30v-*)
-    target_makefile_frag="${target_makefile_frag} config/mt-d30v"
+  i[3456]86-*-sco3.2v5*)
+    # The linker does not yet know about weak symbols in COFF,
+    # and is not configured to handle mixed ELF and COFF.
+    noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
     ;;
-  :m32r-* | :d10v-* | :fr30-*)
-    target_makefile_frag="${target_makefile_frag} config/mt-ospace"
+  i[3456]86-*-sco*)
+    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
     ;;
-  no:* | :*)
+  i[3456]86-*-solaris2*)
+    noconfigdirs="$noconfigdirs target-libgloss"
     ;;
-  *)
-    echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
+  i[3456]86-*-sysv4*)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-esac
-
-skipdirs=
-gasdir=gas
-use_gnu_ld=
-use_gnu_as=
-
-# some tools are so dependent upon X11 that if we're not building with X, 
-# it's not even worth trying to configure, much less build, that tool.
-
-case ${with_x} in
-  yes | "")  # the default value for this tree is that X11 is available
-       ;;
-  no)
-       skipdirs="${skipdirs} tk libgui"
-       ;;
-  *)
-       echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2
-       ;;
-esac
-
-# Some tools are only suitable for building in a "native" situation.
-# Those are added when we have a host==target configuration.  For cross
-# toolchains, we add some directories that should only be useful in a
-# cross-compiler.
-
-is_cross_compiler=
-
-if test x"${host}" = x"${target}" ; then
-       # when doing a native toolchain, don't build the targets
-       # that are in the 'cross only' list
-       skipdirs="${skipdirs} ${cross_only}"
-       is_cross_compiler=no
-else
-       # similarly, don't build the targets in the 'native only' 
-       # list when building a cross compiler
-       skipdirs="${skipdirs} ${native_only}"
-       is_cross_compiler=yes
-fi     
-
-# We always want to use the same name for this directory, so that dejagnu
-# can reliably find it.
-target_subdir=${target_alias}
-
-if test ! -d ${target_subdir} ; then
-  if mkdir ${target_subdir} ; then true
-  else
-    echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${target_subdir}" 1>&2
-    exit 1
-  fi
-fi
-
-build_subdir=${build_alias}
-
-if test x"${build_alias}" != x"${host}" ; then
-  if test ! -d ${build_subdir} ; then
-    if mkdir ${build_subdir} ; then true
-    else
-      echo "'*** could not make ${PWD=`${PWDCMD-pwd}`}/${build_subdir}" 1>&2
-      exit 1
-    fi
-  fi
-fi
-
-copy_dirs=
-
-# Handle --with-headers=XXX.  The contents of the named directory are
-# copied to $(tooldir)/sys-include.
-if test x"${with_headers}" != x ; then
-  if test x${is_cross_compiler} = xno ; then
-    echo 1>&2 '***' --with-headers is only supported when cross compiling
-    exit 1
-  fi
-  case "${exec_prefixoption}" in
-  "") x=${prefix} ;;
-  *) x=${exec_prefix} ;;
-  esac
-  copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
-fi
-
-# Handle --with-libs=XXX.  Multiple directories are permitted.  The
-# contents are copied to $(tooldir)/lib.
-if test x"${with_libs}" != x ; then
-  if test x${is_cross_compiler} = xno ; then
-    echo 1>&2 '***' --with-libs is only supported when cross compiling
-    exit 1
-  fi
-  # Copy the libraries in reverse order, so that files in the first named
-  # library override files in subsequent libraries.
-  case "${exec_prefixoption}" in
-  "") x=${prefix} ;;
-  *) x=${exec_prefix} ;;
-  esac
-  for l in ${with_libs}; do
-    copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
-  done
-fi
-
-# If both --with-headers and --with-libs are specified, default to
-# --without-newlib.
-if test x"${with_headers}" != x && test x"${with_libs}" != x ; then
-  if test x"${with_newlib}" = x ; then
-    with_newlib=no
-  fi
-fi
-
-# Recognize --with-newlib/--without-newlib.
-if test x${with_newlib} = xno ; then
-  skipdirs="${skipdirs} target-newlib"
-elif test x${with_newlib} = xyes ; then
-  skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
-fi
-
-# Default to using --with-stabs for certain targets.
-if test x${with_stabs} = x ; then
-  case "${target}" in
-  mips*-*-irix6*)
-    ;;
-  mips*-*-* | alpha*-*-osf*)
-    with_stabs=yes;
-    withoptions="${withoptions} --with-stabs"
-    ;;
-  esac
-fi
-
-# Handle ${copy_dirs}
-set fnord ${copy_dirs}
-shift
-while test $# != 0 ; do
-  if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
-    :
-  else
-    echo Copying $1 to $2
-
-    # Use the install script to create the directory and all required
-    # parent directories.
-    if test -d $2 ; then
-      :
-    else
-      echo >config.temp
-      ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
-    fi
-
-    # Copy the directory, assuming we have tar.
-    # FIXME: Should we use B in the second tar?  Not all systems support it.
-    (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
-
-    # It is the responsibility of the user to correctly adjust all
-    # symlinks.  If somebody can figure out how to handle them correctly
-    # here, feel free to add the code.
-
-    echo $1 > $2/COPIED
-  fi
-  shift; shift
-done
-
-# Configure extra directories which are host specific
-
-case "${host}" in
-       i[3456]86-*-go32*)
-         configdirs="$configdirs dosrel" ;;
-       i[3456]86-*-mingw32*)
-         configdirs="$configdirs dosrel" ;;
-       *-cygwin*)
-         configdirs="$configdirs libtermcap dosrel" ;;
-esac
-
-# Remove more programs from consideration, based on the host or 
-# target this usually means that a port of the program doesn't
-# exist yet.
-
-noconfigdirs=""
-
-case "${host}" in
-  hppa*64*-*-*)
-    noconfigdirs="$noconfigdirs byacc"
-    ;;
-  i[3456]86-*-vsta)
-    noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext"
-    ;;
-  i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
-    noconfigdirs="tcl tk expect dejagnu send-pr uudecode guile apache inet itcl tix db snavigator gnuserv libffi"
-       ;;
-  i[3456]86-*-mingw32*)
-    # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv"
-     noconfigdirs="expect dejagnu cvs autoconf automake send-pr rcs guile perl texinfo apache inet libtool"
-       ;;
   i[3456]86-*-beos*)
-     noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
+     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
      ;;
-  *-*-cygwin*)
-     noconfigdirs="autoconf automake send-pr rcs guile perl apache inet"
+  m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
+    noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
     ;;
-  *-*-netbsd*)
-    noconfigdirs="rcs"
+  m68k-*-elf*)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  ppc*-*-pe)
-     noconfigdirs="patch diff make tk tcl expect dejagnu cvssrc autoconf automake texinfo bison send-pr gprof rcs guile perl apache inet itcl tix db snavigator gnuserv"
+  m68k-*-coff*)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  powerpc-*-beos*)
-    noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
+  mcore-*-pe*)
+  # The EPOC C++ environment does not support exceptions or rtti,
+  # and so building libstdc++-v3 tends not to always work.
+    noconfigdirs="$noconfigdirs target-libstdc++-v3"
     ;;
-esac
-
-# Save it here so that, even in case of --enable-libgcj, if the Java
-# front-end isn't enabled, we still get libgcj disabled.
-libgcj_saved=$libgcj
-case $enable_libgcj in
-yes)
-  # If we reset it here, it won't get added to noconfigdirs in the
-  # target-specific build rules, so it will be forcibly enabled
-  # (unless the Java language itself isn't enabled).
-  libgcj=
-  ;;
-no)
-  # Make sure we get it printed in the list of not supported target libs.
-  noconfigdirs="$noconfigdirs ${libgcj}"
-  ;;
-esac
-
-case "${target}" in
-  *-*-chorusos)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
+  mmix-*-*)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
+  mn10200-*-*)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  *-*-netbsd*)
-    # Skip some stuff on all NetBSD configurations.
-    skipdirs="$skipdirs target-newlib target-libiberty target-libgloss"
-
-    # Skip some stuff that's unsupported on some NetBSD configurations.
-    case "${target}" in
-      i*86-*-netbsdelf*) ;;
-      *)
-       noconfigdirs="$noconfigdirs ${libgcj}"
-       ;;
-    esac
+  mn10300-*-*)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  *-*-netware)
-    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-librx target-newlib target-libiberty target-libgloss ${libgcj}"
+  powerpc-*-aix*)
+    # copied from rs6000-*-* entry
+    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
     ;;
-  *-*-rtems*)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
-    case ${target} in
-       h8300*-*-* | h8500-*-*)
-         noconfigdirs="$noconfigdirs target-libf2c"
-          ;;
-        *) ;;
-    esac
+  powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
+    target_configdirs="$target_configdirs target-winsup"
+    noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv ${libgcj}"
+    # always build newlib.
+    skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
     ;;
-  *-*-vxworks*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
+    # This is temporary until we can link against shared libraries
+  powerpcle-*-solaris*)
+    noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv ${libgcj}"
     ;;
-  alpha*-dec-osf*)
-    # ld works, but does not support shared libraries.
-    # newlib is not 64 bit ready.  I'm not sure about fileutils.
-    # gas doesn't generate exception information.
-    noconfigdirs="$noconfigdirs gas ld fileutils target-newlib target-libgloss"
+  powerpc-*-beos*)
+    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
     ;;
-  alpha*-*-*vms*)
-    noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss ${libgcj}"
+  powerpc-*-eabi)
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  alpha*-*-linux*)
-    # newlib is not 64 bit ready
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
-    # linux has rx in libc
-    skipdirs="$skipdirs target-librx"
+  rs6000-*-lynxos*)
+    noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
     ;;
-  alpha*-*-freebsd*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+  rs6000-*-aix*)
+    noconfigdirs="$noconfigdirs gprof ${libgcj}"
     ;;
-  alpha*-*-*)
-    # newlib is not 64 bit ready
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
-    ;;
-  sh-*-linux*)
-    noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
-    # linux has rx in libc
-    skipdirs="$skipdirs target-librx"
-    ;;    
-  sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    noconfigdirs="$noconfigdirs target-examples"
-    noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
-    noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
-    noconfigdirs="$noconfigdirs expect dejagnu"
-    # the C++ libraries don't build on top of CE's C libraries
-    noconfigdirs="$noconfigdirs ${libstdcxx_version}"
-    skipdirs="$skipdirs target-newlib"
-    case "${host}" in
-      *-*-cygwin*) ;; # keep gdb and readline
-      *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version}"
-        ;;
-    esac
-    ;;
-  arc-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
-    ;;
-  arm-*-pe*)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+  rs6000-*-*)
+    noconfigdirs="$noconfigdirs gprof ${libgcj}"
     ;;
-  arm-*-oabi*)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+  m68k-apollo-*)
+    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
     ;;
-  thumb-*-coff)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+  mips*-*-irix5*)
+    # The GNU linker does not support shared libraries.
+    noconfigdirs="$noconfigdirs ld gprof target-libgloss ${libgcj}"
     ;;
-  thumb-*-elf)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+  mips*-*-irix6*)
+    # The GNU assembler does not support IRIX 6.
+    # Linking libjava exceeds command-line length limits on at least
+    # IRIX 6.2, but not on IRIX 6.5.
+    # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
+    # <oldham@codesourcery.com>
+    noconfigdirs="$noconfigdirs gas gprof target-libgloss ${libgcj}"
     ;;
-  thumb-*-oabi)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+  mips*-dec-bsd*)
+    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
     ;;
-  strongarm-*-elf)
-    noconfigdirs="$noconfigdirs ${libgcj}"
+  mips*-*-bsd*)
+    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
     ;;
-  strongarm-*-coff)
-    noconfigdirs="$noconfigdirs ${libgcj}"
+  mipstx39-*-*)
+    noconfigdirs="$noconfigdirs gprof ${libgcj}"   # same as generic mips
+   ;;
+  mips*-*-linux*)
+    noconfigdirs="$noconfigdirs target-libffi"
     ;;
-  xscale-*-elf)
-    noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+  mips*-*-*)
+    noconfigdirs="$noconfigdirs gprof ${libgcj}"
     ;;
-  xscale-*-coff)
-    noconfigdirs="$noconfigdirs ${libgcj}"
+  romp-*-*)
+    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
     ;;
-  thumb-*-pe)
+  sh-*-*)
+    case "${host}" in
+      i[3456]86-*-vsta) ;; # don't add gprof back in
+      i[3456]86-*-go32*) ;; # don't add gprof back in
+      i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
+      *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
+    esac
     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  arm-*-riscix*)
-    noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
-    ;;
-  avr-*-*)
-    noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
-    ;;
-  c4x-*-*)
-    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-librx target-libgloss ${libgcj}"
-    ;;
-  c54x*-*-* | tic54x-*-*)
-    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss ${libgcj} gcc gdb newlib"
-    ;;
-  cris-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    ;;
-  d10v-*-*)
-    noconfigdirs="$noconfigdirs target-librx ${libstdcxx_version} target-libgloss ${libgcj}"
+  sh64-*-*)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  d30v-*-*)
+  sparc-*-elf*)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  fr30-*-elf*)
+  sparc64-*-elf*)
     noconfigdirs="$noconfigdirs ${libgcj}"
-    if test x${is_cross_compiler} != xno ; then
-          target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
-    fi
-    ;;
-  h8300*-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss"
-    ;;
-  h8500-*-*)
-    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-librx target-libgloss ${libgcj} target-libf2c"
-    ;;
-  hppa*64*-*-linux* | parisc*64*-*-linux*)
-    # In this case, it's because the hppa64-linux target is for
-    # the kernel only at this point and has no libc, and thus no
-    # headers, crt*.o, etc., all of which are needed by these.
-    noconfigdirs="$noconfigdirs target-zlib"
     ;;
-  hppa*-*-*elf* | \
-  parisc*-*-linux* | hppa*-*-linux* | \
-  hppa*-*-lites* | \
-  hppa*64*-*-*)
+  sparclite-*-*)
     noconfigdirs="$noconfigdirs ${libgcj}"
-    # Do configure ld/binutils/gas for this case.
-    ;;
-  hppa*-*-*)
-    # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
-    # build on HP-UX 10.20.
-    noconfigdirs="$noconfigdirs ld shellutils ${libgcj}"
-    ;;
-  ia64*-*-elf*)
-    # No gdb support yet.
-    noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb"
-    ;;
-  ia64*-**-hpux*)
-    # No gdb or ld support yet.
-    noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
     ;;
-  i[3456]86-*-coff | i[3456]86-*-elf)
+  sparc-*-sunos4*)
     noconfigdirs="$noconfigdirs ${libgcj}"
     if test x${is_cross_compiler} != xno ; then
-         target_configdirs="${target_configdirs} target-libstub target-cygmon"
-    fi
-    ;;
-  i[34567]86-*-freebsd*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
-    ;;
-  s390*-*-linux*)
-    # The libffi port is not yet in the GCC tree
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
-    # linux has rx in libc
-    skipdirs="$skipdirs target-librx"
-    ;;
-  i[3456]86-*-linux*)
-    # This section makes it possible to build newlib natively on linux.
-    # If we are using a cross compiler then don't configure newlib.
-    if test x${is_cross_compiler} != xno ; then
-         noconfigdirs="$noconfigdirs target-newlib"
+           noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
+    else
+           use_gnu_ld=no
     fi
-    noconfigdirs="$noconfigdirs target-libgloss"
-    # If we are not using a cross compiler, do configure newlib.
-    # Note however, that newlib will only be configured in this situation
-    # if the --with-newlib option has been given, because otherwise
-    # 'target-newlib' will appear in skipdirs.
-    # linux has rx in libc
-    skipdirs="$skipdirs target-librx"
-    ;;
-  *-*-linux*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
-    # linux has rx in libc
-    skipdirs="$skipdirs target-librx"
-    ;;
-  i[3456]86-*-mingw32*)
-    target_configdirs="$target_configdirs target-mingw"
-    noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}"
-
-    # Can't build gdb for mingw32 if not native.
-    case "${host}" in
-      i[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
-      *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix db snavigator gnuserv"
-         ;;
-    esac
-    ;;    
-  *-*-cygwin*)
-    target_configdirs="$target_configdirs target-libtermcap target-winsup"
-    noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}"
-    # always build newlib.
-    skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
-
-    # Can't build gdb for Cygwin if not native.
-    case "${host}" in
-      *-*-cygwin*) ;; # keep gdb tcl tk expect etc.
-      *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix libgui db snavigator gnuserv"
-         ;;
-    esac
-    ;;    
-  i[3456]86-*-pe)
-    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-librx target-libgloss ${libgcj}"
-    ;;
-  i[3456]86-*-sco3.2v5*)
-    # The linker does not yet know about weak symbols in COFF,
-    # and is not configured to handle mixed ELF and COFF.
-    noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
     ;;
-  i[3456]86-*-sco*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
+  sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
     ;;
-  i[3456]86-*-solaris2*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+  v810-*-*)
+    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss ${libgcj}"
     ;;
-  i[3456]86-*-sysv4*)
+  v850-*-*)
     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  i[3456]86-*-beos*)
-     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
-     ;;
-  m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
-    noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
-    ;;
-  m68k-*-elf*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    if test x${is_cross_compiler} != xno ; then
-          target_configdirs="${target_configdirs} target-bsp target-cygmon"
-    fi
-    ;;
-  m68k-*-coff*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    if test x${is_cross_compiler} != xno ; then
-          target_configdirs="${target_configdirs} target-bsp target-cygmon"
-    fi
-    ;;
-  mcore-*-pe*)
-  # The EPOC C++ environment does not support exceptions or rtti,
-  # and so building libstdc++-v3 tends not to always work.
-    noconfigdirs="$noconfigdirs target-libstdc++-v3"
-    ;;
-  mmix-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    ;;
-  mn10200-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    if test x${is_cross_compiler} != xno ; then
-          target_configdirs="${target_configdirs} target-libstub target-cygmon"
-    fi
-    ;;
-  mn10300-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    if test x${is_cross_compiler} != xno ; then
-          target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
-    fi
+  v850e-*-*)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  powerpc-*-aix*)
-    # copied from rs6000-*-* entry
-    noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss ${libgcj}"
-    use_gnu_ld=yes
+  v850ea-*-*)
+    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
-    target_configdirs="$target_configdirs target-winsup"
-    noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv ${libgcj}"
-    # always build newlib.
-    skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
+  vax-*-vms)
+    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
     ;;
-    # This is temporary until we can link against shared libraries
-  powerpcle-*-solaris*)
-    noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv ${libgcj}"
+  vax-*-*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
     ;;
-  powerpc-*-beos*)
-    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
+  ip2k-*-*)
+    noconfigdirs="$noconfigdirs target-libiberty ${libstdcxx_version} ${libgcj}"
     ;;
-  powerpc-*-eabi)
+  *-*-lynxos*)
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
+    ;; 
+  *-*-*)
     noconfigdirs="$noconfigdirs ${libgcj}"
-    if test x${is_cross_compiler} != xno ; then
-          target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
-    fi
     ;;
-  rs6000-*-lynxos*)
-    # The CVS server code doesn't work on the RS/6000
-    noconfigdirs="$noconfigdirs target-newlib gprof cvssrc ${libgcj}"
+esac
+
+# If we aren't building newlib, then don't build libgloss, since libgloss
+# depends upon some newlib header files.
+case "${noconfigdirs}" in
+  *target-libgloss*) ;;
+  *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
+esac
+
+# Figure out what language subdirectories are present.
+# Look if the user specified --enable-languages="..."; if not, use
+# the environment variable $LANGUAGES if defined. $LANGUAGES might
+# go away some day.
+# NB:  embedded tabs in this IF block -- do not untabify
+if test x"${enable_languages+set}" != xset; then
+       if test x"${LANGUAGES+set}" = xset; then
+               enable_languages="${LANGUAGES}"
+               echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
+       else
+               enable_languages=all
+       fi
+else
+       if test x"${enable_languages}" = x ||
+          test x"${enable_languages}" = xyes;
+       then
+               echo configure.in: --enable-languages needs at least one language argument 1>&2
+               exit 1
+       fi
+fi
+enable_languages=`echo "${enable_languages}" | sed -e 's/[     ,][     ,]*/,/g' -e 's/,$//'`
+
+# First scan to see if an enabled language requires some other language.
+# We assume that a given config-lang.in will list all the language
+# front ends it requires, even if some are required indirectly.
+for lang in ${srcdir}/gcc/*/config-lang.in ..
+do
+   case $lang in
+    ..)
+       ;;
+    # The odd quoting in the next line works around
+    # an apparent bug in bash 1.12 on linux.
+    ${srcdir}/gcc/[*]/config-lang.in)
+       ;;
+    *)
+       lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^     ]*\).*$,\1,p' $lang`
+       this_lang_requires=`sed -n -e 's,^lang_requires=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_requires=\([^   ]*\).*$,\1,p' $lang`
+       for other in $this_lang_requires
+       do
+         case ,${enable_languages}, in
+          *,$other,*)
+             ;;
+          *,all,*)
+             ;;
+          *,$lang_alias,*)
+             echo " \`$other' language required by \`$lang_alias'; enabling" 1>&2
+             enable_languages="$enable_languages,$other"
+             ;;
+         esac
+       done
+       ;;
+   esac
+done
+
+subdirs=
+for lang in ${srcdir}/gcc/*/config-lang.in ..
+do
+       case $lang in
+       ..) ;;
+       # The odd quoting in the next line works around
+       # an apparent bug in bash 1.12 on linux.
+       ${srcdir}/gcc/[*]/config-lang.in) ;;
+       *)
+         lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^   ]*\).*$,\1,p' $lang`
+         this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^         ]*\).*$,\1,p' $lang`
+         this_lang_dirs=`sed -n -e 's,^lang_dirs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_dirs=\([^     ]*\).*$,\1,p' $lang`
+         build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^     ]*\).*$,\1,p' $lang`
+         if test "x$lang_alias" = x
+         then
+               echo "$lang doesn't set \$language." 1>&2
+               exit 1
+         fi
+         case ${build_by_default},${enable_languages}, in
+         *,$lang_alias,*) add_this_lang=yes ;;
+         no,*) add_this_lang=no ;;
+         *,all,*) add_this_lang=yes ;;
+         *) add_this_lang=no ;;
+         esac
+         if test x"${add_this_lang}" = xyes; then
+             eval target_libs='"$target_libs "'\"$this_lang_libs\"
+         else
+             eval noconfigdirs='"$noconfigdirs "'\"$this_lang_libs $this_lang_dirs\"
+         fi
+         ;;
+       esac
+done
+
+# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
+# $target_configdirs.
+# If we have the source for $noconfigdirs entries, add them to $notsupp.
+
+notsupp=""
+for dir in . $skipdirs $noconfigdirs ; do
+  dirname=`echo $dir | sed -e s/target-//g`
+  if test $dir != .  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+    configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
+    if test -r $srcdir/$dirname/configure \
+       || test -r $srcdir/$dirname/configure.in ; then
+      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+       true
+      else
+       notsupp="$notsupp $dir"
+      fi
+    fi
+  fi
+  if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+    target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
+    if test -r $srcdir/$dirname/configure \
+       || test -r $srcdir/$dirname/configure.in ; then
+      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+       true
+      else
+       notsupp="$notsupp $dir"
+      fi
+    fi
+  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.
+if test -n "${target_configdirs}" ; then
+  others=
+  for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
+    if test "$i" != "libiberty" ; then
+      if test -r $srcdir/$i/configure || test -r $srcdir/$i/configure.in ; then
+       others=yes;
+       break;
+      fi
+    fi
+  done
+  if test -z "${others}" ; then
+    target_configdirs=
+  fi
+fi
+
+# Deconfigure all subdirectories, in case we are changing the
+# configuration from one where a subdirectory is supported to one where it
+# is not.
+if test -z "${norecursion}" && test -n "${configdirs}" ; then
+  for i in `echo ${configdirs} | sed -e s/target-//g` ; do
+    rm -f $i/Makefile
+  done
+fi
+if test -z "${norecursion}" && test -n "${target_configdirs}" ; then
+  for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
+    rm -f ${target_subdir}/$i/Makefile
+  done
+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.
+configdirs_all="$configdirs"
+configdirs=
+for i in ${configdirs_all} ; do
+  if test -f ${srcdir}/$i/configure ; then
+    configdirs="${configdirs} $i"
+  fi
+done
+target_configdirs_all="$target_configdirs"
+target_configdirs=
+for i in ${target_configdirs_all} ; do
+  j=`echo $i | sed -e s/target-//g` 
+  if test -f ${srcdir}/$j/configure ; then
+    target_configdirs="${target_configdirs} $i"
+  fi
+done
+
+# Produce a warning message for the subdirs we can't configure.
+# This isn't especially interesting in the Cygnus tree, but in the individual
+# FSF releases, it's important to let people know when their machine isn't
+# supported by the one or two programs in a package.
+
+if test -n "${notsupp}" && test -z "${norecursion}" ; then
+  # If $appdirs is non-empty, at least one of those directories must still
+  # be configured, or we error out.  (E.g., if the gas release supports a
+  # specified target in some subdirs but not the gas subdir, we shouldn't
+  # pretend that all is well.)
+  if test -n "$appdirs" ; then
+    for dir in $appdirs ; do
+      if test -r $dir/Makefile.in ; then
+       if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+         appdirs=""
+         break
+       fi
+       if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
+         appdirs=""
+         break
+       fi
+      fi
+    done
+    if test -n "$appdirs" ; then
+      echo "*** This configuration is not supported by this package." 1>&2
+      exit 1
+    fi
+  fi
+  # Okay, some application will build, or we don't care to check.  Still
+  # notify of subdirs not getting built.
+  echo "*** This configuration is not supported in the following subdirectories:" 1>&2
+  echo "    ${notsupp}" 1>&2
+  echo "    (Any other directories should still work fine.)" 1>&2
+fi
+
+case "$host" in
+  *msdosdjgpp*)
+    enable_gdbtk=no ;;
+esac
+# Determine whether gdb needs tk/tcl or not.
+case "$enable_gdbtk" in
+  no)
+    GDB_TK="" ;;
+  *)
+    GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;;
+esac
+
+copy_dirs=
+
+# Handle --with-headers=XXX.  The contents of the named directory are
+# copied to $(tooldir)/sys-include.
+if test x"${with_headers}" != x ; then
+  if test x${is_cross_compiler} = xno ; then
+    echo 1>&2 '***' --with-headers is only supported when cross compiling
+    exit 1
+  fi
+  case "${exec_prefixoption}" in
+  "") x=${prefix} ;;
+  *) x=${exec_prefix} ;;
+  esac
+  copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
+fi
+
+# Handle --with-libs=XXX.  Multiple directories are permitted.  The
+# contents are copied to $(tooldir)/lib.
+if test x"${with_libs}" != x ; then
+  if test x${is_cross_compiler} = xno ; then
+    echo 1>&2 '***' --with-libs is only supported when cross compiling
+    exit 1
+  fi
+  # Copy the libraries in reverse order, so that files in the first named
+  # library override files in subsequent libraries.
+  case "${exec_prefixoption}" in
+  "") x=${prefix} ;;
+  *) x=${exec_prefix} ;;
+  esac
+  for l in ${with_libs}; do
+    copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
+  done
+fi
+
+# Handle ${copy_dirs}
+set fnord ${copy_dirs}
+shift
+while test $# != 0 ; do
+  if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
+    :
+  else
+    echo Copying $1 to $2
+
+    # Use the install script to create the directory and all required
+    # parent directories.
+    if test -d $2 ; then
+      :
+    else
+      echo >config.temp
+      ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
+    fi
+
+    # Copy the directory, assuming we have tar.
+    # FIXME: Should we use B in the second tar?  Not all systems support it.
+    (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
+
+    # It is the responsibility of the user to correctly adjust all
+    # symlinks.  If somebody can figure out how to handle them correctly
+    # here, feel free to add the code.
+
+    echo $1 > $2/COPIED
+  fi
+  shift; shift
+done
+
+# Work in distributions that contain no compiler tools, like Autoconf.
+tentative_cc=""
+if test -d ${srcdir}/config ; then
+case "${host}" in
+  m68k-hp-hpux*)
+    # Avoid "too much defining" errors from HPUX compiler.
+    tentative_cc="cc -Wp,-H256000"
+    host_makefile_frag="config/mh-hp300"
     ;;
-  rs6000-*-aix*)
-    noconfigdirs="$noconfigdirs gprof ${libgcj}"
-    use_gnu_ld=yes
+  m68k-apollo-sysv*)
+    tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
+    host_makefile_frag="config/mh-apollo68"
     ;;
-  rs6000-*-*)
-    noconfigdirs="$noconfigdirs gprof ${libgcj}"
+  m68k-apollo-bsd*)
+    #None of the Apollo compilers can compile gas or binutils.  The preprocessor
+    # chokes on bfd, the compiler won't let you assign integers to enums, and
+    # other problems.  Defining CC to gcc is a questionable way to say "don't use
+    # the apollo compiler" (the preferred version of GCC could be called cc,
+    # or whatever), but I'm not sure leaving CC as cc is any better...
+    #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
+    tentative_cc=gcc
+    host_makefile_frag="config/mh-a68bsd"
     ;;
-  m68k-apollo-*)
-    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
+  m88k-dg-dgux*)
+    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
+    host_makefile_frag="config/mh-dgux"
+    ;;
+  m88k-harris-cxux*)
+    # Under CX/UX, we want to tell the compiler to use ANSI mode.
+    tentative_cc="cc -Xa"
+    host_makefile_frag="config/mh-cxux"
+    ;;
+  m88k-motorola-sysv*)
+    host_makefile_frag="config/mh-delta88"
+    ;;
+  mips*-dec-ultrix*)
+    tentative_cc="cc -Wf,-XNg1000"
+    host_makefile_frag="config/mh-decstation"
+    ;;
+  mips*-nec-sysv4*)
+    # The C compiler on NEC MIPS SVR4 needs bigger tables.
+    tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
+    host_makefile_frag="config/mh-necv4"
     ;;
-  mips*-*-irix5*)
-    # The GNU linker does not support shared libraries.
-    noconfigdirs="$noconfigdirs ld gprof target-libgloss ${libgcj}"
+  mips*-sgi-irix6*)
+    host_makefile_frag="config/mh-irix6"
     ;;
-  mips*-*-irix6*)
-    # The GNU assembler does not support IRIX 6.
-    # Linking libjava exceeds command-line length limits on at least
-    # IRIX 6.2, but not on IRIX 6.5.
-    # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
-    # <oldham@codesourcery.com>
-    noconfigdirs="$noconfigdirs gas gprof target-libgloss ${libgcj}"
+  mips*-sgi-irix5*)
+    host_makefile_frag="config/mh-irix5"
     ;;
-  mips*-dec-bsd*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
+  mips*-sgi-irix4*)
+    # Tell compiler to use K&R C.  We can't compile under the SGI Ansi
+    # environment.  Also bump switch table size so that cp-parse will
+    # compile.  Bump string length limit so linker builds.
+    tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
     ;;
-  mips*-*-bsd*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
+  mips*-sgi-irix3*)
+    host_makefile_frag="config/mh-sysv"
     ;;
-  mipstx39-*-*)
-    noconfigdirs="$noconfigdirs gprof ${libgcj}"   # same as generic mips
-    target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
-   ;;
-  mips*-*-linux*)
-    noconfigdirs="$noconfigdirs target-libffi"
+  mips*-*-sysv4*)
+    host_makefile_frag="config/mh-sysv4"
     ;;
-  mips*-*-*)
-    noconfigdirs="$noconfigdirs gprof ${libgcj}"
+  mips*-*-sysv*)
+    # This is for a MIPS running RISC/os 4.52C.
+
+    # This is needed for GDB, but needs to be in the top-level make because
+    # if a library is compiled with the bsd headers and gets linked with the
+    # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
+    # a different size).
+    # ptrace(2) apparently has problems in the BSD environment.  No workaround is
+    # known except to select the sysv environment.  Could we use /proc instead?
+    # These "sysv environments" and "bsd environments" often end up being a pain.
+    #
+    # This is not part of CFLAGS because perhaps not all C compilers have this
+    # option.
+    tentative_cc="cc -systype sysv"
+    host_makefile_frag="config/mh-riscos"
     ;;
-  romp-*-*)
-    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+  i370-ibm-opened*)
+    tentative_cc="c89"
+    host_makefile_frag="config/mh-openedition"
     ;;
-  sh-*-*)
-    case "${host}" in
-      i[3456]86-*-vsta) ;; # don't add gprof back in
-      i[3456]86-*-go32*) ;; # don't add gprof back in
-      i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
-      *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
-    esac
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+  i[3456]86-*-sysv5*)
+    host_makefile_frag="config/mh-sysv5"
     ;;
-  sh64-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+  i[3456]86-*-dgux*)
+    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
+    host_makefile_frag="config/mh-dgux386"
     ;;
-  sparc-*-elf*)
-    if test x${is_cross_compiler} != xno ; then
-          target_configdirs="${target_configdirs} target-libstub target-cygmon"
-    fi
-    noconfigdirs="$noconfigdirs ${libgcj}"
+  i[3456]86-ncr-sysv4.3*)
+    # The MetaWare compiler will generate a copyright message unless you
+    # turn it off by adding the -Hnocopyr flag.
+    tentative_cc="cc -Hnocopyr"
+    host_makefile_frag="config/mh-ncrsvr43"
     ;;
-  sparc64-*-elf*)
-    if test x${is_cross_compiler} != xno ; then
-          target_configdirs="${target_configdirs} target-libstub target-cygmon"
-    fi
-    noconfigdirs="$noconfigdirs ${libgcj}"
+  i[3456]86-ncr-sysv4*)
+    # for an NCR 3000 (i486/SVR4) system.
+    # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
+    # This compiler not only emits obnoxious copyright messages every time
+    # you run it, but it chokes and dies on a whole bunch of GNU source
+    # files.  Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
+    tentative_cc="/usr/ccs/ATT/cc"
+    host_makefile_frag="config/mh-ncr3000"
     ;;
-  sparclite-*-*)
-    if test x${is_cross_compiler} != xno ; then
-          target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
-    fi
-    noconfigdirs="$noconfigdirs ${libgcj}"
+  i[3456]86-*-sco3.2v5*)
+    host_makefile_frag="config/mh-sysv"
     ;;
-  sparc-*-sunos4*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    if test x${is_cross_compiler} != xno ; then
-           noconfigdirs="$noconfigdirs gdb gdbtest target-newlib target-libgloss"
-    else
-           use_gnu_ld=no
-    fi
+  i[3456]86-*-sco*)
+    # The native C compiler botches some simple uses of const.  Unfortunately,
+    # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
+    tentative_cc="cc -Dconst="
+    host_makefile_frag="config/mh-sco"
     ;;
-  sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
+  i[3456]86-*-udk*)
+    host_makefile_frag="config/mh-sysv5"
     ;;
-  v810-*-*)
-    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss ${libgcj}"
+  i[3456]86-*-isc*)
+    host_makefile_frag="config/mh-sysv"
     ;;
-  v850-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+  i[3456]86-*-solaris2*)
+    host_makefile_frag="config/mh-sysv4"
     ;;
-  v850e-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+  i[3456]86-*-aix*)
+    host_makefile_frag="config/mh-aix386"
     ;;
-  v850ea-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+  i[3456]86-*-msdosdjgpp*)
+    host_makefile_frag="config/mh-djgpp"
     ;;
-  vax-*-vms)
-    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
+  *-cygwin*)
+    host_makefile_frag="config/mh-cygwin"
     ;;
-  vax-*-*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
+  *-mingw32*)
+    host_makefile_frag="config/mh-mingw32"
     ;;
-  *-*-lynxos*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
-    ;; 
-  *-*-macos* | \
-  *-*-mpw*)
-    # Macs want a resource compiler.
-    configdirs="$configdirs grez"
-    noconfigdirs="$noconfigdirs ${libgcj}"
-    ;;    
-  *-*-*)
-    noconfigdirs="$noconfigdirs ${libgcj}"
+  *-interix*)
+    host_makefile_frag="config/mh-interix"
     ;;
-esac
-
-# If we aren't building newlib, then don't build libgloss, since libgloss
-# depends upon some newlib header files.
-case "${noconfigdirs}" in
-  *target-libgloss*) ;;
-  *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
-esac
-
-# Make sure we don't let GNU ld be added if we didn't want it.
-if test x$with_gnu_ld = xno ; then
-  use_gnu_ld=no
-  noconfigdirs="$noconfigdirs ld"
-fi
-
-# Make sure we don't let GNU as be added if we didn't want it.
-if test x$with_gnu_as = xno ; then
-  use_gnu_as=no
-  noconfigdirs="$noconfigdirs gas"
-fi
-
-# Figure out what language subdirectories are present.
-# Look if the user specified --enable-languages="..."; if not, use
-# the environment variable $LANGUAGES if defined. $LANGUAGES might
-# go away some day.
-# NB:  embedded tabs in this IF block -- do not untabify
-if test x"${enable_languages+set}" != xset; then
-       if test x"${LANGUAGES+set}" = xset; then
-               enable_languages="${LANGUAGES}"
-               echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
-       else
-               enable_languages=all
-       fi
-else
-       if test x"${enable_languages}" = x ||
-          test x"${enable_languages}" = xyes;
-       then
-               echo configure.in: --enable-languages needs at least one language argument 1>&2
-               exit 1
-       fi
-fi
-enable_languages=`echo "${enable_languages}" | sed -e 's/[     ,][     ,]*/,/g' -e 's/,$//'`
-
-# First scan to see if an enabled language requires some other language.
-# We assume that a given config-lang.in will list all the language
-# front ends it requires, even if some are required indirectly.
-for lang in ${srcdir}/gcc/*/config-lang.in ..
-do
-   case $lang in
-    ..)
-       ;;
-    # The odd quoting in the next line works around
-    # an apparent bug in bash 1.12 on linux.
-    ${srcdir}/gcc/[*]/config-lang.in)
-       ;;
-    *)
-       lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^     ]*\).*$,\1,p' $lang`
-       this_lang_requires=`sed -n -e 's,^lang_requires=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_requires=\([^   ]*\).*$,\1,p' $lang`
-       for other in $this_lang_requires
-       do
-         case ,${enable_languages}, in
-          *,$other,*)
-             ;;
-          *,all,*)
-             ;;
-          *,$lang_alias,*)
-             echo " \`$other' language required by \`$lang_alias'; enabling" 1>&2
-             enable_languages="$enable_languages,$other"
-             ;;
-         esac
-       done
-       ;;
-   esac
-done
-
-subdirs=
-for lang in ${srcdir}/gcc/*/config-lang.in ..
-do
-       case $lang in
-       ..) ;;
-       # The odd quoting in the next line works around
-       # an apparent bug in bash 1.12 on linux.
-       ${srcdir}/gcc/[*]/config-lang.in) ;;
-       *)
-         lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^   ]*\).*$,\1,p' $lang`
-         this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^         ]*\).*$,\1,p' $lang`
-         this_lang_dirs=`sed -n -e 's,^lang_dirs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_dirs=\([^     ]*\).*$,\1,p' $lang`
-         build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^     ]*\).*$,\1,p' $lang`
-         if test "x$lang_alias" = x
-         then
-               echo "$lang doesn't set \$language." 1>&2
-               exit 1
-         fi
-         case ${build_by_default},${enable_languages}, in
-         *,$lang_alias,*) add_this_lang=yes ;;
-         no,*) add_this_lang=no ;;
-         *,all,*) add_this_lang=yes ;;
-         *) add_this_lang=no ;;
-         esac
-         if test x"${add_this_lang}" = xyes; then
-             eval target_libs='"$target_libs "'\"$this_lang_libs\"
-         else
-             eval noconfigdirs='"$noconfigdirs "'\"$this_lang_libs $this_lang_dirs\"
-         fi
-         ;;
-       esac
-done
-
-# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
-# $target_configdirs.
-# If we have the source for $noconfigdirs entries, add them to $notsupp.
+  vax-*-ultrix2*)
+    # The old BSD pcc isn't up to compiling parts of gdb so use gcc
+    tentative_cc=gcc
+    ;;
+  *-*-solaris2*)
+    host_makefile_frag="config/mh-solaris"
+    ;;
+  m68k-sun-sunos*)
+    # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
+    # without overflowing the jump tables (-J says to use a 32 bit table)
+    tentative_cc="cc -J"
+    ;;
+  *-hp-hpux[78]*)
+    tentative_cc="cc -Wp,-H256000"
+    host_makefile_frag="config/mh-hpux8"
+    ;;
+  *-hp-hpux*)
+    tentative_cc="cc -Wp,-H256000"
+    host_makefile_frag="config/mh-hpux"
+    ;;
+  *-*-hiux*)
+    tentative_cc="cc -Wp,-H256000"
+    host_makefile_frag="config/mh-hpux"
+    ;;
+  rs6000-*-lynxos*)
+    # /bin/cc is less than useful for our purposes.  Always use GCC
+    tentative_cc="/usr/cygnus/progressive/bin/gcc"
+    host_makefile_frag="config/mh-lynxrs6k"
+    ;;
+  *-*-lynxos*)
+    # /bin/cc is less than useful for our purposes.  Always use GCC
+    tentative_cc="/bin/gcc"
+    ;;
+  *-*-sysv4*)
+    host_makefile_frag="config/mh-sysv4"
+    ;;
+  *-*-sysv*)
+    host_makefile_frag="config/mh-sysv"
+    ;;
+esac
+fi
 
-notsupp=""
-for dir in . $skipdirs $noconfigdirs ; do
-  dirname=`echo $dir | sed -e s/target-//g`
-  if test $dir != .  && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
-    configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
-    if test -r $srcdir/$dirname/configure \
-       || test -r $srcdir/$dirname/configure.in ; then
-      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
-       true
-      else
-       notsupp="$notsupp $dir"
-      fi
-    fi
-  fi
-  if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
-    target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
-    if test -r $srcdir/$dirname/configure \
-       || test -r $srcdir/$dirname/configure.in ; then
-      if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
-       true
-      else
-       notsupp="$notsupp $dir"
-      fi
-    fi
-  fi
-done
+rm -f mh-frag
+if test -n "${host_makefile_frag}" ; then
+  for f in ${host_makefile_frag}
+  do
+    cat ${srcdir}/$f >> mh-frag
+  done
+  host_makefile_frag=mh-frag
+fi
 
-# Sometimes the tools are distributed with libiberty but with no other
-# libraries.  In that case, we don't want to build target-libiberty.
-if test -n "${target_configdirs}" ; then
-  others=
-  for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
-    if test "$i" != "libiberty" ; then
-      if test -r $srcdir/$i/configure || test -r $srcdir/$i/configure.in ; then
-       others=yes;
-       break;
-      fi
+# If we aren't going to be using gcc, see if we can extract a definition
+# of CC from the fragment.
+# Actually, use the 'pre-extracted' version above.
+if test -z "${CC}" && test "${build}" = "${host}" ; then
+  IFS="${IFS=  }"; save_ifs="$IFS"; IFS="${IFS}:"
+  found=
+  for dir in $PATH; do
+    test -z "$dir" && dir=.
+    if test -f $dir/gcc; then
+      found=yes
+      break
     fi
   done
-  if test -z "${others}" ; then
-    target_configdirs=
+  IFS="$save_ifs"
+  if test -z "${found}" && test -n "${tentative_cc}" ; then
+    CC=$tentative_cc
   fi
 fi
 
-# Deconfigure all subdirectories, in case we are changing the
-# configuration from one where a subdirectory is supported to one where it
-# is not.
-if test -z "${norecursion}" && test -n "${configdirs}" ; then
-  for i in `echo ${configdirs} | sed -e s/target-//g` ; do
-    rm -f $i/Makefile
-  done
-fi
-if test -z "${norecursion}" && test -n "${target_configdirs}" ; then
-  for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
-    rm -f ${target_subdir}/$i/Makefile
-  done
-fi
+case "${target}" in
+  v810*)
+    target_makefile_frag="config/mt-v810"
+    ;;
+  i[3456]86-*-netware*)
+    target_makefile_frag="config/mt-netware"
+    ;;
+  powerpc-*-netware*)
+    target_makefile_frag="config/mt-netware"
+    ;;
+  *-*-linux*)
+    target_makefile_frag="config/mt-linux"
+    ;;
+  *-*-aix4.[3456789]* | *-*-aix[56789].*)
+    target_makefile_frag="config/mt-aix43"
+    ;;
+  mips*-*-pe | sh*-*-pe | *arm-wince-pe)
+    target_makefile_frag="config/mt-wince"
+    ;;
+esac
 
-# 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.
-configdirs_all="$configdirs"
-configdirs=
-for i in ${configdirs_all} ; do
-  if test -f ${srcdir}/$i/configure ; then
-    configdirs="${configdirs} $i"
-  fi
-done
-target_configdirs_all="$target_configdirs"
-target_configdirs=
-for i in ${target_configdirs_all} ; do
-  j=`echo $i | sed -e s/target-//g` 
-  if test -f ${srcdir}/$j/configure ; then
-    target_configdirs="${target_configdirs} $i"
-  fi
-done
+alphaieee_frag=
+case $target in
+  alpha*-*-*)
+    # This just makes sure to use the -mieee option to build target libs.
+    # This should probably be set individually by each library.
+    alphaieee_frag="config/mt-alphaieee"
+    ;;
+esac
 
-# Produce a warning message for the subdirs we can't configure.
-# This isn't especially interesting in the Cygnus tree, but in the individual
-# FSF releases, it's important to let people know when their machine isn't
-# supported by the one or two programs in a package.
+# If --enable-target-optspace always use -Os instead of -O2 to build
+# the target libraries, similarly if it is not specified, use -Os
+# on selected platforms.
+ospace_frag=
+case "${enable_target_optspace}:${target}" in
+  yes:*)
+    ospace_frag="config/mt-ospace"
+    ;;
+  :d30v-*)
+    ospace_frag="config/mt-d30v"
+    ;;
+  :m32r-* | :d10v-* | :fr30-*)
+    ospace_frag="config/mt-ospace"
+    ;;
+  no:* | :*)
+    ;;
+  *)
+    echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
+    ;;
+esac
 
-if test -n "${notsupp}" && test -z "${norecursion}" ; then
-  # If $appdirs is non-empty, at least one of those directories must still
-  # be configured, or we error out.  (E.g., if the gas release supports a
-  # specified target in some subdirs but not the gas subdir, we shouldn't
-  # pretend that all is well.)
-  if test -n "$appdirs" ; then
-    for dir in $appdirs ; do
-      if test -r $dir/Makefile.in ; then
-       if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
-         appdirs=""
-         break
-       fi
-       if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
-         appdirs=""
-         break
-       fi
-      fi
-    done
-    if test -n "$appdirs" ; then
-      echo "*** This configuration is not supported by this package." 1>&2
-      exit 1
-    fi
-  fi
-  # Okay, some application will build, or we don't care to check.  Still
-  # notify of subdirs not getting built.
-  echo "*** This configuration is not supported in the following subdirectories:" 1>&2
-  echo "    ${notsupp}" 1>&2
-  echo "    (Any other directories should still work fine.)" 1>&2
+rm -f mt-frag
+if test -n "${target_makefile_frag}${alphaieee_frag}${ospace_frag}" ; then
+  for f in ${target_makefile_frag} ${alphaieee_frag} ${ospace_frag}
+  do
+    cat ${srcdir}/$f >> mt-frag
+  done
+  target_makefile_frag=mt-frag
 fi
 
 # Set with_gnu_as and with_gnu_ld as appropriate.
@@ -1276,47 +1213,67 @@ fi
 # want to do that, then you should use the --without-gnu-as and
 # --without-gnu-ld options for the configure script.
 
-if test x${use_gnu_as} = x ; then
-  if test x${with_gnu_as} != xno && echo " ${configdirs} " | grep " ${gasdir} " > /dev/null 2>&1 && test -d ${srcdir}/${gasdir} ; then
-    with_gnu_as=yes
-    withoptions="$withoptions --with-gnu-as"
-  fi
+if test x${use_gnu_as} = x &&
+   echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
+  with_gnu_as=yes
+  withoptions="$withoptions --with-gnu-as"
 fi
 
-if test x${use_gnu_ld} = x ; then
-  if test x${with_gnu_ld} != xno && echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 && test -d ${srcdir}/ld ; then
-    with_gnu_ld=yes
-    withoptions="$withoptions --with-gnu-ld"
-  fi
+if test x${use_gnu_ld} = x &&
+   echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
+  with_gnu_ld=yes
+  withoptions="$withoptions --with-gnu-ld"
 fi
 
 # If using newlib, add --with-newlib to the withoptions so that gcc/configure
 # can detect this case.
 
-if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
+if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
   with_newlib=yes
   withoptions="$withoptions --with-newlib"
 fi
 
-rm -f mt-frag
-if test -n "${target_makefile_frag}" ; then
-  for f in ${target_makefile_frag}
-  do
-    cat ${srcdir}/$f >> mt-frag
-  done
-  target_makefile_frag=mt-frag
+# We default to --with-shared on platforms where -fpic is meaningless.
+# Well, we don't yet, but we will.
+if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then
+  case "${target}" in
+    alpha*-dec-osf*)   enable_shared=yes ;;
+    alpha*-*-linux*)   enable_shared=yes ;;
+    mips-sgi-irix5*)   enable_shared=yes ;;
+    *)                 enable_shared=no ;;
+  esac
 fi
 
-case "$host" in
-  *msdosdjgpp*)
-    enable_gdbtk=no ;;
+case "${enable_shared}" in
+  yes) shared=yes ;;
+  no) shared=no ;;
+  "") shared=no ;;
+  *) shared=yes ;;
 esac
-# Determine whether gdb needs tk/tcl or not.
-case "$enable_gdbtk" in
-  no)
-    GDB_TK="" ;;
-  *)
-    GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;;
+
+
+# Default to using --with-stabs for certain targets.
+if test x${with_stabs} = x ; then
+  case "${target}" in
+  mips*-*-irix6*o32)
+    with_stabs=yes;
+    withoptions="${withoptions} --with-stabs"
+    ;;
+  mips*-*-irix6*)
+    ;;
+  mips*-*-* | alpha*-*-osf*)
+    with_stabs=yes;
+    withoptions="${withoptions} --with-stabs"
+    ;;
+  esac
+fi
+
+# hpux11 in 64bit mode has libraries in a weird place.  Arrange to find
+# them automatically.
+case "${host}" in
+  hppa*64*-*-hpux11*)  
+    withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
+    ;;
 esac
 
 # post-target:
@@ -1452,9 +1409,9 @@ if test -n "${with_gxx_include_dir}"; then
 fi
 if test x${gxx_include_dir} = x; then
   if test x${enable_version_specific_runtime_libs} = xyes; then
-    gxx_include_dir='${libsubdir}/include/g++'
+    gxx_include_dir='${libsubdir}/include/c++'
   else
-    . ${topsrcdir}/config.if
+    . ${srcdir}/config.if
     gxx_include_dir='${prefix}/include/${libstdcxx_incdir}'
   fi
 else
@@ -1462,10 +1419,7 @@ else
 fi
 
 FLAGS_FOR_TARGET=
-case " $skipdirs " in
-*" target-newlib "*) ;;
-*)
- case " $target_configdirs " in
+case " $target_configdirs " in
  *" newlib "*)
   case " $targargs " in
   *" --with-newlib "*)
@@ -1475,7 +1429,7 @@ case " $skipdirs " in
    esac
 
    # If we're not building GCC, don't discard standard headers.
-   if test -d ${topsrcdir}/gcc; then
+   if test -d ${srcdir}/gcc; then
      FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
 
      if test "${build}" != "${host}"; then
@@ -1513,29 +1467,26 @@ case " $skipdirs " in
    ;;
   esac
   ;;
- esac
- ;;
 esac
 
 # On Canadian crosses, we'll be searching the right directories for
 # the previously-installed cross compiler, so don't bother to add
 # flags for directories within the install tree of the compiler
 # being built; programs in there won't even run.
-if test "${build}" = "${host}" && test -d ${topsrcdir}/gcc; then
+if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
   # Search for pre-installed headers if nothing else fits.
   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include'
 fi
 
-if test "x${use_gnu_ld}" = x && test "x${with_gnu_ld}" != xno &&
-   echo " ${configdirs} " | grep " ld " > /dev/null &&
-   test -d ${srcdir}/ld; then
+if test "x${use_gnu_ld}" = x &&
+   echo " ${configdirs} " | grep " ld " > /dev/null ; then
   # Arrange for us to find uninstalled linker scripts.
   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
 fi
 
 if test "x${CC_FOR_TARGET+set}" = xset; then
   :
-elif test -d ${topsrcdir}/gcc; then
+elif test -d ${srcdir}/gcc; then
   CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
 elif test "$host" = "$target"; then
   CC_FOR_TARGET='$(CC)'
@@ -1551,7 +1502,7 @@ esac
 
 if test "x${GCJ_FOR_TARGET+set}" = xset; then
   :
-elif test -d ${topsrcdir}/gcc; then
+elif test -d ${srcdir}/gcc; then
   GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
 elif test "$host" = "$target"; then
   GCJ_FOR_TARGET='gcj'
@@ -1563,9 +1514,12 @@ case $GCJ_FOR_TARGET in
 *) GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
 esac
 
+# Don't use libstdc++-v3's flags to configure/build itself.
+libstdcxx_flags='`case $$dir in libstdc++-v3 | libjava) ;; *) test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes;; esac` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
+
 if test "x${CXX_FOR_TARGET+set}" = xset; then
   :
-elif test -d ${topsrcdir}/gcc; then
+elif test -d ${srcdir}/gcc; then
   # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
   # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
   # default whereas gcc does not.
index 6b13bfdb6c10714478d9f2c40b6688e5d2f58287..debe735ca99f2b965d56251f187626c3712db979 100644 (file)
@@ -1,3 +1,31 @@
+2002-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       Import the following patches from the FSF GCC sources:
+       2002-03-25  Zack Weinberg  <zack@codesourcery.com>
+
+       * texi2pod.pl: Handle @end ftable and @end vtable.
+
+       2001-12-12  Matthias Klose  <doko@debian.org>
+
+       * texi2pod.pl: Merge changes from binutils' texi2pod.pl. Allows
+       generation of more than one man page from one source.
+       Add '-' to set of valid chars for an identifier.
+       Let -D option accept flags of the form <flag>=<value>.
+       Use \s+ for whitespace detection in '@c man' lines.
+       Handle @set and @clear independent of $output.
+       Substitute all @value{}'s in a line.
+
+       2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * texi2pod.pl: Handle @ifnottex, @iftex and @display.  Handle @var
+       in verbatim blocks specially.  Handle @unnumbered, @unnumberedsec
+       and @center.  Allow [a-z] after @enumerate.  Handle 0 and numbers
+       greater than 9 in enumerations.
+
+       2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * texi2pod.pl: Handle @r inside @item.
+
 2002-02-27  Andrew Cagney  <ac131313@redhat.com>
 
        * fdl.texi: New file.
@@ -19,7 +47,7 @@
 
        * add-log.el, add-log.vi: New files.
 
-Wed Jan 20 01:33:50 1999  Angela Marie Thomas (angela@cygnus.com)
+1999-01-20  Angela Marie Thomas (angela@cygnus.com)
 
        * comp-tools-verify: Remove some checks that are no longer valid.
 
@@ -27,16 +55,16 @@ Wed Jan 20 01:33:50 1999  Angela Marie Thomas (angela@cygnus.com)
 
        * targetdoc/fr30.texi: New document.
        
-Thu Oct  1 21:15:59 1998  Angela Marie Thomas (angela@cygnus.com)
+1998-10-01  Angela Marie Thomas (angela@cygnus.com)
 
        * comp-tools-fix, cross-tools-fix: Replace /usr/include
        with ${FIXINCDIR}.
 
-Tue Aug 11 19:22:11 1998  Doug Evans  <devans@canuck.cygnus.com>
+1998-08-11  Doug Evans  <devans@canuck.cygnus.com>
 
        * make-rel-sym-tree (version): Update calculation.
 
-Fri Jun 12 21:34:01 1998  Ian Lance Taylor  <ian@cygnus.com>
+1998-06-12  Ian Lance Taylor  <ian@cygnus.com>
 
        * configure.texi: Various additions.
        * Makefile.in (TEXI2HTML, DVIPS): New variables.
@@ -51,7 +79,7 @@ Fri Jun 12 21:34:01 1998  Ian Lance Taylor  <ian@cygnus.com>
        * configbuild.ein: New file (EPS version of configbuild.fig).
        * configbuild.jin: New file (JPEG version of configbuild.fig).
 
-Wed Jun 10 14:41:25 1998  Ian Lance Taylor  <ian@cygnus.com>
+1998-06-10  Ian Lance Taylor  <ian@cygnus.com>
 
        * configure.texi: New file.
        * configdev.tin: New file.
index e6ad9f92d503dd631d6bec38551de02fcb4e64b2..bdc20e8118f3b48d087c6eda4745defd158c82e2 100644 (file)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
-#   Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+#   Copyright (C) 1999, 2000, 2001, 200 Free Software Foundation, Inc.
 
 # This file is part of GNU CC.
 
@@ -30,9 +30,12 @@ $section = "";
 @icstack = ();
 @endwstack = ();
 @skstack = ();
+@instack = ();
 $shift = "";
 %defs = ();
 $fnno = 1;
+$inf = "";
+$ibase = "";
 
 while ($_ = shift) {
     if (/^-D(.*)$/) {
@@ -41,15 +44,13 @@ while ($_ = shift) {
        } else {
            $flag = shift;
        }
-       $value=$flag;
-       $value =~ s,^[a-zA-Z0-9_]+,,;
-       $value =~ s,.*=,,;
-       $flag =~ s,=.*$,,;
+       $value = "";
+       ($flag, $value) = ($flag =~ /^([^=]+)(?:=(.+))?/);
        die "no flag specified for -D\n"
            unless $flag ne "";
-       #print STDERR "FL = $flag, V = $value\n";
+       die "flags may only contain letters, digits, hyphens, dashes and underscores\n"
+           unless $flag =~ /^[a-zA-Z0-9_-]+$/;
        $defs{$flag} = $value;
-
     } elsif (/^-/) {
        usage();
     } else {
@@ -60,14 +61,19 @@ while ($_ = shift) {
 }
 
 if (defined $in) {
-    open(STDIN, $in) or die "opening \"$in\": $!\n";
+    $inf = gensym();
+    open($inf, "<$in") or die "opening \"$in\": $!\n";
+    $ibase = $1 if $in =~ m|^(.+)/[^/]+$|;
+} else {
+    $inf = \*STDIN;
 }
+
 if (defined $out) {
     open(STDOUT, ">$out") or die "opening \"$out\": $!\n";
 }
 
-while(<STDIN>)
-{
+while(defined $inf) {
+while(<$inf>) {
     # Certain commands are discarded without further processing.
     /^\@(?:
         [a-z]+index            # @*index: useful only in complete manual
@@ -75,8 +81,9 @@ while(<STDIN>)
         |(?:end\s+)?group      # @group .. @end group: ditto
         |page                  # @page: ditto
         |node                  # @node: useful only in .info file
+        |(?:end\s+)?ifnottex   # @ifnottex .. @end ifnottex: use contents
        )\b/x and next;
-    
+
     chomp;
 
     # Look for filename and title markers.
@@ -84,7 +91,7 @@ while(<STDIN>)
     /^\@settitle\s+([^.]+)/ and $tl = postprocess($1), next;
 
     # Identify a man title but keep only the one we are interested in.
-    /^\@c man title ([A-Za-z0-9]+) (.+)/ and do {
+    /^\@c\s+man\s+title\s+([A-Za-z0-9-]+)\s+(.+)/ and do {
        if (exists $defs{$1}) {
            $fn = $1;
            $tl = postprocess($2);
@@ -95,19 +102,30 @@ while(<STDIN>)
     # Look for blocks surrounded by @c man begin SECTION ... @c man end.
     # This really oughta be @ifman ... @end ifman and the like, but such
     # would require rev'ing all other Texinfo translators.
-    /^\@c man begin ([A-Z]+) ([A-Za-z0-9]+)/ and do {
+    /^\@c\s+man\s+begin\s+([A-Z]+)\s+([A-Za-z0-9-]+)/ and do {
        $output = 1 if exists $defs{$2};
         $sect = $1;
        next;
     };
-    /^\@c man begin ([A-Z]+)/ and $sect = $1, $output = 1, next;
-    /^\@c man end/ and do {
+    /^\@c\s+man\s+begin\s+([A-Z]+)/ and $sect = $1, $output = 1, next;
+    /^\@c\s+man\s+end/ and do {
        $sects{$sect} = "" unless exists $sects{$sect};
        $sects{$sect} .= postprocess($section);
        $section = "";
        $output = 0;
        next;
     };
+
+    # handle variables
+    /^\@set\s+([a-zA-Z0-9_-]+)\s*(.*)$/ and do {
+       $defs{$1} = $2;
+       next;
+    };
+    /^\@clear\s+([a-zA-Z0-9_-]+)/ and do {
+       delete $defs{$1};
+       next;
+    };
+
     next unless $output;
 
     # Discard comments.  (Can't do it above, because then we'd never see
@@ -120,20 +138,20 @@ while(<STDIN>)
        # Ignore @end foo, where foo is not an operation which may
        # cause us to skip, if we are presently skipping.
        my $ended = $1;
-       next if $skipping && $ended !~ /^(?:ifset|ifclear|ignore|menu)$/;
+       next if $skipping && $ended !~ /^(?:ifset|ifclear|ignore|menu|iftex)$/;
 
        die "\@end $ended without \@$ended at line $.\n" unless defined $endw;
        die "\@$endw ended by \@end $ended at line $.\n" unless $ended eq $endw;
 
        $endw = pop @endwstack;
 
-       if ($ended =~ /^(?:ifset|ifclear|ignore|menu)$/) {
+       if ($ended =~ /^(?:ifset|ifclear|ignore|menu|iftex)$/) {
            $skipping = pop @skstack;
            next;
-       } elsif ($ended =~ /^(?:example|smallexample)$/) {
+       } elsif ($ended =~ /^(?:example|smallexample|display)$/) {
            $shift = "";
            $_ = "";    # need a paragraph break
-       } elsif ($ended =~ /^(?:itemize|enumerate|table)$/) {
+       } elsif ($ended =~ /^(?:itemize|enumerate|[fv]?table)$/) {
            $_ = "\n=back\n";
            $ic = pop @icstack;
        } else {
@@ -160,7 +178,7 @@ while(<STDIN>)
        next;
     };
 
-    /^\@(ignore|menu)\b/ and do {
+    /^\@(ignore|menu|iftex)\b/ and do {
        push @endwstack, $endw;
        push @skstack, $skipping;
        $endw = $1;
@@ -189,6 +207,12 @@ while(<STDIN>)
     s/\@\{/&lbrace;/g;
     s/\@\}/&rbrace;/g;
     s/\@\@/&at;/g;
+
+    # Inside a verbatim block, handle @var specially.
+    if ($shift ne "") {
+       s/\@var\{([^\}]*)\}/<$1>/g;
+    }
+
     # POD doesn't interpret E<> inside a verbatim block.
     if ($shift eq "") {
        s/</&lt;/g;
@@ -199,11 +223,22 @@ while(<STDIN>)
     }
 
     # Single line command handlers.
-    /^\@set\s+([a-zA-Z0-9_-]+)\s*(.*)$/ and $defs{$1} = $2, next;
-    /^\@clear\s+([a-zA-Z0-9_-]+)/ and delete $defs{$1}, next;
 
-    /^\@section\s+(.+)$/ and $_ = "\n=head2 $1\n";
-    /^\@subsection\s+(.+)$/ and $_ = "\n=head3 $1\n";
+    /^\@include\s+(.+)$/ and do {
+       push @instack, $inf;
+       $inf = gensym();
+
+       # Try cwd and $ibase.
+       open($inf, "<" . $1) 
+           or open($inf, "<" . $ibase . "/" . $1)
+               or die "cannot open $1 or $ibase/$1: $!\n";
+       next;
+    };
+
+    /^\@(?:section|unnumbered|unnumberedsec|center)\s+(.+)$/
+       and $_ = "\n=head2 $1\n";
+    /^\@subsection\s+(.+)$/
+       and $_ = "\n=head3 $1\n";
 
     # Block command handlers:
     /^\@itemize\s+(\@[a-z]+|\*|-)/ and do {
@@ -214,7 +249,7 @@ while(<STDIN>)
        $endw = "itemize";
     };
 
-    /^\@enumerate(?:\s+([A-Z0-9]+))?/ and do {
+    /^\@enumerate(?:\s+([a-zA-Z0-9]+))?/ and do {
        push @endwstack, $endw;
        push @icstack, $ic;
        if (defined $1) {
@@ -226,19 +261,19 @@ while(<STDIN>)
        $endw = "enumerate";
     };
 
-    /^\@table\s+(\@[a-z]+)/ and do {
+    /^\@([fv]?table)\s+(\@[a-z]+)/ and do {
        push @endwstack, $endw;
        push @icstack, $ic;
-       $ic = $1;
+       $endw = $1;
+       $ic = $2;
        $ic =~ s/\@(?:samp|strong|key|gcctabopt|env)/B/;
        $ic =~ s/\@(?:code|kbd)/C/;
        $ic =~ s/\@(?:dfn|var|emph|cite|i)/I/;
        $ic =~ s/\@(?:file)/F/;
        $_ = "\n=over 4\n";
-       $endw = "table";
     };
 
-    /^\@((?:small)?example)/ and do {
+    /^\@((?:small)?example|display)/ and do {
        push @endwstack, $endw;
        $endw = $1;
        $shift = "\t";
@@ -251,12 +286,17 @@ while(<STDIN>)
            $_ = "\n=item $ic\&LT;$1\&GT;\n";
        } else {
            $_ = "\n=item $ic\n";
-           $ic =~ y/A-Ya-y1-8/B-Zb-z2-9/;
+           $ic =~ y/A-Ya-y/B-Zb-z/;
+           $ic =~ s/(\d+)/$1 + 1/eg;
        }
     };
 
     $section .= $shift.$_."\n";
 }
+# End of current file.
+close($inf);
+$inf = pop @instack;
+}
 
 die "No filename or title\n" unless defined $fn && defined $tl;
 
@@ -284,13 +324,15 @@ sub postprocess
     local $_ = $_[0];
 
     # @value{foo} is replaced by whatever 'foo' is defined as.
-    if (/\@value\{([a-zA-Z0-9_-]+)\}/) {
-       if (! exists $defs{$1}) {
-           print STDERR "Option $1 not define\n";
+    while (m/(\@value\{([a-zA-Z0-9_-]+)\})/g) {
+       if (! exists $defs{$2}) {
+           print STDERR "Option $2 not defined\n";
+           s/\Q$1\E//;
+       } else {
+           $value = $defs{$2};
+           s/\Q$1\E/$value/;
        }
-
     }
-    s/\@value\{([a-zA-Z0-9_-]+)\}/$defs{$1}/g;
 
     # Formatting commands.
     # Temporary escape for @r.
@@ -303,9 +345,6 @@ sub postprocess
     s/\@w\{([^\}]*)\}/S<$1>/g;
     s/\@(?:dmn|math)\{([^\}]*)\}/$1/g;
 
-    # Handle @r inside bold.
-    1 while s/B<((?:[^<>]|I<[^<>]*>)*)R<([^>]*)>/B<$1>${2}B</g;
-
     # Cross references are thrown away, as are @noindent and @refill.
     # (@noindent is impossible in .pod, and @refill is unnecessary.)
     # @* is also impossible in .pod; we discard it and any newline that
@@ -327,9 +366,11 @@ sub postprocess
     s/\@uref\{([^\},]*),([^\},]*),([^\},]*)\}/$3/g;
 
     # Turn B<blah I<blah> blah> into B<blah> I<blah> B<blah> to
-    # match Texinfo semantics of @emph inside @samp.
+    # match Texinfo semantics of @emph inside @samp.  Also handle @r
+    # inside bold.
     s/&LT;/</g;
     s/&GT;/>/g;
+    1 while s/B<((?:[^<>]|I<[^<>]*>)*)R<([^>]*)>/B<$1>${2}B</g;
     1 while (s/B<([^<>]*)I<([^>]+)>/B<$1>I<$2>B</g);
     1 while (s/I<([^<>]*)B<([^>]+)>/I<$1>B<$2>I</g);
     s/[BI]<>//g;
@@ -372,4 +413,15 @@ sub add_footnote
     $sects{FOOTNOTES} .= $_[0];
     $sects{FOOTNOTES} .= "\n\n";
 }
-    
+
+# stolen from Symbol.pm
+{
+    my $genseq = 0;
+    sub gensym
+    {
+       my $name = "GEN" . $genseq++;
+       my $ref = \*{$name};
+       delete $::{$name};
+       return $ref;
+    }
+}
index d64d48cae28b189dfcaa7f58137bd2086f0cb039..cae894a540dab95466ef42f1eba595f4bb2d5353 100644 (file)
@@ -1,3 +1,75 @@
+2002-07-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf/common.h (SHT_GNU_LIBLIST, DT_GNU_PRELINKED,
+       DT_GNU_CONFLICT*, DT_GNU_LIBLIST*): Define.
+
+2002-07-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * bfdlink.h (struct bfd_sym_chain): Declare.
+       (struct bfd_link_info): Add gc_sym_list.  Formatting fixes.
+
+2002-06-25  Alan Modra  <amodra@bigpond.net.au>
+
+       * demangle.h: #include "ansidecl.h" rather than #include <ansidecl.h>.
+       * fibheap.h: Likewise.
+       * hashtab.h: Likewise.
+       * partition.h: Likewise.
+       * sort.h: Likewise.
+       * splay-tree.h: Likewise.
+
+2002-06-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME.
+       * getopt.h (getopt): Don't declare if HAVE_DECL_GETOPT.
+
+2002-06-18  Dave Brolley  <brolley@redhat.com>
+
+       From Catherine Moore:
+       * dis-asm.h (print_insn_frv): New prototype.
+
+2002-06-09  Andrew Cagney  <cagney@redhat.com>
+
+       * remote-sim.h: Move to directory gdb/.
+       * callback.h: Move to directory gdb/.
+
+2002-06-07  Charles Wilson  <cwilson@ece.gatech.edu>
+
+       * bfdlink.h (struct bfd_link_info): Change type of
+       pei386_auto_import field to int so that -1 can mean enabled by
+       default and 1 can mean enabled by command line switch.
+
+2002-06-06  DJ Delorie  <dj@redhat.com>
+
+       * hashtab.h (htab): Rearrange new members for backward
+       compatibility.
+       (htab_create): Don't use a macro that requires other headers.
+
+2002-06-05  Geoffrey Keating  <geoffk@redhat.com>
+
+       * hashtab.h (htab_create): Restore prototype for backward
+       compatibility.
+       (htab_try_create): Likewise.
+
+2002-05-22  Geoffrey Keating  <geoffk@redhat.com>
+
+       * hashtab.h (struct htab): Update for change to length specifier.
+
+2002-05-10  Geoffrey Keating  <geoffk@redhat.com>
+
+       * hashtab.h (GTY): Define if undefined.
+       (htab_alloc): New typedef.
+       (htab_free): New typedef.
+       (struct htab): Support gengtype; allow user-specified memory
+       allocation.
+       (htab_create_alloc): New.
+       (htab_create): Replace with #define.
+       (htab_try_create): Delete.
+
+2002-05-31  Michal Ludvig  <mludvig@suse.cz>
+
+       * elf/dwarf2.h (DW_CFA_low_user, DW_CFA_high_user): Renamed
+       to DW_CFA_lo_user, DW_CFA_hi_user respectively.
+       
 2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
 
        * dis-asm.h: Prototype print_insn_dlx.
index b1411c381eea8340046c66cd3c3f0e9cab510df7..63f5ecd74c44e09ecdfd7a4aa4843e7710abd0b6 100644 (file)
@@ -3,21 +3,21 @@
    Free Software Foundation, Inc.
    Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support.
 
-This file is part of BFD, the Binary File Descriptor library.
+   This file is part of BFD, the Binary File Descriptor library.
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 #ifndef BFDLINK_H
 #define BFDLINK_H
@@ -183,6 +183,12 @@ extern void bfd_link_hash_traverse
 /* Add an entry to the undefs list.  */
 extern void bfd_link_add_undef
   PARAMS ((struct bfd_link_hash_table *, struct bfd_link_hash_entry *));
+
+struct bfd_sym_chain
+{
+  struct bfd_sym_chain *next;
+  const char *name;
+};
 \f
 /* This structure holds all the information needed to communicate
    between BFD and the linker when doing a link.  */
@@ -191,33 +197,46 @@ struct bfd_link_info
 {
   /* Function callbacks.  */
   const struct bfd_link_callbacks *callbacks;
+
   /* true if BFD should generate a relocateable object file.  */
   boolean relocateable;
-  /* true if BFD should generate relocation information in the final executable.  */
+
+  /* true if BFD should generate relocation information in the final
+     executable.  */
   boolean emitrelocations;
+
   /* true if BFD should generate a "task linked" object file,
-     similar to relocatable but also with globals converted to statics. */
+     similar to relocatable but also with globals converted to
+     statics.  */
   boolean task_link;
+
   /* true if BFD should generate a shared object.  */
   boolean shared;
+
   /* true if BFD should pre-bind symbols in a shared object.  */
   boolean symbolic;
+
   /* true if BFD should export all symbols in the dynamic symbol table
      of an executable, rather than only those used.  */
   boolean export_dynamic;
+
   /* true if shared objects should be linked directly, not shared.  */
   boolean static_link;
+
   /* true if the output file should be in a traditional format.  This
      is equivalent to the setting of the BFD_TRADITIONAL_FORMAT flag
      on the output file, but may be checked when reading the input
      files.  */
   boolean traditional_format;
+
   /* true if we want to produced optimized output files.  This might
      need much more time and therefore must be explicitly selected.  */
   boolean optimize;
+
   /* true if BFD should generate errors for undefined symbols
      even if generating a shared object.  */
   boolean no_undefined;
+
   /* true if BFD should allow undefined symbols in shared objects even
      when no_undefined is set to disallow undefined symbols.  The net
      result will be that undefined symbols in regular objects will
@@ -231,39 +250,55 @@ struct bfd_link_info
      select an appropriate memset function.  Apparently it is also
      normal for HPPA shared libraries to have undefined symbols.  */
   boolean allow_shlib_undefined;
-  /* True if ok to have multiple definition.  */
+
+  /* true if ok to have multiple definition.  */
   boolean allow_multiple_definition;
+
   /* Which symbols to strip.  */
   enum bfd_link_strip strip;
+
   /* Which local symbols to discard.  */
   enum bfd_link_discard discard;
+
   /* true if symbols should be retained in memory, false if they
      should be freed and reread.  */
   boolean keep_memory;
+
   /* The list of input BFD's involved in the link.  These are chained
      together via the link_next field.  */
   bfd *input_bfds;
+
   /* If a symbol should be created for each input BFD, this is section
      where those symbols should be placed.  It must be a section in
      the output BFD.  It may be NULL, in which case no such symbols
      will be created.  This is to support CREATE_OBJECT_SYMBOLS in the
      linker command language.  */
   asection *create_object_symbols_section;
+
+  /* List of global symbol names that are starting points for marking
+     sections against garbage collection.  */
+  struct bfd_sym_chain *gc_sym_list;
+
   /* Hash table handled by BFD.  */
   struct bfd_link_hash_table *hash;
+
   /* Hash table of symbols to keep.  This is NULL unless strip is
      strip_some.  */
   struct bfd_hash_table *keep_hash;
+
   /* true if every symbol should be reported back via the notice
      callback.  */
   boolean notice_all;
+
   /* Hash table of symbols to report back via the notice callback.  If
      this is NULL, and notice_all is false, then no symbols are
      reported back.  */
   struct bfd_hash_table *notice_hash;
+
   /* Hash table of symbols which are being wrapped (the --wrap linker
      option).  If this is NULL, no symbols are being wrapped.  */
   struct bfd_hash_table *wrap_hash;
+
   /* If a base output file is wanted, then this points to it */
   PTR base_file;
 
@@ -275,6 +310,7 @@ struct bfd_link_info
   /* The function to call when the executable or shared object is
      loaded.  */
   const char *init_function;
+
   /* The function to call when the executable or shared object is
      unloaded.  */
   const char *fini_function;
@@ -288,9 +324,10 @@ struct bfd_link_info
   /* May be used to set DT_FLAGS_1 for ELF. */
   bfd_vma flags_1;
 
-  /* True if auto-import thunks for DATA items in pei386 DLLs 
-     should be generated/linked against.  */
-  boolean pei386_auto_import;
+  /* Non-zero if auto-import thunks for DATA items in pei386 DLLs 
+     should be generated/linked against.  Set to 1 if this feature
+     is explicitly requested by the user, -1 if enabled by default.  */
+  int pei386_auto_import;
 
   /* True if non-PLT relocs should be merged into one reloc section
      and sorted so that relocs against the same symbol come together.  */
diff --git a/include/callback.h b/include/callback.h
deleted file mode 100644 (file)
index 3075284..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-/* Remote target system call callback support.
-   Copyright 1997 Free Software Foundation, Inc.
-   Contributed by Cygnus Solutions.
-
-This file is part of GDB.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-/* This interface isn't intended to be specific to any particular kind
-   of remote (hardware, simulator, whatever).  As such, support for it
-   (e.g. sim/common/callback.c) should *not* live in the simulator source
-   tree, nor should it live in the gdb source tree.  */
-
-/* There are various ways to handle system calls:
-
-   1) Have a simulator intercept the appropriate trap instruction and
-   directly perform the system call on behalf of the target program.
-   This is the typical way of handling system calls for embedded targets.
-   [Handling system calls for embedded targets isn't that much of an
-   oxymoron as running compiler testsuites make use of the capability.]
-
-   This method of system call handling is done when STATE_ENVIRONMENT
-   is ENVIRONMENT_USER.
-
-   2) Have a simulator emulate the hardware as much as possible.
-   If the program running on the real hardware communicates with some sort
-   of target manager, one would want to be able to run this program on the
-   simulator as well.
-
-   This method of system call handling is done when STATE_ENVIRONMENT
-   is ENVIRONMENT_OPERATING.
-*/
-
-#ifndef CALLBACK_H
-#define CALLBACK_H
-
-/* ??? The reason why we check for va_start here should be documented.  */
-
-#ifndef va_start
-#include <ansidecl.h>
-#ifdef ANSI_PROTOTYPES
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-#endif
-\f
-/* Mapping of host/target values.  */
-/* ??? For debugging purposes, one might want to add a string of the
-   name of the symbol.  */
-
-typedef struct {
-  int host_val;
-  int target_val;
-} CB_TARGET_DEFS_MAP;
-
-#define MAX_CALLBACK_FDS 10
-
-/* Forward decl for stat/fstat.  */
-struct stat;
-
-typedef struct host_callback_struct host_callback;
-
-struct host_callback_struct 
-{
-  int (*close) PARAMS ((host_callback *,int));
-  int (*get_errno) PARAMS ((host_callback *));
-  int (*isatty) PARAMS ((host_callback *, int));
-  int (*lseek) PARAMS ((host_callback *, int, long , int));
-  int (*open) PARAMS ((host_callback *, const char*, int mode));
-  int (*read) PARAMS ((host_callback *,int,  char *, int));
-  int (*read_stdin) PARAMS (( host_callback *, char *, int));
-  int (*rename) PARAMS ((host_callback *, const char *, const char *));
-  int (*system) PARAMS ((host_callback *, const char *));
-  long (*time) PARAMS ((host_callback *, long *));
-  int (*unlink) PARAMS ((host_callback *, const char *));
-  int (*write) PARAMS ((host_callback *,int, const char *, int));
-  int (*write_stdout) PARAMS ((host_callback *, const char *, int));
-  void (*flush_stdout) PARAMS ((host_callback *));
-  int (*write_stderr) PARAMS ((host_callback *, const char *, int));
-  void (*flush_stderr) PARAMS ((host_callback *));
-  int (*stat) PARAMS ((host_callback *, const char *, struct stat *));
-  int (*fstat) PARAMS ((host_callback *, int, struct stat *));
-
-  /* When present, call to the client to give it the oportunity to
-     poll any io devices for a request to quit (indicated by a nonzero
-     return value). */
-  int (*poll_quit) PARAMS ((host_callback *));
-
-  /* Used when the target has gone away, so we can close open
-     handles and free memory etc etc.  */
-  int (*shutdown) PARAMS ((host_callback *));
-  int (*init)     PARAMS ((host_callback *));
-
-  /* depreciated, use vprintf_filtered - Talk to the user on a console.  */
-  void (*printf_filtered) PARAMS ((host_callback *, const char *, ...));
-
-  /* Talk to the user on a console.  */
-  void (*vprintf_filtered) PARAMS ((host_callback *, const char *, va_list));
-
-  /* Same as vprintf_filtered but to stderr.  */
-  void (*evprintf_filtered) PARAMS ((host_callback *, const char *, va_list));
-
-  /* Print an error message and "exit".
-     In the case of gdb "exiting" means doing a longjmp back to the main
-     command loop.  */
-  void (*error) PARAMS ((host_callback *, const char *, ...));
-
-  int last_errno;              /* host format */
-
-  int fdmap[MAX_CALLBACK_FDS];
-  char fdopen[MAX_CALLBACK_FDS];
-  char alwaysopen[MAX_CALLBACK_FDS];
-
-  /* System call numbers.  */
-  CB_TARGET_DEFS_MAP *syscall_map;
-  /* Errno values.  */
-  CB_TARGET_DEFS_MAP *errno_map;
-  /* Flags to the open system call.  */
-  CB_TARGET_DEFS_MAP *open_map;
-  /* Signal numbers.  */
-  CB_TARGET_DEFS_MAP *signal_map;
-  /* Layout of `stat' struct.
-     The format is a series of "name,length" pairs separated by colons.
-     Empty space is indicated with a `name' of "space".
-     All padding must be explicitly mentioned.
-     Lengths are in bytes.  If this needs to be extended to bits,
-     use "name.bits".
-     Example: "st_dev,4:st_ino,4:st_mode,4:..."  */
-  const char *stat_map;
-
-  /* Marker for those wanting to do sanity checks.
-     This should remain the last member of this struct to help catch
-     miscompilation errors. */
-#define HOST_CALLBACK_MAGIC 4705 /* teds constant */
-  int magic;
-};
-
-extern host_callback default_callback;
-\f
-/* Canonical versions of system call numbers.
-   It's not intended to willy-nilly throw every system call ever heard
-   of in here.  Only include those that have an important use.
-   ??? One can certainly start a discussion over the ones that are currently
-   here, but that will always be true.  */
-
-/* These are used by the ANSI C support of libc.  */
-#define        CB_SYS_exit     1
-#define        CB_SYS_open     2
-#define        CB_SYS_close    3
-#define        CB_SYS_read     4
-#define        CB_SYS_write    5
-#define        CB_SYS_lseek    6
-#define        CB_SYS_unlink   7
-#define        CB_SYS_getpid   8
-#define        CB_SYS_kill     9
-#define CB_SYS_fstat    10
-/*#define CB_SYS_sbrk  11 - not currently a system call, but reserved.  */
-
-/* ARGV support.  */
-#define CB_SYS_argvlen 12
-#define CB_SYS_argv    13
-
-/* These are extras added for one reason or another.  */
-#define CB_SYS_chdir   14
-#define CB_SYS_stat    15
-#define CB_SYS_chmod   16
-#define CB_SYS_utime   17
-#define CB_SYS_time    18
-\f
-/* Struct use to pass and return information necessary to perform a
-   system call.  */
-/* FIXME: Need to consider target word size.  */
-
-typedef struct cb_syscall {
-  /* The target's value of what system call to perform.  */
-  int func;
-  /* The arguments to the syscall.  */
-  long arg1, arg2, arg3, arg4;
-
-  /* The result.  */
-  long result;
-  /* Some system calls have two results.  */
-  long result2;
-  /* The target's errno value, or 0 if success.
-     This is converted to the target's value with host_to_target_errno.  */
-  int errcode;
-
-  /* Working space to be used by memory read/write callbacks.  */
-  PTR p1;
-  PTR p2;
-  long x1,x2;
-
-  /* Callbacks for reading/writing memory (e.g. for read/write syscalls).
-     ??? long or unsigned long might be better to use for the `count'
-     argument here.  We mimic sim_{read,write} for now.  Be careful to
-     test any changes with -Wall -Werror, mixed signed comparisons
-     will get you.  */
-  int (*read_mem) PARAMS ((host_callback * /*cb*/, struct cb_syscall * /*sc*/,
-                          unsigned long /*taddr*/, char * /*buf*/,
-                          int /*bytes*/));
-  int (*write_mem) PARAMS ((host_callback * /*cb*/, struct cb_syscall * /*sc*/,
-                           unsigned long /*taddr*/, const char * /*buf*/,
-                           int /*bytes*/));
-
-  /* For sanity checking, should be last entry.  */
-  int magic;
-} CB_SYSCALL;
-
-/* Magic number sanity checker.  */
-#define CB_SYSCALL_MAGIC 0x12344321
-
-/* Macro to initialize CB_SYSCALL.  Called first, before filling in
-   any fields.  */
-#define CB_SYSCALL_INIT(sc) \
-do { \
-  memset ((sc), 0, sizeof (*(sc))); \
-  (sc)->magic = CB_SYSCALL_MAGIC; \
-} while (0)
-\f
-/* Return codes for various interface routines.  */
-
-typedef enum {
-  CB_RC_OK = 0,
-  /* generic error */
-  CB_RC_ERR,
-  /* either file not found or no read access */
-  CB_RC_ACCESS,
-  CB_RC_NO_MEM
-} CB_RC;
-
-/* Read in target values for system call numbers, errno values, signals.  */
-CB_RC cb_read_target_syscall_maps PARAMS ((host_callback *, const char *));
-
-/* Translate target to host syscall function numbers.  */
-int cb_target_to_host_syscall PARAMS ((host_callback *, int));
-
-/* Translate host to target errno value.  */
-int cb_host_to_target_errno PARAMS ((host_callback *, int));
-
-/* Translate target to host open flags.  */
-int cb_target_to_host_open PARAMS ((host_callback *, int));
-
-/* Translate target signal number to host.  */
-int cb_target_to_host_signal PARAMS ((host_callback *, int));
-
-/* Translate host signal number to target.  */
-int cb_host_to_target_signal PARAMS ((host_callback *, int));
-
-/* Translate host stat struct to target.
-   If stat struct ptr is NULL, just compute target stat struct size.
-   Result is size of target stat struct or 0 if error.  */
-int cb_host_to_target_stat PARAMS ((host_callback *, const struct stat *, PTR));
-
-/* Perform a system call.  */
-CB_RC cb_syscall PARAMS ((host_callback *, CB_SYSCALL *));
-
-#endif
index ad0569a0d572cf01487d7c6e0ca0bad3b0ccfc41..21e9dd33820c14444ae8cea69a9ae2d9878049a1 100644 (file)
@@ -1,5 +1,5 @@
 /* Defs for interface to demanglers.
-   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001
+   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002
    Free Software Foundation, Inc.
    
    This program is free software; you can redistribute it and/or modify
@@ -21,7 +21,7 @@
 #if !defined (DEMANGLE_H)
 #define DEMANGLE_H
 
-#include <ansidecl.h>
+#include "ansidecl.h"
 
 /* Options passed to cplus_demangle (in 2nd parameter). */
 
index 8d38f7e8d2bade3b663ae3f1a0cf4add412e44a9..e036fef0be10eb06f9392d92e005f54fc4a33509 100644 (file)
@@ -236,6 +236,7 @@ extern int print_insn_w65           PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_xstormy16                PARAMS ((bfd_vma, disassemble_info*));
 extern int print_insn_sh64             PARAMS ((bfd_vma, disassemble_info *));
 extern int print_insn_sh64x_media      PARAMS ((bfd_vma, disassemble_info *));
+extern int print_insn_frv              PARAMS ((bfd_vma, disassemble_info *));
 
 extern disassembler_ftype arc_get_disassembler PARAMS ((void *));
 extern disassembler_ftype cris_get_disassembler PARAMS ((bfd *));
index 1deec0daa902d7f2e45a4ef34b335e0082a35517..3e64a32c0c05f660908a15733b9dfa71554a1484 100644 (file)
@@ -1,3 +1,40 @@
+2002-07-01  Matt Thomas  <matt@3am-software.com>
+
+       * vax.h: Rename EF_* to EF_VAX_*.
+
+2002-06-18  Dave Brolley  <brolley@redhat.com>
+
+       From Catherine Moore, Michael Meissner, Dave Brolley:
+       * common.h (EM_CYGNUS_FRV): New macro.
+       * frv.h: New file.
+
+2002-06-06  Lars Brinkhoff  <lars@nocrew.org>
+
+       * common.h: Change registry@sco.com to registry@caldera.com.
+       (EM_PDP10, EM_PDP11): Define.
+
+2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * sh.h (_bfd_sh64_crange_qsort_cmpb, _bfd_sh64_crange_qsort_cmpl)
+       (_bfd_sh64_crange_bsearch_cmpb, _bfd_sh64_crange_bsearch_cmpl): New
+       prototypes.
+
+2002-06-01  Richard Henderson  <rth@redhat.com>
+
+       * alpha.h (LITUSE_ALPHA_ADDR, LITUSE_ALPHA_BASE, LITUSE_ALPHA_BYTOFF,
+       LITUSE_ALPHA_JSR, LITUSE_ALPHA_TLSGD, LITUSE_ALPHA_TLSLDM): New.
+
+2002-05-30  Richard Henderson  <rth@redhat.com>
+
+       * alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64,
+       R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI,
+       R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64,
+       R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New.
+
+2002-05-29  Matt Thomas  <matt@3am-software.com>
+
+       * vax.h: New file
+
 2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
 
        * common.h (EM_DLX): Define.
@@ -8,8 +45,8 @@
        * common.h (NT_GNU_ABI_TAG): Define.
        (GNU_ABI_TAG_LINUX): Define.
        (GNU_ABI_TAG_HURD): Define.
-       (GNU_ABI_TAG_SOLARIS): Define. 
-       (NT_NETBSD_IDENT): Define.  
+       (GNU_ABI_TAG_SOLARIS): Define.
+       (NT_NETBSD_IDENT): Define.
        (NT_FREEBSD_ABI_TAG): Define.
 
 2002-04-24  Elena Zannoni  <ezannoni@redhat.com>
 
        * common.h: Update copyright years.
        (NT_NETBSDCORE_PROCINFO): Define.
-       (NT_NETBSDCORE_FIRSTMACH): Define. 
+       (NT_NETBSDCORE_FIRSTMACH): Define.
 
 2002-01-06  Steve Ellcey  <sje@cup.hp.com>
 
 
 2000-10-16  Chris Demetriou  <cgd@sibyte.com>
 
-        * mips.h (E_MIPS_ARCH_32): New constant.
-        (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the
-        former with the latter.
+       * mips.h (E_MIPS_ARCH_32): New constant.
+       (E_MIPS_MACH_MIPS32, E_MIPS_MACH_MIPS32_4K): Replace the
+       former with the latter.
 
-        * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions.
+       * mips.h (E_MIPS_ARCH_5, E_MIPS_ARCH_64): New definitions.
 
-        * mips.h (E_MIPS_MACH_SB1): New constant.
+       * mips.h (E_MIPS_MACH_SB1): New constant.
 
 2000-11-30  Jan Hubicka  <jh@suse.cz>
 
-        * common.h (EM_X86_64): New macro.
-        * x86-64.h: New file.
+       * common.h (EM_X86_64): New macro.
+       * x86-64.h: New file.
 
 2000-11-27  Hans-Peter Nilsson  <hp@axis.com>
 
index e937b814788a58892f773bd8fe15b0adb18c945a..0313b5be6bb4c66113e632e913bcbba42b6f8f7c 100644 (file)
@@ -99,6 +99,28 @@ START_RELOC_NUMBERS (elf_alpha_reloc_type)
      STO_ALPHA_STD_GPLOAD.  */
   RELOC_NUMBER (R_ALPHA_BRSGP, 28)
 
+  /* Thread-Local Storage.  */
+  RELOC_NUMBER (R_ALPHA_TLSGD, 29)
+  RELOC_NUMBER (R_ALPHA_TLSLDM, 30)
+  RELOC_NUMBER (R_ALPHA_DTPMOD64, 31)
+  RELOC_NUMBER (R_ALPHA_GOTDTPREL, 32)
+  RELOC_NUMBER (R_ALPHA_DTPREL64, 33)
+  RELOC_NUMBER (R_ALPHA_DTPRELHI, 34)
+  RELOC_NUMBER (R_ALPHA_DTPRELLO, 35)
+  RELOC_NUMBER (R_ALPHA_DTPREL16, 36)
+  RELOC_NUMBER (R_ALPHA_GOTTPREL, 37)
+  RELOC_NUMBER (R_ALPHA_TPREL64, 38)
+  RELOC_NUMBER (R_ALPHA_TPRELHI, 39)
+  RELOC_NUMBER (R_ALPHA_TPRELLO, 40)
+  RELOC_NUMBER (R_ALPHA_TPREL16, 41)
+
 END_RELOC_NUMBERS (R_ALPHA_max)
 
+#define LITUSE_ALPHA_ADDR      0
+#define LITUSE_ALPHA_BASE      1
+#define LITUSE_ALPHA_BYTOFF    2
+#define LITUSE_ALPHA_JSR       3
+#define LITUSE_ALPHA_TLSGD     4
+#define LITUSE_ALPHA_TLSLDM    5
+
 #endif /* _ELF_ALPHA_H */
index 48e2f4ae5e891646ceeff6c17655714c57c67dce..4e1b50276c0f55b532af0606d06976b058116105 100644 (file)
@@ -92,7 +92,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define ET_HIPROC      0xFFFF  /* Processor-specific */
 
 /* Values for e_machine, which identifies the architecture.  These numbers
-   are officially assigned by registry@sco.com.  See below for a list of
+   are officially assigned by registry@caldera.com.  See below for a list of
    ad-hoc numbers used during initial development.  */
 
 #define EM_NONE                0       /* No machine */
@@ -145,6 +145,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define EM_TINYJ       61      /* Advanced Logic Corp. TinyJ embedded processor */
 #define EM_X86_64      62       /* Advanced Micro Devices X86-64 processor */
 
+#define EM_PDP10       64      /* Digital Equipment Corp. PDP-10 */
+#define EM_PDP11       65      /* Digital Equipment Corp. PDP-11 */
 #define EM_FX66               66       /* Siemens FX66 microcontroller */
 #define EM_ST9PLUS     67      /* STMicroelectronics ST9+ 8/16 bit microcontroller */
 #define EM_ST7        68       /* STMicroelectronics ST7 8-bit microcontroller */
@@ -184,7 +186,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    will have a collision.  Instead, pick a random number.
 
    Normally, each entity or maintainer responsible for a machine with an
-   unofficial e_machine number should eventually ask registry@sco.com for
+   unofficial e_machine number should eventually ask registry@caldera.com for
    an officially blessed number to be added to the list above.  */
 
 #define EM_PJ_OLD      99       /* picoJava */
@@ -242,6 +244,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 #define EM_XSTORMY16           0xad45
 
+/* FRV magic number - no EABI available??.  */
+#define EM_CYGNUS_FRV          0x5441
 /* See the above comment before you add a new EM_* value here.  */
 
 /* Values for e_version.  */
@@ -299,6 +303,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define SHT_LOOS        0x60000000      /* First of OS specific semantics */
 #define SHT_HIOS        0x6fffffff      /* Last of OS specific semantics */
 
+#define SHT_GNU_LIBLIST        0x6ffffff7      /* List of prelink dependencies */
+
 /* The next three section types are defined by Solaris, and are named
    SHT_SUNW*.  We use them in GNU code, so we also define SHT_GNU*
    versions.  */
@@ -516,6 +522,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    OS specific values.  This is a deliberate special case and we
    maintain it for backwards compatability.  */
 #define DT_VALRNGLO    0x6ffffd00
+#define DT_GNU_PRELINKED 0x6ffffdf5
+#define DT_GNU_CONFLICTSZ 0x6ffffdf6
+#define DT_GNU_LIBLISTSZ 0x6ffffdf7
 #define DT_CHECKSUM    0x6ffffdf8
 #define DT_PLTPADSZ    0x6ffffdf9
 #define DT_MOVEENT     0x6ffffdfa
@@ -527,6 +536,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define DT_VALRNGHI    0x6ffffdff
 
 #define DT_ADDRRNGLO   0x6ffffe00
+#define DT_GNU_CONFLICT        0x6ffffef8
+#define DT_GNU_LIBLIST 0x6ffffef9
 #define DT_CONFIG      0x6ffffefa
 #define DT_DEPAUDIT    0x6ffffefb
 #define DT_AUDIT       0x6ffffefc
index 750a7204ebffa2f191a784d53f56022278ae32ea..0e78310c69f391e47aa7f5a08af0e7a236fabcdf 100644 (file)
@@ -649,8 +649,8 @@ enum dwarf_call_frame_info
 #define DW_CIE_VERSION   1
 
 #define DW_CFA_extended   0
-#define DW_CFA_low_user   0x1c
-#define DW_CFA_high_user  0x3f
+#define DW_CFA_lo_user    0x1c
+#define DW_CFA_hi_user    0x3f
 
 #define DW_CHILDREN_no              0x00
 #define DW_CHILDREN_yes                     0x01
index 1480f490bd5dbc9e9711dfb878906b94fb866f64..af78c9bb04e76ff2308d55e577482579824d7037 100644 (file)
@@ -108,6 +108,11 @@ extern enum sh64_elf_cr_type sh64_get_contents_type
    FIXME: This seems redundant now that we export the interface above.  */
 extern boolean sh64_address_is_shmedia PARAMS ((asection *, bfd_vma));
 
+extern int _bfd_sh64_crange_qsort_cmpb PARAMS ((const void *, const void *));
+extern int _bfd_sh64_crange_qsort_cmpl PARAMS ((const void *, const void *));
+extern int _bfd_sh64_crange_bsearch_cmpb PARAMS ((const void *, const void *));
+extern int _bfd_sh64_crange_bsearch_cmpl PARAMS ((const void *, const void *));
+
 /* We put this in elf_section_data (section)->tdata.  */
 struct sh64_section_data
 {
index aba5d9f08a0cf63579e7a3caabd696983b8f1b7b..c1b5c2b30f2297ef613161049b4de5b5d29e0795 100644 (file)
@@ -44,8 +44,8 @@ START_RELOC_NUMBERS (elf_vax_reloc_type)
 END_RELOC_NUMBERS (R_VAX_max)   
 
 /* Processor specific flags for the ELF header e_flags field.  */
-#define EF_NONPIC              0x0001  /* Object contains non-PIC code */
-#define EF_DFLOAT              0x0100  /* Object contains D-Float insn.  */
-#define EF_GFLOAT              0x0200  /* Object contains G-Float insn.  */
+#define EF_VAX_NONPIC          0x0001  /* Object contains non-PIC code */
+#define EF_VAX_DFLOAT          0x0100  /* Object contains D-Float insn.  */
+#define EF_VAX_GFLOAT          0x0200  /* Object contains G-Float insn.  */
 
 #endif
index d109e4ad1635bf061c8777dc83c9d38fb115eabd..fc37f9ef635eb91b1366a17218046286786f851c 100644 (file)
@@ -1,5 +1,5 @@
 /* A Fibonacci heap datatype.
-   Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+   Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    Contributed by Daniel Berlin (dan@cgsoftware.com).
 
 This file is part of GCC.
@@ -40,7 +40,7 @@ Boston, MA 02111-1307, USA.  */
 #ifndef _FIBHEAP_H_
 #define _FIBHEAP_H_
 
-#include <ansidecl.h>
+#include "ansidecl.h"
 
 typedef long fibheapkey_t;
 
index e0992c95aba205317777006edfdf649114e4b209..29a5af9b67487a8879605965a35a491ce077f627 100644 (file)
@@ -1,3 +1,21 @@
+2002-06-15  Andrew Cagney  <ac131313@redhat.com>
+
+       * sim-arm.h (enum sim_arm_regs): Rename sim_arm_regnum.
+
+2002-06-12  Andrew Cagney  <ac131313@redhat.com>
+
+       * sim-arm.h: New file.
+
+2002-06-08  Andrew Cagney  <cagney@redhat.com>
+
+       * callback.h: Copy to here from directory above.
+       * remote-sim.h: Copy to here from directory above.
+
+2002-06-01  Andrew Cagney  <ac131313@redhat.com>
+
+       * sim-d10v.h (sim_d10v_regs): Expand to include all registers.
+       Update copyright.
+
 2002-05-23  Andrew Cagney  <ac131313@redhat.com>
 
        * sim-d10v.h: New file.  Moved from include/sim-d10v.h.
index 9d29e05841b01a77cd68d91b298a33e657e82267..f153a419478cab1cda153ae27b4b6d54dc9d5d4a 100644 (file)
@@ -1,5 +1,6 @@
 /* This file defines the interface between the d10v simulator and gdb.
-   Copyright 1999 Free Software Foundation, Inc.
+
+   Copyright 1999, 2002 Free Software Foundation, Inc.
 
 This file is part of GDB.
 
@@ -75,26 +76,61 @@ extern unsigned long sim_d10v_translate_addr
 
 /* The simulator makes use of the following register information. */
 
+enum sim_d10v_regs
+{
+  SIM_D10V_R0_REGNUM,
+  SIM_D10V_R1_REGNUM,
+  SIM_D10V_R2_REGNUM,
+  SIM_D10V_R3_REGNUM,
+  SIM_D10V_R4_REGNUM,
+  SIM_D10V_R5_REGNUM,
+  SIM_D10V_R6_REGNUM,
+  SIM_D10V_R7_REGNUM,
+  SIM_D10V_R8_REGNUM,
+  SIM_D10V_R9_REGNUM,
+  SIM_D10V_R10_REGNUM,
+  SIM_D10V_R11_REGNUM,
+  SIM_D10V_R12_REGNUM,
+  SIM_D10V_R13_REGNUM,
+  SIM_D10V_R14_REGNUM,
+  SIM_D10V_R15_REGNUM,
+  SIM_D10V_CR0_REGNUM,
+  SIM_D10V_CR1_REGNUM,
+  SIM_D10V_CR2_REGNUM,
+  SIM_D10V_CR3_REGNUM,
+  SIM_D10V_CR4_REGNUM,
+  SIM_D10V_CR5_REGNUM,
+  SIM_D10V_CR6_REGNUM,
+  SIM_D10V_CR7_REGNUM,
+  SIM_D10V_CR8_REGNUM,
+  SIM_D10V_CR9_REGNUM,
+  SIM_D10V_CR10_REGNUM,
+  SIM_D10V_CR11_REGNUM,
+  SIM_D10V_CR12_REGNUM,
+  SIM_D10V_CR13_REGNUM,
+  SIM_D10V_CR14_REGNUM,
+  SIM_D10V_CR15_REGNUM,
+  SIM_D10V_A0_REGNUM,
+  SIM_D10V_A1_REGNUM,
+  SIM_D10V_SPI_REGNUM,
+  SIM_D10V_SPU_REGNUM,
+  SIM_D10V_IMAP0_REGNUM,
+  SIM_D10V_IMAP1_REGNUM,
+  SIM_D10V_DMAP0_REGNUM,
+  SIM_D10V_DMAP1_REGNUM,
+  SIM_D10V_DMAP2_REGNUM,
+  SIM_D10V_DMAP3_REGNUM,
+  SIM_D10V_TS2_DMAP_REGNUM
+};
+  
 enum
-  {
-    SIM_D10V_R0_REGNUM = 0,
-    SIM_D10V_CR0_REGNUM = 16,
-    SIM_D10V_A0_REGNUM = 32,
-    SIM_D10V_SPI_REGNUM = 34,
-    SIM_D10V_SPU_REGNUM = 35,
-    SIM_D10V_IMAP0_REGNUM = 36,
-    SIM_D10V_DMAP0_REGNUM = 38,
-    SIM_D10V_TS2_DMAP_REGNUM = 40
-  };
-
-enum
-  {
-    SIM_D10V_NR_R_REGS = 16,
-    SIM_D10V_NR_A_REGS = 2,
-    SIM_D10V_NR_IMAP_REGS = 2,
-    SIM_D10V_NR_DMAP_REGS = 4,
-    SIM_D10V_NR_CR_REGS = 16
-  };
+{
+  SIM_D10V_NR_R_REGS = 16,
+  SIM_D10V_NR_A_REGS = 2,
+  SIM_D10V_NR_IMAP_REGS = 2,
+  SIM_D10V_NR_DMAP_REGS = 4,
+  SIM_D10V_NR_CR_REGS = 16
+};
 
 #ifdef __cplusplus
 }
index cb5feba1160ca068ed985916914cc49be0299b4c..0c6470b3ddb9f1e12d1dff146b0a4b47bcb5818f 100644 (file)
@@ -105,16 +105,17 @@ struct option
    declaration without arguments.  If it is 0, we checked and failed
    to find the declaration so provide a fully prototyped one.  If it
    is 1, we found it so don't provide any declaration at all.  */
-#if defined (__GNU_LIBRARY__) || (defined (HAVE_DECL_GETOPT) && !HAVE_DECL_GETOPT)
+#if !HAVE_DECL_GETOPT
+#if defined (__GNU_LIBRARY__) || defined (HAVE_DECL_GETOPT)
 /* Many other libraries have conflicting prototypes for getopt, with
    differences in the consts, in stdlib.h.  To avoid compilation
    errors, only prototype getopt for the GNU C library.  */
 extern int getopt (int argc, char *const *argv, const char *shortopts);
-#else /* not __GNU_LIBRARY__ */
-# if !defined (HAVE_DECL_GETOPT)
+#else
 extern int getopt ();
-# endif
-#endif /* __GNU_LIBRARY__ */
+#endif
+#endif /* !HAVE_DECL_GETOPT */
+
 extern int getopt_long (int argc, char *const *argv, const char *shortopts,
                        const struct option *longopts, int *longind);
 extern int getopt_long_only (int argc, char *const *argv,
index 8871710e5d8b1694a760f17730d85045f7cbc0ea..be866b51ee6137e5e3b6c97da8da0b739033d896 100644 (file)
@@ -1,5 +1,5 @@
 /* An expandable hash tables datatype.  
-   Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
    Contributed by Vladimir Makarov (vmakarov@cygnus.com).
 
 This program is free software; you can redistribute it and/or modify
@@ -36,7 +36,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 extern "C" {
 #endif /* __cplusplus */
 
-#include <ansidecl.h>
+#include "ansidecl.h"
+
+#ifndef GTY
+#define GTY(X)
+#endif
 
 /* The type for a hash code.  */
 typedef unsigned int hashval_t;
@@ -63,12 +67,21 @@ typedef void (*htab_del) PARAMS ((void *));
    htab_traverse.  Return 1 to continue scan, 0 to stop.  */
 typedef int (*htab_trav) PARAMS ((void **, void *));
 
+/* Memory-allocation function, with the same functionality as calloc().
+   Iff it returns NULL, the hash table implementation will pass an error
+   code back to the user, so if your code doesn't handle errors,
+   best if you use xcalloc instead.  */
+typedef PTR (*htab_alloc) PARAMS ((size_t, size_t));
+
+/* We also need a free() routine.  */
+typedef void (*htab_free) PARAMS ((PTR));
+
 /* Hash tables are of the following type.  The structure
    (implementation) of this type is not needed for using the hash
    tables.  All work with hash table should be executed only through
    functions mentioned below. */
 
-struct htab
+struct htab GTY(())
 {
   /* Pointer to hash function.  */
   htab_hash hash_f;
@@ -80,7 +93,7 @@ struct htab
   htab_del del_f;
 
   /* Table itself.  */
-  PTR *entries;
+  PTR * GTY ((use_param (""), length ("%h.size"))) entries;
 
   /* Current size (in entries) of the hash table */
   size_t size;
@@ -99,9 +112,9 @@ struct htab
      of collisions fixed for time of work with the hash table. */
   unsigned int collisions;
 
-  /* This is non-zero if we are allowed to return NULL for function calls
-     that allocate memory.  */
-  int return_allocation_failure;
+  /* Pointers to allocate/free functions.  */
+  htab_alloc alloc_f;
+  htab_free free_f;
 };
 
 typedef struct htab *htab_t;
@@ -111,14 +124,14 @@ enum insert_option {NO_INSERT, INSERT};
 
 /* The prototypes of the package functions. */
 
-extern htab_t  htab_create     PARAMS ((size_t, htab_hash,
-                                        htab_eq, htab_del));
+extern htab_t  htab_create_alloc       PARAMS ((size_t, htab_hash,
+                                                htab_eq, htab_del,
+                                                htab_alloc, htab_free));
+
+/* Backward-compatibility functions.  */
+extern htab_t htab_create PARAMS ((size_t, htab_hash, htab_eq, htab_del));
+extern htab_t htab_try_create PARAMS ((size_t, htab_hash, htab_eq, htab_del));
 
-/* This function is like htab_create, but may return NULL if memory
-   allocation fails, and also signals that htab_find_slot_with_hash and
-   htab_find_slot are allowed to return NULL when inserting.  */
-extern htab_t  htab_try_create PARAMS ((size_t, htab_hash,
-                                        htab_eq, htab_del));
 extern void    htab_delete     PARAMS ((htab_t));
 extern void    htab_empty      PARAMS ((htab_t));
 
index 3e0ca096c02800f7f696d76543fafde61ad8d257..0463301832e92dcf5b4ac20f4f638a71c3232306 100644 (file)
@@ -73,12 +73,12 @@ extern char **dupargv PARAMS ((char **)) ATTRIBUTE_MALLOC;
    declaration without arguments.  If it is 0, we checked and failed
    to find the declaration so provide a fully prototyped one.  If it
    is 1, we found it so don't provide any declaration at all.  */
-#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || (defined (HAVE_DECL_BASENAME) && !HAVE_DECL_BASENAME)
+#if !HAVE_DECL_BASENAME
+#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (HAVE_DECL_BASENAME)
 extern char *basename PARAMS ((const char *));
 #else
-# if !defined (HAVE_DECL_BASENAME)
 extern char *basename ();
-# endif
+#endif
 #endif
 
 /* A well-defined basename () that is always compiled in.  */
index 100c886a7aa2687cb6bec636a1552e33c75fa9c8..385b19152982a20a9647c8549159cc4b5ef2229e 100644 (file)
@@ -1,3 +1,28 @@
+2002-07-09  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * mips.h (INSN_MIPS16): New define.
+
+2002-07-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * i386.h: Remove IgnoreSize from movsx and movzx.
+
+2002-06-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * a29k.h: Replace CONST with const.
+       (CONST): Don't define.
+       * convex.h: Replace CONST with const.
+       (CONST): Don't define.
+       * dlx.h: Replace CONST with const.
+       * or32.h (CONST): Don't define.
+
+2002-05-30  Chris G. Demetriou  <cgd@broadcom.com>
+
+       * mips.h (OP_SH_ALN, OP_MASK_ALN, OP_SH_VSEL, OP_MASK_VSEL)
+       (MDMX_FMTSEL_IMM_QH, MDMX_FMTSEL_IMM_OB, MDMX_FMTSEL_VEC_QH)
+       (MDMX_FMTSEL_VEC_OB, INSN_READ_MDMX_ACC, INSN_WRITE_MDMX_ACC)
+       (INSN_MDMX): New constants, for MDMX support.
+       (opcode character list): Add "O", "Q", "X", "Y", and "Z" for MDMX.
+
 2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
 
        * dlx.h: New file.
index 399be67ca5ad8b27973a2e64f5dff78644fb0594..c6c8c3700036cdfef5bee819c7facb09b835d907 100644 (file)
@@ -1,5 +1,5 @@
 /* Table of opcodes for the AMD 29000 family.
-   Copyright 1990, 1991, 1993, 1994 Free Software Foundation, Inc.
+   Copyright 1990, 1991, 1993, 1994, 2002 Free Software Foundation, Inc.
 
 This file is part of GDB and GAS.
 
@@ -62,11 +62,7 @@ struct a29k_opcode {
   char *args;
 };
 
-#ifndef CONST
-#define CONST
-#endif /* CONST */
-
-static CONST struct a29k_opcode a29k_opcodes[] =
+static const struct a29k_opcode a29k_opcodes[] =
 {
 
 { "add", 0x14000000, "c,a,b" },
@@ -282,4 +278,4 @@ static CONST struct a29k_opcode a29k_opcodes[] =
                           if we've run off the end of the table.  */
 };
 
-CONST unsigned int num_opcodes = (((sizeof a29k_opcodes) / (sizeof a29k_opcodes[0])) - 1);
+const unsigned int num_opcodes = (((sizeof a29k_opcodes) / (sizeof a29k_opcodes[0])) - 1);
index 780b12d481a0529b5077c16d094326e46c701ff0..ccf556829152deddd927048ce9bbe78d3d608e47 100644 (file)
@@ -1,5 +1,5 @@
 /* Information for instruction disassembly on the Convex.
-   Copyright 1989, 1993 Free Software Foundation, Inc.
+   Copyright 1989, 1993, 2002 Free Software Foundation, Inc.
 
 This file is part of GDB.
 
@@ -17,10 +17,6 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
-#ifndef        CONST
-#define        CONST
-#endif /* CONST */
-
 #define xxx 0
 #define rrr 1
 #define rr 2
@@ -67,7 +63,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define CPUID 20
 #define TID 21
 
-CONST char *op[] = {
+const char *op[] = {
   "",
   "v0\0v1\0v2\0v3\0v4\0v5\0v6\0v7",
   "s0\0s1\0s2\0s3\0s4\0s5\0s6\0s7",
@@ -92,7 +88,7 @@ CONST char *op[] = {
   "tid",
 };
 
-CONST struct formstr format0[] = {
+const struct formstr format0[] = {
   {0,0,rrr,V,S,S},     /* mov */
   {0,0,rrr,S,S,V},     /* mov */
   {1,1,rrr,V,V,V},     /* merg.t */
@@ -159,7 +155,7 @@ CONST struct formstr format0[] = {
   {4,8,rrr,V,S,V},     /* div.l */
 };
 
-CONST struct formstr format1[] = {
+const struct formstr format1[] = {
   {11,0,xxx,0,0,0},    /* exit */
   {12,0,a3,0,0,0},     /* jmp */
   {13,2,a3,0,0,0},     /* jmpi.f */
@@ -226,7 +222,7 @@ CONST struct formstr format1[] = {
   {21,8,a2r,V,0,0},    /* st.l */
 };
 
-CONST struct formstr format2[] = {
+const struct formstr format2[] = {
   {28,5,rr,A,A,0},     /* cvtw.b */
   {28,6,rr,A,A,0},     /* cvtw.h */
   {29,7,rr,A,A,0},     /* cvtb.w */
@@ -357,7 +353,7 @@ CONST struct formstr format2[] = {
   {4,8,rr,S,S,0},      /* div.l */
 };
 
-CONST struct formstr format3[] = {
+const struct formstr format3[] = {
   {32,3,rr,V,V,0},     /* cvtd.s */
   {31,4,rr,V,V,0},     /* cvts.d */
   {33,4,rr,V,V,0},     /* cvtl.d */
@@ -424,7 +420,7 @@ CONST struct formstr format3[] = {
   {43,8,rr,S,S,0},     /* neg.l */
 };
 
-CONST struct formstr format4[] = {
+const struct formstr format4[] = {
   {46,0,nops,0,0,0},   /* nop */
   {47,0,pcrel,0,0,0},  /* br */
   {48,2,pcrel,0,0,0},  /* bri.f */
@@ -435,7 +431,7 @@ CONST struct formstr format4[] = {
   {50,1,pcrel,0,0,0},  /* brs.t */
 };
 
-CONST struct formstr format5[] = {
+const struct formstr format5[] = {
   {51,5,rr,V,V,0},     /* ldvi.b */
   {51,6,rr,V,V,0},     /* ldvi.h */
   {51,7,rr,V,V,0},     /* ldvi.w */
@@ -454,7 +450,7 @@ CONST struct formstr format5[] = {
   {52,8,rxr,S,V,0},    /* stvi.l */
 };
 
-CONST struct formstr format6[] = {
+const struct formstr format6[] = {
   {53,0,r,A,0,0},      /* ldsdr */
   {54,0,r,A,0,0},      /* ldkdr */
   {55,3,r,S,0,0},      /* ln.s */
@@ -521,7 +517,7 @@ CONST struct formstr format6[] = {
   {83,4,r,S,0,0},      /* atan.d */
 };
 
-CONST struct formstr format7[] = {
+const struct formstr format7[] = {
   {84,5,r,V,0,0},      /* sum.b */
   {84,6,r,V,0,0},      /* sum.h */
   {84,7,r,V,0,0},      /* sum.w */
@@ -556,11 +552,11 @@ CONST struct formstr format7[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr formatx[] = {
+const struct formstr formatx[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr format1a[] = {
+const struct formstr format1a[] = {
   {91,0,imr,A,0,0},    /* halt */
   {92,0,a4,0,0,0},     /* sysc */
   {18,6,imr,A,0,0},    /* ld.h */
@@ -595,7 +591,7 @@ CONST struct formstr format1a[] = {
   {41,7,imr,A,0,0},    /* lt.w */
 };
 
-CONST struct formstr format1b[] = {
+const struct formstr format1b[] = {
   {18,4,imr,S,0,0},    /* ld.d */
   {18,10,imr,S,0,0},   /* ld.u */
   {18,8,imr,S,0,0},    /* ld.l */
@@ -630,7 +626,7 @@ CONST struct formstr format1b[] = {
   {41,7,imr,S,0,0},    /* lt.w */
 };
 
-CONST struct formstr e0_format0[] = {
+const struct formstr e0_format0[] = {
   {10,3,rrr,S,V,V},    /* sub.s */
   {10,4,rrr,S,V,V},    /* sub.d */
   {4,3,rrr,S,V,V},     /* div.s */
@@ -697,7 +693,7 @@ CONST struct formstr e0_format0[] = {
   {4,16,rrr,V,S,V},    /* div.l.f */
 };
 
-CONST struct formstr e0_format1[] = {
+const struct formstr e0_format1[] = {
   {0,0,0,0,0,0},
   {94,0,a3,0,0,0},     /* tst */
   {95,0,a3,0,0,0},     /* lck */
@@ -764,7 +760,7 @@ CONST struct formstr e0_format1[] = {
   {21,16,a2r,V,0,0},   /* st.l.f */
 };
 
-CONST struct formstr e0_format2[] = {
+const struct formstr e0_format2[] = {
   {28,5,rr,V,V,0},     /* cvtw.b */
   {28,6,rr,V,V,0},     /* cvtw.h */
   {29,7,rr,V,V,0},     /* cvtb.w */
@@ -895,7 +891,7 @@ CONST struct formstr e0_format2[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr e0_format3[] = {
+const struct formstr e0_format3[] = {
   {32,11,rr,V,V,0},    /* cvtd.s.f */
   {31,12,rr,V,V,0},    /* cvts.d.f */
   {33,12,rr,V,V,0},    /* cvtl.d.f */
@@ -962,7 +958,7 @@ CONST struct formstr e0_format3[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr e0_format4[] = {
+const struct formstr e0_format4[] = {
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
@@ -973,7 +969,7 @@ CONST struct formstr e0_format4[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr e0_format5[] = {
+const struct formstr e0_format5[] = {
   {51,13,rr,V,V,0},    /* ldvi.b.f */
   {51,14,rr,V,V,0},    /* ldvi.h.f */
   {51,15,rr,V,V,0},    /* ldvi.w.f */
@@ -992,7 +988,7 @@ CONST struct formstr e0_format5[] = {
   {52,16,rxr,S,V,0},   /* stvi.l.f */
 };
 
-CONST struct formstr e0_format6[] = {
+const struct formstr e0_format6[] = {
   {0,0,rxl,S,CIR,0},   /* mov */
   {0,0,lr,CIR,S,0},    /* mov */
   {0,0,lr,TOC,S,0},    /* mov */
@@ -1059,7 +1055,7 @@ CONST struct formstr e0_format6[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr e0_format7[] = {
+const struct formstr e0_format7[] = {
   {84,13,r,V,0,0},     /* sum.b.f */
   {84,14,r,V,0,0},     /* sum.h.f */
   {84,15,r,V,0,0},     /* sum.w.f */
@@ -1094,7 +1090,7 @@ CONST struct formstr e0_format7[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr e1_format0[] = {
+const struct formstr e1_format0[] = {
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
@@ -1161,7 +1157,7 @@ CONST struct formstr e1_format0[] = {
   {4,23,rrr,V,S,V},    /* div.l.t */
 };
 
-CONST struct formstr e1_format1[] = {
+const struct formstr e1_format1[] = {
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
@@ -1228,7 +1224,7 @@ CONST struct formstr e1_format1[] = {
   {21,23,a2r,V,0,0},   /* st.l.t */
 };
 
-CONST struct formstr e1_format2[] = {
+const struct formstr e1_format2[] = {
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
@@ -1359,7 +1355,7 @@ CONST struct formstr e1_format2[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr e1_format3[] = {
+const struct formstr e1_format3[] = {
   {32,18,rr,V,V,0},    /* cvtd.s.t */
   {31,19,rr,V,V,0},    /* cvts.d.t */
   {33,19,rr,V,V,0},    /* cvtl.d.t */
@@ -1426,7 +1422,7 @@ CONST struct formstr e1_format3[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr e1_format4[] = {
+const struct formstr e1_format4[] = {
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
@@ -1437,7 +1433,7 @@ CONST struct formstr e1_format4[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr e1_format5[] = {
+const struct formstr e1_format5[] = {
   {51,20,rr,V,V,0},    /* ldvi.b.t */
   {51,21,rr,V,V,0},    /* ldvi.h.t */
   {51,22,rr,V,V,0},    /* ldvi.w.t */
@@ -1456,7 +1452,7 @@ CONST struct formstr e1_format5[] = {
   {52,23,rxr,S,V,0},   /* stvi.l.t */
 };
 
-CONST struct formstr e1_format6[] = {
+const struct formstr e1_format6[] = {
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
   {0,0,0,0,0,0},
@@ -1523,7 +1519,7 @@ CONST struct formstr e1_format6[] = {
   {0,0,0,0,0,0},
 };
 
-CONST struct formstr e1_format7[] = {
+const struct formstr e1_format7[] = {
   {84,20,r,V,0,0},     /* sum.b.t */
   {84,21,r,V,0,0},     /* sum.h.t */
   {84,22,r,V,0,0},     /* sum.w.t */
index 23e3b00bccc25c9e580ff2b08c0d90722e7aa01c..e1b249f8523d488715c50da3472f64558a502d4a 100644 (file)
@@ -163,7 +163,7 @@ struct dlx_opcode
   char *args;
 };
 
-static CONST struct dlx_opcode dlx_opcodes[] =
+static const struct dlx_opcode dlx_opcodes[] =
   {
   /* Arithmetic and Logic R-TYPE instructions.  */
     { "nop",      (ALUOP|NOPF),   "N"     },  /* NOP                          */
index 0171f62ed8895dbfbf0cdf59a8f06a6fc22ae978..71c204c81f51311eedd541b78ec4b870fb5376d7 100644 (file)
@@ -121,9 +121,9 @@ static const template i386_optab[] = {
 {"movslq", 2,   0x63, X, Cpu64,  NoSuf|Modrm|Rex64,            { Reg32|WordMem, Reg64, 0} },
 /* Intel Syntax next 5 insns */
 {"movsx",  2, 0x0fbe, X, Cpu386, b_Suf|Modrm,                  { Reg8|ByteMem, WordReg, 0} },
-{"movsx",  2, 0x0fbf, X, Cpu386, w_Suf|Modrm|IgnoreSize,       { Reg16|ShortMem, Reg32, 0} },
+{"movsx",  2, 0x0fbf, X, Cpu386, w_Suf|Modrm,                  { Reg16|ShortMem, Reg32, 0} },
 {"movsx",  2, 0x0fbe, X, Cpu64,  b_Suf|Modrm|Rex64,            { Reg8|ByteMem, Reg64, 0} },
-{"movsx",  2, 0x0fbf, X, Cpu64,  w_Suf|Modrm|IgnoreSize|Rex64, { Reg16|ShortMem, Reg64, 0} },
+{"movsx",  2, 0x0fbf, X, Cpu64,  w_Suf|Modrm|Rex64,            { Reg16|ShortMem, Reg64, 0} },
 {"movsx",  2,   0x63, X, Cpu64,  l_Suf|Modrm|Rex64,            { Reg32|WordMem, Reg64, 0} },
 
 /* Move with zero extend.  */
@@ -135,11 +135,11 @@ static const template i386_optab[] = {
 {"movzwq", 2, 0x0fb7, X, Cpu64,  NoSuf|Modrm|Rex64,            { Reg16|ShortMem, Reg64, 0} },
 /* Intel Syntax next 4 insns */
 {"movzx",  2, 0x0fb6, X, Cpu386, b_Suf|Modrm,                  { Reg8|ByteMem, WordReg, 0} },
-{"movzx",  2, 0x0fb7, X, Cpu386, w_Suf|Modrm|IgnoreSize,       { Reg16|ShortMem, Reg32, 0} },
+{"movzx",  2, 0x0fb7, X, Cpu386, w_Suf|Modrm,                  { Reg16|ShortMem, Reg32, 0} },
 /* These instructions are not particulary usefull, since the zero extend
    32->64 is implicit, but we can encode them.  */
 {"movzx",  2, 0x0fb6, X, Cpu386, b_Suf|Modrm|Rex64,            { Reg8|ByteMem, Reg64, 0} },
-{"movzx",  2, 0x0fb7, X, Cpu386, w_Suf|Modrm|IgnoreSize|Rex64, { Reg16|ShortMem, Reg64, 0} },
+{"movzx",  2, 0x0fb7, X, Cpu386, w_Suf|Modrm|Rex64,            { Reg16|ShortMem, Reg64, 0} },
 
 /* Push instructions.  */
 {"push",   1,  0x50, X, CpuNo64, wl_Suf|ShortForm|DefaultSize, { WordReg, 0, 0 } },
index 06f5625c3fecd22809dbc754391176e2f6618c1c..312a2ac17173b2f755b873c47addcf58b725c277 100644 (file)
@@ -133,6 +133,16 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  *
 #define OP_MASK_SEL            0x7     /* The sel field of mfcZ and mtcZ.  */
 #define OP_SH_CODE19           6       /* 19 bit wait code.  */
 #define OP_MASK_CODE19         0x7ffff
+#define OP_SH_ALN              21
+#define OP_MASK_ALN            0x7
+#define OP_SH_VSEL             21
+#define OP_MASK_VSEL           0x1f
+
+/* Values in the 'VSEL' field.  */
+#define MDMX_FMTSEL_IMM_QH     0x1d
+#define MDMX_FMTSEL_IMM_OB     0x1e
+#define MDMX_FMTSEL_VEC_QH     0x15
+#define MDMX_FMTSEL_VEC_OB     0x16
 
 /* This structure holds information for a particular instruction.  */
 
@@ -220,13 +230,21 @@ struct mips_opcode
    "f" 32 bit floating point constant
    "l" 32 bit floating point constant in .lit4
 
+   MDMX instruction operands (note that while these use the FP register
+   fields, they accept both $fN and $vN names for the registers):  
+   "O" MDMX alignment offset (OP_*_ALN)
+   "Q" MDMX vector/scalar/immediate source (OP_*_VSEL and OP_*_FT)
+   "X" MDMX destination register (OP_*_FD) 
+   "Y" MDMX source register (OP_*_FS)
+   "Z" MDMX source register (OP_*_FT)
+
    Other:
    "()" parens surrounding optional value
    ","  separates operands
 
    Characters used so far, for quick reference when adding more:
    "<>(),"
-   "ABCDEFGHIJLMNPRSTUVW"
+   "ABCDEFGHIJLMNOPQRSTUVWXYZ"
    "abcdfhijklopqrstuvwxz"
 */
 
@@ -297,6 +315,10 @@ struct mips_opcode
 #define INSN_MULT                   0x40000000
 /* Instruction synchronize shared memory.  */
 #define INSN_SYNC                  0x80000000
+/* Instruction reads MDMX accumulator.  XXX FIXME: No bits left!  */
+#define INSN_READ_MDMX_ACC         0
+/* Instruction writes MDMX accumulator.  XXX FIXME: No bits left!  */
+#define INSN_WRITE_MDMX_ACC        0
 
 /* Instruction is actually a macro.  It should be ignored by the
    disassembler, and requires special treatment by the assembler.  */
@@ -317,9 +339,14 @@ struct mips_opcode
 #define INSN_ISA64                0x00000400
 
 /* Masks used for MIPS-defined ASEs.  */
+#define INSN_ASE_MASK            0x0000f000
 
+/* MIPS 16 ASE */
+#define INSN_MIPS16               0x00002000
 /* MIPS-3D ASE */
 #define INSN_MIPS3D               0x00004000
+/* MDMX ASE */ 
+#define INSN_MDMX                 0x00008000
 
 /* Chip specific instructions.  These are bitmasks.  */
 
index 05c532667da60931356df7ad671a520a93a36490..4609a48db565421911c7bec6e70fd05289eabdda 100644 (file)
 #define PARAMS(x) x
 #endif
 
-#ifndef CONST
-#define CONST const
-#endif
-
 #define MAX_GPRS 32
 #define PAGE_SIZE 4096
 #undef __HALF_WORD_INSN__
index 851422a957a2f61dad74afd390d9579550c4e23d..885a79b4ba3299a52285da16d5f98c754d7063ec 100644 (file)
@@ -1,5 +1,5 @@
 /* List implementation of a partition of consecutive integers.
-   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
    Contributed by CodeSourcery, LLC.
 
    This file is part of GCC.
@@ -40,7 +40,7 @@
 extern "C" {
 #endif /* __cplusplus */
 
-#include <ansidecl.h>
+#include "ansidecl.h"
 #include <stdio.h>
 
 struct partition_elem
diff --git a/include/remote-sim.h b/include/remote-sim.h
deleted file mode 100644 (file)
index 726ec62..0000000
+++ /dev/null
@@ -1,354 +0,0 @@
-/* This file defines the interface between the simulator and gdb.
-   Copyright 1993, 1994, 1996, 1997, 1998, 2000
-   Free Software Foundation, Inc.
-
-This file is part of GDB.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#if !defined (REMOTE_SIM_H)
-#define REMOTE_SIM_H 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* This file is used when building stand-alone simulators, so isolate this
-   file from gdb.  */
-
-/* Pick up CORE_ADDR_TYPE if defined (from gdb), otherwise use same value as
-   gdb does (unsigned int - from defs.h).  */
-
-#ifndef CORE_ADDR_TYPE
-typedef unsigned int SIM_ADDR;
-#else
-typedef CORE_ADDR_TYPE SIM_ADDR;
-#endif
-
-
-/* Semi-opaque type used as result of sim_open and passed back to all
-   other routines.  "desc" is short for "descriptor".
-   It is up to each simulator to define `sim_state'.  */
-
-typedef struct sim_state *SIM_DESC;
-
-
-/* Values for `kind' arg to sim_open.  */
-
-typedef enum {
-  SIM_OPEN_STANDALONE, /* simulator used standalone (run.c) */
-  SIM_OPEN_DEBUG       /* simulator used by debugger (gdb) */
-} SIM_OPEN_KIND;
-
-
-/* Return codes from various functions.  */
-
-typedef enum {
-  SIM_RC_FAIL = 0,
-  SIM_RC_OK = 1,
-  SIM_RC_UNKNOWN_BREAKPOINT = 2,
-  SIM_RC_INSUFFICIENT_RESOURCES = 3,
-  SIM_RC_DUPLICATE_BREAKPOINT = 4
-} SIM_RC;
-
-
-/* The bfd struct, as an opaque type.  */
-
-struct _bfd;
-
-
-/* Main simulator entry points.  */
-
-
-/* Create a fully initialized simulator instance.
-
-   (This function is called when the simulator is selected from the
-   gdb command line.)
-
-   KIND specifies how the simulator shall be used.  Currently there
-   are only two kinds: stand-alone and debug.
-
-   CALLBACK specifies a standard host callback (defined in callback.h).
-
-   ABFD, when non NULL, designates a target program.  The program is
-   not loaded.
-
-   ARGV is a standard ARGV pointer such as that passed from the
-   command line.  The syntax of the argument list is is assumed to be
-   ``SIM-PROG { SIM-OPTION } [ TARGET-PROGRAM { TARGET-OPTION } ]''.
-   The trailing TARGET-PROGRAM and args are only valid for a
-   stand-alone simulator.
-
-   On success, the result is a non NULL descriptor that shall be
-   passed to the other sim_foo functions.  While the simulator
-   configuration can be parameterized by (in decreasing precedence)
-   ARGV's SIM-OPTION, ARGV's TARGET-PROGRAM and the ABFD argument, the
-   successful creation of the simulator shall not dependent on the
-   presence of any of these arguments/options.
-
-   Hardware simulator: The created simulator shall be sufficiently
-   initialized to handle, with out restrictions any client requests
-   (including memory reads/writes, register fetch/stores and a
-   resume).
-
-   Process simulator: that process is not created until a call to
-   sim_create_inferior.  FIXME: What should the state of the simulator
-   be? */
-
-SIM_DESC sim_open PARAMS ((SIM_OPEN_KIND kind, struct host_callback_struct *callback, struct _bfd *abfd, char **argv));
-
-
-/* Destory a simulator instance.
-
-   QUITTING is non-zero if we cannot hang on errors.
-
-   This may involve freeing target memory and closing any open files
-   and mmap'd areas.  You cannot assume sim_kill has already been
-   called. */
-
-void sim_close PARAMS ((SIM_DESC sd, int quitting));
-
-
-/* Load program PROG into the simulators memory.
-
-   If ABFD is non-NULL, the bfd for the file has already been opened.
-   The result is a return code indicating success.
-
-   Hardware simulator: Normally, each program section is written into
-   memory according to that sections LMA using physical (direct)
-   addressing.  The exception being systems, such as PPC/CHRP, which
-   support more complicated program loaders.  A call to this function
-   should not effect the state of the processor registers.  Multiple
-   calls to this function are permitted and have an accumulative
-   effect.
-
-   Process simulator: Calls to this function may be ignored.
-
-   FIXME: Most hardware simulators load the image at the VMA using
-   virtual addressing.
-
-   FIXME: For some hardware targets, before a loaded program can be
-   executed, it requires the manipulation of VM registers and tables.
-   Such manipulation should probably (?) occure in
-   sim_create_inferior. */
-
-SIM_RC sim_load PARAMS ((SIM_DESC sd, char *prog, struct _bfd *abfd, int from_tty));
-
-
-/* Prepare to run the simulated program.
-
-   ABFD, if not NULL, provides initial processor state information.
-   ARGV and ENV, if non NULL, are NULL terminated lists of pointers.
-
-   Hardware simulator: This function shall initialize the processor
-   registers to a known value.  The program counter and possibly stack
-   pointer shall be set using information obtained from ABFD (or
-   hardware reset defaults).  ARGV and ENV, dependant on the target
-   ABI, may be written to memory.
-
-   Process simulator: After a call to this function, a new process
-   instance shall exist. The TEXT, DATA, BSS and stack regions shall
-   all be initialized, ARGV and ENV shall be written to process
-   address space (according to the applicable ABI) and the program
-   counter and stack pointer set accordingly. */
-
-SIM_RC sim_create_inferior PARAMS ((SIM_DESC sd, struct _bfd *abfd, char **argv, char **env));
-
-
-/* Fetch LENGTH bytes of the simulated program's memory.  Start fetch
-   at virtual address MEM and store in BUF.  Result is number of bytes
-   read, or zero if error.  */
-
-int sim_read PARAMS ((SIM_DESC sd, SIM_ADDR mem, unsigned char *buf, int length));
-
-
-/* Store LENGTH bytes from BUF into the simulated program's
-   memory. Store bytes starting at virtual address MEM. Result is
-   number of bytes write, or zero if error.  */
-
-int sim_write PARAMS ((SIM_DESC sd, SIM_ADDR mem, unsigned char *buf, int length));
-
-
-/* Fetch register REGNO storing its raw (target endian) value in the
-   LENGTH byte buffer BUF.  Return the actual size of the register or
-   zero if REGNO is not applicable.
-
-   Legacy implementations ignore LENGTH and always return -1.
-
-   If LENGTH does not match the size of REGNO no data is transfered
-   (the actual register size is still returned). */
-
-int sim_fetch_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf, int length));
-
-
-/* Store register REGNO from the raw (target endian) value in BUF.
-   Return the actual size of the register or zero if REGNO is not
-   applicable.
-
-   Legacy implementations ignore LENGTH and always return -1.
-
-   If LENGTH does not match the size of REGNO no data is transfered
-   (the actual register size is still returned). */
-
-int sim_store_register PARAMS ((SIM_DESC sd, int regno, unsigned char *buf, int length));
-
-
-/* Print whatever statistics the simulator has collected.
-
-   VERBOSE is currently unused and must always be zero.  */
-
-void sim_info PARAMS ((SIM_DESC sd, int verbose));
-
-
-/* Run (or resume) the simulated program.
-
-   STEP, when non-zero indicates that only a single simulator cycle
-   should be emulated.
-
-   SIGGNAL, if non-zero is a (HOST) SIGRC value indicating the type of
-   event (hardware interrupt, signal) to be delivered to the simulated
-   program.
-
-   Hardware simulator: If the SIGRC value returned by
-   sim_stop_reason() is passed back to the simulator via SIGGNAL then
-   the hardware simulator shall correctly deliver the hardware event
-   indicated by that signal.  If a value of zero is passed in then the
-   simulation will continue as if there were no outstanding signal.
-   The effect of any other SIGGNAL value is is implementation
-   dependant.
-
-   Process simulator: If SIGRC is non-zero then the corresponding
-   signal is delivered to the simulated program and execution is then
-   continued.  A zero SIGRC value indicates that the program should
-   continue as normal. */
-
-void sim_resume PARAMS ((SIM_DESC sd, int step, int siggnal));
-
-
-/* Asynchronous request to stop the simulation.
-   A nonzero return indicates that the simulator is able to handle
-   the request */
-
-int sim_stop PARAMS ((SIM_DESC sd));
-
-
-/* Fetch the REASON why the program stopped.
-
-   SIM_EXITED: The program has terminated. SIGRC indicates the target
-   dependant exit status.
-
-   SIM_STOPPED: The program has stopped.  SIGRC uses the host's signal
-   numbering as a way of identifying the reaon: program interrupted by
-   user via a sim_stop request (SIGINT); a breakpoint instruction
-   (SIGTRAP); a completed single step (SIGTRAP); an internal error
-   condition (SIGABRT); an illegal instruction (SIGILL); Access to an
-   undefined memory region (SIGSEGV); Mis-aligned memory access
-   (SIGBUS).  For some signals information in addition to the signal
-   number may be retained by the simulator (e.g. offending address),
-   that information is not directly accessable via this interface.
-
-   SIM_SIGNALLED: The program has been terminated by a signal. The
-   simulator has encountered target code that causes the the program
-   to exit with signal SIGRC.
-
-   SIM_RUNNING, SIM_POLLING: The return of one of these values
-   indicates a problem internal to the simulator. */
-
-enum sim_stop { sim_running, sim_polling, sim_exited, sim_stopped, sim_signalled };
-
-void sim_stop_reason PARAMS ((SIM_DESC sd, enum sim_stop *reason, int *sigrc));
-
-
-/* Passthru for other commands that the simulator might support.
-   Simulators should be prepared to deal with any combination of NULL
-   or empty CMD. */
-
-void sim_do_command PARAMS ((SIM_DESC sd, char *cmd));
-
-/* Call these functions to set and clear breakpoints at ADDR. */
-
-SIM_RC sim_set_breakpoint PARAMS ((SIM_DESC sd, SIM_ADDR addr));
-SIM_RC sim_clear_breakpoint PARAMS ((SIM_DESC sd, SIM_ADDR addr));
-SIM_RC sim_clear_all_breakpoints PARAMS ((SIM_DESC sd));
-
-/* These functions are used to enable and disable breakpoints. */
-
-SIM_RC sim_enable_breakpoint PARAMS ((SIM_DESC sd, SIM_ADDR addr));
-SIM_RC sim_disable_breakpoint PARAMS ((SIM_DESC sd, SIM_ADDR addr));
-SIM_RC sim_enable_all_breakpoints PARAMS ((SIM_DESC sd));
-SIM_RC sim_disable_all_breakpoints PARAMS ((SIM_DESC sd));
-\f
-
-/* Provide simulator with a default (global) host_callback_struct.
-   THIS PROCEDURE IS DEPRECIATED.
-   GDB and NRUN do not use this interface.
-   This procedure does not take a SIM_DESC argument as it is
-   used before sim_open. */
-
-void sim_set_callbacks PARAMS ((struct host_callback_struct *));
-
-
-/* Set the size of the simulator memory array.
-   THIS PROCEDURE IS DEPRECIATED.
-   GDB and NRUN do not use this interface.
-   This procedure does not take a SIM_DESC argument as it is
-   used before sim_open. */
-
-void sim_size PARAMS ((int i));
-
-
-/* Single-step simulator with tracing enabled.
-   THIS PROCEDURE IS DEPRECIATED.
-   THIS PROCEDURE IS EVEN MORE DEPRECATED THAN SIM_SET_TRACE
-   GDB and NRUN do not use this interface.
-   This procedure returns: ``0'' indicating that the simulator should
-   be continued using sim_trace() calls; ``1'' indicating that the
-   simulation has finished. */
-
-int sim_trace PARAMS ((SIM_DESC sd));
-
-
-/* Enable tracing.
-   THIS PROCEDURE IS DEPRECIATED.
-   GDB and NRUN do not use this interface.
-   This procedure returns: ``0'' indicating that the simulator should
-   be continued using sim_trace() calls; ``1'' indicating that the
-   simulation has finished. */
-
-void sim_set_trace PARAMS ((void));
-
-
-/* Configure the size of the profile buffer.
-   THIS PROCEDURE IS DEPRECIATED.
-   GDB and NRUN do not use this interface.
-   This procedure does not take a SIM_DESC argument as it is
-   used before sim_open. */
-
-void sim_set_profile_size PARAMS ((int n));
-
-
-/* Kill the running program.
-   THIS PROCEDURE IS DEPRECIATED.
-   GDB and NRUN do not use this interface.
-   This procedure will be replaced as part of the introduction of
-   multi-cpu simulators. */
-
-void sim_kill PARAMS ((SIM_DESC sd));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined (REMOTE_SIM_H) */
index b974059ddfabc04e95fd6894d3f09ba4804857c7..3f3a92f18f0a7f37e08c31217c961c27efbe245b 100644 (file)
@@ -1,5 +1,5 @@
 /* Sorting algorithms.
-   Copyright (C) 2000 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2002 Free Software Foundation, Inc.
    Contributed by Mark Mitchell <mark@codesourcery.com>.
 
 This file is part of GCC.
@@ -31,7 +31,7 @@ Boston, MA 02111-1307, USA.  */
 extern "C" {
 #endif /* __cplusplus */
 
-#include <ansidecl.h>
+#include "ansidecl.h"
 
 /* Sort an array of pointers.  */
 
index 4b7a7bf8c2c18d5b4b23af10b9e146f566524848..23f7ac69d42b56c949051c1bab1595dcc993e265 100644 (file)
@@ -1,5 +1,5 @@
 /* A splay-tree datatype.  
-   Copyright 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    Contributed by Mark Mitchell (mark@markmitchell.com).
 
 This file is part of GCC.
@@ -34,7 +34,7 @@ Boston, MA 02111-1307, USA.  */
 extern "C" {
 #endif /* __cplusplus */
 
-#include <ansidecl.h>
+#include "ansidecl.h"
 
 /* Use typedefs for the key and data types to facilitate changing
    these types, if necessary.  These types should be sufficiently wide
index 22875d06f187b5b242cf563884a970a41fab68b4..bdc67f97cf0dd6e98b4e5547ec86819976c4591b 100644 (file)
@@ -250,11 +250,17 @@ case $host_os in
     ;;
   hpux*)
     if test $with_gnu_ld = no; then
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      case "$host_cpu" in
+       ia64*)
+         hardcode_libdir_flag_spec='-L$libdir'
+         hardcode_shlibpath_var=no ;;
+       *)
+         hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ;;
+      esac
+      hardcode_direct=yes
       hardcode_libdir_separator=:
       export_dynamic_flag_spec='${wl}-E'
     fi
-    hardcode_direct=yes
     hardcode_minus_L=yes # Not in the search PATH, but as the default
                         # location of the library.
 
@@ -283,7 +289,14 @@ case $host_os in
          if test $with_gnu_ld = no; then
            case "$host_os" in
            hpux9*) archive_cmds='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;;
-           *) archive_cmds='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;;
+           *)
+             case "$host_cpu" in
+               ia64*)
+                 archive_cmds='$LD -b +h $soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' ;;
+               *)
+                 archive_cmds='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;;
+             esac
+             ;;
            esac
          fi
        else
This page took 0.183232 seconds and 5 git commands to generate.