This commit was manufactured by cvs2svn to create tag
'kettenis_i386newframe-20030517-mergepoint'.

Sprout from cagney_fileio-20030521-branch 2003-05-21 19:52:40 UTC nobody 'This commit was manufactured by cvs2svn to create branch'
Cherrypick from master 2003-05-17 07:27:24 UTC Andreas Jaeger <aj@suse.de> '':
    ChangeLog
    Makefile.in
    Makefile.tpl
    bfd/ChangeLog
    bfd/bfd-in.h
    bfd/bfd-in2.h
    bfd/config.bfd
    bfd/elf-bfd.h
    bfd/elf.c
    bfd/elf32-i860.c
    bfd/elf32-m68k.c
    bfd/elf32-xstormy16.c
    bfd/elfcode.h
    bfd/elflink.c
    bfd/elflink.h
    bfd/elfxx-target.h
    bfd/version.h
    config/ChangeLog
    config/acinclude.m4
    config/acx.m4
    configure
    configure.in
    gdb/ChangeLog
    gdb/Makefile.in
    gdb/ada-lang.c
    gdb/block.c
    gdb/block.h
    gdb/c-exp.y
    gdb/c-lang.c
    gdb/config/djgpp/fnchange.lst
    gdb/config/m68k/tm-linux.h
    gdb/config/m68k/tm-m68k.h
    gdb/cp-namespace.c
    gdb/cp-support.h
    gdb/doc/ChangeLog
    gdb/doc/gdbint.texinfo
    gdb/dwarf2loc.c
    gdb/f-lang.c
    gdb/jv-lang.c
    gdb/language.c
    gdb/language.h
    gdb/m2-lang.c
    gdb/m68k-tdep.c
    gdb/m68klinux-tdep.c
    gdb/mips-nat.c
    gdb/nto-tdep.c
    gdb/objc-lang.c
    gdb/p-lang.c
    gdb/scm-lang.c
    gdb/symtab.c
    gdb/symtab.h
    gdb/testsuite/ChangeLog
    gdb/testsuite/gdb.c++/namespace.cc
    gdb/testsuite/gdb.c++/namespace.exp
    gdb/version.in
    gdb/x86-64-tdep.c
    include/ChangeLog
    include/bfdlink.h
    include/elf/ChangeLog
    include/elf/common.h
    include/elf/external.h
    include/elf/internal.h
    include/opcode/ChangeLog
    include/opcode/i860.h
    libiberty/ChangeLog
    libiberty/config.table
    opcodes/ChangeLog
    opcodes/Makefile.in
    opcodes/i860-dis.c
Delete:
    gdb/testsuite/gdb.c++/namespace1.cc
    gdb/testsuite/gdb.c++/rtti.exp
    gdb/testsuite/gdb.c++/rtti.h
    gdb/testsuite/gdb.c++/rtti1.cc
    gdb/testsuite/gdb.c++/rtti2.cc
diff --git a/ChangeLog b/ChangeLog
index 1c21e6a..523aabc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,29 +1,3 @@
-2003-05-20  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
-
-	* configure.in: Use curly braces in the definition of tooldir.
-	* configure: Regenerate.
-
-2003-05-19  Nathanael Nerode  <neroden@gcc.gnu.org>
-
-	* configure.in: Switch more things to use maybe dependencies.
-	* Makefile.tpl: Switch more things to use maybe dependencies.  
-	Factor out common code from autogen IF statements.
-	* configure: Regenerate.
-	* Makefile.in: Regenerate.
-
-2003-05-14  Kelley Cook  <kelleycook@wideopenwest.com>
-
-	* configure.in: Accept i[3456789]86 for machine type.
-	* configure: Regenerate.
-
-2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>
-
-	* configure.in: Switch more things to use maybe dependencies.
-	Rearrange a little.  Use GCC_TOPLEV_SUBDIRS.
-	* configure: Regenerate.
-	* Makefile.tpl: Switch more things to use maybe dependencies.
-	* Makefile.in: Regenerate.
-
 2003-05-16  Andreas Schwab  <schwab@suse.de>
 
 	* Makefile.tpl (install-opcodes): Define.
diff --git a/Makefile.in b/Makefile.in
index a98c099..057906e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -551,90 +551,8 @@
 
 GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS)
 
-.PHONY: configure-host
-configure-host: maybe-configure-gcc  \
-    maybe-configure-ash \
-    maybe-configure-autoconf \
-    maybe-configure-automake \
-    maybe-configure-bash \
-    maybe-configure-bfd \
-    maybe-configure-opcodes \
-    maybe-configure-binutils \
-    maybe-configure-bison \
-    maybe-configure-byacc \
-    maybe-configure-bzip2 \
-    maybe-configure-dejagnu \
-    maybe-configure-diff \
-    maybe-configure-dosutils \
-    maybe-configure-etc \
-    maybe-configure-fastjar \
-    maybe-configure-fileutils \
-    maybe-configure-findutils \
-    maybe-configure-find \
-    maybe-configure-flex \
-    maybe-configure-gas \
-    maybe-configure-gawk \
-    maybe-configure-gettext \
-    maybe-configure-gnuserv \
-    maybe-configure-gprof \
-    maybe-configure-gzip \
-    maybe-configure-hello \
-    maybe-configure-indent \
-    maybe-configure-intl \
-    maybe-configure-tcl \
-    maybe-configure-itcl \
-    maybe-configure-ld \
-    maybe-configure-libgui \
-    maybe-configure-libiberty \
-    maybe-configure-libtool \
-    maybe-configure-m4 \
-    maybe-configure-make \
-    maybe-configure-mmalloc \
-    maybe-configure-patch \
-    maybe-configure-perl \
-    maybe-configure-prms \
-    maybe-configure-rcs \
-    maybe-configure-readline \
-    maybe-configure-release \
-    maybe-configure-recode \
-    maybe-configure-sed \
-    maybe-configure-send-pr \
-    maybe-configure-shellutils \
-    maybe-configure-sid \
-    maybe-configure-sim \
-    maybe-configure-tar \
-    maybe-configure-texinfo \
-    maybe-configure-textutils \
-    maybe-configure-time \
-    maybe-configure-uudecode \
-    maybe-configure-wdiff \
-    maybe-configure-zip \
-    maybe-configure-zlib \
-    maybe-configure-gdb \
-    maybe-configure-expect \
-    maybe-configure-guile \
-    maybe-configure-tk \
-    maybe-configure-tix \
-    maybe-configure-libtermcap \
-    maybe-configure-utils
-.PHONY: configure-target
-configure-target:  \
-    maybe-configure-target-libstdc++-v3 \
-    maybe-configure-target-newlib \
-    maybe-configure-target-libf2c \
-    maybe-configure-target-libobjc \
-    maybe-configure-target-libtermcap \
-    maybe-configure-target-winsup \
-    maybe-configure-target-libgloss \
-    maybe-configure-target-libiberty \
-    maybe-configure-target-gperf \
-    maybe-configure-target-examples \
-    maybe-configure-target-libffi \
-    maybe-configure-target-libjava \
-    maybe-configure-target-zlib \
-    maybe-configure-target-boehm-gc \
-    maybe-configure-target-qthreads \
-    maybe-configure-target-rda
+configure-host: @configure_host_modules@
+configure-target: @configure_target_modules@
 
 # This is a list of the targets for which we can do a clean-{target}.
 CLEAN_MODULES = \
@@ -724,93 +642,14 @@
 	clean-tix 
 
 # The target built for a native build.
+# This list only includes modules actually being configured and built.
 .PHONY: all.normal
-all.normal: @all_build_modules@ all-host all-target
+all.normal: @all_build_modules@ \
+	@all_host_modules@ \
+	@all_target_modules@
 
-.PHONY: all-host
-all-host: maybe-all-gcc  \
-    maybe-all-ash \
-    maybe-all-autoconf \
-    maybe-all-automake \
-    maybe-all-bash \
-    maybe-all-bfd \
-    maybe-all-opcodes \
-    maybe-all-binutils \
-    maybe-all-bison \
-    maybe-all-byacc \
-    maybe-all-bzip2 \
-    maybe-all-dejagnu \
-    maybe-all-diff \
-    maybe-all-dosutils \
-    maybe-all-etc \
-    maybe-all-fastjar \
-    maybe-all-fileutils \
-    maybe-all-findutils \
-    maybe-all-find \
-    maybe-all-flex \
-    maybe-all-gas \
-    maybe-all-gawk \
-    maybe-all-gettext \
-    maybe-all-gnuserv \
-    maybe-all-gprof \
-    maybe-all-gzip \
-    maybe-all-hello \
-    maybe-all-indent \
-    maybe-all-intl \
-    maybe-all-tcl \
-    maybe-all-itcl \
-    maybe-all-ld \
-    maybe-all-libgui \
-    maybe-all-libiberty \
-    maybe-all-libtool \
-    maybe-all-m4 \
-    maybe-all-make \
-    maybe-all-mmalloc \
-    maybe-all-patch \
-    maybe-all-perl \
-    maybe-all-prms \
-    maybe-all-rcs \
-    maybe-all-readline \
-    maybe-all-release \
-    maybe-all-recode \
-    maybe-all-sed \
-    maybe-all-send-pr \
-    maybe-all-shellutils \
-    maybe-all-sid \
-    maybe-all-sim \
-    maybe-all-tar \
-    maybe-all-texinfo \
-    maybe-all-textutils \
-    maybe-all-time \
-    maybe-all-uudecode \
-    maybe-all-wdiff \
-    maybe-all-zip \
-    maybe-all-zlib \
-    maybe-all-gdb \
-    maybe-all-expect \
-    maybe-all-guile \
-    maybe-all-tk \
-    maybe-all-tix \
-    maybe-all-libtermcap \
-    maybe-all-utils
-.PHONY: all-target
-all-target:  \
-    maybe-all-target-libstdc++-v3 \
-    maybe-all-target-newlib \
-    maybe-all-target-libf2c \
-    maybe-all-target-libobjc \
-    maybe-all-target-libtermcap \
-    maybe-all-target-winsup \
-    maybe-all-target-libgloss \
-    maybe-all-target-libiberty \
-    maybe-all-target-gperf \
-    maybe-all-target-examples \
-    maybe-all-target-libffi \
-    maybe-all-target-libjava \
-    maybe-all-target-zlib \
-    maybe-all-target-boehm-gc \
-    maybe-all-target-qthreads \
-    maybe-all-target-rda
+all-host: @all_host_modules@
+all-target: @all_target_modules@
 
 # Do a target for all the subdirectories.  A ``make do-X'' will do a
 # ``make X'' in all subdirectories (because, in general, there is a
@@ -1331,87 +1170,8 @@
 	$(MAKE) do-check NOTPARALLEL=parallel-ok
 
 # Only include modules actually being configured and built.
-do-check: maybe-check-gcc  \
-    maybe-check-ash \
-    maybe-check-autoconf \
-    maybe-check-automake \
-    maybe-check-bash \
-    maybe-check-bfd \
-    maybe-check-opcodes \
-    maybe-check-binutils \
-    maybe-check-bison \
-    maybe-check-byacc \
-    maybe-check-bzip2 \
-    maybe-check-dejagnu \
-    maybe-check-diff \
-    maybe-check-dosutils \
-    maybe-check-etc \
-    maybe-check-fastjar \
-    maybe-check-fileutils \
-    maybe-check-findutils \
-    maybe-check-find \
-    maybe-check-flex \
-    maybe-check-gas \
-    maybe-check-gawk \
-    maybe-check-gettext \
-    maybe-check-gnuserv \
-    maybe-check-gprof \
-    maybe-check-gzip \
-    maybe-check-hello \
-    maybe-check-indent \
-    maybe-check-intl \
-    maybe-check-tcl \
-    maybe-check-itcl \
-    maybe-check-ld \
-    maybe-check-libgui \
-    maybe-check-libiberty \
-    maybe-check-libtool \
-    maybe-check-m4 \
-    maybe-check-make \
-    maybe-check-mmalloc \
-    maybe-check-patch \
-    maybe-check-perl \
-    maybe-check-prms \
-    maybe-check-rcs \
-    maybe-check-readline \
-    maybe-check-release \
-    maybe-check-recode \
-    maybe-check-sed \
-    maybe-check-send-pr \
-    maybe-check-shellutils \
-    maybe-check-sid \
-    maybe-check-sim \
-    maybe-check-tar \
-    maybe-check-texinfo \
-    maybe-check-textutils \
-    maybe-check-time \
-    maybe-check-uudecode \
-    maybe-check-wdiff \
-    maybe-check-zip \
-    maybe-check-zlib \
-    maybe-check-gdb \
-    maybe-check-expect \
-    maybe-check-guile \
-    maybe-check-tk \
-    maybe-check-tix \
-    maybe-check-libtermcap \
-    maybe-check-utils \
-    maybe-check-target-libstdc++-v3 \
-    maybe-check-target-newlib \
-    maybe-check-target-libf2c \
-    maybe-check-target-libobjc \
-    maybe-check-target-libtermcap \
-    maybe-check-target-winsup \
-    maybe-check-target-libgloss \
-    maybe-check-target-libiberty \
-    maybe-check-target-gperf \
-    maybe-check-target-examples \
-    maybe-check-target-libffi \
-    maybe-check-target-libjava \
-    maybe-check-target-zlib \
-    maybe-check-target-boehm-gc \
-    maybe-check-target-qthreads \
-    maybe-check-target-rda
+do-check: @check_host_modules@ \
+	@check_target_modules@
 
 # Automated reporting of test results.
 
@@ -1437,160 +1197,9 @@
 # Installation targets.
 
 .PHONY: install uninstall
-install: installdirs install-host install-target
+install: installdirs @install_host_modules@ @install_target_modules@
 
-.PHONY: install-host-nogcc
-install-host-nogcc:  \
-    maybe-install-ash \
-    maybe-install-autoconf \
-    maybe-install-automake \
-    maybe-install-bash \
-    maybe-install-bfd \
-    maybe-install-opcodes \
-    maybe-install-binutils \
-    maybe-install-bison \
-    maybe-install-byacc \
-    maybe-install-bzip2 \
-    maybe-install-dejagnu \
-    maybe-install-diff \
-    maybe-install-dosutils \
-    maybe-install-etc \
-    maybe-install-fastjar \
-    maybe-install-fileutils \
-    maybe-install-findutils \
-    maybe-install-find \
-    maybe-install-flex \
-    maybe-install-gas \
-    maybe-install-gawk \
-    maybe-install-gettext \
-    maybe-install-gnuserv \
-    maybe-install-gprof \
-    maybe-install-gzip \
-    maybe-install-hello \
-    maybe-install-indent \
-    maybe-install-intl \
-    maybe-install-tcl \
-    maybe-install-itcl \
-    maybe-install-ld \
-    maybe-install-libgui \
-    maybe-install-libiberty \
-    maybe-install-libtool \
-    maybe-install-m4 \
-    maybe-install-make \
-    maybe-install-mmalloc \
-    maybe-install-patch \
-    maybe-install-perl \
-    maybe-install-prms \
-    maybe-install-rcs \
-    maybe-install-readline \
-    maybe-install-release \
-    maybe-install-recode \
-    maybe-install-sed \
-    maybe-install-send-pr \
-    maybe-install-shellutils \
-    maybe-install-sid \
-    maybe-install-sim \
-    maybe-install-tar \
-    maybe-install-texinfo \
-    maybe-install-textutils \
-    maybe-install-time \
-    maybe-install-uudecode \
-    maybe-install-wdiff \
-    maybe-install-zip \
-    maybe-install-zlib \
-    maybe-install-gdb \
-    maybe-install-expect \
-    maybe-install-guile \
-    maybe-install-tk \
-    maybe-install-tix \
-    maybe-install-libtermcap \
-    maybe-install-utils
-
-.PHONY: install-host
-install-host: maybe-install-gcc  \
-    maybe-install-ash \
-    maybe-install-autoconf \
-    maybe-install-automake \
-    maybe-install-bash \
-    maybe-install-bfd \
-    maybe-install-opcodes \
-    maybe-install-binutils \
-    maybe-install-bison \
-    maybe-install-byacc \
-    maybe-install-bzip2 \
-    maybe-install-dejagnu \
-    maybe-install-diff \
-    maybe-install-dosutils \
-    maybe-install-etc \
-    maybe-install-fastjar \
-    maybe-install-fileutils \
-    maybe-install-findutils \
-    maybe-install-find \
-    maybe-install-flex \
-    maybe-install-gas \
-    maybe-install-gawk \
-    maybe-install-gettext \
-    maybe-install-gnuserv \
-    maybe-install-gprof \
-    maybe-install-gzip \
-    maybe-install-hello \
-    maybe-install-indent \
-    maybe-install-intl \
-    maybe-install-tcl \
-    maybe-install-itcl \
-    maybe-install-ld \
-    maybe-install-libgui \
-    maybe-install-libiberty \
-    maybe-install-libtool \
-    maybe-install-m4 \
-    maybe-install-make \
-    maybe-install-mmalloc \
-    maybe-install-patch \
-    maybe-install-perl \
-    maybe-install-prms \
-    maybe-install-rcs \
-    maybe-install-readline \
-    maybe-install-release \
-    maybe-install-recode \
-    maybe-install-sed \
-    maybe-install-send-pr \
-    maybe-install-shellutils \
-    maybe-install-sid \
-    maybe-install-sim \
-    maybe-install-tar \
-    maybe-install-texinfo \
-    maybe-install-textutils \
-    maybe-install-time \
-    maybe-install-uudecode \
-    maybe-install-wdiff \
-    maybe-install-zip \
-    maybe-install-zlib \
-    maybe-install-gdb \
-    maybe-install-expect \
-    maybe-install-guile \
-    maybe-install-tk \
-    maybe-install-tix \
-    maybe-install-libtermcap \
-    maybe-install-utils
-
-.PHONY: install-target
-install-target:  \
-    maybe-install-target-libstdc++-v3 \
-    maybe-install-target-newlib \
-    maybe-install-target-libf2c \
-    maybe-install-target-libobjc \
-    maybe-install-target-libtermcap \
-    maybe-install-target-winsup \
-    maybe-install-target-libgloss \
-    maybe-install-target-libiberty \
-    maybe-install-target-gperf \
-    maybe-install-target-examples \
-    maybe-install-target-libffi \
-    maybe-install-target-libjava \
-    maybe-install-target-zlib \
-    maybe-install-target-boehm-gc \
-    maybe-install-target-qthreads \
-    maybe-install-target-rda
+install-target: @install_target_modules@
 
 uninstall:
 	@echo "the uninstall target is not supported in this tree"
@@ -1609,8 +1218,8 @@
 # install-no-fixedincludes is used because Cygnus can not distribute
 # the fixed header files.
 .PHONY: install-no-fixedincludes
-install-no-fixedincludes: installdirs install-host-nogcc \
-	install-target gcc-no-fixedincludes
+install-no-fixedincludes: installdirs @install_host_modules_nogcc@ \
+	@install_target_modules@ gcc-no-fixedincludes
 
 ### other supporting targets
 
