Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/mips')
-rw-r--r--libgloss/mips/Makefile.in259
-rw-r--r--libgloss/mips/aclocal.m4344
-rw-r--r--libgloss/mips/array-io.c68
-rw-r--r--libgloss/mips/array.ld181
-rw-r--r--libgloss/mips/cfe.c107
-rw-r--r--libgloss/mips/cfe.ld173
-rw-r--r--libgloss/mips/cfe_api.c534
-rw-r--r--libgloss/mips/cfe_api.h237
-rw-r--r--libgloss/mips/cfe_api_int.h168
-rw-r--r--libgloss/mips/cfe_error.h101
-rw-r--r--libgloss/mips/cfe_mem.c130
-rw-r--r--libgloss/mips/cma101.c314
-rwxr-xr-xlibgloss/mips/configure3806
-rw-r--r--libgloss/mips/configure.in123
-rw-r--r--libgloss/mips/crt0.S288
-rw-r--r--libgloss/mips/crt0_cfe.S263
-rw-r--r--libgloss/mips/crt0_cygmon.S173
-rw-r--r--libgloss/mips/cygmon.c87
-rw-r--r--libgloss/mips/ddb-kseg0.ld166
-rw-r--r--libgloss/mips/ddb.ld166
-rw-r--r--libgloss/mips/dtor.C25
-rw-r--r--libgloss/mips/dve.ld167
-rw-r--r--libgloss/mips/dvemon.c83
-rw-r--r--libgloss/mips/entry.S281
-rw-r--r--libgloss/mips/idt.ld184
-rw-r--r--libgloss/mips/idt32.ld186
-rw-r--r--libgloss/mips/idt64.ld187
-rw-r--r--libgloss/mips/idtecoff.ld99
-rw-r--r--libgloss/mips/idtmon.S46
-rw-r--r--libgloss/mips/jmr3904-io.c104
-rw-r--r--libgloss/mips/jmr3904app-java.ld135
-rw-r--r--libgloss/mips/jmr3904app.ld168
-rw-r--r--libgloss/mips/jmr3904dram-java.ld138
-rw-r--r--libgloss/mips/jmr3904dram.ld135
-rw-r--r--libgloss/mips/lsi.ld132
-rw-r--r--libgloss/mips/lsipmon.S2
-rw-r--r--libgloss/mips/nullmon.c64
-rw-r--r--libgloss/mips/nullmon.ld179
-rw-r--r--libgloss/mips/pmon.S177
-rw-r--r--libgloss/mips/pmon.ld178
-rw-r--r--libgloss/mips/regs.S156
-rw-r--r--libgloss/mips/syscalls.c45
-rw-r--r--libgloss/mips/test.c13
-rw-r--r--libgloss/mips/vr4300.S341
-rw-r--r--libgloss/mips/vr5xxx.S457
45 files changed, 0 insertions, 11370 deletions
diff --git a/libgloss/mips/Makefile.in b/libgloss/mips/Makefile.in
deleted file mode 100644
index 2042e48ec..000000000
--- a/libgloss/mips/Makefile.in
+++ /dev/null
@@ -1,259 +0,0 @@
-# Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 Cygnus Support
-#
-# The authors hereby grant permission to use, copy, modify, distribute,
-# and license this software and its documentation for any purpose, provided
-# that existing copyright notices are retained in all copies and that this
-# notice is included verbatim in any distributions. No written agreement,
-# license, or royalty fee is required for any of the authorized uses.
-# Modifications to this software may be copyrighted by their authors
-# and need not follow the licensing terms described here, provided that
-# the new terms are clearly indicated on the first page of each file where
-# they apply.
-
-DESTDIR =
-VPATH = @srcdir@
-srcdir = @srcdir@
-objdir = .
-srcroot = $(srcdir)/../..
-objroot = $(objdir)/../..
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-host_alias = @host_alias@
-target_alias = @target_alias@
-program_transform_name = @program_transform_name@
-
-bindir = @bindir@
-libdir = @libdir@
-tooldir = $(exec_prefix)/$(target_alias)
-
-# Multilib support variables.
-# TOP is used instead of MULTI{BUILD,SRC}TOP.
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-
-SHELL = /bin/sh
-
-CC = @CC@
-
-#AS = @AS@
-AS = `if [ -f ${objroot}/../gas/as.new ] ; \
- then echo ${objroot}/../gas/as.new ; \
- else echo as ; fi`
-
-AR = @AR@
-
-#LD = @LD@
-LD = `if [ -f ${objroot}/../ld/ld.new ] ; \
- then echo ${objroot}/../ld/ld.new ; \
- else echo ld ; fi`
-
-RANLIB = @RANLIB@
-
-OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \
- then echo ${objroot}/../binutils/objdump ; \
- else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi`
-OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
- then echo ${objroot}/../binutils/objcopy ; \
- else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
-
-CRT0 = @crt0@
-PCRT0 = @pcrt0@
-GENOBJS = syscalls.o fstat.o getpid.o isatty.o kill.o \
- lseek.o print.o putnum.o stat.o unlink.o
-GENOBJS2 = open.o close.o read.o write.o
-IDTOBJS = idtmon.o @part_specific_obj@ ${GENOBJS}
-PMONOBJS = pmon.o @part_specific_obj@ ${GENOBJS}
-LSIOBJS = lsipmon.o @part_specific_obj@ ${GENOBJS}
-DVEOBJS = dvemon.o @part_specific_obj@ ${GENOBJS} ${GENOBJS2}
-JMR3904OBJS = jmr3904-io.o @part_specific_obj@ ${GENOBJS} ${GENOBJS2}
-CFEOBJS = cfe.o cfe_api.o cfe_mem.o @part_specific_obj@ ${GENOBJS} ${GENOBJS2}
-CYGMONOBJS = open.o close.o cygmon.o @part_specific_obj@ ${GENOBJS}
-
-# Nullmon cannot support read and write, but the test cases pull them in via libs
-NULLMONOBJS = nullmon.o @part_specific_obj@ ${GENOBJS}
-
-CFLAGS = -g
-
-GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \
- then echo -L${objroot}/../gcc ; fi`
-
-SCRIPTS = @script_list@
-BSP = @bsp_list@
-
-PART_SPECIFIC_DEFINES = @part_specific_defines@
-
-# Host specific makefile fragment comes in here.
-@host_makefile_frag@
-
-#
-# build a test program for each target board. Just trying to get
-# it to link is a good test, so we ignore all the errors for now.
-#
-
-all: ${CRT0} ${PCRT0} test.o ${BSP}
-
-#
-# here's where we build the board support packages for each target
-#
-mipsidt.o: $(IDTOBJS)
- ${LD} -r $(IDTOBJS) -o $@
-
-mipspmon.o: $(PMONOBJS)
- ${LD} -r $(PMONOBJS) -o $@
-
-mipslsi.o: $(PMONOBJS)
- ${LD} -r $(LSIOBJS) -o $@
-
-libidt.a: $(IDTOBJS)
- ${AR} ${ARFLAGS} $@ $(IDTOBJS)
- ${RANLIB} $@
-
-libpmon.a: $(PMONOBJS)
- ${AR} ${ARFLAGS} $@ $(PMONOBJS)
- ${RANLIB} $@
-
-liblsi.a: $(LSIOBJS)
- ${AR} ${ARFLAGS} $@ $(LSIOBJS)
- ${RANLIB} $@
-
-libdve.a: $(DVEOBJS)
- ${AR} ${ARFLAGS} $@ $(DVEOBJS)
- ${RANLIB} $@
-
-libjmr3904.a: $(JMR3904OBJS)
- ${AR} ${ARFLAGS} $@ $(JMR3904OBJS)
- ${RANLIB} $@
-
-libcygmon.a: $(CYGMONOBJS)
- ${AR} ${ARFLAGS} $@ $(CYGMONOBJS)
- ${RANLIB} $@
-
-libcfe.a: $(CFEOBJS)
- ${AR} ${ARFLAGS} $@ $(CFEOBJS)
- ${RANLIB} $@
-
-# nullmon.a , This is what you want if you want crt0 but NO mon services
-# Supports GDB sim testing, board bringups, ICE operation.
-libnullmon.a: $(NULLMONOBJS)
- ${AR} ${ARFLAGS} $@ $(NULLMONOBJS)
- ${RANLIB} $@
-
-
-# compile a fully linked binary. The -Wl,-T*.ld is for the linker
-# script. By using -Wl, the linker script is put on the proper place
-# in the comand line for ld, and all the symbols will get fully
-# resolved.
-
-test: $(OBJS) ${BSP} pmon-test idt-test cfe-test
- @echo Done...
-
-dtor.o: $(srcdir)/dtor.C
- $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) -o $@ -c $<
-dtor.x: dtor.o ${CRT0} ${srcdir}/pmon.ld Makefile libpmon.a
- ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \
- dtor.o -o $@ $(NEWLIB_LDFLAGS) -N -Wl,-Tpmon.ld
-
-pmon-test.x: test.o ${CRT0} Makefile libpmon.a
- ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \
- test.o -o $@ $(NEWLIB_LDFLAGS) -Wl,-Tpmon.ld
-pmon-test.srec: pmon-test.x
- $(OBJCOPY) -O srec pmon-test.x $@
-pmon-test.dis: pmon-test.x
- @rm -fr pmon-test.dis
- $(OBJDUMP) -d pmon-test.x > $@
-pmon-test: pmon-test.srec pmon-test.dis
-
-idt-test.x: test.o ${CRT0} Makefile libidt.a
- ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \
- test.o -o $@ $(NEWLIB_LDFLAGS) -Wl,-Tidt.ld
-idt-test.srec: idt-test.x
- $(OBJCOPY) -O srec idt-test.x $@
-idt-test.dis: idt-test.x
- @rm -fr idt-test.dis
- $(OBJDUMP) -d idt-test.x > $@
-idt-test: idt-test.srec idt-test.dis
-
-cfe-test.x: test.o ${CRT0} Makefile libcfe.a
- ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \
- test.o -o $@ $(NEWLIB_LDFLAGS) -Wl,-Tcfe.ld
-cfe-test.srec: cfe-test.x
- $(OBJCOPY) -O srec cfe-test.x $@
-cfe-test.dis: cfe-test.x
- @rm -fr cfe-test.dis
- $(OBJDUMP) -d cfe-test.x > $@
-cfe-test: cfe-test.srec cfe-test.dis
-
-doc:
-
-clean mostlyclean:
- rm -f a.out core *.i *~ *.o *-test *.srec *.dis *.map *.x
-
-distclean maintainer-clean realclean: clean
- rm -f Makefile config.status a.out
-
-.PHONY: install info install-info clean-info
-install:
- @for file in $(CRT0) $(PCRT0) $(BSP); do \
- $(INSTALL_DATA) $${file} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
- done
- @for script in ${SCRIPTS}; do\
- $(INSTALL_DATA) ${srcdir}/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \
- done
-
-info:
-install-info:
-clean-info:
-
-test.o: ${srcdir}/test.c
-
-# these are for the BSPs
-crt0.o: ${srcdir}/crt0.S
-pcrt0.o: ${srcdir}/crt0.S
- $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) -DGCRT0 ${srcdir}/crt0.S -o ${PCRT0}
-crt0_cfe.o: ${srcdir}/crt0_cfe.S
-crt0_cygmon.o: ${srcdir}/crt0_cygmon.S
-idtmon.o: ${srcdir}/idtmon.S
-pmon.o: ${srcdir}/pmon.S
- $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) $(PART_SPECIFIC_DEFINES) ${srcdir}/pmon.S -o pmon.o
-vr4300.o: ${srcdir}/vr4300.S
- $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/vr4300.S
-vr5xxx.o: ${srcdir}/vr5xxx.S
- $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/vr5xxx.S
-lsipmon.o: $(srcdir)/lsipmon.S $(srcdir)/pmon.S
-jmr3904-io.o: ${srcdir}/jmr3904-io.c
- $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/jmr3904-io.c -o $@
-cfe.o: ${srcdir}/cfe.c ${srcdir}/cfe_api.h
- $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/cfe.c -o $@
-cfe_api.o: ${srcdir}/cfe_api.c ${srcdir}/cfe_api.h ${srcdir}/cfe_api_int.h
- $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/cfe_api.c -o $@
-cfe_mem.o: ${srcdir}/cfe_mem.c ${srcdir}/cfe_api.h
- $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/cfe_mem.c -o $@
-
-# cma101 can not be compiled mips16, if a mips16 version is needed then
-# it will have to be built, then this rule can be scrapped, allowing
-# the implicit rule to run.
-cma101.o: ${srcdir}/cma101.c
- $(CC) -c $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) $(CFLAGS) -mno-mips16 ${srcdir}/cma101.c
-
-# cygmon can not be compiled as mips16 since it uses the syscall instruction
-cygmon.o: ${srcdir}/cygmon.c
- $(CC) -c $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) $(CFLAGS) -mno-mips16 ${srcdir}/cygmon.c
-
-syscalls.o: ${srcdir}/syscalls.c
-
-# target specific makefile fragment comes in here.
-@target_makefile_frag@
-
-Makefile: Makefile.in config.status @host_makefile_frag_path@ @target_makefile_frag_path@
- $(SHELL) config.status
-
-config.status: configure
- $(SHELL) config.status --recheck
diff --git a/libgloss/mips/aclocal.m4 b/libgloss/mips/aclocal.m4
deleted file mode 100644
index b6cdfaeb8..000000000
--- a/libgloss/mips/aclocal.m4
+++ /dev/null
@@ -1,344 +0,0 @@
-# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 3
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-m4_include([../acinclude.m4])
diff --git a/libgloss/mips/array-io.c b/libgloss/mips/array-io.c
deleted file mode 100644
index 5c1d96fa3..000000000
--- a/libgloss/mips/array-io.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* array-io.c -- I/O code for the Array Tech RAID disk controller.
- *
- * Copyright (c) 1995 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-#include "mips.h"
-
-/*
- * outbyte -- shove a byte out the serial port. We wait till the byte
- */
-int
-outbyte(byte)
- unsigned char byte;
-{
- return (PUTCHAR(byte));
-}
-
-/*
- * inbyte -- get a byte from the serial port
- */
-unsigned char
-inbyte()
-{
- return ((unsigned char)GETCHAR);
-}
-
-/*
- * led_putnum -- print a hex number on the LED. the value of num must be a byte.
-
- * The max number 15, since the front panel only has 4 LEDs.
- */
-void
-led_putnum ( num )
-char num;
-{
- print ("Sorry, unimplemented, using putnum instead\r\n");
- putnum (num);
-}
-
-/*
- * zylons -- draw a rotating pattern. NOTE: this function never returns.
- */
-void
-zylons()
-{
- print ("Sorry, unimplemented\r\n");
-}
-
-/*
- * delay -- a really gross, ugly hack for simple time delays
- */
-void
-delay (x)
- int x;
-{
- int y = 17;
- while (x-- !=0)
- y = y^2;
-}
diff --git a/libgloss/mips/array.ld b/libgloss/mips/array.ld
deleted file mode 100644
index fc4cc8fc2..000000000
--- a/libgloss/mips/array.ld
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * memory map assumed by prom and standalone system
- *
- * physical kseg1 use
- *
- * 0x1fc20000 0xbfc20000
- * to prom text and read-only data
- * 0x1fc00000 0xbfc00000 (in cpu board "prom space")
- *
- * (Top of RAM - 8K) downward sash and standalone program stack
- * | ( - 8K to preserve kernel message bufs)
- * V (standalone programs grow their stack
- * immediately below sash's stack)
- *
- * ^
- * |
- * 0x00100000 0xa0100000 upward sash program text, data, and bss
- *
- * ^
- * |
- * 0x00020000 0xa0020000 upward standalone program text, data, and bss
- * (kernel is loaded here, also)
- *
- * 0x0001ffff 0xa001ffff downward dbgmon stack
- * |
- * V
- *
- * ^
- * |
- * 0x00010000 0xa0010000 upward dbgmon text, data, and bss
- *
- * 0x0000ffff 0xa000ffff downward prom monitor stack
- * |
- * V
- *
- * ^
- * |
- * 0x00000500 0xa0000500 upward prom monitor bss
- *
- * 0x000004ff 0xa00004ff
- * to restart block
- * 0x00000400 0xa0000400
- *
- * 0x000003ff 0xa00003ff
- * to general exception code
- * 0x00000080 0xa0000080 (note cpu addresses as 0x80000080!)
- *
- * 0x0000007f 0xa000007f
- * to utlbmiss exception code
- * 0x00000000 0xa0000000 (note cpu addresses as 0x80000000!)
- */
-
-/* Uncomment this if you want srecords.
-OUTPUT_FORMAT(srec)
- */
-ENTRY(start)
-STARTUP(crt0.o)
-INPUT(array.o)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- *
-PROVIDE (__stack = 1M - 8);
- */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0x80020000;
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rdata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- }
- _gp = ALIGN(16) + 0x8000;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
- end = .;
- _end = .;
-}
diff --git a/libgloss/mips/cfe.c b/libgloss/mips/cfe.c
deleted file mode 100644
index c1d8af559..000000000
--- a/libgloss/mips/cfe.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* cfe.c -- I/O code for the MIPS boards running CFE. */
-
-/*
- * Copyright 2001, 2002, 2003
- * Broadcom Corporation. All rights reserved.
- *
- * This software is furnished under license and may be used and copied only
- * in accordance with the following terms and conditions. Subject to these
- * conditions, you may download, copy, install, use, modify and distribute
- * modified or unmodified copies of this software in source and/or binary
- * form. No title or ownership is transferred hereby.
- *
- * 1) Any source code used, modified or distributed must reproduce and
- * retain this copyright notice and list of conditions as they appear in
- * the source file.
- *
- * 2) No right is granted to use any trade name, trademark, or logo of
- * Broadcom Corporation. The "Broadcom Corporation" name may not be
- * used to endorse or promote products derived from this software
- * without the prior written permission of Broadcom Corporation.
- *
- * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM BE LIABLE
- * FOR ANY DAMAGES WHATSOEVER, AND IN PARTICULAR, BROADCOM SHALL NOT BE
- * LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- */
-
-#include "cfe_api.h"
-
-void *__libcfe_init (long handle, long a1, long cfe_entrypoint, long a3);
-void __libcfe_exit (long status);
-
-char inbyte (void);
-int outbyte (char c);
-
-/* Echo input characters? */
-int __libcfe_echo_input = 0;
-
-/* CFE handle used to access console device. */
-static int cfe_conshandle;
-
-
-/* Initialize firmware callbacks. Called from crt0_cfe. Returns desired
- stack pointer. */
-void *
-__libcfe_init (long handle, long a1, long entrypoint, long a3)
-{
- cfe_init (handle, entrypoint);
- cfe_conshandle = cfe_getstdhandle (CFE_STDHANDLE_CONSOLE);
-
- __libcfe_meminit ();
- return __libcfe_stack_top ();
-}
-
-/* Exit back to monitor, with the given status code. */
-void
-__libcfe_exit (long status)
-{
- outbyte ('\r');
- outbyte ('\n');
- cfe_exit (CFE_FLG_WARMSTART, status);
-}
-
-char
-inbyte (void)
-{
- unsigned char c;
- int rv;
-
- while (cfe_read (cfe_conshandle, &c, 1) != 1)
- ;
- if (c == '\r')
- c = '\n';
- if (__libcfe_echo_input)
- outbyte (c);
- return c;
-}
-
-int
-outbyte (char c)
-{
- int res;
-
- do
- {
- res = cfe_write (cfe_conshandle, &c, 1);
- }
- while (res == 0);
- if (c == '\n')
- outbyte ('\r');
- return 0;
-}
-
-/* This is the MIPS cache flush function call. No defines are provided
- by libgloss for 'cache', and CFE doesn't let you flush ranges, so
- we just flush all I & D for every call. */
-int
-_flush_cache (char *addr, int nbytes, int cache)
-{
- cfe_flushcache (0);
- return 0;
-}
diff --git a/libgloss/mips/cfe.ld b/libgloss/mips/cfe.ld
deleted file mode 100644
index 58e8014d7..000000000
--- a/libgloss/mips/cfe.ld
+++ /dev/null
@@ -1,173 +0,0 @@
-/* The following TEXT start address leaves space for the monitor
- workspace. */
-
-ENTRY(_start)
-STARTUP(crt0_cfe.o)
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -lcfe -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0x80020000;
- .text : {
- _ftext = . ;
- PROVIDE (eprol = .);
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- }
- .init : {
- KEEP (*(.init))
- }
- .fini : {
- KEEP (*(.fini))
- }
- .rel.sdata : {
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- }
- PROVIDE (etext = .);
- _etext = .;
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rodata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- PROVIDE (edata = .);
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
-
- . = ALIGN(32);
- PROVIDE (end = .);
- _end = .;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/libgloss/mips/cfe_api.c b/libgloss/mips/cfe_api.c
deleted file mode 100644
index ab5ac9059..000000000
--- a/libgloss/mips/cfe_api.c
+++ /dev/null
@@ -1,534 +0,0 @@
-/* From: CFE Id: cfe_api.c,v 1.16 2002/07/09 23:29:11 cgd Exp $ */
-
-/*
- * Copyright 2000, 2001, 2002
- * Broadcom Corporation. All rights reserved.
- *
- * This software is furnished under license and may be used and copied only
- * in accordance with the following terms and conditions. Subject to these
- * conditions, you may download, copy, install, use, modify and distribute
- * modified or unmodified copies of this software in source and/or binary
- * form. No title or ownership is transferred hereby.
- *
- * 1) Any source code used, modified or distributed must reproduce and
- * retain this copyright notice and list of conditions as they appear in
- * the source file.
- *
- * 2) No right is granted to use any trade name, trademark, or logo of
- * Broadcom Corporation. The "Broadcom Corporation" name may not be
- * used to endorse or promote products derived from this software
- * without the prior written permission of Broadcom Corporation.
- *
- * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM BE LIABLE
- * FOR ANY DAMAGES WHATSOEVER, AND IN PARTICULAR, BROADCOM SHALL NOT BE
- * LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* *********************************************************************
- *
- * Broadcom Common Firmware Environment (CFE)
- *
- * Device Function stubs File: cfe_api.c
- *
- * This module contains device function stubs (small routines to
- * call the standard "iocb" interface entry point to CFE).
- * There should be one routine here per iocb function call.
- *
- * Authors: Mitch Lichtenberg, Chris Demetriou
- *
- ********************************************************************* */
-
-#include "cfe_api.h"
-#include "cfe_api_int.h"
-
-/* Cast from a native pointer to a cfe_xptr_t and back. */
-#define XPTR_FROM_NATIVE(n) ((cfe_xptr_t) (intptr_t) (n))
-#define NATIVE_FROM_XPTR(x) ((void *) (intptr_t) (x))
-
-#ifdef CFE_API_IMPL_NAMESPACE
-#define cfe_iocb_dispatch(a) __cfe_iocb_dispatch(a)
-#endif
-int cfe_iocb_dispatch(cfe_xiocb_t *xiocb);
-
-#if defined(CFE_API_common) || defined(CFE_API_ALL)
-/*
- * Declare the dispatch function with args of "intptr_t".
- * This makes sure whatever model we're compiling in
- * puts the pointers in a single register. For example,
- * combining -mlong64 and -mips1 or -mips2 would lead to
- * trouble, since the handle and IOCB pointer will be
- * passed in two registers each, and CFE expects one.
- */
-
-static int (*cfe_dispfunc)(intptr_t handle, intptr_t xiocb) = 0;
-static cfe_xuint_t cfe_handle = 0;
-
-int
-cfe_init(cfe_xuint_t handle, cfe_xuint_t ept)
-{
- cfe_dispfunc = NATIVE_FROM_XPTR(ept);
- cfe_handle = handle;
- return 0;
-}
-
-int
-cfe_iocb_dispatch(cfe_xiocb_t *xiocb)
-{
- if (!cfe_dispfunc) return -1;
- return (*cfe_dispfunc)((intptr_t)cfe_handle, (intptr_t)xiocb);
-}
-#endif /* CFE_API_common || CFE_API_ALL */
-
-#if defined(CFE_API_close) || defined(CFE_API_ALL)
-int
-cfe_close(int handle)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_DEV_CLOSE;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = handle;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = 0;
-
- cfe_iocb_dispatch(&xiocb);
-
- return xiocb.xiocb_status;
-
-}
-#endif /* CFE_API_close || CFE_API_ALL */
-
-#if defined(CFE_API_cpu_start) || defined(CFE_API_ALL)
-int
-cfe_cpu_start(int cpu, void (*fn)(void), long sp, long gp, long a1)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_FW_CPUCTL;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_cpuctl_t);
- xiocb.plist.xiocb_cpuctl.cpu_number = cpu;
- xiocb.plist.xiocb_cpuctl.cpu_command = CFE_CPU_CMD_START;
- xiocb.plist.xiocb_cpuctl.gp_val = gp;
- xiocb.plist.xiocb_cpuctl.sp_val = sp;
- xiocb.plist.xiocb_cpuctl.a1_val = a1;
- xiocb.plist.xiocb_cpuctl.start_addr = (long)fn;
-
- cfe_iocb_dispatch(&xiocb);
-
- return xiocb.xiocb_status;
-}
-#endif /* CFE_API_cpu_start || CFE_API_ALL */
-
-#if defined(CFE_API_cpu_stop) || defined(CFE_API_ALL)
-int
-cfe_cpu_stop(int cpu)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_FW_CPUCTL;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_cpuctl_t);
- xiocb.plist.xiocb_cpuctl.cpu_number = cpu;
- xiocb.plist.xiocb_cpuctl.cpu_command = CFE_CPU_CMD_STOP;
-
- cfe_iocb_dispatch(&xiocb);
-
- return xiocb.xiocb_status;
-}
-#endif /* CFE_API_cpu_stop || CFE_API_ALL */
-
-#if defined(CFE_API_enumenv) || defined(CFE_API_ALL)
-int
-cfe_enumenv(int idx, char *name, int namelen, char *val, int vallen)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_ENV_SET;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);
- xiocb.plist.xiocb_envbuf.enum_idx = idx;
- xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
- xiocb.plist.xiocb_envbuf.name_length = namelen;
- xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(val);
- xiocb.plist.xiocb_envbuf.val_length = vallen;
-
- cfe_iocb_dispatch(&xiocb);
-
- return xiocb.xiocb_status;
-}
-#endif /* CFE_API_enumenv || CFE_API_ALL */
-
-#if defined(CFE_API_enummem) || defined(CFE_API_ALL)
-int
-cfe_enummem(int idx, int flags, cfe_xuint_t *start, cfe_xuint_t *length,
- cfe_xuint_t *type)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_FW_MEMENUM;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = flags;
- xiocb.xiocb_psize = sizeof(xiocb_meminfo_t);
- xiocb.plist.xiocb_meminfo.mi_idx = idx;
-
- cfe_iocb_dispatch(&xiocb);
-
- if (xiocb.xiocb_status < 0)
- return xiocb.xiocb_status;
-
- *start = xiocb.plist.xiocb_meminfo.mi_addr;
- *length = xiocb.plist.xiocb_meminfo.mi_size;
- *type = xiocb.plist.xiocb_meminfo.mi_type;
-
- return 0;
-}
-#endif /* CFE_API_enummem || CFE_API_ALL */
-
-#if defined(CFE_API_exit) || defined(CFE_API_ALL)
-int
-cfe_exit(int warm, int status)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_FW_RESTART;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = warm ? CFE_FLG_WARMSTART : 0;
- xiocb.xiocb_psize = sizeof(xiocb_exitstat_t);
- xiocb.plist.xiocb_exitstat.status = status;
-
- cfe_iocb_dispatch(&xiocb);
-
- return xiocb.xiocb_status;
-}
-#endif /* CFE_API_exit || CFE_API_ALL */
-
-#if defined(CFE_API_flushcache) || defined(CFE_API_ALL)
-int
-cfe_flushcache(int flg)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_FW_FLUSHCACHE;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = flg;
- xiocb.xiocb_psize = 0;
-
- cfe_iocb_dispatch(&xiocb);
-
- return xiocb.xiocb_status;
-}
-#endif /* CFE_API_flushcache || CFE_API_ALL */
-
-#if defined(CFE_API_getdevinfo) || defined(CFE_API_ALL)
-int
-cfe_getdevinfo(char *name)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_DEV_GETINFO;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
- xiocb.plist.xiocb_buffer.buf_offset = 0;
- xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(name);
- xiocb.plist.xiocb_buffer.buf_length = cfe_strlen(name);
-
- cfe_iocb_dispatch(&xiocb);
-
- if (xiocb.xiocb_status < 0)
- return xiocb.xiocb_status;
- return xiocb.plist.xiocb_buffer.buf_devflags;
-}
-#endif /* CFE_API_getdevinfo || CFE_API_ALL */
-
-#if defined(CFE_API_getenv) || defined(CFE_API_ALL)
-int
-cfe_getenv(char *name, char *dest, int destlen)
-{
- cfe_xiocb_t xiocb;
-
- *dest = 0;
-
- xiocb.xiocb_fcode = CFE_CMD_ENV_GET;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);
- xiocb.plist.xiocb_envbuf.enum_idx = 0;
- xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
- xiocb.plist.xiocb_envbuf.name_length = cfe_strlen(name);
- xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(dest);
- xiocb.plist.xiocb_envbuf.val_length = destlen;
-
- cfe_iocb_dispatch(&xiocb);
-
- return xiocb.xiocb_status;
-}
-#endif /* CFE_API_getenv || CFE_API_ALL */
-
-#if defined(CFE_API_getfwinfo) || defined(CFE_API_ALL)
-int
-cfe_getfwinfo(cfe_fwinfo_t *info)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_FW_GETINFO;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_fwinfo_t);
-
- cfe_iocb_dispatch(&xiocb);
-
- if (xiocb.xiocb_status < 0)
- return xiocb.xiocb_status;
-
- info->fwi_version = xiocb.plist.xiocb_fwinfo.fwi_version;
- info->fwi_totalmem = xiocb.plist.xiocb_fwinfo.fwi_totalmem;
- info->fwi_flags = xiocb.plist.xiocb_fwinfo.fwi_flags;
- info->fwi_boardid = xiocb.plist.xiocb_fwinfo.fwi_boardid;
- info->fwi_bootarea_va = xiocb.plist.xiocb_fwinfo.fwi_bootarea_va;
- info->fwi_bootarea_pa = xiocb.plist.xiocb_fwinfo.fwi_bootarea_pa;
- info->fwi_bootarea_size = xiocb.plist.xiocb_fwinfo.fwi_bootarea_size;
-#if 0
- info->fwi_reserved1 = xiocb.plist.xiocb_fwinfo.fwi_reserved1;
- info->fwi_reserved2 = xiocb.plist.xiocb_fwinfo.fwi_reserved2;
- info->fwi_reserved3 = xiocb.plist.xiocb_fwinfo.fwi_reserved3;
-#endif
-
- return 0;
-}
-#endif /* CFE_API_getfwinfo || CFE_API_ALL */
-
-#if defined(CFE_API_getstdhandle) || defined(CFE_API_ALL)
-int
-cfe_getstdhandle(int flg)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_DEV_GETHANDLE;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = flg;
- xiocb.xiocb_psize = 0;
-
- cfe_iocb_dispatch(&xiocb);
-
- if (xiocb.xiocb_status < 0)
- return xiocb.xiocb_status;
- return xiocb.xiocb_handle;
-
-}
-#endif /* CFE_API_getstdhandle || CFE_API_ALL */
-
-#if defined(CFE_API_getticks) || defined(CFE_API_ALL)
-int64_t
-#ifdef CFE_API_IMPL_NAMESPACE
-__cfe_getticks(void)
-#else
-cfe_getticks(void)
-#endif
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_FW_GETTIME;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_time_t);
- xiocb.plist.xiocb_time.ticks = 0;
-
- cfe_iocb_dispatch(&xiocb);
-
- return xiocb.plist.xiocb_time.ticks;
-
-}
-#endif /* CFE_API_getticks || CFE_API_ALL */
-
-#if defined(CFE_API_inpstat) || defined(CFE_API_ALL)
-int
-cfe_inpstat(int handle)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_DEV_INPSTAT;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = handle;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_inpstat_t);
- xiocb.plist.xiocb_inpstat.inp_status = 0;
-
- cfe_iocb_dispatch(&xiocb);
-
- if (xiocb.xiocb_status < 0)
- return xiocb.xiocb_status;
- return xiocb.plist.xiocb_inpstat.inp_status;
-
-}
-#endif /* CFE_API_inpstat || CFE_API_ALL */
-
-#if defined(CFE_API_ioctl) || defined(CFE_API_ALL)
-int
-cfe_ioctl(int handle, unsigned int ioctlnum, unsigned char *buffer, int length,
- int *retlen, cfe_xuint_t offset)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_DEV_IOCTL;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = handle;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
- xiocb.plist.xiocb_buffer.buf_offset = offset;
- xiocb.plist.xiocb_buffer.buf_ioctlcmd = ioctlnum;
- xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);
- xiocb.plist.xiocb_buffer.buf_length = length;
-
- cfe_iocb_dispatch(&xiocb);
-
- if (retlen)
- *retlen = xiocb.plist.xiocb_buffer.buf_retlen;
- return xiocb.xiocb_status;
-}
-#endif /* CFE_API_ioctl || CFE_API_ALL */
-
-#if defined(CFE_API_open) || defined(CFE_API_ALL)
-int
-cfe_open(char *name)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_DEV_OPEN;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
- xiocb.plist.xiocb_buffer.buf_offset = 0;
- xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(name);
- xiocb.plist.xiocb_buffer.buf_length = cfe_strlen(name);
-
- cfe_iocb_dispatch(&xiocb);
-
- if (xiocb.xiocb_status < 0)
- return xiocb.xiocb_status;
- return xiocb.xiocb_handle;
-}
-#endif /* CFE_API_open || CFE_API_ALL */
-
-#if defined(CFE_API_read) || defined(CFE_API_ALL)
-int
-cfe_read(int handle, unsigned char *buffer, int length)
-{
- return cfe_readblk(handle, 0, buffer, length);
-}
-#endif /* CFE_API_read || CFE_API_ALL */
-
-#if defined(CFE_API_readblk) || defined(CFE_API_ALL)
-int
-cfe_readblk(int handle, cfe_xint_t offset, unsigned char *buffer, int length)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_DEV_READ;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = handle;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
- xiocb.plist.xiocb_buffer.buf_offset = offset;
- xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);
- xiocb.plist.xiocb_buffer.buf_length = length;
-
- cfe_iocb_dispatch(&xiocb);
-
- if (xiocb.xiocb_status < 0)
- return xiocb.xiocb_status;
- return xiocb.plist.xiocb_buffer.buf_retlen;
-}
-#endif /* CFE_API_readblk || CFE_API_ALL */
-
-#if defined(CFE_API_setenv) || defined(CFE_API_ALL)
-int
-cfe_setenv(char *name, char *val)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_ENV_SET;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = 0;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);
- xiocb.plist.xiocb_envbuf.enum_idx = 0;
- xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
- xiocb.plist.xiocb_envbuf.name_length = cfe_strlen(name);
- xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(val);
- xiocb.plist.xiocb_envbuf.val_length = cfe_strlen(val);
-
- cfe_iocb_dispatch(&xiocb);
-
- return xiocb.xiocb_status;
-}
-#endif /* CFE_API_setenv || CFE_API_ALL */
-
-#if (defined(CFE_API_strlen) || defined(CFE_API_ALL)) \
- && !defined(CFE_API_STRLEN_CUSTOM)
-int
-cfe_strlen(char *name)
-{
- int count = 0;
-
- while (*name++)
- count++;
-
- return count;
-}
-#endif /* CFE_API_strlen || CFE_API_ALL */
-
-#if defined(CFE_API_write) || defined(CFE_API_ALL)
-int
-cfe_write(int handle, unsigned char *buffer, int length)
-{
- return cfe_writeblk(handle, 0, buffer, length);
-}
-#endif /* CFE_API_write || CFE_API_ALL */
-
-#if defined(CFE_API_writeblk) || defined(CFE_API_ALL)
-int
-cfe_writeblk(int handle, cfe_xint_t offset, unsigned char *buffer, int length)
-{
- cfe_xiocb_t xiocb;
-
- xiocb.xiocb_fcode = CFE_CMD_DEV_WRITE;
- xiocb.xiocb_status = 0;
- xiocb.xiocb_handle = handle;
- xiocb.xiocb_flags = 0;
- xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
- xiocb.plist.xiocb_buffer.buf_offset = offset;
- xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);
- xiocb.plist.xiocb_buffer.buf_length = length;
-
- cfe_iocb_dispatch(&xiocb);
-
- if (xiocb.xiocb_status < 0)
- return xiocb.xiocb_status;
- return xiocb.plist.xiocb_buffer.buf_retlen;
-}
-#endif /* CFE_API_writeblk || CFE_API_ALL */
diff --git a/libgloss/mips/cfe_api.h b/libgloss/mips/cfe_api.h
deleted file mode 100644
index afe46834e..000000000
--- a/libgloss/mips/cfe_api.h
+++ /dev/null
@@ -1,237 +0,0 @@
-/* From: CFE Id: cfe_api.h,v 1.29 2002/07/09 23:29:11 cgd Exp $ */
-
-/*
- * Copyright 2000, 2001, 2002
- * Broadcom Corporation. All rights reserved.
- *
- * This software is furnished under license and may be used and copied only
- * in accordance with the following terms and conditions. Subject to these
- * conditions, you may download, copy, install, use, modify and distribute
- * modified or unmodified copies of this software in source and/or binary
- * form. No title or ownership is transferred hereby.
- *
- * 1) Any source code used, modified or distributed must reproduce and
- * retain this copyright notice and list of conditions as they appear in
- * the source file.
- *
- * 2) No right is granted to use any trade name, trademark, or logo of
- * Broadcom Corporation. The "Broadcom Corporation" name may not be
- * used to endorse or promote products derived from this software
- * without the prior written permission of Broadcom Corporation.
- *
- * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM BE LIABLE
- * FOR ANY DAMAGES WHATSOEVER, AND IN PARTICULAR, BROADCOM SHALL NOT BE
- * LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* *********************************************************************
- *
- * Broadcom Common Firmware Environment (CFE)
- *
- * Device function prototypes File: cfe_api.h
- *
- * This file contains declarations for doing callbacks to
- * cfe from an application. It should be the only header
- * needed by the application to use this library
- *
- * Authors: Mitch Lichtenberg, Chris Demetriou
- *
- ********************************************************************* */
-
-#ifndef CFE_API_H
-#define CFE_API_H
-
-/*
- * Apply customizations here for different OSes. These need to:
- * * typedef uint64_t, int64_t, intptr_t, uintptr_t.
- * * define cfe_strlen() if use of an existing function is desired.
- * * define CFE_API_IMPL_NAMESPACE if API functions are to use
- * names in the implementation namespace.
- * Also, optionally, if the build environment does not do so automatically,
- * CFE_API_* can be defined here as desired.
- */
-/* Begin customization. */
-#include <sys/types.h> /* for __uint64_t and __int64_t. */
-#define int64_t __int64_t
-#define uint64_t __int64_t
-#include <_ansi.h> /* for _POINTER_INT. */
-typedef _POINTER_INT intptr_t;
-typedef unsigned _POINTER_INT uintptr_t;
-
-#include <string.h>
-#define cfe_strlen(s) strlen(s)
-
-#define CFE_API_ALL
-#define CFE_API_IMPL_NAMESPACE
-
-/* Return the stack size to be used for the program. Normally 32KB. The
- normal memory allocator uses the bottom of the stack as its heap limit,
- so if your application uses a lot of stack space define this function
- appropriately to keep the heap from growing into the stack. */
-unsigned long __libcfe_stack_size(void) __attribute__((__weak__));
-
-/* Return the (max address + 1) to be used by this program. (This address
- minus '_end' is used as the heap size, so the address should be in the
- same address space segments as _end. The normal memory allocator
- queries CFE to determine the available memory. */
-void *__libcfe_mem_limit(void) __attribute__((__weak__));
-
-/* If the configuration ability provided by __libcfe_mem_limit() and
- __libcfe_stack_size() do not provide enough flexibility for your
- application's memory allocation needs, you can replace the normal
- low-level allocator by providing the functions listed below and
- also the function:
-
- void *sbrk(ptrdiff_t incr);
-
- If you provide any of these functions, you should provide all three,
- and be sure to link them into your application as a .o file (rather
- than a .a).
-
- __libcfe_meminit() is responsible for initializing the low-level
- memory allocator.
-
- __libcfe_stack_top() returns a pointer to the top (highest address;
- the stack grows down from that address) of the stack to be used by
- the program. */
-void __libcfe_meminit (void);
-void *__libcfe_stack_top (void);
-
-/* End customization. */
-
-
-/* *********************************************************************
- * Constants
- ********************************************************************* */
-
-/* Seal indicating CFE's presence, passed to user program. */
-#define CFE_EPTSEAL 0x43464531
-
-#define CFE_MI_RESERVED 0 /* memory is reserved, do not use */
-#define CFE_MI_AVAILABLE 1 /* memory is available */
-
-#define CFE_FLG_WARMSTART 0x00000001
-#define CFE_FLG_FULL_ARENA 0x00000001
-#define CFE_FLG_ENV_PERMANENT 0x00000001
-
-#define CFE_CPU_CMD_START 1
-#define CFE_CPU_CMD_STOP 0
-
-#define CFE_STDHANDLE_CONSOLE 0
-
-#define CFE_DEV_NETWORK 1
-#define CFE_DEV_DISK 2
-#define CFE_DEV_FLASH 3
-#define CFE_DEV_SERIAL 4
-#define CFE_DEV_CPU 5
-#define CFE_DEV_NVRAM 6
-#define CFE_DEV_CLOCK 7
-#define CFE_DEV_OTHER 8
-#define CFE_DEV_MASK 0x0F
-
-#define CFE_CACHE_FLUSH_D 1
-#define CFE_CACHE_INVAL_I 2
-#define CFE_CACHE_INVAL_D 4
-#define CFE_CACHE_INVAL_L2 8
-
-#define CFE_FWI_64BIT 0x00000001
-#define CFE_FWI_32BIT 0x00000002
-#define CFE_FWI_RELOC 0x00000004
-#define CFE_FWI_UNCACHED 0x00000008
-#define CFE_FWI_MULTICPU 0x00000010
-#define CFE_FWI_FUNCSIM 0x00000020
-#define CFE_FWI_RTLSIM 0x00000040
-
-typedef struct {
- int64_t fwi_version; /* major, minor, eco version */
- int64_t fwi_totalmem; /* total installed mem */
- int64_t fwi_flags; /* various flags */
- int64_t fwi_boardid; /* board ID */
- int64_t fwi_bootarea_va; /* VA of boot area */
- int64_t fwi_bootarea_pa; /* PA of boot area */
- int64_t fwi_bootarea_size; /* size of boot area */
-} cfe_fwinfo_t;
-
-
-/*
- * cfe_strlen is handled specially: If already defined, it has been
- * overridden in this environment with a standard strlen-like function.
- */
-#ifdef cfe_strlen
-# define CFE_API_STRLEN_CUSTOM
-#else
-# ifdef CFE_API_IMPL_NAMESPACE
-# define cfe_strlen(a) __cfe_strlen(a)
-# endif
-int cfe_strlen(char *name);
-#endif
-
-/*
- * Defines and prototypes for functions which take no arguments.
- */
-#ifdef CFE_API_IMPL_NAMESPACE
-int64_t __cfe_getticks(void);
-#define cfe_getticks() __cfe_getticks()
-#else
-int64_t cfe_getticks(void);
-#endif
-
-/*
- * Defines and prototypes for the rest of the functions.
- */
-#ifdef CFE_API_IMPL_NAMESPACE
-#define cfe_close(a) __cfe_close(a)
-#define cfe_cpu_start(a,b,c,d,e) __cfe_cpu_start(a,b,c,d,e)
-#define cfe_cpu_stop(a) __cfe_cpu_stop(a)
-#define cfe_enumenv(a,b,d,e,f) __cfe_enumenv(a,b,d,e,f)
-#define cfe_enummem(a,b,c,d,e) __cfe_enummem(a,b,c,d,e)
-#define cfe_exit(a,b) __cfe_exit(a,b)
-#define cfe_flushcache(a) __cfe_cacheflush(a)
-#define cfe_getdevinfo(a) __cfe_getdevinfo(a)
-#define cfe_getenv(a,b,c) __cfe_getenv(a,b,c)
-#define cfe_getfwinfo(a) __cfe_getfwinfo(a)
-#define cfe_getstdhandle(a) __cfe_getstdhandle(a)
-#define cfe_init(a,b) __cfe_init(a,b)
-#define cfe_inpstat(a) __cfe_inpstat(a)
-#define cfe_ioctl(a,b,c,d,e,f) __cfe_ioctl(a,b,c,d,e,f)
-#define cfe_open(a) __cfe_open(a)
-#define cfe_read(a,b,c) __cfe_read(a,b,c)
-#define cfe_readblk(a,b,c,d) __cfe_readblk(a,b,c,d)
-#define cfe_setenv(a,b) __cfe_setenv(a,b)
-#define cfe_write(a,b,c) __cfe_write(a,b,c)
-#define cfe_writeblk(a,b,c,d) __cfe_writeblk(a,b,c,d)
-#endif /* CFE_API_IMPL_NAMESPACE */
-
-int cfe_close(int handle);
-int cfe_cpu_start(int cpu, void (*fn)(void), long sp, long gp, long a1);
-int cfe_cpu_stop(int cpu);
-int cfe_enumenv(int idx, char *name, int namelen, char *val, int vallen);
-int cfe_enummem(int idx, int flags, uint64_t *start, uint64_t *length,
- uint64_t *type);
-int cfe_exit(int warm,int status);
-int cfe_flushcache(int flg);
-int cfe_getdevinfo(char *name);
-int cfe_getenv(char *name, char *dest, int destlen);
-int cfe_getfwinfo(cfe_fwinfo_t *info);
-int cfe_getstdhandle(int flg);
-int cfe_init(uint64_t handle,uint64_t ept);
-int cfe_inpstat(int handle);
-int cfe_ioctl(int handle, unsigned int ioctlnum, unsigned char *buffer,
- int length, int *retlen, uint64_t offset);
-int cfe_open(char *name);
-int cfe_read(int handle, unsigned char *buffer, int length);
-int cfe_readblk(int handle, int64_t offset, unsigned char *buffer, int length);
-int cfe_setenv(char *name, char *val);
-int cfe_write(int handle, unsigned char *buffer, int length);
-int cfe_writeblk(int handle, int64_t offset, unsigned char *buffer,
- int length);
-
-#endif /* CFE_API_H */
diff --git a/libgloss/mips/cfe_api_int.h b/libgloss/mips/cfe_api_int.h
deleted file mode 100644
index 618211a13..000000000
--- a/libgloss/mips/cfe_api_int.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/* From: CFE Id: cfe_api_int.h,v 1.21 2002/07/09 23:29:11 cgd Exp $ */
-
-/*
- * Copyright 2000, 2001, 2002
- * Broadcom Corporation. All rights reserved.
- *
- * This software is furnished under license and may be used and copied only
- * in accordance with the following terms and conditions. Subject to these
- * conditions, you may download, copy, install, use, modify and distribute
- * modified or unmodified copies of this software in source and/or binary
- * form. No title or ownership is transferred hereby.
- *
- * 1) Any source code used, modified or distributed must reproduce and
- * retain this copyright notice and list of conditions as they appear in
- * the source file.
- *
- * 2) No right is granted to use any trade name, trademark, or logo of
- * Broadcom Corporation. The "Broadcom Corporation" name may not be
- * used to endorse or promote products derived from this software
- * without the prior written permission of Broadcom Corporation.
- *
- * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM BE LIABLE
- * FOR ANY DAMAGES WHATSOEVER, AND IN PARTICULAR, BROADCOM SHALL NOT BE
- * LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* *********************************************************************
- *
- * Broadcom Common Firmware Environment (CFE)
- *
- * Device function prototypes File: cfe_api_int.h
- *
- * This header defines all internal types and macros for the
- * library. This is stuff that's not exported to an app
- * using the library.
- *
- * Authors: Mitch Lichtenberg, Chris Demetriou
- *
- ********************************************************************* */
-
-#ifndef CFE_API_INT_H
-#define CFE_API_INT_H
-
-/* *********************************************************************
- * Constants
- ********************************************************************* */
-
-#define CFE_CMD_FW_GETINFO 0
-#define CFE_CMD_FW_RESTART 1
-#define CFE_CMD_FW_BOOT 2
-#define CFE_CMD_FW_CPUCTL 3
-#define CFE_CMD_FW_GETTIME 4
-#define CFE_CMD_FW_MEMENUM 5
-#define CFE_CMD_FW_FLUSHCACHE 6
-
-#define CFE_CMD_DEV_GETHANDLE 9
-#define CFE_CMD_DEV_ENUM 10
-#define CFE_CMD_DEV_OPEN 11
-#define CFE_CMD_DEV_INPSTAT 12
-#define CFE_CMD_DEV_READ 13
-#define CFE_CMD_DEV_WRITE 14
-#define CFE_CMD_DEV_IOCTL 15
-#define CFE_CMD_DEV_CLOSE 16
-#define CFE_CMD_DEV_GETINFO 17
-
-#define CFE_CMD_ENV_ENUM 20
-#define CFE_CMD_ENV_GET 22
-#define CFE_CMD_ENV_SET 23
-#define CFE_CMD_ENV_DEL 24
-
-#define CFE_CMD_MAX 32
-
-#define CFE_CMD_VENDOR_USE 0x8000 /* codes above this are for customer use */
-
-/* *********************************************************************
- * Structures
- ********************************************************************* */
-
-typedef uint64_t cfe_xuint_t;
-typedef int64_t cfe_xint_t;
-typedef int64_t cfe_xptr_t;
-
-typedef struct xiocb_buffer_s {
- cfe_xuint_t buf_offset; /* offset on device (bytes) */
- cfe_xptr_t buf_ptr; /* pointer to a buffer */
- cfe_xuint_t buf_length; /* length of this buffer */
- cfe_xuint_t buf_retlen; /* returned length (for read ops) */
- cfe_xuint_t buf_ioctlcmd; /* IOCTL command (used only for IOCTLs) */
-} xiocb_buffer_t;
-
-#define buf_devflags buf_ioctlcmd /* returned device info flags */
-
-typedef struct xiocb_inpstat_s {
- cfe_xuint_t inp_status; /* 1 means input available */
-} xiocb_inpstat_t;
-
-typedef struct xiocb_envbuf_s {
- cfe_xint_t enum_idx; /* 0-based enumeration index */
- cfe_xptr_t name_ptr; /* name string buffer */
- cfe_xint_t name_length; /* size of name buffer */
- cfe_xptr_t val_ptr; /* value string buffer */
- cfe_xint_t val_length; /* size of value string buffer */
-} xiocb_envbuf_t;
-
-typedef struct xiocb_cpuctl_s {
- cfe_xuint_t cpu_number; /* cpu number to control */
- cfe_xuint_t cpu_command; /* command to issue to CPU */
- cfe_xuint_t start_addr; /* CPU start address */
- cfe_xuint_t gp_val; /* starting GP value */
- cfe_xuint_t sp_val; /* starting SP value */
- cfe_xuint_t a1_val; /* starting A1 value */
-} xiocb_cpuctl_t;
-
-typedef struct xiocb_time_s {
- cfe_xint_t ticks; /* current time in ticks */
-} xiocb_time_t;
-
-typedef struct xiocb_exitstat_s {
- cfe_xint_t status;
-} xiocb_exitstat_t;
-
-typedef struct xiocb_meminfo_s {
- cfe_xint_t mi_idx; /* 0-based enumeration index */
- cfe_xint_t mi_type; /* type of memory block */
- cfe_xuint_t mi_addr; /* physical start address */
- cfe_xuint_t mi_size; /* block size */
-} xiocb_meminfo_t;
-
-typedef struct xiocb_fwinfo_s {
- cfe_xint_t fwi_version; /* major, minor, eco version */
- cfe_xint_t fwi_totalmem; /* total installed mem */
- cfe_xint_t fwi_flags; /* various flags */
- cfe_xint_t fwi_boardid; /* board ID */
- cfe_xint_t fwi_bootarea_va; /* VA of boot area */
- cfe_xint_t fwi_bootarea_pa; /* PA of boot area */
- cfe_xint_t fwi_bootarea_size; /* size of boot area */
- cfe_xint_t fwi_reserved1;
- cfe_xint_t fwi_reserved2;
- cfe_xint_t fwi_reserved3;
-} xiocb_fwinfo_t;
-
-typedef struct cfe_xiocb_s {
- cfe_xuint_t xiocb_fcode; /* IOCB function code */
- cfe_xint_t xiocb_status; /* return status */
- cfe_xint_t xiocb_handle; /* file/device handle */
- cfe_xuint_t xiocb_flags; /* flags for this IOCB */
- cfe_xuint_t xiocb_psize; /* size of parameter list */
- union {
- xiocb_buffer_t xiocb_buffer; /* buffer parameters */
- xiocb_inpstat_t xiocb_inpstat; /* input status parameters */
- xiocb_envbuf_t xiocb_envbuf; /* environment function parameters */
- xiocb_cpuctl_t xiocb_cpuctl; /* CPU control parameters */
- xiocb_time_t xiocb_time; /* timer parameters */
- xiocb_meminfo_t xiocb_meminfo; /* memory arena info parameters */
- xiocb_fwinfo_t xiocb_fwinfo; /* firmware information */
- xiocb_exitstat_t xiocb_exitstat; /* Exit Status */
- } plist;
-} cfe_xiocb_t;
-
-#endif /* CFE_API_INT_H */
diff --git a/libgloss/mips/cfe_error.h b/libgloss/mips/cfe_error.h
deleted file mode 100644
index a12af4b03..000000000
--- a/libgloss/mips/cfe_error.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* From: CFE Id: cfe_error.h,v 1.2 2002/07/09 19:37:52 cgd Exp $ */
-
-/*
- * Copyright 2000, 2001, 2002
- * Broadcom Corporation. All rights reserved.
- *
- * This software is furnished under license and may be used and copied only
- * in accordance with the following terms and conditions. Subject to these
- * conditions, you may download, copy, install, use, modify and distribute
- * modified or unmodified copies of this software in source and/or binary
- * form. No title or ownership is transferred hereby.
- *
- * 1) Any source code used, modified or distributed must reproduce and
- * retain this copyright notice and list of conditions as they appear in
- * the source file.
- *
- * 2) No right is granted to use any trade name, trademark, or logo of
- * Broadcom Corporation. The "Broadcom Corporation" name may not be
- * used to endorse or promote products derived from this software
- * without the prior written permission of Broadcom Corporation.
- *
- * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM BE LIABLE
- * FOR ANY DAMAGES WHATSOEVER, AND IN PARTICULAR, BROADCOM SHALL NOT BE
- * LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* *********************************************************************
- *
- * Broadcom Common Firmware Environment (CFE)
- *
- * Error codes File: cfe_error.h
- *
- * CFE's global error code list is here.
- *
- * Author: Mitch Lichtenberg
- *
- ********************************************************************* */
-
-
-#define CFE_OK 0
-#define CFE_ERR -1 /* generic error */
-#define CFE_ERR_INV_COMMAND -2
-#define CFE_ERR_EOF -3
-#define CFE_ERR_IOERR -4
-#define CFE_ERR_NOMEM -5
-#define CFE_ERR_DEVNOTFOUND -6
-#define CFE_ERR_DEVOPEN -7
-#define CFE_ERR_INV_PARAM -8
-#define CFE_ERR_ENVNOTFOUND -9
-#define CFE_ERR_ENVREADONLY -10
-
-#define CFE_ERR_NOTELF -11
-#define CFE_ERR_NOT32BIT -12
-#define CFE_ERR_WRONGENDIAN -13
-#define CFE_ERR_BADELFVERS -14
-#define CFE_ERR_NOTMIPS -15
-#define CFE_ERR_BADELFFMT -16
-#define CFE_ERR_BADADDR -17
-
-#define CFE_ERR_FILENOTFOUND -18
-#define CFE_ERR_UNSUPPORTED -19
-
-#define CFE_ERR_HOSTUNKNOWN -20
-
-#define CFE_ERR_TIMEOUT -21
-
-#define CFE_ERR_PROTOCOLERR -22
-
-#define CFE_ERR_NETDOWN -23
-#define CFE_ERR_NONAMESERVER -24
-
-#define CFE_ERR_NOHANDLES -25
-#define CFE_ERR_ALREADYBOUND -26
-
-#define CFE_ERR_CANNOTSET -27
-#define CFE_ERR_NOMORE -28
-#define CFE_ERR_BADFILESYS -29
-#define CFE_ERR_FSNOTAVAIL -30
-
-#define CFE_ERR_INVBOOTBLOCK -31
-#define CFE_ERR_WRONGDEVTYPE -32
-#define CFE_ERR_BBCHECKSUM -33
-#define CFE_ERR_BOOTPROGCHKSUM -34
-
-#define CFE_ERR_LDRNOTAVAIL -35
-
-#define CFE_ERR_NOTREADY -36
-
-#define CFE_ERR_GETMEM -37
-#define CFE_ERR_SETMEM -38
-
-#define CFE_ERR_NOTCONN -39
-#define CFE_ERR_ADDRINUSE -40
diff --git a/libgloss/mips/cfe_mem.c b/libgloss/mips/cfe_mem.c
deleted file mode 100644
index 87caabf8c..000000000
--- a/libgloss/mips/cfe_mem.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/* cfe_mem.c -- Replaceable memory management hooks for MIPS boards
- running CFE. */
-
-/*
- * Copyright 2003
- * Broadcom Corporation. All rights reserved.
- *
- * This software is furnished under license and may be used and copied only
- * in accordance with the following terms and conditions. Subject to these
- * conditions, you may download, copy, install, use, modify and distribute
- * modified or unmodified copies of this software in source and/or binary
- * form. No title or ownership is transferred hereby.
- *
- * 1) Any source code used, modified or distributed must reproduce and
- * retain this copyright notice and list of conditions as they appear in
- * the source file.
- *
- * 2) No right is granted to use any trade name, trademark, or logo of
- * Broadcom Corporation. The "Broadcom Corporation" name may not be
- * used to endorse or promote products derived from this software
- * without the prior written permission of Broadcom Corporation.
- *
- * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM BE LIABLE
- * FOR ANY DAMAGES WHATSOEVER, AND IN PARTICULAR, BROADCOM SHALL NOT BE
- * LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- */
-
-#include "cfe_api.h"
-
-/* Structure filled in by get_mem_info. Only the size field is
- actually used (by sbrk), so the others aren't even filled in.
- Note that 'size' is the __size__ of the heap starting at _end! */
-struct s_mem {
- unsigned int size;
- unsigned int icsize;
- unsigned int dcsize;
-};
-
-void *get_mem_info (struct s_mem *);
-
-extern char _end[];
-
-/* Address immediately after available memory. */
-static unsigned long memtop;
-
-/* Program stack size. */
-static unsigned long stack_size;
-
-void
-__libcfe_meminit (void)
-{
- /* If the user has provided a memory-limit function, use it to
- determine the end of usable memory. */
- if (&__libcfe_mem_limit != NULL)
- memtop = __libcfe_mem_limit ();
- else
- {
- uint64_t start, length, type;
- int i, rv;
- long end_segbits, end_pa;
-
- /* Note that this only works if _end and the program live in kseg0
- or kseg1. Not a problem with the default linker script, but
- if you're writing your own, keep it in mind. For more complex
- memory allocation needs, you're encouraged to copy this file
- and syscalls.c (for sbrk()), and reimplement as appropriate. */
- end_segbits = (long)_end & ~ 0x1fffffffL;
- end_pa = (long)_end & 0x1fffffffL;
-
- for (i = 0; ; i++)
- {
- rv = cfe_enummem(i, 0, &start, &length, &type);
- if (rv < 0)
- {
- /* Did not find an available entry containing _end.
- Assume a minimal amount of memory (1MB). */
- memtop = _end + (1 * 1024 * 1024);
- break;
- }
-
- /* If not available, try the next. */
- if (type != CFE_MI_AVAILABLE)
- continue;
-
- /* If end_pa is between start and (start + length) then we have
- a winner. */
- if (end_pa >= start && end_pa < (start + length))
- {
- memtop = (start + length) | end_segbits;
- break;
- }
- }
- }
-
- /* If the user has provided a memory-limit function, use it to
- determine the end of usable memory. */
- if (&__libcfe_stack_size != NULL)
- stack_size = __libcfe_stack_size ();
- else
- stack_size = (32 * 1024); /* Default = 32KB. */
-
- /* Chop the top of memory to a 32-byte aligned location, and
- round the stack size up to a 32-byte multiple. */
- memtop = memtop & ~(unsigned long)31;
- stack_size = (stack_size + 31) & ~(unsigned long)31;
-}
-
-void *
-__libcfe_stack_top (void)
-{
- /* Grow down from the top of available memory. Obviously, if
- code writes above this limit, problems could result! */
- return (void *) memtop;
-}
-
-/* For compatibility, get_mem_info returns the top of memory
- (i.e., the stack address). Nothing actually uses that,
- though. */
-void *
-get_mem_info (struct s_mem *meminfo)
-{
- meminfo->size = (char *)(memtop - stack_size) - _end;
- return (void *) memtop;
-}
diff --git a/libgloss/mips/cma101.c b/libgloss/mips/cma101.c
deleted file mode 100644
index e8f381864..000000000
--- a/libgloss/mips/cma101.c
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * cma101.c -- lo-level support for Cogent CMA101 development board.
- *
- * Copyright (c) 1996, 2001, 2002 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#ifdef __mips16
-/* The assembler portions of this file need to be re-written to
- support mips16, if and when that seems useful.
-*/
-#error cma101.c can not be compiled -mips16
-#endif
-
-
-#include <time.h> /* standard ANSI time routines */
-
-/* Normally these would appear in a header file for external
- use. However, we are only building a simple example world at the
- moment: */
-
-#include "regs.S"
-
-#if defined(MIPSEB)
-#define BYTEREG(b,o) ((volatile unsigned char *)(PHYS_TO_K1((b) + (o) + 7)))
-#endif /* MIPSEB */
-#if defined(MIPSEL)
-#define BYTEREG(b,o) ((volatile unsigned char *)(PHYS_TO_K1((b) + (o))))
-#endif /* MIPSEL */
-
-/* I/O addresses: */
-#define RTCLOCK_BASE (0x0E800000) /* Mk48T02 NVRAM/RTC */
-#define UART_BASE (0x0E900000) /* NS16C552 DUART */
-#define LCD_BASE (0x0EB00000) /* Alphanumeric display */
-
-/* LCD panel manifests: */
-#define LCD_DATA BYTEREG(LCD_BASE,0)
-#define LCD_CMD BYTEREG(LCD_BASE,8)
-
-#define LCD_STAT_BUSY (0x80)
-#define LCD_SET_DDADDR (0x80)
-
-/* RTC manifests */
-/* The lo-offsets are the NVRAM locations (0x7F8 bytes) */
-#define RTC_CONTROL BYTEREG(RTCLOCK_BASE,0x3FC0)
-#define RTC_SECS BYTEREG(RTCLOCK_BASE,0x3FC8)
-#define RTC_MINS BYTEREG(RTCLOCK_BASE,0x3FD0)
-#define RTC_HOURS BYTEREG(RTCLOCK_BASE,0x3FD8)
-#define RTC_DAY BYTEREG(RTCLOCK_BASE,0x3FE0)
-#define RTC_DATE BYTEREG(RTCLOCK_BASE,0x3FE8)
-#define RTC_MONTH BYTEREG(RTCLOCK_BASE,0x3FF0)
-#define RTC_YEAR BYTEREG(RTCLOCK_BASE,0x3FF8)
-
-#define RTC_CTL_LOCK_READ (0x40) /* lock RTC whilst reading */
-#define RTC_CTL_LOCK_WRITE (0x80) /* lock RTC whilst writing */
-
-/* Macro to force out-standing memory transfers to complete before
- next sequence. For the moment we assume that the processor in the
- CMA101 board supports at least ISA II. */
-#define DOSYNC() asm(" .set mips2 ; sync ; .set mips0")
-
-/* We disable interrupts by writing zero to all of the masks, and the
- global interrupt enable bit: */
-#define INTDISABLE(sr,tmp) asm("\
- .set mips2 ; \
- mfc0 %0,$12 ; \
- lui %1,0xffff ; \
- ori %1,%1,0xfffe ; \
- and %1, %0, %1 ; \
- mtc0 %1,$12 ; \
- .set mips0" : "=d" (sr), "=d" (tmp))
-#define INTRESTORE(sr) asm("\
- .set mips2 ; \
- mtc0 %0,$12 ; \
- .set mips0" : : "d" (sr))
-
-/* TODO:FIXME: The CPU card support should be in separate source file
- from the standard CMA101 support provided in this file. */
-
-/* The CMA101 board being used contains a CMA257 Vr4300 CPU:
- MasterClock is at 33MHz. PClock is derived from MasterClock by
- multiplying by the ratio defined by the DivMode pins:
- DivMode(1:0) MasterClock PClock Ratio
- 00 100MHz 100MHz 1:1
- 01 100MHz 150MHz 1.5:1
- 10 100MHz 200MHz 2:1
- 11 100Mhz 300MHz 3:1
-
- Are these pins reflected in the EC bits in the CONFIG register? or
- is that talking about a different clock multiplier?
- 110 = 1
- 111 = 1.5
- 000 = 2
- 001 = 3
- (all other values are undefined)
-*/
-
-#define MASTERCLOCK (33) /* ticks per uS */
-unsigned int pclock; /* number of PClock ticks per uS */
-void
-set_pclock (void)
-{
- unsigned int config;
- asm volatile ("mfc0 %0,$16 ; nop ; nop" : "=r" (config)); /* nasty CP0 register constant */
- switch ((config >> 28) & 0x7) {
- case 0x7 : /* 1.5:1 */
- pclock = (MASTERCLOCK + (MASTERCLOCK / 2));
- break;
-
- case 0x0 : /* 2:1 */
- pclock = (2 * MASTERCLOCK);
- break;
-
- case 0x1 : /* 3:1 */
- pclock = (3 * MASTERCLOCK);
- break;
-
- case 0x6 : /* 1:1 */
- default : /* invalid configuration, so assume the lowest */
- pclock = MASTERCLOCK;
- break;
- }
-
- return;
-}
-
-#define PCLOCK_WAIT(x) __cpu_timer_poll((x) * pclock)
-
-/* NOTE: On the Cogent CMA101 board the LCD controller will sometimes
- return not-busy, even though it is. The work-around is to perform a
- ~50uS delay before checking the busy signal. */
-
-static int
-lcd_busy (void)
-{
- PCLOCK_WAIT(50); /* 50uS delay */
- return(*LCD_CMD & LCD_STAT_BUSY);
-}
-
-/* Note: This code *ASSUMES* that the LCD has already been initialised
- by the monitor. It only provides code to write to the LCD, and is
- not a complete device driver. */
-
-void
-lcd_display (int line, const char *msg)
-{
- int n;
-
- if (lcd_busy ())
- return;
-
- *LCD_CMD = (LCD_SET_DDADDR | (line == 1 ? 0x40 : 0x00));
-
- for (n = 0; n < 16; n++) {
- if (lcd_busy ())
- return;
- if (*msg)
- *LCD_DATA = *msg++;
- else
- *LCD_DATA = ' ';
- }
-
- return;
-}
-
-#define SM_PATTERN (0x55AA55AA)
-#define SM_INCR ((256 << 10) / sizeof(unsigned int)) /* 64K words */
-
-extern unsigned int __buserr_count(void);
-extern void __default_buserr_handler(void);
-extern void __restore_buserr_handler(void);
-
-/* Allow the user to provide his/her own defaults. */
-unsigned int __sizemem_default;
-
-unsigned int
-__sizemem ()
-{
- volatile unsigned int *base;
- volatile unsigned int *probe;
- unsigned int baseorig;
- unsigned int sr;
- extern char end[];
- char *endptr = (char *)&end;
- int extra;
-
- /* If the linker script provided a value for the memory size (or the user
- overrode it in a debugger), use that. */
- if (__sizemem_default)
- return __sizemem_default;
-
- /* If we are running in kernel segment 0 (possibly cached), try sizing memory
- in kernel segment 1 (uncached) to avoid some problems with monitors. */
- if (endptr >= K0BASE_ADDR && endptr < K1BASE_ADDR)
- endptr = (endptr - K0BASE_ADDR) + K1BASE_ADDR;
-
- INTDISABLE(sr,baseorig); /* disable all interrupt masks */
-
- __default_buserr_handler();
- __cpu_flush();
-
- DOSYNC();
-
- /* _end is the end of the user program. _end may not be properly aligned
- for an int pointer, so we adjust the address to make sure it is safe.
- We use void * arithmetic to avoid accidentally truncating the pointer. */
-
- extra = ((int) endptr & (sizeof (int) - 1));
- base = ((void *) endptr + sizeof (int) - extra);
- baseorig = *base;
-
- *base = SM_PATTERN;
- /* This assumes that the instructions fetched between the store, and
- the following read will have changed the data bus contents: */
- if (*base == SM_PATTERN) {
- probe = base;
- for (;;) {
- unsigned int probeorig;
- probe += SM_INCR;
- probeorig = *probe;
- /* Check if a bus error occurred: */
- if (!__buserr_count()) {
- *probe = SM_PATTERN;
- DOSYNC();
- if (*probe == SM_PATTERN) {
- *probe = ~SM_PATTERN;
- DOSYNC();
- if (*probe == ~SM_PATTERN) {
- if (*base == SM_PATTERN) {
- *probe = probeorig;
- continue;
- }
- }
- }
- *probe = probeorig;
- }
- break;
- }
- }
-
- *base = baseorig;
- __restore_buserr_handler();
- __cpu_flush();
-
- DOSYNC();
-
- INTRESTORE(sr); /* restore interrupt mask to entry state */
-
- return((probe - base) * sizeof(unsigned int));
-}
-
-/* Provided as a function, so as to avoid reading the I/O location
- multiple times: */
-static int
-convertbcd(byte)
- unsigned char byte;
-{
- return ((((byte >> 4) & 0xF) * 10) + (byte & 0xF));
-}
-
-time_t
-time (_timer)
- time_t *_timer;
-{
- time_t result = 0;
- struct tm tm;
- *RTC_CONTROL |= RTC_CTL_LOCK_READ;
- DOSYNC();
-
- tm.tm_sec = convertbcd(*RTC_SECS);
- tm.tm_min = convertbcd(*RTC_MINS);
- tm.tm_hour = convertbcd(*RTC_HOURS);
- tm.tm_mday = convertbcd(*RTC_DATE);
- tm.tm_mon = convertbcd(*RTC_MONTH);
- tm.tm_year = convertbcd(*RTC_YEAR);
-
- DOSYNC();
- *RTC_CONTROL &= ~(RTC_CTL_LOCK_READ | RTC_CTL_LOCK_WRITE);
-
- tm.tm_isdst = 0;
-
- /* Check for invalid time information */
- if ((tm.tm_sec < 60) && (tm.tm_min < 60) && (tm.tm_hour < 24)
- && (tm.tm_mday < 32) && (tm.tm_mon < 13)) {
-
- /* Get the correct year number, but keep it in YEAR-1900 form: */
- if (tm.tm_year < 70)
- tm.tm_year += 100;
-
-#if 0 /* NOTE: mon_printf() can only accept 4 arguments (format string + 3 fields) */
- mon_printf("[DBG: s=%d m=%d h=%d]", tm.tm_sec, tm.tm_min, tm.tm_hour);
- mon_printf("[DBG: d=%d m=%d y=%d]", tm.tm_mday, tm.tm_mon, tm.tm_year);
-#endif
-
- /* Convert the time-structure into a second count */
- result = mktime (&tm);
- }
-
- if (_timer != NULL)
- *_timer = result;
-
- return (result);
-}
-
-/*> EOF cma101.c <*/
diff --git a/libgloss/mips/configure b/libgloss/mips/configure
deleted file mode 100755
index 1d875b855..000000000
--- a/libgloss/mips/configure
+++ /dev/null
@@ -1,3806 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61.
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-if test "x$CONFIG_SHELL" = x; then
- if (eval ":") 2>/dev/null; then
- as_have_required=yes
-else
- as_have_required=no
-fi
-
- if test $as_have_required = yes && (eval ":
-(as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=\$LINENO
- as_lineno_2=\$LINENO
- test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
- test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
- :
-else
- as_candidate_shells=
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- case $as_dir in
- /*)
- for as_base in sh bash ksh sh5; do
- as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
- done;;
- esac
-done
-IFS=$as_save_IFS
-
-
- for as_shell in $as_candidate_shells $SHELL; do
- # Try only shells that exist, to save several forks.
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
- CONFIG_SHELL=$as_shell
- as_have_required=yes
- if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
- (exit $1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
- break
-fi
-
-fi
-
- done
-
- if test "x$CONFIG_SHELL" != x; then
- for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
- if test $as_have_required = no; then
- echo This script requires a shell more modern than all the
- echo shells that I found on your system. Please install a
- echo modern shell, or manually run the script under such a
- echo shell if you do have one.
- { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
- echo No shell found that supports shell functions.
- echo Please tell autoconf@gnu.org about your system,
- echo including any error possibly output before this
- echo message
-}
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-
-ac_unique_file="crt0.S"
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-target
-target_cpu
-target_vendor
-target_os
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-CC
-am__leading_dot
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-AS
-AR
-LD
-RANLIB
-CCAS
-CCASFLAGS
-host_makefile_frag_path
-target_makefile_frag_path
-part_specific_obj
-part_specific_defines
-script_list
-bsp_list
-crt0
-pcrt0
-LIBOBJS
-LTLIBOBJS'
-ac_subst_files='host_makefile_frag
-target_makefile_frag'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute directory names.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; }
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
- { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { echo "$as_me: error: pwd does not report name of working directory" >&2
- { (exit 1); exit 1; }; }
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
- { (exit 1); exit 1; }; }
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
- cat <<\_ACEOF
-
-Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
-
-Some influential environment variables:
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.61
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by $as_me, which was
-generated by GNU Autoconf 2.61. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args '$ac_arg'"
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
-else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
-fi
-shift
-for ac_site_file
-do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-if test "${enable_shared}" = "yes" ; then
- echo "Shared libraries not supported for cross compiling, ignored"
-fi
-
-if test "$srcdir" = "." ; then
- if test "${with_target_subdir}" != "." ; then
- libgloss_topdir="${srcdir}/${with_multisrctop}../../.."
- else
- libgloss_topdir="${srcdir}/${with_multisrctop}../.."
- fi
-else
- libgloss_topdir="${srcdir}/../.."
-fi
-ac_aux_dir=
-for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
- { (exit 1); exit 1; }; }
-
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ echo "$as_me:$LINENO: checking target system type" >&5
-echo $ECHO_N "checking target system type... $ECHO_C" >&6; }
-if test "${ac_cv_target+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-echo "${ECHO_T}$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
-echo "$as_me: error: invalid value of canonical target" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
-# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
- am__include=include
- am__quote=
- _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
- am__include=.include
- am__quote="\""
- _am_result=BSD
- fi
-fi
-
-
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
-fi
-
-
-if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- case $depmode in
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- none) break ;;
- esac
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this.
- if depmode=$depmode \
- source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
-
-
-if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable cc found in \$PATH" >&5
-echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-{ echo "$as_me:$LINENO: checking whether we are using GNU C" >&5
-echo $ECHO_N "checking whether we are using GNU C... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_c_compiler_gnu=yes
-else
- ac_cv_c_compiler_gnu=no
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-
-if test $ac_cv_c_compiler_gnu = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- CFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-AS=${AS-as}
-
-AR=${AR-ar}
-
-LD=${LD-ld}
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
-else
- { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-
-crt0=crt0.o
-pcrt0=pcrt0.o
-
-case "${target}" in
- mips*-tx39*-*|mipstx39*-*-*)
- part_specific_obj=
- part_specific_defines=
- script_list="dve idt jmr3904app jmr3904dram jmr3904dram-java jmr3904app-java"
- bsp_list="libdve.a libidt.a libjmr3904.a"
- ;;
- mipsisa32-*-* | mipsisa32el-*-* | \
- mipsisa32r2-*-* | mipsisa32r2el-*-* | \
- mipsisa64*-*-*)
- crt0="crt0_cfe.o crt0_cygmon.o crt0.o"
- pcrt0="pcrt0.o"
- part_specific_obj=
- part_specific_defines=
- script_list="idt32 idt64 cfe"
- bsp_list="libcygmon.a libidt.a libcfe.a"
- ;;
- mips*-lsi*-*)
- part_specific_obj=entry.o
- part_specific_defines=
- script_list="lsi"
- bsp_list=liblsi.a
- ;;
- mips64vr5*-*-*)
- part_specific_obj="vr5xxx.o cma101.o"
- part_specific_defines=-DR5000
- script_list="idt pmon ddb ddb-kseg0 lsi idtecoff nullmon"
- bsp_list="libidt.a libpmon.a liblsi.a libnullmon.a"
- ;;
- mips64vr-*-* | mips64vrel-*-*)
- part_specific_obj="vr5xxx.o cma101.o"
- script_list="ddb ddb-kseg0 nullmon"
- bsp_list="libpmon.a libnullmon.a"
- ;;
- *)
- crt0="crt0_cfe.o crt0.o"
- part_specific_obj="vr4300.o cma101.o"
- part_specific_defines=
- script_list="idt pmon ddb ddb-kseg0 lsi cfe idtecoff nullmon"
- bsp_list="libidt.a libpmon.a liblsi.a libcfe.a libnullmon.a"
- ;;
-esac
-
-host_makefile_frag=${srcdir}/../config/default.mh
-target_makefile_frag=${srcdir}/../config/mips.mt
-
-host_makefile_frag_path=$host_makefile_frag
-
-
-target_makefile_frag_path=$target_makefile_frag
-
-
-
-
-
-
-
-
-
-ac_config_files="$ac_config_files Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
- { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
- else
- { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-ac_script='
-t clear
-:clear
-s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
-t quote
-s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
-t quote
-b any
-:quote
-s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
-s/\[/\\&/g
-s/\]/\\&/g
-s/\$/$$/g
-H
-:any
-${
- g
- s/^\n//
- s/\n/ /g
- p
-}
-'
-DEFS=`sed -n "$ac_script" confdefs.h`
-
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-
-# Save the log message, to keep $[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.61. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
-
-Configuration files:
-$config_files
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.61,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2006 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- echo "$ac_cs_version"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --he | --h | --help | --hel | -h )
- echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- CONFIG_SHELL=$SHELL
- export CONFIG_SHELL
- exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-srcdir=${srcdir}
-target=${target}
-with_multisubdir=${with_multisubdir}
-ac_configure_args="${ac_configure_args} --enable-multilib"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-libgloss_topdir=${libgloss_topdir}
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp=
- trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "$CONFIG_FILES"; then
-
-_ACEOF
-
-# Create sed commands to just substitute file output variables.
-
-# Remaining file output variables are in a fragment that also has non-file
-# output varibles.
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-target!$target$ac_delim
-target_cpu!$target_cpu$ac_delim
-target_vendor!$target_vendor$ac_delim
-target_os!$target_os$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-CC!$CC$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-AS!$AS$ac_delim
-AR!$AR$ac_delim
-LD!$LD$ac_delim
-RANLIB!$RANLIB$ac_delim
-CCAS!$CCAS$ac_delim
-CCASFLAGS!$CCASFLAGS$ac_delim
-host_makefile_frag_path!$host_makefile_frag_path$ac_delim
-target_makefile_frag_path!$target_makefile_frag_path$ac_delim
-part_specific_obj!$part_specific_obj$ac_delim
-part_specific_defines!$part_specific_defines$ac_delim
-script_list!$script_list$ac_delim
-bsp_list!$bsp_list$ac_delim
-crt0!$crt0$ac_delim
-pcrt0!$pcrt0$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 79; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
- ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
- ac_eof=`expr $ac_eof + 1`
-fi
-
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
-/^[ ]*@host_makefile_frag@[ ]*$/{
-r $host_makefile_frag
-d
-}
-/^[ ]*@target_makefile_frag@[ ]*$/{
-r $target_makefile_frag
-d
-}
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
-_ACEOF
-
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-fi # test -n "$CONFIG_FILES"
-
-
-for ac_tag in :F $CONFIG_FILES :C $CONFIG_COMMANDS
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
- { (exit 1); exit 1; }; };;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
- { (exit 1); exit 1; }; };;
- esac
- ac_file_inputs="$ac_file_inputs $ac_f"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input="Generated from "`IFS=:
- echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- fi
-
- case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir="$ac_dir"
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-
-case `sed -n '/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p
-' $ac_file_inputs` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
-
- rm -f "$tmp/stdin"
- case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
- ;;
-
-
- :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # So let's grep whole file.
- if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir=$dirpart/$fdir
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
-done
- ;;
- "Makefile":F) . ${libgloss_topdir}/config-ml.in ;;
-
- esac
-done # for ac_tag
-
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
diff --git a/libgloss/mips/configure.in b/libgloss/mips/configure.in
deleted file mode 100644
index e7945c732..000000000
--- a/libgloss/mips/configure.in
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000, 2002 Cygnus Support
-#
-# The authors hereby grant permission to use, copy, modify, distribute,
-# and license this software and its documentation for any purpose, provided
-# that existing copyright notices are retained in all copies and that this
-# notice is included verbatim in any distributions. No written agreement,
-# license, or royalty fee is required for any of the authorized uses.
-# Modifications to this software may be copyrighted by their authors
-# and need not follow the licensing terms described here, provided that
-# the new terms are clearly indicated on the first page of each file where
-# they apply.
-#
-# Process this file with autoconf to produce a configure script.
-#
-AC_PREREQ(2.59)
-AC_INIT(crt0.S)
-
-if test "${enable_shared}" = "yes" ; then
- echo "Shared libraries not supported for cross compiling, ignored"
-fi
-
-if test "$srcdir" = "." ; then
- if test "${with_target_subdir}" != "." ; then
- libgloss_topdir="${srcdir}/${with_multisrctop}../../.."
- else
- libgloss_topdir="${srcdir}/${with_multisrctop}../.."
- fi
-else
- libgloss_topdir="${srcdir}/../.."
-fi
-AC_CONFIG_AUX_DIR($libgloss_topdir)
-
-AC_CANONICAL_SYSTEM
-AC_ARG_PROGRAM
-
-AC_PROG_INSTALL
-
-LIB_AC_PROG_CC
-AS=${AS-as}
-AC_SUBST(AS)
-AR=${AR-ar}
-AC_SUBST(AR)
-LD=${LD-ld}
-AC_SUBST(LD)
-AC_PROG_RANLIB
-LIB_AM_PROG_AS
-
-crt0=crt0.o
-pcrt0=pcrt0.o
-
-case "${target}" in
- mips*-tx39*-*|mipstx39*-*-*)
- part_specific_obj=
- part_specific_defines=
- script_list="dve idt jmr3904app jmr3904dram jmr3904dram-java jmr3904app-java"
- bsp_list="libdve.a libidt.a libjmr3904.a"
- ;;
- mipsisa32-*-* | mipsisa32el-*-* | \
- mipsisa32r2-*-* | mipsisa32r2el-*-* | \
- mipsisa64*-*-*)
- crt0="crt0_cfe.o crt0_cygmon.o crt0.o"
- pcrt0="pcrt0.o"
- part_specific_obj=
- part_specific_defines=
- script_list="idt32 idt64 cfe"
- bsp_list="libcygmon.a libidt.a libcfe.a"
- ;;
- mips*-lsi*-*)
- part_specific_obj=entry.o
- part_specific_defines=
- script_list="lsi"
- bsp_list=liblsi.a
- ;;
- mips64vr5*-*-*)
- part_specific_obj="vr5xxx.o cma101.o"
- part_specific_defines=-DR5000
- script_list="idt pmon ddb ddb-kseg0 lsi idtecoff nullmon"
- bsp_list="libidt.a libpmon.a liblsi.a libnullmon.a"
- ;;
- mips64vr-*-* | mips64vrel-*-*)
- part_specific_obj="vr5xxx.o cma101.o"
- script_list="ddb ddb-kseg0 nullmon"
- bsp_list="libpmon.a libnullmon.a"
- ;;
- *)
- crt0="crt0_cfe.o crt0.o"
- part_specific_obj="vr4300.o cma101.o"
- part_specific_defines=
- script_list="idt pmon ddb ddb-kseg0 lsi cfe idtecoff nullmon"
- bsp_list="libidt.a libpmon.a liblsi.a libcfe.a libnullmon.a"
- ;;
-esac
-
-host_makefile_frag=${srcdir}/../config/default.mh
-target_makefile_frag=${srcdir}/../config/mips.mt
-
-dnl We have to assign the same value to other variables because autoconf
-dnl doesn't provide a mechanism to substitute a replacement keyword with
-dnl arbitrary data or pathnames.
-dnl
-host_makefile_frag_path=$host_makefile_frag
-AC_SUBST(host_makefile_frag_path)
-AC_SUBST_FILE(host_makefile_frag)
-target_makefile_frag_path=$target_makefile_frag
-AC_SUBST(target_makefile_frag_path)
-AC_SUBST_FILE(target_makefile_frag)
-AC_SUBST(part_specific_obj)
-AC_SUBST(part_specific_defines)
-AC_SUBST(script_list)
-AC_SUBST(bsp_list)
-AC_SUBST(crt0)
-AC_SUBST(pcrt0)
-
-AC_CONFIG_FILES(Makefile,
-. ${libgloss_topdir}/config-ml.in,
-srcdir=${srcdir}
-target=${target}
-with_multisubdir=${with_multisubdir}
-ac_configure_args="${ac_configure_args} --enable-multilib"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-libgloss_topdir=${libgloss_topdir}
-)
-AC_OUTPUT
diff --git a/libgloss/mips/crt0.S b/libgloss/mips/crt0.S
deleted file mode 100644
index 599e79c60..000000000
--- a/libgloss/mips/crt0.S
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * crt0.S -- startup file for MIPS.
- *
- * Copyright (c) 1995, 1996, 1997, 2001 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#ifdef __mips16
-/* This file contains 32 bit assembly code. */
- .set nomips16
-#endif
-
-#include "regs.S"
-
-/*
- * Set up some room for a stack. We just grab a chunk of memory.
- */
-#define STACK_SIZE 0x4000
-#define GLOBAL_SIZE 0x2000
-
-#define STARTUP_STACK_SIZE 0x0100
-
-/* This is for referencing addresses that are not in the .sdata or
- .sbss section under embedded-pic, or before we've set up gp. */
-#ifdef __mips_embedded_pic
-# ifdef __mips64
-# define LA(t,x) la t,x-PICBASE ; daddu t,s0,t
-# else
-# define LA(t,x) la t,x-PICBASE ; addu t,s0,t
-# endif
-#else /* __mips_embedded_pic */
-# define LA(t,x) la t,x
-#endif /* __mips_embedded_pic */
-
- .comm __memsize, 12
- .comm __lstack, STARTUP_STACK_SIZE
-
- .text
- .align 2
-
-/* Without the following nop, GDB thinks _start is a data variable.
- * This is probably a bug in GDB in handling a symbol that is at the
- * start of the .text section.
- */
- nop
-
- .globl hardware_hazard_hook .text
- .globl _start
- .ent _start
-_start:
- .set noreorder
-#ifdef __mips_embedded_pic
-#define PICBASE start_PICBASE
- PICBASE = .+8
- bal PICBASE
- nop
- move s0,$31
-#endif
-#if __mips<3
-# define STATUS_MASK (SR_CU1|SR_PE)
-#else
-/* Post-mips2 has no SR_PE bit. */
-# ifdef __mips64
-/* Turn on 64-bit addressing and additional float regs. */
-# define STATUS_MASK (SR_CU1|SR_FR|SR_KX|SR_SX|SR_UX)
-# else
-# if __mips_fpr==32
-# define STATUS_MASK (SR_CU1)
-# else
-/* Turn on additional float regs. */
-# define STATUS_MASK (SR_CU1|SR_FR)
-# endif
-# endif
-#endif
- li v0, STATUS_MASK
- mtc0 v0, C0_SR
- mtc0 zero, C0_CAUSE
- nop
-
- /* Avoid hazard from FPU enable and other SR changes. */
- LA (t0, hardware_hazard_hook)
- beq t0,zero,1f
- nop
- jal t0
- nop
-1:
-
-/* Check for FPU presence. Don't check if we know that soft_float is
- being used. (This also avoids illegal instruction exceptions.) */
-
-#ifndef __mips_soft_float
- li t2,0xAAAA5555
- mtc1 t2,fp0 /* write to FPR 0 */
- mtc1 zero,fp1 /* write to FPR 1 */
- mfc1 t0,fp0
- mfc1 t1,fp1
- nop
- bne t0,t2,1f /* check for match */
- nop
- bne t1,zero,1f /* double check */
- nop
- j 2f /* FPU is present. */
- nop
-#endif
-1:
- /* FPU is not present. Set status register to say that. */
- li v0, (STATUS_MASK-(STATUS_MASK & SR_CU1))
- mtc0 v0, C0_SR
- nop
- /* Avoid hazard from FPU disable. */
- LA (t0, hardware_hazard_hook)
- beq t0,zero,2f
- nop
- jal t0
- nop
-2:
-
-
-/* Fix high bits, if any, of the PC so that exception handling
- doesn't get confused. */
- LA (v0, 3f)
- jr v0
- nop
-3:
- LA (gp, _gp) # set the global data pointer
- .end _start
-
-/*
- * zero out the bss section.
- */
- .globl __memsize
- .globl get_mem_info .text
- .globl __stack
- .globl __global
- .ent zerobss
-zerobss:
- LA (v0, _fbss)
- LA (v1, _end)
-3:
- sw zero,0(v0)
- bltu v0,v1,3b
- addiu v0,v0,4 # executed in delay slot
-
- la t0, __lstack # make a small stack so we
- addiu sp, t0, STARTUP_STACK_SIZE # can run some C code
- la a0, __memsize # get the usable memory size
- jal get_mem_info
- nop
-
- /* setup the stack pointer */
- LA (t0, __stack) # is __stack set ?
- bne t0,zero,4f
- nop
-
- /* NOTE: a0[0] contains the amount of memory available, and
- not the last memory address. */
- la a0, __memsize
- lw t0,0(a0) # last address of memory available
- la t1,K0BASE # cached kernel memory
- addu t0,t0,t1 # get the end of memory address
- /* Allocate 32 bytes for the register parameters. Allocate 16
- bytes for a null argv and envp. Round the result up to 64
- bytes to preserve alignment. */
- subu t0,t0,64
-4:
- move sp,t0 # set stack pointer
- .end zerobss
-
-/*
- * initialize target specific stuff. Only execute these
- * functions it they exist.
- */
- .globl hardware_init_hook .text
- .globl software_init_hook .text
- .type _fini,@function
- .type _init,@function
- .globl atexit .text
- .globl exit .text
- .ent init
-init:
- LA (t9, hardware_init_hook) # init the hardware if needed
- beq t9,zero,6f
- nop
- jal t9
- nop
-6:
- LA (t9, software_init_hook) # init the hardware if needed
- beq t9,zero,7f
- nop
- jal t9
- nop
-7:
- LA (a0, _fini)
- jal atexit
- nop
-
-#ifdef GCRT0
- .globl _ftext
- .globl _extext
- LA (a0, _ftext)
- LA (a1, _etext)
- jal monstartup
- nop
-#endif
-
-
- jal _init # run global constructors
- nop
-
- addiu a1,sp,32 # argv = sp + 32
- addiu a2,sp,40 # envp = sp + 40
-#if __mips64
- sd zero,(a1) # argv[argc] = 0
- sd zero,(a2) # envp[0] = 0
-#else
- sw zero,(a1)
- sw zero,(a2)
-#endif
- jal main # call the program start function
- move a0,zero # set argc to 0
-
- # fall through to the "exit" routine
- jal exit # call libc exit to run the G++
- # destructors
- move a0,v0 # pass through the exit code
- .end init
-
-
-/* Assume the PICBASE set up above is no longer valid below here. */
-#ifdef __mips_embedded_pic
-#undef PICBASE
-#endif
-
-/*
- * _exit -- Exit from the application. Normally we cause a user trap
- * to return to the ROM monitor for another run. NOTE: This is
- * the only other routine we provide in the crt0.o object, since
- * it may be tied to the "_start" routine. It also allows
- * executables that contain a complete world to be linked with
- * just the crt0.o object.
- */
- .globl hardware_exit_hook .text
- .globl _exit
- .ent _exit
-_exit:
-7:
-#ifdef __mips_embedded_pic
- /* Need to reinit PICBASE, since we might be called via exit()
- rather than via a return path which would restore old s0. */
-#define PICBASE exit_PICBASE
- PICBASE = .+8
- bal PICBASE
- nop
- move s0,$31
-#endif
-#ifdef GCRT0
- LA (t0, _mcleanup)
- jal t0
- nop
-#endif
- LA (t0, hardware_exit_hook)
- beq t0,zero,1f
- nop
- jal t0
- nop
-1:
-
- # break instruction can cope with 0xfffff, but GAS limits the range:
- break 1023
- b 7b # but loop back just in-case
- nop
- .end _exit
-
-/* Assume the PICBASE set up above is no longer valid below here. */
-#ifdef __mips_embedded_pic
-#undef PICBASE
-#endif
-
-/* EOF crt0.S */
diff --git a/libgloss/mips/crt0_cfe.S b/libgloss/mips/crt0_cfe.S
deleted file mode 100644
index 9e920e2d5..000000000
--- a/libgloss/mips/crt0_cfe.S
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * crt0_cfe.S -- Runtime startup for MIPS targets running CFE.
- *
- * Copyright 2003
- * Broadcom Corporation. All rights reserved.
- *
- * This software is furnished under license and may be used and copied only
- * in accordance with the following terms and conditions. Subject to these
- * conditions, you may download, copy, install, use, modify and distribute
- * modified or unmodified copies of this software in source and/or binary
- * form. No title or ownership is transferred hereby.
- *
- * 1) Any source code used, modified or distributed must reproduce and
- * retain this copyright notice and list of conditions as they appear in
- * the source file.
- *
- * 2) No right is granted to use any trade name, trademark, or logo of
- * Broadcom Corporation. The "Broadcom Corporation" name may not be
- * used to endorse or promote products derived from this software
- * without the prior written permission of Broadcom Corporation.
- *
- * 3) THIS SOFTWARE IS PROVIDED "AS-IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL BROADCOM BE LIABLE
- * FOR ANY DAMAGES WHATSOEVER, AND IN PARTICULAR, BROADCOM SHALL NOT BE
- * LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * Derived from crt0_cygmon.S:
- *
- * Copyright (c) 1995, 1996, 1997, 2000 Red Hat, Inc.
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/*
- * This file does minimal runtime startup for code running under
- * CFE firmware.
- *
- * It does minimal hardware initialization. In particular
- * it sets Status:FR to match the requested floating point
- * mode.
- *
- * It is meant to be linked with the other files provided by libcfe.a,
- * and calls routines in those files.
- */
-
-#ifdef __mips16
-/* This file contains 32 bit assembly code. */
- .set nomips16
-#endif
-#ifdef __mips_embedded_pic
-# error -membedded-pic is not supported.
-#endif
-
-#include "regs.S"
-
-/*
- * Set up some room for a stack. We just grab a chunk of memory.
- */
-#define STARTUP_STACK_SIZE (1 * 1024)
-
- .comm _lstack, STARTUP_STACK_SIZE
-
- .text
- .align 4
-
- /*
- * Without the following nop, GDB thinks _start is a data variable.
- * This is probably a bug in GDB in handling a symbol that is at the
- * start of the .text section.
- */
- nop
-
-
- /*
- * On entry, the following values have been passed in registers
- * by the firmware:
- *
- * a0: firmware handle
- * a1: zero (unused)
- * a2: firmware callback entrypoint
- * a3: CFE entrypoint seal (unused)
- *
- * They must be preserved until the CFE entrypoint and handle
- * are passed to __libcfe_init().
- */
-
- .globl _start
- .ent _start
-_start:
- .set noreorder
- /* Set the global data pointer, defined in the linker script. */
- la gp, _gp
-
-#ifndef __mips_soft_float
- /* If compiled for hard float, set the FPU mode based on the
- compilation flags. Note that this assumes that enough code
- will run after the mtc0 to clear any hazards. */
- mfc0 t0, C0_SR
- or t0, t0, (SR_CU1 | SR_FR)
-#if (__mips_fpr == 32)
- xor t0, t0, SR_FR /* If 32-bit FP mode, clear FR. */
-#endif
- mtc0 t0, C0_SR
-#endif
- .end _start
-
- /*
- * zero out the bss section.
- */
- .globl _zerobss
- .ent _zerobss
-_zerobss:
- /* These variables are defined in the linker script. */
- la v0, _fbss
- la v1, _end
-
-3:
- sw zero, 0(v0)
- bltu v0, v1, 3b
- addiu v0, v0, 4 /* Delay slot. */
- .end _zerobss
-
- /*
- * Setup a small stack so we can run some C code, and do
- * the library initialization. (32 bytes are saved for
- * the argument registers' stack slots.)
- */
- .globl _stackinit
- .ent _stackinit
-_stackinit:
- la t0, _lstack
- addiu sp, t0, (STARTUP_STACK_SIZE - 32)
- jal __libcfe_init
- nop
-
- /*
- * Setup the stack pointer --
- * __libcfe_init() returns the value to be used as the top of
- * the program's stack.
- *
- * We subtract 32 bytes for the 4 argument registers, in case
- * main() wants to write them back to the stack. The caller
- * allocates stack space for parameters in the old MIPS ABIs.
- * We must do this even though we aren't passing arguments,
- * because main might be declared to have them.)
- *
- * We subtract 32 more bytes for the argv/envp setup for the
- * call to main().
- */
- subu v0, v0, 64
- move sp, v0
-
- .end _stackinit
-
- /*
- * initialize target specific stuff. Only execute these
- * functions it they exist.
- */
- .globl hardware_init_hook .text
- .globl software_init_hook .text
- .type _fini,@function
- .type _init,@function
- .globl atexit .text
- .globl exit .text
- .globl _crt0init
- .ent _crt0init
-_crt0init:
- la t9, hardware_init_hook # init the hardware if needed
- beq t9, zero, 6f
- nop
- jal t9
- nop
-6:
- la t9, software_init_hook # init the software if needed
- beq t9, zero, 7f
- nop
- jal t9
- nop
-7:
- la a0, _fini
- jal atexit
- nop
-
-#ifdef GCRT0
- .globl _ftext
- .globl _extext
- la a0, _ftext
- la a1, _etext
- jal monstartup
- nop
-#endif
-
- jal _init # run global constructors
- nop
-
- addiu a1,sp,32 # argv = sp + 32
- addiu a2,sp,40 # envp = sp + 40
-#if __mips64
- sd zero,(a1) # argv[argc] = 0
- sd zero,(a2) # envp[0] = 0
-#else
- sw zero,(a1)
- sw zero,(a2)
-#endif
-
- jal main # call the program start function
- move a0,zero # set argc to 0; delay slot.
-
- # fall through to the "exit" routine
- jal exit # call libc exit to run the G++
- # destructors
- move a0, v0 # pass through the exit code
- .end _crt0init
-
-/*
- * _exit -- Exit from the application. This is provided in this file because
- * program exit should shut down profiling (if GCRT0 is defined),
- * and only this file is compiled with GCRT0 defined.
- */
- .globl _exit
- .ent _exit
-_exit:
-7:
- move s0, a0 /* Save in case we loop. */
-
-#ifdef GCRT0
- jal _mcleanup
- nop
-#endif
-
- la t0, hardware_exit_hook
- beq t0,zero,1f
- nop
- jal t0
- nop
-
-1:
- /* Call into the library to do the heavy lifting. */
- jal __libcfe_exit
- move a0, s0 /* Delay slot. */
-
- b 7b /* Loop back just in case. */
- nop
- .end _exit
-
-/* EOF crt0_cfe.S */
diff --git a/libgloss/mips/crt0_cygmon.S b/libgloss/mips/crt0_cygmon.S
deleted file mode 100644
index ae0a9e373..000000000
--- a/libgloss/mips/crt0_cygmon.S
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * crt0_cygmon.S -- Minimal startup file for MIPS targets running Cygmon.
- *
- * Copyright (c) 1995, 1996, 1997, 2000 Red Hat, Inc.
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/*
- * This file contains the minimal startup code necessary.
- * This will not do any hardware initialization. It is assumed that we are talking to Cygmon
- * and therefore the hardware will be initialized properly.
- */
-
-#ifdef __mips16
-/* This file contains 32 bit assembly code. */
- .set nomips16
-#endif
-
-#include "regs.S"
-
-/*
- * Set up some room for a stack. We just grab a chunk of memory.
- */
-#define STACK_SIZE 0x4000
-#define GLOBAL_SIZE 0x2000
-
-#define STARTUP_STACK_SIZE 0x0100
-
- .comm __memsize, 12
- .comm __lstack, STARTUP_STACK_SIZE
- .comm __stackbase,4
-
- .text
- .align 4
- /*
- * Without the following nop, GDB thinks _start is a data variable.
- * This is probably a bug in GDB in handling a symbol that is at the
- * start of the .text section.
- */
- nop
-
- .globl _start
- .ent _start
-_start:
- .set noreorder
- la gp, _gp # set the global data pointer, defined in the linker script
- .end _start
-
- /*
- * zero out the bss section.
- */
- .globl __memsize
- .globl get_mem_info .text
- .globl zerobss
- .ent zerobss
-zerobss:
- la v0, _fbss # These variables are defined in the linker script
- la v1, _end
-
-3:
- sw zero, 0(v0)
- bltu v0, v1, 3b
- addiu v0, v0, 4 # executed in delay slot
-
- /*
- * Setup a small stack so we can run some C code,
- * and get the usable memory size.
- */
- la t0, __lstack
- addiu sp, t0, STARTUP_STACK_SIZE
- la a0, __memsize
- jal get_mem_info
- nop
-
- /*
- * Setup the stack pointer --
- * get_mem_info returns the top of memory, so just use that In
- * addition, we must subtract 24 bytes for the 3 8 byte
- * arguments to main, in case main wants to write them back to
- * the stack. The caller is supposed to allocate stack space
- * for parameters in registers in the old MIPS ABIs. We must
- * do this even though we aren't passing arguments, because
- * main might be declared to have them.
- * Some ports need a larger alignment for the stack, so we
- * subtract 32, which satisifes the stack for the arguments and
- * keeps the stack pointer better aligned.
- */
- subu v0, v0, 32
- move sp, v0
-
- sw sp, __stackbase # keep this for future ref
- .end zerobss
-
- /*
- * initialize target specific stuff. Only execute these
- * functions it they exist.
- */
- .globl hardware_init_hook .text
- .globl software_init_hook .text
- .globl __do_global_dtors .text
- .globl atexit .text
- .globl exit .text
- .globl init
- .ent init
-init:
- la t9, hardware_init_hook # init the hardware if needed
- beq t9, zero, 6f
- nop
- jal t9
- nop
-6:
- la t9, software_init_hook # init the software if needed
- beq t9, zero, 7f
- nop
- jal t9
- nop
-7:
- la a0, __do_global_dtors
- jal atexit
- nop
-
-#ifdef GCRT0
- .globl _ftext
- .globl _extext
- la a0, _ftext
- la a1, _etext
- jal monstartup
- nop
-#endif
-
- move a0,zero # set argc to 0
- jal main # call the program start function
- nop
-
- # fall through to the "exit" routine
- jal exit # call libc exit to run the G++
- # destructors
- move a0, v0 # pass through the exit code
- .end init
-
-/*
- * _exit -- Exit from the application. Normally we cause a user trap
- * to return to the ROM monitor for another run. NOTE: This is
- * the only other routine we provide in the crt0.o object, since
- * it may be tied to the "_start" routine. It also allows
- * executables that contain a complete world to be linked with
- * just the crt0.o object.
- */
- .globl _exit
- .ent _exit
-_exit:
-7:
-#ifdef GCRT0
- jal _mcleanup
- nop
-#endif
- # Cygmon expects a break 5
- break 5
- nop
- b 7b # loop back just in-case
- nop
- .end _exit
-
-/* EOF crt0.S */
diff --git a/libgloss/mips/cygmon.c b/libgloss/mips/cygmon.c
deleted file mode 100644
index 506e853b6..000000000
--- a/libgloss/mips/cygmon.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* cygmon.c -- Glue code for linking apps to run on top of Cygmon.
- *
- * Copyright (c) 1998, 1999, 2000 Red Hat, Inc.
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "syscall.h"
-
-int
-write ( int file,
- char *buf,
- int nbytes)
-{
- return sysCall(SYS_write, file, (unsigned long)buf, nbytes);
-}
-
-int
-read (int file,
- char *buf,
- int nbytes)
-{
- return sysCall(SYS_read, file, (unsigned long)buf, nbytes);
-}
-
-int
-outbyte (unsigned char c)
-{
- return sysCall(SYS_write, 0, (unsigned long)&c, 1);
-}
-
-unsigned char
-inbyte (void)
-{
- char c;
- sysCall(SYS_read, 0, (unsigned long)&c, 1);
- return c;
-}
-
-
-/* Structure filled in by get_mem_info. Only the size field is
- actually used (by sbrk), so the others aren't even filled in. */
-struct s_mem
-{
- unsigned int size;
- unsigned int icsize;
- unsigned int dcsize;
-};
-
-// Perform a system call.
-// Unused parameters should be set to 0.
-int sysCall(unsigned long func, unsigned long p1, unsigned long p2, unsigned long p3)
-{
- int ret = 0;
- asm volatile ( " \n\
- move $4, %1 \n\
- move $5, %2 \n\
- move $6, %3 \n\
- move $7, %4 \n\
- syscall \n\
- nop \n\
- move %0, $2" : "=r"(ret) : "r"(func), "r"(p1), "r"(p2), "r"(p3));
- return ret;
-}
-
-// These need to be kept in sync with the definitions in Cygmon.
-#define SYS_meminfo 1001
-
-void *
-get_mem_info (mem)
- struct s_mem *mem;
-{
- unsigned long totmem = 0, topmem = 0;
- int numbanks;
-
- numbanks = sysCall(SYS_meminfo, (unsigned long)&totmem, (unsigned long)&topmem, 0);
- mem->size = totmem;
- return (void*)topmem;
-}
diff --git a/libgloss/mips/ddb-kseg0.ld b/libgloss/mips/ddb-kseg0.ld
deleted file mode 100644
index db3759ea6..000000000
--- a/libgloss/mips/ddb-kseg0.ld
+++ /dev/null
@@ -1,166 +0,0 @@
-/* The following TEXT start address leaves space for the monitor
- workspace. */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -lpmon -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0x80100000;
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rdata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
-
- end = .;
- _end = .;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/libgloss/mips/ddb.ld b/libgloss/mips/ddb.ld
deleted file mode 100644
index 028078353..000000000
--- a/libgloss/mips/ddb.ld
+++ /dev/null
@@ -1,166 +0,0 @@
-/* The following TEXT start address leaves space for the monitor
- workspace. */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -lpmon -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0xA0100000;
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rdata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
-
- end = .;
- _end = .;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/libgloss/mips/dtor.C b/libgloss/mips/dtor.C
deleted file mode 100644
index 2cfcb4665..000000000
--- a/libgloss/mips/dtor.C
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <stdio.h>
-
-extern "C" void print (char *, ...);
-
-class foo
-{
-public:
- foo () { print ("ctor\n"); }
- ~foo () { print ("dtor\n"); }
-};
-
-foo x;
-
-main ()
-{
- outbyte ('&');
- outbyte ('@');
- outbyte ('$');
- outbyte ('%');
- print ("FooBar\r\n");
-
- /* whew, we made it */
- print ("\r\nDone...\r\n");
- fflush(stdout);
-}
diff --git a/libgloss/mips/dve.ld b/libgloss/mips/dve.ld
deleted file mode 100644
index 073d1e9ca..000000000
--- a/libgloss/mips/dve.ld
+++ /dev/null
@@ -1,167 +0,0 @@
-/* Linker script for Densan DVE-R3900/20A board */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_ARCH("mips:3000")
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -ldve -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0xA0040000;
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rodata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
-
- end = .;
- _end = .;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/libgloss/mips/dvemon.c b/libgloss/mips/dvemon.c
deleted file mode 100644
index 16b49da06..000000000
--- a/libgloss/mips/dvemon.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* dve.c -- I/O code for the Densan DVE-R3900 board.
- *
- * Copyright (c) 1998, 1999 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/* Flag indicating that we are being debugged by GDB. If set,
- preceded each character output to the console with a ^O,
- so that GDB will print it instead of discarding it. */
-
-int output_debug = 1;
-
-/* Monitor "ci" function (console input) */
-
-typedef int (*cifunc)(int waitflag);
-#ifdef __mips64
-static cifunc ci = (cifunc) 0xffffffffbfc00010L;
-#else
-static cifunc ci = (cifunc) 0xbfc00010;
-#endif
-
-#define WAIT 1
-#define NOWAIT 0
-#define NOCHAR (-1)
-
-/* Monitor "co" function (console output) */
-
-typedef void (*cofunc)(int c);
-#ifdef __mips64
-static cofunc co = (cofunc) 0xffffffffbfc00018L;
-#else
-static cofunc co = (cofunc) 0xbfc00018;
-#endif
-
-/* outbyte -- shove a byte out the serial port; used by write.c. */
-
-int
-outbyte(byte)
- unsigned char byte;
-{
- /* Output a ^O prefix so that GDB won't discard the output. */
- if (output_debug)
- co (0x0f);
-
- co (byte);
- return byte;
-}
-
-/* inbyte -- get a byte from the serial port; used by read.c. */
-
-unsigned char
-inbyte()
-{
- return (unsigned char) ci (WAIT);
-}
-
-
-/* Structure filled in by get_mem_info. Only the size field is
- actually used (by sbrk), so the others aren't even filled in. */
-
-struct s_mem
-{
- unsigned int size;
- unsigned int icsize;
- unsigned int dcsize;
-};
-
-
-void
-get_mem_info (mem)
- struct s_mem *mem;
-{
- mem->size = 0x1000000; /* DVE-R3900 board has 16 MB of RAM */
-}
diff --git a/libgloss/mips/entry.S b/libgloss/mips/entry.S
deleted file mode 100644
index 3630c552f..000000000
--- a/libgloss/mips/entry.S
+++ /dev/null
@@ -1,281 +0,0 @@
-/* entry.S - exception handler for emulating MIPS16 'entry' and 'exit'
- pseudo-instructions. These instructions are generated by the compiler
- when the -mentry switch is used. The instructions are not implemented
- in the MIPS16 CPU; hence the exception handler that emulates them.
-
- This module contains the following public functions:
-
- * void __install_entry_handler(void);
-
- This function installs the entry/exit exception handler. It should
- be called before executing any MIPS16 functions that were compiled with
- -mentry, typically before main() is called.
-
- * void __remove_entry_handler(void);
-
- This function removes the entry/exit exception handler. It should
- be called when the program is exiting, or when it is known that no
- more MIPS16 functions compiled with -mentry will be called.
-*/
-
-#ifdef __mips16
-/* This file contains 32 bit assembly code. */
- .set nomips16
-#endif
-
-#include "regs.S"
-
-#define CAUSE_EXCMASK 0x3c /* mask for ExcCode in Cause Register */
-#define EXC_RI 0x28 /* 101000 == 10 << 2 */
-
-/* Set DEBUG to 1 to enable recording of the last 16 interrupt causes. */
-
-#define DEBUG 0
-
-#if DEBUG
-
- .sdata
-int_count:
- .space 4 /* interrupt count modulo 16 */
-int_cause:
- .space 4*16 /* last 16 interrupt causes */
-#endif
-
- .text
-
- .set noreorder /* Do NOT reorder instructions */
-
-
-/* __entry_exit_handler - the reserved instruction exception handler
- that emulates the entry and exit instruction. */
-
-__entry_exit_handler:
- .set noat /* Do NOT use at register */
-#if DEBUG
-/* Must avoid using 'la' pseudo-op because it uses gp register, which
- may not have a good value in an exception handler. */
-
-# la k0, int_count /* intcount = (intcount + 1) & 0xf */
- lui k0 ,%hi(int_count)
- addiu k0, k0 ,%lo(int_count)
- lw k1, (k0)
- addiu k1, k1, 1
- andi k1, k1, 0x0f
- sw k1, (k0)
-# la k0, int_cause /* k1 = &int_cause[intcount] */
- lui k0, %hi(int_cause)
- addiu k0, k0, %lo(int_cause)
- sll k1, k1, 2
- add k1, k1, k0
-#endif
- mfc0 k0, C0_CAUSE /* Fetch cause */
-#if DEBUG
- sw k0, -4(k1) /* Save exception cause in buffer */
-#endif
- mfc0 k1, C0_EPC /* Check for Reserved Inst. without */
- and k0, CAUSE_EXCMASK /* destroying any register */
- subu k0, EXC_RI
- bne k0, zero, check_others /* Sorry, go do something else */
-
- and k0, k1, 1 /* Check for TR mode (pc.0 = 1) */
- beq k0, zero, ri_in_32 /* Sorry, RI in 32-bit mode */
- xor k1, 1
-
-/* Since we now are going to emulate or die, we can use all the T-registers */
-/* that MIPS16 does not use (at, t0-t8), and we don't have to save them. */
-
- .set at /* Now it's ok to use at again */
-
-#if 0
- j leave
- rfe
-#endif
-
- lhu t0, 0(k1) /* Fetch the offending instruction */
- xor t8, k1, 1 /* Prepare t8 for exit */
- and t1, t0, 0xf81f /* Check for entry/exit opcode */
- bne t1, 0xe809, other_ri
-
-deareg: and t1, t0, 0x0700 /* Isolate the three a-bits */
- srl t1, 6 /* Adjust them so x4 is applied */
- slt t2, t1, 17 /* See if this is the exit instruction */
- beqz t2, doexit
- la t2, savea
- subu t2, t1
- jr t2 /* Jump into the instruction table */
- rfe /* We run the rest in user-mode */
-
- /* This is the entry instruction! */
- sw a3, 12(sp) /* 4: a0-a3 saved */
- sw a2, 8(sp) /* 3: a0-a2 saved */
- sw a1, 4(sp) /* 2: a0-a1 saved */
- sw a0, 0(sp) /* 1: a0 saved */
-savea: /* 0: No arg regs saved */
-
-dera: and t1, t0, 0x0020 /* Isolate the save-ra bit */
- move t7, sp /* Temporary SP */
- beq t1, zero, desreg
- subu sp, 32 /* Default SP adjustment */
- sw ra, -4(t7)
- subu t7, 4
-
-desreg: and t1, t0, 0x00c0 /* Isolate the two s-bits */
- beq t1, zero, leave
- subu t1, 0x0040
- beq t1, zero, leave /* Only one to save... */
- sw s0, -4(t7) /* Do the first one */
- sw s1, -8(t7) /* Do the last one */
-
-leave: jr t8 /* Exit to unmodified EPC */
- nop /* Urgh - the only nop!! */
-
-doexf0: mtc1 v0,$f0 /* Copy float value */
- b doex2
-
-doexf1: mtc1 v1,$f0 /* Copy double value */
- mtc1 v0,$f1
- b doex2
-
-doexit: slt t2, t1, 21
- beq t2, zero, doexf0
- slt t2, t1, 25
- beq t2, zero, doexf1
-
-doex2: and t1, t0, 0x0020 /* Isolate ra bit */
- beq t1, zero, dxsreg /* t1 holds ra-bit */
- addu t7, sp, 32 /* Temporary SP */
- lw ra, -4(t7)
- subu t7, 4
-
-dxsreg: and t1, t0, 0x00c0 /* Isolate the two s-bits */
- beq t1, zero, leavex
- subu t1, 0x0040
- beq t1, zero, leavex /* Only one to save... */
- lw s0, -4(t7) /* Do the first one */
- lw s1, -8(t7) /* Do the last one */
-
-leavex: jr ra /* Exit to ra */
- addu sp, 32 /* Clean up stack pointer */
-
-/* Come here for exceptions we can't handle. */
-
-ri_in_32:
-other_ri:
-check_others: /* call the previous handler */
- la k0,__previous
- jr k0
- nop
-
-__exception_code:
- .set noreorder
- la k0, __entry_exit_handler
-# lui k0, %hi(exception)
-# addiu k0, k0, %lo(exception)
- jr k0
- nop
- .set reorder
-__exception_code_end:
-
- .data
-__previous:
- .space (__exception_code_end - __exception_code)
- .text
-
-
-/* void __install_entry_handler(void)
-
- Install our entry/exit reserved instruction exception handler.
-*/
- .ent __install_entry_handler
- .globl __install_entry_handler
-__install_entry_handler:
- .set noreorder
- mfc0 a0,C0_SR
- nop
- li a1,SR_BEV
- and a1,a1,a0
- beq a1,$0,baseaddr
- lui a0,0x8000 /* delay slot */
- lui a0,0xbfc0
- addiu a0,a0,0x0100
-baseaddr:
- addiu a0,a0,0x080 /* a0 = base vector table address */
- li a1,(__exception_code_end - __exception_code)
- la a2,__exception_code
- la a3,__previous
-/* there must be a better way of doing this???? */
-copyloop:
- lw v0,0(a0)
- sw v0,0(a3)
- lw v0,0(a2)
- sw v0,0(a0)
- addiu a0,a0,4
- addiu a2,a2,4
- addiu a3,a3,4
- subu a1,a1,4
- bne a1,$0,copyloop
- nop
- j ra
- nop
- .set reorder
- .end __install_entry_handler
-
-
-/* void __remove_entry_handler(void);
-
- Remove our entry/exit reserved instruction exception handler.
-*/
-
- .ent __remove_entry_handler
- .globl __remove_entry_handler
-__remove_entry_handler:
- .set noreorder
-
- mfc0 a0,C0_SR
- nop
- li a1,SR_BEV
- and a1,a1,a0
- beq a1,$0,res_baseaddr
- lui a0,0x8000 /* delay slot */
- lui a0,0xbfc0
- addiu a0,a0,0x0200
-res_baseaddr:
- addiu a0,a0,0x0180 /* a0 = base vector table address */
- li a1,(__exception_code_end - __exception_code)
- la a3,__previous
-
-/* there must be a better way of doing this???? */
-res_copyloop:
- lw v0,0(a3)
- sw v0,0(a0)
- addiu a0,a0,4
- addiu a3,a3,4
- subu a1,a1,4
- bne a1,$0,res_copyloop
- nop
- j ra
- nop
- .set reorder
- .end __remove_entry_handler
-
-
-/* software_init_hook - install entry/exit handler and arrange to have it
- removed at exit. This function is called by crt0.S. */
-
- .text
- .globl software_init_hook
- .ent software_init_hook
-software_init_hook:
- .set noreorder
- subu sp, sp, 8 /* allocate stack space */
- sw ra, 4(sp) /* save return address */
- jal __install_entry_handler /* install entry/exit handler */
- nop
- lui a0, %hi(__remove_entry_handler) /* arrange for exit to */
- jal atexit /* de-install handler */
- addiu a0, a0, %lo(__remove_entry_handler) /* delay slot */
- lw ra, 4(sp) /* get return address */
- j ra /* return */
- addu sp, sp, 8 /* deallocate stack */
- .set reorder
- .end software_init_hook
diff --git a/libgloss/mips/idt.ld b/libgloss/mips/idt.ld
deleted file mode 100644
index 05b39b78d..000000000
--- a/libgloss/mips/idt.ld
+++ /dev/null
@@ -1,184 +0,0 @@
-/* The following TEXT start address leaves space for the monitor
- workspace. i.e. the NEC VR4300 (IDT) first free address is actually
- 0xa001af20. */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -lidt -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0xA0020000;
- .text : {
- _ftext = . ;
- PROVIDE (eprol = .);
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- }
- .init : {
- KEEP (*(.init))
- }
- .fini : {
- KEEP (*(.fini))
- }
- .rel.sdata : {
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- }
- PROVIDE (etext = .);
- _etext = .;
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rodata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- PROVIDE (edata = .);
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
-
- PROVIDE (end = .);
- _end = .;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-
- /* Special sections generated by gcc */
- /* Newer GNU linkers strip by default */
- .mdebug.abi32 0 : { KEEP(*(.mdebug.abi32)) }
- .mdebug.abiN32 0 : { KEEP(*(.mdebug.abiN32)) }
- .mdebug.abi64 0 : { KEEP(*(.mdebug.abi64)) }
- .mdebug.abiO64 0 : { KEEP(*(.mdebug.abiO64)) }
- .mdebug.eabi32 0 : { KEEP(*(.mdebug.eabi32)) }
- .mdebug.eabi64 0 : { KEEP(*(.mdebug.eabi64)) }
- .gcc_compiled_long32 0 : { KEEP(*(.gcc_compiled_long32)) }
- .gcc_compiled_long64 0 : { KEEP(*(.gcc_compiled_long64)) }
-}
diff --git a/libgloss/mips/idt32.ld b/libgloss/mips/idt32.ld
deleted file mode 100644
index 95555291e..000000000
--- a/libgloss/mips/idt32.ld
+++ /dev/null
@@ -1,186 +0,0 @@
-/* The following TEXT start address leaves space for the monitor
- workspace. This linker script links ISA32r2 programs for use with
- the simulator. */
-
-ENTRY(_start)
-OUTPUT_ARCH("mips:isa32r2")
-OUTPUT_FORMAT("elf32-littlemips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -lidt -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-STARTUP(crt0.o)
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0x80020000;
- .text : {
- _ftext = . ;
- PROVIDE (eprol = .);
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- }
- .init : {
- KEEP (*(.init))
- }
- .fini : {
- KEEP (*(.fini))
- }
- .rel.sdata : {
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- }
- PROVIDE (etext = .);
- _etext = .;
-
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rodata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- PROVIDE (edata = .);
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
-
- PROVIDE (end = .);
- _end = .;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-
- /* Special sections generated by gcc */
- /* Newer GNU linkers strip by default */
- .mdebug.abi32 0 : { KEEP(*(.mdebug.abi32)) }
- .mdebug.abiN32 0 : { KEEP(*(.mdebug.abiN32)) }
- .mdebug.abi64 0 : { KEEP(*(.mdebug.abi64)) }
- .mdebug.abiO64 0 : { KEEP(*(.mdebug.abiO64)) }
- .mdebug.eabi32 0 : { KEEP(*(.mdebug.eabi32)) }
- .mdebug.eabi64 0 : { KEEP(*(.mdebug.eabi64)) }
- .gcc_compiled_long32 0 : { KEEP(*(.gcc_compiled_long32)) }
- .gcc_compiled_long64 0 : { KEEP(*(.gcc_compiled_long64)) }
-}
diff --git a/libgloss/mips/idt64.ld b/libgloss/mips/idt64.ld
deleted file mode 100644
index 4a958202f..000000000
--- a/libgloss/mips/idt64.ld
+++ /dev/null
@@ -1,187 +0,0 @@
-/* The following TEXT start address leaves space for the monitor
- workspace. This linker script links ISA64r2 programs for use with the
- simulator. We set the ISA explicitly so that we can link objects of
- different ISAs that are subsets of ISA64r2 but are not extensions of
- each other (e.g., MIPS32r2 and MIPS64). */
-
-ENTRY(_start)
-OUTPUT_ARCH("mips:isa64r2")
-OUTPUT_FORMAT("elf32-littlemips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -lidt -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-STARTUP(crt0.o)
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0x80020000;
- .text : {
- _ftext = . ;
- PROVIDE (eprol = .);
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- }
- .init : {
- KEEP (*(.init))
- }
- .fini : {
- KEEP (*(.fini))
- }
- .rel.sdata : {
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- }
- PROVIDE (etext = .);
- _etext = .;
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rodata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- PROVIDE (edata = .);
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
-
- PROVIDE (end = .);
- _end = .;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-
- /* Special sections generated by gcc */
- /* Newer GNU linkers strip by default */
- .mdebug.abi32 0 : { KEEP(*(.mdebug.abi32)) }
- .mdebug.abiN32 0 : { KEEP(*(.mdebug.abiN32)) }
- .mdebug.abi64 0 : { KEEP(*(.mdebug.abi64)) }
- .mdebug.abiO64 0 : { KEEP(*(.mdebug.abiO64)) }
- .mdebug.eabi32 0 : { KEEP(*(.mdebug.eabi32)) }
- .mdebug.eabi64 0 : { KEEP(*(.mdebug.eabi64)) }
- .gcc_compiled_long32 0 : { KEEP(*(.gcc_compiled_long32)) }
- .gcc_compiled_long64 0 : { KEEP(*(.gcc_compiled_long64)) }
-}
diff --git a/libgloss/mips/idtecoff.ld b/libgloss/mips/idtecoff.ld
deleted file mode 100644
index 2788cc824..000000000
--- a/libgloss/mips/idtecoff.ld
+++ /dev/null
@@ -1,99 +0,0 @@
-/* The following TEXT start address leaves space for the monitor
- workspace. i.e. the NEC VR4300 (IDT) first free address is actually
- 0xa001af20. */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_ARCH("mips:4000")
-OUTPUT_FORMAT("ecoff-bigmips", "ecoff-bigmips", "ecoff-littlemips")
-GROUP(-lc -lidt -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0xA0020000;
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
- . = .;
- .rdata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
- end = .;
- _end = .;
-}
diff --git a/libgloss/mips/idtmon.S b/libgloss/mips/idtmon.S
deleted file mode 100644
index bb1538812..000000000
--- a/libgloss/mips/idtmon.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * idtmon.S -- lo-level entry points into IDT monitor.
- *
- * Copyright (c) 1996 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#ifdef __mips16
-/* This file contains 32 bit assembly code. */
- .set nomips16
-#endif
-
-#include "regs.S"
-
- .text
- .align 2
-
-/* Provide named functions for entry into the IDT monitor: */
-#define INDIRECT(name,index) \
- .globl name; \
- .ent name; \
-name: la $2,+(0xbfc00000+((index)*8)); \
- j $2; \
- .end name
-
-/* The following magic numbers are for the slots into the IDT monitor: */
-INDIRECT(open,6)
-INDIRECT(read,7)
-INDIRECT(write,8)
-INDIRECT(close,10)
-INDIRECT(inbyte,11)
-INDIRECT(outbyte,12)
-INDIRECT(mon_printf,16)
-INDIRECT(_flush_cache,28)
-INDIRECT(get_mem_info,55) /* expects pointer to three word vector */
-
-/* EOF idtmon.S */
diff --git a/libgloss/mips/jmr3904-io.c b/libgloss/mips/jmr3904-io.c
deleted file mode 100644
index 8d4300739..000000000
--- a/libgloss/mips/jmr3904-io.c
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-#define READ_UINT8( _register_, _value_ ) \
- ((_value_) = *((volatile unsigned char *)(_register_)))
-
-#define WRITE_UINT8( _register_, _value_ ) \
- (*((volatile unsigned char *)(_register_)) = (_value_))
-
- /* - Board specific addresses for serial chip */
-#define DIAG_BASE 0xfffff300
-#define DIAG_SLCR (DIAG_BASE+0x00)
-#define DIAG_SLSR (DIAG_BASE+0x04)
-#define DIAG_SLDICR (DIAG_BASE+0x08)
-#define DIAG_SLDISR (DIAG_BASE+0x0C)
-#define DIAG_SFCR (DIAG_BASE+0x10)
-#define DIAG_SBRG (DIAG_BASE+0x14)
-#define DIAG_TFIFO (DIAG_BASE+0x20)
-#define DIAG_RFIFO (DIAG_BASE+0x30)
-
-#define BRG_T0 0x0000
-#define BRG_T2 0x0100
-#define BRG_T4 0x0200
-#define BRG_T5 0x0300
-
-
-#define READ_UINT16( _register_, _value_ ) \
- ((_value_) = *((volatile unsigned short *)(_register_)))
-
-#define WRITE_UINT16( _register_, _value_ ) \
- (*((volatile unsigned short *)(_register_)) = (_value_))
-
-unsigned char
-inbyte (void)
-{
- unsigned char c;
- unsigned short disr;
-
- for (;;)
- {
- READ_UINT16 (DIAG_SLDISR, disr);
- if (disr & 0x0001)
- break;
- }
- disr = disr & ~0x0001;
- READ_UINT8 (DIAG_RFIFO, c);
- WRITE_UINT16 (DIAG_SLDISR, disr);
- return c;
-}
-
-void
-outbyte (unsigned char c)
-{
- unsigned short disr;
-
- for (;;)
- {
- READ_UINT16 (DIAG_SLDISR, disr);
- if (disr & 0x0002)
- break;
- }
- disr = disr & ~0x0002;
- WRITE_UINT8 (DIAG_TFIFO, c);
- WRITE_UINT16 (DIAG_SLDISR, disr);
-}
-
-/* Stuff required to setup IO on this board */
-void board_serial_init (void)
-{
- WRITE_UINT16 (DIAG_SLCR, 0x0020);
- WRITE_UINT16 (DIAG_SLDICR, 0x0000);
- WRITE_UINT16 (DIAG_SFCR, 0x0000);
- WRITE_UINT16 (DIAG_SBRG, BRG_T2 | 5);
-}
-
-/* If you want this to be initialized as part of the stuff which gets called
- by crt0, it should be named 'hardware_init_hook'.
- Local implementations may want to move or add to this function OR
- do the initializations after main() is entered.
-*/
-void hardware_init_hook(void)
-{
- board_serial_init() ;
-}
-
-/* Structure filled in by get_mem_info. Only the size field is
- actually used (by sbrk), so the others aren't even filled in. */
-
-struct s_mem
-{
- unsigned int size;
- unsigned int icsize;
- unsigned int dcsize;
-};
-
-/* mem_size is provided in the linker script so that we don't have to
- define it here. */
-extern char _mem_size[];
-
-void
-get_mem_info (mem)
- struct s_mem *mem;
-{
- mem->size = (unsigned int)_mem_size;
-}
diff --git a/libgloss/mips/jmr3904app-java.ld b/libgloss/mips/jmr3904app-java.ld
deleted file mode 100644
index 98ce5357c..000000000
--- a/libgloss/mips/jmr3904app-java.ld
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Linker script forJMR 3904 board using Java + qthreads */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_ARCH("mips:3000")
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -ljmr3904 -lgcc -lgcjcoop)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-PROVIDE (_mem_size = 0x100000); /* JMR3904 comes as standard with 512k of RAM */
-
-/* Set the size of the stack for Java with qthreads. */
-PROVIDE (_Jv_QthreadsStackSize = 0x10000);
-
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0x80008000;
- /* This is NOT the address which fits with the monitor from jmr. */
- /* It fits the Cygmon ROMS */
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
- . = .;
- .rodata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- . += 0x2000 ; /* 8k bytes of stack. */
- __stack = ALIGN(64) ;
- . = __stack ;
- }
-
- end = .;
- _end = .;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/libgloss/mips/jmr3904app.ld b/libgloss/mips/jmr3904app.ld
deleted file mode 100644
index 3056a36bf..000000000
--- a/libgloss/mips/jmr3904app.ld
+++ /dev/null
@@ -1,168 +0,0 @@
-/* Linker script forJMR 3904 board */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_ARCH("mips:3000")
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -ljmr3904 -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-PROVIDE (_mem_size = 0x100000); /* JMR3904 comes as standard with 512k of RAM */
-
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0x80008000;
- /* This is NOT the address which fits with the monitor from jmr. */
- /* It fits the Cygmon ROMS */
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rodata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- . += 0x2000 ; /* 8k bytes of stack. */
- __stack = ALIGN(64) ;
- . = __stack ;
- }
-
- end = .;
- _end = .;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/libgloss/mips/jmr3904dram-java.ld b/libgloss/mips/jmr3904dram-java.ld
deleted file mode 100644
index 71e84032e..000000000
--- a/libgloss/mips/jmr3904dram-java.ld
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Linker script forJMR 3904 board using Java + qthreads */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_ARCH("mips:3000")
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -ljmr3904 -lgcc -lgcjcoop)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-PROVIDE (_mem_size = 0x100000); /* JMR3904 comes as standard with 512k of RAM */
- /* but this is 1 Mb */
-
-/* Set the size of the stack for Java with qthreads. */
-PROVIDE (_Jv_QthreadsStackSize = 0x10000);
-
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- /* Load everything into DRAM, except for the stack. Put stack in SRAM */
- . = 0x88000000;
- /* This is NOT the address which fits with the monitor from jmr. */
- /* It fits the Cygmon ROMS */
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
- . = .;
- .rdata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
-
- end = .;
- _end = .;
-
- /* Put stack in SRAM (8 Kb); this size is the same as the stack from
- the original script (when everything was in SRAM). */
- __stack = 0x8000A000;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/libgloss/mips/jmr3904dram.ld b/libgloss/mips/jmr3904dram.ld
deleted file mode 100644
index a2cb1eae5..000000000
--- a/libgloss/mips/jmr3904dram.ld
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Linker script forJMR 3904 board */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_ARCH("mips:3000")
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -ljmr3904 -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-PROVIDE (_mem_size = 0x100000); /* JMR3904 comes as standard with 512k of RAM */
- /* but this is 1 Mb */
-
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- /* Load everything into DRAM, except for the stack. Put stack in SRAM */
- . = 0x88000000;
- /* This is NOT the address which fits with the monitor from jmr. */
- /* It fits the Cygmon ROMS */
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
- . = .;
- .rdata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
-
- end = .;
- _end = .;
-
- /* Put stack in SRAM (8 Kb); this size is the same as the stack from
- the original script (when everything was in SRAM). */
- __stack = 0x8000A000;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/libgloss/mips/lsi.ld b/libgloss/mips/lsi.ld
deleted file mode 100644
index 839382527..000000000
--- a/libgloss/mips/lsi.ld
+++ /dev/null
@@ -1,132 +0,0 @@
-/* The following TEXT start address leaves space for the monitor
- workspace. */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_ARCH("mips:4000")
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -llsi -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0xA0020000;
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rodata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- CONSTRUCTORS
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
- end = .;
- _end = .;
-}
diff --git a/libgloss/mips/lsipmon.S b/libgloss/mips/lsipmon.S
deleted file mode 100644
index f9083d6c5..000000000
--- a/libgloss/mips/lsipmon.S
+++ /dev/null
@@ -1,2 +0,0 @@
-#define LSI 1
-#include "pmon.S"
diff --git a/libgloss/mips/nullmon.c b/libgloss/mips/nullmon.c
deleted file mode 100644
index 0b519bf7b..000000000
--- a/libgloss/mips/nullmon.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* nullmon.c - Stub or monitor services.
- *
- * Copyright (c) 1998 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/* This is a ROMSTUB
- Various libraries in libgloss may reference board specific services.
- These are often performed by system calls and by rom specific
- interfaces such as dvemon.c This file defines the null interface in
- which the rom monitor either does not exist or is not used.
- Linking with this file supports applications which only exercise
- the processor, specifically, the GDB test suite.
- By linking this object in rather than a monitor specific support
- we can insure that the testsuite will run without references or
- linkages to nonexistent monitor services.
- Similarly, every service provided by this file muse be provided by all
- monitor speciifc interfaces.
- PLEASE DO NOT MAKE THIS FILE SPECIFIC TO ANY MONITOR
- */
-
-/* This form is giving linker relocation errors */
-#if ! defined(BOARD_MEM_SIZE)
-#define BOARD_MEM_SIZE 0x100000 /* About a megabyte */
-#endif
-extern char _ftext[]; /* Defined in nullmon.ld */
-extern char _end[]; /* Defined in nullmon.ld */
-
-#if defined(FIXME_WARNINGS)
-#warning("FIXME: struct s_mem belongs in a header file")
-#endif
-struct s_mem
-{ unsigned int size;
- unsigned int icsize;
- unsigned int dcsize;
-};
-
-void
-get_mem_info (mem)
- struct s_mem *mem;
-{
- mem->size = BOARD_MEM_SIZE - (_end - _ftext);
-}
-
-/* SYSTEM INTERFACE
- Since we are defining a NULL operating environment here, I am
- entering the stub definitions for the GNUpro libraries, System Calls.
- I would rather not to even pretend to support these functions but, they
- get pulled in by other libraries.
-*/
-
-int read(int file, char * ptr , int len) { return 0 ; }
-int close (int file) { return -1 ; }
-int write(int file , char * ptr, int len) { return 0 ; }
-/*eof*/
diff --git a/libgloss/mips/nullmon.ld b/libgloss/mips/nullmon.ld
deleted file mode 100644
index c90aed308..000000000
--- a/libgloss/mips/nullmon.ld
+++ /dev/null
@@ -1,179 +0,0 @@
-/* The following TEXT start address leaves space for the monitor
- workspace. */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_ARCH("mips:4000")
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -lnullmon -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0xA0020000;
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rodata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
- . = ALIGN(64) ;
- end = .;
- _end = .;
-
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-
- /* Special sections generated by gcc */
- /* Newer GNU linkers strip by default */
- .mdebug.abi32 0 : { KEEP(*(.mdebug.abi32)) }
- .mdebug.abiN32 0 : { KEEP(*(.mdebug.abiN32)) }
- .mdebug.abi64 0 : { KEEP(*(.mdebug.abi64)) }
- .mdebug.abiO64 0 : { KEEP(*(.mdebug.abiO64)) }
- .mdebug.eabi32 0 : { KEEP(*(.mdebug.eabi32)) }
- .mdebug.eabi64 0 : { KEEP(*(.mdebug.eabi64)) }
- .gcc_compiled_long32 0 : { KEEP(*(.gcc_compiled_long32)) }
- .gcc_compiled_long64 0 : { KEEP(*(.gcc_compiled_long64)) }
-}
diff --git a/libgloss/mips/pmon.S b/libgloss/mips/pmon.S
deleted file mode 100644
index 54859797e..000000000
--- a/libgloss/mips/pmon.S
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * pmon.S -- low-level entry points into PMON monitor.
- *
- * Copyright (c) 1996, 1997, 2002 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#ifdef __mips16
-/* This file contains 32 bit assembly code. */
- .set nomips16
-#endif
-
-#if !defined(__mips64)
- /* This machine does not support 64-bit operations. */
- #define ADDU addu
- #define SUBU subu
-#else
- /* This machine supports 64-bit operations. */
- #define ADDU daddu
- #define SUBU dsubu
-#endif
-
-#include "regs.S"
-
- .text
- .align 2
-
-#ifdef LSI
- #define PMON_VECTOR 0xffffffffbfc00200
-#else
- #define PMON_VECTOR 0xffffffffbfc00500
-#endif
-
-#ifndef __mips_eabi
-/* Provide named functions for entry into the monitor: */
-#define INDIRECT(name,index) \
- .globl name; \
- .ent name; \
- .set noreorder; \
-name: la $2,+(PMON_VECTOR+((index)*4)); \
- lw $2,0($2); \
- j $2; \
- nop; \
- .set reorder; \
- .end name
-
-#else
-#define INDIRECT(name,index) \
- .globl name; \
- .ent name; \
- .set noreorder; \
-name: la $2,+(PMON_VECTOR+((index)*4)); \
- lw $2,0($2); \
- SUBU sp,sp,0x40; \
- sd ra,0x38(sp); \
- sd fp,0x30(sp); \
- jal $2; \
- move fp,sp; \
- ld ra,0x38(sp); \
- ld fp,0x30(sp); \
- j ra; \
- ADDU sp,sp,0x40; \
- .set reorder; \
- .end name
-#endif
-
-
-/* The following magic numbers are for the slots into the PMON monitor */
-/* The first are used as the lo-level library run-time: */
-INDIRECT(read,0)
-INDIRECT(write,1)
-INDIRECT(open,2)
-INDIRECT(close,3)
-/* The following are useful monitor routines: */
-INDIRECT(mon_ioctl,4)
-INDIRECT(mon_printf,5)
-INDIRECT(mon_vsprintf,6)
-INDIRECT(mon_ttctl,7)
-INDIRECT(mon_cliexit,8)
-INDIRECT(mon_getenv,9)
-INDIRECT(mon_onintr,10)
-INDIRECT(mon_flush_cache,11)
-INDIRECT(_flush_cache,11)
-INDIRECT(mon_exception,12)
-
-/* The following routine is required by the "print()" function: */
- .globl outbyte
- .ent outbyte
- .set noreorder
-outbyte:
- subu sp,sp,0x20 /* allocate stack space for string */
- sd ra,0x18(sp) /* stack return address */
- sd fp,0x10(sp) /* stack frame-pointer */
- move fp,sp /* take a copy of the stack pointer */
- /* We leave so much space on the stack for the string (16
- characters), since the call to mon_printf seems to corrupt
- the 8bytes at offset 8 into the string/stack. */
- sb a0,0x00(sp) /* character to print */
- sb z0,0x01(sp) /* NUL terminator */
- jal mon_printf /* and output the string */
- move a0,sp /* take a copy of the string pointer {DELAY SLOT} */
-
- move sp,fp /* recover stack pointer */
- ld ra,0x18(sp) /* recover return address */
- ld fp,0x10(sp) /* recover frame-pointer */
- j ra /* return to the caller */
- addu sp,sp,0x20 /* dump the stack space {DELAY SLOT} */
- .set reorder
- .end outbyte
-
-/* The following routine is required by the "sbrk()" function: */
- .globl get_mem_info
- .ent get_mem_info
- .set noreorder
-get_mem_info:
- # in: a0 = pointer to 3 word structure
- # out: void
- subu sp,sp,0x18 /* create some stack space */
- sd ra,0x00(sp) /* stack return address */
- sd fp,0x08(sp) /* stack frame-pointer */
- sd a0,0x10(sp) /* stack structure pointer */
- move fp,sp /* take a copy of the stack pointer */
-
- # The monitor has already sized memory, but unfortunately we
- # do not have access to the data location containing the
- # memory size.
-
- jal __sizemem
- nop
-
- ld a0,0x10(sp) # recover structure pointer
- sw v0,0(a0) # amount of memory available
-
- # Deal with getting the cache size information:
- mfc0 a1, C0_CONFIG
- nop
- nop
- andi a2,a1,0x7 << 9 # bits 11..9 for instruction cache size
- sll a2,a2,12 - 8
- sw a2,4(a0)
- andi a2,a1,0x7 << 6 # bits 8..6 for data cache size
- sll a2,a2,12 - 5
- sw a2,8(a0) # data cache size
- #
- move sp,fp /* recover stack pointer */
- ld ra,0x00(sp) /* recover return address */
- ld fp,0x08(sp) /* recover frame-pointer */
- j ra /* return to the caller */
- addu sp,sp,0x18 /* restore stack pointer {DELAY SLOT} */
- .set reorder
- .end get_mem_info
-
-#ifdef LSI
-
-# For the LSI MiniRISC board, we can safely assume that we have
-# at least one megabyte of RAM.
-
- .globl __sizemem
- .ent __sizemem
-__sizemem:
- li v0,0x100000
- j ra
- .end __sizemem
-#else
-
-
-#endif
-/* EOF pmon.S */
diff --git a/libgloss/mips/pmon.ld b/libgloss/mips/pmon.ld
deleted file mode 100644
index 81fd8ee31..000000000
--- a/libgloss/mips/pmon.ld
+++ /dev/null
@@ -1,178 +0,0 @@
-/* The following TEXT start address leaves space for the monitor
- workspace. */
-
-ENTRY(_start)
-STARTUP(crt0.o)
-OUTPUT_ARCH("mips:4000")
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
-GROUP(-lc -lpmon -lgcc)
-SEARCH_DIR(.)
-__DYNAMIC = 0;
-
-/*
- * Allocate the stack to be at the top of memory, since the stack
- * grows down
- */
-PROVIDE (__stack = 0);
-/* PROVIDE (__global = 0); */
-
-/*
- * Initalize some symbols to be zero so we can reference them in the
- * crt0 without core dumping. These functions are all optional, but
- * we do this so we can have our crt0 always use them if they exist.
- * This is so BSPs work better when using the crt0 installed with gcc.
- * We have to initalize them twice, so we multiple object file
- * formats, as some prepend an underscore.
- */
-PROVIDE (hardware_exit_hook = 0);
-PROVIDE (hardware_hazard_hook = 0);
-PROVIDE (hardware_init_hook = 0);
-PROVIDE (software_init_hook = 0);
-
-SECTIONS
-{
- . = 0xA0020000;
- .text : {
- _ftext = . ;
- KEEP (*(.init))
- eprol = .;
- *(.text)
- *(.text.*)
- *(.gnu.linkonce.t.*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- PROVIDE (__runtime_reloc_stop = .);
- KEEP (*(.fini))
- etext = .;
- _etext = .;
- }
-
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .jcr : { KEEP (*(.jcr)) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
-
- . = .;
- .rodata : {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- *(.gnu.linkonce.r.*)
- }
- _fdata = ALIGN(16);
- .data : {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d.*)
- }
- . = ALIGN(8);
- _gp = . + 0x8000;
- __global = _gp;
- .lit8 : {
- *(.lit8)
- }
- .lit4 : {
- *(.lit4)
- }
- .sdata : {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- . = ALIGN(4);
- edata = .;
- _edata = .;
- _fbss = .;
- .sbss : {
- *(.sbss)
- *(.sbss.*)
- *(.gnu.linkonce.sb.*)
- *(.scommon)
- }
- .bss : {
- _bss_start = . ;
- *(.bss)
- *(.bss.*)
- *(.gnu.linkonce.b.*)
- *(COMMON)
- }
-
- end = .;
- _end = .;
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to
- the beginning of the section so we begin them at 0. */
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-
- /* Special sections generated by gcc */
- /* Newer GNU linkers strip by default */
- .mdebug.abi32 0 : { KEEP(*(.mdebug.abi32)) }
- .mdebug.abiN32 0 : { KEEP(*(.mdebug.abiN32)) }
- .mdebug.abi64 0 : { KEEP(*(.mdebug.abi64)) }
- .mdebug.abiO64 0 : { KEEP(*(.mdebug.abiO64)) }
- .mdebug.eabi32 0 : { KEEP(*(.mdebug.eabi32)) }
- .mdebug.eabi64 0 : { KEEP(*(.mdebug.eabi64)) }
- .gcc_compiled_long32 0 : { KEEP(*(.gcc_compiled_long32)) }
- .gcc_compiled_long64 0 : { KEEP(*(.gcc_compiled_long64)) }
-}
diff --git a/libgloss/mips/regs.S b/libgloss/mips/regs.S
deleted file mode 100644
index bdf933f13..000000000
--- a/libgloss/mips/regs.S
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * regs.S -- standard MIPS register names.
- *
- * Copyright (c) 1995 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/* Standard MIPS register names: */
-#define zero $0
-#define z0 $0
-#define v0 $2
-#define v1 $3
-#define a0 $4
-#define a1 $5
-#define a2 $6
-#define a3 $7
-#define t0 $8
-#define t1 $9
-#define t2 $10
-#define t3 $11
-#define t4 $12
-#define t5 $13
-#define t6 $14
-#define t7 $15
-#define s0 $16
-#define s1 $17
-#define s2 $18
-#define s3 $19
-#define s4 $20
-#define s5 $21
-#define s6 $22
-#define s7 $23
-#define t8 $24
-#define t9 $25
-#define k0 $26 /* kernel private register 0 */
-#define k1 $27 /* kernel private register 1 */
-#define gp $28 /* global data pointer */
-#define sp $29 /* stack-pointer */
-#define fp $30 /* frame-pointer */
-#define ra $31 /* return address */
-#define pc $pc /* pc, used on mips16 */
-
-#define fp0 $f0
-#define fp1 $f1
-
-/* Useful memory constants: */
-#ifndef __mips64
-#define K0BASE 0x80000000
-#define K1BASE 0xA0000000
-#define K0BASE_ADDR ((char *)K0BASE)
-#define K1BASE_ADDR ((char *)K1BASE)
-#else
-#define K0BASE 0xFFFFFFFF80000000
-#define K1BASE 0xFFFFFFFFA0000000
-#define K0BASE_ADDR ((char *)0xFFFFFFFF80000000LL)
-#define K1BASE_ADDR ((char *)0xFFFFFFFFA0000000LL)
-#endif
-
-#define PHYS_TO_K1(a) ((unsigned)(a) | K1BASE)
-
-/* Standard Co-Processor 0 registers */
-#define C0_COUNT $9 /* Count Register */
-#define C0_SR $12 /* Status Register */
-#define C0_CAUSE $13 /* last exception description */
-#define C0_EPC $14 /* Exception error address */
-#define C0_PRID $15 /* Processor Revision ID */
-#define C0_CONFIG $16 /* CPU configuration */
-
-/* Standard Processor Revision ID Register field offsets */
-#define PR_IMP 8
-
-/* Standard Config Register field offsets */
-#define CR_DB 4
-#define CR_IB 5
-#define CR_DC 6 /* NOTE v4121 semantics != 43,5xxx semantics */
-#define CR_IC 9 /* NOTE v4121 semantics != 43,5xxx semantics */
-#define CR_SC 17
-#define CR_SS 20
-#define CR_SB 22
-
-
-/* Standard Status Register bitmasks: */
-#define SR_CU1 0x20000000 /* Mark CP1 as usable */
-#define SR_FR 0x04000000 /* Enable MIPS III FP registers */
-#define SR_BEV 0x00400000 /* Controls location of exception vectors */
-#define SR_PE 0x00100000 /* Mark soft reset (clear parity error) */
-
-#define SR_KX 0x00000080 /* Kernel extended addressing enabled */
-#define SR_SX 0x00000040 /* Supervisor extended addressing enabled */
-#define SR_UX 0x00000020 /* User extended addressing enabled */
-
-/* Standard (R4000) cache operations. Taken from "MIPS R4000
- Microprocessor User's Manual" 2nd edition: */
-
-#define CACHE_I (0) /* primary instruction */
-#define CACHE_D (1) /* primary data */
-#define CACHE_SI (2) /* secondary instruction */
-#define CACHE_SD (3) /* secondary data (or combined instruction/data) */
-
-#define INDEX_INVALIDATE (0) /* also encodes WRITEBACK if CACHE_D or CACHE_SD */
-#define INDEX_LOAD_TAG (1)
-#define INDEX_STORE_TAG (2)
-#define CREATE_DIRTY_EXCLUSIVE (3) /* CACHE_D and CACHE_SD only */
-#define HIT_INVALIDATE (4)
-#define CACHE_FILL (5) /* CACHE_I only */
-#define HIT_WRITEBACK_INVALIDATE (5) /* CACHE_D and CACHE_SD only */
-#define HIT_WRITEBACK (6) /* CACHE_I, CACHE_D and CACHE_SD only */
-#define HIT_SET_VIRTUAL (7) /* CACHE_SI and CACHE_SD only */
-
-#define BUILD_CACHE_OP(o,c) (((o) << 2) | (c))
-
-/* Individual cache operations: */
-#define INDEX_INVALIDATE_I BUILD_CACHE_OP(INDEX_INVALIDATE,CACHE_I)
-#define INDEX_WRITEBACK_INVALIDATE_D BUILD_CACHE_OP(INDEX_INVALIDATE,CACHE_D)
-#define INDEX_INVALIDATE_SI BUILD_CACHE_OP(INDEX_INVALIDATE,CACHE_SI)
-#define INDEX_WRITEBACK_INVALIDATE_SD BUILD_CACHE_OP(INDEX_INVALIDATE,CACHE_SD)
-
-#define INDEX_LOAD_TAG_I BUILD_CACHE_OP(INDEX_LOAD_TAG,CACHE_I)
-#define INDEX_LOAD_TAG_D BUILD_CACHE_OP(INDEX_LOAD_TAG,CACHE_D)
-#define INDEX_LOAD_TAG_SI BUILD_CACHE_OP(INDEX_LOAD_TAG,CACHE_SI)
-#define INDEX_LOAD_TAG_SD BUILD_CACHE_OP(INDEX_LOAD_TAG,CACHE_SD)
-
-#define INDEX_STORE_TAG_I BUILD_CACHE_OP(INDEX_STORE_TAG,CACHE_I)
-#define INDEX_STORE_TAG_D BUILD_CACHE_OP(INDEX_STORE_TAG,CACHE_D)
-#define INDEX_STORE_TAG_SI BUILD_CACHE_OP(INDEX_STORE_TAG,CACHE_SI)
-#define INDEX_STORE_TAG_SD BUILD_CACHE_OP(INDEX_STORE_TAG,CACHE_SD)
-
-#define CREATE_DIRTY_EXCLUSIVE_D BUILD_CACHE_OP(CREATE_DIRTY_EXCLUSIVE,CACHE_D)
-#define CREATE_DIRTY_EXCLUSIVE_SD BUILD_CACHE_OP(CREATE_DIRTY_EXCLUSIVE,CACHE_SD)
-
-#define HIT_INVALIDATE_I BUILD_CACHE_OP(HIT_INVALIDATE,CACHE_I)
-#define HIT_INVALIDATE_D BUILD_CACHE_OP(HIT_INVALIDATE,CACHE_D)
-#define HIT_INVALIDATE_SI BUILD_CACHE_OP(HIT_INVALIDATE,CACHE_SI)
-#define HIT_INVALIDATE_SD BUILD_CACHE_OP(HIT_INVALIDATE,CACHE_SD)
-
-#define CACHE_FILL_I BUILD_CACHE_OP(CACHE_FILL,CACHE_I)
-#define HIT_WRITEBACK_INVALIDATE_D BUILD_CACHE_OP(HIT_WRITEBACK_INVALIDATE,CACHE_D)
-#define HIT_WRITEBACK_INVALIDATE_SD BUILD_CACHE_OP(HIT_WRITEBACK_INVALIDATE,CACHE_SD)
-
-#define HIT_WRITEBACK_I BUILD_CACHE_OP(HIT_WRITEBACK,CACHE_I)
-#define HIT_WRITEBACK_D BUILD_CACHE_OP(HIT_WRITEBACK,CACHE_D)
-#define HIT_WRITEBACK_SD BUILD_CACHE_OP(HIT_WRITEBACK,CACHE_SD)
-
-#define HIT_SET_VIRTUAL_SI BUILD_CACHE_OP(HIT_SET_VIRTUAL,CACHE_SI)
-#define HIT_SET_VIRTUAL_SD BUILD_CACHE_OP(HIT_SET_VIRTUAL,CACHE_SD)
-
-/*> EOF regs.S <*/
diff --git a/libgloss/mips/syscalls.c b/libgloss/mips/syscalls.c
deleted file mode 100644
index 3ab543674..000000000
--- a/libgloss/mips/syscalls.c
+++ /dev/null
@@ -1,45 +0,0 @@
-#include <_ansi.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include "regs.S"
-
-extern char _end[];
-
-/* FIXME: This is not ideal, since we do a get_mem_info() call for
- every sbrk() call. */
-char *
-sbrk (nbytes)
- int nbytes;
-{
- static char *heap_ptr = _end;
- static char *heap_start = _end;
- char *base;
- struct s_mem {
- unsigned int size;
- unsigned int icsize;
- unsigned int dcsize;
- } mem;
- unsigned int avail = 0;
-
- /* The sizeof (s_mem.size) must be 4 bytes. The compiler should be
- able to eliminate this check */
- if (sizeof (unsigned int) != 4)
- return (char *)-1;
-
- get_mem_info(&mem);
- /* NOTE: The value returned from the get_mem_info call is the amount
- of memory, and not the address of the (last byte + 1) */
-
- if (((size_t)heap_ptr >= heap_start) && ((size_t)heap_ptr < (heap_start + mem.size))) {
- avail = (heap_start + mem.size) - (size_t)heap_ptr;
- base = heap_ptr;
- } /* else will fail since "nbytes" will be greater than zeroed "avail" value */
-
- if ((nbytes > avail) || (heap_ptr + nbytes < _end))
- base = (char *)-1;
- else
- heap_ptr += nbytes;
-
- return base;
-}
diff --git a/libgloss/mips/test.c b/libgloss/mips/test.c
deleted file mode 100644
index a99347914..000000000
--- a/libgloss/mips/test.c
+++ /dev/null
@@ -1,13 +0,0 @@
-main()
-{
- outbyte ('&');
- outbyte ('@');
- outbyte ('$');
- outbyte ('%');
-
- /* whew, we made it */
-
- print ("\r\nDone...");
-
- return;
-}
diff --git a/libgloss/mips/vr4300.S b/libgloss/mips/vr4300.S
deleted file mode 100644
index 9737ddc9e..000000000
--- a/libgloss/mips/vr4300.S
+++ /dev/null
@@ -1,341 +0,0 @@
-/*
- * vr4300.S -- CPU specific support routines
- *
- * Copyright (c) 1995,1996 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#ifndef __mips64
- .set mips3
-#endif
-#ifdef __mips16
-/* This file contains 32 bit assembly code. */
- .set nomips16
-#endif
-
-#include "regs.S"
-
- .text
- .align 2
-
- # Taken from "R4300 Preliminary RISC Processor Specification
- # Revision 2.0 January 1995" page 39: "The Count
- # register... increments at a constant rate... at one-half the
- # PClock speed."
- # We can use this fact to provide small polled delays.
- .globl __cpu_timer_poll
- .ent __cpu_timer_poll
-__cpu_timer_poll:
- .set noreorder
- # in: a0 = (unsigned int) number of PClock ticks to wait for
- # out: void
-
- # The Vr4300 counter updates at half PClock, so divide by 2 to
- # get counter delta:
- bnezl a0, 1f # continue if delta non-zero
- srl a0, a0, 1 # divide ticks by 2 {DELAY SLOT}
- # perform a quick return to the caller:
- j ra
- nop # {DELAY SLOT}
-1:
- mfc0 v0, C0_COUNT # get current counter value
- nop
- nop
- # We cannot just do the simple test, of adding our delta onto
- # the current value (ignoring overflow) and then checking for
- # equality. The counter is incrementing every two PClocks,
- # which means the counter value can change between
- # instructions, making it hard to sample at the exact value
- # desired.
-
- # However, we do know that our entry delta value is less than
- # half the number space (since we divide by 2 on entry). This
- # means we can use a difference in signs to indicate timer
- # overflow.
- addu a0, v0, a0 # unsigned add (ignore overflow)
- # We know have our end value (which will have been
- # sign-extended to fill the 64bit register value).
-2:
- # get current counter value:
- mfc0 v0, C0_COUNT
- nop
- nop
- # This is an unsigned 32bit subtraction:
- subu v0, a0, v0 # delta = (end - now) {DELAY SLOT}
- bgtzl v0, 2b # looping back is most likely
- nop
- # We have now been delayed (in the foreground) for AT LEAST
- # the required number of counter ticks.
- j ra # return to caller
- nop # {DELAY SLOT}
- .set reorder
- .end __cpu_timer_poll
-
- # Flush the processor caches to memory:
-
- .globl __cpu_flush
- .ent __cpu_flush
-__cpu_flush:
- .set noreorder
- # NOTE: The Vr4300 *CANNOT* have any secondary cache (bit 17
- # of the CONFIG registered is hard-wired to 1). We just
- # provide code to flush the Data and Instruction caches.
-
- # Even though the Vr4300 has hard-wired cache and cache line
- # sizes, we still interpret the relevant Config register
- # bits. This allows this code to be used for other conforming
- # MIPS architectures if desired.
-
- # Get the config register
- mfc0 a0, C0_CONFIG
- nop
- nop
- li a1, 1 # a useful constant
- #
- srl a2, a0, 9 # bits 11..9 for instruction cache size
- andi a2, a2, 0x7 # 3bits of information
- add a2, a2, 12 # get full power-of-2 value
- sllv a2, a1, a2 # instruction cache size
- #
- srl a3, a0, 6 # bits 8..6 for data cache size
- andi a3, a3, 0x7 # 3bits of information
- add a3, a3, 12 # get full power-of-2 value
- sllv a3, a1, a3 # data cache size
- #
- li a1, (1 << 5) # check IB (instruction cache line size)
- and a1, a0, a1 # mask against the CONFIG register value
- beqz a1, 1f # branch on result of delay slot operation
- nop
- li a1, 32 # non-zero, then 32bytes
- j 2f # continue
- nop
-1:
- li a1, 16 # 16bytes
-2:
- #
- li t0, (1 << 4) # check DB (data cache line size)
- and a0, a0, t0 # mask against the CONFIG register value
- beqz a0, 3f # branch on result of delay slot operation
- nop
- li a0, 32 # non-zero, then 32bytes
- j 4f # continue
- nop
-3:
- li a0, 16 # 16bytes
-4:
- #
- # a0 = data cache line size
- # a1 = instruction cache line size
- # a2 = instruction cache size
- # a3 = data cache size
- #
- lui t0, ((K0BASE >> 16) & 0xFFFF)
- ori t0, t0, (K0BASE & 0xFFFF)
- addu t1, t0, a2 # end cache address
- subu t2, a1, 1 # line size mask
- not t2 # invert the mask
- and t3, t0, t2 # get start address
- addu t1, -1
- and t1, t2 # get end address
-5:
- cache INDEX_INVALIDATE_I,0(t3)
- bne t3, t1, 5b
- addu t3, a1
- #
- addu t1, t0, a3 # end cache address
- subu t2, a0, 1 # line size mask
- not t2 # invert the mask
- and t3, t0, t2 # get start address
- addu t1, -1
- and t1, t2 # get end address
-6:
- cache INDEX_WRITEBACK_INVALIDATE_D,0(t3)
- bne t3, t1, 6b
- addu t3, a0
- #
- j ra # return to the caller
- nop
- .set reorder
- .end __cpu_flush
-
- # NOTE: This variable should *NOT* be addressed relative to
- # the $gp register since this code is executed before $gp is
- # initialised... hence we leave it in the text area. This will
- # cause problems if this routine is ever ROMmed:
-
- .globl __buserr_cnt
-__buserr_cnt:
- .word 0
- .align 3
-__k1_save:
- .word 0
- .word 0
- .align 2
-
- .ent __buserr
- .globl __buserr
-__buserr:
- .set noat
- .set noreorder
- # k0 and k1 available for use:
- mfc0 k0,C0_CAUSE
- nop
- nop
- andi k0,k0,0x7c
- sub k0,k0,7 << 2
- beq k0,$0,__buserr_do
- nop
- # call the previous handler
- la k0,__previous
- jr k0
- nop
- #
-__buserr_do:
- # TODO: check that the cause is indeed a bus error
- # - if not then just jump to the previous handler
- la k0,__k1_save
- sd k1,0(k0)
- #
- la k1,__buserr_cnt
- lw k0,0(k1) # increment counter
- addu k0,1
- sw k0,0(k1)
- #
- la k0,__k1_save
- ld k1,0(k0)
- #
- mfc0 k0,C0_EPC
- nop
- nop
- addu k0,k0,4 # skip offending instruction
- mtc0 k0,C0_EPC # update EPC
- nop
- nop
- eret
-# j k0
-# rfe
- .set reorder
- .set at
- .end __buserr
-
-__exception_code:
- .set noreorder
- lui k0,%hi(__buserr)
- daddiu k0,k0,%lo(__buserr)
- jr k0
- nop
- .set reorder
-__exception_code_end:
-
- .data
-__previous:
- .space (__exception_code_end - __exception_code)
- # This subtracting two addresses is working
- # but is not garenteed to continue working.
- # The assemble reserves the right to put these
- # two labels into different frags, and then
- # cant take their difference.
-
- .text
-
- .ent __default_buserr_handler
- .globl __default_buserr_handler
-__default_buserr_handler:
- .set noreorder
- # attach our simple bus error handler:
- # in: void
- # out: void
- mfc0 a0,C0_SR
- nop
- li a1,SR_BEV
- and a1,a1,a0
- beq a1,$0,baseaddr
- lui a0,0x8000 # delay slot
- lui a0,0xbfc0
- daddiu a0,a0,0x0200
-baseaddr:
- daddiu a0,a0,0x0180
- # a0 = base vector table address
- la a1,__exception_code_end
- la a2,__exception_code
- subu a1,a1,a2
- la a3,__previous
- # there must be a better way of doing this????
-copyloop:
- lw v0,0(a0)
- sw v0,0(a3)
- lw v0,0(a2)
- sw v0,0(a0)
- daddiu a0,a0,4
- daddiu a2,a2,4
- daddiu a3,a3,4
- subu a1,a1,4
- bne a1,$0,copyloop
- nop
- la a0,__buserr_cnt
- sw $0,0(a0)
- j ra
- nop
- .set reorder
- .end __default_buserr_handler
-
- .ent __restore_buserr_handler
- .globl __restore_buserr_handler
-__restore_buserr_handler:
- .set noreorder
- # restore original (monitor) bus error handler
- # in: void
- # out: void
- mfc0 a0,C0_SR
- nop
- li a1,SR_BEV
- and a1,a1,a0
- beq a1,$0,res_baseaddr
- lui a0,0x8000 # delay slot
- lui a0,0xbfc0
- daddiu a0,a0,0x0200
-res_baseaddr:
- daddiu a0,a0,0x0180
- # a0 = base vector table address
- la a1,__exception_code_end
- la a3,__exception_code
- subu a1,a1,a3
- la a3,__previous
- # there must be a better way of doing this????
-res_copyloop:
- lw v0,0(a3)
- sw v0,0(a0)
- daddiu a0,a0,4
- daddiu a3,a3,4
- subu a1,a1,4
- bne a1,$0,res_copyloop
- nop
- j ra
- nop
- .set reorder
- .end __restore_buserr_handler
-
- .ent __buserr_count
- .globl __buserr_count
-__buserr_count:
- .set noreorder
- # restore original (monitor) bus error handler
- # in: void
- # out: unsigned int __buserr_cnt
- la v0,__buserr_cnt
- lw v0,0(v0)
- j ra
- nop
- .set reorder
- .end __buserr_count
-
-/* EOF vr4300.S */
diff --git a/libgloss/mips/vr5xxx.S b/libgloss/mips/vr5xxx.S
deleted file mode 100644
index f89e88a9a..000000000
--- a/libgloss/mips/vr5xxx.S
+++ /dev/null
@@ -1,457 +0,0 @@
-/*
- * vr5xxx.S -- CPU specific support routines
- *
- * Copyright (c) 1999 Cygnus Solutions
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/* This file cloned from vr4300.S by dlindsay@cygnus.com
- * and recoded to suit Vr5432 and Vr5000.
- * Should be no worse for Vr43{00,05,10}.
- * Specifically, __cpu_flush() has been changed (a) to allow for the hardware
- * difference (in set associativity) between the Vr5432 and Vr5000,
- * and (b) to flush the optional secondary cache of the Vr5000.
- */
-
-/* Processor Revision Identifier (PRID) Register: Implementation Numbers */
-#define IMPL_VR5432 0x54
-
-/* Cache Constants not determinable dynamically */
-#define VR5000_2NDLINE 32 /* secondary cache line size */
-#define VR5432_LINE 32 /* I,Dcache line sizes */
-#define VR5432_SIZE (16*1024) /* I,Dcache half-size */
-
-
-#ifndef __mips64
- .set mips3
-#endif
-#ifdef __mips16
-/* This file contains 32 bit assembly code. */
- .set nomips16
-#endif
-
-#include "regs.S"
-
- .text
- .align 2
-
- # Taken from "R4300 Preliminary RISC Processor Specification
- # Revision 2.0 January 1995" page 39: "The Count
- # register... increments at a constant rate... at one-half the
- # PClock speed."
- # We can use this fact to provide small polled delays.
- .globl __cpu_timer_poll
- .ent __cpu_timer_poll
-__cpu_timer_poll:
- .set noreorder
- # in: a0 = (unsigned int) number of PClock ticks to wait for
- # out: void
-
- # The Vr4300 counter updates at half PClock, so divide by 2 to
- # get counter delta:
- bnezl a0, 1f # continue if delta non-zero
- srl a0, a0, 1 # divide ticks by 2 {DELAY SLOT}
- # perform a quick return to the caller:
- j ra
- nop # {DELAY SLOT}
-1:
- mfc0 v0, C0_COUNT # get current counter value
- nop
- nop
- # We cannot just do the simple test, of adding our delta onto
- # the current value (ignoring overflow) and then checking for
- # equality. The counter is incrementing every two PClocks,
- # which means the counter value can change between
- # instructions, making it hard to sample at the exact value
- # desired.
-
- # However, we do know that our entry delta value is less than
- # half the number space (since we divide by 2 on entry). This
- # means we can use a difference in signs to indicate timer
- # overflow.
- addu a0, v0, a0 # unsigned add (ignore overflow)
- # We know have our end value (which will have been
- # sign-extended to fill the 64bit register value).
-2:
- # get current counter value:
- mfc0 v0, C0_COUNT
- nop
- nop
- # This is an unsigned 32bit subtraction:
- subu v0, a0, v0 # delta = (end - now) {DELAY SLOT}
- bgtzl v0, 2b # looping back is most likely
- nop
- # We have now been delayed (in the foreground) for AT LEAST
- # the required number of counter ticks.
- j ra # return to caller
- nop # {DELAY SLOT}
- .set reorder
- .end __cpu_timer_poll
-
- # Flush the processor caches to memory:
-
- .globl __cpu_flush
- .ent __cpu_flush
-__cpu_flush:
- .set noreorder
- # NOTE: The Vr4300 and Vr5432 *CANNOT* have any secondary cache.
- # On those, SC (bit 17 of CONFIG register) is hard-wired to 1,
- # except that email from Dennis_Han@el.nec.com says that old
- # versions of the Vr5432 incorrectly hard-wired this bit to 0.
- # The Vr5000 has an optional direct-mapped secondary cache,
- # and the SC bit correctly indicates this.
-
- # So, for the 4300 and 5432 we want to just
- # flush the primary Data and Instruction caches.
- # For the 5000 it is desired to flush the secondary cache too.
- # There is an operation difference worth noting.
- # The 4300 and 5000 primary caches use VA bit 14 to choose cache set,
- # whereas 5432 primary caches use VA bit 0.
-
- # This code interprets the relevant Config register bits as
- # much as possible, except for the 5432.
- # The code therefore has some portability.
- # However, the associativity issues mean you should not just assume
- # that this code works anywhere. Also, the secondary cache set
- # size is hardwired, since the 5000 series does not define codes
- # for variant sizes.
-
- # Note: this version of the code flushes D$ before I$.
- # It is difficult to construct a case where that matters,
- # but it cant hurt.
-
- mfc0 a0, C0_PRID # a0 = Processor Revision register
- nop # dlindsay: unclear why the nops, but
- nop # vr4300.S had such so I do too.
- srl a2, a0, PR_IMP # want bits 8..15
- andi a2, a2, 0x255 # mask: now a2 = Implementation # field
- li a1, IMPL_VR5432
- beq a1, a2, 8f # use Vr5432-specific flush algorithm
- nop
-
- # Non-Vr5432 version of the code.
- # (The distinctions being: CONFIG is truthful about secondary cache,
- # and we act as if the primary Icache and Dcache are direct mapped.)
-
- mfc0 t0, C0_CONFIG # t0 = CONFIG register
- nop
- nop
- li a1, 1 # a1=1, a useful constant
-
- srl a2, t0, CR_IC # want IC field of CONFIG
- andi a2, a2, 0x7 # mask: now a2= code for Icache size
- add a2, a2, 12 # +12
- sllv a2, a1, a2 # a2=primary instruction cache size in bytes
-
- srl a3, t0, CR_DC # DC field of CONFIG
- andi a3, a3, 0x7 # mask: now a3= code for Dcache size
- add a3, a3, 12 # +12
- sllv a3, a1, a3 # a3=primary data cache size in bytes
-
- li t2, (1 << CR_IB) # t2=mask over IB boolean
- and t2, t2, t0 # test IB field of CONFIG register value
- beqz t2, 1f #
- li a1, 16 # 16 bytes (branch shadow: always loaded.)
- li a1, 32 # non-zero, then 32bytes
-1:
-
- li t2, (1 << CR_DB) # t2=mask over DB boolean
- and t2, t2, t0 # test BD field of CONFIG register value
- beqz t2, 2f #
- li a0, 16 # 16bytes (branch shadow: always loaded.)
- li a0, 32 # non-zero, then 32bytes
-2:
- lui t1, ((K0BASE >> 16) & 0xFFFF)
- ori t1, t1, (K0BASE & 0xFFFF)
-
- # At this point,
- # a0 = primary Dcache line size in bytes
- # a1 = primary Icache line size in bytes
- # a2 = primary Icache size in bytes
- # a3 = primary Dcache size in bytes
- # t0 = CONFIG value
- # t1 = a round unmapped cached base address (we are in kernel mode)
- # t2,t3 scratch
-
- addi t3, t1, 0 # t3=t1=start address for any cache
- add t2, t3, a3 # t2=end adress+1 of Dcache
- sub t2, t2, a0 # t2=address of last line in Dcache
-3:
- cache INDEX_WRITEBACK_INVALIDATE_D,0(t3)
- bne t3, t2, 3b #
- addu t3, a0 # (delay slot) increment by Dcache line size
-
-
- # Now check CONFIG to see if there is a secondary cache
- lui t2, (1 << (CR_SC-16)) # t2=mask over SC boolean
- and t2, t2, t0 # test SC in CONFIG
- bnez t2, 6f
-
- # There is a secondary cache. Find out its sizes.
-
- srl t3, t0, CR_SS # want SS field of CONFIG
- andi t3, t3, 0x3 # mask: now t3= code for cache size.
- beqz t3, 4f
- lui a3, ((512*1024)>>16) # a3= 512K, code was 0
- addu t3, -1 # decrement code
- beqz t3, 4f
- lui a3, ((1024*1024)>>16) # a3= 1 M, code 1
- addu t3, -1 # decrement code
- beqz t3, 4f
- lui a3, ((2*1024*1024)>>16) # a3= 2 M, code 2
- j 6f # no secondary cache, code 3
-
-4: # a3 = secondary cache size in bytes
- li a0, VR5000_2NDLINE # no codes assigned for other than 32
-
- # At this point,
- # a0 = secondary cache line size in bytes
- # a1 = primary Icache line size in bytes
- # a2 = primary Icache size in bytes
- # a3 = secondary cache size in bytes
- # t1 = a round unmapped cached base address (we are in kernel mode)
- # t2,t3 scratch
-
- addi t3, t1, 0 # t3=t1=start address for any cache
- add t2, t3, a3 # t2=end address+1 of secondary cache
- sub t2, t2, a0 # t2=address of last line in secondary cache
-5:
- cache INDEX_WRITEBACK_INVALIDATE_SD,0(t3)
- bne t3, t2, 5b
- addu t3, a0 # (delay slot) increment by line size
-
-
-6: # Any optional secondary cache done. Now do I-cache and return.
-
- # At this point,
- # a1 = primary Icache line size in bytes
- # a2 = primary Icache size in bytes
- # t1 = a round unmapped cached base address (we are in kernel mode)
- # t2,t3 scratch
-
- add t2, t1, a2 # t2=end adress+1 of Icache
- sub t2, t2, a1 # t2=address of last line in Icache
-7:
- cache INDEX_INVALIDATE_I,0(t1)
- bne t1, t2, 7b
- addu t1, a1 # (delay slot) increment by Icache line size
-
- j ra # return to the caller
- nop
-
-8:
-
-# Vr5432 version of the cpu_flush code.
-# (The distinctions being: CONFIG can not be trusted about secondary
-# cache (which does not exist). The primary caches use Virtual Address Bit 0
-# to control set selection.
-
-# Code does not consult CONFIG about cache sizes: knows the hardwired sizes.
-# Since both I and D have the same size and line size, uses a merged loop.
-
- li a0, VR5432_LINE
- li a1, VR5432_SIZE
- lui t1, ((K0BASE >> 16) & 0xFFFF)
- ori t1, t1, (K0BASE & 0xFFFF)
-
- # a0 = cache line size in bytes
- # a1 = 1/2 cache size in bytes
- # t1 = a round unmapped cached base address (we are in kernel mode)
-
- add t2, t1, a1 # t2=end address+1
- sub t2, t2, a0 # t2=address of last line in Icache
-
-9:
- cache INDEX_WRITEBACK_INVALIDATE_D,0(t1) # set 0
- cache INDEX_WRITEBACK_INVALIDATE_D,1(t1) # set 1
- cache INDEX_INVALIDATE_I,0(t1) # set 0
- cache INDEX_INVALIDATE_I,1(t1) # set 1
- bne t1, t2, 9b
- addu t1, a0
-
- j ra # return to the caller
- nop
- .set reorder
- .end __cpu_flush
-
- # NOTE: This variable should *NOT* be addressed relative to
- # the $gp register since this code is executed before $gp is
- # initialised... hence we leave it in the text area. This will
- # cause problems if this routine is ever ROMmed:
-
- .globl __buserr_cnt
-__buserr_cnt:
- .word 0
- .align 3
-__k1_save:
- .word 0
- .word 0
- .align 2
-
- .ent __buserr
- .globl __buserr
-__buserr:
- .set noat
- .set noreorder
- # k0 and k1 available for use:
- mfc0 k0,C0_CAUSE
- nop
- nop
- andi k0,k0,0x7c
- sub k0,k0,7 << 2
- beq k0,$0,__buserr_do
- nop
- # call the previous handler
- la k0,__previous
- jr k0
- nop
- #
-__buserr_do:
- # TODO: check that the cause is indeed a bus error
- # - if not then just jump to the previous handler
- la k0,__k1_save
- sd k1,0(k0)
- #
- la k1,__buserr_cnt
- lw k0,0(k1) # increment counter
- addu k0,1
- sw k0,0(k1)
- #
- la k0,__k1_save
- ld k1,0(k0)
- #
- mfc0 k0,C0_EPC
- nop
- nop
- addu k0,k0,4 # skip offending instruction
- mtc0 k0,C0_EPC # update EPC
- nop
- nop
- eret
-# j k0
-# rfe
- .set reorder
- .set at
- .end __buserr
-
-__exception_code:
- .set noreorder
- lui k0,%hi(__buserr)
- daddiu k0,k0,%lo(__buserr)
- jr k0
- nop
- .set reorder
-__exception_code_end:
-
- .data
-__previous:
- .space (__exception_code_end - __exception_code)
- # This subtracting two addresses is working
- # but is not garenteed to continue working.
- # The assemble reserves the right to put these
- # two labels into different frags, and then
- # cant take their difference.
-
- .text
-
- .ent __default_buserr_handler
- .globl __default_buserr_handler
-__default_buserr_handler:
- .set noreorder
- # attach our simple bus error handler:
- # in: void
- # out: void
- mfc0 a0,C0_SR
- nop
- li a1,SR_BEV
- and a1,a1,a0
- beq a1,$0,baseaddr
- lui a0,0x8000 # delay slot
- lui a0,0xbfc0
- daddiu a0,a0,0x0200
-baseaddr:
- daddiu a0,a0,0x0180
- # a0 = base vector table address
- la a1,__exception_code_end
- la a2,__exception_code
- subu a1,a1,a2
- la a3,__previous
- # there must be a better way of doing this????
-copyloop:
- lw v0,0(a0)
- sw v0,0(a3)
- lw v0,0(a2)
- sw v0,0(a0)
- daddiu a0,a0,4
- daddiu a2,a2,4
- daddiu a3,a3,4
- subu a1,a1,4
- bne a1,$0,copyloop
- nop
- la a0,__buserr_cnt
- sw $0,0(a0)
- j ra
- nop
- .set reorder
- .end __default_buserr_handler
-
- .ent __restore_buserr_handler
- .globl __restore_buserr_handler
-__restore_buserr_handler:
- .set noreorder
- # restore original (monitor) bus error handler
- # in: void
- # out: void
- mfc0 a0,C0_SR
- nop
- li a1,SR_BEV
- and a1,a1,a0
- beq a1,$0,res_baseaddr
- lui a0,0x8000 # delay slot
- lui a0,0xbfc0
- daddiu a0,a0,0x0200
-res_baseaddr:
- daddiu a0,a0,0x0180
- # a0 = base vector table address
- la a1,__exception_code_end
- la a3,__exception_code
- subu a1,a1,a3
- la a3,__previous
- # there must be a better way of doing this????
-res_copyloop:
- lw v0,0(a3)
- sw v0,0(a0)
- daddiu a0,a0,4
- daddiu a3,a3,4
- subu a1,a1,4
- bne a1,$0,res_copyloop
- nop
- j ra
- nop
- .set reorder
- .end __restore_buserr_handler
-
- .ent __buserr_count
- .globl __buserr_count
-__buserr_count:
- .set noreorder
- # restore original (monitor) bus error handler
- # in: void
- # out: unsigned int __buserr_cnt
- la v0,__buserr_cnt
- lw v0,0(v0)
- j ra
- nop
- .set reorder
- .end __buserr_count
-
-/* EOF vr5xxx.S */