@@ -1768,9 +1377,8 @@
 	$(SET_LIB_PATH) \
 	(cd ash && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-ash maybe-check-ash
-maybe-check-ash:
 
+.PHONY: check-ash
 check-ash:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -1778,9 +1386,9 @@
 	(cd ash && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-ash maybe-install-ash
 maybe-install-ash:
-
 install-ash: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -1836,9 +1444,8 @@
 	$(SET_LIB_PATH) \
 	(cd autoconf && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-autoconf maybe-check-autoconf
-maybe-check-autoconf:
 
+.PHONY: check-autoconf
 check-autoconf:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -1846,9 +1453,9 @@
 	(cd autoconf && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-autoconf maybe-install-autoconf
 maybe-install-autoconf:
-
 install-autoconf: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -1904,9 +1511,8 @@
 	$(SET_LIB_PATH) \
 	(cd automake && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-automake maybe-check-automake
-maybe-check-automake:
 
+.PHONY: check-automake
 check-automake:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -1914,9 +1520,9 @@
 	(cd automake && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-automake maybe-install-automake
 maybe-install-automake:
-
 install-automake: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -1972,9 +1578,8 @@
 	$(SET_LIB_PATH) \
 	(cd bash && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-bash maybe-check-bash
-maybe-check-bash:
 
+.PHONY: check-bash
 check-bash:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -1982,9 +1587,9 @@
 	(cd bash && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-bash maybe-install-bash
 maybe-install-bash:
-
 install-bash: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2040,9 +1645,8 @@
 	$(SET_LIB_PATH) \
 	(cd bfd && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-bfd maybe-check-bfd
-maybe-check-bfd:
 
+.PHONY: check-bfd
 check-bfd:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2050,9 +1654,9 @@
 	(cd bfd && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-bfd maybe-install-bfd
 maybe-install-bfd:
-
 install-bfd: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2108,9 +1712,8 @@
 	$(SET_LIB_PATH) \
 	(cd opcodes && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-opcodes maybe-check-opcodes
-maybe-check-opcodes:
 
+.PHONY: check-opcodes
 check-opcodes:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2118,9 +1721,9 @@
 	(cd opcodes && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-opcodes maybe-install-opcodes
 maybe-install-opcodes:
-
 install-opcodes: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2176,9 +1779,8 @@
 	$(SET_LIB_PATH) \
 	(cd binutils && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-binutils maybe-check-binutils
-maybe-check-binutils:
 
+.PHONY: check-binutils
 check-binutils:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2186,9 +1788,9 @@
 	(cd binutils && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-binutils maybe-install-binutils
 maybe-install-binutils:
-
 install-binutils: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2244,9 +1846,8 @@
 	$(SET_LIB_PATH) \
 	(cd bison && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-bison maybe-check-bison
-maybe-check-bison:
 
+.PHONY: check-bison
 # This module is only tested in a native toolchain.
 check-bison:
 	@if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \
@@ -2257,9 +1858,9 @@
 	fi
 
 
+
 .PHONY: install-bison maybe-install-bison
 maybe-install-bison:
-
 install-bison: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2315,9 +1916,8 @@
 	$(SET_LIB_PATH) \
 	(cd byacc && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-byacc maybe-check-byacc
-maybe-check-byacc:
 
+.PHONY: check-byacc
 # This module is only tested in a native toolchain.
 check-byacc:
 	@if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \
@@ -2328,9 +1928,9 @@
 	fi
 
 
+
 .PHONY: install-byacc maybe-install-byacc
 maybe-install-byacc:
-
 install-byacc: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2386,9 +1986,8 @@
 	$(SET_LIB_PATH) \
 	(cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-bzip2 maybe-check-bzip2
-maybe-check-bzip2:
 
+.PHONY: check-bzip2
 check-bzip2:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2396,9 +1995,9 @@
 	(cd bzip2 && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-bzip2 maybe-install-bzip2
 maybe-install-bzip2:
-
 install-bzip2: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2454,9 +2053,8 @@
 	$(SET_LIB_PATH) \
 	(cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-dejagnu maybe-check-dejagnu
-maybe-check-dejagnu:
 
+.PHONY: check-dejagnu
 check-dejagnu:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2464,9 +2062,9 @@
 	(cd dejagnu && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-dejagnu maybe-install-dejagnu
 maybe-install-dejagnu:
-
 install-dejagnu: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2522,9 +2120,8 @@
 	$(SET_LIB_PATH) \
 	(cd diff && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-diff maybe-check-diff
-maybe-check-diff:
 
+.PHONY: check-diff
 check-diff:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2532,9 +2129,9 @@
 	(cd diff && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-diff maybe-install-diff
 maybe-install-diff:
-
 install-diff: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2590,15 +2187,14 @@
 	$(SET_LIB_PATH) \
 	(cd dosutils && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-dosutils maybe-check-dosutils
-maybe-check-dosutils:
 
+.PHONY: check-dosutils
 check-dosutils:
 
 
+
 .PHONY: install-dosutils maybe-install-dosutils
 maybe-install-dosutils:
-
 install-dosutils: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2654,9 +2250,8 @@
 	$(SET_LIB_PATH) \
 	(cd etc && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-etc maybe-check-etc
-maybe-check-etc:
 
+.PHONY: check-etc
 check-etc:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2664,9 +2259,9 @@
 	(cd etc && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-etc maybe-install-etc
 maybe-install-etc:
-
 install-etc: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2722,9 +2317,8 @@
 	$(SET_LIB_PATH) \
 	(cd fastjar && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-fastjar maybe-check-fastjar
-maybe-check-fastjar:
 
+.PHONY: check-fastjar
 # This module is only tested in a native toolchain.
 check-fastjar:
 	@if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \
@@ -2735,9 +2329,9 @@
 	fi
 
 
+
 .PHONY: install-fastjar maybe-install-fastjar
 maybe-install-fastjar:
-
 install-fastjar: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2793,9 +2387,8 @@
 	$(SET_LIB_PATH) \
 	(cd fileutils && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-fileutils maybe-check-fileutils
-maybe-check-fileutils:
 
+.PHONY: check-fileutils
 check-fileutils:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2803,9 +2396,9 @@
 	(cd fileutils && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-fileutils maybe-install-fileutils
 maybe-install-fileutils:
-
 install-fileutils: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2861,9 +2454,8 @@
 	$(SET_LIB_PATH) \
 	(cd findutils && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-findutils maybe-check-findutils
-maybe-check-findutils:
 
+.PHONY: check-findutils
 check-findutils:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2871,9 +2463,9 @@
 	(cd findutils && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-findutils maybe-install-findutils
 maybe-install-findutils:
-
 install-findutils: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2929,9 +2521,8 @@
 	$(SET_LIB_PATH) \
 	(cd find && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-find maybe-check-find
-maybe-check-find:
 
+.PHONY: check-find
 check-find:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2939,9 +2530,9 @@
 	(cd find && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-find maybe-install-find
 maybe-install-find:
-
 install-find: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -2997,9 +2588,8 @@
 	$(SET_LIB_PATH) \
 	(cd flex && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-flex maybe-check-flex
-maybe-check-flex:
 
+.PHONY: check-flex
 # This module is only tested in a native toolchain.
 check-flex:
 	@if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \
@@ -3010,9 +2600,9 @@
 	fi
 
 
+
 .PHONY: install-flex maybe-install-flex
 maybe-install-flex:
-
 install-flex: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3068,9 +2658,8 @@
 	$(SET_LIB_PATH) \
 	(cd gas && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-gas maybe-check-gas
-maybe-check-gas:
 
+.PHONY: check-gas
 check-gas:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3078,9 +2667,9 @@
 	(cd gas && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-gas maybe-install-gas
 maybe-install-gas:
-
 install-gas: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3136,9 +2725,8 @@
 	$(SET_LIB_PATH) \
 	(cd gawk && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-gawk maybe-check-gawk
-maybe-check-gawk:
 
+.PHONY: check-gawk
 check-gawk:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3146,9 +2734,9 @@
 	(cd gawk && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-gawk maybe-install-gawk
 maybe-install-gawk:
-
 install-gawk: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3204,9 +2792,8 @@
 	$(SET_LIB_PATH) \
 	(cd gettext && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-gettext maybe-check-gettext
-maybe-check-gettext:
 
+.PHONY: check-gettext
 check-gettext:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3214,9 +2801,9 @@
 	(cd gettext && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-gettext maybe-install-gettext
 maybe-install-gettext:
-
 install-gettext: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3272,9 +2859,8 @@
 	$(SET_LIB_PATH) \
 	(cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-gnuserv maybe-check-gnuserv
-maybe-check-gnuserv:
 
+.PHONY: check-gnuserv
 check-gnuserv:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3282,9 +2868,9 @@
 	(cd gnuserv && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-gnuserv maybe-install-gnuserv
 maybe-install-gnuserv:
-
 install-gnuserv: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3340,9 +2926,8 @@
 	$(SET_LIB_PATH) \
 	(cd gprof && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-gprof maybe-check-gprof
-maybe-check-gprof:
 
+.PHONY: check-gprof
 check-gprof:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3350,9 +2935,9 @@
 	(cd gprof && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-gprof maybe-install-gprof
 maybe-install-gprof:
-
 install-gprof: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3408,9 +2993,8 @@
 	$(SET_LIB_PATH) \
 	(cd gzip && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-gzip maybe-check-gzip
-maybe-check-gzip:
 
+.PHONY: check-gzip
 check-gzip:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3418,9 +3002,9 @@
 	(cd gzip && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-gzip maybe-install-gzip
 maybe-install-gzip:
-
 install-gzip: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3476,9 +3060,8 @@
 	$(SET_LIB_PATH) \
 	(cd hello && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-hello maybe-check-hello
-maybe-check-hello:
 
+.PHONY: check-hello
 check-hello:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3486,9 +3069,9 @@
 	(cd hello && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-hello maybe-install-hello
 maybe-install-hello:
-
 install-hello: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3544,9 +3127,8 @@
 	$(SET_LIB_PATH) \
 	(cd indent && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-indent maybe-check-indent
-maybe-check-indent:
 
+.PHONY: check-indent
 check-indent:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3554,9 +3136,9 @@
 	(cd indent && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-indent maybe-install-indent
 maybe-install-indent:
-
 install-indent: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3612,9 +3194,8 @@
 	$(SET_LIB_PATH) \
 	(cd intl && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-intl maybe-check-intl
-maybe-check-intl:
 
+.PHONY: check-intl
 check-intl:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3622,9 +3203,9 @@
 	(cd intl && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-intl maybe-install-intl
 maybe-install-intl:
-
 install-intl: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3680,9 +3261,8 @@
 	$(SET_LIB_PATH) \
 	(cd tcl && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-tcl maybe-check-tcl
-maybe-check-tcl:
 
+.PHONY: check-tcl
 check-tcl:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3690,9 +3270,9 @@
 	(cd tcl && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-tcl maybe-install-tcl
 maybe-install-tcl:
-
 install-tcl: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3748,9 +3328,8 @@
 	$(SET_LIB_PATH) \
 	(cd itcl && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-itcl maybe-check-itcl
-maybe-check-itcl:
 
+.PHONY: check-itcl
 check-itcl:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3758,9 +3337,9 @@
 	(cd itcl && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-itcl maybe-install-itcl
 maybe-install-itcl:
-
 install-itcl: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3816,9 +3395,8 @@
 	$(SET_LIB_PATH) \
 	(cd ld && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-ld maybe-check-ld
-maybe-check-ld:
 
+.PHONY: check-ld
 check-ld:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3826,9 +3404,9 @@
 	(cd ld && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-ld maybe-install-ld
 maybe-install-ld:
-
 install-ld: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3884,9 +3462,8 @@
 	$(SET_LIB_PATH) \
 	(cd libgui && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-libgui maybe-check-libgui
-maybe-check-libgui:
 
+.PHONY: check-libgui
 check-libgui:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3894,9 +3471,9 @@
 	(cd libgui && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-libgui maybe-install-libgui
 maybe-install-libgui:
-
 install-libgui: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3952,9 +3529,8 @@
 	$(SET_LIB_PATH) \
 	(cd libiberty && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-libiberty maybe-check-libiberty
-maybe-check-libiberty:
 
+.PHONY: check-libiberty
 check-libiberty:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -3962,9 +3538,9 @@
 	(cd libiberty && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-libiberty maybe-install-libiberty
 maybe-install-libiberty:
-
 install-libiberty: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4020,9 +3596,8 @@
 	$(SET_LIB_PATH) \
 	(cd libtool && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-libtool maybe-check-libtool
-maybe-check-libtool:
 
+.PHONY: check-libtool
 check-libtool:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4030,9 +3605,9 @@
 	(cd libtool && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-libtool maybe-install-libtool
 maybe-install-libtool:
-
 install-libtool: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4088,9 +3663,8 @@
 	$(SET_LIB_PATH) \
 	(cd m4 && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-m4 maybe-check-m4
-maybe-check-m4:
 
+.PHONY: check-m4
 check-m4:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4098,9 +3672,9 @@
 	(cd m4 && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-m4 maybe-install-m4
 maybe-install-m4:
-
 install-m4: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4156,9 +3730,8 @@
 	$(SET_LIB_PATH) \
 	(cd make && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-make maybe-check-make
-maybe-check-make:
 
+.PHONY: check-make
 check-make:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4166,9 +3739,9 @@
 	(cd make && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-make maybe-install-make
 maybe-install-make:
-
 install-make: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4224,15 +3797,14 @@
 	$(SET_LIB_PATH) \
 	(cd mmalloc && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-mmalloc maybe-check-mmalloc
-maybe-check-mmalloc:
 
+.PHONY: check-mmalloc
 check-mmalloc:
 
 
+
 .PHONY: install-mmalloc maybe-install-mmalloc
 maybe-install-mmalloc:
-
 install-mmalloc: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4288,9 +3860,8 @@
 	$(SET_LIB_PATH) \
 	(cd patch && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-patch maybe-check-patch
-maybe-check-patch:
 
+.PHONY: check-patch
 check-patch:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4298,9 +3869,9 @@
 	(cd patch && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-patch maybe-install-patch
 maybe-install-patch:
-
 install-patch: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4356,9 +3927,8 @@
 	$(SET_LIB_PATH) \
 	(cd perl && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-perl maybe-check-perl
-maybe-check-perl:
 
+.PHONY: check-perl
 check-perl:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4366,9 +3936,9 @@
 	(cd perl && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-perl maybe-install-perl
 maybe-install-perl:
-
 install-perl: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4424,9 +3994,8 @@
 	$(SET_LIB_PATH) \
 	(cd prms && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-prms maybe-check-prms
-maybe-check-prms:
 
+.PHONY: check-prms
 check-prms:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4434,9 +4003,9 @@
 	(cd prms && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-prms maybe-install-prms
 maybe-install-prms:
-
 install-prms: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4492,9 +4061,8 @@
 	$(SET_LIB_PATH) \
 	(cd rcs && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-rcs maybe-check-rcs
-maybe-check-rcs:
 
+.PHONY: check-rcs
 check-rcs:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4502,9 +4070,9 @@
 	(cd rcs && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-rcs maybe-install-rcs
 maybe-install-rcs:
-
 install-rcs: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4560,9 +4128,8 @@
 	$(SET_LIB_PATH) \
 	(cd readline && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-readline maybe-check-readline
-maybe-check-readline:
 
+.PHONY: check-readline
 check-readline:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4570,9 +4137,9 @@
 	(cd readline && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-readline maybe-install-readline
 maybe-install-readline:
-
 install-readline: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4628,15 +4195,14 @@
 	$(SET_LIB_PATH) \
 	(cd release && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-release maybe-check-release
-maybe-check-release:
 
+.PHONY: check-release
 check-release:
 
 
+
 .PHONY: install-release maybe-install-release
 maybe-install-release:
-
 install-release:
 
 
@@ -4688,9 +4254,8 @@
 	$(SET_LIB_PATH) \
 	(cd recode && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-recode maybe-check-recode
-maybe-check-recode:
 
+.PHONY: check-recode
 check-recode:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4698,9 +4263,9 @@
 	(cd recode && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-recode maybe-install-recode
 maybe-install-recode:
-
 install-recode: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4756,9 +4321,8 @@
 	$(SET_LIB_PATH) \
 	(cd sed && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-sed maybe-check-sed
-maybe-check-sed:
 
+.PHONY: check-sed
 check-sed:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4766,9 +4330,9 @@
 	(cd sed && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-sed maybe-install-sed
 maybe-install-sed:
-
 install-sed: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4824,9 +4388,8 @@
 	$(SET_LIB_PATH) \
 	(cd send-pr && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-send-pr maybe-check-send-pr
-maybe-check-send-pr:
 
+.PHONY: check-send-pr
 check-send-pr:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4834,9 +4397,9 @@
 	(cd send-pr && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-send-pr maybe-install-send-pr
 maybe-install-send-pr:
-
 install-send-pr: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4892,9 +4455,8 @@
 	$(SET_LIB_PATH) \
 	(cd shellutils && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-shellutils maybe-check-shellutils
-maybe-check-shellutils:
 
+.PHONY: check-shellutils
 check-shellutils:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4902,9 +4464,9 @@
 	(cd shellutils && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-shellutils maybe-install-shellutils
 maybe-install-shellutils:
-
 install-shellutils: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4960,9 +4522,8 @@
 	$(SET_LIB_PATH) \
 	(cd sid && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-sid maybe-check-sid
-maybe-check-sid:
 
+.PHONY: check-sid
 check-sid:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -4970,9 +4531,9 @@
 	(cd sid && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-sid maybe-install-sid
 maybe-install-sid:
-
 install-sid: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5028,9 +4589,8 @@
 	$(SET_LIB_PATH) \
 	(cd sim && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-sim maybe-check-sim
-maybe-check-sim:
 
+.PHONY: check-sim
 check-sim:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5038,9 +4598,9 @@
 	(cd sim && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-sim maybe-install-sim
 maybe-install-sim:
-
 install-sim: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5096,9 +4656,8 @@
 	$(SET_LIB_PATH) \
 	(cd tar && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-tar maybe-check-tar
-maybe-check-tar:
 
+.PHONY: check-tar
 check-tar:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5106,9 +4665,9 @@
 	(cd tar && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-tar maybe-install-tar
 maybe-install-tar:
-
 install-tar: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5164,9 +4723,8 @@
 	$(SET_LIB_PATH) \
 	(cd texinfo && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-texinfo maybe-check-texinfo
-maybe-check-texinfo:
 
+.PHONY: check-texinfo
 check-texinfo:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5174,9 +4732,9 @@
 	(cd texinfo && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-texinfo maybe-install-texinfo
 maybe-install-texinfo:
-
 install-texinfo:
 
 
@@ -5228,9 +4786,8 @@
 	$(SET_LIB_PATH) \
 	(cd textutils && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-textutils maybe-check-textutils
-maybe-check-textutils:
 
+.PHONY: check-textutils
 check-textutils:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5238,9 +4795,9 @@
 	(cd textutils && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-textutils maybe-install-textutils
 maybe-install-textutils:
-
 install-textutils: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5296,9 +4853,8 @@
 	$(SET_LIB_PATH) \
 	(cd time && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-time maybe-check-time
-maybe-check-time:
 
+.PHONY: check-time
 check-time:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5306,9 +4862,9 @@
 	(cd time && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-time maybe-install-time
 maybe-install-time:
-
 install-time: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5364,9 +4920,8 @@
 	$(SET_LIB_PATH) \
 	(cd uudecode && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-uudecode maybe-check-uudecode
-maybe-check-uudecode:
 
+.PHONY: check-uudecode
 check-uudecode:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5374,9 +4929,9 @@
 	(cd uudecode && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-uudecode maybe-install-uudecode
 maybe-install-uudecode:
-
 install-uudecode: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5432,9 +4987,8 @@
 	$(SET_LIB_PATH) \
 	(cd wdiff && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-wdiff maybe-check-wdiff
-maybe-check-wdiff:
 
+.PHONY: check-wdiff
 check-wdiff:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5442,9 +4996,9 @@
 	(cd wdiff && $(MAKE) $(FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-wdiff maybe-install-wdiff
 maybe-install-wdiff:
-
 install-wdiff: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5500,9 +5054,8 @@
 	$(SET_LIB_PATH) \
 	(cd zip && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-zip maybe-check-zip
-maybe-check-zip:
 
+.PHONY: check-zip
 # This module is only tested in a native toolchain.
 check-zip:
 	@if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \
@@ -5513,9 +5066,9 @@
 	fi
 
 
+
 .PHONY: install-zip maybe-install-zip
 maybe-install-zip:
-
 install-zip: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5571,15 +5124,14 @@
 	$(SET_LIB_PATH) \
 	(cd zlib && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-zlib maybe-check-zlib
-maybe-check-zlib:
 
+.PHONY: check-zlib
 check-zlib:
 
 
+
 .PHONY: install-zlib maybe-install-zlib
 maybe-install-zlib:
-
 install-zlib:
 
 
@@ -5631,9 +5183,8 @@
 	$(SET_LIB_PATH) \
 	(cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
 
-.PHONY: check-gdb maybe-check-gdb
-maybe-check-gdb:
 
+.PHONY: check-gdb
 check-gdb:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5641,9 +5192,9 @@
 	(cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-gdb maybe-install-gdb
 maybe-install-gdb:
-
 install-gdb: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5699,9 +5250,8 @@
 	$(SET_LIB_PATH) \
 	(cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
 
-.PHONY: check-expect maybe-check-expect
-maybe-check-expect:
 
+.PHONY: check-expect
 check-expect:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5709,9 +5259,9 @@
 	(cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-expect maybe-install-expect
 maybe-install-expect:
-
 install-expect: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5767,9 +5317,8 @@
 	$(SET_LIB_PATH) \
 	(cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
 
-.PHONY: check-guile maybe-check-guile
-maybe-check-guile:
 
+.PHONY: check-guile
 check-guile:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5777,9 +5326,9 @@
 	(cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-guile maybe-install-guile
 maybe-install-guile:
-
 install-guile: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5835,9 +5384,8 @@
 	$(SET_LIB_PATH) \
 	(cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
 
-.PHONY: check-tk maybe-check-tk
-maybe-check-tk:
 
+.PHONY: check-tk
 check-tk:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5845,9 +5393,9 @@
 	(cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-tk maybe-install-tk
 maybe-install-tk:
-
 install-tk: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5903,9 +5451,8 @@
 	$(SET_LIB_PATH) \
 	(cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all)
 
-.PHONY: check-tix maybe-check-tix
-maybe-check-tix:
 
+.PHONY: check-tix
 check-tix:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5913,9 +5460,9 @@
 	(cd tix && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
 
 
+
 .PHONY: install-tix maybe-install-tix
 maybe-install-tix:
-
 install-tix: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -5971,15 +5518,14 @@
 	$(SET_LIB_PATH) \
 	(cd libtermcap && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-libtermcap maybe-check-libtermcap
-maybe-check-libtermcap:
 
+.PHONY: check-libtermcap
 check-libtermcap:
 
 
+
 .PHONY: install-libtermcap maybe-install-libtermcap
 maybe-install-libtermcap:
-
 install-libtermcap: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6035,15 +5581,14 @@
 	$(SET_LIB_PATH) \
 	(cd utils && $(MAKE) $(FLAGS_TO_PASS) all)
 
-.PHONY: check-utils maybe-check-utils
-maybe-check-utils:
 
+.PHONY: check-utils
 check-utils:
 
 
+
 .PHONY: install-utils maybe-install-utils
 maybe-install-utils:
-
 install-utils: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6138,9 +5683,7 @@
 	(cd $(TARGET_SUBDIR)/libstdc++-v3 && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  all)
 
-.PHONY: check-target-libstdc++-v3 maybe-check-target-libstdc++-v3
-maybe-check-target-libstdc++-v3:
-
+.PHONY: check-target-libstdc++-v3
 check-target-libstdc++-v3:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6151,7 +5694,6 @@
 
 .PHONY: install-target-libstdc++-v3 maybe-install-target-libstdc++-v3
 maybe-install-target-libstdc++-v3:
-
 install-target-libstdc++-v3: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6241,9 +5783,7 @@
 	(cd $(TARGET_SUBDIR)/newlib && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-newlib maybe-check-target-newlib
-maybe-check-target-newlib:
-
+.PHONY: check-target-newlib
 check-target-newlib:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6254,7 +5794,6 @@
 
 .PHONY: install-target-newlib maybe-install-target-newlib
 maybe-install-target-newlib:
-
 install-target-newlib: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6344,9 +5883,7 @@
 	(cd $(TARGET_SUBDIR)/libf2c && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-libf2c maybe-check-target-libf2c
-maybe-check-target-libf2c:
-
+.PHONY: check-target-libf2c
 check-target-libf2c:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6357,7 +5894,6 @@
 
 .PHONY: install-target-libf2c maybe-install-target-libf2c
 maybe-install-target-libf2c:
-
 install-target-libf2c: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6447,9 +5983,7 @@
 	(cd $(TARGET_SUBDIR)/libobjc && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-libobjc maybe-check-target-libobjc
-maybe-check-target-libobjc:
-
+.PHONY: check-target-libobjc
 check-target-libobjc:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6460,7 +5994,6 @@
 
 .PHONY: install-target-libobjc maybe-install-target-libobjc
 maybe-install-target-libobjc:
-
 install-target-libobjc: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6550,16 +6083,13 @@
 	(cd $(TARGET_SUBDIR)/libtermcap && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-libtermcap maybe-check-target-libtermcap
-maybe-check-target-libtermcap:
-
 # Dummy target for uncheckable module.
+.PHONY: check-target-libtermcap
 check-target-libtermcap:
 
 
 .PHONY: install-target-libtermcap maybe-install-target-libtermcap
 maybe-install-target-libtermcap:
-
 install-target-libtermcap: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6649,9 +6179,7 @@
 	(cd $(TARGET_SUBDIR)/winsup && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-winsup maybe-check-target-winsup
-maybe-check-target-winsup:
-
+.PHONY: check-target-winsup
 check-target-winsup:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6662,7 +6190,6 @@
 
 .PHONY: install-target-winsup maybe-install-target-winsup
 maybe-install-target-winsup:
-
 install-target-winsup: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6752,16 +6279,13 @@
 	(cd $(TARGET_SUBDIR)/libgloss && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-libgloss maybe-check-target-libgloss
-maybe-check-target-libgloss:
-
 # Dummy target for uncheckable module.
+.PHONY: check-target-libgloss
 check-target-libgloss:
 
 
 .PHONY: install-target-libgloss maybe-install-target-libgloss
 maybe-install-target-libgloss:
-
 install-target-libgloss: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6851,9 +6375,7 @@
 	(cd $(TARGET_SUBDIR)/libiberty && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-libiberty maybe-check-target-libiberty
-maybe-check-target-libiberty:
-
+.PHONY: check-target-libiberty
 check-target-libiberty:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6864,7 +6386,6 @@
 
 .PHONY: install-target-libiberty maybe-install-target-libiberty
 maybe-install-target-libiberty:
-
 install-target-libiberty: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6954,9 +6475,7 @@
 	(cd $(TARGET_SUBDIR)/gperf && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-gperf maybe-check-target-gperf
-maybe-check-target-gperf:
-
+.PHONY: check-target-gperf
 check-target-gperf:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -6967,7 +6486,6 @@
 
 .PHONY: install-target-gperf maybe-install-target-gperf
 maybe-install-target-gperf:
-
 install-target-gperf: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7057,16 +6575,13 @@
 	(cd $(TARGET_SUBDIR)/examples && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-examples maybe-check-target-examples
-maybe-check-target-examples:
-
 # Dummy target for uncheckable module.
+.PHONY: check-target-examples
 check-target-examples:
 
 
 .PHONY: install-target-examples maybe-install-target-examples
 maybe-install-target-examples:
-
 # Dummy target for uninstallable.
 install-target-examples:
 
@@ -7152,9 +6667,7 @@
 	(cd $(TARGET_SUBDIR)/libffi && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-libffi maybe-check-target-libffi
-maybe-check-target-libffi:
-
+.PHONY: check-target-libffi
 check-target-libffi:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7165,7 +6678,6 @@
 
 .PHONY: install-target-libffi maybe-install-target-libffi
 maybe-install-target-libffi:
-
 install-target-libffi: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7256,9 +6768,7 @@
 	(cd $(TARGET_SUBDIR)/libjava && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  all)
 
-.PHONY: check-target-libjava maybe-check-target-libjava
-maybe-check-target-libjava:
-
+.PHONY: check-target-libjava
 check-target-libjava:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7269,7 +6779,6 @@
 
 .PHONY: install-target-libjava maybe-install-target-libjava
 maybe-install-target-libjava:
-
 install-target-libjava: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7359,9 +6868,7 @@
 	(cd $(TARGET_SUBDIR)/zlib && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-zlib maybe-check-target-zlib
-maybe-check-target-zlib:
-
+.PHONY: check-target-zlib
 check-target-zlib:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7372,7 +6879,6 @@
 
 .PHONY: install-target-zlib maybe-install-target-zlib
 maybe-install-target-zlib:
-
 install-target-zlib: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7462,9 +6968,7 @@
 	(cd $(TARGET_SUBDIR)/boehm-gc && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-boehm-gc maybe-check-target-boehm-gc
-maybe-check-target-boehm-gc:
-
+.PHONY: check-target-boehm-gc
 check-target-boehm-gc:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7475,7 +6979,6 @@
 
 .PHONY: install-target-boehm-gc maybe-install-target-boehm-gc
 maybe-install-target-boehm-gc:
-
 install-target-boehm-gc: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7565,9 +7068,7 @@
 	(cd $(TARGET_SUBDIR)/qthreads && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-qthreads maybe-check-target-qthreads
-maybe-check-target-qthreads:
-
+.PHONY: check-target-qthreads
 check-target-qthreads:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7578,7 +7079,6 @@
 
 .PHONY: install-target-qthreads maybe-install-target-qthreads
 maybe-install-target-qthreads:
-
 install-target-qthreads: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7668,9 +7168,7 @@
 	(cd $(TARGET_SUBDIR)/rda && \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  all)
 
-.PHONY: check-target-rda maybe-check-target-rda
-maybe-check-target-rda:
-
+.PHONY: check-target-rda
 check-target-rda:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -7681,7 +7179,6 @@
 
 .PHONY: install-target-rda maybe-install-target-rda
 maybe-install-target-rda:
-
 install-target-rda: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
diff --git a/Makefile.tpl b/Makefile.tpl
index f0f5968..2028e94 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -554,16 +554,8 @@
 
 GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS)
 
-.PHONY: configure-host
-configure-host: maybe-configure-gcc [+
-  FOR host_modules +] \
-    maybe-configure-[+module+][+
-  ENDFOR host_modules +]
-.PHONY: configure-target
-configure-target: [+
-  FOR target_modules +] \
-    maybe-configure-target-[+module+][+
-  ENDFOR target_modules +]
+configure-host: @configure_host_modules@
+configure-target: @configure_target_modules@
 
 # This is a list of the targets for which we can do a clean-{target}.
 CLEAN_MODULES =[+
@@ -586,19 +578,14 @@
 	clean-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +]
 
 # The target built for a native build.
+# This list only includes modules actually being configured and built.
 .PHONY: all.normal
-all.normal: @all_build_modules@ all-host all-target
+all.normal: @all_build_modules@ \
+	@all_host_modules@ \
+	@all_target_modules@
 
-.PHONY: all-host
-all-host: maybe-all-gcc [+
-  FOR host_modules +] \
-    maybe-all-[+module+][+
-  ENDFOR host_modules +]
-.PHONY: all-target
-all-target: [+
-  FOR target_modules +] \
-    maybe-all-target-[+module+][+
-  ENDFOR target_modules +]
+all-host: @all_host_modules@
+all-target: @all_target_modules@
 
 # Do a target for all the subdirectories.  A ``make do-X'' will do a
 # ``make X'' in all subdirectories (because, in general, there is a
@@ -743,13 +730,8 @@
 	$(MAKE) do-check NOTPARALLEL=parallel-ok
 
 # Only include modules actually being configured and built.
-do-check: maybe-check-gcc [+
-  FOR host_modules +] \
-    maybe-check-[+module+][+
-  ENDFOR host_modules +][+
-  FOR target_modules +] \
-    maybe-check-target-[+module+][+
-  ENDFOR target_modules +]
+do-check: @check_host_modules@ \
+	@check_target_modules@
 
 # Automated reporting of test results.
 
@@ -775,25 +757,9 @@
 # Installation targets.
 
 .PHONY: install uninstall
-install: installdirs install-host install-target
+install: installdirs @install_host_modules@ @install_target_modules@
 
-.PHONY: install-host-nogcc
-install-host-nogcc: [+
-  FOR host_modules +] \
-    maybe-install-[+module+][+
-  ENDFOR host_modules +]
-
-.PHONY: install-host
-install-host: maybe-install-gcc [+
-  FOR host_modules +] \
-    maybe-install-[+module+][+
-  ENDFOR host_modules +]
-
-.PHONY: install-target
-install-target: [+
-  FOR target_modules +] \
-    maybe-install-target-[+module+][+
-  ENDFOR target_modules +]
+install-target: @install_target_modules@
 
 uninstall:
 	@echo "the uninstall target is not supported in this tree"
@@ -812,8 +778,8 @@
 # install-no-fixedincludes is used because Cygnus can not distribute
 # the fixed header files.
 .PHONY: install-no-fixedincludes
-install-no-fixedincludes: installdirs install-host-nogcc \
-	install-target gcc-no-fixedincludes
+install-no-fixedincludes: installdirs @install_host_modules_nogcc@ \
+	@install_target_modules@ gcc-no-fixedincludes
 
 ### other supporting targets
 
@@ -974,11 +940,11 @@
 	    +] $(X11_FLAGS_TO_PASS)[+ 
 	  ENDIF with_x +] all)
 
-.PHONY: check-[+module+] maybe-check-[+module+]
-maybe-check-[+module+]:
 [+ IF no_check +]
+.PHONY: check-[+module+]
 check-[+module+]:
 [+ ELIF no_check_cross +]
+.PHONY: check-[+module+]
 # This module is only tested in a native toolchain.
 check-[+module+]:
 	@if [ '$(host_canonical)' = '$(target_canonical)' ] ; then \
@@ -991,6 +957,7 @@
 	    ENDIF with_x +] check); \
 	fi
 [+ ELSE check +]
+.PHONY: check-[+module+]
 check-[+module+]:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -1001,11 +968,13 @@
 	  ENDIF with_x +] check)
 [+ ENDIF no_check +]
 
+[+ IF no_install +]
 .PHONY: install-[+module+] maybe-install-[+module+]
 maybe-install-[+module+]:
-[+ IF no_install +]
 install-[+module+]:
 [+ ELSE install +]
+.PHONY: install-[+module+] maybe-install-[+module+]
+maybe-install-[+module+]:
 install-[+module+]: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -1110,13 +1079,12 @@
 	  +] 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' [+ 
 	    ENDIF raw_cxx 
 	  +] all)
-
-.PHONY: check-target-[+module+] maybe-check-target-[+module+]
-maybe-check-target-[+module+]:
 [+ IF no_check +]
 # Dummy target for uncheckable module.
+.PHONY: check-target-[+module+]
 check-target-[+module+]:
 [+ ELSE check +]
+.PHONY: check-target-[+module+]
 check-target-[+module+]:
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
@@ -1128,13 +1096,14 @@
 	    ENDIF raw_cxx 
 	  +] check)
 [+ ENDIF no_check +]
-
+[+ IF no_install +]
 .PHONY: install-target-[+module+] maybe-install-target-[+module+]
 maybe-install-target-[+module+]:
-[+ IF no_install +]
 # Dummy target for uninstallable.
 install-target-[+module+]:
 [+ ELSE install +]
+.PHONY: install-target-[+module+] maybe-install-target-[+module+]
+maybe-install-target-[+module+]:
 install-target-[+module+]: installdirs
 	@r=`${PWD}`; export r; \
 	s=`cd $(srcdir); ${PWD}`; export s; \
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4b44b40..3df4fc8 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,58 +1,3 @@
-2003-05-21  Marcus Comstedt  <marcus@mc.pp.se>
-
-	* config.bfd: Check for a target triplet of shl-...-netbsdelf as
-	well as shle-...-netbsdelf.  Remove duplicate entry.
-
-2003-05-21  Nick Clifton  <nickc@redhat.com>
-
-	* elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
-	for X_STORMY16_REL_12 reloc.
-
-	* elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
-	the type of the has table in the bfd_link_info structure.
-	(bfd_elf_get_runpath_list): Likewise.
-
-2003-05-19  Roland McGrath  <roland@redhat.com>
-
-	* elf.c (bfd_elf_bfd_from_remote_memory): New function.
-	* bfd-in.h: Declare it.
-	* bfd-in2.h: Regenerated.
-	* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
-	* elf-bfd.h (struct elf_backend_data): New function pointer member
-	elf_backend_bfd_from_remote_memory.
-	(_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
-	Declare them.
-	* elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
-	(elfNN_bed): Add that to the initializer.
-
-2003-05-15  Roland McGrath  <roland@redhat.com>
-
-	* elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
-
-2003-05-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* elflink.h (elf_link_output_extsym): Only issue error about !=
-	STV_DEFAULT symbols if they are bfd_link_hash_undefined.
-
-2003-05-20  H.J. Lu <hongjiu.lu@intel.com>
-
-	* elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
-	when removing the old definition for symbols with non-default
-	visibility.
-
-2003-05-18  Jason Eckhardt  <jle@rice.edu>
-
-	* elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
-
-2003-05-17  Andreas Schwab  <schwab@suse.de>
-
-	* elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
-	elf_section_data during processing of pc-relative and absolute
-	relocations.
-	(elf_m68k_relocate_section): Use the cached reloc section instead
-	of computing it again.  Fix handling of visibility.  Don't modify
-	addend when copying over a relocation into the output.
-
 2003-05-17  Alan Modra  <amodra@bigpond.net.au>
 
 	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
@@ -367,7 +312,7 @@
 	(elf_i386_relocate_section): Initialize the GOT entries and
 	skip R_386_32/R_386_PC32 for weak undefined symbols with
 	non-default visibility.
-
+ 
 	* elfxx-ia64.c (allocate_fptr): Don't allocate function
 	descriptors for weak undefined symbols with non-default
 	visibility.
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index fdf5f1c..93fd0fd 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -694,22 +694,6 @@
 extern int bfd_get_elf_phdrs
   PARAMS ((bfd *abfd, void *phdrs));
 
-/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
-   reconstruct an ELF file by reading the segments out of remote memory
-   based on the ELF file header at EHDR_VMA and the ELF program headers it
-   points to.  If not null, *LOADBASEP is filled in with the difference
-   between the VMAs from which the segments were read, and the VMAs the
-   file headers (and hence BFD's idea of each section's VMA) put them at.
-
-   The function TARGET_READ_MEMORY is called to copy LEN bytes from the
-   remote memory at target address VMA into the local buffer at MYADDR; it
-   should return zero on success or an `errno' code on failure.  TEMPL must
-   be a BFD for an ELF target with the word size and byte order found in
-   the remote memory.  */
-extern bfd *bfd_elf_bfd_from_remote_memory
-  PARAMS ((bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
-	   int (*target_read_memory) (bfd_vma vma, char *myaddr, int len)));
-
 /* Return the arch_size field of an elf bfd, or -1 if not elf.  */
 extern int bfd_get_arch_size
   PARAMS ((bfd *));
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 8df80a0..4f7014e 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1,7 +1,7 @@
-/* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically
-   generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c",
-   "bfdio.c", "bfdwin.c", "section.c", "archures.c", "reloc.c",
-   "syms.c", "bfd.c", "archive.c", "corefile.c", "targets.c", "format.c",
+/* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically 
+   generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c", 
+   "bfdio.c", "bfdwin.c", "section.c", "archures.c", "reloc.c", 
+   "syms.c", "bfd.c", "archive.c", "corefile.c", "targets.c", "format.c", 
    "linker.c" and "simple.c".
    Run "make headers" in your build bfd/ to regenerate.  */
 
@@ -701,22 +701,6 @@
 extern int bfd_get_elf_phdrs
   PARAMS ((bfd *abfd, void *phdrs));
 
-/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
-   reconstruct an ELF file by reading the segments out of remote memory
-   based on the ELF file header at EHDR_VMA and the ELF program headers it
-   points to.  If not null, *LOADBASEP is filled in with the difference
-   between the VMAs from which the segments were read, and the VMAs the
-   file headers (and hence BFD's idea of each section's VMA) put them at.
-
-   The function TARGET_READ_MEMORY is called to copy LEN bytes from the
-   remote memory at target address VMA into the local buffer at MYADDR; it
-   should return zero on success or an `errno' code on failure.  TEMPL must
-   be a BFD for an ELF target with the word size and byte order found in
-   the remote memory.  */
-extern bfd *bfd_elf_bfd_from_remote_memory
-  PARAMS ((bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
-	   int (*target_read_memory) (bfd_vma vma, char *myaddr, int len)));
-
 /* Return the arch_size field of an elf bfd, or -1 if not elf.  */
 extern int bfd_get_arch_size
   PARAMS ((bfd *));
@@ -1792,7 +1776,7 @@
 #define bfd_mach_msp43          43
 #define bfd_mach_msp44          44
 #define bfd_mach_msp15          15
-#define bfd_mach_msp16          16
+#define bfd_mach_msp16          16  
   bfd_arch_xtensa,    /* Tensilica's Xtensa cores.  */
 #define bfd_mach_xtensa        1
   bfd_arch_last
@@ -3480,14 +3464,14 @@
   BFD_RELOC_XTENSA_OP1,
   BFD_RELOC_XTENSA_OP2,
 
-/* Xtensa relocation to mark that the assembler expanded the
+/* Xtensa relocation to mark that the assembler expanded the 
 instructions from an original target.  The expansion size is
 encoded in the reloc size.  */
   BFD_RELOC_XTENSA_ASM_EXPAND,
 
-/* Xtensa relocation to mark that the linker should simplify
-assembler-expanded instructions.  This is commonly used
-internally by the linker after analysis of a
+/* Xtensa relocation to mark that the linker should simplify 
+assembler-expanded instructions.  This is commonly used 
+internally by the linker after analysis of a 
 BFD_RELOC_XTENSA_ASM_EXPAND.  */
   BFD_RELOC_XTENSA_ASM_SIMPLIFY,
   BFD_RELOC_UNUSED };
diff --git a/bfd/config.bfd b/bfd/config.bfd
index d93b071..d0de1d8 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -1016,13 +1016,17 @@
     ;;
 #endif
 
-  sh*l*-*-netbsdelf*)
+  shle-*-netbsdelf*)
     targ_defvec=bfd_elf32_shlnbsd_vec
     targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
 #ifdef BFD64
     targ_selvecs="${targ_selvecs} bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
 #endif
     ;;
+  sh*le-*-netbsdelf*)
+    targ_defvec=bfd_elf32_shlnbsd_vec
+    targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
+    ;;
   sh-*-netbsdelf*)
     targ_defvec=bfd_elf32_shnbsd_vec
     targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 1da6055..46f612a 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -875,12 +875,6 @@
      Used for the MIPS ELF .mdebug section.  */
   const struct ecoff_debug_swap *elf_backend_ecoff_debug_swap;
 
-  /* This function implements `bfd_elf_bfd_from_remote_memory';
-     see elf.c, elfcode.h.  */
-  bfd *(*elf_backend_bfd_from_remote_memory)
-     PARAMS ((bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
-	      int (*target_read_memory) (bfd_vma vma, char *myaddr, int len)));
-
   /* Alternate EM_xxxx machine codes for this backend.  */
   int elf_machine_alt1;
   int elf_machine_alt2;
@@ -1756,13 +1750,6 @@
 extern char *elfcore_write_lwpstatus
   PARAMS ((bfd *, char *, int *, long, int, const PTR));
 
-extern bfd *_bfd_elf32_bfd_from_remote_memory
-  PARAMS ((bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
-	   int (*target_read_memory) (bfd_vma, char *, int)));
-extern bfd *_bfd_elf64_bfd_from_remote_memory
-  PARAMS ((bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep,
-	   int (*target_read_memory) (bfd_vma, char *, int)));
-
 /* SH ELF specific routine.  */
 
 extern bfd_boolean _sh_elf_set_mach_from_flags
diff --git a/bfd/elf.c b/bfd/elf.c
index 66383e7..fa4416d 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1616,7 +1616,7 @@
      bfd *abfd ATTRIBUTE_UNUSED;
      struct bfd_link_info *info;
 {
-  if (! is_elf_hash_table (info))
+  if (info->hash->creator->flavour != bfd_target_elf_flavour)
     return NULL;
   return elf_hash_table (info)->needed;
 }
@@ -1629,7 +1629,7 @@
      bfd *abfd ATTRIBUTE_UNUSED;
      struct bfd_link_info *info;
 {
-  if (! is_elf_hash_table (info))
+  if (info->hash->creator->flavour != bfd_target_elf_flavour)
     return NULL;
   return elf_hash_table (info)->runpath;
 }
@@ -6884,20 +6884,6 @@
 #else
       return TRUE;
 #endif
-
-    case NT_AUXV:
-      {
-	asection *sect = bfd_make_section (abfd, ".auxv");
-
-	if (sect == NULL)
-	  return FALSE;
-	sect->_raw_size = note->descsz;
-	sect->filepos = note->descpos;
-	sect->flags = SEC_HAS_CONTENTS;
-	sect->alignment_power = 1 + bfd_get_arch_size (abfd) / 32;
-
-	return TRUE;
-      }
     }
 }
 
@@ -7549,27 +7535,3 @@
       return offset;
     }
 }
-
-/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
-   reconstruct an ELF file by reading the segments out of remote memory
-   based on the ELF file header at EHDR_VMA and the ELF program headers it
-   points to.  If not null, *LOADBASEP is filled in with the difference
-   between the VMAs from which the segments were read, and the VMAs the
-   file headers (and hence BFD's idea of each section's VMA) put them at.
-
-   The function TARGET_READ_MEMORY is called to copy LEN bytes from the
-   remote memory at target address VMA into the local buffer at MYADDR; it
-   should return zero on success or an `errno' code on failure.  TEMPL must
-   be a BFD for an ELF target with the word size and byte order found in
-   the remote memory.  */
-
-bfd *
-bfd_elf_bfd_from_remote_memory (templ, ehdr_vma, loadbasep, target_read_memory)
-     bfd *templ;
-     bfd_vma ehdr_vma;
-     bfd_vma *loadbasep;
-     int (*target_read_memory) PARAMS ((bfd_vma vma, char *myaddr, int len));
-{
-  return (*get_elf_backend_data (templ)->elf_backend_bfd_from_remote_memory)
-    (templ, ehdr_vma, loadbasep, target_read_memory);
-}
diff --git a/bfd/elf32-i860.c b/bfd/elf32-i860.c
index 74112f1..7a132c6 100644
--- a/bfd/elf32-i860.c
+++ b/bfd/elf32-i860.c
@@ -803,7 +803,7 @@
   insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
 
   value += rel->r_addend;
-  value += 0x8000; 
+  value += (value & 0x8000) << 1; 
   value = ((value >> 16) & 0xffff);
 
   insn = (insn & 0xffff0000) | value;
diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c
index 1cf23d6..fc3a2af 100644
--- a/bfd/elf32-m68k.c
+++ b/bfd/elf32-m68k.c
@@ -673,7 +673,6 @@
 			  || !bfd_set_section_alignment (dynobj, sreloc, 2))
 			return FALSE;
 		    }
-		  elf_section_data (sec)->sreloc = sreloc;
 		}
 
 	      if (sec->flags & SEC_READONLY
@@ -1628,17 +1627,12 @@
 	  if (info->shared
 	      && r_symndx != 0
 	      && (input_section->flags & SEC_ALLOC) != 0
-	      && (h == NULL
-		  || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
-		  || h->root.type != bfd_link_hash_undefweak)
 	      && ((r_type != R_68K_PC8
 		   && r_type != R_68K_PC16
 		   && r_type != R_68K_PC32)
-		  || (h != NULL
-		      && h->dynindx != -1
-		      && (!info->symbolic
-			  || (h->elf_link_hash_flags
-			      & ELF_LINK_HASH_DEF_REGULAR) == 0))))
+		  || (!info->symbolic
+		      || (h->elf_link_hash_flags
+			  & ELF_LINK_HASH_DEF_REGULAR) == 0)))
 	    {
 	      Elf_Internal_Rela outrel;
 	      bfd_byte *loc;
@@ -1648,6 +1642,26 @@
 		 are copied into the output file to be resolved at run
 		 time.  */
 
+	      if (sreloc == NULL)
+		{
+		  const char *name;
+
+		  name = (bfd_elf_string_from_elf_section
+			  (input_bfd,
+			   elf_elfheader (input_bfd)->e_shstrndx,
+			   elf_section_data (input_section)->rel_hdr.sh_name));
+		  if (name == NULL)
+		    return FALSE;
+
+		  BFD_ASSERT (strncmp (name, ".rela", 5) == 0
+			      && strcmp (bfd_get_section_name (input_bfd,
+							       input_section),
+					 name + 5) == 0);
+
+		  sreloc = bfd_get_section_by_name (dynobj, name);
+		  BFD_ASSERT (sreloc != NULL);
+		}
+
 	      skip = FALSE;
 	      relocate = FALSE;
 
@@ -1663,22 +1677,19 @@
 
 	      if (skip)
 		memset (&outrel, 0, sizeof outrel);
+	      /* h->dynindx may be -1 if the symbol was marked to
+                 become local.  */
 	      else if (h != NULL
-		       && h->dynindx != -1
-		       && (r_type == R_68K_PC8
-			   || r_type == R_68K_PC16
-			   || r_type == R_68K_PC32
-			   || !info->shared
-			   || !info->symbolic
+		       && ((! info->symbolic && h->dynindx != -1)
 			   || (h->elf_link_hash_flags
 			       & ELF_LINK_HASH_DEF_REGULAR) == 0))
 		{
+		  BFD_ASSERT (h->dynindx != -1);
 		  outrel.r_info = ELF32_R_INFO (h->dynindx, r_type);
-		  outrel.r_addend = rel->r_addend;
+		  outrel.r_addend = relocation + rel->r_addend;
 		}
 	      else
 		{
-		  /* This symbol is local, or marked to become local.  */
 		  if (r_type == R_68K_32)
 		    {
 		      relocate = TRUE;
@@ -1719,10 +1730,6 @@
 		    }
 		}
 
-	      sreloc = elf_section_data (input_section)->sreloc;
-	      if (sreloc == NULL)
-		abort ();
-
 	      loc = sreloc->contents;
 	      loc += sreloc->reloc_count++ * sizeof (Elf32_External_Rela);
 	      bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc);
diff --git a/bfd/elf32-xstormy16.c b/bfd/elf32-xstormy16.c
index c05c186..a5b2869 100644
--- a/bfd/elf32-xstormy16.c
+++ b/bfd/elf32-xstormy16.c
@@ -176,7 +176,7 @@
 	 "R_XSTORMY16_REL_12",	/* name */
 	 FALSE,			/* partial_inplace */
 	 0,			/* src_mask */
-	 0x0ffe,		/* dst_mask */
+	 0x0fff,		/* dst_mask */
 	 TRUE),			/* pcrel_offset */
 
   /* A 24-bit absolute relocation suitable for the jump instructions.  */
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index 55c5b42..0be8048 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -1568,232 +1568,6 @@
 }
 #endif
 
-/* Create a new BFD as if by bfd_openr.  Rather than opening a file,
-   reconstruct an ELF file by reading the segments out of remote memory
-   based on the ELF file header at EHDR_VMA and the ELF program headers it
-   points to.  If not null, *LOADBASEP is filled in with the difference
-   between the VMAs from which the segments were read, and the VMAs the
-   file headers (and hence BFD's idea of each section's VMA) put them at.
-
-   The function TARGET_READ_MEMORY is called to copy LEN bytes from the
-   remote memory at target address VMA into the local buffer at MYADDR; it
-   should return zero on success or an `errno' code on failure.  TEMPL must
-   be a BFD for a target with the word size and byte order found in the
-   remote memory.  */
-
-bfd *
-NAME(_bfd_elf,bfd_from_remote_memory) (templ, ehdr_vma, loadbasep,
-				       target_read_memory)
-     bfd *templ;
-     bfd_vma ehdr_vma;
-     bfd_vma *loadbasep;
-     int (*target_read_memory) PARAMS ((bfd_vma vma, char *myaddr, int len));
-{
-  Elf_External_Ehdr x_ehdr;	/* Elf file header, external form */
-  Elf_Internal_Ehdr i_ehdr;	/* Elf file header, internal form */
-  Elf_External_Phdr *x_phdrs;
-  Elf_Internal_Phdr *i_phdrs, *last_phdr;
-  bfd *nbfd;
-  struct bfd_in_memory *bim;
-  int contents_size;
-  char *contents;
-  int err;
-  unsigned int i;
-  bfd_vma loadbase;
-
-  /* Read in the ELF header in external format.  */
-  err = target_read_memory (ehdr_vma, (char *) &x_ehdr, sizeof x_ehdr);
-  if (err)
-    {
-      bfd_set_error (bfd_error_system_call);
-      errno = err;
-      return NULL;
-    }
-
-  /* Now check to see if we have a valid ELF file, and one that BFD can
-     make use of.  The magic number must match, the address size ('class')
-     and byte-swapping must match our XVEC entry.  */
-
-  if (! elf_file_p (&x_ehdr)
-      || x_ehdr.e_ident[EI_VERSION] != EV_CURRENT
-      || x_ehdr.e_ident[EI_CLASS] != ELFCLASS)
-    {
-      bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  /* Check that file's byte order matches xvec's */
-  switch (x_ehdr.e_ident[EI_DATA])
-    {
-    case ELFDATA2MSB:		/* Big-endian */
-      if (! bfd_header_big_endian (templ))
-	{
-	  bfd_set_error (bfd_error_wrong_format);
-	  return NULL;
-	}
-      break;
-    case ELFDATA2LSB:		/* Little-endian */
-      if (! bfd_header_little_endian (templ))
-	{
-	  bfd_set_error (bfd_error_wrong_format);
-	  return NULL;
-	}
-      break;
-    case ELFDATANONE:		/* No data encoding specified */
-    default:			/* Unknown data encoding specified */
-      bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  elf_swap_ehdr_in (templ, &x_ehdr, &i_ehdr);
-
-  /* The file header tells where to find the program headers.
-     These are what we use to actually choose what to read.  */
-
-  if (i_ehdr.e_phentsize != sizeof (Elf_External_Phdr) || i_ehdr.e_phnum == 0)
-    {
-      bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  x_phdrs = (Elf_External_Phdr *)
-    bfd_malloc (i_ehdr.e_phnum * (sizeof *x_phdrs + sizeof *i_phdrs));
-  if (x_phdrs == NULL)
-    {
-      bfd_set_error (bfd_error_no_memory);
-      return NULL;
-    }
-  err = target_read_memory (ehdr_vma + i_ehdr.e_phoff, (char *) x_phdrs,
-			    i_ehdr.e_phnum * sizeof x_phdrs[0]);
-  if (err)
-    {
-      free (x_phdrs);
-      bfd_set_error (bfd_error_system_call);
-      errno = err;
-      return NULL;
-    }
-  i_phdrs = (Elf_Internal_Phdr *) &x_phdrs[i_ehdr.e_phnum];
-
-  contents_size = 0;
-  last_phdr = NULL;
-  loadbase = ehdr_vma;
-  for (i = 0; i < i_ehdr.e_phnum; ++i)
-    {
-      elf_swap_phdr_in (templ, &x_phdrs[i], &i_phdrs[i]);
-      if (i_phdrs[i].p_type == PT_LOAD)
-	{
-	  bfd_vma segment_end;
-	  segment_end = (i_phdrs[i].p_offset + i_phdrs[i].p_filesz
-			 + i_phdrs[i].p_align - 1) & -i_phdrs[i].p_align;
-	  if (segment_end > (bfd_vma) contents_size)
-	    contents_size = segment_end;
-
-	  if ((i_phdrs[i].p_offset & -i_phdrs[i].p_align) == 0)
-	    loadbase = ehdr_vma - (i_phdrs[i].p_vaddr & -i_phdrs[i].p_align);
-
-	  last_phdr = &i_phdrs[i];
-	}
-    }
-  if (last_phdr == NULL)
-    {
-      /* There were no PT_LOAD segments, so we don't have anything to read.  */
-      free (x_phdrs);
-      bfd_set_error (bfd_error_wrong_format);
-      return NULL;
-    }
-
-  /* Trim the last segment so we don't bother with zeros in the last page
-     that are off the end of the file.  However, if the extra bit in that
-     page includes the section headers, keep them.  */
-  if ((bfd_vma) contents_size > last_phdr->p_offset + last_phdr->p_filesz
-      && (bfd_vma) contents_size >= (i_ehdr.e_shoff
-				     + i_ehdr.e_shnum * i_ehdr.e_shentsize))
-    {
-      contents_size = last_phdr->p_offset + last_phdr->p_filesz;
-      if ((bfd_vma) contents_size < (i_ehdr.e_shoff
-				     + i_ehdr.e_shnum * i_ehdr.e_shentsize))
-	contents_size = i_ehdr.e_shoff + i_ehdr.e_shnum * i_ehdr.e_shentsize;
-    }
-  else
-    contents_size = last_phdr->p_offset + last_phdr->p_filesz;
-
-  /* Now we know the size of the whole image we want read in.  */
-  contents = (char *) bfd_zmalloc ((bfd_size_type) contents_size);
-  if (contents == NULL)
-    {
-      free (x_phdrs);
-      bfd_set_error (bfd_error_no_memory);
-      return NULL;
-    }
-
-  for (i = 0; i < i_ehdr.e_phnum; ++i)
-    if (i_phdrs[i].p_type == PT_LOAD)
-      {
-	bfd_vma start = i_phdrs[i].p_offset & -i_phdrs[i].p_align;
-	bfd_vma end = (i_phdrs[i].p_offset + i_phdrs[i].p_filesz
-		       + i_phdrs[i].p_align - 1) & -i_phdrs[i].p_align;
-	if (end > (bfd_vma) contents_size)
-	  end = contents_size;
-	err = target_read_memory ((loadbase + i_phdrs[i].p_vaddr)
-				  & -i_phdrs[i].p_align,
-				  contents + start, end - start);
-	if (err)
-	  {
-	    free (x_phdrs);
-	    free (contents);
-	    bfd_set_error (bfd_error_system_call);
-	    errno = err;
-	    return NULL;
-	  }
-      }
-  free (x_phdrs);
-
-  /* If the segments visible in memory didn't include the section headers,
-     then clear them from the file header.  */
-  if ((bfd_vma) contents_size < (i_ehdr.e_shoff
-				 + i_ehdr.e_shnum * i_ehdr.e_shentsize))
-    {
-      memset (&x_ehdr.e_shoff, 0, sizeof x_ehdr.e_shoff);
-      memset (&x_ehdr.e_shnum, 0, sizeof x_ehdr.e_shnum);
-      memset (&x_ehdr.e_shstrndx, 0, sizeof x_ehdr.e_shstrndx);
-    }
-
-  /* This will normally have been in the first PT_LOAD segment.  But it
-     conceivably could be missing, and we might have just changed it.  */
-  memcpy (contents, &x_ehdr, sizeof x_ehdr);
-
-  /* Now we have a memory image of the ELF file contents.  Make a BFD.  */
-  bim = ((struct bfd_in_memory *)
-	 bfd_malloc ((bfd_size_type) sizeof (struct bfd_in_memory)));
-  if (bim == NULL)
-    {
-      free (contents);
-      bfd_set_error (bfd_error_no_memory);
-      return NULL;
-    }
-  nbfd = _bfd_new_bfd ();
-  if (nbfd == NULL)
-    {
-      free (bim);
-      free (contents);
-      bfd_set_error (bfd_error_no_memory);
-      return NULL;
-    }
-  nbfd->filename = "<in-memory>";
-  nbfd->xvec = templ->xvec;
-  bim->size = contents_size;
-  bim->buffer = contents;
-  nbfd->iostream = (PTR) bim;
-  nbfd->flags = BFD_IN_MEMORY;
-  nbfd->direction = read_direction;
-  nbfd->mtime = time (NULL);
-  nbfd->mtime_set = TRUE;
-
-  if (loadbasep)
-    *loadbasep = loadbase;
-  return nbfd;
-}
-
 #include "elfcore.h"
 #include "elflink.h"
 
diff --git a/bfd/elflink.c b/bfd/elflink.c
index cc31186..3b0d353 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -884,8 +884,7 @@
       if (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC)
 	{
 	  h->elf_link_hash_flags &= ~ELF_LINK_HASH_DEF_DYNAMIC;
-	  h->elf_link_hash_flags |= (ELF_LINK_HASH_REF_DYNAMIC
-				     | ELF_LINK_DYNAMIC_DEF);
+	  h->elf_link_hash_flags |= ELF_LINK_HASH_REF_DYNAMIC;
 	}
       /* FIXME: Should we check type and size for protected symbol?  */
       h->size = 0;
diff --git a/bfd/elflink.h b/bfd/elflink.h
index 7b32491..ab8c7de 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -4622,7 +4622,7 @@
   if (! finfo->info->relocateable
       && ELF_ST_VISIBILITY (sym.st_other) != STV_DEFAULT
       && ELF_ST_BIND (sym.st_info) != STB_WEAK
-      && h->root.type == bfd_link_hash_undefined
+      && h->root.type != bfd_link_hash_undefweak
       && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
     {
       (*_bfd_error_handler)
diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h
index 58a96b1..734d78b 100644
--- a/bfd/elfxx-target.h
+++ b/bfd/elfxx-target.h
@@ -338,9 +338,6 @@
 #ifndef elf_backend_ecoff_debug_swap
 #define elf_backend_ecoff_debug_swap	0
 #endif
-#ifndef elf_backend_bfd_from_remote_memory
-#define elf_backend_bfd_from_remote_memory _bfd_elfNN_bfd_from_remote_memory
-#endif
 #ifndef elf_backend_got_header_size
 #define elf_backend_got_header_size	0
 #endif
@@ -493,7 +490,6 @@
   elf_backend_mips_irix_compat,
   elf_backend_mips_rtype_to_howto,
   elf_backend_ecoff_debug_swap,
-  elf_backend_bfd_from_remote_memory,
   ELF_MACHINE_ALT1,
   ELF_MACHINE_ALT2,
   &elf_backend_size_info,
diff --git a/bfd/version.h b/bfd/version.h
index 0e17386..cb98fca 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,3 +1,3 @@
-#define BFD_VERSION_DATE 20030521
+#define BFD_VERSION_DATE 20030517
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING @bfd_version_string@
diff --git a/config/ChangeLog b/config/ChangeLog
index 13d3c88..091f6fd 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,13 +1,3 @@
-2003-05-14  Kelley Cook  <kelleycook@wideopenwest.com>
-
-	* acinclude.m4: Accept i[3456789]86 for machine type.
-
-2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>
-
-	* config/acx.m4: Introduce _GCC_TOPLEV_NONCANONICAL_BUILD,
-	_GCC_TOPLEV_NONCANOICAL_HOST, _GCC_TOPLEV_NONCANONICAL_TARGET,
-	GCC_TOPLEV_SUBDIRS.
-
 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
 
 	* mh-dgux: Delete.
diff --git a/config/acinclude.m4 b/config/acinclude.m4
index c60373a..00887e0 100755
--- a/config/acinclude.m4
+++ b/config/acinclude.m4
@@ -788,7 +788,7 @@
 dnl is just to keep configure from stopping here.
 case "${host}" in
 changequote(,)
-   i[3456789]86-*-*) ac_cv_c_little_endian=yes ;;
+   i[3456]86-*-*) ac_cv_c_little_endian=yes ;;
    sparc*-*-*)    ac_cv_c_little_endian=no ;;
 changequote([,])
   *)    AC_MSG_WARN(Can't cross compile this test) ;;
diff --git a/config/acx.m4 b/config/acx.m4
index ea5cb07..4e16bcd 100644
--- a/config/acx.m4
+++ b/config/acx.m4
@@ -1,67 +1,6 @@
 # Autoconf M4 include file defining utility macros for complex Canadian
 # cross builds.
 
-dnl ####
-dnl # _GCC_TOPLEV_NONCANONICAL_BUILD
-dnl # $build_alias or canonical $build if blank.
-dnl # Used when we would use $build_alias, but empty is not OK.
-AC_DEFUN([_GCC_TOPLEV_NONCANONICAL_BUILD],
-[AC_REQUIRE([AC_CANONICAL_BUILD]) []dnl
-case ${build_alias} in
-  "") build_noncanonical=${build} ;;
-  *) build_noncanonical=${build_alias} ;;
-esac
-]) []dnl # _GCC_TOPLEV_NONCANONICAL_BUILD
-
-dnl ####
-dnl # _GCC_TOPLEV_NONCANONICAL_HOST
-dnl # $host_alias, or $build_noncanonical if blank.
-dnl # Used when we would use $host_alias, but empty is not OK.
-AC_DEFUN([_GCC_TOPLEV_NONCANONICAL_HOST],
-[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_BUILD]) []dnl
-case ${host_alias} in
-  "") host_noncanonical=${build_noncanonical} ;;
-  *) host_noncanonical=${host_alias} ;;
-esac
-]) []dnl # _GCC_TOPLEV_NONCANONICAL_HOST
-
-dnl ####
-dnl # _GCC_TOPLEV_NONCANONICAL_TARGET
-dnl # $target_alias or $host_noncanonical if blank.
-dnl # Used when we would use $target_alias, but empty is not OK.
-AC_DEFUN([_GCC_TOPLEV_NONCANONICAL_TARGET],
-[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_HOST]) []dnl
-case ${target_alias} in
-  "") target_noncanonical=${host_noncanonical} ;;
-  *) target_noncanonical=${target_alias} ;;
-esac
-]) []dnl # _GCC_TOPLEV_NONCANONICAL_TARGET
-
-dnl ####
-dnl # GCC_TOPLEV_SUBDIRS
-dnl # GCC & friends build 'build', 'host', and 'target' tools.  These must
-dnl # be separated into three well-known subdirectories of the build directory:
-dnl # build_subdir, host_subdir, and target_subdir.  The values are determined
-dnl # here so that they can (theoretically) be changed in the future.  They
-dnl # were previously reproduced across many different files.
-dnl #
-dnl # This logic really amounts to very little with autoconf 2.13; it will
-dnl # amount to a lot more with autoconf 2.5x.
-AC_DEFUN([GCC_TOPLEV_SUBDIRS],
-[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_TARGET]) []dnl
-AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_BUILD]) []dnl
-# Prefix 'build-' so this never conflicts with target_subdir.
-build_subdir="build-${build_noncanonical}"
-# Not really a subdirectory, but here for completeness.
-host_subdir=.
-# No prefix.
-target_subdir=${target_noncanonical}
-AC_SUBST([build_subdir]) []dnl
-AC_SUBST([host_subdir]) []dnl
-AC_SUBST([target_subdir]) []dnl
-]) []dnl # GCC_TOPLEV_SUBDIRS
-
-
 ####
 # _NCN_TOOL_PREFIXES:  Some stuff that oughtta be done in AC_CANONICAL_SYSTEM 
 # or AC_INIT.
diff --git a/configure b/configure
index fa3d44f..5d4aab1 100755
--- a/configure
+++ b/configure
@@ -661,11 +661,6 @@
 # Autoconf M4 include file defining utility macros for complex Canadian
 # cross builds.
 
- 
- 
- 
- 
-
 ####
 # _NCN_TOOL_PREFIXES:  Some stuff that oughtta be done in AC_CANONICAL_SYSTEM 
 # or AC_INIT.
@@ -829,16 +824,6 @@
 configdirs=`echo ${host_libs} ${host_tools}`
 target_configdirs=`echo ${target_libs} ${target_tools}`
 
-# Only make build modules if build != host.
-# This should be done more generally, but at the moment it doesn't matter.
-if test ${host_alias} != ${build_alias} ; then
-  # This is the only build module.
-  build_modules=libiberty
-else
-  build_modules=
-fi
-
-
 ################################################################################
 
 srcname="gnu development package"
@@ -854,29 +839,9 @@
   is_cross_compiler=yes
 fi	
 
-# Find the build and target subdirs.
- case ${build_alias} in
-  "") build_noncanonical=${build} ;;
-  *) build_noncanonical=${build_alias} ;;
-esac
-
- case ${host_alias} in
-  "") host_noncanonical=${build_noncanonical} ;;
-  *) host_noncanonical=${host_alias} ;;
-esac
-
- case ${target_alias} in
-  "") target_noncanonical=${host_noncanonical} ;;
-  *) target_noncanonical=${target_alias} ;;
-esac
-
-  # Prefix 'build-' so this never conflicts with target_subdir.
-build_subdir="build-${build_noncanonical}"
-# Not really a subdirectory, but here for completeness.
-host_subdir=.
-# No prefix.
-target_subdir=${target_noncanonical}
-   
+# 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
@@ -886,6 +851,9 @@
   fi
 fi
 
+build_prefix=build-
+build_subdir=${build_prefix}${build_alias}
+
 if test x"${build_alias}" != x"${host}" ; then
   if test ! -d ${build_subdir} ; then
     if mkdir ${build_subdir} ; then true
@@ -970,17 +938,17 @@
   hppa*64*-*-*)
     noconfigdirs="$noconfigdirs byacc"
     ;;
-  i[3456789]86-*-vsta)
+  i[3456]86-*-vsta)
     noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix gnuserv gettext"
     ;;
-  i[3456789]86-*-go32* | i[3456789]86-*-msdosdjgpp*)
+  i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
     noconfigdirs="tcl tk expect dejagnu send-pr uudecode guile itcl tix gnuserv libffi"
     ;;
-  i[3456789]86-*-mingw32*)
+  i[3456]86-*-mingw32*)
     # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix gnuserv"
     noconfigdirs="expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
     ;;
-  i[3456789]86-*-beos*)
+  i[3456]86-*-beos*)
     noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
     ;;
   *-*-cygwin*)
@@ -1187,13 +1155,13 @@
     # No gdb or ld support yet.
     noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
     ;;
-  i[3456789]86-*-coff | i[3456789]86-*-elf)
+  i[3456]86-*-coff | i[3456]86-*-elf)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  i[3456789]86-*-freebsd*)
+  i[34567]86-*-freebsd*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
-  i[3456789]86-*-linux*)
+  i[3456]86-*-linux*)
     # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
     # not build java stuff by default.
     case "${target}" in
@@ -1212,13 +1180,13 @@
     # if the --with-newlib option has been given, because otherwise
     # 'target-newlib' will appear in skipdirs.
     ;;
-  i[3456789]86-*-mingw32*)
+  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[3456789]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
+      i[3456]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
       *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix gnuserv"
          ;;
     esac
@@ -1236,24 +1204,24 @@
          ;;
     esac
     ;;    
-  i[3456789]86-*-pe)
+  i[3456]86-*-pe)
     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
     ;;
-  i[3456789]86-*-sco3.2v5*)
+  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[3456789]86-*-sco*)
+  i[3456]86-*-sco*)
     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
     ;;
-  i[3456789]86-*-solaris2*)
+  i[3456]86-*-solaris2*)
     noconfigdirs="$noconfigdirs target-libgloss"
     ;;
-  i[3456789]86-*-sysv4*)
+  i[3456]86-*-sysv4*)
     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  i[3456789]86-*-beos*)
+  i[3456]86-*-beos*)
     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
     ;;
   m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
@@ -1342,9 +1310,9 @@
     ;;
   sh-*-*)
     case "${host}" in
-      i[3456789]86-*-vsta) ;; # don't add gprof back in
-      i[3456789]86-*-go32*) ;; # don't add gprof back in
-      i[3456789]86-*-msdosdjgpp*) ;; # don't add gprof back 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}"
@@ -1739,19 +1707,19 @@
   i370-ibm-opened*)
     tentative_cc="c89"
     ;;
-  i[3456789]86-*-sysv5*)
+  i[3456]86-*-sysv5*)
     host_makefile_frag="config/mh-sysv5"
     ;;
-  i[3456789]86-*-dgux*)
+  i[3456]86-*-dgux*)
     tentative_cc="gcc -Wall -ansi -D__using_DGUX"
     host_makefile_frag="config/mh-dgux386"
     ;;
-  i[3456789]86-ncr-sysv4.3*)
+  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"
     ;;
-  i[3456789]86-ncr-sysv4*)
+  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
@@ -1760,21 +1728,21 @@
     tentative_cc="/usr/ccs/ATT/cc"
     host_makefile_frag="config/mh-ncr3000"
     ;;
-  i[3456789]86-*-sco3.2v5*)
+  i[3456]86-*-sco3.2v5*)
     ;;
-  i[3456789]86-*-sco*)
+  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"
     ;;
-  i[3456789]86-*-udk*)
+  i[3456]86-*-udk*)
     host_makefile_frag="config/mh-sysv5"
     ;;
-  i[3456789]86-*-solaris2*)
+  i[3456]86-*-solaris2*)
     host_makefile_frag="config/mh-sysv4"
     ;;
-  i[3456789]86-*-msdosdjgpp*)
+  i[3456]86-*-msdosdjgpp*)
     host_makefile_frag="config/mh-djgpp"
     ;;
   *-cygwin*)
@@ -1824,7 +1792,7 @@
 extra_ranlibflags_for_target=
 target_makefile_frag=/dev/null
 case "${target}" in
-  i[3456789]86-*-netware*)
+  i[3456]86-*-netware*)
     target_makefile_frag="config/mt-netware"
     ;;
   powerpc-*-netware*)
@@ -2296,14 +2264,59 @@
 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
 
 # This is the final value for target_configdirs.  configdirs already
-# has its final value, as does build_modules.  It's time to create some 
-# lists of valid targets.
+# has its final value.  It's time to create some lists of valid targets.
+
+# While at that, we remove Makefiles if we were started for recursive
+# configuration, such that the top-level Makefile reconfigures them,
+# like we used to do when configure itself was recursive.
 
 all_build_modules=
 configure_build_modules=
-for module in ${build_modules} ; do
-  all_build_modules=all-build-${module}
-  configure_build_modules=configure-build-${module}
+# Only make build modules if build != host.
+# This should be done more generally, but at the moment it doesn't matter.
+if test ${host_alias} != ${build_alias} ; then
+  for module in libiberty ; do
+    all_build_modules=all-build-${module}
+    configure_build_modules=configure-build-${module}
+    if test -z "${no_recursion}" \
+       && test -f ${build_subdir}/${module}/Makefile; then
+      echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
+      rm -f ${build_subdir}/${module}/Makefile
+    fi
+  done
+fi
+
+all_host_modules=
+check_host_modules=
+install_host_modules=
+configure_host_modules=
+for module in ${configdirs} ; do
+  all_host_modules="${all_host_modules} all-${module}"
+  check_host_modules="${check_host_modules} check-${module}"
+  install_host_modules="${install_host_modules} install-${module}"
+  configure_host_modules="${configure_host_modules} configure-${module}"
+  if test -z "${no_recursion}" \
+     && test -f ${module}/Makefile; then
+    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
+    rm -f ${module}/Makefile
+  fi
+done
+install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'`
+
+all_target_modules=
+check_target_modules=
+install_target_modules=
+configure_target_modules=
+for module in ${target_configdirs} ; do
+  all_target_modules="${all_target_modules} all-target-${module}"
+  check_target_modules="${check_target_modules} check-target-${module}"
+  install_target_modules="${install_target_modules} install-target-${module}"
+  configure_target_modules="${configure_target_modules} configure-target-${module}"
+  if test -z "${no_recursion}" \
+     && test -f ${target_subdir}/${module}/Makefile; then
+    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
+    rm -f ${target_subdir}/${module}/Makefile
+  fi
 done
 
 # Determine whether gdb needs tk/tcl or not.
@@ -2333,49 +2346,13 @@
 esac
 
 # Create the 'maybe dependencies'.  This uses a temporary file.
-
-# While at that, we remove Makefiles if we were started for recursive
-# configuration, so that the top-level Makefile reconfigures them,
-# like we used to do when configure itself was recursive.
 rm -f maybedep.tmp
 echo '# maybedep.tmp' > maybedep.tmp
-
-# Make-targets which may need maybe dependencies.
-mts="configure all install check"
-
-# Loop over modules and make-targets.
-for module in ${build_modules} ; do
-  if test -z "${no_recursion}" \
-     && test -f ${build_subdir}/${module}/Makefile; then
-    echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
-    rm -f ${build_subdir}/${module}/Makefile
-  fi
-  for mt in ${mts} ; do
-    case ${mt} in
-      install) ;; # No installing build modules.
-      *) echo "maybe-${mt}-build-${module}: ${mt}-build-${module}" >> maybedep.tmp ;;
-    esac
-  done
-done
-for module in ${configdirs} ; do
-  if test -z "${no_recursion}" \
-     && test -f ${module}/Makefile; then
-    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
-    rm -f ${module}/Makefile
-  fi
-  for mt in ${mts} ; do
-    echo "maybe-${mt}-${module}: ${mt}-${module}" >> maybedep.tmp
-  done
-done
-for module in ${target_configdirs} ; do
-  if test -z "${no_recursion}" \
-     && test -f ${target_subdir}/${module}/Makefile; then
-    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
-    rm -f ${target_subdir}/${module}/Makefile
-  fi
-  for mt in ${mts} ; do
-    echo "maybe-${mt}-target-${module}: ${mt}-target-${module}" >> maybedep.tmp
-  done
+for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \
+	${install_host_modules} ${install_target_modules} \
+	${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \
+	; do
+  echo "maybe-${item}: ${item}" >> maybedep.tmp
 done
 maybe_dependencies=maybedep.tmp
 
@@ -2538,7 +2515,7 @@
    fi
 
    case "${target}-${is_cross_compiler}" in
-   i[3456789]86-*-linux*-no)
+   i[3456]86-*-linux*-no)
       # Here host == target, so we don't need to build gcc,
       # so we don't want to discard standard headers.
       FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
@@ -2665,14 +2642,25 @@
 
 
 
+
 # Host module lists & subconfigure args.
 
 
 
+
+
+
+
+
 # Target module lists & subconfigure args.
 
 
 
+
+
+
+
+
 # Build tools.
 
 
@@ -2691,7 +2679,7 @@
   # Extract the first word of "${ncn_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2695: checking for $ac_word" >&5
+echo "configure:2683: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2724,7 +2712,7 @@
     # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2728: checking for $ac_word" >&5
+echo "configure:2716: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2763,7 +2751,7 @@
   # Extract the first word of "${ncn_tool_prefix}as", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}as; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2767: checking for $ac_word" >&5
+echo "configure:2755: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2796,7 +2784,7 @@
     # Extract the first word of "as", so it can be a program name with args.
 set dummy as; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2800: checking for $ac_word" >&5
+echo "configure:2788: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2835,7 +2823,7 @@
   # Extract the first word of "${ncn_tool_prefix}dlltool", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}dlltool; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2839: checking for $ac_word" >&5
+echo "configure:2827: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2868,7 +2856,7 @@
     # Extract the first word of "dlltool", so it can be a program name with args.
 set dummy dlltool; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2872: checking for $ac_word" >&5
+echo "configure:2860: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2907,7 +2895,7 @@
   # Extract the first word of "${ncn_tool_prefix}ld", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}ld; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2911: checking for $ac_word" >&5
+echo "configure:2899: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2940,7 +2928,7 @@
     # Extract the first word of "ld", so it can be a program name with args.
 set dummy ld; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2944: checking for $ac_word" >&5
+echo "configure:2932: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2979,7 +2967,7 @@
   # Extract the first word of "${ncn_tool_prefix}nm", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}nm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2983: checking for $ac_word" >&5
+echo "configure:2971: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3012,7 +3000,7 @@
     # Extract the first word of "nm", so it can be a program name with args.
 set dummy nm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3016: checking for $ac_word" >&5
+echo "configure:3004: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3051,7 +3039,7 @@
   # Extract the first word of "${ncn_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3055: checking for $ac_word" >&5
+echo "configure:3043: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3084,7 +3072,7 @@
     # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3088: checking for $ac_word" >&5
+echo "configure:3076: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3123,7 +3111,7 @@
   # Extract the first word of "${ncn_tool_prefix}windres", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}windres; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3127: checking for $ac_word" >&5
+echo "configure:3115: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3156,7 +3144,7 @@
     # Extract the first word of "windres", so it can be a program name with args.
 set dummy windres; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3160: checking for $ac_word" >&5
+echo "configure:3148: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3195,7 +3183,7 @@
   # Extract the first word of "${ncn_tool_prefix}objcopy", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}objcopy; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3199: checking for $ac_word" >&5
+echo "configure:3187: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3228,7 +3216,7 @@
     # Extract the first word of "objcopy", so it can be a program name with args.
 set dummy objcopy; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3232: checking for $ac_word" >&5
+echo "configure:3220: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3267,7 +3255,7 @@
   # Extract the first word of "${ncn_tool_prefix}objdump", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}objdump; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3271: checking for $ac_word" >&5
+echo "configure:3259: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3300,7 +3288,7 @@
     # Extract the first word of "objdump", so it can be a program name with args.
 set dummy objdump; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3304: checking for $ac_word" >&5
+echo "configure:3292: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3348,7 +3336,7 @@
   # Extract the first word of "${ncn_target_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3352: checking for $ac_word" >&5
+echo "configure:3340: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3381,7 +3369,7 @@
     # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3385: checking for $ac_word" >&5
+echo "configure:3373: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3420,7 +3408,7 @@
   # Extract the first word of "${ncn_target_tool_prefix}as", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}as; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3424: checking for $ac_word" >&5
+echo "configure:3412: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3453,7 +3441,7 @@
     # Extract the first word of "as", so it can be a program name with args.
 set dummy as; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3457: checking for $ac_word" >&5
+echo "configure:3445: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3492,7 +3480,7 @@
   # Extract the first word of "${ncn_target_tool_prefix}dlltool", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3496: checking for $ac_word" >&5
+echo "configure:3484: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3525,7 +3513,7 @@
     # Extract the first word of "dlltool", so it can be a program name with args.
 set dummy dlltool; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3529: checking for $ac_word" >&5
+echo "configure:3517: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3564,7 +3552,7 @@
   # Extract the first word of "${ncn_target_tool_prefix}ld", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}ld; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3568: checking for $ac_word" >&5
+echo "configure:3556: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3597,7 +3585,7 @@
     # Extract the first word of "ld", so it can be a program name with args.
 set dummy ld; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3601: checking for $ac_word" >&5
+echo "configure:3589: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3636,7 +3624,7 @@
   # Extract the first word of "${ncn_target_tool_prefix}nm", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}nm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3640: checking for $ac_word" >&5
+echo "configure:3628: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3669,7 +3657,7 @@
     # Extract the first word of "nm", so it can be a program name with args.
 set dummy nm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3673: checking for $ac_word" >&5
+echo "configure:3661: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3708,7 +3696,7 @@
   # Extract the first word of "${ncn_target_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3712: checking for $ac_word" >&5
+echo "configure:3700: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3741,7 +3729,7 @@
     # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3745: checking for $ac_word" >&5
+echo "configure:3733: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3780,7 +3768,7 @@
   # Extract the first word of "${ncn_target_tool_prefix}windres", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}windres; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3784: checking for $ac_word" >&5
+echo "configure:3772: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3813,7 +3801,7 @@
     # Extract the first word of "windres", so it can be a program name with args.
 set dummy windres; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3817: checking for $ac_word" >&5
+echo "configure:3805: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3880,7 +3868,7 @@
 NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
 
 echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:3884: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:3872: checking whether to enable maintainer-specific portions of Makefiles" >&5
 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
 if test "${enable_maintainer_mode+set}" = set; then
   enableval="$enable_maintainer_mode"
@@ -4061,9 +4049,6 @@
 s%@build_vendor@%$build_vendor%g
 s%@build_os@%$build_os%g
 s%@TOPLEVEL_CONFIGURE_ARGUMENTS@%$TOPLEVEL_CONFIGURE_ARGUMENTS%g
-s%@build_subdir@%$build_subdir%g
-s%@host_subdir@%$host_subdir%g
-s%@target_subdir@%$target_subdir%g
 /@maybe_dependencies@/r $maybe_dependencies
 s%@maybe_dependencies@%%g
 /@serialization_dependencies@/r $serialization_dependencies
@@ -4088,13 +4073,24 @@
 s%@GDB_TK@%$GDB_TK%g
 s%@gxx_include_dir@%$gxx_include_dir%g
 s%@libstdcxx_incdir@%$libstdcxx_incdir%g
+s%@build_subdir@%$build_subdir%g
 s%@build_configargs@%$build_configargs%g
 s%@configure_build_modules@%$configure_build_modules%g
 s%@all_build_modules@%$all_build_modules%g
 s%@host_configargs@%$host_configargs%g
 s%@configdirs@%$configdirs%g
+s%@configure_host_modules@%$configure_host_modules%g
+s%@all_host_modules@%$all_host_modules%g
+s%@check_host_modules@%$check_host_modules%g
+s%@install_host_modules@%$install_host_modules%g
+s%@install_host_modules_nogcc@%$install_host_modules_nogcc%g
+s%@target_subdir@%$target_subdir%g
 s%@target_configargs@%$target_configargs%g
 s%@target_configdirs@%$target_configdirs%g
+s%@configure_target_modules@%$configure_target_modules%g
+s%@all_target_modules@%$all_target_modules%g
+s%@check_target_modules@%$check_target_modules%g
+s%@install_target_modules@%$install_target_modules%g
 s%@BISON@%$BISON%g
 s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g
 s%@LEX@%$LEX%g
diff --git a/configure.in b/configure.in
index 87ab222..66bebe1 100644
--- a/configure.in
+++ b/configure.in
@@ -164,16 +164,6 @@
 configdirs=`echo ${host_libs} ${host_tools}`
 target_configdirs=`echo ${target_libs} ${target_tools}`
 
-# Only make build modules if build != host.
-# This should be done more generally, but at the moment it doesn't matter.
-if test ${host_alias} != ${build_alias} ; then
-  # This is the only build module.
-  build_modules=libiberty
-else
-  build_modules=
-fi
-
-
 ################################################################################
 
 srcname="gnu development package"
@@ -189,8 +179,9 @@
   is_cross_compiler=yes
 fi	
 
-# Find the build and target subdirs.
-GCC_TOPLEV_SUBDIRS
+# 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
@@ -200,6 +191,9 @@
   fi
 fi
 
+build_prefix=build-
+build_subdir=${build_prefix}${build_alias}
+
 if test x"${build_alias}" != x"${host}" ; then
   if test ! -d ${build_subdir} ; then
     if mkdir ${build_subdir} ; then true
@@ -284,17 +278,17 @@
   hppa*64*-*-*)
     noconfigdirs="$noconfigdirs byacc"
     ;;
-  i[[3456789]]86-*-vsta)
+  i[[3456]]86-*-vsta)
     noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix gnuserv gettext"
     ;;
-  i[[3456789]]86-*-go32* | i[[3456789]]86-*-msdosdjgpp*)
+  i[[3456]]86-*-go32* | i[[3456]]86-*-msdosdjgpp*)
     noconfigdirs="tcl tk expect dejagnu send-pr uudecode guile itcl tix gnuserv libffi"
     ;;
-  i[[3456789]]86-*-mingw32*)
+  i[[3456]]86-*-mingw32*)
     # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix gnuserv"
     noconfigdirs="expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool"
     ;;
-  i[[3456789]]86-*-beos*)
+  i[[3456]]86-*-beos*)
     noconfigdirs="$noconfigdirs tk itcl tix libgui gdb"
     ;;
   *-*-cygwin*)
@@ -501,13 +495,13 @@
     # No gdb or ld support yet.
     noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld"
     ;;
-  i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
+  i[[3456]]86-*-coff | i[[3456]]86-*-elf)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
-  i[[3456789]]86-*-freebsd*)
+  i[[34567]]86-*-freebsd*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
-  i[[3456789]]86-*-linux*)
+  i[[3456]]86-*-linux*)
     # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
     # not build java stuff by default.
     case "${target}" in
@@ -526,13 +520,13 @@
     # if the --with-newlib option has been given, because otherwise
     # 'target-newlib' will appear in skipdirs.
     ;;
-  i[[3456789]]86-*-mingw32*)
+  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[[3456789]]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
+      i[[3456]]86-*-mingw32) ;; # keep gdb tcl tk expect etc.
       *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix gnuserv"
          ;;
     esac
@@ -550,24 +544,24 @@
          ;;
     esac
     ;;    
-  i[[3456789]]86-*-pe)
+  i[[3456]]86-*-pe)
     noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
     ;;
-  i[[3456789]]86-*-sco3.2v5*)
+  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[[3456789]]86-*-sco*)
+  i[[3456]]86-*-sco*)
     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
     ;;
-  i[[3456789]]86-*-solaris2*)
+  i[[3456]]86-*-solaris2*)
     noconfigdirs="$noconfigdirs target-libgloss"
     ;;
-  i[[3456789]]86-*-sysv4*)
+  i[[3456]]86-*-sysv4*)
     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
     ;;
-  i[[3456789]]86-*-beos*)
+  i[[3456]]86-*-beos*)
     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
     ;;
   m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
@@ -656,9 +650,9 @@
     ;;
   sh-*-*)
     case "${host}" in
-      i[[3456789]]86-*-vsta) ;; # don't add gprof back in
-      i[[3456789]]86-*-go32*) ;; # don't add gprof back in
-      i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back 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}"
@@ -1053,19 +1047,19 @@
   i370-ibm-opened*)
     tentative_cc="c89"
     ;;
-  i[[3456789]]86-*-sysv5*)
+  i[[3456]]86-*-sysv5*)
     host_makefile_frag="config/mh-sysv5"
     ;;
-  i[[3456789]]86-*-dgux*)
+  i[[3456]]86-*-dgux*)
     tentative_cc="gcc -Wall -ansi -D__using_DGUX"
     host_makefile_frag="config/mh-dgux386"
     ;;
-  i[[3456789]]86-ncr-sysv4.3*)
+  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"
     ;;
-  i[[3456789]]86-ncr-sysv4*)
+  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
@@ -1074,21 +1068,21 @@
     tentative_cc="/usr/ccs/ATT/cc"
     host_makefile_frag="config/mh-ncr3000"
     ;;
-  i[[3456789]]86-*-sco3.2v5*)
+  i[[3456]]86-*-sco3.2v5*)
     ;;
-  i[[3456789]]86-*-sco*)
+  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"
     ;;
-  i[[3456789]]86-*-udk*)
+  i[[3456]]86-*-udk*)
     host_makefile_frag="config/mh-sysv5"
     ;;
-  i[[3456789]]86-*-solaris2*)
+  i[[3456]]86-*-solaris2*)
     host_makefile_frag="config/mh-sysv4"
     ;;
-  i[[3456789]]86-*-msdosdjgpp*)
+  i[[3456]]86-*-msdosdjgpp*)
     host_makefile_frag="config/mh-djgpp"
     ;;
   *-cygwin*)
@@ -1138,7 +1132,7 @@
 extra_ranlibflags_for_target=
 target_makefile_frag=/dev/null
 case "${target}" in
-  i[[3456789]]86-*-netware*)
+  i[[3456]]86-*-netware*)
     target_makefile_frag="config/mt-netware"
     ;;
   powerpc-*-netware*)
@@ -1272,7 +1266,7 @@
 
 # Some systems (e.g., one of the i386-aix systems the gas testers are
 # using) don't handle "\$" correctly, so don't use it here.
-tooldir='${exec_prefix}'/${target_alias}
+tooldir='$(exec_prefix)'/${target_alias}
 build_tooldir=${tooldir}
 
 # Generate a default definition for YACC.  This is used if the makefile can't
@@ -1610,14 +1604,59 @@
 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
 
 # This is the final value for target_configdirs.  configdirs already
-# has its final value, as does build_modules.  It's time to create some 
-# lists of valid targets.
+# has its final value.  It's time to create some lists of valid targets.
+
+# While at that, we remove Makefiles if we were started for recursive
+# configuration, such that the top-level Makefile reconfigures them,
+# like we used to do when configure itself was recursive.
 
 all_build_modules=
 configure_build_modules=
-for module in ${build_modules} ; do
-  all_build_modules=all-build-${module}
-  configure_build_modules=configure-build-${module}
+# Only make build modules if build != host.
+# This should be done more generally, but at the moment it doesn't matter.
+if test ${host_alias} != ${build_alias} ; then
+  for module in libiberty ; do
+    all_build_modules=all-build-${module}
+    configure_build_modules=configure-build-${module}
+    if test -z "${no_recursion}" \
+       && test -f ${build_subdir}/${module}/Makefile; then
+      echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
+      rm -f ${build_subdir}/${module}/Makefile
+    fi
+  done
+fi
+
+all_host_modules=
+check_host_modules=
+install_host_modules=
+configure_host_modules=
+for module in ${configdirs} ; do
+  all_host_modules="${all_host_modules} all-${module}"
+  check_host_modules="${check_host_modules} check-${module}"
+  install_host_modules="${install_host_modules} install-${module}"
+  configure_host_modules="${configure_host_modules} configure-${module}"
+  if test -z "${no_recursion}" \
+     && test -f ${module}/Makefile; then
+    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
+    rm -f ${module}/Makefile
+  fi
+done
+install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'`
+
+all_target_modules=
+check_target_modules=
+install_target_modules=
+configure_target_modules=
+for module in ${target_configdirs} ; do
+  all_target_modules="${all_target_modules} all-target-${module}"
+  check_target_modules="${check_target_modules} check-target-${module}"
+  install_target_modules="${install_target_modules} install-target-${module}"
+  configure_target_modules="${configure_target_modules} configure-target-${module}"
+  if test -z "${no_recursion}" \
+     && test -f ${target_subdir}/${module}/Makefile; then
+    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
+    rm -f ${target_subdir}/${module}/Makefile
+  fi
 done
 
 # Determine whether gdb needs tk/tcl or not.
@@ -1647,49 +1686,13 @@
 esac
 
 # Create the 'maybe dependencies'.  This uses a temporary file.
-
-# While at that, we remove Makefiles if we were started for recursive
-# configuration, so that the top-level Makefile reconfigures them,
-# like we used to do when configure itself was recursive.
 rm -f maybedep.tmp
 echo '# maybedep.tmp' > maybedep.tmp
-
-# Make-targets which may need maybe dependencies.
-mts="configure all install check"
-
-# Loop over modules and make-targets.
-for module in ${build_modules} ; do
-  if test -z "${no_recursion}" \
-     && test -f ${build_subdir}/${module}/Makefile; then
-    echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
-    rm -f ${build_subdir}/${module}/Makefile
-  fi
-  for mt in ${mts} ; do
-    case ${mt} in
-      install) ;; # No installing build modules.
-      *) echo "maybe-${mt}-build-${module}: ${mt}-build-${module}" >> maybedep.tmp ;;
-    esac
-  done
-done
-for module in ${configdirs} ; do
-  if test -z "${no_recursion}" \
-     && test -f ${module}/Makefile; then
-    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
-    rm -f ${module}/Makefile
-  fi
-  for mt in ${mts} ; do
-    echo "maybe-${mt}-${module}: ${mt}-${module}" >> maybedep.tmp
-  done
-done
-for module in ${target_configdirs} ; do
-  if test -z "${no_recursion}" \
-     && test -f ${target_subdir}/${module}/Makefile; then
-    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
-    rm -f ${target_subdir}/${module}/Makefile
-  fi
-  for mt in ${mts} ; do
-    echo "maybe-${mt}-target-${module}: ${mt}-target-${module}" >> maybedep.tmp
-  done
+for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \
+	${install_host_modules} ${install_target_modules} \
+	${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \
+	; do
+  echo "maybe-${item}: ${item}" >> maybedep.tmp
 done
 maybe_dependencies=maybedep.tmp
 AC_SUBST_FILE(maybe_dependencies)
@@ -1851,7 +1854,7 @@
    fi
 
    case "${target}-${is_cross_compiler}" in
-   i[[3456789]]86-*-linux*-no)
+   i[[3456]]86-*-linux*-no)
       # Here host == target, so we don't need to build gcc,
       # so we don't want to discard standard headers.
       FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
@@ -1974,6 +1977,7 @@
 AC_SUBST(libstdcxx_incdir)
 
 # Build module lists & subconfigure args.
+AC_SUBST(build_subdir)
 AC_SUBST(build_configargs)
 AC_SUBST(configure_build_modules)
 AC_SUBST(all_build_modules)
@@ -1981,10 +1985,20 @@
 # Host module lists & subconfigure args.
 AC_SUBST(host_configargs)
 AC_SUBST(configdirs)
+AC_SUBST(configure_host_modules)
+AC_SUBST(all_host_modules)
+AC_SUBST(check_host_modules)
+AC_SUBST(install_host_modules)
+AC_SUBST(install_host_modules_nogcc)
 
 # Target module lists & subconfigure args.
+AC_SUBST(target_subdir)
 AC_SUBST(target_configargs)
 AC_SUBST(target_configdirs)
+AC_SUBST(configure_target_modules)
+AC_SUBST(all_target_modules)
+AC_SUBST(check_target_modules)
+AC_SUBST(install_target_modules)
 
 # Build tools.
 AC_SUBST(BISON)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9cf50e6..4058661 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,143 +1,3 @@
-2003-05-20  Kevin Buettner  <kevinb@redhat.com>
-
-	* mips-nat.c (REGISTER_PTRACE_ADDR): Convert macro to function
-	register_ptrace_addr().  Fix all callers.
-
-2003-05-21  Andreas Schwab  <schwab@suse.de>
-
-	* Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
-	dependencies.
-	* m68k-tdep.c (m68k_gdbarch_init): Call gdbarch_init_osabi at the
-	end.
-	* m68klinux-tdep.c (m68k_linux_init_abi): New function.
-	(_initialize_m68k_linux_tdep): New function.
-	(m68k_linux_frame_saved_pc): Make static.
-	(m68k_linux_extract_return_value): Likewise.
-	(m68k_linux_store_return_value): Likewise.
-	(m68k_linux_extract_struct_value_address): Likewise.
-	* config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE):
-	Remove.
-	(DEPRECATED_STORE_RETURN_VALUE): Remove.
-	(DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Remove.
-	(DEPRECATED_FRAME_SAVED_PC): Remove.
-
-2003-05-20  Kris Warkentin  <kewarken@qnx.com>
-
-	* nto-tdep.c (fetch_core_registers): Match gdb's idea of
-	regset numbering rather than our own.
-
-2003-05-19  David Carlton  <carlton@bactrian.org>
-
-	* config/djgpp/fnchange.lst: Add testsuite/gdb.c++/rtti*.
-
-2003-05-19  David Carlton  <carlton@bactrian.org>
-
-	Partial fix for PR c++/827.
-	* cp-support.h: Include symtab.h.
-	Declare cp_lookup_symbol_nonlocal, cp_lookup_symbol_namespace.
-	* cp-namespace.c: Update contributors.
-	(cp_lookup_symbol_nonlocal): New.
-	(lookup_namespace_scope, cp_lookup_symbol_namespace)
-	(lookup_symbol_file): Ditto.
-	* c-lang.c (cplus_language_defn): Use cp_lookup_symbol_nonlocal.
-	* block.h: Declare block_scope, block_using, block_global_block.
-	* block.c (block_scope): New.
-	(block_using, block_global_block): Ditto.
-	* Makefile.in (cp_support_h): Depend on symtab_h.
-	* config/djgpp/fnchange.lst: Add testsuite/gdb.c++/namespace1.cc.
-
-2003-05-19  David Carlton  <carlton@bactrian.org>
-
-	* language.h (struct language_defn): Add 'la_value_of_this'
-	and 'la_lookup_symbol_nonlocal' members.
-	* symtab.h: Declare basic_lookup_symbol_nonlocal,
-	lookup_symbol_static, lookup_symbol_global,
-	lookup_symbol_aux_block.
-	* symtab.c (lookup_symbol_aux): Call language hooks to determine
-	if we should search fields of this and how to do static/global
-	lookup.
-	(lookup_symbol_aux_block): Make extern.
-	(basic_lookup_symbol_nonlocal): New.
-	(lookup_symbol_static, lookup_symbol_global): Ditto.
-	* ada-lang.c (ada_language_defn): Set 'la_value_of_this' and
-	'la_lookup_symbol_nonlocal' members.
-	* c-lang.c (c_language_defn, cplus_language_defn)
-	(asm_language_defn, minimal_language_defn): Ditto.
-	* jv-lang.c (java_language_defn): Ditto.
-	* language.c (unknown_language_defn, auto_language_defn)
-	(local_language_defn): Ditto.
-	* m2-lang.c (m2_language_defn): Ditto.
-	* objc-lang.c (objc_language_defn): Ditto.
-	* scm-lang.c (scm_language_defn): Ditto.
-	* f-lang.c (f_language_defn): Ditto, and include value.h as well.
-	* p-lang.c (pascal_language_defn): Ditto for both.
-	* Makefile.in (f-lang.o): Depend on value_h.
-	(p-lang.o): Ditto.
-
-2003-05-19  David Carlton  <carlton@bactrian.org>
-
-	* block.h: Declare block_static_block.
-	* block.c (block_static_block): New.
-	* symtab.c (lookup_symbol_aux): Remove 'static_block' argument to
-	lookup_symbol_aux_local, calling block_static_block instead.
-	(lookup_symbol_aux_local): Delete 'static_block' argument.
-
-2003-05-19  David Carlton  <carlton@bactrian.org>
-
-	* symtab.c (lookup_symbol_aux): Delete #if 0 hunk.
-
-2003-05-19  Michal Ludvig  <mludvig@suse.cz>
-
-	* x86-64-tdep.c (x86_64_dwarf2gdb_regno_map): Fix
-	register numbers mapping.
-
-2003-05-18  Adam Fedor  <fedor@gnu.org>
-
-	* symtab.c (completion_list_objc_symbol): New function.
-	(make_symbol_completion_list): Use it to add ObjC symbols
-	when looking though the list.
-	(language_search_unquoted_string): New function.
-	(make_file_symbol_completion_list): Use it.
-
-2003-05-18  Andreas Schwab  <schwab@suse.de>
-
-	* Makefile (m68klinux-nat.o, m68klinux-tdep.o): Update
-	dependencies.
-	* config/m68k/tm-linux.h (DEPRECATED_EXTRACT_RETURN_VALUE): Define
-	as m68k_linux_extract_return_value.
-	(DEPRECATED_STORE_RETURN_VALUE): Define as
-	m68k_linux_store_return_value.
-	(DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Define as
-	m68k_linux_extract_struct_value_address.
-	* m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Use
-	get_next_frame, get_frame_base, get_frame_pc.
-	(m68k_linux_frame_saved_pc): Use get_frame_base.
-	(m68k_linux_extract_return_value): New function.
-	(m68k_linux_store_return_value): New function.
-	(m68k_linux_extract_struct_value_address): New function.
-	* config/m68k/tm-m68k.h: Declare m68k_get_longjmp_target.
-
-	* c-exp.y (typebase): Remove duplicate occurence of
-	`SIGNED_KEYWORD LONG LONG'.  Use builtin_type_long_long instead
-	of lookup_signed_typename. 
-
-2003-05-18  Mark Kettenis  <kettenis@gnu.org>
-
-	* dwarf2loc.c (find_location_expression): Change type of second
-	argument to `size_t *'.
-	(loclist_read_variable, loclist_tracepoint_var_ref): Use size_t
-	for size variable.
-
-2003-05-18  David Carlton  <carlton@bactrian.org>
-
-	* symtab.c (lookup_symbol_aux): Rename 'mangled_name' argument to
-	'linkage_name'.  Add comment.
-	(lookup_symbol_aux_local): Rename 'mangled_name' argument to
-	'linkage_name'.
-	(lookup_symbol_aux_block, lookup_symbol_aux_symtabs)
-	(lookup_symbol_aux_psymtabs, lookup_symbol_aux_minsyms)
-	(lookup_block_symbol): Ditto.
-
 2003-05-16  Andrew Cagney  <cagney@redhat.com>
 
 	* gdbarch.sh (DEPRECATED_REGISTER_BYTES): Rename REGISTER_BYTES.
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 38be4f6..6061023 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -626,7 +626,7 @@
 completer_h = completer.h
 config_h = config.h
 cp_abi_h = cp-abi.h
-cp_support_h = cp-support.h $(symtab_h)
+cp_support_h = cp-support.h
 dcache_h = dcache.h
 defs_h = defs.h $(config_h) $(gdb_locale_h) $(gdb_signals_h) $(ansidecl_h) \
 	$(libiberty_h) $(progress_h) $(bfd_h) $(tui_h) $(ui_file_h) $(xm_h) \
@@ -1703,7 +1703,7 @@
 	$(block_h)
 f-lang.o: f-lang.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
 	$(expression_h) $(parser_defs_h) $(language_h) $(f_lang_h) \
-	$(valprint_h) $(value_h)
+	$(valprint_h)
 f-typeprint.o: f-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \
 	$(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(target_h) \
 	$(f_lang_h) $(gdb_string_h)
@@ -1918,12 +1918,12 @@
 m68k-stub.o: m68k-stub.c
 m68k-tdep.o: m68k-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(gdbcore_h) \
 	$(value_h) $(gdb_string_h) $(inferior_h) $(regcache_h) \
-	$(arch_utils_h) $(gregset_h) $(osabi_h) $(m68k_tdep_h)
+	$(arch_utils_h) $(gregset_h) $(m68k_tdep_h)
 m68klinux-nat.o: m68klinux-nat.c $(defs_h) $(frame_h) $(inferior_h) \
-	$(language_h) $(gdbcore_h) $(gdb_string_h) $(regcache_h) \
-	$(m68k_tdep_h) $(gdb_stat_h) $(floatformat_h) $(target_h)
+	$(language_h) $(gdbcore_h) $(regcache_h) $(gdb_stat_h) \
+	$(floatformat_h) $(target_h) $(gregset_h) $(m68k_tdep_h)
 m68klinux-tdep.o: m68klinux-tdep.c $(defs_h) $(gdbcore_h) $(frame_h) \
-	$(target_h) $(gdb_string_h) $(gdbtypes_h) $(osabi_h) $(m68k_tdep_t)
+	$(target_h)
 m68knbsd-nat.o: m68knbsd-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \
 	$(regcache_h)
 m68knbsd-tdep.o: m68knbsd-tdep.c $(defs_h) $(gdbtypes_h) $(regcache_h)
@@ -2022,7 +2022,7 @@
 	$(gdbcmd_h) $(command_h) $(arch_utils_h)
 p-lang.o: p-lang.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
 	$(expression_h) $(parser_defs_h) $(language_h) $(p_lang_h) \
-	$(valprint_h) $(value_h)
+	$(valprint_h)
 p-typeprint.o: p-typeprint.c $(defs_h) $(gdb_obstack_h) $(bfd_h) $(symtab_h) \
 	$(gdbtypes_h) $(expression_h) $(value_h) $(gdbcore_h) $(target_h) \
 	$(language_h) $(p_lang_h) $(typeprint_h) $(gdb_string_h)
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 12bda80..8d8998b 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -8082,8 +8082,6 @@
   ada_val_print,		/* Print a value using appropriate syntax */
   ada_value_print,		/* Print a top-level value */
   NULL,				/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal  */
   NULL,				/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
 #if 0
diff --git a/gdb/block.c b/gdb/block.c
index 3396c8a..7bfd866 100644
--- a/gdb/block.c
+++ b/gdb/block.c
@@ -155,25 +155,8 @@
   return block_for_pc_sect (pc, find_pc_mapped_section (pc));
 }
 
-/* Now come some functions designed to deal with C++ namespace issues.
-   The accessors are safe to use even in the non-C++ case.  */
-
-/* This returns the namespace that BLOCK is enclosed in, or "" if it
-   isn't enclosed in a namespace at all.  This travels the chain of
-   superblocks looking for a scope, if necessary.  */
-
-const char *
-block_scope (const struct block *block)
-{
-  for (; block != NULL; block = BLOCK_SUPERBLOCK (block))
-    {
-      if (BLOCK_NAMESPACE (block) != NULL
-	  && BLOCK_NAMESPACE (block)->scope != NULL)
-	return BLOCK_NAMESPACE (block)->scope;
-    }
-
-  return "";
-}
+/* Now come some functions designed to deal with C++ namespace
+   issues.  */
 
 /* Set BLOCK's scope member to SCOPE; if needed, allocate memory via
    OBSTACK.  (It won't make a copy of SCOPE, however, so that already
@@ -188,27 +171,6 @@
   BLOCK_NAMESPACE (block)->scope = scope;
 }
 
-/* This returns the first using directives associated to BLOCK, if
-   any.  */
-
-/* FIXME: carlton/2003-04-23: This uses the fact that we currently
-   only have using directives in static blocks, because we only
-   generate using directives from anonymous namespaces.  Eventually,
-   when we support using directives everywhere, we'll want to replace
-   this by some iterator functions.  */
-
-struct using_direct *
-block_using (const struct block *block)
-{
-  const struct block *static_block = block_static_block (block);
-
-  if (static_block == NULL
-      || BLOCK_NAMESPACE (static_block) == NULL)
-    return NULL;
-  else
-    return BLOCK_NAMESPACE (static_block)->using;
-}
-
 /* Set BLOCK's using member to USING; if needed, allocate memory via
    OBSTACK.  (It won't make a copy of USING, however, so that already
    has to be allocated correctly.)  */
@@ -237,33 +199,3 @@
       BLOCK_NAMESPACE (block)->using = NULL;
     }
 }
-
-/* Return the static block associated to BLOCK.  Return NULL if block
-   is NULL or if block is a global block.  */
-
-const struct block *
-block_static_block (const struct block *block)
-{
-  if (block == NULL || BLOCK_SUPERBLOCK (block) == NULL)
-    return NULL;
-
-  while (BLOCK_SUPERBLOCK (BLOCK_SUPERBLOCK (block)) != NULL)
-    block = BLOCK_SUPERBLOCK (block);
-
-  return block;
-}
-
-/* Return the static block associated to BLOCK.  Return NULL if block
-   is NULL.  */
-
-const struct block *
-block_global_block (const struct block *block)
-{
-  if (block == NULL)
-    return NULL;
-
-  while (BLOCK_SUPERBLOCK (block) != NULL)
-    block = BLOCK_SUPERBLOCK (block);
-
-  return block;
-}
diff --git a/gdb/block.h b/gdb/block.h
index 442fa4a..2fef52a 100644
--- a/gdb/block.h
+++ b/gdb/block.h
@@ -200,19 +200,11 @@
 
 extern struct block *block_for_pc_sect (CORE_ADDR, asection *);
 
-extern const char *block_scope (const struct block *block);
-
 extern void block_set_scope (struct block *block, const char *scope,
 			     struct obstack *obstack);
 
-extern struct using_direct *block_using (const struct block *block);
-
 extern void block_set_using (struct block *block,
 			     struct using_direct *using,
 			     struct obstack *obstack);
 
-extern const struct block *block_static_block (const struct block *block);
-
-extern const struct block *block_global_block (const struct block *block);
-
 #endif /* BLOCK_H */
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index 34f7729..b8683d7 100644
--- a/gdb/c-exp.y
+++ b/gdb/c-exp.y
@@ -1,6 +1,6 @@
 /* YACC parser for C expressions, for GDB.
    Copyright 1986, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-   1998, 1999, 2000, 2003
+   1998, 1999, 2000
    Free Software Foundation, Inc.
 
 This file is part of GDB.
@@ -831,8 +831,6 @@
 			{ $$ = builtin_type_long_long; }
 	|	SIGNED_KEYWORD LONG LONG
 			{ $$ = builtin_type_long_long; }
-	|	SIGNED_KEYWORD LONG LONG INT_KEYWORD
-			{ $$ = builtin_type_long_long; }
 	|	UNSIGNED LONG LONG
 			{ $$ = builtin_type_unsigned_long_long; }
 	|	UNSIGNED LONG LONG INT_KEYWORD
@@ -841,6 +839,10 @@
 			{ $$ = builtin_type_unsigned_long_long; }
 	|	LONG LONG UNSIGNED INT_KEYWORD
 			{ $$ = builtin_type_unsigned_long_long; }
+	|	SIGNED_KEYWORD LONG LONG
+			{ $$ = lookup_signed_typename ("long long"); }
+	|	SIGNED_KEYWORD LONG LONG INT_KEYWORD
+			{ $$ = lookup_signed_typename ("long long"); }
 	|	SHORT INT_KEYWORD
 			{ $$ = builtin_type_short; }
 	|	SHORT SIGNED_KEYWORD INT_KEYWORD
diff --git a/gdb/c-lang.c b/gdb/c-lang.c
index bdbbb54..5ce0bcb 100644
--- a/gdb/c-lang.c
+++ b/gdb/c-lang.c
@@ -32,7 +32,6 @@
 #include "charset.h"
 #include "gdb_string.h"
 #include "demangle.h"
-#include "cp-support.h"
 
 extern void _initialize_c_language (void);
 static void c_emit_char (int c, struct ui_file * stream, int quoter);
@@ -554,8 +553,6 @@
   c_val_print,			/* Print a value using appropriate syntax */
   c_value_print,		/* Print a top-level value */
   NULL,				/* Language specific skip_trampoline */
-  NULL,				/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   NULL,				/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"0%lo", "0", "o", ""},	/* Octal format info */
@@ -610,8 +607,6 @@
   c_val_print,			/* Print a value using appropriate syntax */
   c_value_print,		/* Print a top-level value */
   NULL,				/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  cp_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   cplus_demangle,		/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"0%lo", "0", "o", ""},	/* Octal format info */
@@ -643,8 +638,6 @@
   c_val_print,			/* Print a value using appropriate syntax */
   c_value_print,		/* Print a top-level value */
   NULL,				/* Language specific skip_trampoline */
-  NULL,				/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   NULL,				/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"0%lo", "0", "o", ""},	/* Octal format info */
@@ -681,8 +674,6 @@
   c_val_print,			/* Print a value using appropriate syntax */
   c_value_print,		/* Print a top-level value */
   NULL,				/* Language specific skip_trampoline */
-  NULL,				/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   NULL,				/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"0%lo", "0", "o", ""},	/* Octal format info */
diff --git a/gdb/config/djgpp/fnchange.lst b/gdb/config/djgpp/fnchange.lst
index 386fcf0..1b9fd8b 100644
--- a/gdb/config/djgpp/fnchange.lst
+++ b/gdb/config/djgpp/fnchange.lst
@@ -244,7 +244,6 @@
 @V@/gdb/testsuite/gdb.c++/misc.cc @V@/gdb/testsuite/gdb.cxx/misc.cc
 @V@/gdb/testsuite/gdb.c++/misc.exp @V@/gdb/testsuite/gdb.cxx/misc.exp
 @V@/gdb/testsuite/gdb.c++/namespace.cc @V@/gdb/testsuite/gdb.cxx/namespace.cc
-@V@/gdb/testsuite/gdb.c++/namespace1.cc @V@/gdb/testsuite/gdb.cxx/namesp1.cc
 @V@/gdb/testsuite/gdb.c++/namespace.exp @V@/gdb/testsuite/gdb.cxx/namespace.exp
 @V@/gdb/testsuite/gdb.c++/overload.cc @V@/gdb/testsuite/gdb.cxx/overload.cc
 @V@/gdb/testsuite/gdb.c++/overload.exp @V@/gdb/testsuite/gdb.cxx/overload.exp
@@ -261,10 +260,6 @@
 @V@/gdb/testsuite/gdb.c++/psmang2.cc @V@/gdb/testsuite/gdb.cxx/psmang2.cc
 @V@/gdb/testsuite/gdb.c++/ref-types.cc @V@/gdb/testsuite/gdb.cxx/ref-types.cc
 @V@/gdb/testsuite/gdb.c++/ref-types.exp @V@/gdb/testsuite/gdb.cxx/ref-types.exp
-@V@/gdb/testsuite/gdb.c++/rtti.exp @V@/gdb/testsuite/gdb.cxx/rtti.exp
-@V@/gdb/testsuite/gdb.c++/rtti.h @V@/gdb/testsuite/gdb.cxx/rtti.h
-@V@/gdb/testsuite/gdb.c++/rtti1.cc @V@/gdb/testsuite/gdb.cxx/rtti1.cc
-@V@/gdb/testsuite/gdb.c++/rtti2.cc @V@/gdb/testsuite/gdb.cxx/rtti2.cc
 @V@/gdb/testsuite/gdb.c++/templates.cc @V@/gdb/testsuite/gdb.cxx/templates.cc
 @V@/gdb/testsuite/gdb.c++/templates.exp @V@/gdb/testsuite/gdb.cxx/templates.exp
 @V@/gdb/testsuite/gdb.c++/try_catch.cc @V@/gdb/testsuite/gdb.cxx/try_catch.cc
diff --git a/gdb/config/m68k/tm-linux.h b/gdb/config/m68k/tm-linux.h
index 636df0b..cc20c62 100644
--- a/gdb/config/m68k/tm-linux.h
+++ b/gdb/config/m68k/tm-linux.h
@@ -1,6 +1,6 @@
 /* Definitions to target GDB to GNU/Linux on m680x0.
 
-   Copyright 1996, 1998, 1999, 2000, 2002, 2003 Free Software Foundation,
+   Copyright 1996, 1998, 1999, 2000, 2002 Free Software Foundation,
    Inc.
 
    This file is part of GDB.
@@ -20,10 +20,8 @@
    Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#include "config/tm-linux.h"
-#include "m68k/tm-m68k.h"
-
 #include "regcache.h"
+#include "m68k-tdep.h"
 
 /* Number of traps that happen between exec'ing the shell to run an
    inferior, and when we finally get to the inferior code.  This is 2
@@ -31,6 +29,65 @@
 
 #define START_INFERIOR_TRAPS_EXPECTED 2
 
+/* The following definitions are appropriate when using the ELF
+   format, where floating point values are returned in fp0, pointer
+   values in a0 and other values in d0.  */
+
+/* Extract from an array REGBUF containing the (raw) register state a
+   function return value of type TYPE, and copy that, in virtual
+   format, into VALBUF.  */
+
+#define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
+{									\
+  if (TYPE_CODE (TYPE) == TYPE_CODE_FLT)				\
+    {									\
+       REGISTER_CONVERT_TO_VIRTUAL (FP0_REGNUM, TYPE,			\
+				    ((char *) (REGBUF)			\
+				     + REGISTER_BYTE (FP0_REGNUM)),	\
+				    VALBUF);				\
+    }									\
+  else if (TYPE_CODE (TYPE) == TYPE_CODE_PTR)				\
+    memcpy (VALBUF, (char *) (REGBUF) + REGISTER_BYTE (M68K_A0_REGNUM),	\
+	    TYPE_LENGTH (TYPE));					\
+  else									\
+    memcpy (VALBUF,							\
+	    ((char *) (REGBUF)						\
+	     + (TYPE_LENGTH (TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH (TYPE))),	\
+	    TYPE_LENGTH (TYPE));					\
+}
+
+/* Write into appropriate registers a function return value of type
+   TYPE, given in virtual format.  */
+
+#define DEPRECATED_STORE_RETURN_VALUE(TYPE,VALBUF) \
+{									\
+  if (TYPE_CODE (TYPE) == TYPE_CODE_FLT)				\
+    {									\
+      char raw_buffer[REGISTER_RAW_SIZE (FP0_REGNUM)];			\
+      REGISTER_CONVERT_TO_RAW (TYPE, FP0_REGNUM, VALBUF, raw_buffer);	\
+      deprecated_write_register_bytes (REGISTER_BYTE (FP0_REGNUM),	\
+				       raw_buffer, TYPE_LENGTH (TYPE));	\
+    }									\
+  else									\
+    {									\
+      if (TYPE_CODE (TYPE) == TYPE_CODE_PTR)				\
+	deprecated_write_register_bytes (REGISTER_BYTE (M68K_A0_REGNUM), VALBUF, \
+					 TYPE_LENGTH (TYPE));		\
+      deprecated_write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE));	\
+    }									\
+}
+
+#include "config/tm-linux.h"
+#include "m68k/tm-m68k.h"
+
+/* Extract from an array REGBUF containing the (raw) register state
+   the address in which a function should return its structure value,
+   as a CORE_ADDR (or an expression that can be used as one).  */
+
+#undef DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS
+#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
+  (*(CORE_ADDR *)((char *) (REGBUF) + REGISTER_BYTE (M68K_A0_REGNUM)))
+
 /* Offsets (in target ints) into jmp_buf.  */
 
 #define JB_ELEMENT_SIZE 4
@@ -43,5 +100,9 @@
 
 #define GET_LONGJMP_TARGET(ADDR) m68k_get_longjmp_target(ADDR)
 
+#undef DEPRECATED_FRAME_SAVED_PC
+#define DEPRECATED_FRAME_SAVED_PC(frame) m68k_linux_frame_saved_pc (frame)
+extern CORE_ADDR m68k_linux_frame_saved_pc (struct frame_info *);
+
 #define IN_SIGTRAMP(pc,name) m68k_linux_in_sigtramp (pc)
 extern int m68k_linux_in_sigtramp (CORE_ADDR pc);
diff --git a/gdb/config/m68k/tm-m68k.h b/gdb/config/m68k/tm-m68k.h
index cb72c98..523cc4a 100644
--- a/gdb/config/m68k/tm-m68k.h
+++ b/gdb/config/m68k/tm-m68k.h
@@ -22,5 +22,3 @@
 #include "regcache.h"
 
 #define GDB_MULTI_ARCH GDB_MULTI_ARCH_PARTIAL
-
-extern int m68k_get_longjmp_target (CORE_ADDR *);
diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c
index a4c7b8d..7205cf7 100644
--- a/gdb/cp-namespace.c
+++ b/gdb/cp-namespace.c
@@ -1,7 +1,7 @@
 /* Helper routines for C++ support in GDB.
    Copyright 2003 Free Software Foundation, Inc.
 
-   Contributed by David Carlton and by Kealia, Inc.
+   Contributed by David Carlton.
 
    This file is part of GDB.
 
@@ -52,21 +52,6 @@
 static struct using_direct *cp_copy_usings (struct using_direct *using,
 					    struct obstack *obstack);
 
-static struct symbol *lookup_namespace_scope (const char *name,
-					      const char *linkage_name,
-					      const struct block *block,
-					      const domain_enum domain,
-					      struct symtab **symtab,
-					      const char *scope,
-					      int scope_len);
-
-static struct symbol *lookup_symbol_file (const char *name,
-					  const char *linkage_name,
-					  const struct block *block,
-					  const domain_enum domain,
-					  struct symtab **symtab,
-					  int anonymous_namespace);
-
 /* Set up support for dealing with C++ namespace info in the current
    symtab.  */
 
@@ -279,177 +264,3 @@
       return retval;
     }
 }
-
-/* The C++-specific version of name lookup for static and global
-   names.  This makes sure that names get looked for in all namespaces
-   that are in scope.  NAME is the natural name of the symbol that
-   we're looking for, LINKAGE_NAME (which is optional) is its linkage
-   name, BLOCK is the block that we're searching within, DOMAIN says
-   what kind of symbols we're looking for, and if SYMTAB is non-NULL,
-   we should store the symtab where we found the symbol in it.  */
-
-struct symbol *
-cp_lookup_symbol_nonlocal (const char *name,
-			   const char *linkage_name,
-			   const struct block *block,
-			   const domain_enum domain,
-			   struct symtab **symtab)
-{
-  return lookup_namespace_scope (name, linkage_name, block, domain,
-				 symtab, block_scope (block), 0);
-}
-
-/* Lookup NAME at namespace scope (or, in C terms, in static and
-   global variables).  SCOPE is the namespace that the current
-   function is defined within; only consider namespaces whose length
-   is at least SCOPE_LEN.  Other arguments are as in
-   cp_lookup_symbol_nonlocal.
-
-   For example, if we're within a function A::B::f and looking for a
-   symbol f, this will get called with NAME = "f", SCOPE = "A::B", and
-   SCOPE_LEN = 0.  It then calls itself with NAME and SCOPE the same,
-   but with SCOPE_LEN = 1.  And then it calls itself with NAME and
-   SCOPE the same, but with SCOPE_LEN = 4.  This third call looks for
-   "A::B::x"; if it doesn't find it, then the second call looks for
-   "A::x", and if that call fails, then the first call looks for
-   "x".  */
-
-static struct symbol *
-lookup_namespace_scope (const char *name,
-			const char *linkage_name,
-			const struct block *block,
-			const domain_enum domain,
-			struct symtab **symtab,
-			const char *scope,
-			int scope_len)
-{
-  char *namespace;
-
-  if (scope[scope_len] != '\0')
-    {
-      /* Recursively search for names in child namespaces first.  */
-
-      struct symbol *sym;
-      int new_scope_len = scope_len;
-
-      /* If the current scope is followed by "::", skip past that.  */
-      if (new_scope_len != 0)
-	{
-	  gdb_assert (scope[new_scope_len] == ':');
-	  new_scope_len += 2;
-	}
-      new_scope_len += cp_find_first_component (scope + new_scope_len);
-      sym = lookup_namespace_scope (name, linkage_name, block,
-				    domain, symtab,
-				    scope, new_scope_len);
-      if (sym != NULL)
-	return sym;
-    }
-
-  /* Okay, we didn't find a match in our children, so look for the
-     name in the current namespace.  */
-
-  namespace = alloca (scope_len + 1);
-  strncpy (namespace, scope, scope_len);
-  namespace[scope_len] = '\0';
-  return cp_lookup_symbol_namespace (namespace, name, linkage_name,
-				     block, domain, symtab);
-}
-
-/* Look up NAME in the C++ namespace NAMESPACE, applying the using
-   directives that are active in BLOCK.  Other arguments are as in
-   cp_lookup_symbol_nonlocal.  */
-
-struct symbol *
-cp_lookup_symbol_namespace (const char *namespace,
-			    const char *name,
-			    const char *linkage_name,
-			    const struct block *block,
-			    const domain_enum domain,
-			    struct symtab **symtab)
-{
-  const struct using_direct *current;
-  struct symbol *sym;
-
-  /* First, go through the using directives.  If any of them add new
-     names to the namespace we're searching in, see if we can find a
-     match by applying them.  */
-
-  for (current = block_using (block);
-       current != NULL;
-       current = current->next)
-    {
-      if (strcmp (namespace, current->outer) == 0)
-	{
-	  sym = cp_lookup_symbol_namespace (current->inner,
-					    name,
-					    linkage_name,
-					    block,
-					    domain,
-					    symtab);
-	  if (sym != NULL)
-	    return sym;
-	}
-    }
-
-  /* We didn't find anything by applying any of the using directives
-     that are still applicable; so let's see if we've got a match
-     using the current namespace.  */
-  
-  if (namespace[0] == '\0')
-    {
-      return lookup_symbol_file (name, linkage_name, block,
-				 domain, symtab, 0);
-    }
-  else
-    {
-      char *concatenated_name
-	= alloca (strlen (namespace) + 2 + strlen (name) + 1);
-      strcpy (concatenated_name, namespace);
-      strcat (concatenated_name, "::");
-      strcat (concatenated_name, name);
-      sym = lookup_symbol_file (concatenated_name, linkage_name,
-				block, domain, symtab,
-				cp_is_anonymous (namespace));
-      return sym;
-    }
-}
-
-/* Look up NAME in BLOCK's static block and in global blocks.  If
-   ANONYMOUS_NAMESPACE is nonzero, the symbol in question is located
-   within an anonymous namespace.  Other arguments are as in
-   cp_lookup_symbol_nonlocal.  */
-
-static struct symbol *
-lookup_symbol_file (const char *name,
-		    const char *linkage_name,
-		    const struct block *block,
-		    const domain_enum domain,
-		    struct symtab **symtab,
-		    int anonymous_namespace)
-{
-  struct symbol *sym = NULL;
-
-  sym = lookup_symbol_static (name, linkage_name, block, domain, symtab);
-  if (sym != NULL)
-    return sym;
-
-  if (anonymous_namespace)
-    {
-      /* Symbols defined in anonymous namespaces have external linkage
-	 but should be treated as local to a single file nonetheless.
-	 So we only search the current file's global block.  */
-
-      const struct block *global_block = block_global_block (block);
-      
-      if (global_block != NULL)
-	return lookup_symbol_aux_block (name, linkage_name, global_block,
-					domain, symtab);
-      else
-	return NULL;
-    }
-  else
-    {
-      return lookup_symbol_global (name, linkage_name, domain, symtab);
-    }
-}
diff --git a/gdb/cp-support.h b/gdb/cp-support.h
index 952d6a2..76e842b 100644
--- a/gdb/cp-support.h
+++ b/gdb/cp-support.h
@@ -24,14 +24,11 @@
 #ifndef CP_SUPPORT_H
 #define CP_SUPPORT_H
 
-/* We need this for 'domain_enum', alas...  */
-
-#include "symtab.h"
-
 /* Opaque declarations.  */
 
 struct obstack;
 struct block;
+struct symbol;
 
 /* This struct is designed to store data from using directives.  It
    says that names from namespace INNER should be visible within
@@ -81,17 +78,4 @@
 
 extern void cp_scan_for_anonymous_namespaces (const struct symbol *symbol);
 
-extern struct symbol *cp_lookup_symbol_nonlocal (const char *name,
-						 const char *linkage_name,
-						 const struct block *block,
-						 const domain_enum domain,
-						 struct symtab **symtab);
-
-extern struct symbol *cp_lookup_symbol_namespace (const char *namespace,
-						  const char *name,
-						  const char *linkage_name,
-						  const struct block *block,
-						  const domain_enum domain,
-						  struct symtab **symtab);
-
 #endif /* CP_SUPPORT_H */
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 2cd0984..3ec3958 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,8 +1,3 @@
-2003-05-21  Andrew Cagney  <cagney@redhat.com>
-
-	* gdbint.texinfo (Target Architecture Definition): Delete
-	references to "extract_address" and "store_address".
-
 2003-05-16  Andrew Cagney  <cagney@redhat.com>
 
 	* gdbint.texinfo (Target Architecture Definition): Replace
diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo
index 90b2575..3dbb81d 100644
--- a/gdb/doc/gdbint.texinfo
+++ b/gdb/doc/gdbint.texinfo
@@ -2601,6 +2601,35 @@
 above for @code{store_typed_address}.
 @end deftypefun
 
+
+@value{GDBN} also provides functions that do the same tasks, but assume
+that pointers are simply byte addresses; they aren't sensitive to the
+current architecture, beyond knowing the appropriate endianness.
+
+@deftypefun CORE_ADDR extract_address (void *@var{addr}, int len)
+Extract a @var{len}-byte number from @var{addr} in the appropriate
+endianness for the current architecture, and return it.  Note that
+@var{addr} refers to @value{GDBN}'s memory, not the inferior's.
+
+This function should only be used in architecture-specific code; it
+doesn't have enough information to turn bits into a true address in the
+appropriate way for the current architecture.  If you can, use
+@code{extract_typed_address} instead.
+@end deftypefun
+
+@deftypefun void store_address (void *@var{addr}, int @var{len}, LONGEST @var{val})
+Store @var{val} at @var{addr} as a @var{len}-byte integer, in the
+appropriate endianness for the current architecture.  Note that
+@var{addr} refers to a buffer in @value{GDBN}'s memory, not the
+inferior's.
+
+This function should only be used in architecture-specific code; it
+doesn't have enough information to turn a true address into bits in the
+appropriate way for the current architecture.  If you can, use
+@code{store_typed_address} instead.
+@end deftypefun
+
+
 Here are some macros which architectures can define to indicate the
 relationship between pointers and addresses.  These have default
 definitions, appropriate for architectures on which all pointers are
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index 2bb4f26..c236c11 100644
--- a/gdb/dwarf2loc.c
+++ b/gdb/dwarf2loc.c
@@ -50,7 +50,7 @@
 
 static char *
 find_location_expression (struct dwarf2_loclist_baton *baton,
-			  size_t *locexpr_length, CORE_ADDR pc)
+			  int *locexpr_length, CORE_ADDR pc)
 {
   CORE_ADDR base_address = baton->base_address;
   CORE_ADDR low, high;
@@ -448,7 +448,7 @@
   struct dwarf2_loclist_baton *dlbaton = SYMBOL_LOCATION_BATON (symbol);
   struct value *val;
   unsigned char *data;
-  size_t size;
+  int size;
 
   data = find_location_expression (dlbaton, &size,
 				   frame ? get_frame_pc (frame) : 0);
@@ -490,7 +490,7 @@
 {
   struct dwarf2_loclist_baton *dlbaton = SYMBOL_LOCATION_BATON (symbol);
   unsigned char *data;
-  size_t size;
+  int size;
 
   data = find_location_expression (dlbaton, &size, ax->scope);
   if (data == NULL)
diff --git a/gdb/f-lang.c b/gdb/f-lang.c
index 9ed2d6f..1a1986f 100644
--- a/gdb/f-lang.c
+++ b/gdb/f-lang.c
@@ -30,7 +30,6 @@
 #include "language.h"
 #include "f-lang.h"
 #include "valprint.h"
-#include "value.h"
 
 /* The built-in types of F77.  FIXME: integer*4 is missing, plain
    logical is missing (builtin_type_logical is logical*4).  */
@@ -473,8 +472,6 @@
   f_val_print,			/* Print a value using appropriate syntax */
   c_value_print,		/* FIXME */
   NULL,				/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   NULL,				/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"0%o", "0", "o", ""},	/* Octal format info */
diff --git a/gdb/jv-lang.c b/gdb/jv-lang.c
index a2a44f0..e436094 100644
--- a/gdb/jv-lang.c
+++ b/gdb/jv-lang.c
@@ -1063,8 +1063,6 @@
   java_val_print,		/* Print a value using appropriate syntax */
   java_value_print,		/* Print a top-level value */
   NULL,				/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   java_demangle,		/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"0%lo", "0", "o", ""},	/* Octal format info */
diff --git a/gdb/language.c b/gdb/language.c
index eb203dc..2613633 100644
--- a/gdb/language.c
+++ b/gdb/language.c
@@ -1479,8 +1479,6 @@
   unk_lang_val_print,		/* Print a value using appropriate syntax */
   unk_lang_value_print,		/* Print a top-level value */
   unk_lang_trampoline,		/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
   unk_lang_demangle,		/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"0%lo", "0", "o", ""},	/* Octal format info */
@@ -1513,8 +1511,6 @@
   unk_lang_val_print,		/* Print a value using appropriate syntax */
   unk_lang_value_print,		/* Print a top-level value */
   unk_lang_trampoline,		/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   unk_lang_demangle,		/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"0%lo", "0", "o", ""},	/* Octal format info */
@@ -1546,8 +1542,6 @@
   unk_lang_val_print,		/* Print a value using appropriate syntax */
   unk_lang_value_print,		/* Print a top-level value */
   unk_lang_trampoline,		/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   unk_lang_demangle,		/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"0%lo", "0", "o", ""},	/* Octal format info */
diff --git a/gdb/language.h b/gdb/language.h
index a1a73a5..f55c9f0 100644
--- a/gdb/language.h
+++ b/gdb/language.h
@@ -211,27 +211,6 @@
        if it isn't a language tramp for this language.  */
     CORE_ADDR (*skip_trampoline) (CORE_ADDR pc);
 
-    /* Now come some hooks for lookup_symbol.  */
-
-    /* If this is non-NULL, lookup_symbol will do the 'field_of_this'
-       check, using this function to find the value of this.  */
-
-    /* FIXME: carlton/2003-05-19: Audit all the language_defn structs
-       to make sure we're setting this appropriately: I'm sure it
-       could be NULL in more languages.  */
-
-    struct value *(*la_value_of_this) (int complain);
-
-    /* This is a function that lookup_symbol will call when it gets to
-       the part of symbol lookup where C looks up static and global
-       variables.  */
-
-    struct symbol *(*la_lookup_symbol_nonlocal) (const char *,
-						 const char *,
-						 const struct block *,
-						 const domain_enum,
-						 struct symtab **);
-
     /* Return demangled language symbol, or NULL.  */
     char *(*la_demangle) (const char *mangled, int options);
 
diff --git a/gdb/m2-lang.c b/gdb/m2-lang.c
index 528484f..a7c4bd7 100644
--- a/gdb/m2-lang.c
+++ b/gdb/m2-lang.c
@@ -426,8 +426,6 @@
   m2_val_print,			/* Print a value using appropriate syntax */
   c_value_print,		/* Print a top-level value */
   NULL,				/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   NULL,				/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"%loB", "", "o", "B"},	/* Octal format info */
diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c
index 087d0bb..71b33b4 100644
--- a/gdb/m68k-tdep.c
+++ b/gdb/m68k-tdep.c
@@ -29,7 +29,6 @@
 #include "inferior.h"
 #include "regcache.h"
 #include "arch-utils.h"
-#include "osabi.h"
 
 #include "m68k-tdep.h"
 
@@ -1053,9 +1052,6 @@
   /* Should be using push_dummy_call.  */
   set_gdbarch_deprecated_dummy_write_sp (gdbarch, generic_target_write_sp);
 
-  /* Hook in ABI-specific overrides, if they have been registered.  */
-  gdbarch_init_osabi (info, gdbarch);
-
   return gdbarch;
 }
 
diff --git a/gdb/m68klinux-tdep.c b/gdb/m68klinux-tdep.c
index 8b9193d..afd2d2d 100644
--- a/gdb/m68klinux-tdep.c
+++ b/gdb/m68klinux-tdep.c
@@ -1,6 +1,6 @@
 /* Motorola m68k target-dependent support for GNU/Linux.
 
-   Copyright 1996, 1998, 2000, 2001, 2002, 2003 Free Software Foundation,
+   Copyright 1996, 1998, 2000, 2001, 2002 Free Software Foundation,
    Inc.
 
    This file is part of GDB.
@@ -24,10 +24,7 @@
 #include "gdbcore.h"
 #include "frame.h"
 #include "target.h"
-#include "gdb_string.h"
-#include "gdbtypes.h"
-#include "osabi.h"
-#include "m68k-tdep.h"
+
 
 /* Check whether insn1 and insn2 are parts of a signal trampoline.  */
 
@@ -69,8 +66,8 @@
   if (IS_RT_SIGTRAMP (insn0, insn1))
     return 2;
 
-  insn0 = ((insn0 << 16) & 0xffffffff) | (insn1 >> 16);
-  insn1 = ((insn1 << 16) & 0xffffffff) | (insn2 >> 16);
+  insn0 = (insn0 << 16) | (insn1 >> 16);
+  insn1 = (insn1 << 16) | (insn2 >> 16);
   if (IS_SIGTRAMP (insn0, insn1))
     return 1;
   if (IS_RT_SIGTRAMP (insn0, insn1))
@@ -96,9 +93,9 @@
   int sigcontext_offs = (2 * TARGET_INT_BIT) / TARGET_CHAR_BIT;
 
   /* Get sigcontext address, it is the third parameter on the stack.  */
-  if (get_next_frame (frame))
+  if (frame->next)
     sigcontext_addr
-      = read_memory_unsigned_integer (get_frame_base (get_next_frame (frame))
+      = read_memory_unsigned_integer (FRAME_ARGS_ADDRESS (frame->next)
 				      + FRAME_ARGS_SKIP
 				      + sigcontext_offs,
 				      ptrbytes);
@@ -110,7 +107,7 @@
 
   /* Don't cause a memory_error when accessing sigcontext in case the
      stack layout has changed or the stack is corrupt.  */
-  if (m68k_linux_in_sigtramp (get_frame_pc (frame)) == 2)
+  if (m68k_linux_in_sigtramp (frame->pc) == 2)
     target_read_memory (sigcontext_addr + UCONTEXT_PC_OFFSET, buf, ptrbytes);
   else
     target_read_memory (sigcontext_addr + SIGCONTEXT_PC_OFFSET, buf, ptrbytes);
@@ -119,89 +116,11 @@
 
 /* Return the saved program counter for FRAME.  */
 
-static CORE_ADDR
+CORE_ADDR
 m68k_linux_frame_saved_pc (struct frame_info *frame)
 {
   if (get_frame_type (frame) == SIGTRAMP_FRAME)
     return m68k_linux_sigtramp_saved_pc (frame);
 
-  return read_memory_unsigned_integer (get_frame_base (frame) + 4, 4);
-}
-
-/* The following definitions are appropriate when using the ELF
-   format, where floating point values are returned in fp0, pointer
-   values in a0 and other values in d0.  */
-
-/* Extract from an array REGBUF containing the (raw) register state a
-   function return value of type TYPE, and copy that, in virtual
-   format, into VALBUF.  */
-
-static void
-m68k_linux_extract_return_value (struct type *type, char *regbuf, char *valbuf)
-{
-  if (TYPE_CODE (type) == TYPE_CODE_FLT)
-    {
-       REGISTER_CONVERT_TO_VIRTUAL (FP0_REGNUM, type,
-				    regbuf + REGISTER_BYTE (FP0_REGNUM),
-				    valbuf);
-    }
-  else if (TYPE_CODE (type) == TYPE_CODE_PTR)
-    memcpy (valbuf, regbuf + REGISTER_BYTE (M68K_A0_REGNUM),
-	    TYPE_LENGTH (type));
-  else
-    memcpy (valbuf,
-	    regbuf + (TYPE_LENGTH (type) >= 4 ? 0 : 4 - TYPE_LENGTH (type)),
-	    TYPE_LENGTH (type));
-}
-
-/* Write into appropriate registers a function return value of type
-   TYPE, given in virtual format.  */
-
-static void
-m68k_linux_store_return_value (struct type *type, char *valbuf)
-{
-  if (TYPE_CODE (type) == TYPE_CODE_FLT)
-    {
-      char raw_buffer[REGISTER_RAW_SIZE (FP0_REGNUM)];
-      REGISTER_CONVERT_TO_RAW (type, FP0_REGNUM, valbuf, raw_buffer);
-      deprecated_write_register_bytes (REGISTER_BYTE (FP0_REGNUM),
-				       raw_buffer, TYPE_LENGTH (type));
-    }
-  else
-    {
-      if (TYPE_CODE (type) == TYPE_CODE_PTR)
-	deprecated_write_register_bytes (REGISTER_BYTE (M68K_A0_REGNUM),
-					 valbuf, TYPE_LENGTH (type));
-      deprecated_write_register_bytes (0, valbuf, TYPE_LENGTH (type));
-    }
-}
-
-/* Extract from an array REGBUF containing the (raw) register state
-   the address in which a function should return its structure value,
-   as a CORE_ADDR.  */
-
-static CORE_ADDR
-m68k_linux_extract_struct_value_address (char *regbuf)
-{
-  return *(CORE_ADDR *) (regbuf + REGISTER_BYTE (M68K_A0_REGNUM));
-}
-
-static void
-m68k_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
-{
-  set_gdbarch_deprecated_frame_saved_pc (gdbarch,
-					 m68k_linux_frame_saved_pc);
-  set_gdbarch_deprecated_extract_return_value (gdbarch,
-					       m68k_linux_extract_return_value);
-  set_gdbarch_deprecated_store_return_value (gdbarch,
-					     m68k_linux_store_return_value);
-  set_gdbarch_deprecated_extract_struct_value_address (gdbarch,
-						       m68k_linux_extract_struct_value_address);
-}
-
-void
-_initialize_m68k_linux_tdep (void)
-{
-  gdbarch_register_osabi (bfd_arch_m68k, 0, GDB_OSABI_LINUX,
-			  m68k_linux_init_abi);
+  return read_memory_unsigned_integer (frame->frame + 4, 4);
 }
diff --git a/gdb/mips-nat.c b/gdb/mips-nat.c
index e370534..1a29c3e 100644
--- a/gdb/mips-nat.c
+++ b/gdb/mips-nat.c
@@ -51,19 +51,16 @@
 /* Map gdb internal register number to ptrace ``address''.
    These ``addresses'' are defined in DECstation <sys/ptrace.h> */
 
-static int
-register_ptrace_addr (int regno)
-{
-  return (regno < 32 ? GPR_BASE + regno
-	  : regno == PC_REGNUM ? PC
-	  : regno == CAUSE_REGNUM ? CAUSE
-	  : regno == HI_REGNUM ? MMHI
-	  : regno == LO_REGNUM ? MMLO
-	  : regno == FCRCS_REGNUM ? FPC_CSR
-	  : regno == FCRIR_REGNUM ? FPC_EIR
-	  : regno >= FP0_REGNUM ? FPR_BASE + (regno - FP0_REGNUM)
-	  : 0);
-}
+#define REGISTER_PTRACE_ADDR(regno) \
+   (regno < 32 ? 		GPR_BASE + regno \
+  : regno == PC_REGNUM ?	PC	\
+  : regno == CAUSE_REGNUM ?	CAUSE	\
+  : regno == HI_REGNUM ?	MMHI	\
+  : regno == LO_REGNUM ?	MMLO	\
+  : regno == FCRCS_REGNUM ?	FPC_CSR	\
+  : regno == FCRIR_REGNUM ?	FPC_EIR	\
+  : regno >= FP0_REGNUM ?	FPR_BASE + (regno - FP0_REGNUM) \
+  : 0)
 
 static void fetch_core_registers (char *, unsigned, int, CORE_ADDR);
 
@@ -82,7 +79,7 @@
 
   for (regno = 1; regno < NUM_REGS; regno++)
     {
-      regaddr = register_ptrace_addr (regno);
+      regaddr = REGISTER_PTRACE_ADDR (regno);
       for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof (int))
 	{
 	  *(int *) &buf[i] = ptrace (PT_READ_U, PIDGET (inferior_ptid),
@@ -114,7 +111,7 @@
 	  || regno == FCRIR_REGNUM || regno == DEPRECATED_FP_REGNUM
 	  || (regno >= FIRST_EMBED_REGNUM && regno <= LAST_EMBED_REGNUM))
 	return;
-      regaddr = register_ptrace_addr (regno);
+      regaddr = REGISTER_PTRACE_ADDR (regno);
       errno = 0;
       ptrace (PT_WRITE_U, PIDGET (inferior_ptid), (PTRACE_ARG3_TYPE) regaddr,
 	      read_register (regno));
diff --git a/gdb/nto-tdep.c b/gdb/nto-tdep.c
index 94f156e..834daff 100644
--- a/gdb/nto-tdep.c
+++ b/gdb/nto-tdep.c
@@ -269,20 +269,25 @@
 		      int which, CORE_ADDR reg_addr)
 {
   nto_regset_t regset;
-  
-/* See corelow.c:get_core_registers for values of WHICH.  */
-  if (which == 0)
+
+  if (which == NTO_REG_GENERAL)
     {
       memcpy ((char *) &regset, core_reg_sect,
 	      min (core_reg_size, sizeof (regset)));
       nto_supply_gregset ((char *) &regset);
     }
-  else if (which == 2)
+  else if (which == NTO_REG_FLOAT)
     {
       memcpy ((char *) &regset, core_reg_sect,
 	      min (core_reg_size, sizeof (regset)));
       nto_supply_fpregset ((char *) &regset);
     }
+  else if (which == NTO_REG_ALT)
+    {
+      memcpy ((char *) &regset, core_reg_sect,
+	      min (core_reg_size, sizeof (regset)));
+      nto_supply_altregset ((char *) &regset);
+    }
 }
 
 void
diff --git a/gdb/objc-lang.c b/gdb/objc-lang.c
index 0b98a96..1c23c01 100644
--- a/gdb/objc-lang.c
+++ b/gdb/objc-lang.c
@@ -701,8 +701,6 @@
   c_val_print,			/* Print a value using appropriate syntax */
   c_value_print,		/* Print a top-level value */
   objc_skip_trampoline, 	/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   objc_demangle,		/* Language specific symbol demangler */
   {"",     "",    "",  ""},	/* Binary format info */
   {"0%lo",  "0",   "o", ""},	/* Octal format info */
diff --git a/gdb/p-lang.c b/gdb/p-lang.c
index 59e196a..8cfa2b0 100644
--- a/gdb/p-lang.c
+++ b/gdb/p-lang.c
@@ -28,7 +28,6 @@
 #include "language.h"
 #include "p-lang.h"
 #include "valprint.h"
-#include "value.h"
 #include <ctype.h>
  
 extern void _initialize_pascal_language (void);
@@ -462,8 +461,6 @@
   pascal_val_print,		/* Print a value using appropriate syntax */
   pascal_value_print,		/* Print a top-level value */
   NULL,				/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   NULL,				/* Language specific symbol demangler */
   {"", "%", "b", ""},		/* Binary format info */
   {"0%lo", "0", "o", ""},	/* Octal format info */
diff --git a/gdb/scm-lang.c b/gdb/scm-lang.c
index 0a59ea9..0d06915 100644
--- a/gdb/scm-lang.c
+++ b/gdb/scm-lang.c
@@ -252,8 +252,6 @@
   scm_val_print,		/* Print a value using appropriate syntax */
   scm_value_print,		/* Print a top-level value */
   NULL,				/* Language specific skip_trampoline */
-  value_of_this,		/* value_of_this */
-  basic_lookup_symbol_nonlocal,	/* lookup_symbol_nonlocal */
   NULL,				/* Language specific symbol demangler */
   {"", "", "", ""},		/* Binary format info */
   {"#o%lo", "#o", "o", ""},	/* Octal format info */
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 1e1b5de..c5e7e35 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -82,7 +82,7 @@
 						     domain_enum);
 
 static struct symbol *lookup_symbol_aux (const char *name,
-					 const char *linkage_name,
+					 const char *mangled_name,
 					 const struct block *block,
 					 const domain_enum domain,
 					 int *is_a_field_of_this,
@@ -90,7 +90,15 @@
 
 static
 struct symbol *lookup_symbol_aux_local (const char *name,
-					const char *linkage_name,
+					const char *mangled_name,
+					const struct block *block,
+					const domain_enum domain,
+					struct symtab **symtab,
+					const struct block **static_block);
+
+static
+struct symbol *lookup_symbol_aux_block (const char *name,
+					const char *mangled_name,
 					const struct block *block,
 					const domain_enum domain,
 					struct symtab **symtab);
@@ -98,21 +106,21 @@
 static
 struct symbol *lookup_symbol_aux_symtabs (int block_index,
 					  const char *name,
-					  const char *linkage_name,
+					  const char *mangled_name,
 					  const domain_enum domain,
 					  struct symtab **symtab);
 
 static
 struct symbol *lookup_symbol_aux_psymtabs (int block_index,
 					   const char *name,
-					   const char *linkage_name,
+					   const char *mangled_name,
 					   const domain_enum domain,
 					   struct symtab **symtab);
 
 #if 0
 static
 struct symbol *lookup_symbol_aux_minsyms (const char *name,
-					  const char *linkage_name,
+					  const char *mangled_name,
 					  const domain_enum domain,
 					  int *is_a_field_of_this,
 					  struct symtab **symtab);
@@ -939,33 +947,73 @@
   return returnval;	 
 }
 
-/* Behave like lookup_symbol_aux except that NAME is the natural name
-   of the symbol that we're looking for and, if LINKAGE_NAME is
-   non-NULL, ensure that the symbol's linkage name matches as
-   well.  */
-
 static struct symbol *
-lookup_symbol_aux (const char *name, const char *linkage_name,
+lookup_symbol_aux (const char *name, const char *mangled_name,
 		   const struct block *block, const domain_enum domain,
 		   int *is_a_field_of_this, struct symtab **symtab)
 {
   struct symbol *sym;
+  const struct block *static_block;
 
   /* Search specified block and its superiors.  Don't search
      STATIC_BLOCK or GLOBAL_BLOCK.  */
 
-  sym = lookup_symbol_aux_local (name, linkage_name, block, domain,
-				 symtab);
+  sym = lookup_symbol_aux_local (name, mangled_name, block, domain,
+				 symtab, &static_block);
   if (sym != NULL)
     return sym;
 
-  /* If requested to do so by the caller and if appropriate for the
-     current language, check to see if NAME is a field of `this'. */
+#if 0
+  /* NOTE: carlton/2002-11-05: At the time that this code was
+     #ifdeffed out, the value of 'block' was always NULL at this
+     point, hence the bemused comments below.  */
 
-  if (current_language->la_value_of_this != NULL
-      && is_a_field_of_this != NULL)
+  /* FIXME: this code is never executed--block is always NULL at this
+     point.  What is it trying to do, anyway?  We already should have
+     checked the STATIC_BLOCK above (it is the superblock of top-level
+     blocks).  Why is VAR_DOMAIN special-cased?  */
+  /* Don't need to mess with the psymtabs; if we have a block,
+     that file is read in.  If we don't, then we deal later with
+     all the psymtab stuff that needs checking.  */
+  /* Note (RT): The following never-executed code looks unnecessary to me also.
+   * If we change the code to use the original (passed-in)
+   * value of 'block', we could cause it to execute, but then what
+   * would it do? The STATIC_BLOCK of the symtab containing the passed-in
+   * 'block' was already searched by the above code. And the STATIC_BLOCK's
+   * of *other* symtabs (those files not containing 'block' lexically)
+   * should not contain 'block' address-wise. So we wouldn't expect this
+   * code to find any 'sym''s that were not found above. I vote for 
+   * deleting the following paragraph of code.
+   */
+  if (domain == VAR_DOMAIN && block != NULL)
     {
-      struct value *v = current_language->la_value_of_this (0);
+      struct block *b;
+      /* Find the right symtab.  */
+      ALL_SYMTABS (objfile, s)
+      {
+	bv = BLOCKVECTOR (s);
+	b = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK);
+	if (BLOCK_START (b) <= BLOCK_START (block)
+	    && BLOCK_END (b) > BLOCK_START (block))
+	  {
+	    sym = lookup_block_symbol (b, name, mangled_name, VAR_DOMAIN);
+	    if (sym)
+	      {
+		block_found = b;
+		if (symtab != NULL)
+		  *symtab = s;
+		return fixup_symbol_section (sym, objfile);
+	      }
+	  }
+      }
+    }
+#endif /* 0 */
+
+  /* C++/Java/Objective-C: If requested to do so by the caller, 
+     check to see if NAME is a field of `this'. */
+  if (is_a_field_of_this)
+    {
+      struct value *v = value_of_this (0);
 
       *is_a_field_of_this = 0;
       if (v && check_field (v, name))
@@ -977,12 +1025,50 @@
 	}
     }
 
-  /* Now do whatever is appropriate for the current language to look
-     up static and global variables.  */
+  /* If there's a static block to search, search it next.  */
 
-  sym = current_language->la_lookup_symbol_nonlocal (name, linkage_name,
-						     block, domain,
-						     symtab);
+  /* NOTE: carlton/2002-12-05: There is a question as to whether or
+     not it would be appropriate to search the current global block
+     here as well.  (That's what this code used to do before the
+     is_a_field_of_this check was moved up.)  On the one hand, it's
+     redundant with the lookup_symbol_aux_symtabs search that happens
+     next.  On the other hand, if decode_line_1 is passed an argument
+     like filename:var, then the user presumably wants 'var' to be
+     searched for in filename.  On the third hand, there shouldn't be
+     multiple global variables all of which are named 'var', and it's
+     not like decode_line_1 has ever restricted its search to only
+     global variables in a single filename.  All in all, only
+     searching the static block here seems best: it's correct and it's
+     cleanest.  */
+
+  /* NOTE: carlton/2002-12-05: There's also a possible performance
+     issue here: if you usually search for global symbols in the
+     current file, then it would be slightly better to search the
+     current global block before searching all the symtabs.  But there
+     are other factors that have a much greater effect on performance
+     than that one, so I don't think we should worry about that for
+     now.  */
+
+  if (static_block != NULL)
+    {
+      sym = lookup_symbol_aux_block (name, mangled_name, static_block,
+				     domain, symtab);
+      if (sym != NULL)
+	return sym;
+    }
+
+  /* Now search all global blocks.  Do the symtab's first, then
+     check the psymtab's. If a psymtab indicates the existence
+     of the desired name as a global, then do psymtab-to-symtab
+     conversion on the fly and return the found symbol. */
+
+  sym = lookup_symbol_aux_symtabs (GLOBAL_BLOCK, name, mangled_name,
+				   domain, symtab);
+  if (sym != NULL)
+    return sym;
+
+  sym = lookup_symbol_aux_psymtabs (GLOBAL_BLOCK, name, mangled_name,
+				    domain, symtab);
   if (sym != NULL)
     return sym;
 
@@ -992,12 +1078,12 @@
      desired name as a file-level static, then do psymtab-to-symtab
      conversion on the fly and return the found symbol. */
 
-  sym = lookup_symbol_aux_symtabs (STATIC_BLOCK, name, linkage_name,
+  sym = lookup_symbol_aux_symtabs (STATIC_BLOCK, name, mangled_name,
 				   domain, symtab);
   if (sym != NULL)
     return sym;
   
-  sym = lookup_symbol_aux_psymtabs (STATIC_BLOCK, name, linkage_name,
+  sym = lookup_symbol_aux_psymtabs (STATIC_BLOCK, name, mangled_name,
 				    domain, symtab);
   if (sym != NULL)
     return sym;
@@ -1008,41 +1094,46 @@
 }
 
 /* Check to see if the symbol is defined in BLOCK or its superiors.
-   Don't search STATIC_BLOCK or GLOBAL_BLOCK.  */
+   Don't search STATIC_BLOCK or GLOBAL_BLOCK.  If we don't find a
+   match, store the address of STATIC_BLOCK in static_block.  */
 
 static struct symbol *
-lookup_symbol_aux_local (const char *name, const char *linkage_name,
+lookup_symbol_aux_local (const char *name, const char *mangled_name,
 			 const struct block *block,
 			 const domain_enum domain,
-			 struct symtab **symtab)
+			 struct symtab **symtab,
+			 const struct block **static_block)
 {
   struct symbol *sym;
-  const struct block *static_block = block_static_block (block);
-
+  
   /* Check if either no block is specified or it's a global block.  */
 
-  if (static_block == NULL)
-    return NULL;
-
-  while (block != static_block)
+  if (block == NULL || BLOCK_SUPERBLOCK (block) == NULL)
     {
-      sym = lookup_symbol_aux_block (name, linkage_name, block, domain,
+      *static_block = NULL;
+      return NULL;
+    }
+
+  while (BLOCK_SUPERBLOCK (BLOCK_SUPERBLOCK (block)) != NULL)
+    {
+      sym = lookup_symbol_aux_block (name, mangled_name, block, domain,
 				     symtab);
       if (sym != NULL)
 	return sym;
       block = BLOCK_SUPERBLOCK (block);
     }
 
-  /* We've reached the static block without finding a result.  */
+  /* We've reached the static block.  */
 
+  *static_block = block;
   return NULL;
 }
 
 /* Look up a symbol in a block; if found, locate its symtab, fixup the
    symbol, and set block_found appropriately.  */
 
-struct symbol *
-lookup_symbol_aux_block (const char *name, const char *linkage_name,
+static struct symbol *
+lookup_symbol_aux_block (const char *name, const char *mangled_name,
 			 const struct block *block,
 			 const domain_enum domain,
 			 struct symtab **symtab)
@@ -1053,7 +1144,7 @@
   struct block *b;
   struct symtab *s = NULL;
 
-  sym = lookup_block_symbol (block, name, linkage_name, domain);
+  sym = lookup_block_symbol (block, name, mangled_name, domain);
   if (sym)
     {
       block_found = block;
@@ -1086,7 +1177,7 @@
 
 static struct symbol *
 lookup_symbol_aux_symtabs (int block_index,
-			   const char *name, const char *linkage_name,
+			   const char *name, const char *mangled_name,
 			   const domain_enum domain,
 			   struct symtab **symtab)
 {
@@ -1100,7 +1191,7 @@
   {
     bv = BLOCKVECTOR (s);
     block = BLOCKVECTOR_BLOCK (bv, block_index);
-    sym = lookup_block_symbol (block, name, linkage_name, domain);
+    sym = lookup_block_symbol (block, name, mangled_name, domain);
     if (sym)
       {
 	block_found = block;
@@ -1120,7 +1211,7 @@
 
 static struct symbol *
 lookup_symbol_aux_psymtabs (int block_index, const char *name,
-			    const char *linkage_name,
+			    const char *mangled_name,
 			    const domain_enum domain,
 			    struct symtab **symtab)
 {
@@ -1135,13 +1226,13 @@
   ALL_PSYMTABS (objfile, ps)
   {
     if (!ps->readin
-	&& lookup_partial_symbol (ps, name, linkage_name,
+	&& lookup_partial_symbol (ps, name, mangled_name,
 				  psymtab_index, domain))
       {
 	s = PSYMTAB_TO_SYMTAB (ps);
 	bv = BLOCKVECTOR (s);
 	block = BLOCKVECTOR_BLOCK (bv, block_index);
-	sym = lookup_block_symbol (block, name, linkage_name, domain);
+	sym = lookup_block_symbol (block, name, mangled_name, domain);
 	if (!sym)
 	  {
 	    /* This shouldn't be necessary, but as a last resort try
@@ -1158,7 +1249,7 @@
 	    block = BLOCKVECTOR_BLOCK (bv,
 				       block_index == GLOBAL_BLOCK ?
 				       STATIC_BLOCK : GLOBAL_BLOCK);
-	    sym = lookup_block_symbol (block, name, linkage_name, domain);
+	    sym = lookup_block_symbol (block, name, mangled_name, domain);
 	    if (!sym)
 	      error ("Internal: %s symbol `%s' found in %s psymtab but not in symtab.\n%s may be an inlined function, or may be a template function\n(if a template, try specifying an instantiation: %s<type>).",
 		     block_index == GLOBAL_BLOCK ? "global" : "static",
@@ -1194,7 +1285,7 @@
 
 static struct symbol *
 lookup_symbol_aux_minsyms (const char *name,
-			   const char *linkage_name,
+			   const char *mangled_name,
 			   const domain_enum domain,
 			   int *is_a_field_of_this,
 			   struct symtab **symtab)
@@ -1239,14 +1330,14 @@
 	         to be clearly the wrong thing to pass as the
 	         unmangled name.  */
 	      sym =
-		lookup_block_symbol (block, name, linkage_name, domain);
+		lookup_block_symbol (block, name, mangled_name, domain);
 	      /* We kept static functions in minimal symbol table as well as
 	         in static scope. We want to find them in the symbol table. */
 	      if (!sym)
 		{
 		  block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK);
 		  sym = lookup_block_symbol (block, name,
-					     linkage_name, domain);
+					     mangled_name, domain);
 		}
 
 	      /* NOTE: carlton/2002-12-04: The following comment was
@@ -1299,93 +1390,6 @@
 }
 #endif /* 0 */
 
-/* A default version of lookup_symbol_nonlocal for use by languages
-   that can't think of anything better to do.  This implements the C
-   lookup rules.  */
-
-struct symbol *
-basic_lookup_symbol_nonlocal (const char *name,
-			      const char *linkage_name,
-			      const struct block *block,
-			      const domain_enum domain,
-			      struct symtab **symtab)
-{
-  struct symbol *sym;
-
-  /* NOTE: carlton/2003-05-19: The comments below were written when
-     this (or what turned into this) was part of lookup_symbol_aux;
-     I'm much less worried about these questions now, since these
-     decisions have turned out well, but I leave these comments here
-     for posterity.  */
-
-  /* NOTE: carlton/2002-12-05: There is a question as to whether or
-     not it would be appropriate to search the current global block
-     here as well.  (That's what this code used to do before the
-     is_a_field_of_this check was moved up.)  On the one hand, it's
-     redundant with the lookup_symbol_aux_symtabs search that happens
-     next.  On the other hand, if decode_line_1 is passed an argument
-     like filename:var, then the user presumably wants 'var' to be
-     searched for in filename.  On the third hand, there shouldn't be
-     multiple global variables all of which are named 'var', and it's
-     not like decode_line_1 has ever restricted its search to only
-     global variables in a single filename.  All in all, only
-     searching the static block here seems best: it's correct and it's
-     cleanest.  */
-
-  /* NOTE: carlton/2002-12-05: There's also a possible performance
-     issue here: if you usually search for global symbols in the
-     current file, then it would be slightly better to search the
-     current global block before searching all the symtabs.  But there
-     are other factors that have a much greater effect on performance
-     than that one, so I don't think we should worry about that for
-     now.  */
-
-  sym = lookup_symbol_static (name, linkage_name, block, domain, symtab);
-  if (sym != NULL)
-    return sym;
-
-  return lookup_symbol_global (name, linkage_name, domain, symtab);
-}
-
-/* Lookup a symbol in the static block associated to BLOCK, if there
-   is one; do nothing if BLOCK is NULL or a global block.  */
-
-struct symbol *
-lookup_symbol_static (const char *name,
-		      const char *linkage_name,
-		      const struct block *block,
-		      const domain_enum domain,
-		      struct symtab **symtab)
-{
-  const struct block *static_block = block_static_block (block);
-
-  if (static_block != NULL)
-    return lookup_symbol_aux_block (name, linkage_name, static_block,
-				    domain, symtab);
-  else
-    return NULL;
-}
-
-/* Lookup a symbol in all files' global blocks (searching psymtabs if
-   necessary).  */
-
-struct symbol *
-lookup_symbol_global (const char *name,
-		      const char *linkage_name,
-		      const domain_enum domain,
-		      struct symtab **symtab)
-{
-  struct symbol *sym;
-
-  sym = lookup_symbol_aux_symtabs (GLOBAL_BLOCK, name, linkage_name,
-				   domain, symtab);
-  if (sym != NULL)
-    return sym;
-
-  return lookup_symbol_aux_psymtabs (GLOBAL_BLOCK, name, linkage_name,
-				     domain, symtab);
-}
-
 /* Look, in partial_symtab PST, for symbol whose natural name is NAME.
    If LINKAGE_NAME is non-NULL, check in addition that the symbol's
    linkage name matches it.  Check the global symbols if GLOBAL, the
@@ -1624,13 +1628,13 @@
    symbol (language_cplus or language_objc set) has both the encoded and 
    non-encoded names tested for a match.
 
-   If LINKAGE_NAME is non-NULL, verify that any symbol we find has this
+   If MANGLED_NAME is non-NULL, verify that any symbol we find has this
    particular mangled name.
 */
 
 struct symbol *
 lookup_block_symbol (register const struct block *block, const char *name,
-		     const char *linkage_name,
+		     const char *mangled_name,
 		     const domain_enum domain)
 {
   register int bot, top, inc;
@@ -1646,8 +1650,8 @@
       for (sym = BLOCK_BUCKET (block, hash_index); sym; sym = sym->hash_next)
 	{
 	  if (SYMBOL_DOMAIN (sym) == domain 
-	      && (linkage_name
-		  ? strcmp (DEPRECATED_SYMBOL_NAME (sym), linkage_name) == 0
+	      && (mangled_name
+		  ? strcmp (DEPRECATED_SYMBOL_NAME (sym), mangled_name) == 0
 		  : SYMBOL_MATCHES_NATURAL_NAME (sym, name)))
 	    return sym;
 	}
@@ -1716,8 +1720,8 @@
 	{
 	  sym = BLOCK_SYM (block, bot);
 	  if (SYMBOL_DOMAIN (sym) == domain
-	      && (linkage_name
-		  ? strcmp (DEPRECATED_SYMBOL_NAME (sym), linkage_name) == 0
+	      && (mangled_name
+		  ? strcmp (DEPRECATED_SYMBOL_NAME (sym), mangled_name) == 0
 		  : SYMBOL_MATCHES_NATURAL_NAME (sym, name)))
 	    {
 	      return sym;
@@ -1751,8 +1755,8 @@
 	{
 	  sym = BLOCK_SYM (block, bot);
 	  if (SYMBOL_DOMAIN (sym) == domain
-	      && (linkage_name
-		  ? strcmp (DEPRECATED_SYMBOL_NAME (sym), linkage_name) == 0
+	      && (mangled_name
+		  ? strcmp (DEPRECATED_SYMBOL_NAME (sym), mangled_name) == 0
 		  : SYMBOL_MATCHES_NATURAL_NAME (sym, name)))
 	    {
 	      /* If SYM has aliases, then use any alias that is active
@@ -3376,112 +3380,6 @@
   }
 }
 
-/* ObjC: In case we are completing on a selector, look as the msymbol
-   again and feed all the selectors into the mill.  */
-
-static void
-completion_list_objc_symbol (struct minimal_symbol *msymbol, char *sym_text,
-			     int sym_text_len, char *text, char *word)
-{
-  static char *tmp = NULL;
-  static unsigned int tmplen = 0;
-    
-  char *method, *category, *selector;
-  char *tmp2 = NULL;
-    
-  method = SYMBOL_NATURAL_NAME (msymbol);
-
-  /* Is it a method?  */
-  if ((method[0] != '-') && (method[0] != '+'))
-    return;
-
-  if (sym_text[0] == '[')
-    /* Complete on shortened method method.  */
-    completion_list_add_name (method + 1, sym_text, sym_text_len, text, word);
-    
-  while ((strlen (method) + 1) >= tmplen)
-    {
-      if (tmplen == 0)
-	tmplen = 1024;
-      else
-	tmplen *= 2;
-      tmp = xrealloc (tmp, tmplen);
-    }
-  selector = strchr (method, ' ');
-  if (selector != NULL)
-    selector++;
-    
-  category = strchr (method, '(');
-    
-  if ((category != NULL) && (selector != NULL))
-    {
-      memcpy (tmp, method, (category - method));
-      tmp[category - method] = ' ';
-      memcpy (tmp + (category - method) + 1, selector, strlen (selector) + 1);
-      completion_list_add_name (tmp, sym_text, sym_text_len, text, word);
-      if (sym_text[0] == '[')
-	completion_list_add_name (tmp + 1, sym_text, sym_text_len, text, word);
-    }
-    
-  if (selector != NULL)
-    {
-      /* Complete on selector only.  */
-      strcpy (tmp, selector);
-      tmp2 = strchr (tmp, ']');
-      if (tmp2 != NULL)
-	*tmp2 = '\0';
-	
-      completion_list_add_name (tmp, sym_text, sym_text_len, text, word);
-    }
-}
-
-/* Break the non-quoted text based on the characters which are in
-   symbols. FIXME: This should probably be language-specific. */
-
-static char *
-language_search_unquoted_string (char *text, char *p)
-{
-  for (; p > text; --p)
-    {
-      if (isalnum (p[-1]) || p[-1] == '_' || p[-1] == '\0')
-	continue;
-      else
-	{
-	  if ((current_language->la_language == language_objc))
-	    {
-	      if (p[-1] == ':')     /* might be part of a method name */
-		continue;
-	      else if (p[-1] == '[' && (p[-2] == '-' || p[-2] == '+'))
-		p -= 2;             /* beginning of a method name */
-	      else if (p[-1] == ' ' || p[-1] == '(' || p[-1] == ')')
-		{                   /* might be part of a method name */
-		  char *t = p;
-
-		  /* Seeing a ' ' or a '(' is not conclusive evidence
-		     that we are in the middle of a method name.  However,
-		     finding "-[" or "+[" should be pretty un-ambiguous.
-		     Unfortunately we have to find it now to decide.  */
-
-		  while (t > text)
-		    if (isalnum (t[-1]) || t[-1] == '_' ||
-			t[-1] == ' '    || t[-1] == ':' ||
-			t[-1] == '('    || t[-1] == ')')
-		      --t;
-		    else
-		      break;
-
-		  if (t[-1] == '[' && (t[-2] == '-' || t[-2] == '+'))
-		    p = t - 2;      /* method name detected */
-		  /* else we leave with p unchanged */
-		}
-	    }
-	  break;
-	}
-    }
-  return p;
-}
-
-
 /* Return a NULL terminated array of all symbols (regardless of class)
    which begin by matching TEXT.  If the answer is no symbols, then
    the return value is an array which contains only a NULL pointer.
@@ -3604,8 +3502,6 @@
   {
     QUIT;
     COMPLETION_LIST_ADD_SYMBOL (msymbol, sym_text, sym_text_len, text, word);
-    
-    completion_list_objc_symbol (msymbol, sym_text, sym_text_len, text, word);
   }
 
   /* Search upwards from currently selected frame (so that we can
@@ -3623,7 +3519,6 @@
 
       ALL_BLOCK_SYMBOLS (b, i, sym)
 	{
-	  QUIT;
 	  COMPLETION_LIST_ADD_SYMBOL (sym, sym_text, sym_text_len, text, word);
 	  if (SYMBOL_CLASS (sym) == LOC_TYPEDEF)
 	    {
@@ -3729,8 +3624,16 @@
       }
     else
       {
-	/* Not a quoted string.  */
-	sym_text = language_search_unquoted_string (text, p);
+	/* It is not a quoted string.  Break it based on the characters
+	   which are in symbols.  */
+	while (p > text)
+	  {
+	    if (isalnum (p[-1]) || p[-1] == '_' || p[-1] == '\0')
+	      --p;
+	    else
+	      break;
+	  }
+	sym_text = p;
       }
   }
 
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 26ea51e..f8be03b 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -988,45 +988,6 @@
 				     const domain_enum, int *,
 				     struct symtab **);
 
-/* A default version of lookup_symbol_nonlocal for use by languages
-   that can't think of anything better to do.  */
-
-extern struct symbol *basic_lookup_symbol_nonlocal (const char *,
-						    const char *,
-						    const struct block *,
-						    const domain_enum,
-						    struct symtab **);
-
-/* Some helper functions for languages that need to write their own
-   lookup_symbol_nonlocal functions.  */
-
-/* Lookup a symbol in the static block associated to BLOCK, if there
-   is one; do nothing if BLOCK is NULL or a global block.  */
-
-extern struct symbol *lookup_symbol_static (const char *name,
-					    const char *linkage_name,
-					    const struct block *block,
-					    const domain_enum domain,
-					    struct symtab **symtab);
-
-/* Lookup a symbol in all files' global blocks (searching psymtabs if
-   necessary).  */
-
-extern struct symbol *lookup_symbol_global (const char *name,
-					    const char *linkage_name,
-					    const domain_enum domain,
-					    struct symtab **symtab);
-
-/* Lookup a symbol within the block BLOCK.  This, unlike
-   lookup_symbol_block, will set SYMTAB and BLOCK_FOUND correctly, and
-   will fix up the symbol if necessary.  */
-
-extern struct symbol *lookup_symbol_aux_block (const char *name,
-					       const char *linkage_name,
-					       const struct block *block,
-					       const domain_enum domain,
-					       struct symtab **symtab);
-
 /* lookup a symbol by name, within a specified block */
 
 extern struct symbol *lookup_block_symbol (const struct block *, const char *,
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 8f11876..27eae48 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,22 +1,3 @@
-2003-05-20  David Carlton  <carlton@math.stanford.edu>
-
-	* gdb.c++/namespace1.cc: Actually do 'cvs add' before committing
-	this time.
-
-2003-05-19  David Carlton  <carlton@bactrian.org>
-
-	* gdb.c++/rtti.exp: New file, containing tests for PR c++/488.
-	* gdb.c++/rtti.h, gdb.c++/rtti1.cc, gdb.c++/rtti2.cc: Ditto.
-
-2003-05-19  David Carlton  <carlton@bactrian.org>
-
-	* gdb.c++/namespace.exp: Add namespace scope and anonymous
-	namespace tests.
-	Bump copyright date.
-	* gdb.c++/namespace.cc: Add anonymous namespace and namespace C.
-	(main): Call C::D::marker2.
-	* gdb.c++/namespace1.cc: New file.
-
 2003-05-14  Jeff Johnston  <jjohnstn@redhat.com>
 
 	Roland McGrath  <roland@redhat.com>
diff --git a/gdb/testsuite/gdb.c++/namespace.cc b/gdb/testsuite/gdb.c++/namespace.cc
index 7b9a173..7667266 100644
--- a/gdb/testsuite/gdb.c++/namespace.cc
+++ b/gdb/testsuite/gdb.c++/namespace.cc
@@ -68,70 +68,6 @@
   return;
 }
 
-namespace
-{
-  int X = 9;
-
-  namespace G
-  {
-    int Xg = 10;
-  }
-}
-
-namespace C
-{
-  int c = 1;
-  int shadow = 12;
-
-  namespace
-  {
-    int cX = 6;
-    
-    namespace F
-    {
-      int cXf = 7;
-    }
-  }
-
-  namespace C
-  {
-    int cc = 2;
-  }
-
-  namespace D
-  {
-    int cd = 3;
-    int shadow = 13;
-
-    namespace E
-    {
-      int cde = 5;
-    }
-
-    void marker2 (void)
-    {
-      // NOTE: carlton/2003-04-23: I'm listing the expressions that I
-      // plan to have GDB try to print out, just to make sure that the
-      // compiler and I agree which ones should be legal!  It's easy
-      // to screw up when testing the boundaries of namespace stuff.
-      c;
-      //cc;
-      C::cc;
-      cd;
-      E::cde;
-      shadow;
-      cX;
-      F::cXf;
-      X;
-      G::Xg;
-      //cXOtherFile;
-      //XOtherFile;
-
-      return;
-    }
-
-  }
-}
 
 int main ()
 {
@@ -159,5 +95,9 @@
 
   marker1();
   
-  C::D::marker2 ();
 }
+
+  
+
+
+
diff --git a/gdb/testsuite/gdb.c++/namespace.exp b/gdb/testsuite/gdb.c++/namespace.exp
index f4efaf6..3e502c4 100644
--- a/gdb/testsuite/gdb.c++/namespace.exp
+++ b/gdb/testsuite/gdb.c++/namespace.exp
@@ -1,4 +1,4 @@
-# Copyright 1997, 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
 
 # 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
@@ -39,26 +39,20 @@
 
 set testfile "namespace"
 set srcfile ${testfile}.cc
-set objfile ${objdir}/${subdir}/${testfile}.o
-set srcfile1 ${testfile}1.cc
-set objfile1 ${objdir}/${subdir}/${testfile}1.o
 set binfile ${objdir}/${subdir}/${testfile}
 
 if [get_compiler_info ${binfile}] {
     return -1;
 }
 
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug c++}] != "" } {
-     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+
+
+if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
+     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will a
+utomatically fail."
 }
 
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile1}" "${objfile1}" object {debug c++}] != "" } {
-     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
-}
 
-if  { [gdb_compile "${objfile} ${objfile1}" "${binfile}" executable {debug c++}] != "" } {
-     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
-}
 
 gdb_exit
 gdb_start
@@ -192,28 +186,3 @@
    timeout { fail "(timeout) break BBB::Class::xyzq" }
 }
 
-# Test to see if the appropriate namespaces are in scope when trying
-# to print out stuff from within a function defined within a
-# namespace.
-
-if ![runto "C::D::marker2"] then {
-    perror "couldn't run to marker2"
-    continue
-}
-
-gdb_test "print c" "\\$\[0-9\].* = 1"
-gdb_test "print cc" "No symbol \"cc\" in current context."
-gdb_test "print 'C::cc'" "\\$\[0-9\].* = 2"
-gdb_test "print cd" "\\$\[0-9\].* = 3"
-gdb_test "print 'E::cde'" "\\$\[0-9\].* = 5"
-gdb_test "print shadow" "\\$\[0-9\].* = 13"
-gdb_test "print cOtherFile" "\\$\[0-9\].* = 316"
-
-# Some anonymous namespace tests.
-
-gdb_test "print cX" "\\$\[0-9\].* = 6"
-gdb_test "print 'F::cXf'" "\\$\[0-9\].* = 7"
-gdb_test "print X" "\\$\[0-9\].* = 9"
-gdb_test "print 'G::Xg'" "\\$\[0-9\].* = 10"
-gdb_test "print cXOtherFile" "No symbol \"cXOtherFile\" in current context."
-gdb_test "print XOtherFile" "No symbol \"XOtherFile\" in current context."
diff --git a/gdb/testsuite/gdb.c++/namespace1.cc b/gdb/testsuite/gdb.c++/namespace1.cc
deleted file mode 100644
index 4a5900a..0000000
--- a/gdb/testsuite/gdb.c++/namespace1.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2003 Free Software Foundation, Inc.
-
-   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.  
-
-   Please email any bugs, comments, and/or additions to this file to:
-   bug-gdb@prep.ai.mit.edu  */
-
-namespace C
-{
-  namespace {
-    int cXOtherFile = 29;
-  };
-
-  int cOtherFile = 316;
-}
-
-namespace {
-  int XOtherFile = 317;
-}
diff --git a/gdb/testsuite/gdb.c++/rtti.exp b/gdb/testsuite/gdb.c++/rtti.exp
deleted file mode 100644
index f99637a..0000000
--- a/gdb/testsuite/gdb.c++/rtti.exp
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 2003 Free Software Foundation, Inc.
-
-# 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 file is part of the gdb testsuite.
-
-# This contains tests for GDB's use of RTTI information.  This stems
-# from a bug reported in PR gdb/488 and other places, which leads to
-# statements like 'warning: can't find class named 'C::D', as given by
-# C++ RTTI'.  It arises from GDB not knowing about classes that are
-# defined in namespaces.
-
-# NOTE: carlton/2003-05-16: I suspect it could arise from nested class
-# issues, too, and even once we fix that, there might be situations
-# (involving templates, in particular) where this problem triggers
-# because GDB and GCC have different ideas what a class is called.
-
-if $tracelevel then {
-        strace $tracelevel
-        }
-
-if { [skip_cplus_tests] } { continue }
-
-#
-# test running programs
-#
-set prms_id 0
-set bug_id 0
-
-set testfile "rtti"
-set srcfile1 "${srcdir}/${subdir}/${testfile}1.cc"
-set objfile1 "${objdir}/${subdir}/${testfile}1.o"
-set srcfile2 "${srcdir}/${subdir}/${testfile}2.cc"
-set objfile2 "${objdir}/${subdir}/${testfile}2.o"
-set binfile ${objdir}/${subdir}/${testfile}
-
-# gdb_get_line_number needs this to be called srcfile.
-set srcfile "${srcfile1}"
-
-if  { [gdb_compile "${srcfile1}" "${objfile1}" object {debug c++}] != "" } {
-     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
-}
-
-if  { [gdb_compile "${srcfile2}" "${objfile2}" object {debug c++}] != "" } {
-     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
-}
-
-if  { [gdb_compile "${objfile1} ${objfile2}" "${binfile}" executable {debug c++}] != "" } {
-     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
-}
-
-if [get_compiler_info ${binfile} "c++"] {
-    return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
-if ![runto_main] then {
-    perror "couldn't run to breakpoint"
-    continue
-}
-
-# First, run to after we've constructed the object:
-
-gdb_breakpoint [gdb_get_line_number "constructs-done"]
-gdb_continue_to_breakpoint "end of constructors"
-
-gdb_test_multiple "print *e1" "print *e1" {
-    -re "warning: can't find class named `n1::D1', as given by C\\+\\+ RTTI.*$gdb_prompt $" {
-	kfail "gdb/488" "print *e1"
-    }
-    -re "\\$\[0-9\]* = {<n1::Base1> = .*}\r\n$gdb_prompt $" {
-	pass "print *e1"
-    }
-    -re "\\$\[0-9\]* = {<Base1> = .*}\r\n$gdb_prompt $" {
-	# NOTE: carlton/2003-05-16: If code is compiled by GCC2, we
-	# don't print the warning (for no particular reason), but we
-	# still call the class via the wrong name; PR gdb/57 is our
-	# catch-all PR for nested type problems.
-	kfail "gdb/57" "print *e1"
-    }
-}
-
-# NOTE: carlton/2003-05-16: This test fails on my branch with an
-# "<incomplete type>" message because, within rtt1.cc, GDB has no way
-# of knowing that the class is called 'n2::D2' instead of just 'D2'.
-# This is an artifical test case, though: if we were using these
-# classes in a more substantial way, G++ would emit more debug info.
-# As is, I don't think there's anything that GDB can do about this
-# case until G++ starts emitting DW_TAG_namespace info; when that part
-# of the branch gets merged in, then we'll probably want to convert
-# that fail branch to an xfail.
-
-gdb_test_multiple "print *e2" "print *e2" {
-    -re "warning: can't find class named `n2::D2', as given by C\\+\\+ RTTI.*$gdb_prompt $" {
-	kfail "gdb/488" "print *e2"
-    }
-    -re "\\$\[0-9\]* = <incomplete type>\r\n$gdb_prompt $" {
-	# See above NOTE.
-	fail "print *e2"
-    }
-    -re "\\$\[0-9\]* = {<n2::Base2> = .*}\r\n$gdb_prompt $" {
-	pass "print *e2"
-    }
-    -re "\\$\[0-9\]* = {<Base2> = .*}\r\n$gdb_prompt $" {
-	kfail "gdb/57" "print *e2"
-    }
-}
-
-gdb_exit
-return 0
diff --git a/gdb/testsuite/gdb.c++/rtti.h b/gdb/testsuite/gdb.c++/rtti.h
deleted file mode 100644
index 879896d..0000000
--- a/gdb/testsuite/gdb.c++/rtti.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Code to go along with tests in rtti.exp.
-   
-   Copyright 2003 Free Software Foundation, Inc.
-
-   Contributed by David Carlton <carlton@bactrian.org> and by Kealia,
-   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.  */
-
-namespace n2 {
-
-  class C2;
-
-  class Base2 {
-  public:
-    virtual ~Base2() { }
-  };
-
-
-  class C2: public Base2 {
-  public:
-  };
-
-  class D2 : public C2{
-  public:
-    D2(C2 *, C2 *);
-    
-    C2* expr_1_;
-    C2* expr_2_;
-  };
-
-  extern C2 *create2();
-}
diff --git a/gdb/testsuite/gdb.c++/rtti1.cc b/gdb/testsuite/gdb.c++/rtti1.cc
deleted file mode 100644
index 6e9d862..0000000
--- a/gdb/testsuite/gdb.c++/rtti1.cc
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Code to go along with tests in rtti.exp.
-   
-   Copyright 2003 Free Software Foundation, Inc.
-
-   Contributed by David Carlton <carlton@bactrian.org> and by Kealia,
-   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.  */
-
-#include "rtti.h"
-
-namespace n1 {
-
-  class C1;
-
-  class Base1 {
-  public:
-    virtual ~Base1() { }
-  };
-
-
-  class C1: public Base1 {
-  public:
-  };
-
-  class D1 : public C1{
-  public:
-    D1(C1 *, C1 *);
-    
-    C1* expr_1_;
-    C1* expr_2_;
-  };
-  
-  D1::D1(C1 *expr_1, C1 *expr_2)
-    : expr_1_(expr_1), expr_2_(expr_2) { }
-
-  C1 *create1() {
-    return new D1(0, 0);
-  }
-
-} // n1
-
-int main()
-{
-    using namespace n1;
-    using namespace n2;
-
-    C1 *e1 = create1();
-    C2 *e2 = create2();
-
-    return 0;				// constructs-done
-}
diff --git a/gdb/testsuite/gdb.c++/rtti2.cc b/gdb/testsuite/gdb.c++/rtti2.cc
deleted file mode 100644
index 8bb1ed6..0000000
--- a/gdb/testsuite/gdb.c++/rtti2.cc
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Code to go along with tests in rtti.exp.
-   
-   Copyright 2003 Free Software Foundation, Inc.
-
-   Contributed by David Carlton <carlton@bactrian.org> and by Kealia,
-   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.  */
-
-#include "rtti.h"
-
-namespace n2 {
-  
-  D2::D2(C2 *expr_1, C2 *expr_2)
-    : expr_1_(expr_1), expr_2_(expr_2) { }
-
-  C2 *create2() {
-    return new D2(0, 0);
-  }
-
-}
diff --git a/gdb/version.in b/gdb/version.in
index 8379ea3..4764f2f 100644
--- a/gdb/version.in
+++ b/gdb/version.in
@@ -1 +1 @@
-2003-05-21-cvs
+2003-05-17-cvs
diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c
index 121c85e..737d565 100644
--- a/gdb/x86-64-tdep.c
+++ b/gdb/x86-64-tdep.c
@@ -112,7 +112,7 @@
    numbering to GDB's one. Dwarf-2 numbering is 
    defined in x86-64 ABI, section 3.6.  */
 static int x86_64_dwarf2gdb_regno_map[] = {
-  0, 3, 2, 1,			/* RAX, RDX, RCX, RBX */
+  0, 1, 2, 3,			/* RAX - RDX */
   4, 5, 6, 7,			/* RSI, RDI, RBP, RSP */
   8, 9, 10, 11,			/* R8 - R11 */
   12, 13, 14, 15,		/* R12 - R15 */
diff --git a/include/ChangeLog b/include/ChangeLog
index 8dfa46f..b7607af 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,7 +1,3 @@
-2003-05-21  Nick Clifton  <nickc@redhat.com>
-
-	* bfdlink.h (struct bfd_link_hash_table): Fix typo in comment.
-
 2003-05-15  Jim Blandy  <jimb@redhat.com>
 
 	* libiberty.h (hex_value): Make the value an unsigned int, to
diff --git a/include/bfdlink.h b/include/bfdlink.h
index 89d916e..380923a 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -163,7 +163,7 @@
   struct bfd_link_hash_entry *undefs;
   /* Entries are added to the tail of the undefs list.  */
   struct bfd_link_hash_entry *undefs_tail;
-  /* The type of the link hash table.  */
+  /* The type of the ink hash table.  */
   enum bfd_link_hash_table_type type;
 };
 
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 59e05e3..a05962f 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,14 +1,8 @@
-2003-05-15  Roland McGrath  <roland@redhat.com>
-
-	* common.h (NT_AUXV, AT_*): New macros.
-	* external.h (Elf32_External_Auxv, Elf64_External_Auxv): New types.
-	* internal.h (Elf_Internal_Auxv): New type.
-
 2003-05-14  Michael Snyder  <msnyder@redhat.com>
 	From  Bernd Schmidt  <bernds@redhat.com>
 	* h8.h (E_H8_MACH_H8300SX): New.
 
-2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com> 
 
 	* elf/h8.h (E_H8_MACH_H8300HN, E_H8_MACH_H8300SN): New
 
@@ -36,7 +30,7 @@
 
 2003-03-25  Stan Cox   <scox@redhat.com>
 	    Nick Clifton  <nickc@redhat.com>
-
+	    
 	Contribute support for Intel's iWMMXt chip - an	ARM variant:
 
 	* arm.h (ARM_NOTE_SECTION): Define.
diff --git a/include/elf/common.h b/include/elf/common.h
index f342d57..ca79342 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -253,7 +253,7 @@
 #define EM_CYGNUS_FRV		0x5441
 
 /* Ubicom IP2xxx; no ABI */
-#define EM_IP2K_OLD		0x8217
+#define EM_IP2K_OLD		0x8217	
 
 /* MSP430 magic number
       Written in the absense everything.  */
@@ -364,7 +364,6 @@
 #define NT_FPREGSET	2		/* Contains copy of fpregset struct */
 #define NT_PRPSINFO	3		/* Contains copy of prpsinfo struct */
 #define NT_TASKSTRUCT	4		/* Contains copy of task struct */
-#define NT_AUXV		6		/* Contains copy of Elfxx_auxv_t */
 #define NT_PRXFPREG	0x46e62b7f	/* Contains a user_xfpregs_struct; */
 					/*   note name must be "LINUX".  */
 
@@ -472,7 +471,7 @@
 
 /* The following constants control how a symbol may be accessed once it has
    become part of an executable or shared library.  */
-
+					   
 #define STV_DEFAULT	0		/* Visibility is specified by binding type */
 #define STV_INTERNAL	1		/* OS specific version of STV_HIDDEN */
 #define STV_HIDDEN	2		/* Can only be seen inside currect component */
@@ -688,35 +687,4 @@
 
 #define GRP_COMDAT		0x1	/* A COMDAT group */
 
-/* Auxv a_type values.  */
-
-#define AT_NULL		0		/* End of vector */
-#define AT_IGNORE	1		/* Entry should be ignored */
-#define AT_EXECFD	2		/* File descriptor of program */
-#define AT_PHDR		3		/* Program headers for program */
-#define AT_PHENT	4		/* Size of program header entry */
-#define AT_PHNUM	5		/* Number of program headers */
-#define AT_PAGESZ	6		/* System page size */
-#define AT_BASE		7		/* Base address of interpreter */
-#define AT_FLAGS	8		/* Flags */
-#define AT_ENTRY	9		/* Entry point of program */
-#define AT_NOTELF	10		/* Program is not ELF */
-#define AT_UID		11		/* Real uid */
-#define AT_EUID		12		/* Effective uid */
-#define AT_GID		13		/* Real gid */
-#define AT_EGID		14		/* Effective gid */
-#define AT_CLKTCK	17		/* Frequency of times() */
-#define AT_PLATFORM	15		/* String identifying platform.  */
-#define AT_HWCAP	16		/* Machine dependent hints about
-					   processor capabilities.  */
-#define AT_FPUCW	18		/* Used FPU control word.  */
-#define AT_DCACHEBSIZE	19		/* Data cache block size.  */
-#define AT_ICACHEBSIZE	20		/* Instruction cache block size.  */
-#define AT_UCACHEBSIZE	21		/* Unified cache block size.  */
-#define AT_IGNOREPPC	22		/* Entry should be ignored */
-/* Pointer to the global system page used for system calls and other
-   nice things.  */
-#define AT_SYSINFO	32
-#define AT_SYSINFO_EHDR	33
-
 #endif /* _ELF_COMMON_H */
diff --git a/include/elf/external.h b/include/elf/external.h
index a171439..403ee62 100644
--- a/include/elf/external.h
+++ b/include/elf/external.h
@@ -258,19 +258,4 @@
   unsigned char		si_flags[2];
 } Elf_External_Syminfo;
 
-
-/* This structure appears on the stack and in NT_AUXV core file notes.  */
-typedef struct
-{
-  unsigned char		a_type[4];
-  unsigned char		a_val[4];
-} Elf32_External_Auxv;
-
-typedef struct
-{
-  unsigned char		a_type[8];
-  unsigned char		a_val[8];
-} Elf64_External_Auxv;
-
-
 #endif /* _ELF_EXTERNAL_H */
diff --git a/include/elf/internal.h b/include/elf/internal.h
index a7299d9..45d682a 100644
--- a/include/elf/internal.h
+++ b/include/elf/internal.h
@@ -214,13 +214,6 @@
   unsigned short int	si_flags;
 } Elf_Internal_Syminfo;
 
-/* This structure appears on the stack and in NT_AUXV core file notes.  */
-typedef struct
-{
-  bfd_vma a_type;
-  bfd_vma a_val;
-} Elf_Internal_Auxv;
-
 
 /* This structure is used to describe how sections should be assigned
    to program segments.  */
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 48004d0..0c666ec 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,23 +1,3 @@
-2003-05-20  Jason Eckhardt  <jle@rice.edu>
-
-	opcode/i860.h (flush): Set lower 3 bits properly and use 'L'
-	for the immediate operand type instead of 'i'.
-
-2003-05-20  Jason Eckhardt  <jle@rice.edu>
-
-	opcode/i860.h (fzchks): Both S and R bits must be set.
-	(pfzchks): Likewise.
-	(faddp): Likewise.
-	(pfaddp): Likewise.
-	(fix.ss): Remove (invalid instruction).
-	(pfix.ss): Likewise.
-	(ftrunc.ss): Likewise.
-	(pftrunc.ss): Likewise.
-
-2003-05-18  Jason Eckhardt  <jle@rice.edu>
-
-	* i860.h (form, pform): Add missing .dd suffix.
-
 2003-05-13  Stephane Carrez  <stcarrez@nerim.fr>
 
 	* m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000
diff --git a/include/opcode/i860.h b/include/opcode/i860.h
index 6fdcdba..2d6ea19 100644
--- a/include/opcode/i860.h
+++ b/include/opcode/i860.h
@@ -1,5 +1,5 @@
 /* Table of opcodes for the i860.
-   Copyright 1989, 1991, 2000, 2003 Free Software Foundation, Inc.
+   Copyright 1989, 1991, 2000 Free Software Foundation, Inc.
 
 This file is part of GAS, the GNU Assembler, and GDB, the GNU disassembler.
 
@@ -176,8 +176,8 @@
 
 { "trap",	0x44000000, 0xb8000000, "1,2,d", 0 },	/* trap isrc1ni,isrc2,idest */
 
-{ "flush",	0x34000004, 0xc81f0003, "L(2)", E_ADDR },	/* flush #const(isrc2) */
-{ "flush",	0x34000005, 0xc81f0002, "L(2)++", E_ADDR },	/* flush #const(isrc2)++ */
+{ "flush",	0x34000000, 0xc81f0001, "i(2)", E_ADDR },	/* flush #const(isrc2) */
+{ "flush",	0x34000001, 0xc81f0000, "i(2)++", E_ADDR },	/* flush #const(isrc2)++ */
 
 { "and",	0xc0000000, 0x3c000000, "1,2,d", 0 },	/* and isrc1,isrc2,idest */
 { "and",	0xc4000000, 0x38000000, "i,2,d", E_AND },	/* and #const,isrc2,idest */
@@ -433,8 +433,10 @@
 { "pfsub.ss",	0x48000431, 0xb40001ce, "e,f,g", 0 },	/* pfsub.p fsrc1,fsrc2,fdest */
 { "pfsub.sd",	0x480004b1, 0xb400014e, "e,f,g", 0 },	/* pfsub.p fsrc1,fsrc2,fdest */
 { "pfsub.dd",	0x480005b1, 0xb400004e, "e,f,g", 0 },	/* pfsub.p fsrc1,fsrc2,fdest */
+{ "fix.ss",	0x48000032, 0xb40005cd, "e,g", 0 },	/* fix.p fsrc1,fdest */
 { "fix.sd",	0x480000b2, 0xb400054d, "e,g", 0 },	/* fix.p fsrc1,fdest */
 { "fix.dd",	0x480001b2, 0xb400044d, "e,g", 0 },	/* fix.p fsrc1,fdest */
+{ "pfix.ss",	0x48000432, 0xb40001cd, "e,g", 0 },	/* pfix.p fsrc1,fdest */
 { "pfix.sd",	0x480004b2, 0xb400014d, "e,g", 0 },	/* pfix.p fsrc1,fdest */
 { "pfix.dd",	0x480005b2, 0xb400004d, "e,g", 0 },	/* pfix.p fsrc1,fdest */
 { "famov.ss",	0x48000033, 0xb40005cc, "e,g", 0 },	/* famov.p fsrc1,fdest */
@@ -453,8 +455,10 @@
 { "pfle.dd",	0x480005b4, 0xb400004b, "e,f,g", 0 },	/* pfle.p fsrc1,fsrc2,fdest */
 { "pfeq.ss",	0x48000435, 0xb40001ca, "e,f,g", 0 },	/* pfeq.p fsrc1,fsrc2,fdest */
 { "pfeq.dd",	0x48000535, 0xb40000ca, "e,f,g", 0 },	/* pfeq.p fsrc1,fsrc2,fdest */
+{ "ftrunc.ss",	0x4800003a, 0xb40005c5, "e,g", 0 },	/* ftrunc.p fsrc1,fdest */
 { "ftrunc.sd",	0x480000ba, 0xb4000545, "e,g", 0 },	/* ftrunc.p fsrc1,fdest */
 { "ftrunc.dd",	0x480001ba, 0xb4000445, "e,g", 0 },	/* ftrunc.p fsrc1,fdest */
+{ "pftrunc.ss",	0x4800043a, 0xb40001c5, "e,g", 0 },	/* pftrunc.p fsrc1,fdest */
 { "pftrunc.sd",	0x480004ba, 0xb4000145, "e,g", 0 },	/* pftrunc.p fsrc1,fdest */
 { "pftrunc.dd",	0x480005ba, 0xb4000045, "e,g", 0 },	/* pftrunc.p fsrc1,fdest */
 { "fxfr",	0x48000040, 0xb40005bf, "e,d", 0 },	/* fxfr fsrc1,idest */
@@ -468,10 +472,10 @@
 { "pfisub.dd",	0x480005cd, 0xb4000032, "e,f,g", 0 },	/* pfisub.w fsrc1,fsrc2,fdest */
 { "fzchkl",	0x480001d7, 0xb4000428, "e,f,g", 0 },	/* fzchkl fsrc1,fsrc2,fdest */
 { "pfzchkl",	0x480005d7, 0xb4000028, "e,f,g", 0 },	/* pfzchkl fsrc1,fsrc2,fdest */
-{ "fzchks",	0x480001df, 0xb4000420, "e,f,g", 0 },	/* fzchks fsrc1,fsrc2,fdest */
-{ "pfzchks",	0x480005df, 0xb4000020, "e,f,g", 0 },	/* pfzchks fsrc1,fsrc2,fdest */
-{ "faddp",	0x480001d0, 0xb400042f, "e,f,g", 0 },	/* faddp fsrc1,fsrc2,fdest */
-{ "pfaddp",	0x480005d0, 0xb400002f, "e,f,g", 0 },	/* pfaddp fsrc1,fsrc2,fdest */
+{ "fzchks",	0x4800015f, 0xb4000420, "e,f,g", 0 },	/* fzchks fsrc1,fsrc2,fdest */
+{ "pfzchks",	0x4800055f, 0xb4000020, "e,f,g", 0 },	/* pfzchks fsrc1,fsrc2,fdest */
+{ "faddp",	0x48000050, 0xb40005af, "e,f,g", 0 },	/* faddp fsrc1,fsrc2,fdest */
+{ "pfaddp",	0x48000450, 0xb40001af, "e,f,g", 0 },	/* pfaddp fsrc1,fsrc2,fdest */
 { "faddz",	0x480001d1, 0xb400042e, "e,f,g", 0 },	/* faddz fsrc1,fsrc2,fdest */
 { "pfaddz",	0x480005d1, 0xb400002e, "e,f,g", 0 },	/* pfaddz fsrc1,fsrc2,fdest */
 { "form",	0x480001da, 0xb4000425, "e,g", 0 },	/* form fsrc1,fdest */
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index d26d5ef..d30c591 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,7 +1,3 @@
-2003-05-19  Kelley Cook  <kelleycook@wideopenwest.com>
-
-	* config.table: Accept i[345867]86 variant.
-
 2003-05-15  Jim Blandy  <jimb@redhat.com>
 
 	* hex.c (_hex_value): Make this unsigned.
diff --git a/libiberty/config.table b/libiberty/config.table
index 1867cfe..df48ce9 100644
--- a/libiberty/config.table
+++ b/libiberty/config.table
@@ -11,7 +11,7 @@
   *-*-freebsd2.1.*)	frag=mh-fbsd21 ;;
   *-*-freebsd2.2.[012])	frag=mh-fbsd21 ;;
   i370-*-opened*)       frag=mh-openedition ;;
-  i[34567]86-*-windows*)	frag=mh-windows ;;
+  i[345]86-*-windows*)	frag=mh-windows ;;
 esac
 
 if [ -n "${frag}" ]; then
@@ -34,7 +34,7 @@
     alpha*-*-linux*)	frag=mh-elfalphapic ;;
     arm*-*-*)		frag=mh-armpic ;;
     hppa*-*-*)		frag=mh-papic ;;
-    i[34567]86-*-* | x86_64-*-*)
+    i[3456]86-*-* | x86_64-*-*)
 			frag=mh-x86pic ;;
     powerpc*-*-aix*)	;;
     powerpc*-*-*)	frag=mh-ppcpic ;;
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index de8f363..c30e25a 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,8 +1,3 @@
-2003-05-18  Jason Eckhardt  <jle@rice.edu>
-
-	* i860-dis.c (print_insn_i860): Instruction shrd has a dual bit,
-	print it.
-
 2003-05-17  Andreas Jaeger  <aj@suse.de>
 
         * Makefile.am (libopcodes_la_LIBADD): Add libbfd.la.
diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in
index 8c03c17..0220191 100644
--- a/opcodes/Makefile.in
+++ b/opcodes/Makefile.in
@@ -392,8 +392,8 @@
 INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ -I$(srcdir)/../intl -I../intl
 
 libopcodes_la_SOURCES = dis-buf.c disassemble.c
-libopcodes_la_DEPENDENCIES = $(OFILES) ../bfd/libbfd.la
-libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ ../bfd/libbfd.la
+libopcodes_la_DEPENDENCIES = $(OFILES)
+libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@
 libopcodes_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@
 
 # libtool will build .libs/libopcodes.a.  We create libopcodes.a in
diff --git a/opcodes/i860-dis.c b/opcodes/i860-dis.c
index 69a106d..ba183ab 100644
--- a/opcodes/i860-dis.c
+++ b/opcodes/i860-dis.c
@@ -138,11 +138,8 @@
       const char *s;
       int val;
 
-      /* If this a flop (or a shrd) and its dual bit is set,
-         prefix with 'd.'.  */ 	
-      if (((insn & 0xfc000000) == 0x48000000
-           || (insn & 0xfc000000) == 0xb0000000)
-          && (insn & 0x200))
+      /* If this a flop and its dual bit is set, prefix with 'd.'.  */ 	
+      if ((insn & 0xfc000000) == 0x48000000 && (insn & 0x200))
 	(*info->fprintf_func) (info->stream, "d.%s\t", opcode->name);
       else
 	(*info->fprintf_func) (info->stream, "%s\t", opcode->name);