upgrade to newlib 1.2.0
This commit is contained in:
parent
ee5597df15
commit
dafa1f813e
634 changed files with 58689 additions and 39685 deletions
|
@ -285,3 +285,40 @@ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
(16) - GPL with exception (sparc-*leon*, crx-*, cr16-* targets only)
|
||||
|
||||
Copyright (C) 1992 Free Software Foundation, Inc.
|
||||
Written By David Vinayak Henkel-Wallace, June 1992
|
||||
|
||||
This file is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option) any
|
||||
later version.
|
||||
|
||||
In addition to the permissions in the GNU General Public License, the
|
||||
Free Software Foundation gives you unlimited permission to link the
|
||||
compiled version of this file with other programs, and to distribute
|
||||
those programs without any restriction coming from the use of this
|
||||
file. (The General Public License restrictions do apply in other
|
||||
respects; for example, they cover modification of the file, and
|
||||
distribution when not linked into another program.)
|
||||
|
||||
This file is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
|
||||
As a special exception, if you link this library with files
|
||||
compiled with GCC to produce an executable, this does not cause
|
||||
the resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why
|
||||
the executable file might be covered by the GNU General Public License.
|
||||
|
||||
|
||||
|
|
|
@ -1,3 +1,679 @@
|
|||
2011-12-18 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-12-15 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
* COPYING.LIBGLOSS: Add GPL with exception license.
|
||||
|
||||
2011-11-09 Roland McGrath <mcgrathr@google.com>
|
||||
|
||||
* configure.ac: Add tool checks for READELF and READELF_FOR_TARGET.
|
||||
* configure: Rebuild.
|
||||
* Makefile.def (flags_to_pass): Add READELF_FOR_TARGET.
|
||||
* Makefile.tpl (READELF, READELF_FOR_TARGET): New variables.
|
||||
(HOST_EXPORTS): Add READELF, READELF_FOR_TARGET.
|
||||
(BASE_FLAGS_TO_PASS): Add READELF_FOR_TARGET.
|
||||
(BASE_TARGET_EXPORTS, EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS):
|
||||
Add READELF.
|
||||
* Makefile.in: Rebuild.
|
||||
|
||||
2011-11-08 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* configure.ac: Test for libitm directory present first.
|
||||
|
||||
* configure.ac: Adjust srcdir for running libitm/configure.tgt.
|
||||
|
||||
* configure.ac: Test libitm/configure.tgt to disable libitm.
|
||||
* configure: Rebuild.
|
||||
|
||||
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* Makefile.tpl (EXTRA_GCC_FLAGS): Remove LIBGCC2_CFLAGS,
|
||||
LIBGCC2_DEBUG_CFLAGS, LIBGCC2_INCLUDES.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2011-11-01 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* configure.ac (rl78-*-*) New case.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-11-01 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* config.sub: Update to version 2011-10-29 (added rl78)
|
||||
|
||||
2011-10-27 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config.sub: Import these changes from the config project:
|
||||
|
||||
2011-10-08 Joern Rennecke <joern.rennecke@embecosm.com>
|
||||
Ben Elliston <bje@gnu.org>
|
||||
|
||||
* config.sub (epiphany): New.
|
||||
|
||||
2011-09-09 Linas Vepstas <linasvepstas@gmail.com>
|
||||
Ben Elliston <bje@gnu.org>
|
||||
|
||||
* config.sub (hexagon, hexagon-*): New.
|
||||
|
||||
2011-08-23 Roland McGrath <mcgrathr@google.com>
|
||||
|
||||
* config.sub: Rename 32eb to be32, 32el to le32, 64el to le64, and
|
||||
64eb to be64.
|
||||
|
||||
2011-08-16 Roland McGrath <mcgrathr@google.com>
|
||||
|
||||
* config.sub (32eb, 32el, 64eb, 64el): New (pseudo-)CPUs.
|
||||
(nacl): Grok as alias for 32el-unknown-nacl.
|
||||
|
||||
2011-08-19 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* src-release (GDB_SUPPORT_DIRS): Add 'cpu'.
|
||||
|
||||
2011-08-14 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
Merge from gcc:
|
||||
|
||||
2011-08-14 Yao Qi <yao@codesourcery.com>
|
||||
* configure.ac (tic6x-*-*): Remove gdb from noconfigdirs.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-07-26 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
Merge from gcc:
|
||||
|
||||
2011-07-26 Ian Lance Taylor <iant@google.com>
|
||||
* configure.ac: Set have_compiler based on whether gcc directory
|
||||
exists, rather than on whether gcc is in configdirs.
|
||||
* configure: Rebuild.
|
||||
|
||||
2011-07-20 David Edelsohn <dje.gcc@gmail.com>
|
||||
* Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): Add libsupc++ to
|
||||
link directories.
|
||||
* Makefile.in: Rebuild.
|
||||
|
||||
2011-07-20 Ian Lance Taylor <iant@google.com>
|
||||
PR bootstrap/49787
|
||||
* configure.ac: Move --enable-bootstrap handling earlier in file.
|
||||
If --enable-bootstrap and either --enable-build-with-cxx or
|
||||
--enable-build-poststage1-with-cxx, enable C++ automatically.
|
||||
* configure: Rebuild.
|
||||
|
||||
2011-07-19 Ian Lance Taylor <iant@google.com>
|
||||
* configure.ac: Add --enable-build-poststage1-with-cxx. If set,
|
||||
make C++ a boot_language. Set and substitute
|
||||
POSTSTAGE1_CONFIGURE_FLAGS.
|
||||
* Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): New variable.
|
||||
(STAGE[+id+]_CONFIGURE_FLAGS): Add $(POSTSTAGE1_CONFIGURE_FLAGS).
|
||||
* configure, Makefile.in: Rebuild.
|
||||
|
||||
2011-07-16 Jason Merrill <jason@redhat.com>
|
||||
* Makefile.def (language=c++): Add check-c++0x and
|
||||
check-target-libmudflap-c++.
|
||||
* Makefile.tpl (check-target-libmudflap-c++): New.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2011-07-16 Matthias Klose <doko@ubuntu.com>
|
||||
* Makefile.tpl (EXTRA_CONFIGARGS_LIBJAVA): Define.
|
||||
* Makefile.def (target_modules/libjava): Pass
|
||||
$(EXTRA_CONFIGARGS_LIBJAVA).
|
||||
* configure.ac: Pass --disable-static in EXTRA_CONFIGARGS_LIBJAVA,
|
||||
if not configured with --enable-static-libjava.
|
||||
* Makefile.in: Regenerate.
|
||||
* configure: Likewise.
|
||||
|
||||
2011-06-22 Hans-Peter Nilsson <hp@axis.com>
|
||||
PR regression/47836
|
||||
PR bootstrap/23656
|
||||
PR other/47733
|
||||
PR bootstrap/49247
|
||||
PR c/48825
|
||||
* configure.ac (target_libraries): Remove target-libiberty.
|
||||
Remove case-statement setting skipdirs=target-libiberty for
|
||||
multiple targets. Remove checking target_configdirs and
|
||||
removing target-libiberty but keeping target-libgcc if
|
||||
otherwise empty.
|
||||
* Makefile.def (target_modules): Don't add libiberty.
|
||||
(dependencies): Remove all traces of target-libiberty.
|
||||
* configure, Makefile.in: Regenerate.
|
||||
|
||||
2011-07-22 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* Makefile.def (language=c++): Add check-c++0x and
|
||||
check-target-libmudflap-c++.
|
||||
* Makefile.tpl (check-target-libmudflap-c++): New.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
PR target/39150
|
||||
* configure.ac (i[3456789]86-*-solaris2*): Also accept
|
||||
x86_64-*-solaris2.1[0-9]*.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-06-13 Walter Lee <walt@tilera.com>
|
||||
|
||||
* configure.ac (tilepro-*-*) New case.
|
||||
(tilegx-*-*): Likewise.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-06-06 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config.sub: Sync from upstream.
|
||||
|
||||
2011-05-08 Doug Kwan <dougkwan@google.com>
|
||||
|
||||
Merge from gcc:
|
||||
|
||||
2011-05-08 Doug Kwan <dougkwan@google.com>
|
||||
|
||||
* configure.ac: Propagate LDFLAGS_FOR_TARGET.
|
||||
* configure: Regenerated.
|
||||
* Makefile.tpl (LDFLAGS_FOR_TARGET): Use LDFLAGS_FOR_TARGET
|
||||
value from configure.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2011-05-05 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (alpha*-dec-osf*, i[[3456789]]86-*-rdos*,
|
||||
sh*-*-pe|mips*-*-pe|arm-wince-pe, sparc-*-sunos4*, *-*-aix*,
|
||||
*-*-beos*, *-*-chorusos, *-*-dragonfly*, *-*-freebsd*, *-*-linux*
|
||||
| *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu, *-*-lynxos*,
|
||||
*-*-mingw*, *-*-netbsd*, *-*-netware*, *-*-tpf*, *-*-uclinux*,
|
||||
*-*-vxworks*): Disable newlib and libgloss in separate case
|
||||
statement.
|
||||
(i[[3456789]]86-*-linux*): Move logic allowing newlib to be built
|
||||
to separate case statement.
|
||||
(*-*-chorusos, *-*-dragonfly*, *-*-freebsd*, *-*-netbsd*,
|
||||
*-*-netware*, *-*-tpf*, *-*-uclinux*, *-*-vxworks*,
|
||||
alpha*-dec-osf*, alpha*-*-linux*, am33_2.0-*-linux*, sh-*-linux*,
|
||||
sh*-*-pe|mips*-*-pe|*arm-wince-pe, arm-*-coff, arm-*-elf* |
|
||||
arm*-*-eabi*, arm*-*-linux-gnueabi, arm*-*-symbianelf*, avr-*-*,
|
||||
bfin-*-*, cris-*-* | crisv32-*-*, frv-*-*, i[[3456789]]86-*-coff |
|
||||
i[[3456789]]86-*-elf, i[[3456789]]86-w64-mingw*,
|
||||
i[[3456789]]86-*-mingw*, x86_64-*-mingw*,
|
||||
i[[3456789]]86-*-interix*, i[[3456789]]86-*-beos*,
|
||||
i[[3456789]]86-*-rdos*, m32r-*-*,
|
||||
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*, m68k-*-elf*, m68*-*-*
|
||||
| fido-*-*, powerpc-*-aix*, powerpc-*-beos*, powerpc-*-eabi,
|
||||
powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems*,
|
||||
rs6000-*-lynxos*, rs6000-*-aix*, mips*-*-linux*, sparclet-*-aout*
|
||||
| sparc86x-*-*, sparc-*-elf*, sparc64-*-elf*, sparclite-*-*,
|
||||
sparc-*-sunos4*, sparc-*-solaris* | sparc64-*-solaris* |
|
||||
sparcv9-*-solaris*, *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu |
|
||||
*-*-kopensolaris*-gnu, *-*-lynxos*, *-*-*): Don't disable newlib
|
||||
and libgloss in main case over targets. Remove most empty cases
|
||||
in main case over targets.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-05-04 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac: Remove code setting special library locations for
|
||||
hppa*64*-*-hpux11*. Remove code setting compiler for
|
||||
sparc-sun-solaris2*.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-05-04 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac: Separate libgloss_dir settings from general case
|
||||
over targets.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-04-28 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (*-*-dragonfly*, *-*-freebsd*, *-*-netbsd*,
|
||||
alpha*-dec-osf*, alpha*-*-linux*, alpha*-*-*, sh-*-linux*,
|
||||
arm-*-elf* | arm*-*-eabi*, arm*-*-linux-gnueabi, frv-*-*): Remove
|
||||
cases in libgcj-disabling case statement.
|
||||
(hppa*64*-*-linux*): Set unsupported_languages instead of
|
||||
disabling target-zlib.
|
||||
(hppa*64*-*-*): Restrict case in libgcj-disabling case statement
|
||||
to hppa*64*-*-hpux*.
|
||||
(hppa*-*-*): Restrict case in libgcj-disabling case statement to
|
||||
hppa*-*-hpux*.
|
||||
(ia64*-*-elf*, ia64*-**-hpux*, i[[3456789]]86-*-elf,
|
||||
i[[3456789]]86-*-linux*, *-*-cygwin*, i[[3456789]]86-*-interix*,
|
||||
i[[3456789]]86-*-solaris2*, m32r-*-*, m68k-*-elf*, m68*-*-* |
|
||||
fido-*-*, powerpc-*-eabi, powerpc-*-eabi* | powerpcle-*-eabi* |
|
||||
powerpc-*-rtems*, mips*-*-linux*, mips*-*-*, sh-*-* | sh64-*-*,
|
||||
sparc-*-elf*, sparc64-*-elf*, sparc-*-solaris* |
|
||||
sparc64-*-solaris* | sparcv9-*-solaris*, *-*-linux* | *-*-gnu* |
|
||||
*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu, *-*-*): Remove cases in
|
||||
libgcj-disabling case statement.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-04-28 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac: Disable Java for targets not supporting libffi.
|
||||
(*-*-chorusos, *-*-kaos*, am33_2.0-*-linux*, sh*-*-pe|mips*-*-pe):
|
||||
Remove cases in Java-disabling statement.
|
||||
(*arm-wince-pe): Change to arm-wince-pe.
|
||||
(arc-*-*, arm-*-coff, arm-*-pe*, arm-*-riscix*, avr-*-*): Remove
|
||||
cases in Java-disabling statement.
|
||||
(bfin-*-*): Don't disable Java again.
|
||||
(c4x-*-* | tic4x-*-*, tic54x-*-*, cr16-*-*, d10v-*-*, d30v-*-*,
|
||||
fr30-*-elf*, moxie-*-*, h8300*-*-*, h8500-*-*, hppa1.1-*-osf* |
|
||||
hppa1.1-*-bsd*, hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-openbsd*,
|
||||
hppa*-*-pro*, i960-*-*, i[[3456789]]86-*-coff,
|
||||
i[[3456789]]86-*-pe, i[[3456789]]86-*-sco3.2v5*,
|
||||
i[[3456789]]86-*-sco*, i[[3456789]]86-*-sysv4*,
|
||||
i[[3456789]]86-*-beos*, i[[3456789]]86-*-rdos*,
|
||||
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*): Remove cases in
|
||||
Java-disabling statement.
|
||||
(mmix-*-*): Don't disable Java again.
|
||||
(mt-*-*, powerpc*-*-winnt* | powerpc*-*-pe*, powerpcle-*-solaris*,
|
||||
powerpc-*-beos*, rs6000-*-lynxos*, rs6000-*-*, m68k-apollo-*,
|
||||
microblaze*, mips*-sde-elf*, mips*-*-irix5*, mips*-*-bsd*,
|
||||
sparclet-*-aout* | sparc86x-*-*, sparclite-*-*, sparc-*-sunos4*,
|
||||
tic6x-*-*, v810-*-*, vax-*-*): Remove cases in Java-disabling
|
||||
statement.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-04-28 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
Merge from GCC:
|
||||
|
||||
2011-04-18 Jack Howarth <howarth@bromo.med.uc.edu>
|
||||
|
||||
PR lto/48086
|
||||
* configure.ac: Re-enable LTO on *-apple-darwin9*.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-04-28 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac: Separate cases disabling Java and Java libraries
|
||||
from general case over targets.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-04-06 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (build_tools): Remove build-byacc.
|
||||
(host_libs): Remove mmalloc.
|
||||
(host_tools): Remove byacc make patch prms send-pr ash bash bzip2
|
||||
autoconf automake libtool diff rcs fileutils shellutils time
|
||||
textutils wdiff find uudecode hello tar gzip indent recode release
|
||||
sed perl gawk findutils gettext zip.
|
||||
(libgcj): Remove target-qthreads.
|
||||
(target_tools): Remove target-examples target-gperf.
|
||||
(YACC): Don't handle building byacc.
|
||||
* configure: Regenerate.
|
||||
* Makefile.def (ash, autoconf, automake, bash, byacc, bzip2, diff,
|
||||
dosutils, examples, fileutils, find, findutils, gawk, gettext,
|
||||
gnuserv, gperf, gzip, hello, indent, libtool, make, mmalloc,
|
||||
patch, perl, prms, qthreads, rcs, recode, release, sed, send-pr,
|
||||
shellutils, tar, textutils, time, uudecode, wdiff, zip): Don't
|
||||
handle building components.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2011-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* config.sub: Sync from upstream.
|
||||
|
||||
2011-04-01 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (avr-*-*): Add comment about why libssp is disabled.
|
||||
(microblaze*): Don't disable libssp.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-04-01 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac: Remove code setting CONFIG_SHELL, config_shell and
|
||||
moveifchange.
|
||||
* configure: Regenerate.
|
||||
* Makefile.tpl: Use @SHELL@ not @config_shell@.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2011-04-01 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (*-*-sysv4*): Don't enable libgomp.
|
||||
(alpha*-*-*vms*, i[[34567]]86-*-sco3.2v5*, mn10300-*-*,
|
||||
powerpc-*-chorusos*, powerpc*-*-eabi*, powerpc*-*-sysv*,
|
||||
powerpc*-*-kaos*, s390x-ibm-tpf*, sparc64-*-elf*, v850*-*-*,
|
||||
xtensa*-*-elf*, *-*-beos*, *-*-elf*, *-*-netware*, *-*-rtems*,
|
||||
*-*-sysv[[45]]*, *-*-vxworks*, *-wrs-windiss): Remove
|
||||
md_exec_prefix cases.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-04-01 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac: Separate cases disabling target-libssp,
|
||||
target-libiberty, target-libstdc++-v3 and Fortran from general
|
||||
case over targets.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-04-01 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (*-*-chorusos): Don't disable libgcj.
|
||||
(*-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*):
|
||||
Remove case.
|
||||
(*-*-kaos*): Don't disable GCC libraries, zlib or fastjar.
|
||||
(arm-*-coff): Don't disable libgcj.
|
||||
(arm*-*-linux-gnueabi): Remove useless assignment.
|
||||
(arm-*-riscix*): Don't disable libgcj.
|
||||
(bfin-*-*): Don't enable target-bsp and target-cygmon depending on
|
||||
configuration.
|
||||
(c4x-*-* | tic4x-*-*): Don't disable GCC libraries.
|
||||
(c54x*-*-*): Remove case.
|
||||
(tic54x-*-*): Don't disable GCC or GCC libraries.
|
||||
(cris-*-* | crisv32-*-*): Don't handle *-*-aout. Change *-*-elf
|
||||
to *.
|
||||
(d10v-*-*): Don't disable GCC libraries.
|
||||
(d30v-*-*): Don't disable libgcj.
|
||||
(h8500-*-*): Don't disable GCC libraries.
|
||||
(i960-*-*): Don't disable libgcj.
|
||||
(i[[3456789]]86-*-linux*): Don't handle *-*-*libc1*.
|
||||
(i[[3456789]]86-*-sco3.2v5*, i[[3456789]]86-*-sco*,
|
||||
i[[3456789]]86-*-sysv4*, i[[3456789]]86-*-beos*): Don't disable
|
||||
libgcj.
|
||||
(m68k-*-coff*): Remove case.
|
||||
(mmix-*-*): Don't disable libgloss on host.
|
||||
(mn10200-*-*, mn10300-*-*): Remove cases.
|
||||
(powerpc*-*-winnt* | powerpc*-*-pe*, powerpcle-*-solaris*,
|
||||
powerpc-*-beos*, m68k-apollo-*, mips*-*-irix5*, mips*-*-bsd*):
|
||||
Don't disable libgcj.
|
||||
(romp-*-*): Remove case.
|
||||
(sparclite-*-*, sparc-*-sunos4*): Don't disable libgcj.
|
||||
(sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*): Remove
|
||||
case.
|
||||
(v810-*-*): Don't disable GCC libraries.
|
||||
(v850*-*-*, vax-*-vms, xtensa*-*-*): Remove cases.
|
||||
(ip2k-*-*): Don't disable GCC libraries.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-28 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (i[[3456789]]86-*-msdosdjgpp*): Don't disable
|
||||
libffi on host.
|
||||
(x86_64-*-mingw*, i[[3456789]]86-*-mingw32*): Don't disable newlib
|
||||
on host.
|
||||
(c54x*-*-* | tic54x-*-*): Don't disable newlib on host.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-26 John Marino <binutils@marino.st>
|
||||
|
||||
* configure.ac: Add support for *-*-dragonfly*
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-25 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (native_only): Remove.
|
||||
(i[[3456789]]86-*-msdosdjgpp*): Don't disable expect dejagnu
|
||||
send-pr uudecode guile gnuserv on host.
|
||||
(x86_64-*-mingw*): Don't disable expect dejagnu autoconf automake
|
||||
send-pr rcs guile perl texinfo libtool on host.
|
||||
(i[[3456789]]86-*-mingw32*): Don't disable expect dejagnu autoconf
|
||||
automake send-pr rcs guile perl texinfo libtool on host.
|
||||
(*-*-cygwin*, *-*-netbsd*): Remove host cases.
|
||||
(*-*-kaos*): Don't disable target-examples target-gperf on target.
|
||||
(alpha*-dec-osf*): Don't disable fileutils on target.
|
||||
(sh*-*-pe|mips*-*-pe|*arm-wince-pe): Don't disable target-examples
|
||||
texinfo send-pr expect dejagnu on target.
|
||||
(arm-*-elf* | arm*-*-eabi*, arm*-*-linux-gnueabi): Don't disable
|
||||
target-qthreads on target.
|
||||
(hppa*-hp-hpux11*, hppa*-*-*): Don't disable shellutils on target.
|
||||
(ia64*-*-elf*, ia64*-*-*vms*): Don't disable mmalloc on target.
|
||||
(i[[3456789]]86-w64-mingw*, i[[3456789]]86-*-mingw*,
|
||||
x86_64-*-mingw*): Don't disable expect on target.
|
||||
(*-*-cygwin*): Don't disable target-gperf on target.
|
||||
(powerpc*-*-winnt* | powerpc*-*-pe*): Don't disable make expect
|
||||
gnuserv on target.
|
||||
(powerpcle-*-solaris*): Don't disable make expect gnuserv on
|
||||
target.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-25 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (target_tools): Remove target-groff.
|
||||
(native_only): Remove target-groff.
|
||||
(hppa*64*-*-*): Don't disable byacc.
|
||||
(i[[3456789]]86-*-mingw32*): Remove commented-out noconfigdirs
|
||||
setting.
|
||||
(*-*-kaos*): Don't skip target-librx and target-groff.
|
||||
(*-*-netware*): Don't skip target-libmudflap.
|
||||
(*-*-tpf*): Don't skip target-libmudflap.
|
||||
(sh*-*-pe|mips*-*-pe|*arm-wince-pe): Don't condition configured
|
||||
directories on the host.
|
||||
(ia64*-*-*vms*): Don't skip tix.
|
||||
(sh-*-* | sh64-*-*): Don't condition skipped directories on the
|
||||
host.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-24 Paolo Bonzini <pbonzini@redhat.com>
|
||||
|
||||
* configure.ac: Remove references to mt-mep, mt-netware,
|
||||
mt-wince.
|
||||
* Makefile.def: Add all-utils soft dependencies.
|
||||
* Makefile.tpl: Remove GDB_NLM_DEPS.
|
||||
* configure: Regenerate.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
Sync from GCC:
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure.ac: Do not include mh-x86omitfp.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure.ac: Remove empty cases.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* Makefile.def: Add dependency from termcap to gdb.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure.ac: Remove all mentions of mh-sysv4 and mh-solaris.
|
||||
* configure: Regenerate.
|
||||
* Makefile.def: Remove all mentions of X11_FLAGS_TO_PASS.
|
||||
* Makefile.tpl: Likewise.
|
||||
* Makefile.in: Regenerate.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* configure.ac: Remove all mentions of tentative_cc.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-16 Jack Howarth <howarth@bromo.med.uc.edu>
|
||||
|
||||
PR lto/48086
|
||||
* configure.ac: Re-enable LTO on *-apple-darwin9.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-24 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (i[[3456789]]86-*-vsta, i[[3456789]]86-*-go32*,
|
||||
i[[3456789]]86-*-beos*, powerpc-*-beos*, m68k-hp-hpux*,
|
||||
m68k-apollo-sysv*, m68k-apollo-bsd*, m88k-dg-dgux*,
|
||||
m88k-harris-cxux*, m88k-motorola-sysv*, mips*-dec-ultrix*,
|
||||
mips*-nec-sysv4*, mips*-sgi-irix4*, mips*-*-sysv4*, mips*-*-sysv*,
|
||||
i370-ibm-opened*, i[[3456789]]86-*-sysv5*, i[[3456789]]86-*-dgux*,
|
||||
i[[3456789]]86-ncr-sysv4.3*, i[[3456789]]86-ncr-sysv4*,
|
||||
i[[3456789]]86-*-sco3.2v5*, i[[3456789]]86-*-sco*,
|
||||
i[[3456789]]86-*-udk*, vax-*-ultrix2*, m68k-sun-sunos*,
|
||||
hppa*-*-hiux*, *-*-hiux*, rs6000-*-lynxos*, *-*-sysv4*,
|
||||
*-*-rhapsody*): Remove host cases.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-24 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (ppc*-*-pe): Remove host case.
|
||||
(strongarm-*-coff | xscale-*-coff, strongarm-*-elf* |
|
||||
xscale-*-elf*, thumb-*-coff, thumb-*-elf, thumb-*-pe, ep9312-*-elf
|
||||
| ep9312-*-coff, parisc*64*-*-linux*, ppc*-*-pe): Remove target
|
||||
cases.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-24 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config.sub: Update to version 2011-03-23.
|
||||
|
||||
2011-03-22 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.ac (arm-semi-aof, crx-*-*, parisc*-*-linux*,
|
||||
i370-*-opened*, i[[3456789]]86-moss-msdos | i[[3456789]]86-*-moss*
|
||||
| i[[3456789]]86-*-uwin*, mcore-*-pe*): Remove empty cases.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-22 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config-ml.in: Don't handle arc-*-elf*.
|
||||
* configure.ac (arc-*-*, crx-*-*, i[[3456789]]86-*-pe,
|
||||
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*, mcore-*-pe*): Don't
|
||||
handle GCC libraries.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
PR bootstrap/48120:
|
||||
* configure.ac (pwllib): Use LIBS instead of LDFLAGS.
|
||||
Add -lstdc++ -lm to LIBS.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-03-18 David Edelsohn <dje.gcc@gmail.com>
|
||||
|
||||
* config.guess: Update to version 2011-02-02
|
||||
* config.sub: Update to version 2011-02-24
|
||||
|
||||
2011-03-03 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* configure.ac: Adjust test of with_ppl.
|
||||
* configure: Regenerated.
|
||||
|
||||
2011-03-02 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* configure.ac: Add -lpwl to ppllibs.
|
||||
* config/cloog.m4: Add -lisl to clooglibs.
|
||||
* configure: Regenerated.
|
||||
|
||||
2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
Import from Libtool and gnulib:
|
||||
|
||||
2011-01-27 Gerald Pfeifer <gerald@pfeifer.com>
|
||||
|
||||
Prepare for supporting FreeBSD 10.
|
||||
* config.rpath: Remove handling of freebsd1* which soon would
|
||||
match FreeBSD 10.0.
|
||||
|
||||
2011-01-20 Gerald Pfeifer <gerald@pfeifer.com> (tiny change)
|
||||
|
||||
Remove support for FreeBSD 1.x.
|
||||
* libtool.m4 (_LT_LINKER_SHLIBS)
|
||||
(_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which
|
||||
soon would incorrectly match FreeBSD 10.0.
|
||||
|
||||
2011-02-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
PR binutils/12283
|
||||
* MAINTAINERS (mkinstalldirs): Comes from Automake.
|
||||
(move-if-change): Comes from gnulib.
|
||||
* move-if-change: Import version from gnulib.
|
||||
|
||||
2011-02-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
Sync from GCC:
|
||||
|
||||
2011-02-12 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
PR lto/47225
|
||||
* Makefile.def (lto-plugin): Double dash for enable-shared.
|
||||
(configure-gcc): Depend on all-lto-plugin.
|
||||
* Makefile.in: Rebuilt.
|
||||
|
||||
2011-02-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* configure.ac: Remove extra bracket.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-02-06 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
PR lto/47225
|
||||
* Makefile.def: Add dependency for install-gcc
|
||||
on install-lto-plugin.
|
||||
* Makfile.in: Regenerated
|
||||
|
||||
2011-01-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* configure.ac: If with_ppl is no, move setting with_cloog=no
|
||||
after CLOOG_REQUESTED check.
|
||||
* configure: Regenerated.
|
||||
|
||||
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
|
||||
CLooG has been requested.
|
||||
* configure: Regenerated.
|
||||
|
||||
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
|
||||
|
||||
* configure: Regenerated.
|
||||
* configure.ac: Check for version 0.11 (or later revision) of PPL.
|
||||
|
||||
2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
|
||||
|
||||
* configure: Regenerated.
|
||||
* configure.ac: Use CLOOG_CHECK_VERSION(0,16,1).
|
||||
|
||||
2011-01-07 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR lto/47225
|
||||
* Makefile.in: Regenerate.
|
||||
* Makefile.def (lto-plugin): Always pass enable-shared to the plugin
|
||||
configure.
|
||||
|
||||
2011-01-31 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
PR libgcj/44341
|
||||
* configure.ac: Discard --with-* flags for host when configuring
|
||||
target libraries for cross build.
|
||||
* configure: Rebuilt.
|
||||
|
||||
2011-01-21 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
Sync from GCC:
|
||||
|
||||
2011-01-21 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* configure.ac: Use AS_HELP_STRING throughout.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-01-18 Jie Zhang <jie.zhang@analog.com>
|
||||
|
||||
* configure.ac (bfin-*-*): Remove gdb from noconfigdirs.
|
||||
* configure: Regenerate.
|
||||
|
||||
2010-12-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
* ltmain.sh (relink): Use absolute path when hardcoding with -L.
|
||||
|
||||
2011-01-13 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* configure.ac: Remove readline, mmalloc, and gdb from noconfigdirs
|
||||
for ia64-hpux.
|
||||
* configure: Regenerate.
|
||||
|
||||
2011-01-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
Sync from GCC:
|
||||
2010-12-22 Hariharan Sandanagobalane <hariharan@picochip.com>
|
||||
|
||||
* configure.ac: (picochip): Disable libiberty.
|
||||
* configure: Regenerate.
|
||||
|
||||
2010-12-18 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
* COPYING.LIBGLOSS: Remove the GPL for fr30 target.
|
||||
|
||||
2010-12-10 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
PR bootstrap/46819
|
||||
|
|
|
@ -38,7 +38,7 @@ config.guess; config.sub; readline/support/config.{sub,guess}
|
|||
binutils@sourceware.org
|
||||
gdb-patches@sourceware.org
|
||||
|
||||
depcomp
|
||||
depcomp; mkinstalldirs
|
||||
Send bug reports and patches to bug-automake@gnu.org.
|
||||
|
||||
gdb/; readline/; sim/; GDB's part of include/
|
||||
|
@ -69,12 +69,8 @@ ltconfig; ltmain.sh; ltcf-*.sh
|
|||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge.
|
||||
|
||||
mkinstalldirs; move-if-change
|
||||
autoconf: http://gnu.org
|
||||
Patches to autoconf-patches@gnu.org.
|
||||
Changes need to be done in tandem with the official AUTOCONF
|
||||
sources or submitted to the master file maintainer and brought
|
||||
in via a merge.
|
||||
move-if-change
|
||||
Send bug reports and patches to bug-gnulib@gnu.org.
|
||||
|
||||
symlink-tree
|
||||
gcc: http://gcc.gnu.org
|
||||
|
|
|
@ -4,7 +4,7 @@ AutoGen definitions Makefile.tpl;
|
|||
// Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
|
||||
// This file was originally written by Nathanael Nerode.
|
||||
//
|
||||
// Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
// Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||
// Free Software Foundation
|
||||
//
|
||||
// This file is free software; you can redistribute it and/or modify
|
||||
|
@ -27,39 +27,25 @@ AutoGen definitions Makefile.tpl;
|
|||
|
||||
build_modules= { module= libiberty; };
|
||||
build_modules= { module= bison; };
|
||||
build_modules= { module= byacc; };
|
||||
build_modules= { module= flex; };
|
||||
build_modules= { module= m4; };
|
||||
build_modules= { module= texinfo; };
|
||||
build_modules= { module= fixincludes; };
|
||||
|
||||
host_modules= { module= ash; };
|
||||
host_modules= { module= autoconf; };
|
||||
host_modules= { module= automake; };
|
||||
host_modules= { module= bash; };
|
||||
host_modules= { module= bfd; lib_path=.libs; bootstrap=true; };
|
||||
host_modules= { module= opcodes; lib_path=.libs; bootstrap=true; };
|
||||
host_modules= { module= binutils; bootstrap=true; };
|
||||
host_modules= { module= bison; no_check_cross= true; };
|
||||
host_modules= { module= byacc; no_check_cross= true; };
|
||||
host_modules= { module= bzip2; };
|
||||
host_modules= { module= cgen; };
|
||||
host_modules= { module= dejagnu; };
|
||||
host_modules= { module= diff; };
|
||||
host_modules= { module= dosutils; no_check= true; };
|
||||
host_modules= { module= etc; };
|
||||
host_modules= { module= fastjar; no_check_cross= true; };
|
||||
host_modules= { module= fileutils; };
|
||||
host_modules= { module= findutils; };
|
||||
host_modules= { module= find; };
|
||||
host_modules= { module= fixincludes;
|
||||
missing= TAGS; };
|
||||
host_modules= { module= flex; no_check_cross= true; };
|
||||
host_modules= { module= gas; bootstrap=true; };
|
||||
host_modules= { module= gcc; bootstrap=true;
|
||||
extra_make_flags="$(EXTRA_GCC_FLAGS)"; };
|
||||
host_modules= { module= gawk; };
|
||||
host_modules= { module= gettext; };
|
||||
host_modules= { module= gmp; lib_path=.libs; bootstrap=true;
|
||||
extra_configure_flags='--disable-shared';
|
||||
no_install= true;
|
||||
|
@ -86,12 +72,8 @@ host_modules= { module= cloog; lib_path=.libs; bootstrap=true;
|
|||
host_modules= { module= libelf; lib_path=.libs; bootstrap=true;
|
||||
extra_configure_flags='--disable-shared';
|
||||
no_install= true; };
|
||||
host_modules= { module= gnuserv; };
|
||||
host_modules= { module= gold; bootstrap=true; };
|
||||
host_modules= { module= gprof; };
|
||||
host_modules= { module= gzip; };
|
||||
host_modules= { module= hello; };
|
||||
host_modules= { module= indent; };
|
||||
host_modules= { module= intl; bootstrap=true; };
|
||||
host_modules= { module= tcl;
|
||||
missing=mostlyclean; };
|
||||
|
@ -110,34 +92,16 @@ host_modules= { module= libiconv;
|
|||
missing= install-pdf;
|
||||
missing= install-html;
|
||||
missing= install-info; };
|
||||
host_modules= { module= libtool; };
|
||||
host_modules= { module= m4; };
|
||||
host_modules= { module= make; };
|
||||
host_modules= { module= mmalloc; no_check=true; };
|
||||
host_modules= { module= patch; };
|
||||
host_modules= { module= perl; };
|
||||
host_modules= { module= prms; };
|
||||
host_modules= { module= rcs; };
|
||||
host_modules= { module= readline; };
|
||||
host_modules= { module= release; no_install= true; no_check= true; };
|
||||
host_modules= { module= recode; };
|
||||
host_modules= { module= sed; };
|
||||
host_modules= { module= send-pr; };
|
||||
host_modules= { module= shellutils; };
|
||||
host_modules= { module= sid; };
|
||||
host_modules= { module= sim; };
|
||||
host_modules= { module= tar; };
|
||||
host_modules= { module= texinfo; no_install= true; };
|
||||
host_modules= { module= textutils; };
|
||||
host_modules= { module= time; };
|
||||
host_modules= { module= uudecode; };
|
||||
host_modules= { module= wdiff; };
|
||||
host_modules= { module= zip; no_check_cross=true; };
|
||||
host_modules= { module= zlib; no_install=true; no_check=true; bootstrap=true; };
|
||||
host_modules= { module= gdb; extra_make_flags="$(X11_FLAGS_TO_PASS)"; };
|
||||
host_modules= { module= expect; extra_make_flags="$(X11_FLAGS_TO_PASS)"; };
|
||||
host_modules= { module= guile; extra_make_flags="$(X11_FLAGS_TO_PASS)"; };
|
||||
host_modules= { module= tk; extra_make_flags="$(X11_FLAGS_TO_PASS)"; };
|
||||
host_modules= { module= gdb; };
|
||||
host_modules= { module= expect; };
|
||||
host_modules= { module= guile; };
|
||||
host_modules= { module= tk; };
|
||||
host_modules= { module= libtermcap; no_check=true;
|
||||
missing=mostlyclean;
|
||||
missing=clean;
|
||||
|
@ -145,7 +109,8 @@ host_modules= { module= libtermcap; no_check=true;
|
|||
missing=maintainer-clean; };
|
||||
host_modules= { module= utils; no_check=true; };
|
||||
host_modules= { module= gnattools; };
|
||||
host_modules= { module= lto-plugin; bootstrap=true; };
|
||||
host_modules= { module= lto-plugin; bootstrap=true;
|
||||
extra_configure_flags=--enable-shared; };
|
||||
|
||||
target_modules = { module= libstdc++-v3;
|
||||
bootstrap=true;
|
||||
|
@ -166,14 +131,11 @@ target_modules = { module= libtermcap; no_check=true;
|
|||
missing=maintainer-clean; };
|
||||
target_modules = { module= winsup; };
|
||||
target_modules = { module= libgloss; no_check=true; };
|
||||
target_modules = { module= libiberty; };
|
||||
target_modules = { module= gperf; };
|
||||
target_modules = { module= examples; no_check=true; no_install=true; };
|
||||
target_modules = { module= libffi; };
|
||||
target_modules = { module= libjava; raw_cxx=true; };
|
||||
target_modules = { module= libjava; raw_cxx=true;
|
||||
extra_configure_flags="$(EXTRA_CONFIGARGS_LIBJAVA)"; };
|
||||
target_modules = { module= zlib; };
|
||||
target_modules = { module= boehm-gc; };
|
||||
target_modules = { module= qthreads; };
|
||||
target_modules = { module= rda; };
|
||||
target_modules = { module= libada; };
|
||||
target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
|
||||
|
@ -297,6 +259,7 @@ flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; };
|
|||
flags_to_pass = { flag= NM_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= OBJDUMP_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= RANLIB_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= READELF_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= STRIP_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
|
||||
flags_to_pass = { flag= WINDMC_FOR_TARGET ; };
|
||||
|
@ -310,10 +273,8 @@ flags_to_pass = { flag= LEAN ; };
|
|||
|
||||
// Build modules
|
||||
dependencies = { module=all-build-bison; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-byacc; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-flex; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-flex; on=all-build-bison; };
|
||||
dependencies = { module=all-build-flex; on=all-build-byacc; };
|
||||
dependencies = { module=all-build-flex; on=all-build-m4; };
|
||||
dependencies = { module=all-build-libiberty; on=all-build-texinfo; };
|
||||
dependencies = { module=all-build-m4; on=all-build-texinfo; };
|
||||
|
@ -321,6 +282,7 @@ dependencies = { module=all-build-fixincludes; on=all-build-libiberty; };
|
|||
|
||||
// Host modules specific to gcc.
|
||||
dependencies = { module=configure-gcc; on=configure-intl; };
|
||||
dependencies = { module=configure-gcc; on=all-lto-plugin; };
|
||||
dependencies = { module=configure-gcc; on=all-binutils; };
|
||||
dependencies = { module=configure-gcc; on=all-gas; };
|
||||
dependencies = { module=configure-gcc; on=all-ld; };
|
||||
|
@ -335,7 +297,6 @@ dependencies = { module=all-gcc; on=all-ppl; };
|
|||
dependencies = { module=all-gcc; on=all-cloog; };
|
||||
dependencies = { module=all-gcc; on=all-build-texinfo; };
|
||||
dependencies = { module=all-gcc; on=all-build-bison; };
|
||||
dependencies = { module=all-gcc; on=all-build-byacc; };
|
||||
dependencies = { module=all-gcc; on=all-build-flex; };
|
||||
dependencies = { module=all-gcc; on=all-build-libiberty; };
|
||||
dependencies = { module=all-gcc; on=all-build-fixincludes; };
|
||||
|
@ -344,11 +305,13 @@ dependencies = { module=all-gcc; on=all-libcpp; hard=true; };
|
|||
dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; };
|
||||
dependencies = { module=all-gcc; on=all-libiberty; };
|
||||
dependencies = { module=all-gcc; on=all-fixincludes; };
|
||||
dependencies = { module=all-gcc; on=all-lto-plugin; };
|
||||
dependencies = { module=info-gcc; on=all-build-libiberty; };
|
||||
dependencies = { module=dvi-gcc; on=all-build-libiberty; };
|
||||
dependencies = { module=pdf-gcc; on=all-build-libiberty; };
|
||||
dependencies = { module=html-gcc; on=all-build-libiberty; };
|
||||
dependencies = { module=install-gcc ; on=install-fixincludes; };
|
||||
dependencies = { module=install-gcc ; on=install-lto-plugin; };
|
||||
dependencies = { module=install-strip-gcc ; on=install-strip-fixincludes; };
|
||||
|
||||
dependencies = { module=configure-libcpp; on=configure-libiberty; hard=true; };
|
||||
|
@ -360,7 +323,9 @@ dependencies = { module=all-fixincludes; on=all-libiberty; };
|
|||
|
||||
dependencies = { module=all-gnattools; on=all-target-libada; };
|
||||
|
||||
dependencies = { module=all-lto-plugin; on=all-gcc; };
|
||||
dependencies = { module=all-lto-plugin; on=all-libiberty; };
|
||||
|
||||
dependencies = { module=all-utils; on=all-libiberty; };
|
||||
|
||||
dependencies = { module=configure-mpfr; on=all-gmp; };
|
||||
dependencies = { module=configure-mpc; on=all-mpfr; };
|
||||
|
@ -380,9 +345,9 @@ dependencies = { module=all-gdb; on=all-libiconv; };
|
|||
dependencies = { module=all-gdb; on=all-opcodes; };
|
||||
dependencies = { module=all-gdb; on=all-readline; };
|
||||
dependencies = { module=all-gdb; on=all-build-bison; };
|
||||
dependencies = { module=all-gdb; on=all-build-byacc; };
|
||||
dependencies = { module=all-gdb; on=all-sim; };
|
||||
dependencies = { module=all-gdb; on=all-libdecnumber; };
|
||||
dependencies = { module=all-gdb; on=all-libtermcap; };
|
||||
|
||||
dependencies = { module=configure-libgui; on=configure-tcl; };
|
||||
dependencies = { module=configure-libgui; on=configure-tk; };
|
||||
|
@ -404,7 +369,6 @@ dependencies = { module=all-binutils; on=all-opcodes; };
|
|||
dependencies = { module=all-binutils; on=all-bfd; };
|
||||
dependencies = { module=all-binutils; on=all-build-flex; };
|
||||
dependencies = { module=all-binutils; on=all-build-bison; };
|
||||
dependencies = { module=all-binutils; on=all-build-byacc; };
|
||||
dependencies = { module=all-binutils; on=all-intl; };
|
||||
|
||||
// We put install-opcodes before install-binutils because the installed
|
||||
|
@ -432,7 +396,6 @@ dependencies = { module=all-ld; on=all-libiberty; };
|
|||
dependencies = { module=all-ld; on=all-bfd; };
|
||||
dependencies = { module=all-ld; on=all-opcodes; };
|
||||
dependencies = { module=all-ld; on=all-build-bison; };
|
||||
dependencies = { module=all-ld; on=all-build-byacc; };
|
||||
dependencies = { module=all-ld; on=all-build-flex; };
|
||||
dependencies = { module=all-ld; on=all-intl; };
|
||||
dependencies = { module=install-ld; on=install-gold; };
|
||||
|
@ -442,7 +405,6 @@ dependencies = { module=all-gold; on=all-libiberty; };
|
|||
dependencies = { module=all-gold; on=all-intl; };
|
||||
dependencies = { module=all-gold; on=all-bfd; };
|
||||
dependencies = { module=all-gold; on=all-build-bison; };
|
||||
dependencies = { module=all-gold; on=all-build-byacc; };
|
||||
dependencies = { module=check-gold; on=all-binutils; };
|
||||
dependencies = { module=check-gold; on=all-gas; };
|
||||
|
||||
|
@ -496,44 +458,18 @@ dependencies = { module=all-fastjar; on=all-build-texinfo; };
|
|||
dependencies = { module=all-fastjar; on=all-libiberty; };
|
||||
|
||||
// Warning, these are not well tested.
|
||||
dependencies = { module=all-autoconf; on=all-m4; };
|
||||
dependencies = { module=all-autoconf; on=all-build-texinfo; };
|
||||
dependencies = { module=all-automake; on=all-m4; };
|
||||
dependencies = { module=all-automake; on=all-build-texinfo; };
|
||||
dependencies = { module=all-automake; on=all-autoconf; };
|
||||
dependencies = { module=all-bison; on=all-intl; };
|
||||
dependencies = { module=all-bison; on=all-build-texinfo; };
|
||||
dependencies = { module=all-diff; on=all-intl; };
|
||||
dependencies = { module=all-diff; on=all-build-texinfo; };
|
||||
dependencies = { module=all-fileutils; on=all-intl; };
|
||||
dependencies = { module=all-fileutils; on=all-build-texinfo; };
|
||||
dependencies = { module=all-flex; on=all-build-bison; };
|
||||
dependencies = { module=all-flex; on=all-build-byacc; };
|
||||
dependencies = { module=all-flex; on=all-intl; };
|
||||
dependencies = { module=all-flex; on=all-m4; };
|
||||
dependencies = { module=all-flex; on=all-build-texinfo; };
|
||||
dependencies = { module=all-gzip; on=all-intl; };
|
||||
dependencies = { module=all-gzip; on=all-zlib; };
|
||||
dependencies = { module=all-gzip; on=all-build-texinfo; };
|
||||
dependencies = { module=all-hello; on=all-intl; };
|
||||
dependencies = { module=all-hello; on=all-build-texinfo; };
|
||||
dependencies = { module=all-m4; on=all-intl; };
|
||||
dependencies = { module=all-m4; on=all-build-texinfo; };
|
||||
dependencies = { module=all-make; on=all-intl; };
|
||||
dependencies = { module=all-make; on=all-build-texinfo; };
|
||||
dependencies = { module=all-patch; on=all-build-texinfo; };
|
||||
dependencies = { module=all-make; on=all-build-texinfo; };
|
||||
dependencies = { module=all-prms; on=all-libiberty; };
|
||||
dependencies = { module=all-recode; on=all-build-texinfo; };
|
||||
dependencies = { module=all-sed; on=all-build-texinfo; };
|
||||
dependencies = { module=all-send-pr; on=all-prms; };
|
||||
dependencies = { module=all-tar; on=all-build-texinfo; };
|
||||
dependencies = { module=all-uudecode; on=all-build-texinfo; };
|
||||
|
||||
// Target modules. These can also have dependencies on the language
|
||||
// environment (e.g. on libstdc++). By default target modules depend
|
||||
// on libgcc and newlib/libgloss.
|
||||
lang_env_dependencies = { module=gperf; cxx=true; };
|
||||
lang_env_dependencies = { module=libjava; cxx=true; };
|
||||
lang_env_dependencies = { module=newlib; no_c=true; };
|
||||
lang_env_dependencies = { module=libgloss; no_c=true; };
|
||||
|
@ -543,27 +479,21 @@ lang_env_dependencies = { module=libgcc; no_gcc=true; no_c=true; };
|
|||
// a dependency on libgcc for native targets to configure.
|
||||
lang_env_dependencies = { module=libiberty; no_c=true; };
|
||||
|
||||
dependencies = { module=configure-target-boehm-gc; on=configure-target-qthreads; };
|
||||
dependencies = { module=configure-target-boehm-gc; on=all-target-libstdc++-v3; };
|
||||
dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
|
||||
dependencies = { module=all-target-fastjar; on=all-target-zlib; };
|
||||
dependencies = { module=all-target-fastjar; on=all-target-libiberty; };
|
||||
dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
|
||||
dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
|
||||
dependencies = { module=all-target-libgo; on=all-target-libffi; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-zlib; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-boehm-gc; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-qthreads; };
|
||||
dependencies = { module=configure-target-libjava; on=configure-target-libffi; };
|
||||
dependencies = { module=all-target-libjava; on=all-fastjar; };
|
||||
dependencies = { module=all-target-libjava; on=all-target-zlib; };
|
||||
dependencies = { module=all-target-libjava; on=all-target-boehm-gc; };
|
||||
dependencies = { module=all-target-libjava; on=all-target-qthreads; };
|
||||
dependencies = { module=all-target-libjava; on=all-target-libffi; };
|
||||
dependencies = { module=configure-target-libobjc; on=configure-target-boehm-gc; };
|
||||
dependencies = { module=all-target-libobjc; on=all-target-libiberty; };
|
||||
dependencies = { module=all-target-libobjc; on=all-target-boehm-gc; };
|
||||
dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; };
|
||||
dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
|
||||
// parallel_list.o and parallel_settings.o depend on omp.h, which is
|
||||
// generated by the libgomp configure. Unfortunately, due to the use of
|
||||
|
@ -571,24 +501,20 @@ dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgo
|
|||
dependencies = { module=all-target-libstdc++-v3; on=configure-target-libgomp; };
|
||||
|
||||
// Target modules in the 'src' repository.
|
||||
lang_env_dependencies = { module=examples; };
|
||||
lang_env_dependencies = { module=libtermcap; };
|
||||
lang_env_dependencies = { module=rda; };
|
||||
lang_env_dependencies = { module=winsup; };
|
||||
lang_env_dependencies = { module=qthreads; };
|
||||
|
||||
dependencies = { module=all-target-libgloss; on=all-target-newlib; };
|
||||
dependencies = { module=all-target-winsup; on=all-target-libiberty; };
|
||||
dependencies = { module=all-target-winsup; on=all-target-libtermcap; };
|
||||
dependencies = { module=configure-target-libiberty; on=all-binutils; };
|
||||
dependencies = { module=configure-target-libiberty; on=all-ld; };
|
||||
dependencies = { module=configure-target-newlib; on=all-binutils; };
|
||||
dependencies = { module=configure-target-newlib; on=all-ld; };
|
||||
dependencies = { module=configure-target-libgfortran; on=all-target-libquadmath; };
|
||||
|
||||
languages = { language=c; gcc-check-target=check-gcc; };
|
||||
languages = { language=c++; gcc-check-target=check-c++;
|
||||
lib-check-target=check-target-libstdc++-v3; };
|
||||
languages = { language=c++; gcc-check-target="check-c++ check-c++0x";
|
||||
lib-check-target=check-target-libstdc++-v3;
|
||||
lib-check-target=check-target-libmudflap-c++; };
|
||||
languages = { language=fortran; gcc-check-target=check-fortran;
|
||||
lib-check-target=check-target-libquadmath;
|
||||
lib-check-target=check-target-libgfortran; };
|
||||
|
|
18348
newlib/src/Makefile.in
18348
newlib/src/Makefile.in
File diff suppressed because it is too large
Load diff
|
@ -6,7 +6,7 @@ in
|
|||
#
|
||||
# Makefile for directory with subdirs to build.
|
||||
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||
# Free Software Foundation
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
|
@ -103,8 +103,6 @@ TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@
|
|||
tooldir = @tooldir@
|
||||
build_tooldir = @build_tooldir@
|
||||
|
||||
GDB_NLM_DEPS =
|
||||
|
||||
# This is the name of the environment variable used for the path to
|
||||
# the libraries.
|
||||
RPATH_ENVVAR = @RPATH_ENVVAR@
|
||||
|
@ -211,6 +209,7 @@ HOST_EXPORTS = \
|
|||
WINDMC="$(WINDMC)"; export WINDMC; \
|
||||
OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
|
||||
OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
|
||||
READELF="$(READELF)"; export READELF; \
|
||||
AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \
|
||||
AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \
|
||||
GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \
|
||||
|
@ -218,6 +217,7 @@ HOST_EXPORTS = \
|
|||
NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
|
||||
OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \
|
||||
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
|
||||
READELF_FOR_TARGET="$(READELF_FOR_TARGET)"; export READELF_FOR_TARGET; \
|
||||
TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
|
||||
HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
|
||||
GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
|
||||
|
@ -242,10 +242,13 @@ POSTSTAGE1_CXX_EXPORT = \
|
|||
CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \
|
||||
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \
|
||||
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
|
||||
-B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
|
||||
-I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
|
||||
-I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
|
||||
-I$$s/libstdc++-v3/libsupc++ \
|
||||
-L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \
|
||||
-L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
|
||||
-L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \
|
||||
export CXX; \
|
||||
CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD;
|
||||
@endif target-libstdc++-v3-bootstrap
|
||||
|
||||
|
@ -287,6 +290,7 @@ BASE_TARGET_EXPORTS = \
|
|||
NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \
|
||||
OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \
|
||||
RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
|
||||
READELF="$(READELF_FOR_TARGET)"; export READELF; \
|
||||
STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
|
||||
WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
|
||||
WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
|
||||
|
@ -321,11 +325,13 @@ HOST_CLOOGINC = @clooginc@
|
|||
HOST_LIBELFLIBS = @libelflibs@
|
||||
HOST_LIBELFINC = @libelfinc@
|
||||
|
||||
EXTRA_CONFIGARGS_LIBJAVA = @EXTRA_CONFIGARGS_LIBJAVA@
|
||||
|
||||
# ----------------------------------------------
|
||||
# Programs producing files for the BUILD machine
|
||||
# ----------------------------------------------
|
||||
|
||||
SHELL = @config_shell@
|
||||
SHELL = @SHELL@
|
||||
|
||||
# pwd command to use. Allow user to override default by setting PWDCMD in
|
||||
# the environment to account for automounters. The make variable must not
|
||||
|
@ -397,6 +403,7 @@ LIPO = @LIPO@
|
|||
NM = @NM@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
RANLIB = @RANLIB@
|
||||
READELF = @READELF@
|
||||
STRIP = @STRIP@
|
||||
WINDRES = @WINDRES@
|
||||
WINDMC = @WINDMC@
|
||||
|
@ -418,6 +425,7 @@ TFLAGS =
|
|||
STAGE_CFLAGS = $(BOOT_CFLAGS)
|
||||
STAGE_TFLAGS = $(TFLAGS)
|
||||
STAGE_CONFIGURE_FLAGS=@stage2_werror_flag@
|
||||
POSTSTAGE1_CONFIGURE_FLAGS = @POSTSTAGE1_CONFIGURE_FLAGS@
|
||||
|
||||
[+ FOR bootstrap-stage +]
|
||||
# Defaults for stage [+id+]; some are overridden below.
|
||||
|
@ -428,7 +436,10 @@ STAGE[+id+]_CXXFLAGS = $(CXXFLAGS)
|
|||
STAGE[+id+]_CXXFLAGS = $(STAGE[+id+]_CFLAGS)
|
||||
@endif target-libstdc++-v3-bootstrap
|
||||
STAGE[+id+]_TFLAGS = $(STAGE_TFLAGS)
|
||||
STAGE[+id+]_CONFIGURE_FLAGS = $(STAGE_CONFIGURE_FLAGS)
|
||||
# STAGE1_CONFIGURE_FLAGS overridden below, so we can use
|
||||
# POSTSTAGE1_CONFIGURE_FLAGS here.
|
||||
STAGE[+id+]_CONFIGURE_FLAGS = \
|
||||
$(STAGE_CONFIGURE_FLAGS) $(POSTSTAGE1_CONFIGURE_FLAGS)
|
||||
[+ ENDFOR bootstrap-stage +]
|
||||
|
||||
# Only build the C compiler for stage1, because that is the only one that
|
||||
|
@ -446,6 +457,9 @@ STAGE1_LANGUAGES = @stage1_languages@
|
|||
# the last argument when conflicting --enable arguments are passed.
|
||||
# * Likewise, we force-disable coverage flags, since the installed
|
||||
# compiler probably has never heard of them.
|
||||
# * Don't remove this, because above we added
|
||||
# POSTSTAGE1_CONFIGURE_FLAGS to STAGE[+id+]_CONFIGURE_FLAGS, which
|
||||
# we don't want for STAGE1_CONFIGURE_FLAGS.
|
||||
STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
|
||||
--disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"
|
||||
|
||||
|
@ -483,6 +497,7 @@ LIPO_FOR_TARGET=@LIPO_FOR_TARGET@
|
|||
NM_FOR_TARGET=@NM_FOR_TARGET@
|
||||
OBJDUMP_FOR_TARGET=@OBJDUMP_FOR_TARGET@
|
||||
RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
|
||||
READELF_FOR_TARGET=@READELF_FOR_TARGET@
|
||||
STRIP_FOR_TARGET=@STRIP_FOR_TARGET@
|
||||
WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@
|
||||
WINDMC_FOR_TARGET=@WINDMC_FOR_TARGET@
|
||||
|
@ -496,7 +511,7 @@ CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
|
|||
|
||||
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
|
||||
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
|
||||
LDFLAGS_FOR_TARGET =
|
||||
LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
|
||||
GOCFLAGS_FOR_TARGET = -O2 -g
|
||||
|
||||
FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
|
||||
|
@ -602,24 +617,13 @@ EXTRA_HOST_FLAGS = \
|
|||
'NM=$(NM)' \
|
||||
'OBJDUMP=$(OBJDUMP)' \
|
||||
'RANLIB=$(RANLIB)' \
|
||||
'READELF=$(READELF)' \
|
||||
'STRIP=$(STRIP)' \
|
||||
'WINDRES=$(WINDRES)' \
|
||||
'WINDMC=$(WINDMC)'
|
||||
|
||||
FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
|
||||
|
||||
# Flags that are concerned with the location of the X11 include files
|
||||
# and library files
|
||||
#
|
||||
# NOTE: until the top-level is getting the values via autoconf, it only
|
||||
# causes problems to have this top-level Makefile overriding the autoconf-set
|
||||
# values in child directories. Only variables that don't conflict with
|
||||
# autoconf'ed ones should be passed by X11_FLAGS_TO_PASS for now.
|
||||
#
|
||||
X11_FLAGS_TO_PASS = \
|
||||
'X11_EXTRA_CFLAGS=$(X11_EXTRA_CFLAGS)' \
|
||||
'X11_EXTRA_LIBS=$(X11_EXTRA_LIBS)'
|
||||
|
||||
# Flags to pass to stage2 and later makes.
|
||||
|
||||
POSTSTAGE1_FLAGS_TO_PASS = \
|
||||
|
@ -654,6 +658,7 @@ EXTRA_TARGET_FLAGS = \
|
|||
'NM=$(COMPILER_NM_FOR_TARGET)' \
|
||||
'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
|
||||
'RANLIB=$$(RANLIB_FOR_TARGET)' \
|
||||
'READELF=$$(READELF_FOR_TARGET)' \
|
||||
'WINDRES=$$(WINDRES_FOR_TARGET)' \
|
||||
'WINDMC=$$(WINDMC_FOR_TARGET)' \
|
||||
'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
|
||||
|
@ -670,10 +675,7 @@ TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
|
|||
EXTRA_GCC_FLAGS = \
|
||||
"GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \
|
||||
"`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
|
||||
"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
|
||||
"`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
|
||||
"`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
|
||||
"`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
|
||||
"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
|
||||
|
||||
GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
|
||||
|
||||
|
@ -1405,6 +1407,13 @@ ENDIF raw_cxx +]
|
|||
[+ ENDFOR recursive_targets +]
|
||||
[+ ENDFOR target_modules +]
|
||||
|
||||
@if target-libmudflap
|
||||
.PHONY: check-target-libmudflap-c++
|
||||
check-target-libmudflap-c++:
|
||||
$(MAKE) RUNTESTFLAGS="$(RUNTESTFLAGS) c++frags.exp" check-target-libmudflap
|
||||
|
||||
@endif target-libmudflap
|
||||
|
||||
# ----------
|
||||
# GCC module
|
||||
# ----------
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# wanting multilib support.
|
||||
#
|
||||
# Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
# 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
|
||||
# 2005, 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
@ -224,19 +224,6 @@ done
|
|||
# $host here, not $target.
|
||||
|
||||
case "${host}" in
|
||||
arc-*-elf*)
|
||||
if [ x$enable_biendian != xyes ]
|
||||
then
|
||||
old_multidirs=${multidirs}
|
||||
multidirs=""
|
||||
for x in ${old_multidirs}; do
|
||||
case "${x}" in
|
||||
*be*) : ;;
|
||||
*) multidirs="${multidirs} ${x}" ;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
;;
|
||||
arm-*-*)
|
||||
if [ x"$enable_fpu" = xno ]
|
||||
then
|
||||
|
|
223
newlib/src/config.guess
vendored
223
newlib/src/config.guess
vendored
|
@ -1,10 +1,10 @@
|
|||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||
# Free Software Foundation, Inc.
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
# 2011 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2010-04-03'
|
||||
timestamp='2011-06-03'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
|
@ -57,7 +57,7 @@ GNU config.guess ($timestamp)
|
|||
|
||||
Originally written by Per Bothner.
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
|
||||
Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
|
@ -92,7 +92,7 @@ if test $# != 0; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
trap 'exit 1' HUP INT TERM
|
||||
trap 'exit 1' 1 2 15
|
||||
|
||||
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
|
||||
# compiler to aid in system detection is discouraged as it requires
|
||||
|
@ -106,7 +106,7 @@ trap 'exit 1' HUP INT TERM
|
|||
|
||||
set_cc_for_build='
|
||||
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
|
||||
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
|
||||
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
|
||||
: ${TMPDIR=/tmp} ;
|
||||
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
|
||||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
|
||||
|
@ -181,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
fi
|
||||
;;
|
||||
*)
|
||||
os=netbsd
|
||||
os=netbsd
|
||||
;;
|
||||
esac
|
||||
# The OS release
|
||||
|
@ -224,7 +224,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
||||
;;
|
||||
*5.*)
|
||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
|
||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
|
||||
;;
|
||||
esac
|
||||
# According to Compaq, /usr/sbin/psrinfo has been available on
|
||||
|
@ -270,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
# A Xn.n version is an unreleased experimental baselevel.
|
||||
# 1.2 uses "1.2" for uname -r.
|
||||
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
exit ;;
|
||||
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
|
||||
exitcode=$?
|
||||
trap '' 0
|
||||
exit $exitcode ;;
|
||||
Alpha\ *:Windows_NT*:*)
|
||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
||||
# Should we change UNAME_MACHINE based on the output of uname instead
|
||||
|
@ -296,7 +299,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
echo s390-ibm-zvmoe
|
||||
exit ;;
|
||||
*:OS400:*:*)
|
||||
echo powerpc-ibm-os400
|
||||
echo powerpc-ibm-os400
|
||||
exit ;;
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
|
@ -395,23 +398,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||
# MiNT. But MiNT is downward compatible to TOS, so this should
|
||||
# be no problem.
|
||||
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
exit ;;
|
||||
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
echo m68k-atari-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
|
||||
echo m68k-milan-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
echo m68k-milan-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
|
||||
echo m68k-hades-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
echo m68k-hades-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
|
||||
echo m68k-unknown-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
echo m68k-unknown-mint${UNAME_RELEASE}
|
||||
exit ;;
|
||||
m68k:machten:*:*)
|
||||
echo m68k-apple-machten${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
@ -481,8 +484,8 @@ EOF
|
|||
echo m88k-motorola-sysv3
|
||||
exit ;;
|
||||
AViiON:dgux:*:*)
|
||||
# DG/UX returns AViiON for all architectures
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
# DG/UX returns AViiON for all architectures
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
|
||||
then
|
||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
|
||||
|
@ -495,7 +498,7 @@ EOF
|
|||
else
|
||||
echo i586-dg-dgux${UNAME_RELEASE}
|
||||
fi
|
||||
exit ;;
|
||||
exit ;;
|
||||
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
||||
echo m88k-dolphin-sysv3
|
||||
exit ;;
|
||||
|
@ -552,7 +555,7 @@ EOF
|
|||
echo rs6000-ibm-aix3.2
|
||||
fi
|
||||
exit ;;
|
||||
*:AIX:*:[456])
|
||||
*:AIX:*:[4567])
|
||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
|
||||
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
|
||||
IBM_ARCH=rs6000
|
||||
|
@ -595,52 +598,52 @@ EOF
|
|||
9000/[678][0-9][0-9])
|
||||
if [ -x /usr/bin/getconf ]; then
|
||||
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
||||
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||
case "${sc_cpu_version}" in
|
||||
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
||||
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
||||
532) # CPU_PA_RISC2_0
|
||||
case "${sc_kernel_bits}" in
|
||||
32) HP_ARCH="hppa2.0n" ;;
|
||||
64) HP_ARCH="hppa2.0w" ;;
|
||||
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||
case "${sc_cpu_version}" in
|
||||
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
||||
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
||||
532) # CPU_PA_RISC2_0
|
||||
case "${sc_kernel_bits}" in
|
||||
32) HP_ARCH="hppa2.0n" ;;
|
||||
64) HP_ARCH="hppa2.0w" ;;
|
||||
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
|
||||
esac ;;
|
||||
esac
|
||||
esac ;;
|
||||
esac
|
||||
fi
|
||||
if [ "${HP_ARCH}" = "" ]; then
|
||||
eval $set_cc_for_build
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
sed 's/^ //' << EOF >$dummy.c
|
||||
|
||||
#define _HPUX_SOURCE
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#define _HPUX_SOURCE
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main ()
|
||||
{
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
long bits = sysconf(_SC_KERNEL_BITS);
|
||||
#endif
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
int main ()
|
||||
{
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
long bits = sysconf(_SC_KERNEL_BITS);
|
||||
#endif
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
|
||||
case CPU_PA_RISC2_0:
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
switch (bits)
|
||||
{
|
||||
case 64: puts ("hppa2.0w"); break;
|
||||
case 32: puts ("hppa2.0n"); break;
|
||||
default: puts ("hppa2.0"); break;
|
||||
} break;
|
||||
#else /* !defined(_SC_KERNEL_BITS) */
|
||||
puts ("hppa2.0"); break;
|
||||
#endif
|
||||
default: puts ("hppa1.0"); break;
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
|
||||
case CPU_PA_RISC2_0:
|
||||
#if defined(_SC_KERNEL_BITS)
|
||||
switch (bits)
|
||||
{
|
||||
case 64: puts ("hppa2.0w"); break;
|
||||
case 32: puts ("hppa2.0n"); break;
|
||||
default: puts ("hppa2.0"); break;
|
||||
} break;
|
||||
#else /* !defined(_SC_KERNEL_BITS) */
|
||||
puts ("hppa2.0"); break;
|
||||
#endif
|
||||
default: puts ("hppa1.0"); break;
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
EOF
|
||||
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
|
||||
test -z "$HP_ARCH" && HP_ARCH=hppa
|
||||
|
@ -731,22 +734,22 @@ EOF
|
|||
exit ;;
|
||||
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||
echo c1-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit ;;
|
||||
exit ;;
|
||||
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||
echo c34-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||
echo c38-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||
echo c4-convex-bsd
|
||||
exit ;;
|
||||
exit ;;
|
||||
CRAY*Y-MP:*:*:*)
|
||||
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||
exit ;;
|
||||
|
@ -770,14 +773,14 @@ EOF
|
|||
exit ;;
|
||||
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
||||
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
5000:UNIX_System_V:4.*:*)
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
||||
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
||||
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||
exit ;;
|
||||
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||
|
@ -805,14 +808,14 @@ EOF
|
|||
echo ${UNAME_MACHINE}-pc-mingw32
|
||||
exit ;;
|
||||
i*:windows32*:*)
|
||||
# uname -m includes "-pc" on this system.
|
||||
echo ${UNAME_MACHINE}-mingw32
|
||||
# uname -m includes "-pc" on this system.
|
||||
echo ${UNAME_MACHINE}-mingw32
|
||||
exit ;;
|
||||
i*:PW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-pw32
|
||||
exit ;;
|
||||
*:Interix*:*)
|
||||
case ${UNAME_MACHINE} in
|
||||
case ${UNAME_MACHINE} in
|
||||
x86)
|
||||
echo i586-pc-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
@ -867,7 +870,7 @@ EOF
|
|||
EV6) UNAME_MACHINE=alphaev6 ;;
|
||||
EV67) UNAME_MACHINE=alphaev67 ;;
|
||||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||
esac
|
||||
esac
|
||||
objdump --private-headers /bin/sh | grep -q ld.so.1
|
||||
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
||||
|
@ -879,7 +882,13 @@ EOF
|
|||
then
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
|
||||
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||
| grep -q __ARM_PCS_VFP
|
||||
then
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
|
||||
fi
|
||||
fi
|
||||
exit ;;
|
||||
avr32*:Linux:*:*)
|
||||
|
@ -892,7 +901,7 @@ EOF
|
|||
echo crisv32-axis-linux-gnu
|
||||
exit ;;
|
||||
frv:Linux:*:*)
|
||||
echo frv-unknown-linux-gnu
|
||||
echo frv-unknown-linux-gnu
|
||||
exit ;;
|
||||
i*86:Linux:*:*)
|
||||
LIBC=gnu
|
||||
|
@ -960,7 +969,7 @@ EOF
|
|||
echo ${UNAME_MACHINE}-ibm-linux
|
||||
exit ;;
|
||||
sh64*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
sh*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
|
@ -968,6 +977,9 @@ EOF
|
|||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
tile*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
vax:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-dec-linux-gnu
|
||||
exit ;;
|
||||
|
@ -975,7 +987,7 @@ EOF
|
|||
echo x86_64-unknown-linux-gnu
|
||||
exit ;;
|
||||
xtensa*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||
exit ;;
|
||||
i*86:DYNIX/ptx:4*:*)
|
||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
||||
|
@ -984,11 +996,11 @@ EOF
|
|||
echo i386-sequent-sysv4
|
||||
exit ;;
|
||||
i*86:UNIX_SV:4.2MP:2.*)
|
||||
# Unixware is an offshoot of SVR4, but it has its own version
|
||||
# number series starting with 2...
|
||||
# I am not positive that other SVR4 systems won't match this,
|
||||
# Unixware is an offshoot of SVR4, but it has its own version
|
||||
# number series starting with 2...
|
||||
# I am not positive that other SVR4 systems won't match this,
|
||||
# I just have to hope. -- rms.
|
||||
# Use sysv4.2uw... so that sysv4* matches it.
|
||||
# Use sysv4.2uw... so that sysv4* matches it.
|
||||
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
||||
exit ;;
|
||||
i*86:OS/2:*:*)
|
||||
|
@ -1020,7 +1032,7 @@ EOF
|
|||
fi
|
||||
exit ;;
|
||||
i*86:*:5:[678]*)
|
||||
# UnixWare 7.x, OpenUNIX and OpenServer 6.
|
||||
# UnixWare 7.x, OpenUNIX and OpenServer 6.
|
||||
case `/bin/uname -X | grep "^Machine"` in
|
||||
*486*) UNAME_MACHINE=i486 ;;
|
||||
*Pentium) UNAME_MACHINE=i586 ;;
|
||||
|
@ -1048,13 +1060,13 @@ EOF
|
|||
exit ;;
|
||||
pc:*:*:*)
|
||||
# Left here for compatibility:
|
||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||
# the processor, so we play safe by assuming i586.
|
||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||
# the processor, so we play safe by assuming i586.
|
||||
# Note: whatever this is, it MUST be the same as what config.sub
|
||||
# prints for the "djgpp" host, or else GDB configury will decide that
|
||||
# this is a cross-build.
|
||||
echo i586-pc-msdosdjgpp
|
||||
exit ;;
|
||||
exit ;;
|
||||
Intel:Mach:3*:*)
|
||||
echo i386-pc-mach3
|
||||
exit ;;
|
||||
|
@ -1089,8 +1101,8 @@ EOF
|
|||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
|
||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& { echo i486-ncr-sysv4; exit; } ;;
|
||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& { echo i486-ncr-sysv4; exit; } ;;
|
||||
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
|
||||
OS_REL='.3'
|
||||
test -r /etc/.relid \
|
||||
|
@ -1133,10 +1145,10 @@ EOF
|
|||
echo ns32k-sni-sysv
|
||||
fi
|
||||
exit ;;
|
||||
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
echo i586-unisys-sysv4
|
||||
exit ;;
|
||||
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
echo i586-unisys-sysv4
|
||||
exit ;;
|
||||
*:UNIX_System_V:4*:FTX*)
|
||||
# From Gerald Hewes <hewes@openmarket.com>.
|
||||
# How about differentiating between stratus architectures? -djm
|
||||
|
@ -1162,11 +1174,11 @@ EOF
|
|||
exit ;;
|
||||
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
|
||||
if [ -d /usr/nec ]; then
|
||||
echo mips-nec-sysv${UNAME_RELEASE}
|
||||
echo mips-nec-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit ;;
|
||||
exit ;;
|
||||
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
|
||||
echo powerpc-be-beos
|
||||
exit ;;
|
||||
|
@ -1231,6 +1243,9 @@ EOF
|
|||
*:QNX:*:4*)
|
||||
echo i386-pc-qnx
|
||||
exit ;;
|
||||
NEO-?:NONSTOP_KERNEL:*:*)
|
||||
echo neo-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
NSE-?:NONSTOP_KERNEL:*:*)
|
||||
echo nse-tandem-nsk${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
@ -1276,13 +1291,13 @@ EOF
|
|||
echo pdp10-unknown-its
|
||||
exit ;;
|
||||
SEI:*:*:SEIUX)
|
||||
echo mips-sei-seiux${UNAME_RELEASE}
|
||||
echo mips-sei-seiux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:DragonFly:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||
exit ;;
|
||||
*:*VMS:*:*)
|
||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||
case "${UNAME_MACHINE}" in
|
||||
A*) echo alpha-dec-vms ; exit ;;
|
||||
I*) echo ia64-dec-vms ; exit ;;
|
||||
|
@ -1322,11 +1337,11 @@ main ()
|
|||
#include <sys/param.h>
|
||||
printf ("m68k-sony-newsos%s\n",
|
||||
#ifdef NEWSOS4
|
||||
"4"
|
||||
"4"
|
||||
#else
|
||||
""
|
||||
""
|
||||
#endif
|
||||
); exit (0);
|
||||
); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -284,9 +284,6 @@ else
|
|||
dgux*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
freebsd1*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
freebsd2.2*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
|
@ -448,8 +445,6 @@ case "$host_os" in
|
|||
;;
|
||||
dgux*)
|
||||
;;
|
||||
freebsd1*)
|
||||
;;
|
||||
freebsd*)
|
||||
;;
|
||||
gnu*)
|
||||
|
|
132
newlib/src/config.sub
vendored
132
newlib/src/config.sub
vendored
|
@ -1,10 +1,10 @@
|
|||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||
# Free Software Foundation, Inc.
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
# 2011 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2010-05-21'
|
||||
timestamp='2011-10-29'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
|
@ -76,7 +76,7 @@ version="\
|
|||
GNU config.sub ($timestamp)
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
|
||||
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
|
||||
Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
|
@ -158,8 +158,8 @@ case $os in
|
|||
os=
|
||||
basic_machine=$1
|
||||
;;
|
||||
-bluegene*)
|
||||
os=-cnk
|
||||
-bluegene*)
|
||||
os=-cnk
|
||||
;;
|
||||
-sim | -cisco | -oki | -wec | -winbond)
|
||||
os=
|
||||
|
@ -175,10 +175,10 @@ case $os in
|
|||
os=-chorusos
|
||||
basic_machine=$1
|
||||
;;
|
||||
-chorusrdb)
|
||||
os=-chorusrdb
|
||||
-chorusrdb)
|
||||
os=-chorusrdb
|
||||
basic_machine=$1
|
||||
;;
|
||||
;;
|
||||
-hiux*)
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
|
@ -251,13 +251,17 @@ case $basic_machine in
|
|||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||
| am33_2.0 \
|
||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
||||
| be32 | be64 \
|
||||
| bfin \
|
||||
| c4x | clipper \
|
||||
| d10v | d30v | dlx | dsp16xx \
|
||||
| epiphany \
|
||||
| fido | fr30 | frv \
|
||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| hexagon \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| le32 | le64 \
|
||||
| lm32 \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
| maxq | mb | microblaze | mcore | mep | metag \
|
||||
|
@ -283,24 +287,26 @@ case $basic_machine in
|
|||
| moxie \
|
||||
| mt \
|
||||
| msp430 \
|
||||
| nds32 | nds32le | nds32be \
|
||||
| nios | nios2 \
|
||||
| ns16k | ns32k \
|
||||
| open8 \
|
||||
| or32 \
|
||||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||
| pyramid \
|
||||
| rx \
|
||||
| rl78 | rx \
|
||||
| score \
|
||||
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh64 | sh64le \
|
||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||
| spu | strongarm \
|
||||
| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
|
||||
| spu \
|
||||
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
|
||||
| ubicom32 \
|
||||
| v850 | v850e \
|
||||
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
||||
| we32k \
|
||||
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||
| x86 | xc16x | xstormy16 | xtensa \
|
||||
| z8k | z80)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
|
@ -324,6 +330,18 @@ case $basic_machine in
|
|||
basic_machine=mt-unknown
|
||||
;;
|
||||
|
||||
strongarm | thumb | xscale)
|
||||
basic_machine=arm-unknown
|
||||
;;
|
||||
|
||||
xscaleeb)
|
||||
basic_machine=armeb-unknown
|
||||
;;
|
||||
|
||||
xscaleel)
|
||||
basic_machine=armel-unknown
|
||||
;;
|
||||
|
||||
# We use `pc' rather than `unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
# (2) the word "unknown" tends to confuse beginning users.
|
||||
|
@ -343,6 +361,7 @@ case $basic_machine in
|
|||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||
| avr-* | avr32-* \
|
||||
| be32-* | be64-* \
|
||||
| bfin-* | bs2000-* \
|
||||
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
||||
| clipper-* | craynv-* | cydra-* \
|
||||
|
@ -351,8 +370,10 @@ case $basic_machine in
|
|||
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||
| h8300-* | h8500-* \
|
||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| hexagon-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| ip2k-* | iq2000-* \
|
||||
| le32-* | le64-* \
|
||||
| lm32-* \
|
||||
| m32c-* | m32r-* | m32rle-* \
|
||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||
|
@ -378,26 +399,29 @@ case $basic_machine in
|
|||
| mmix-* \
|
||||
| mt-* \
|
||||
| msp430-* \
|
||||
| nds32-* | nds32le-* | nds32be-* \
|
||||
| nios-* | nios2-* \
|
||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||
| open8-* \
|
||||
| orion-* \
|
||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
||||
| pyramid-* \
|
||||
| romp-* | rs6000-* | rx-* \
|
||||
| rl78-* | romp-* | rs6000-* | rx-* \
|
||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||
| sparclite-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
||||
| tahoe-* | thumb-* \
|
||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
|
||||
| tahoe-* \
|
||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||
| tile-* | tilegx-* \
|
||||
| tile*-* \
|
||||
| tron-* \
|
||||
| ubicom32-* \
|
||||
| v850-* | v850e-* | vax-* \
|
||||
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
||||
| vax-* \
|
||||
| we32k-* \
|
||||
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
||||
| xstormy16-* | xtensa*-* \
|
||||
| ymp-* \
|
||||
| z8k-* | z80-*)
|
||||
|
@ -422,7 +446,7 @@ case $basic_machine in
|
|||
basic_machine=a29k-amd
|
||||
os=-udi
|
||||
;;
|
||||
abacus)
|
||||
abacus)
|
||||
basic_machine=abacus-unknown
|
||||
;;
|
||||
adobe68k)
|
||||
|
@ -505,7 +529,7 @@ case $basic_machine in
|
|||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
cegcc)
|
||||
cegcc)
|
||||
basic_machine=arm-unknown
|
||||
os=-cegcc
|
||||
;;
|
||||
|
@ -537,7 +561,7 @@ case $basic_machine in
|
|||
basic_machine=craynv-cray
|
||||
os=-unicosmp
|
||||
;;
|
||||
cr16)
|
||||
cr16 | cr16-*)
|
||||
basic_machine=cr16-unknown
|
||||
os=-elf
|
||||
;;
|
||||
|
@ -753,7 +777,7 @@ case $basic_machine in
|
|||
basic_machine=ns32k-utek
|
||||
os=-sysv
|
||||
;;
|
||||
microblaze)
|
||||
microblaze)
|
||||
basic_machine=microblaze-xilinx
|
||||
;;
|
||||
mingw32)
|
||||
|
@ -796,6 +820,10 @@ case $basic_machine in
|
|||
basic_machine=i370-ibm
|
||||
os=-mvs
|
||||
;;
|
||||
nacl)
|
||||
basic_machine=le32-unknown
|
||||
os=-nacl
|
||||
;;
|
||||
ncr3000)
|
||||
basic_machine=i486-ncr
|
||||
os=-sysv4
|
||||
|
@ -860,6 +888,12 @@ case $basic_machine in
|
|||
np1)
|
||||
basic_machine=np1-gould
|
||||
;;
|
||||
neo-tandem)
|
||||
basic_machine=neo-tandem
|
||||
;;
|
||||
nse-tandem)
|
||||
basic_machine=nse-tandem
|
||||
;;
|
||||
nsr-tandem)
|
||||
basic_machine=nsr-tandem
|
||||
;;
|
||||
|
@ -942,9 +976,10 @@ case $basic_machine in
|
|||
;;
|
||||
power) basic_machine=power-ibm
|
||||
;;
|
||||
ppc) basic_machine=powerpc-unknown
|
||||
ppc | ppcbe) basic_machine=powerpc-unknown
|
||||
;;
|
||||
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
ppc-* | ppcbe-*)
|
||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||
basic_machine=powerpcle-unknown
|
||||
|
@ -1038,6 +1073,9 @@ case $basic_machine in
|
|||
basic_machine=i860-stratus
|
||||
os=-sysv4
|
||||
;;
|
||||
strongarm-* | thumb-*)
|
||||
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
sun2)
|
||||
basic_machine=m68000-sun
|
||||
;;
|
||||
|
@ -1094,13 +1132,8 @@ case $basic_machine in
|
|||
basic_machine=t90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
# This must be matched before tile*.
|
||||
tilegx*)
|
||||
basic_machine=tilegx-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
tile*)
|
||||
basic_machine=tile-unknown
|
||||
basic_machine=$basic_machine-unknown
|
||||
os=-linux-gnu
|
||||
;;
|
||||
tx39)
|
||||
|
@ -1170,6 +1203,9 @@ case $basic_machine in
|
|||
xps | xps100)
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
xscale-* | xscalee[bl]-*)
|
||||
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
|
||||
;;
|
||||
ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
|
@ -1267,11 +1303,11 @@ esac
|
|||
if [ x"$os" != x"" ]
|
||||
then
|
||||
case $os in
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# -solaris* is a basic system type, with this one exception.
|
||||
-auroraux)
|
||||
os=-auroraux
|
||||
-auroraux)
|
||||
os=-auroraux
|
||||
;;
|
||||
-solaris1 | -solaris1.*)
|
||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||
|
@ -1356,7 +1392,7 @@ case $os in
|
|||
-opened*)
|
||||
os=-openedition
|
||||
;;
|
||||
-os400*)
|
||||
-os400*)
|
||||
os=-os400
|
||||
;;
|
||||
-wince*)
|
||||
|
@ -1405,7 +1441,7 @@ case $os in
|
|||
-sinix*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-tpf*)
|
||||
-tpf*)
|
||||
os=-tpf
|
||||
;;
|
||||
-triton*)
|
||||
|
@ -1450,8 +1486,8 @@ case $os in
|
|||
-dicos*)
|
||||
os=-dicos
|
||||
;;
|
||||
-nacl*)
|
||||
;;
|
||||
-nacl*)
|
||||
;;
|
||||
-none)
|
||||
;;
|
||||
*)
|
||||
|
@ -1474,10 +1510,10 @@ else
|
|||
# system, and we'll never get to this point.
|
||||
|
||||
case $basic_machine in
|
||||
score-*)
|
||||
score-*)
|
||||
os=-elf
|
||||
;;
|
||||
spu-*)
|
||||
spu-*)
|
||||
os=-elf
|
||||
;;
|
||||
*-acorn)
|
||||
|
@ -1489,8 +1525,8 @@ case $basic_machine in
|
|||
arm*-semi)
|
||||
os=-aout
|
||||
;;
|
||||
c4x-* | tic4x-*)
|
||||
os=-coff
|
||||
c4x-* | tic4x-*)
|
||||
os=-coff
|
||||
;;
|
||||
tic54x-*)
|
||||
os=-coff
|
||||
|
@ -1526,7 +1562,7 @@ case $basic_machine in
|
|||
m68*-cisco)
|
||||
os=-aout
|
||||
;;
|
||||
mep-*)
|
||||
mep-*)
|
||||
os=-elf
|
||||
;;
|
||||
mips*-cisco)
|
||||
|
@ -1553,7 +1589,7 @@ case $basic_machine in
|
|||
*-ibm)
|
||||
os=-aix
|
||||
;;
|
||||
*-knuth)
|
||||
*-knuth)
|
||||
os=-mmixware
|
||||
;;
|
||||
*-wec)
|
||||
|
|
|
@ -1,3 +1,73 @@
|
|||
2011-12-19 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
* warnings.m4 (ACX_PROG_CC_WARNING_OPTS)
|
||||
(ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Run the test without the
|
||||
no- prefix.
|
||||
|
||||
2011-12-18 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* acx.m4 (Test for GNAT): Update comment and add quotes in final test.
|
||||
|
||||
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove.
|
||||
|
||||
2011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* picflag.m4: New file.
|
||||
|
||||
2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* elf.m4 (target_elf): Remove *-netware*.
|
||||
|
||||
2011-04-20 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* bootstrap-lto.mk: Remove obsolete requirement.
|
||||
|
||||
2011-03-24 Paolo Bonzini <pbonzini@redhat.com>
|
||||
|
||||
* mt-mep: Remove, obsolete.
|
||||
* mt-netware: Remove, obsolete.
|
||||
* mt-wince: Remove, obsolete.
|
||||
* mt-v810: Remove, unused.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* mh-x86omitfp: Remove.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* mh-cygwin: Remove obsolete variables and dependencies.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* mh-sysv4: Remove.
|
||||
* mh-solaris: Remove.
|
||||
|
||||
2011-03-24 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* mh-sysv4: Remove AR_CFLAGS.
|
||||
|
||||
2011-03-24 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* mh-cxux, mh-decstation, mh-dgux386, mh-lynxrs6k, mh-ncr3000,
|
||||
mh-necv4, mh-sco, mh-sysv5: Remove.
|
||||
|
||||
2011-03-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
Eric Blake <eblake@redhat.com>
|
||||
|
||||
* override.m4: Error out if a buggy M4 was detected, to
|
||||
avoid spurious diffs in generated files.
|
||||
|
||||
2011-01-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* cloog.m4 (CLOOG_REQUESTED): Use $2 if --without-cloog.
|
||||
|
||||
2011-01-10 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* bootstrap-lto.mk: -fuse-linker-plugin is default now;
|
||||
pass -fno-lto to STAGEprofile.
|
||||
|
||||
2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
@ -99,8 +169,8 @@
|
|||
2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
|
||||
|
||||
PR bootstrap/43170
|
||||
* tls.m4 (GCC_CHECK_TLS): Add volatile qualifier to the test
|
||||
references. Move the main () test reference ahead of
|
||||
* tls.m4 (GCC_CHECK_TLS): Add volatile qualifier to the test
|
||||
references. Move the main () test reference ahead of
|
||||
pthread_create(). Add a comment to explain the requirements
|
||||
of the test.
|
||||
|
||||
|
@ -382,7 +452,7 @@
|
|||
|
||||
PR bootstrap/32009
|
||||
* mh-ppc-darwin (BOOT_CFLAGS): Reenable.
|
||||
|
||||
|
||||
2008-01-08 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* futex.m4: New file.
|
||||
|
@ -456,7 +526,7 @@
|
|||
|
||||
* acx.m4 (ACX_CHECK_INSTALLED_TARGET_TOOL): Fixup logic for cross
|
||||
builds.
|
||||
|
||||
|
||||
2007-06-20 Mike Stump <mrs@apple.com>
|
||||
|
||||
* acx.m4 (NCN_STRICT_CHECK_TARGET_TOOLS): Fix incremental builds.
|
||||
|
@ -481,7 +551,7 @@
|
|||
|
||||
2007-04-11 Kai Tietz <kai.tietz@onevision.com>
|
||||
|
||||
* stdint.m4: Make template compatible with older cygwin
|
||||
* stdint.m4: Make template compatible with older cygwin
|
||||
types.h, wrapping each type in a __XXX_t_defined #ifdef.
|
||||
|
||||
2007-03-26 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
@ -585,7 +655,8 @@
|
|||
2006-07-25 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR build/26188
|
||||
* stdint.m4: Test for uintptr_t even on systems with uint64_t or uint32_t.
|
||||
* stdint.m4: Test for uintptr_t even on systems with uint64_t
|
||||
or uint32_t.
|
||||
|
||||
2006-07-21 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
|
|
|
@ -356,9 +356,9 @@ m4_define([AC_CHECK_HEADER],m4_defn([_AC_CHECK_HEADER_OLD]))
|
|||
ac_c_preproc_warn_flag=yes])# AC_PROG_CPP_WERROR
|
||||
|
||||
# Test for GNAT.
|
||||
# We require the gnatbind program, and a compiler driver that
|
||||
# understands Ada. We use the user's CC setting, already found,
|
||||
# and possibly add $1 to the command-line parameters.
|
||||
# We require the gnatbind & gnatmake programs, as well as a compiler driver
|
||||
# that understands Ada. We use the user's CC setting, already found, and
|
||||
# possibly add $1 to the command-line parameters.
|
||||
#
|
||||
# Sets the shell variable have_gnat to yes or no as appropriate, and
|
||||
# substitutes GNATBIND and GNATMAKE.
|
||||
|
@ -387,7 +387,7 @@ if test x"$errors" = x && test -f conftest.$ac_objext; then
|
|||
fi
|
||||
rm -f conftest.*])
|
||||
|
||||
if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
|
||||
if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
|
||||
have_gnat=yes
|
||||
else
|
||||
have_gnat=no
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# This option enables LTO for stage2 and stage3. It requires lto to
|
||||
# be enabled for stage1 with --enable-stage1-languages.
|
||||
# This option enables LTO for stage2 and stage3.
|
||||
|
||||
STAGE2_CFLAGS += -flto=jobserver -fuse-linker-plugin -frandom-seed=1
|
||||
STAGE3_CFLAGS += -flto=jobserver -fuse-linker-plugin -frandom-seed=1
|
||||
STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1
|
||||
STAGE3_CFLAGS += -flto=jobserver -frandom-seed=1
|
||||
STAGEprofile_CFLAGS += -fno-lto
|
||||
|
|
|
@ -88,7 +88,9 @@ AC_DEFUN([CLOOG_REQUESTED],
|
|||
[
|
||||
AC_REQUIRE([CLOOG_INIT_FLAGS])
|
||||
|
||||
if test "x${with_cloog}" != x \
|
||||
if test "x${with_cloog}" = xno; then
|
||||
$2
|
||||
elif test "x${with_cloog}" != x \
|
||||
|| test "x${with_cloog_include}" != x \
|
||||
|| test "x${with_cloog_lib}" != x ; then
|
||||
$1
|
||||
|
@ -177,7 +179,7 @@ AC_DEFUN([CLOOG_FIND_FLAGS],
|
|||
;;
|
||||
"ISL")
|
||||
clooginc="${clooginc} ${_cloogorginc}"
|
||||
clooglibs="${clooglibs} -lcloog-isl"
|
||||
clooglibs="${clooglibs} -lcloog-isl -lisl"
|
||||
cloog_org=yes
|
||||
;;
|
||||
"PPL")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
dnl Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2010, 2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software, distributed under the terms of the GNU
|
||||
dnl General Public License. As a special exception to the GNU General
|
||||
dnl Public License, this file may be distributed as part of a program
|
||||
|
@ -14,7 +14,7 @@ AC_REQUIRE([AC_CANONICAL_TARGET])
|
|||
target_elf=no
|
||||
case $target in
|
||||
*-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \
|
||||
*-msdosdjgpp* | *-netware* | *-vms* | *-wince* | *-*-pe* | \
|
||||
*-msdosdjgpp* | *-vms* | *-wince* | *-*-pe* | \
|
||||
alpha*-dec-osf* | *-interix* | hppa[[12]]*-*-hpux*)
|
||||
target_elf=no
|
||||
;;
|
||||
|
|
|
@ -1,11 +1,4 @@
|
|||
EXTRA_TARGET_HOST_ALL_MODULES=maybe-all-libtermcap
|
||||
EXTRA_TARGET_HOST_INSTALL_MODULES=maybe-install-libtermcap
|
||||
|
||||
# Increase stack limit to a figure based on the Linux default, with 4MB added
|
||||
# as GCC turns out to need that much more to pass all the limits-* tests.
|
||||
LDFLAGS += -Wl,--stack,12582912
|
||||
BOOT_LDFLAGS += -Wl,--stack,12582912
|
||||
|
||||
all-gdb: maybe-all-libtermcap
|
||||
|
||||
install-gdb: maybe-all-libtermcap
|
||||
|
|
|
@ -1,7 +1,2 @@
|
|||
# The shell may not be in /bin.
|
||||
SHELL = sh
|
||||
|
||||
# We also need to override LIBGCC2_DEBUG_CFLAGS so libgcc2 will be
|
||||
# built without debugging information
|
||||
|
||||
LIBGCC2_DEBUG_CFLAGS=
|
||||
|
|
|
@ -48,6 +48,12 @@ _GCC_AUTOCONF_VERSION_CHECK
|
|||
])
|
||||
|
||||
|
||||
dnl Ensure we do not use a buggy M4.
|
||||
m4_if(m4_index([..wi.d.], [.d.]), [-1],
|
||||
[m4_fatal(m4_do([m4 with buggy strstr detected. Please install
|
||||
GNU M4 1.4.16 or newer and set the M4 environment variable]))])
|
||||
|
||||
|
||||
dnl Fix 2.64 cross compile detection for AVR and RTEMS
|
||||
dnl by not trying to compile fopen.
|
||||
m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.64],
|
||||
|
|
95
newlib/src/config/picflag.m4
Normal file
95
newlib/src/config/picflag.m4
Normal file
|
@ -0,0 +1,95 @@
|
|||
# _GCC_PICFLAG(FLAG, DISPATCH)
|
||||
# ----------------------------
|
||||
# Store PIC flag corresponding to DISPATCH triplet in FLAG.
|
||||
# Explit use of -fpic in CFLAGS corresponding to FLAG overrides default.
|
||||
AC_DEFUN([_GCC_PICFLAG], [
|
||||
|
||||
case "${$2}" in
|
||||
# PIC is the default on some targets or must not be used.
|
||||
*-*-darwin*)
|
||||
# PIC is the default on this platform
|
||||
# Common symbols not allowed in MH_DYLIB files
|
||||
$1=-fno-common
|
||||
;;
|
||||
alpha*-dec-osf5*)
|
||||
# PIC is the default.
|
||||
;;
|
||||
hppa*64*-*-hpux*)
|
||||
# PIC is the default for 64-bit PA HP-UX.
|
||||
;;
|
||||
i[[34567]]86-*-cygwin* | i[[34567]]86-*-mingw* | x86_64-*-mingw*)
|
||||
;;
|
||||
i[[34567]]86-*-interix3*)
|
||||
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
|
||||
# Instead, we relocate shared libraries at runtime.
|
||||
;;
|
||||
i[[34567]]86-*-nto-qnx*)
|
||||
# QNX uses GNU C++, but need to define -shared option too, otherwise
|
||||
# it will coredump.
|
||||
$1='-fPIC -shared'
|
||||
;;
|
||||
i[[34567]]86-pc-msdosdjgpp*)
|
||||
# DJGPP does not support shared libraries at all.
|
||||
;;
|
||||
ia64*-*-hpux*)
|
||||
# On IA64 HP-UX, PIC is the default but the pic flag
|
||||
# sets the default TLS model and affects inlining.
|
||||
$1=-fPIC
|
||||
;;
|
||||
mips-sgi-irix6*)
|
||||
# PIC is the default.
|
||||
;;
|
||||
rs6000-ibm-aix* | powerpc-ibm-aix*)
|
||||
# All AIX code is PIC.
|
||||
;;
|
||||
|
||||
# Some targets support both -fPIC and -fpic, but prefer the latter.
|
||||
# FIXME: Why?
|
||||
i[[34567]]86-*-* | x86_64-*-*)
|
||||
$1=-fpic
|
||||
;;
|
||||
m68k-*-*)
|
||||
$1=-fpic
|
||||
;;
|
||||
s390*-*-*)
|
||||
$1=-fpic
|
||||
;;
|
||||
# FIXME: Override -fPIC default in libgcc only?
|
||||
sh-*-linux* | sh[[2346lbe]]*-*-linux*)
|
||||
$1=-fpic
|
||||
;;
|
||||
# FIXME: Simplify to sh*-*-netbsd*?
|
||||
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
|
||||
sh64-*-netbsd* | sh64l*-*-netbsd*)
|
||||
$1=-fpic
|
||||
;;
|
||||
# Default to -fPIC unless specified otherwise.
|
||||
*)
|
||||
$1=-fPIC
|
||||
;;
|
||||
esac
|
||||
|
||||
# If the user explicitly uses -fpic/-fPIC, keep that.
|
||||
case "${m4_bpatsubsts($1, PICFLAG, CFLAGS)}" in
|
||||
*-fpic*)
|
||||
$1=-fpic
|
||||
;;
|
||||
*-fPIC*)
|
||||
$1=-fPIC
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
# GCC_PICFLAG
|
||||
# -----------
|
||||
# Store host PIC flag in PICFLAG.
|
||||
AC_DEFUN([GCC_PICFLAG], [
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
_GCC_PICFLAG([PICFLAG], [host])])
|
||||
|
||||
# GCC_PICFLAG_FOR_TARGET
|
||||
# ----------------------
|
||||
# Store target PIC flag in PICFLAG_FOR_TARGET.
|
||||
AC_DEFUN([GCC_PICFLAG_FOR_TARGET], [
|
||||
AC_REQUIRE([AC_CANONICAL_TARGET])
|
||||
_GCC_PICFLAG([PICFLAG_FOR_TARGET], [target])])
|
|
@ -1,6 +1,6 @@
|
|||
# Autoconf include file defining macros related to compile-time warnings.
|
||||
|
||||
# Copyright 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
# Copyright 2004, 2005, 2007, 2009, 2011 Free Software Foundation, Inc.
|
||||
|
||||
#This file is part of GCC.
|
||||
|
||||
|
@ -28,7 +28,13 @@ AC_SUBST(acx_Var)dnl
|
|||
m4_expand_once([acx_Var=
|
||||
],m4_quote(acx_Var=))dnl
|
||||
save_CFLAGS="$CFLAGS"
|
||||
for option in $1; do
|
||||
for real_option in $1; do
|
||||
# Do the check with the no- prefix removed since gcc silently
|
||||
# accepts any -Wno-* option on purpose
|
||||
case $real_option in
|
||||
-Wno-*) option=-W`expr $real_option : '-Wno-\(.*\)'` ;;
|
||||
*) option=$real_option ;;
|
||||
esac
|
||||
AS_VAR_PUSHDEF([acx_Woption], [acx_cv_prog_cc_warning_$option])
|
||||
AC_CACHE_CHECK([whether $CC supports $option], acx_Woption,
|
||||
[CFLAGS="$option"
|
||||
|
@ -37,14 +43,14 @@ for option in $1; do
|
|||
[AS_VAR_SET(acx_Woption, no)])
|
||||
])
|
||||
AS_IF([test AS_VAR_GET(acx_Woption) = yes],
|
||||
[acx_Var="$acx_Var${acx_Var:+ }$option"])
|
||||
[acx_Var="$acx_Var${acx_Var:+ }$real_option"])
|
||||
AS_VAR_POPDEF([acx_Woption])dnl
|
||||
done
|
||||
CFLAGS="$save_CFLAGS"
|
||||
m4_popdef([acx_Var])dnl
|
||||
])# ACX_PROG_CC_WARNING_OPTS
|
||||
|
||||
# ACX_PROG_CC_WARNING_ALMOST_PEDANTIC(WARNINGS, [VARIABLE = WARN_PEDANTIC)
|
||||
# ACX_PROG_CC_WARNING_ALMOST_PEDANTIC(WARNINGS, [VARIABLE = WARN_PEDANTIC])
|
||||
# Append to VARIABLE "-pedantic" + the argument, if the compiler is GCC
|
||||
# and accepts all of those options simultaneously, otherwise to nothing.
|
||||
AC_DEFUN([ACX_PROG_CC_WARNING_ALMOST_PEDANTIC],
|
||||
|
@ -53,11 +59,14 @@ m4_pushdef([acx_Var], [m4_default([$2], [WARN_PEDANTIC])])dnl
|
|||
AC_SUBST(acx_Var)dnl
|
||||
m4_expand_once([acx_Var=
|
||||
],m4_quote(acx_Var=))dnl
|
||||
AS_VAR_PUSHDEF([acx_Pedantic], [acx_cv_prog_cc_pedantic_$1])dnl
|
||||
# Do the check with the no- prefix removed from the warning options
|
||||
# since gcc silently accepts any -Wno-* option on purpose
|
||||
m4_pushdef([acx_Woptions], [m4_bpatsubst([$1], [-Wno-], [-W])])dnl
|
||||
AS_VAR_PUSHDEF([acx_Pedantic], [acx_cv_prog_cc_pedantic_]acx_Woptions)dnl
|
||||
AS_IF([test "$GCC" = yes],
|
||||
[AC_CACHE_CHECK([whether $CC supports -pedantic $1], acx_Pedantic,
|
||||
[AC_CACHE_CHECK([whether $CC supports -pedantic ]acx_Woptions, acx_Pedantic,
|
||||
[save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="-pedantic $1"
|
||||
CFLAGS="-pedantic acx_Woptions"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
|
||||
[AS_VAR_SET(acx_Pedantic, yes)],
|
||||
[AS_VAR_SET(acx_Pedantic, no)])
|
||||
|
@ -66,6 +75,7 @@ AS_IF([test AS_VAR_GET(acx_Pedantic) = yes],
|
|||
[acx_Var="$acx_Var${acx_Var:+ }-pedantic $1"])
|
||||
])
|
||||
AS_VAR_POPDEF([acx_Pedantic])dnl
|
||||
m4_popdef([acx_Woptions])dnl
|
||||
m4_popdef([acx_Var])dnl
|
||||
])# ACX_PROG_CC_WARNING_ALMOST_PEDANTIC
|
||||
|
||||
|
|
1933
newlib/src/configure
vendored
1933
newlib/src/configure
vendored
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,3 +1,193 @@
|
|||
2011-12-18 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bfin/clear_cache_range.c: New file.
|
||||
* bfin/Makefile.in (SIM_OBJS): Add clear_cache_range.o.
|
||||
(BOARD_OBJS): Likewise.
|
||||
(BOARD_BSP): Set to libbfinbsp.a.
|
||||
(${BOARD_BSP}): New rule.
|
||||
|
||||
2011-12-15 Konrad Eisele <konrad@gaisler.com>
|
||||
|
||||
* configure.in: Add SPARC LEON support.
|
||||
* configure: Regenerated.
|
||||
* sparc_leon/asm-leon/amba.h, sparc_leon/asm-leon/asmmacro.h,
|
||||
sparc_leon/asm-leon/clock.h, sparc_leon/asm-leon/contextswitch.h,
|
||||
sparc_leon/asm-leon/elfmacro.h, sparc_leon/asm-leon/head.h,
|
||||
sparc_leon/asm-leon/irq.h, sparc_leon/asm-leon/jiffies.h,
|
||||
sparc_leon/asm-leon/lambapp.h, sparc_leon/asm-leon/lambapp_devs.h,
|
||||
sparc_leon/asm-leon/leon.h, sparc_leon/asm-leon/leon3.h,
|
||||
sparc_leon/asm-leon/leonbare_debug.h, sparc_leon/asm-leon/leonbare_kernel.h,
|
||||
sparc_leon/asm-leon/leonbare_kernel_queue.h, sparc_leon/asm-leon/leoncompat.h,
|
||||
sparc_leon/asm-leon/leondbg.h, sparc_leon/asm-leon/leonstack.h,
|
||||
sparc_leon/asm-leon/liblocks.h, sparc_leon/asm-leon/linkage.h,
|
||||
sparc_leon/asm-leon/param.h, sparc_leon/asm-leon/queue.h,
|
||||
sparc_leon/asm-leon/spinlock.h, sparc_leon/asm-leon/stack.h,
|
||||
sparc_leon/asm-leon/time.h, sparc_leon/asm-leon/timer.h,
|
||||
sparc_leon/asm-leon/types.h, sparc_leon/asm-leon/winmacros.h:
|
||||
New file.
|
||||
* sparc_leon/Makefile.in, sparc_leon/_exit.c,
|
||||
sparc_leon/amba.c, sparc_leon/amba_dbg.c,
|
||||
sparc_leon/amba_driver.c, sparc_leon/amba_scan.c,
|
||||
sparc_leon/asm-leon, sparc_leon/bdinit.S,
|
||||
sparc_leon/busscan.S, sparc_leon/cacheA.S,
|
||||
sparc_leon/catch_interrupt.c, sparc_leon/catch_interrupt_mvt.c,
|
||||
sparc_leon/catch_interrupt_pending.c, sparc_leon/catch_interrupt_svt.c,
|
||||
sparc_leon/configure.in,
|
||||
sparc_leon/console.c, sparc_leon/console_dbg.c,
|
||||
sparc_leon/console_init.c, sparc_leon/contextswitch.c,
|
||||
sparc_leon/contextswitch_asm.S, sparc_leon/crt0.S,
|
||||
sparc_leon/crti.S, sparc_leon/crtn.S,
|
||||
sparc_leon/etrap.S, sparc_leon/etrap_fast.S,
|
||||
sparc_leon/fpu.S, sparc_leon/gettimeofday.c,
|
||||
sparc_leon/initcalls.c, sparc_leon/io.c,
|
||||
sparc_leon/irqinstall.S, sparc_leon/irqtrap.S,
|
||||
sparc_leon/irqtrap_fast.S, sparc_leon/jiffies.c,
|
||||
sparc_leon/kernel.c, sparc_leon/kernel_context.S,
|
||||
sparc_leon/kernel_debug.c, sparc_leon/kernel_debug_var.c,
|
||||
sparc_leon/kernel_mm.c, sparc_leon/kernel_mutex.c,
|
||||
sparc_leon/kernel_queue.c, sparc_leon/kernel_sched.c,
|
||||
sparc_leon/kernel_thread.c, sparc_leon/lcpuinit.S,
|
||||
sparc_leon/locore.S, sparc_leon/locore_atexit.c,
|
||||
sparc_leon/locore_clean.S, sparc_leon/locore_mvt.S,
|
||||
sparc_leon/locore_mvt_reset.S, sparc_leon/locore_svt.S,
|
||||
sparc_leon/locore_svt_reset.S, sparc_leon/locore_svtdisp.S,
|
||||
sparc_leon/locore_var.S, sparc_leon/locore_var_svt.S,
|
||||
sparc_leon/mmu_asm.S, sparc_leon/mutex.c,
|
||||
sparc_leon/nocache.S, sparc_leon/pnpinit.c,
|
||||
sparc_leon/pnpinit_malloc.c, sparc_leon/pnpinit_simple.c,
|
||||
sparc_leon/regwin.S, sparc_leon/regwin_patch.c,
|
||||
sparc_leon/regwin_slow.S, sparc_leon/regwinflush.S,
|
||||
sparc_leon/rtc.c, sparc_leon/rtrap.S,
|
||||
sparc_leon/rtrap_fast.S, sparc_leon/stop.S,
|
||||
sparc_leon/timer.c, sparc_leon/times.c:
|
||||
New file
|
||||
* sparc_leon/configure: Regenerate
|
||||
|
||||
2011-12-13 Richard Earnshaw <rearnsha@arm.com>
|
||||
Thomas Klein <th.r.klein@web.de>
|
||||
|
||||
* arm/crt0.S: Manually set the target architecture
|
||||
when compiling for Thumb1 on EABI targets.
|
||||
Avoid v6-only Thumb-1 MOV instruction.
|
||||
|
||||
2011-11-28 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* configure.in: Add rl78.
|
||||
* configure: Regenerate.
|
||||
* rl78: New directory
|
||||
|
||||
2011-11-08 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* libnosys/Makefile.in (install): Use INSTALL_DATA.
|
||||
|
||||
2011-10-07 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* rx/crt0.S: Initialise the PID address register.
|
||||
(__pid_base): Define weakly.
|
||||
|
||||
2011-09-29 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
|
||||
|
||||
* arm/crt0.s: Support 0 heap base response from HeapInfo syscall.
|
||||
|
||||
2011-09-29 Bin Cheng <bin.cheng@arm.com>
|
||||
|
||||
* arm/arm.h (HAVE_CALL_INDIRECT): Define.
|
||||
* arm/crt0.S (indirect_call): New macro. Encodes indirect
|
||||
function calls. Does not use blx for pre-armv5 targets.
|
||||
|
||||
2011-08-19 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* iq2000/sim.ld (.gcc_except_table): Include .gcc_except_table.foo
|
||||
sections as well.
|
||||
|
||||
2011-08-08 Mike Stump <mikestump@comcast.net>
|
||||
|
||||
* Makefile.in: Make stmp-bsp and install consistent with
|
||||
subdir_do target with regards to error handling.
|
||||
|
||||
2011-07-13 Bin Cheng <bin.cheng@arm.com>
|
||||
|
||||
* arm/crt0.S: Support armv6-m processors in libgloss.
|
||||
* arm/swi.h: Likewise.
|
||||
* arm/trap.S: Likewise.
|
||||
* arm/redboot-crt0.S: Likewise.
|
||||
* arm/linux-crt0.c: Likewise.
|
||||
* arm/arm.h: New.
|
||||
|
||||
2011-07-01 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bfin/syscalls.c (_getpid): Call do_syscall with func argument n and
|
||||
return the result.
|
||||
(_fstat): Delete stub body. Add block array and assign file/st to it.
|
||||
Call do_syscall with result.
|
||||
(_stat): Delete stub body. Add block array and assign fname/st to
|
||||
it. Call do_syscall with result.
|
||||
(_link): Change func arguments to accept two strings. Add block array
|
||||
and assign existing/new to it. Call do_syscall with result.
|
||||
(_unlink): Change func arguments to accept a string. Call do_syscall
|
||||
with new argument.
|
||||
|
||||
2011-07-01 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bfin/syscalls.c (_lseek): Change 3rd arg name to whence. Increase
|
||||
block array to 3 elements. Set 3rd element to whence.
|
||||
|
||||
2011-06-29 Jeff Johnston <jjohnstn@redhat.com>
|
||||
|
||||
* arm/Makefile.in: Add $CFLAGS to compile commands for specified .o targets.
|
||||
|
||||
2011-06-22 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bfin/syscalls.c (do_syscall): Delete local variable definitions.
|
||||
Declare result, result2, errcode local ints. Delete asm inputs
|
||||
and outputs. Set output constraints to q0/result, q1/result2, and
|
||||
q2/errcode. Set input constraints to qA/reason and q0/arg. Set
|
||||
errno to errcode.
|
||||
|
||||
2011-06-21 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bfin/syscalls.c: Trim trailing whitespace.
|
||||
* bfin/crt0.S: Likewise.
|
||||
|
||||
2011-06-14 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* configure.in: Don't handle strongarm, ep9312 and xscale target
|
||||
names.
|
||||
* configure: Regenerate.
|
||||
* libnosys/configure.in: Don't handle strongarm and thumb target
|
||||
names.
|
||||
* libnosys/configure: Regenerate.
|
||||
|
||||
2011-05-27 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* v8500/sbrk.c (_sbrk): Tidy code.
|
||||
Base start of heap on the "heap_start" symbol.
|
||||
|
||||
2011-03-26 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bfin/include/builtins.h (__builtin_raise): Change constraint to n.
|
||||
(__builtin_excpt): Likewise.
|
||||
|
||||
2011-03-26 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* bfin/Makefile.in (install-sim): Exit when install fails.
|
||||
(install-board): Likewise.
|
||||
|
||||
2011-03-24 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* xstormy16/crt0.s (_hwint): Fix .size directive.
|
||||
|
||||
* frv/crt0.S (__frv_fix_usrptrs): Fix .size directive.
|
||||
|
||||
2011-03-21 Kevin Buettner <kevinb@redhat.com>
|
||||
|
||||
* v850/sys/syscall.h (SYS_rename): Define.
|
||||
|
||||
2011-01-10 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* Makefile.in (stmp-bsp): Exit when subdirs fail.
|
||||
(install): Likewise.
|
||||
|
||||
2010-12-02 Jayant Sonar jayant.sonar@kpitcummins.com
|
||||
Kaushik Phatak kaushik.phatak@kpitcummins.com
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ stmp-bsp: force
|
|||
for dir in .. ${SUBDIRS}; do \
|
||||
if [ x$$dir != x.. ]; then \
|
||||
if [ -d $$dir ]; then \
|
||||
(cd $$dir; $(MAKE) $(FLAGS_TO_PASS)); \
|
||||
(cd $$dir; $(MAKE) $(FLAGS_TO_PASS)) || exit $$?; \
|
||||
else true; fi; \
|
||||
else true; fi; \
|
||||
done
|
||||
|
@ -115,7 +115,7 @@ install: force
|
|||
for dir in .. ${SUBDIRS}; do \
|
||||
if [ x$$dir != x.. ]; then \
|
||||
if [ -d $$dir ]; then \
|
||||
(cd $$dir; $(MAKE) $(FLAGS_TO_PASS) install); \
|
||||
(cd $$dir; $(MAKE) $(FLAGS_TO_PASS) install) || exit $$?; \
|
||||
else true; fi; \
|
||||
else true; fi; \
|
||||
done
|
||||
|
|
|
@ -107,25 +107,25 @@ redboot-crt0.o: redboot-crt0.S
|
|||
redboot-syscalls.o: redboot-syscalls.c $(srcdir)/../syscall.h
|
||||
|
||||
rdpmon-crt0.o: crt0.S
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) -DARM_RDP_MONITOR -o $@ -c $<
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDP_MONITOR -o $@ -c $<
|
||||
|
||||
rdimon-crt0.o: crt0.S
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
|
||||
rdimon-trap.o: trap.S
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
|
||||
rdimon-_exit.o: _exit.c
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
|
||||
rdimon-_kill.o: _kill.c
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
|
||||
rdimon-syscalls.o: syscalls.c
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
|
||||
rdimon-libcfunc.o: libcfunc.c
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -DARM_RDI_MONITOR -o $@ -c $<
|
||||
|
||||
$(LINUX_BSP): $(LINUX_OBJS)
|
||||
${AR} ${ARFLAGS} $@ $^
|
||||
|
|
62
newlib/src/libgloss/arm/arm.h
Normal file
62
newlib/src/libgloss/arm/arm.h
Normal file
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* Copyright (c) 2011 ARM Ltd
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. The name of the company may not be used to endorse or promote
|
||||
* products derived from this software without specific prior written
|
||||
* permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
||||
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _LIBGLOSS_ARM_H
|
||||
#define _LIBGLOSS_ARM_H
|
||||
|
||||
/* __thumb2__ stands for thumb on armva7(A/R/M/EM) architectures,
|
||||
__ARM_ARCH_6M__ stands for armv6-M(thumb only) architecture,
|
||||
__ARM_ARCH_7M__ stands for armv7-M(thumb only) architecture.
|
||||
__ARM_ARCH_7EM__ stands for armv7e-M(thumb only) architecture.
|
||||
There are some macro combinations used many times in libgloss/arm,
|
||||
like (__thumb2__ || (__thumb__ && __ARM_ARCH_6M__)), so factor
|
||||
it out and use THUMB_V7_V6M instead, which stands for thumb on
|
||||
v6-m/v7 arch as the combination does. */
|
||||
#if defined(__thumb2__) || (defined(__thumb__) && defined(__ARM_ARCH_6M__))
|
||||
# define THUMB_V7_V6M
|
||||
#endif
|
||||
|
||||
/* The (__ARM_ARCH_7EM__ || __ARM_ARCH_7M__ || __ARM_ARCH_6M__) combination
|
||||
stands for cortex-M profile architectures, which don't support ARM state.
|
||||
Factor it out and use THUMB_V7M_V6M instead. */
|
||||
#if defined(__ARM_ARCH_7M__) \
|
||||
|| defined(__ARM_ARCH_7EM__) \
|
||||
|| defined(__ARM_ARCH_6M__)
|
||||
# define THUMB_V7M_V6M
|
||||
#endif
|
||||
|
||||
/* Defined if this target supports the BLX Rm instruction. */
|
||||
#if !defined(__ARM_ARCH_2__) \
|
||||
&& !defined(__ARM_ARCH_3__) \
|
||||
&& !defined(__ARM_ARCH_3M__) \
|
||||
&& !defined(__ARM_ARCH_4__) \
|
||||
&& !defined(__ARM_ARCH_4T__)
|
||||
# define HAVE_CALL_INDIRECT
|
||||
#endif
|
||||
|
||||
#endif /* _LIBGLOSS_ARM_H */
|
|
@ -1,4 +1,5 @@
|
|||
#include "newlib.h"
|
||||
#include "arm.h"
|
||||
#include "swi.h"
|
||||
|
||||
/* ANSI concatenation macros. */
|
||||
|
@ -16,10 +17,34 @@
|
|||
#define _fini __libc_fini_array
|
||||
#endif
|
||||
|
||||
#if defined(__ARM_EABI__) && defined(__thumb__) && !defined(__thumb2__)
|
||||
/* For Thumb1 we need to force the architecture to be sure that we get the
|
||||
correct attributes on the object file; otherwise the assembler will get
|
||||
confused and mark the object as being v6T2. */
|
||||
#if defined(__ARM_ARCH_4T__)
|
||||
.arch armv4t
|
||||
#elif defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__)
|
||||
/* Nothing in this object requires higher than v5. */
|
||||
.arch armv5t
|
||||
#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
|
||||
|| defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \
|
||||
|| defined(__ARM_ARCH_6ZK__)
|
||||
/* Nothing in this object requires higher than v6. */
|
||||
.arch armv6
|
||||
#elif defined(__ARM_ARCH_6M__)
|
||||
#ifdef ARM_RDP_MONITOR
|
||||
/* Object file uses SVC, so mark as v6s-m. */
|
||||
.arch armv6s-m
|
||||
#else
|
||||
.arch armv6-m
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* .text is used instead of .section .text so it works with arm-aout too. */
|
||||
.text
|
||||
#if defined(__thumb2__)
|
||||
.syntax unified
|
||||
#ifdef THUMB_V7_V6M
|
||||
.thumb
|
||||
.macro FUNC_START name
|
||||
.global \name
|
||||
|
@ -33,6 +58,16 @@
|
|||
\name:
|
||||
.endm
|
||||
#endif
|
||||
|
||||
.macro indirect_call reg
|
||||
#ifdef HAVE_CALL_INDIRECT
|
||||
blx \reg
|
||||
#else
|
||||
mov lr, pc
|
||||
mov pc, \reg
|
||||
#endif
|
||||
.endm
|
||||
|
||||
.align 0
|
||||
|
||||
FUNC_START _mainCRTStartup
|
||||
|
@ -48,25 +83,68 @@
|
|||
/* Issue Demon SWI to read stack info */
|
||||
swi SWI_GetEnv /* Returns command line in r0 */
|
||||
mov sp,r1 /* and the highest memory address in r1 */
|
||||
ldr sl, .LC2 /* stack limit is at end of data */
|
||||
add sl, sl, #256 /* allow slop for stack overflow handling */
|
||||
/* and small frames */
|
||||
|
||||
/* stack limit is at end of data */
|
||||
/* allow slop for stack overflow handling and small frames */
|
||||
#ifdef __ARM_ARCH_6M__
|
||||
ldr r0, .LC2
|
||||
adds r0, #128
|
||||
adds r0, #128
|
||||
mov sl, r0
|
||||
#else
|
||||
ldr sl, .LC2
|
||||
add sl, sl, #256
|
||||
#endif
|
||||
#else
|
||||
#ifdef ARM_RDI_MONITOR
|
||||
/* Issue Angel SWI to read stack info */
|
||||
mov r0, #AngelSWI_Reason_HeapInfo
|
||||
movs r0, #AngelSWI_Reason_HeapInfo
|
||||
adr r1, .LC0 /* point at ptr to 4 words to receive data */
|
||||
#if defined(__thumb2__)
|
||||
#ifdef THUMB_V7M_V6M
|
||||
bkpt AngelSWI
|
||||
#elif defined(__thumb2__)
|
||||
/* We are in thumb mode for startup on armv7 architectures. */
|
||||
AngelSWIAsm AngelSWI
|
||||
#else
|
||||
/* We are always in ARM mode for startup */
|
||||
/* We are always in ARM mode for startup on pre armv7 archs. */
|
||||
AngelSWIAsm AngelSWI_ARM
|
||||
#endif
|
||||
ldr r0, .LC0 /* point at values read */
|
||||
ldr sp, [r0, #8]
|
||||
ldr sl, [r0, #12]
|
||||
add sl, sl, #256 /* allow slop for stack overflow handling */
|
||||
/* and small frames */
|
||||
|
||||
ldr r1, [r0, #0]
|
||||
cmp r1, #0
|
||||
bne .LC32
|
||||
/* If the heap base value [r0, #0] is 0 then the heap base is actually
|
||||
at the end of program data (i.e. __end__). See:
|
||||
http://infocenter.arm.com/help/topic/com.arm.doc.dui0471-/Bacbefaa.html
|
||||
for more information. */
|
||||
ldr r1, .LC31
|
||||
str r1, [r0, #0]
|
||||
.LC32:
|
||||
ldr r1, [r0, #8]
|
||||
ldr r2, [r0, #12]
|
||||
/* We skip setting sp/sl if 0 returned from semihosting.
|
||||
- According to semihosting docs, if 0 returned from semihosting,
|
||||
the system was unable to calculate the real value, so it's ok
|
||||
to skip setting sp/sl to 0 here.
|
||||
- Considering M-profile processors, We might want to initialize
|
||||
sp by the first entry of vector table and return 0 to SYS_HEAPINFO
|
||||
semihosting call, which will be skipped here. */
|
||||
cmp r1, #0
|
||||
beq .LC26
|
||||
mov sp, r1
|
||||
.LC26:
|
||||
cmp r2, #0
|
||||
beq .LC27
|
||||
/* allow slop for stack overflow handling and small frames */
|
||||
#ifdef __ARM_ARCH_6M__
|
||||
adds r2, #128
|
||||
adds r2, #128
|
||||
mov sl, r2
|
||||
#else
|
||||
add sl, r2, #256
|
||||
#endif
|
||||
.LC27:
|
||||
#else
|
||||
/* Set up the stack pointer to a fixed value */
|
||||
/* Changes by toralf:
|
||||
|
@ -85,13 +163,19 @@
|
|||
#ifdef __thumb2__
|
||||
it eq
|
||||
#endif
|
||||
#ifdef __ARM_ARCH_6M__
|
||||
bne .LC28
|
||||
ldr r3, .LC0
|
||||
.LC28:
|
||||
#else
|
||||
ldreq r3, .LC0
|
||||
#endif
|
||||
/* Note: This 'mov' is essential when starting in User, and ensures we
|
||||
always get *some* sp value for the initial mode, even if we
|
||||
have somehow missed it below (in which case it gets the same
|
||||
value as FIQ - not ideal, but better than nothing.) */
|
||||
mov sp, r3
|
||||
#ifdef __thumb2__
|
||||
#ifdef THUMB_V7_V6M
|
||||
/* XXX Fill in stack assignments for interrupt modes. */
|
||||
#else
|
||||
mrs r2, CPSR
|
||||
|
@ -134,20 +218,27 @@
|
|||
this default 64k is enough for the program being executed.
|
||||
However, it ensures that this simple crt0 world will not
|
||||
immediately cause an overflow event: */
|
||||
#ifdef __ARM_ARCH_6M__
|
||||
movs r2, #64
|
||||
lsls r2, r2, #10
|
||||
subs r2, r3, r2
|
||||
mov sl, r2
|
||||
#else
|
||||
sub sl, r3, #64 << 10 /* Still assumes 256bytes below sl */
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
/* Zero the memory in the .bss section. */
|
||||
mov a2, #0 /* Second arg: fill value */
|
||||
movs a2, #0 /* Second arg: fill value */
|
||||
mov fp, a2 /* Null frame pointer */
|
||||
mov r7, a2 /* Null frame pointer for Thumb */
|
||||
|
||||
ldr a1, .LC1 /* First arg: start of memory block */
|
||||
ldr a3, .LC2
|
||||
sub a3, a3, a1 /* Third arg: length of block */
|
||||
subs a3, a3, a1 /* Third arg: length of block */
|
||||
|
||||
|
||||
#if defined(__thumb__) && !defined(__thumb2__)
|
||||
#if defined(__thumb__) && !defined(THUMB_V7_V6M)
|
||||
/* Enter Thumb mode.... */
|
||||
add a4, pc, #1 /* Get the address of the Thumb block */
|
||||
bx a4 /* Go there and start Thumb decoding */
|
||||
|
@ -167,41 +258,31 @@ __change_mode:
|
|||
ldr r3, .Lhwinit
|
||||
cmp r3, #0
|
||||
beq .LC24
|
||||
#if defined(__thumb__) || defined(__thumb2__)
|
||||
blx r3
|
||||
#else
|
||||
mov lr, pc
|
||||
mov pc, r3
|
||||
#endif
|
||||
indirect_call r3
|
||||
.LC24:
|
||||
ldr r3, .Lswinit
|
||||
cmp r3, #0
|
||||
beq .LC25
|
||||
#if defined(__thumb__) || defined(__thumb2__)
|
||||
blx r3
|
||||
#else
|
||||
mov lr, pc
|
||||
mov pc, r3
|
||||
#endif
|
||||
indirect_call r3
|
||||
|
||||
.LC25:
|
||||
mov r0, #0 /* no arguments */
|
||||
mov r1, #0 /* no argv either */
|
||||
movs r0, #0 /* no arguments */
|
||||
movs r1, #0 /* no argv either */
|
||||
#else
|
||||
/* Need to set up standard file handles */
|
||||
bl FUNCTION (initialise_monitor_handles)
|
||||
|
||||
#ifdef ARM_RDP_MONITOR
|
||||
swi SWI_GetEnv /* sets r0 to point to the command line */
|
||||
mov r1, r0
|
||||
movs r1, r0
|
||||
#else
|
||||
mov r0, #AngelSWI_Reason_GetCmdLine
|
||||
movs r0, #AngelSWI_Reason_GetCmdLine
|
||||
adr r1, .LC30 /* Space for command line */
|
||||
AngelSWIAsm AngelSWI
|
||||
ldr r1, .LC30
|
||||
#endif
|
||||
/* Parse string at r1 */
|
||||
mov r0, #0 /* count of arguments so far */
|
||||
movs r0, #0 /* count of arguments so far */
|
||||
/* Push a NULL argument onto the end of the list. */
|
||||
#ifdef __thumb__
|
||||
push {r0}
|
||||
|
@ -212,7 +293,7 @@ __change_mode:
|
|||
/* Skip leading blanks */
|
||||
#ifdef __thumb__
|
||||
ldrb r3, [r1]
|
||||
add r1, #1
|
||||
adds r1, #1
|
||||
#else
|
||||
ldrb r3, [r1], #1
|
||||
#endif
|
||||
|
@ -228,12 +309,12 @@ __change_mode:
|
|||
cmp r3, #'\''
|
||||
bne .LC21
|
||||
.LC20:
|
||||
mov r2, r3
|
||||
movs r2, r3
|
||||
b .LC22
|
||||
|
||||
.LC21:
|
||||
mov r2, #' ' /* terminator type */
|
||||
sub r1, r1, #1 /* adjust back to point at start char */
|
||||
movs r2, #' ' /* terminator type */
|
||||
subs r1, r1, #1 /* adjust back to point at start char */
|
||||
.LC22:
|
||||
#else
|
||||
cmpne r3, #'\''
|
||||
|
@ -248,11 +329,11 @@ __change_mode:
|
|||
#else
|
||||
stmfd sp!, {r1}
|
||||
#endif
|
||||
add r0, r0, #1
|
||||
adds r0, r0, #1
|
||||
.LC11:
|
||||
#ifdef __thumb__
|
||||
ldrb r3, [r1]
|
||||
add r1, #1
|
||||
adds r1, #1
|
||||
#else
|
||||
ldrb r3, [r1], #1
|
||||
#endif
|
||||
|
@ -260,8 +341,8 @@ __change_mode:
|
|||
beq .LC12
|
||||
cmp r2, r3 /* reached terminator? */
|
||||
bne .LC11
|
||||
mov r2, #0
|
||||
sub r3, r1, #1
|
||||
movs r2, #0
|
||||
subs r3, r1, #1
|
||||
strb r2, [r3] /* terminate the arg string */
|
||||
b .LC10
|
||||
|
||||
|
@ -269,24 +350,24 @@ __change_mode:
|
|||
mov r1, sp /* point at stacked arg pointers */
|
||||
/* We've now got the stacked args in order reverse the */
|
||||
#ifdef __thumb__
|
||||
mov r2, r0
|
||||
lsl r2, #2
|
||||
movs r2, r0
|
||||
lsls r2, #2
|
||||
add r2, sp
|
||||
mov r3, sp
|
||||
.LC15: cmp r2, r3
|
||||
bls .LC14
|
||||
sub r2, #4
|
||||
subs r2, #4
|
||||
ldr r4, [r2]
|
||||
ldr r5, [r3]
|
||||
str r5, [r2]
|
||||
str r4, [r3]
|
||||
add r3, #4
|
||||
adds r3, #4
|
||||
b .LC15
|
||||
.LC14:
|
||||
/* Ensure doubleword stack alignment. */
|
||||
mov r4, sp
|
||||
mov r5, #7
|
||||
bic r4, r5
|
||||
movs r5, #7
|
||||
bics r4, r5
|
||||
mov sp, r4
|
||||
#else
|
||||
add r2, sp, r0, LSL #2 /* End of args */
|
||||
|
@ -307,19 +388,19 @@ __change_mode:
|
|||
to create constructors and destructors, and for these
|
||||
targets we need to call the _init function and arrange
|
||||
for _fini to be called at program exit. */
|
||||
mov r4, r0
|
||||
mov r5, r1
|
||||
movs r4, r0
|
||||
movs r5, r1
|
||||
ldr r0, .Lfini
|
||||
bl FUNCTION (atexit)
|
||||
bl FUNCTION (_init)
|
||||
mov r0, r4
|
||||
mov r1, r5
|
||||
movs r0, r4
|
||||
movs r1, r5
|
||||
#endif
|
||||
bl FUNCTION (main)
|
||||
|
||||
bl FUNCTION (exit) /* Should not return. */
|
||||
|
||||
#if defined(__thumb__) && !defined(__thumb2__)
|
||||
#if defined(__thumb__) && !defined(THUMB_V7_V6M)
|
||||
/* Come out of Thumb mode. This code should be redundant. */
|
||||
|
||||
mov a4, pc
|
||||
|
@ -391,6 +472,8 @@ change_back:
|
|||
.LC30:
|
||||
.word CommandLine
|
||||
.word 255
|
||||
.LC31:
|
||||
.word __end__
|
||||
|
||||
/* Workspace for Angel calls. */
|
||||
.data
|
||||
|
|
|
@ -8,10 +8,11 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include "arm.h"
|
||||
|
||||
static int _main(int argc, char *argv[]) __attribute__((noreturn));
|
||||
|
||||
#if __thumb__ && !__thumb2__
|
||||
#if defined(__thumb__) && !defined(THUMB_V7_V6M)
|
||||
asm("\n"
|
||||
".code 32\n"
|
||||
".global _start\n"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#include "arm.h"
|
||||
|
||||
.file "crt0.S"
|
||||
|
||||
|
@ -11,14 +12,14 @@
|
|||
#endif
|
||||
|
||||
.text
|
||||
.syntax unified
|
||||
/* Setup the assembly entry point. */
|
||||
#ifdef __thumb2__
|
||||
#ifdef THUMB_V7_V6M
|
||||
.macro FUNC_START name
|
||||
.global \name
|
||||
.thumb_func
|
||||
\name:
|
||||
.endm
|
||||
.syntax unified
|
||||
.thumb
|
||||
#else
|
||||
.macro FUNC_START name
|
||||
|
@ -29,11 +30,15 @@
|
|||
#endif
|
||||
FUNC_START SYM_NAME(start)
|
||||
FUNC_START SYM_NAME(_start)
|
||||
/* Unnecessary to set fp for v6-m/v7-m, which don't support
|
||||
ARM state. */
|
||||
#ifndef THUMB_V7M_V6M
|
||||
mov fp, #0 /* Null frame pointer. */
|
||||
mov r7, #0 /* Null frame pointer for Thumb. */
|
||||
#endif
|
||||
movs r7, #0 /* Null frame pointer for Thumb. */
|
||||
|
||||
/* Enable interrupts for gdb debugging. */
|
||||
#ifdef __thumb2__
|
||||
#ifdef THUMB_V7_V6M
|
||||
cpsie if
|
||||
#else
|
||||
mrs r0, cpsr
|
||||
|
@ -41,10 +46,10 @@
|
|||
msr cpsr, r0
|
||||
#endif
|
||||
|
||||
mov a2, #0 /* Second arg: fill value. */
|
||||
movs a2, #0 /* Second arg: fill value. */
|
||||
ldr a1, .LC1 /* First arg: start of memory block. */
|
||||
ldr a3, .LC2
|
||||
sub a3, a3, a1 /* Third arg: length of block. */
|
||||
subs a3, a3, a1 /* Third arg: length of block. */
|
||||
|
||||
#ifdef GCRT0
|
||||
/* Zero out the bss without using memset.
|
||||
|
@ -62,7 +67,8 @@
|
|||
/* Nothing to left to clear. */
|
||||
#endif
|
||||
|
||||
#if defined(__thumb__) && !defined(__thumb2__) /* Enter Thumb mode. */
|
||||
#if defined(__thumb__) && !defined(THUMB_V7_V6M)
|
||||
/* Enter Thumb mode. */
|
||||
add a4, pc, #1 /* Get the address of the Thumb block. */
|
||||
bx a4 /* Go there and start Thumb decoding. */
|
||||
|
||||
|
@ -76,7 +82,7 @@ __change_mode:
|
|||
bl SYM_NAME(memset)
|
||||
#endif
|
||||
bl SYM_NAME(__get_memtop)
|
||||
sub r0, r0, #32
|
||||
subs r0, r0, #32
|
||||
mov sp, r0
|
||||
|
||||
#ifdef __USES_INITFINI__
|
||||
|
@ -89,7 +95,7 @@ __change_mode:
|
|||
bl SYM_NAME (_init)
|
||||
#endif
|
||||
|
||||
mov a1, #0
|
||||
movs a1, #0
|
||||
ldr a2, .LC3
|
||||
mov a3, a2
|
||||
bl SYM_NAME(main)
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#include "arm.h"
|
||||
|
||||
/* SWI numbers for RDP (Demon) monitor. */
|
||||
#define SWI_WriteC 0x0
|
||||
#define SWI_Write0 0x2
|
||||
|
@ -33,8 +35,8 @@
|
|||
#else
|
||||
#define AngelSWI AngelSWI_ARM
|
||||
#endif
|
||||
/* For Thumb-2 code use the BKPT instruction instead of SWI. */
|
||||
#ifdef __thumb2__
|
||||
/* For thumb only architectures use the BKPT instruction instead of SWI. */
|
||||
#ifdef THUMB_V7M_V6M
|
||||
#define AngelSWIInsn "bkpt"
|
||||
#define AngelSWIAsm bkpt
|
||||
#else
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#include "arm.h"
|
||||
/* Run-time exception support */
|
||||
#if !defined(__thumb2__)
|
||||
#ifndef THUMB_V7_V6M
|
||||
#include "swi.h"
|
||||
|
||||
/* .text is used instead of .section .text so it works with arm-aout too. */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@%:@! /bin/sh
|
||||
@%:@ Guess values for system-dependent variables and create Makefiles.
|
||||
@%:@ Generated by GNU Autoconf 2.67 for libgloss LIBGLOSS_VERSION.
|
||||
@%:@ Generated by GNU Autoconf 2.68 for libgloss LIBGLOSS_VERSION.
|
||||
@%:@
|
||||
@%:@
|
||||
@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
|
@ -89,6 +89,7 @@ fi
|
|||
IFS=" "" $as_nl"
|
||||
|
||||
# Find who we are. Look in the path if we contain no directory separator.
|
||||
as_myself=
|
||||
case $0 in @%:@((
|
||||
*[\\/]* ) as_myself=$0 ;;
|
||||
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
|
@ -213,11 +214,18 @@ IFS=$as_save_IFS
|
|||
# We cannot yet assume a decent shell, so we have to provide a
|
||||
# neutralization value for shells without unset; and this also
|
||||
# works around shells that cannot unset nonexistent variables.
|
||||
# Preserve -v and -x to the replacement shell.
|
||||
BASH_ENV=/dev/null
|
||||
ENV=/dev/null
|
||||
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
|
||||
export CONFIG_SHELL
|
||||
exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
|
||||
case $- in @%:@ ((((
|
||||
*v*x* | *x*v* ) as_opts=-vx ;;
|
||||
*v* ) as_opts=-v ;;
|
||||
*x* ) as_opts=-x ;;
|
||||
* ) as_opts= ;;
|
||||
esac
|
||||
exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
|
||||
fi
|
||||
|
||||
if test x$as_have_required = xno; then :
|
||||
|
@ -664,6 +672,7 @@ m68hc11
|
|||
m68k
|
||||
pa
|
||||
i960
|
||||
sparc_leon
|
||||
sparc
|
||||
wince
|
||||
mips
|
||||
|
@ -687,6 +696,7 @@ v850
|
|||
xc16x
|
||||
xstormy16
|
||||
m32c
|
||||
rl78
|
||||
rx
|
||||
arm
|
||||
spu
|
||||
|
@ -1096,7 +1106,7 @@ Try \`$0 --help' for more information"
|
|||
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
|
||||
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
|
||||
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
|
||||
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
|
||||
: "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
@ -1387,7 +1397,7 @@ test -n "$ac_init_help" && exit $ac_status
|
|||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
libgloss configure LIBGLOSS_VERSION
|
||||
generated by GNU Autoconf 2.67
|
||||
generated by GNU Autoconf 2.68
|
||||
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
This configure script is free software; the Free Software Foundation
|
||||
|
@ -1433,7 +1443,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
|
|||
|
||||
ac_retval=1
|
||||
fi
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} @%:@ ac_fn_c_try_compile
|
||||
|
@ -1442,7 +1452,7 @@ This file contains any messages produced by compilers while
|
|||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by libgloss $as_me LIBGLOSS_VERSION, which was
|
||||
generated by GNU Autoconf 2.67. Invocation command line was
|
||||
generated by GNU Autoconf 2.68. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
|
||||
|
@ -1700,7 +1710,7 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
|
|||
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error $? "failed to load site script $ac_site_file
|
||||
See \`config.log' for more details" "$LINENO" 5 ; }
|
||||
See \`config.log' for more details" "$LINENO" 5; }
|
||||
fi
|
||||
done
|
||||
|
||||
|
@ -1776,7 +1786,7 @@ if $ac_cache_corrupted; then
|
|||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
|
||||
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
|
||||
as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
|
||||
as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
|
||||
fi
|
||||
## -------------------- ##
|
||||
## Main body of script. ##
|
||||
|
@ -1821,7 +1831,7 @@ for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do
|
|||
fi
|
||||
done
|
||||
if test -z "$ac_aux_dir"; then
|
||||
as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5
|
||||
as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5
|
||||
fi
|
||||
|
||||
# These three variables are undocumented and unsupported,
|
||||
|
@ -1851,7 +1861,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
|
||||
$as_echo_n "checking for a BSD-compatible install... " >&6; }
|
||||
if test -z "$INSTALL"; then
|
||||
if test "${ac_cv_path_install+set}" = set; then :
|
||||
if ${ac_cv_path_install+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
|
@ -1930,27 +1940,27 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
|||
|
||||
# Make sure we can run config.sub.
|
||||
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
|
||||
as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
|
||||
as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
|
||||
$as_echo_n "checking build system type... " >&6; }
|
||||
if test "${ac_cv_build+set}" = set; then :
|
||||
if ${ac_cv_build+:} false; then :
|
||||
$as_echo_n "(cached) " >&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 &&
|
||||
as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
|
||||
as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
|
||||
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
|
||||
$as_echo "$ac_cv_build" >&6; }
|
||||
case $ac_cv_build in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
|
||||
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
|
||||
esac
|
||||
build=$ac_cv_build
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
|
@ -1968,14 +1978,14 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
|
|||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
|
||||
$as_echo_n "checking host system type... " >&6; }
|
||||
if test "${ac_cv_host+set}" = set; then :
|
||||
if ${ac_cv_host+:} false; then :
|
||||
$as_echo_n "(cached) " >&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` ||
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
|
||||
fi
|
||||
|
||||
fi
|
||||
|
@ -1983,7 +1993,7 @@ fi
|
|||
$as_echo "$ac_cv_host" >&6; }
|
||||
case $ac_cv_host in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
|
||||
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
|
||||
esac
|
||||
host=$ac_cv_host
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
|
@ -2001,14 +2011,14 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
|
|||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
|
||||
$as_echo_n "checking target system type... " >&6; }
|
||||
if test "${ac_cv_target+set}" = set; then :
|
||||
if ${ac_cv_target+:} false; then :
|
||||
$as_echo_n "(cached) " >&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` ||
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
|
||||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
|
||||
fi
|
||||
|
||||
fi
|
||||
|
@ -2016,7 +2026,7 @@ fi
|
|||
$as_echo "$ac_cv_target" >&6; }
|
||||
case $ac_cv_target in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
|
||||
*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
|
||||
esac
|
||||
target=$ac_cv_target
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
|
@ -2065,7 +2075,7 @@ if (
|
|||
# broken ls alias from the environment. This has actually
|
||||
# happened. Such a system could not be considered "sane".
|
||||
as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
|
||||
alias in your environment" "$LINENO" 5
|
||||
alias in your environment" "$LINENO" 5
|
||||
fi
|
||||
|
||||
test "$2" = conftest.file
|
||||
|
@ -2075,7 +2085,7 @@ then
|
|||
:
|
||||
else
|
||||
as_fn_error $? "newly created file is older than distributed files!
|
||||
Check your system clock" "$LINENO" 5
|
||||
Check your system clock" "$LINENO" 5
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
|
@ -2141,7 +2151,7 @@ do
|
|||
set dummy $ac_prog; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_AWK+set}" = set; then :
|
||||
if ${ac_cv_prog_AWK+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$AWK"; then
|
||||
|
@ -2181,7 +2191,7 @@ done
|
|||
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
|
||||
set x ${MAKE-make}
|
||||
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
|
||||
if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
|
||||
if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat >conftest.make <<\_ACEOF
|
||||
|
@ -2220,7 +2230,7 @@ rmdir .tst 2>/dev/null
|
|||
# test to see if srcdir already configured
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" &&
|
||||
test -f $srcdir/config.status; then
|
||||
as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
|
||||
as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
|
||||
fi
|
||||
|
||||
# test whether we have cygpath
|
||||
|
@ -2266,7 +2276,7 @@ if test "$cross_compiling" != no; then
|
|||
set dummy ${ac_tool_prefix}strip; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_STRIP+set}" = set; then :
|
||||
if ${ac_cv_prog_STRIP+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$STRIP"; then
|
||||
|
@ -2306,7 +2316,7 @@ if test -z "$ac_cv_prog_STRIP"; then
|
|||
set dummy strip; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
|
||||
if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$ac_ct_STRIP"; then
|
||||
|
@ -2411,6 +2421,10 @@ case "${target}" in
|
|||
subdirs="$subdirs i960"
|
||||
|
||||
;;
|
||||
sparc-*leon*-elf* | sparc-*leon*-none*)
|
||||
subdirs="$subdirs sparc_leon"
|
||||
|
||||
;;
|
||||
sparclet-*-aout* | sparc-*-elf* | sparc64-*-elf* | sparc86x-*-* | sparclite-*-*)
|
||||
subdirs="$subdirs sparc"
|
||||
|
||||
|
@ -2502,12 +2516,16 @@ case "${target}" in
|
|||
m32c-*-*)
|
||||
subdirs="$subdirs m32c"
|
||||
|
||||
;;
|
||||
rl78*-*-elf)
|
||||
subdirs="$subdirs rl78"
|
||||
|
||||
;;
|
||||
rx*-*-elf)
|
||||
subdirs="$subdirs rx"
|
||||
|
||||
;;
|
||||
strongarm-*-elf | strongarm-*-coff | arm*-*-elf | arm*-*-coff | ep9312-*-elf | ep9312-*-coff | xscale-*-elf | xscale-*-coff | *arm-*-*)
|
||||
arm*-*-elf | arm*-*-coff | arm-*-*)
|
||||
subdirs="$subdirs arm"
|
||||
|
||||
;;
|
||||
|
@ -2603,7 +2621,7 @@ fi
|
|||
set dummy gcc; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_CC+set}" = set; then :
|
||||
if ${ac_cv_prog_CC+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$CC"; then
|
||||
|
@ -2641,7 +2659,7 @@ depcc="$CC" am_compiler_list=
|
|||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
|
||||
$as_echo_n "checking dependency style of $depcc... " >&6; }
|
||||
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
|
||||
if ${am_cv_CC_dependencies_compiler_type+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
|
||||
|
@ -2751,7 +2769,7 @@ if test -z "$CC"; then
|
|||
set dummy cc; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_CC+set}" = set; then :
|
||||
if ${ac_cv_prog_CC+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$CC"; then
|
||||
|
@ -2801,12 +2819,12 @@ $as_echo "no" >&6; }
|
|||
fi
|
||||
|
||||
|
||||
test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5
|
||||
test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5
|
||||
$as_echo_n "checking whether we are using GNU C... " >&6; }
|
||||
if test "${ac_cv_c_compiler_gnu+set}" = set; then :
|
||||
if ${ac_cv_c_compiler_gnu+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
|
@ -2837,7 +2855,7 @@ if test $ac_cv_c_compiler_gnu = yes; then
|
|||
ac_save_CFLAGS=$CFLAGS
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
|
||||
$as_echo_n "checking whether $CC accepts -g... " >&6; }
|
||||
if test "${ac_cv_prog_cc_g+set}" = set; then :
|
||||
if ${ac_cv_prog_cc_g+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_save_c_werror_flag=$ac_c_werror_flag
|
||||
|
@ -2931,7 +2949,7 @@ AS=${AS-as}
|
|||
set dummy ar; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_AR+set}" = set; then :
|
||||
if ${ac_cv_prog_AR+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$AR"; then
|
||||
|
@ -2974,7 +2992,7 @@ if test -n "$ac_tool_prefix"; then
|
|||
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_RANLIB+set}" = set; then :
|
||||
if ${ac_cv_prog_RANLIB+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$RANLIB"; then
|
||||
|
@ -3014,7 +3032,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
|
|||
set dummy ranlib; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
|
||||
if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$ac_ct_RANLIB"; then
|
||||
|
@ -3148,10 +3166,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&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" &&
|
||||
if test "x$cache_file" != "x/dev/null"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
|
||||
$as_echo "$as_me: updating cache $cache_file" >&6;}
|
||||
cat confcache >$cache_file
|
||||
if test ! -f "$cache_file" || test -h "$cache_file"; then
|
||||
cat confcache >"$cache_file"
|
||||
else
|
||||
case $cache_file in #(
|
||||
*/* | ?:*)
|
||||
mv -f confcache "$cache_file"$$ &&
|
||||
mv -f "$cache_file"$$ "$cache_file" ;; #(
|
||||
*)
|
||||
mv -f confcache "$cache_file" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
|
||||
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
|
||||
|
@ -3220,14 +3249,14 @@ LTLIBOBJS=$ac_ltlibobjs
|
|||
|
||||
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
|
||||
as_fn_error $? "conditional \"AMDEP\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
|
||||
as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
|
||||
: ${CONFIG_STATUS=./config.status}
|
||||
: "${CONFIG_STATUS=./config.status}"
|
||||
ac_write_fail=0
|
||||
ac_clean_files_save=$ac_clean_files
|
||||
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
|
||||
|
@ -3328,6 +3357,7 @@ fi
|
|||
IFS=" "" $as_nl"
|
||||
|
||||
# Find who we are. Look in the path if we contain no directory separator.
|
||||
as_myself=
|
||||
case $0 in @%:@((
|
||||
*[\\/]* ) as_myself=$0 ;;
|
||||
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
|
@ -3635,7 +3665,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by libgloss $as_me LIBGLOSS_VERSION, which was
|
||||
generated by GNU Autoconf 2.67. Invocation command line was
|
||||
generated by GNU Autoconf 2.68. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
CONFIG_HEADERS = $CONFIG_HEADERS
|
||||
|
@ -3692,7 +3722,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
|||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
libgloss config.status LIBGLOSS_VERSION
|
||||
configured by $0, generated by GNU Autoconf 2.67,
|
||||
configured by $0, generated by GNU Autoconf 2.68,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
@ -3820,7 +3850,7 @@ do
|
|||
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
||||
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
|
||||
|
||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
|
||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
@ -3842,9 +3872,10 @@ fi
|
|||
# after its creation but before its name has been assigned to `$tmp'.
|
||||
$debug ||
|
||||
{
|
||||
tmp=
|
||||
tmp= ac_tmp=
|
||||
trap 'exit_status=$?
|
||||
{ test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
|
||||
: "${ac_tmp:=$tmp}"
|
||||
{ test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
|
||||
' 0
|
||||
trap 'as_fn_exit 1' 1 2 13 15
|
||||
}
|
||||
|
@ -3852,12 +3883,13 @@ $debug ||
|
|||
|
||||
{
|
||||
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
|
||||
test -n "$tmp" && test -d "$tmp"
|
||||
test -d "$tmp"
|
||||
} ||
|
||||
{
|
||||
tmp=./conf$$-$RANDOM
|
||||
(umask 077 && mkdir "$tmp")
|
||||
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
|
||||
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
|
||||
ac_tmp=$tmp
|
||||
|
||||
# Set up the scripts for CONFIG_FILES section.
|
||||
# No need to generate them if there are no CONFIG_FILES.
|
||||
|
@ -3896,19 +3928,19 @@ else
|
|||
ac_cs_awk_cr=$ac_cr
|
||||
fi
|
||||
|
||||
echo 'BEGIN {' >"$tmp/subs1.awk" &&
|
||||
echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
|
||||
_ACEOF
|
||||
|
||||
# Create commands to substitute file output variables.
|
||||
{
|
||||
echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
|
||||
echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&' &&
|
||||
echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
|
||||
echo "$ac_subst_files" | sed 's/.*/F@<:@"&"@:>@="$&"/' &&
|
||||
echo "_ACAWK" &&
|
||||
echo "_ACEOF"
|
||||
} >conf$$files.sh &&
|
||||
. ./conf$$files.sh ||
|
||||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
|
||||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
|
||||
rm -f conf$$files.sh
|
||||
|
||||
{
|
||||
|
@ -3916,18 +3948,18 @@ rm -f conf$$files.sh
|
|||
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
|
||||
echo "_ACEOF"
|
||||
} >conf$$subs.sh ||
|
||||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
|
||||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
|
||||
ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
|
||||
ac_delim='%!_!# '
|
||||
for ac_last_try in false false false false false :; do
|
||||
. ./conf$$subs.sh ||
|
||||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
|
||||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
|
||||
|
||||
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
|
||||
if test $ac_delim_n = $ac_delim_num; then
|
||||
break
|
||||
elif $ac_last_try; then
|
||||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
|
||||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
|
||||
else
|
||||
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
|
||||
fi
|
||||
|
@ -3935,7 +3967,7 @@ done
|
|||
rm -f conf$$subs.sh
|
||||
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
|
||||
cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
|
||||
_ACEOF
|
||||
sed -n '
|
||||
h
|
||||
|
@ -3983,7 +4015,7 @@ t delim
|
|||
rm -f conf$$subs.awk
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
_ACAWK
|
||||
cat >>"\$tmp/subs1.awk" <<_ACAWK &&
|
||||
cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
|
||||
for (key in S) S_is_set[key] = 1
|
||||
FS = ""
|
||||
\$ac_cs_awk_pipe_init
|
||||
|
@ -4021,8 +4053,8 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
|
|||
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
|
||||
else
|
||||
cat
|
||||
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
|
||||
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
|
||||
fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|
||||
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
|
||||
_ACEOF
|
||||
|
||||
# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
|
||||
|
@ -4061,7 +4093,7 @@ do
|
|||
esac
|
||||
case $ac_mode$ac_tag in
|
||||
:[FHL]*:*);;
|
||||
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
|
||||
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
|
||||
:[FH]-) ac_tag=-:-;;
|
||||
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
|
||||
esac
|
||||
|
@ -4080,7 +4112,7 @@ do
|
|||
for ac_f
|
||||
do
|
||||
case $ac_f in
|
||||
-) ac_f="$tmp/stdin";;
|
||||
-) ac_f="$ac_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 `:'.
|
||||
|
@ -4089,7 +4121,7 @@ do
|
|||
[\\/$]*) false;;
|
||||
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
|
||||
esac ||
|
||||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
|
||||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
|
||||
esac
|
||||
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
|
||||
as_fn_append ac_file_inputs " '$ac_f'"
|
||||
|
@ -4115,8 +4147,8 @@ $as_echo "$as_me: creating $ac_file" >&6;}
|
|||
esac
|
||||
|
||||
case $ac_tag in
|
||||
*:-:* | *:-) cat >"$tmp/stdin" \
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
|
||||
*:-:* | *:-) cat >"$ac_tmp/stdin" \
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
@ -4248,26 +4280,27 @@ $ac_datarootdir_hack
|
|||
"
|
||||
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
|
||||
if $ac_cs_awk_getline; then
|
||||
$AWK -f "$tmp/subs.awk"
|
||||
$AWK -f "$ac_tmp/subs.awk"
|
||||
else
|
||||
$AWK -f "$tmp/subs.awk" | $SHELL
|
||||
fi >$tmp/out \
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||
$AWK -f "$ac_tmp/subs.awk" | $SHELL
|
||||
fi \
|
||||
>$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||
|
||||
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"; } &&
|
||||
{ ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
|
||||
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
|
||||
"$ac_tmp/out"`; test -z "$ac_out"; } &&
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
|
||||
which seems to be undefined. Please make sure it is defined" >&5
|
||||
$as_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"
|
||||
rm -f "$ac_tmp/stdin"
|
||||
case $ac_file in
|
||||
-) cat "$tmp/out" && rm -f "$tmp/out";;
|
||||
*) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
|
||||
-) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
|
||||
*) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
|
||||
esac \
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||
;;
|
||||
|
||||
|
||||
|
@ -4375,7 +4408,7 @@ _ACEOF
|
|||
ac_clean_files=$ac_clean_files_save
|
||||
|
||||
test $ac_write_fail = 0 ||
|
||||
as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
|
||||
as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
|
||||
|
||||
|
||||
# configure is writing to config.log, and then calls config.status.
|
||||
|
@ -4537,7 +4570,7 @@ $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cach
|
|||
# The eval makes quoting arguments work.
|
||||
eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
|
||||
--cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
|
||||
as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
|
||||
as_fn_error $? "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
|
||||
fi
|
||||
|
||||
cd "$ac_popdir"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# This file was generated by Autom4te Thu Aug 5 21:29:16 UTC 2010.
|
||||
# This file was generated.
|
||||
# It contains the lists of macros which have been traced.
|
||||
# It can be safely removed.
|
||||
|
||||
|
@ -7,58 +7,66 @@
|
|||
'0',
|
||||
1,
|
||||
[
|
||||
'/usr/share/autoconf'
|
||||
'/opt/local/share/autoconf'
|
||||
],
|
||||
[
|
||||
'/usr/share/autoconf/autoconf/autoconf.m4f',
|
||||
'/opt/local/share/autoconf/autoconf/autoconf.m4f',
|
||||
'aclocal.m4',
|
||||
'configure.in'
|
||||
],
|
||||
{
|
||||
'AM_PROG_F77_C_O' => 1,
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'm4_pattern_forbid' => 1,
|
||||
'AM_PROG_F77_C_O' => 1,
|
||||
'AC_INIT' => 1,
|
||||
'AC_CANONICAL_TARGET' => 1,
|
||||
'm4_pattern_forbid' => 1,
|
||||
'_AM_COND_IF' => 1,
|
||||
'AC_CONFIG_LIBOBJ_DIR' => 1,
|
||||
'AC_CANONICAL_TARGET' => 1,
|
||||
'AC_SUBST' => 1,
|
||||
'AC_CANONICAL_HOST' => 1,
|
||||
'AC_CONFIG_LIBOBJ_DIR' => 1,
|
||||
'AC_FC_SRCEXT' => 1,
|
||||
'AC_CANONICAL_HOST' => 1,
|
||||
'AC_PROG_LIBTOOL' => 1,
|
||||
'AM_INIT_AUTOMAKE' => 1,
|
||||
'AM_PATH_GUILE' => 1,
|
||||
'AC_CONFIG_SUBDIRS' => 1,
|
||||
'AM_AUTOMAKE_VERSION' => 1,
|
||||
'LT_CONFIG_LTDL_DIR' => 1,
|
||||
'AC_CONFIG_LINKS' => 1,
|
||||
'AC_REQUIRE_AUX_FILE' => 1,
|
||||
'LT_SUPPORTED_TAG' => 1,
|
||||
'AC_CONFIG_LINKS' => 1,
|
||||
'm4_sinclude' => 1,
|
||||
'LT_SUPPORTED_TAG' => 1,
|
||||
'AM_MAINTAINER_MODE' => 1,
|
||||
'AM_NLS' => 1,
|
||||
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
|
||||
'AM_MAKEFILE_INCLUDE' => 1,
|
||||
'_m4_warn' => 1,
|
||||
'AM_PROG_CXX_C_O' => 1,
|
||||
'_AM_COND_ENDIF' => 1,
|
||||
'_AM_MAKEFILE_INCLUDE' => 1,
|
||||
'AM_ENABLE_MULTILIB' => 1,
|
||||
'AM_SILENT_RULES' => 1,
|
||||
'AM_PROG_MOC' => 1,
|
||||
'AC_CONFIG_FILES' => 1,
|
||||
'include' => 1,
|
||||
'LT_INIT' => 1,
|
||||
'AM_PROG_AR' => 1,
|
||||
'AM_GNU_GETTEXT' => 1,
|
||||
'AC_LIBSOURCE' => 1,
|
||||
'AC_CANONICAL_BUILD' => 1,
|
||||
'AM_PROG_FC_C_O' => 1,
|
||||
'AC_CANONICAL_BUILD' => 1,
|
||||
'AC_FC_FREEFORM' => 1,
|
||||
'AH_OUTPUT' => 1,
|
||||
'AC_CONFIG_AUX_DIR' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'AC_CONFIG_AUX_DIR' => 1,
|
||||
'sinclude' => 1,
|
||||
'AM_PROG_CC_C_O' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'sinclude' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'AM_XGETTEXT_OPTION' => 1,
|
||||
'AC_CANONICAL_SYSTEM' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'AC_CONFIG_HEADERS' => 1,
|
||||
'AC_DEFINE_TRACE_LITERAL' => 1,
|
||||
'AM_POT_TOOLS' => 1,
|
||||
'm4_include' => 1,
|
||||
'_AM_COND_ELSE' => 1,
|
||||
'AC_SUBST_TRACE' => 1
|
||||
|
|
|
@ -297,210 +297,218 @@ m4trace:configure.in:58: -1- AC_CONFIG_SUBDIRS([i960])
|
|||
m4trace:configure.in:58: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([i960])"])
|
||||
m4trace:configure.in:58: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:58: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:61: -1- AC_CONFIG_SUBDIRS([sparc])
|
||||
m4trace:configure.in:61: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([sparc])"])
|
||||
m4trace:configure.in:61: -1- AC_CONFIG_SUBDIRS([sparc_leon])
|
||||
m4trace:configure.in:61: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([sparc_leon])"])
|
||||
m4trace:configure.in:61: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:61: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:64: -1- AC_CONFIG_SUBDIRS([wince])
|
||||
m4trace:configure.in:64: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([wince])"])
|
||||
m4trace:configure.in:64: -1- AC_CONFIG_SUBDIRS([sparc])
|
||||
m4trace:configure.in:64: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([sparc])"])
|
||||
m4trace:configure.in:64: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:64: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:67: -1- AC_CONFIG_SUBDIRS([mips])
|
||||
m4trace:configure.in:67: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mips])"])
|
||||
m4trace:configure.in:67: -1- AC_CONFIG_SUBDIRS([wince])
|
||||
m4trace:configure.in:67: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([wince])"])
|
||||
m4trace:configure.in:67: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:67: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:70: -1- AC_CONFIG_SUBDIRS([rs6000])
|
||||
m4trace:configure.in:70: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([rs6000])"])
|
||||
m4trace:configure.in:70: -1- AC_CONFIG_SUBDIRS([mips])
|
||||
m4trace:configure.in:70: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mips])"])
|
||||
m4trace:configure.in:70: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:70: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:73: -1- AC_CONFIG_SUBDIRS([mn10200])
|
||||
m4trace:configure.in:73: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mn10200])"])
|
||||
m4trace:configure.in:73: -1- AC_CONFIG_SUBDIRS([rs6000])
|
||||
m4trace:configure.in:73: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([rs6000])"])
|
||||
m4trace:configure.in:73: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:73: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:76: -1- AC_CONFIG_SUBDIRS([mn10300])
|
||||
m4trace:configure.in:76: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mn10300])"])
|
||||
m4trace:configure.in:76: -1- AC_CONFIG_SUBDIRS([mn10200])
|
||||
m4trace:configure.in:76: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mn10200])"])
|
||||
m4trace:configure.in:76: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:76: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:79: -1- AC_CONFIG_SUBDIRS([bfin])
|
||||
m4trace:configure.in:79: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([bfin])"])
|
||||
m4trace:configure.in:79: -1- AC_CONFIG_SUBDIRS([mn10300])
|
||||
m4trace:configure.in:79: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mn10300])"])
|
||||
m4trace:configure.in:79: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:79: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:82: -1- AC_CONFIG_SUBDIRS([cr16])
|
||||
m4trace:configure.in:82: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([cr16])"])
|
||||
m4trace:configure.in:82: -1- AC_CONFIG_SUBDIRS([bfin])
|
||||
m4trace:configure.in:82: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([bfin])"])
|
||||
m4trace:configure.in:82: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:82: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:85: -1- AC_CONFIG_SUBDIRS([cris])
|
||||
m4trace:configure.in:85: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([cris])"])
|
||||
m4trace:configure.in:85: -1- AC_CONFIG_SUBDIRS([cr16])
|
||||
m4trace:configure.in:85: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([cr16])"])
|
||||
m4trace:configure.in:85: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:85: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:88: -1- AC_CONFIG_SUBDIRS([crx])
|
||||
m4trace:configure.in:88: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([crx])"])
|
||||
m4trace:configure.in:88: -1- AC_CONFIG_SUBDIRS([cris])
|
||||
m4trace:configure.in:88: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([cris])"])
|
||||
m4trace:configure.in:88: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:88: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:91: -1- AC_CONFIG_SUBDIRS([d30v])
|
||||
m4trace:configure.in:91: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([d30v])"])
|
||||
m4trace:configure.in:91: -1- AC_CONFIG_SUBDIRS([crx])
|
||||
m4trace:configure.in:91: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([crx])"])
|
||||
m4trace:configure.in:91: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:91: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:94: -1- AC_CONFIG_SUBDIRS([fr30])
|
||||
m4trace:configure.in:94: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([fr30])"])
|
||||
m4trace:configure.in:94: -1- AC_CONFIG_SUBDIRS([d30v])
|
||||
m4trace:configure.in:94: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([d30v])"])
|
||||
m4trace:configure.in:94: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:94: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:97: -1- AC_CONFIG_SUBDIRS([frv])
|
||||
m4trace:configure.in:97: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([frv])"])
|
||||
m4trace:configure.in:97: -1- AC_CONFIG_SUBDIRS([fr30])
|
||||
m4trace:configure.in:97: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([fr30])"])
|
||||
m4trace:configure.in:97: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:97: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:100: -1- AC_CONFIG_SUBDIRS([lm32])
|
||||
m4trace:configure.in:100: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([lm32])"])
|
||||
m4trace:configure.in:100: -1- AC_CONFIG_SUBDIRS([frv])
|
||||
m4trace:configure.in:100: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([frv])"])
|
||||
m4trace:configure.in:100: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:100: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:103: -1- AC_CONFIG_SUBDIRS([mcore])
|
||||
m4trace:configure.in:103: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mcore])"])
|
||||
m4trace:configure.in:103: -1- AC_CONFIG_SUBDIRS([lm32])
|
||||
m4trace:configure.in:103: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([lm32])"])
|
||||
m4trace:configure.in:103: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:103: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:106: -1- AC_CONFIG_SUBDIRS([mep])
|
||||
m4trace:configure.in:106: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mep])"])
|
||||
m4trace:configure.in:106: -1- AC_CONFIG_SUBDIRS([mcore])
|
||||
m4trace:configure.in:106: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mcore])"])
|
||||
m4trace:configure.in:106: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:106: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:109: -1- AC_CONFIG_SUBDIRS([moxie])
|
||||
m4trace:configure.in:109: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([moxie])"])
|
||||
m4trace:configure.in:109: -1- AC_CONFIG_SUBDIRS([mep])
|
||||
m4trace:configure.in:109: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mep])"])
|
||||
m4trace:configure.in:109: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:109: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:112: -1- AC_CONFIG_SUBDIRS([microblaze])
|
||||
m4trace:configure.in:112: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([microblaze])"])
|
||||
m4trace:configure.in:112: -1- AC_CONFIG_SUBDIRS([moxie])
|
||||
m4trace:configure.in:112: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([moxie])"])
|
||||
m4trace:configure.in:112: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:112: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:115: -1- AC_CONFIG_SUBDIRS([mt])
|
||||
m4trace:configure.in:115: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mt])"])
|
||||
m4trace:configure.in:115: -1- AC_CONFIG_SUBDIRS([microblaze])
|
||||
m4trace:configure.in:115: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([microblaze])"])
|
||||
m4trace:configure.in:115: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:115: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:118: -1- AC_CONFIG_SUBDIRS([v850])
|
||||
m4trace:configure.in:118: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([v850])"])
|
||||
m4trace:configure.in:118: -1- AC_CONFIG_SUBDIRS([mt])
|
||||
m4trace:configure.in:118: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([mt])"])
|
||||
m4trace:configure.in:118: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:118: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:121: -1- AC_CONFIG_SUBDIRS([xc16x])
|
||||
m4trace:configure.in:121: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([xc16x])"])
|
||||
m4trace:configure.in:121: -1- AC_CONFIG_SUBDIRS([v850])
|
||||
m4trace:configure.in:121: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([v850])"])
|
||||
m4trace:configure.in:121: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:121: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:124: -1- AC_CONFIG_SUBDIRS([xstormy16])
|
||||
m4trace:configure.in:124: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([xstormy16])"])
|
||||
m4trace:configure.in:124: -1- AC_CONFIG_SUBDIRS([xc16x])
|
||||
m4trace:configure.in:124: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([xc16x])"])
|
||||
m4trace:configure.in:124: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:124: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:127: -1- AC_CONFIG_SUBDIRS([m32c])
|
||||
m4trace:configure.in:127: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([m32c])"])
|
||||
m4trace:configure.in:127: -1- AC_CONFIG_SUBDIRS([xstormy16])
|
||||
m4trace:configure.in:127: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([xstormy16])"])
|
||||
m4trace:configure.in:127: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:127: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:130: -1- AC_CONFIG_SUBDIRS([rx])
|
||||
m4trace:configure.in:130: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([rx])"])
|
||||
m4trace:configure.in:130: -1- AC_CONFIG_SUBDIRS([m32c])
|
||||
m4trace:configure.in:130: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([m32c])"])
|
||||
m4trace:configure.in:130: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:130: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:133: -1- AC_CONFIG_SUBDIRS([arm])
|
||||
m4trace:configure.in:133: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([arm])"])
|
||||
m4trace:configure.in:133: -1- AC_CONFIG_SUBDIRS([rl78])
|
||||
m4trace:configure.in:133: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([rl78])"])
|
||||
m4trace:configure.in:133: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:133: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:136: -1- AC_CONFIG_SUBDIRS([spu])
|
||||
m4trace:configure.in:136: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([spu])"])
|
||||
m4trace:configure.in:136: -1- AC_CONFIG_SUBDIRS([rx])
|
||||
m4trace:configure.in:136: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([rx])"])
|
||||
m4trace:configure.in:136: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:136: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:141: -1- AC_CONFIG_SUBDIRS([tic6x])
|
||||
m4trace:configure.in:141: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([tic6x])"])
|
||||
m4trace:configure.in:141: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:141: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:145: -1- AC_CONFIG_SUBDIRS([iq2000])
|
||||
m4trace:configure.in:145: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([iq2000])"])
|
||||
m4trace:configure.in:145: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:145: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:156: -1- AC_CONFIG_SUBDIRS([libnosys])
|
||||
m4trace:configure.in:156: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([libnosys])"])
|
||||
m4trace:configure.in:156: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:156: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([CC])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([DEPDIR])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^DEPDIR$])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([am__include])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([am__include])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^am__include$])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([am__quote])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([am__quote])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^am__quote$])
|
||||
m4trace:configure.in:159: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([AMDEP_TRUE])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([AMDEP_TRUE])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^AMDEP_TRUE$])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([AMDEP_FALSE])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([AMDEP_FALSE])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^AMDEP_FALSE$])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([AMDEPBACKSLASH])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([CCDEPMODE])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^CCDEPMODE$])
|
||||
m4trace:configure.in:159: -1- AM_CONDITIONAL([am__fastdepCC], [
|
||||
m4trace:configure.in:139: -1- AC_CONFIG_SUBDIRS([arm])
|
||||
m4trace:configure.in:139: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([arm])"])
|
||||
m4trace:configure.in:139: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:139: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:142: -1- AC_CONFIG_SUBDIRS([spu])
|
||||
m4trace:configure.in:142: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([spu])"])
|
||||
m4trace:configure.in:142: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:142: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:147: -1- AC_CONFIG_SUBDIRS([tic6x])
|
||||
m4trace:configure.in:147: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([tic6x])"])
|
||||
m4trace:configure.in:147: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:147: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:151: -1- AC_CONFIG_SUBDIRS([iq2000])
|
||||
m4trace:configure.in:151: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([iq2000])"])
|
||||
m4trace:configure.in:151: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:151: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:162: -1- AC_CONFIG_SUBDIRS([libnosys])
|
||||
m4trace:configure.in:162: -1- AC_SUBST([subdirs], ["$subdirs m4_normalize([libnosys])"])
|
||||
m4trace:configure.in:162: -1- AC_SUBST_TRACE([subdirs])
|
||||
m4trace:configure.in:162: -1- m4_pattern_allow([^subdirs$])
|
||||
m4trace:configure.in:165: -1- AC_SUBST([CC])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.in:165: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([DEPDIR])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^DEPDIR$])
|
||||
m4trace:configure.in:165: -1- AC_SUBST([am__include])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([am__include])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^am__include$])
|
||||
m4trace:configure.in:165: -1- AC_SUBST([am__quote])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([am__quote])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^am__quote$])
|
||||
m4trace:configure.in:165: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
||||
m4trace:configure.in:165: -1- AC_SUBST([AMDEP_TRUE])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([AMDEP_TRUE])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^AMDEP_TRUE$])
|
||||
m4trace:configure.in:165: -1- AC_SUBST([AMDEP_FALSE])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([AMDEP_FALSE])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^AMDEP_FALSE$])
|
||||
m4trace:configure.in:165: -1- AC_SUBST([AMDEPBACKSLASH])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
|
||||
m4trace:configure.in:165: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([CCDEPMODE])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^CCDEPMODE$])
|
||||
m4trace:configure.in:165: -1- AM_CONDITIONAL([am__fastdepCC], [
|
||||
test "x$enable_dependency_tracking" != xno \
|
||||
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([am__fastdepCC_TRUE])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([am__fastdepCC_FALSE])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
|
||||
m4trace:configure.in:159: -1- AC_SUBST([CC])
|
||||
m4trace:configure.in:159: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.in:159: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.in:159: -2- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
|
||||
m4trace:configure.in:165: -1- AC_SUBST([am__fastdepCC_TRUE])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
|
||||
m4trace:configure.in:165: -1- AC_SUBST([am__fastdepCC_FALSE])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
|
||||
m4trace:configure.in:165: -1- AC_SUBST([CC])
|
||||
m4trace:configure.in:165: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.in:165: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.in:165: -2- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
|
||||
You should run autoupdate.], [../../lib/autoconf/c.m4:436: ac_cv_prog_gcc is expanded from...
|
||||
acinclude.m4:7: LIB_AC_PROG_CC_GNU is expanded from...
|
||||
acinclude.m4:30: LIB_AC_PROG_CC is expanded from...
|
||||
configure.in:159: the top level])
|
||||
m4trace:configure.in:159: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
|
||||
configure.in:165: the top level])
|
||||
m4trace:configure.in:165: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
|
||||
You should run autoupdate.], [../../lib/autoconf/c.m4:436: ac_cv_prog_gcc is expanded from...
|
||||
../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
|
||||
../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
|
||||
../../lib/autoconf/general.m4:2040: AC_CACHE_CHECK is expanded from...
|
||||
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
|
||||
../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
|
||||
acinclude.m4:7: LIB_AC_PROG_CC_GNU is expanded from...
|
||||
acinclude.m4:30: LIB_AC_PROG_CC is expanded from...
|
||||
configure.in:159: the top level])
|
||||
m4trace:configure.in:159: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
|
||||
configure.in:165: the top level])
|
||||
m4trace:configure.in:165: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
|
||||
You should run autoupdate.], [../../lib/autoconf/c.m4:436: ac_cv_prog_gcc is expanded from...
|
||||
../../lib/m4sugar/m4sh.m4:598: AS_IF is expanded from...
|
||||
../../lib/autoconf/general.m4:2019: AC_CACHE_VAL is expanded from...
|
||||
../../lib/autoconf/general.m4:2040: AC_CACHE_CHECK is expanded from...
|
||||
../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
|
||||
../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from...
|
||||
../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from...
|
||||
acinclude.m4:7: LIB_AC_PROG_CC_GNU is expanded from...
|
||||
acinclude.m4:30: LIB_AC_PROG_CC is expanded from...
|
||||
configure.in:159: the top level])
|
||||
m4trace:configure.in:159: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
|
||||
configure.in:165: the top level])
|
||||
m4trace:configure.in:165: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
|
||||
You should run autoupdate.], [../../lib/autoconf/c.m4:436: ac_cv_prog_gcc is expanded from...
|
||||
acinclude.m4:30: LIB_AC_PROG_CC is expanded from...
|
||||
configure.in:159: the top level])
|
||||
m4trace:configure.in:161: -1- AC_SUBST([AS])
|
||||
m4trace:configure.in:161: -1- AC_SUBST_TRACE([AS])
|
||||
m4trace:configure.in:161: -1- m4_pattern_allow([^AS$])
|
||||
m4trace:configure.in:162: -1- AC_SUBST([AR])
|
||||
m4trace:configure.in:162: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.in:162: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.in:164: -1- AC_SUBST([AR])
|
||||
m4trace:configure.in:164: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.in:164: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.in:166: -1- AC_SUBST([LD])
|
||||
m4trace:configure.in:166: -1- AC_SUBST_TRACE([LD])
|
||||
m4trace:configure.in:166: -1- m4_pattern_allow([^LD$])
|
||||
m4trace:configure.in:167: -1- AC_SUBST([RANLIB])
|
||||
m4trace:configure.in:167: -1- AC_SUBST_TRACE([RANLIB])
|
||||
m4trace:configure.in:167: -1- m4_pattern_allow([^RANLIB$])
|
||||
m4trace:configure.in:168: -1- AC_SUBST([CCAS])
|
||||
m4trace:configure.in:168: -1- AC_SUBST_TRACE([CCAS])
|
||||
m4trace:configure.in:168: -1- m4_pattern_allow([^CCAS$])
|
||||
m4trace:configure.in:168: -1- AC_SUBST([CCASFLAGS])
|
||||
m4trace:configure.in:168: -1- AC_SUBST_TRACE([CCASFLAGS])
|
||||
m4trace:configure.in:168: -1- m4_pattern_allow([^CCASFLAGS$])
|
||||
m4trace:configure.in:177: -1- AC_SUBST([host_makefile_frag_path])
|
||||
m4trace:configure.in:177: -1- AC_SUBST_TRACE([host_makefile_frag_path])
|
||||
m4trace:configure.in:177: -1- m4_pattern_allow([^host_makefile_frag_path$])
|
||||
m4trace:configure.in:178: -1- m4_pattern_allow([^host_makefile_frag$])
|
||||
m4trace:configure.in:187: -1- AC_CONFIG_FILES([Makefile], [if test -n "$CONFIG_FILES"; then
|
||||
configure.in:165: the top level])
|
||||
m4trace:configure.in:167: -1- AC_SUBST([AS])
|
||||
m4trace:configure.in:167: -1- AC_SUBST_TRACE([AS])
|
||||
m4trace:configure.in:167: -1- m4_pattern_allow([^AS$])
|
||||
m4trace:configure.in:168: -1- AC_SUBST([AR])
|
||||
m4trace:configure.in:168: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.in:168: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.in:170: -1- AC_SUBST([AR])
|
||||
m4trace:configure.in:170: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.in:170: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.in:172: -1- AC_SUBST([LD])
|
||||
m4trace:configure.in:172: -1- AC_SUBST_TRACE([LD])
|
||||
m4trace:configure.in:172: -1- m4_pattern_allow([^LD$])
|
||||
m4trace:configure.in:173: -1- AC_SUBST([RANLIB])
|
||||
m4trace:configure.in:173: -1- AC_SUBST_TRACE([RANLIB])
|
||||
m4trace:configure.in:173: -1- m4_pattern_allow([^RANLIB$])
|
||||
m4trace:configure.in:174: -1- AC_SUBST([CCAS])
|
||||
m4trace:configure.in:174: -1- AC_SUBST_TRACE([CCAS])
|
||||
m4trace:configure.in:174: -1- m4_pattern_allow([^CCAS$])
|
||||
m4trace:configure.in:174: -1- AC_SUBST([CCASFLAGS])
|
||||
m4trace:configure.in:174: -1- AC_SUBST_TRACE([CCASFLAGS])
|
||||
m4trace:configure.in:174: -1- m4_pattern_allow([^CCASFLAGS$])
|
||||
m4trace:configure.in:183: -1- AC_SUBST([host_makefile_frag_path])
|
||||
m4trace:configure.in:183: -1- AC_SUBST_TRACE([host_makefile_frag_path])
|
||||
m4trace:configure.in:183: -1- m4_pattern_allow([^host_makefile_frag_path$])
|
||||
m4trace:configure.in:184: -1- m4_pattern_allow([^host_makefile_frag$])
|
||||
m4trace:configure.in:193: -1- AC_CONFIG_FILES([Makefile], [if test -n "$CONFIG_FILES"; then
|
||||
unset ac_file
|
||||
. ${libgloss_topdir}/config-ml.in
|
||||
fi], [srcdir=${srcdir}
|
||||
|
@ -512,19 +520,19 @@ libgloss_topdir=${libgloss_topdir}
|
|||
CC="${CC}"
|
||||
LDFLAGS=${LDFLAGS}
|
||||
])
|
||||
m4trace:configure.in:201: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
|
||||
m4trace:configure.in:201: -1- m4_pattern_allow([^LIB@&t@OBJS$])
|
||||
m4trace:configure.in:201: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([LTLIBOBJS])
|
||||
m4trace:configure.in:201: -1- m4_pattern_allow([^LTLIBOBJS$])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([top_builddir])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([top_build_prefix])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([srcdir])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([abs_srcdir])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([top_srcdir])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([abs_top_srcdir])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([builddir])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([abs_builddir])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([abs_top_builddir])
|
||||
m4trace:configure.in:201: -1- AC_SUBST_TRACE([INSTALL])
|
||||
m4trace:configure.in:207: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
|
||||
m4trace:configure.in:207: -1- m4_pattern_allow([^LIB@&t@OBJS$])
|
||||
m4trace:configure.in:207: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([LTLIBOBJS])
|
||||
m4trace:configure.in:207: -1- m4_pattern_allow([^LTLIBOBJS$])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([top_builddir])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([top_build_prefix])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([srcdir])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([abs_srcdir])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([top_srcdir])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([abs_top_srcdir])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([builddir])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([abs_builddir])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([abs_top_builddir])
|
||||
m4trace:configure.in:207: -1- AC_SUBST_TRACE([INSTALL])
|
||||
|
|
|
@ -55,7 +55,7 @@ SIM_SCRIPTS =
|
|||
SIM_LDFLAGS =
|
||||
SIM_BSP = libsim.a
|
||||
SIM_CRT0 = crt0.o
|
||||
SIM_OBJS = syscalls.o
|
||||
SIM_OBJS = syscalls.o clear_cache_range.o
|
||||
SIM_TEST = sim-test
|
||||
SIM_INSTALL = install-sim
|
||||
|
||||
|
@ -71,10 +71,10 @@ BOARD_SCRIPTS = bfin-common-sc.ld bfin-common-mc.ld \
|
|||
bf561.ld bf561a.ld bf561b.ld bf561m.ld \
|
||||
bf592.ld
|
||||
BOARD_LDFLAGS =
|
||||
BOARD_BSP = # We actually use libnosys.a
|
||||
BOARD_BSP = libbfinbsp.a
|
||||
BOARD_CRT0S = basiccrt.o basiccrts.o
|
||||
BOARD_CRT0S += basiccrt561.o basiccrt561s.o basiccrt561b.o
|
||||
BOARD_OBJS =
|
||||
BOARD_OBJS = clear_cache_range.o
|
||||
BOARD_TEST =
|
||||
BOARD_INSTALL = install-board
|
||||
|
||||
|
@ -91,6 +91,10 @@ all: ${SIM_CRT0} ${SIM_BSP} ${BOARD_CRT0S} ${BOARD_BSP}
|
|||
#
|
||||
# here's where we build the board support packages for each target
|
||||
#
|
||||
${BOARD_BSP}: ${OBJS} ${BOARD_OBJS}
|
||||
${AR} ${ARFLAGS} $@ $^
|
||||
${RANLIB} $@
|
||||
|
||||
${SIM_BSP}: ${OBJS} ${SIM_OBJS}
|
||||
${AR} ${ARFLAGS} ${SIM_BSP} ${SIM_OBJS} ${OBJS}
|
||||
${RANLIB} ${SIM_BSP}
|
||||
|
@ -146,12 +150,12 @@ install: ${SIM_INSTALL} ${BOARD_INSTALL}
|
|||
|
||||
install-sim:
|
||||
for x in ${SIM_CRT0} ${SIM_BSP} ${SIM_SCRIPTS}; do \
|
||||
${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \
|
||||
${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x || exit $$?; \
|
||||
done
|
||||
|
||||
install-board:
|
||||
for x in ${BOARD_CRT0S} ${BOARD_BSP}; do \
|
||||
${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; \
|
||||
${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x || exit $$?; \
|
||||
done
|
||||
-if [ -z "${MULTISUBDIR}" ]; then \
|
||||
for x in ${BOARD_SCRIPTS}; do \
|
||||
|
|
33
newlib/src/libgloss/bfin/clear_cache_range.c
Normal file
33
newlib/src/libgloss/bfin/clear_cache_range.c
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* C library support files for the Blackfin processor
|
||||
*
|
||||
* Copyright (C) 2010 Analog Devices, 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 is a callback which gcc itself wants to flush jump tables.
|
||||
|
||||
Map it into L1 Text because of anomalies 05-00-0312 and 05-00-0419. */
|
||||
|
||||
__attribute__ ((l1_text))
|
||||
void __clear_cache_range (char *beg, char *end)
|
||||
{
|
||||
char *ptr = beg;
|
||||
do {
|
||||
__asm__ __volatile__ ("FLUSH [%0++];" : "+a" (ptr) : : "memory");
|
||||
} while (ptr <= end);
|
||||
ptr = beg;
|
||||
__asm__ __volatile__ ("SSYNC;");
|
||||
do {
|
||||
__asm__ __volatile__ ("IFLUSH [%0++];" : "+a" (ptr) : : "memory");
|
||||
} while (ptr <= end);
|
||||
}
|
|
@ -45,15 +45,15 @@ L$L$clear_bss:
|
|||
/* Parse string at r1 */
|
||||
|
||||
p0.l = __init;
|
||||
p0.h = __init;
|
||||
P3 = P4;
|
||||
p0.h = __init;
|
||||
P3 = P4;
|
||||
call (p0)
|
||||
|
||||
p0.l = _atexit;
|
||||
p0.h = _atexit;
|
||||
#ifdef __BFIN_FDPIC__
|
||||
r0 = [P4 + __fini@FUNCDESC_GOT17M4] ;
|
||||
P3 = P4;
|
||||
r0 = [P4 + __fini@FUNCDESC_GOT17M4];
|
||||
P3 = P4;
|
||||
#else
|
||||
r0.l = __fini;
|
||||
r0.h = __fini;
|
||||
|
@ -61,12 +61,12 @@ L$L$clear_bss:
|
|||
call (p0)
|
||||
|
||||
p0.l = ___setup_argv_and_call_main;
|
||||
p0.h = ___setup_argv_and_call_main;
|
||||
P3 = P4;
|
||||
p0.h = ___setup_argv_and_call_main;
|
||||
P3 = P4;
|
||||
call (p0)
|
||||
|
||||
p0.l = _exit;
|
||||
p0.h = _exit;
|
||||
P3 = P4;
|
||||
p0.h = _exit;
|
||||
P3 = P4;
|
||||
jump (p0) /* Should not return. */
|
||||
nop;
|
||||
|
|
|
@ -34,8 +34,8 @@ extern "C" {
|
|||
#define __builtin_cli() ({ unsigned int __rval; __asm__ __volatile__ ("cli %0;" : "=r"(__rval)); __rval; })
|
||||
#define __builtin_sti(x) __asm__ __volatile__ ("sti %0;" : : "r"(x))
|
||||
#define __builtin_idle() __asm__ __volatile__ ("IDLE;")
|
||||
#define __builtin_raise(x) __asm__ __volatile__ ("raise %0;" : : "r"(x))
|
||||
#define __builtin_excpt(x) __asm__ __volatile__ ("excpt %0;" : : "r"(x))
|
||||
#define __builtin_raise(x) __asm__ __volatile__ ("raise %0;" : : "n"(x))
|
||||
#define __builtin_excpt(x) __asm__ __volatile__ ("excpt %0;" : : "n"(x))
|
||||
#define __builtin_prefetch(x) __asm__ __volatile__ ("PREFETCH[%0];" : : "p"(x))
|
||||
#define __builtin_prefetchmodup(x) ({ void *__p = &(x); __asm__ __volatile__ ("PREFETCH[%0++];" : "+p"(__p)); __p; })
|
||||
#define __builtin_flushinv(x) __asm__ __volatile__ ("FLUSHINV[%0];" : : "p"(x))
|
||||
|
|
|
@ -32,10 +32,15 @@ register char *stack_ptr asm ("SP");
|
|||
static inline int
|
||||
do_syscall (int reason, void *arg)
|
||||
{
|
||||
register int r asm ("P0") = reason;
|
||||
register void *a asm ("R0") = arg;
|
||||
register int result asm ("R0");
|
||||
asm volatile ("excpt 0;" : "=r" (result) : "a" (r), "r" (a) : "memory", "CC");
|
||||
int result, result2, errcode;
|
||||
asm volatile ("excpt 0;"
|
||||
: "=q0" (result),
|
||||
"=q1" (result2),
|
||||
"=q2" (errcode)
|
||||
: "qA" (reason),
|
||||
"q0" (arg)
|
||||
: "memory", "CC");
|
||||
errno = errcode;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -47,17 +52,18 @@ _read (int file, char *ptr, int len)
|
|||
block[0] = file;
|
||||
block[1] = (int) ptr;
|
||||
block[2] = len;
|
||||
|
||||
|
||||
return do_syscall (SYS_read, block);
|
||||
}
|
||||
|
||||
int
|
||||
_lseek (int file, int ptr, int dir)
|
||||
_lseek (int file, int ptr, int whence)
|
||||
{
|
||||
int block[2];
|
||||
int block[3];
|
||||
|
||||
block[0] = file;
|
||||
block[1] = ptr;
|
||||
block[2] = whence;
|
||||
|
||||
return do_syscall (SYS_lseek, block);
|
||||
}
|
||||
|
@ -66,11 +72,11 @@ int
|
|||
_write (int file, char *ptr, int len)
|
||||
{
|
||||
int block[3];
|
||||
|
||||
|
||||
block[0] = file;
|
||||
block[1] = (int) ptr;
|
||||
block[2] = len;
|
||||
|
||||
|
||||
return do_syscall (SYS_write, block);
|
||||
}
|
||||
|
||||
|
@ -111,7 +117,7 @@ _kill (int n, int m)
|
|||
int
|
||||
_getpid (int n)
|
||||
{
|
||||
return 1;
|
||||
return do_syscall (SYS_getpid, &n);
|
||||
}
|
||||
|
||||
caddr_t
|
||||
|
@ -123,9 +129,9 @@ _sbrk (int incr)
|
|||
|
||||
if (heap_end == NULL)
|
||||
heap_end = &end;
|
||||
|
||||
|
||||
prev_heap_end = heap_end;
|
||||
|
||||
|
||||
if (heap_end + incr > stack_ptr)
|
||||
{
|
||||
/* Some of the libstdc++-v3 tests rely upon detecting
|
||||
|
@ -134,14 +140,14 @@ _sbrk (int incr)
|
|||
extern void abort (void);
|
||||
|
||||
_write (1, "_sbrk: Heap and stack collision\n", 32);
|
||||
|
||||
|
||||
abort ();
|
||||
#else
|
||||
errno = ENOMEM;
|
||||
return (caddr_t) -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
heap_end += incr;
|
||||
|
||||
return (caddr_t) prev_heap_end;
|
||||
|
@ -150,40 +156,41 @@ _sbrk (int incr)
|
|||
extern void memset (struct stat *, int, unsigned int);
|
||||
|
||||
int
|
||||
_fstat (int file, struct stat * st)
|
||||
_fstat (int file, struct stat *st)
|
||||
{
|
||||
memset (st, 0, sizeof (* st));
|
||||
st->st_mode = S_IFCHR;
|
||||
st->st_blksize = 1024;
|
||||
return 0;
|
||||
int block[2];
|
||||
|
||||
block[0] = file;
|
||||
block[1] = (int) st;
|
||||
|
||||
return do_syscall (SYS_fstat, block);
|
||||
}
|
||||
|
||||
int _stat (const char *fname, struct stat *st)
|
||||
{
|
||||
int file;
|
||||
int block[2];
|
||||
|
||||
/* The best we can do is try to open the file readonly. If it exists,
|
||||
then we can guess a few things about it. */
|
||||
if ((file = _open (fname, O_RDONLY)) < 0)
|
||||
return -1;
|
||||
block[0] = (int) fname;
|
||||
block[1] = (int) st;
|
||||
|
||||
memset (st, 0, sizeof (* st));
|
||||
st->st_mode = S_IFREG | S_IREAD;
|
||||
st->st_blksize = 1024;
|
||||
_close (file); /* Not interested in the error. */
|
||||
return 0;
|
||||
return do_syscall (SYS_stat, block);
|
||||
}
|
||||
|
||||
int
|
||||
_link (void)
|
||||
_link (const char *existing, const char *new)
|
||||
{
|
||||
return -1;
|
||||
int block[2];
|
||||
|
||||
block[0] = (int) existing;
|
||||
block[1] = (int) new;
|
||||
|
||||
return do_syscall (SYS_link, block);
|
||||
}
|
||||
|
||||
int
|
||||
_unlink (void)
|
||||
_unlink (const char *path)
|
||||
{
|
||||
return -1;
|
||||
return do_syscall (SYS_unlink, path);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -201,7 +208,7 @@ _gettimeofday (struct timeval *tv, void *tz)
|
|||
}
|
||||
|
||||
/* Return a clock that ticks at 100Hz. */
|
||||
clock_t
|
||||
clock_t
|
||||
_times (struct tms * tp)
|
||||
{
|
||||
return -1;
|
||||
|
|
143
newlib/src/libgloss/configure
vendored
143
newlib/src/libgloss/configure
vendored
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.67 for libgloss LIBGLOSS_VERSION.
|
||||
# Generated by GNU Autoconf 2.68 for libgloss LIBGLOSS_VERSION.
|
||||
#
|
||||
#
|
||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
|
@ -89,6 +89,7 @@ fi
|
|||
IFS=" "" $as_nl"
|
||||
|
||||
# Find who we are. Look in the path if we contain no directory separator.
|
||||
as_myself=
|
||||
case $0 in #((
|
||||
*[\\/]* ) as_myself=$0 ;;
|
||||
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
|
@ -213,11 +214,18 @@ IFS=$as_save_IFS
|
|||
# We cannot yet assume a decent shell, so we have to provide a
|
||||
# neutralization value for shells without unset; and this also
|
||||
# works around shells that cannot unset nonexistent variables.
|
||||
# Preserve -v and -x to the replacement shell.
|
||||
BASH_ENV=/dev/null
|
||||
ENV=/dev/null
|
||||
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
|
||||
export CONFIG_SHELL
|
||||
exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
|
||||
case $- in # ((((
|
||||
*v*x* | *x*v* ) as_opts=-vx ;;
|
||||
*v* ) as_opts=-v ;;
|
||||
*x* ) as_opts=-x ;;
|
||||
* ) as_opts= ;;
|
||||
esac
|
||||
exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
|
||||
fi
|
||||
|
||||
if test x$as_have_required = xno; then :
|
||||
|
@ -664,6 +672,7 @@ m68hc11
|
|||
m68k
|
||||
pa
|
||||
i960
|
||||
sparc_leon
|
||||
sparc
|
||||
wince
|
||||
mips
|
||||
|
@ -687,6 +696,7 @@ v850
|
|||
xc16x
|
||||
xstormy16
|
||||
m32c
|
||||
rl78
|
||||
rx
|
||||
arm
|
||||
spu
|
||||
|
@ -1096,7 +1106,7 @@ Try \`$0 --help' for more information"
|
|||
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
|
||||
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
|
||||
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
|
||||
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
|
||||
: "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
@ -1387,7 +1397,7 @@ test -n "$ac_init_help" && exit $ac_status
|
|||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
libgloss configure LIBGLOSS_VERSION
|
||||
generated by GNU Autoconf 2.67
|
||||
generated by GNU Autoconf 2.68
|
||||
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
This configure script is free software; the Free Software Foundation
|
||||
|
@ -1433,7 +1443,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
|
|||
|
||||
ac_retval=1
|
||||
fi
|
||||
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
|
||||
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
||||
as_fn_set_status $ac_retval
|
||||
|
||||
} # ac_fn_c_try_compile
|
||||
|
@ -1442,7 +1452,7 @@ This file contains any messages produced by compilers while
|
|||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by libgloss $as_me LIBGLOSS_VERSION, which was
|
||||
generated by GNU Autoconf 2.67. Invocation command line was
|
||||
generated by GNU Autoconf 2.68. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
|
||||
|
@ -1700,7 +1710,7 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
|
|||
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error $? "failed to load site script $ac_site_file
|
||||
See \`config.log' for more details" "$LINENO" 5 ; }
|
||||
See \`config.log' for more details" "$LINENO" 5; }
|
||||
fi
|
||||
done
|
||||
|
||||
|
@ -1851,7 +1861,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
|
||||
$as_echo_n "checking for a BSD-compatible install... " >&6; }
|
||||
if test -z "$INSTALL"; then
|
||||
if test "${ac_cv_path_install+set}" = set; then :
|
||||
if ${ac_cv_path_install+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
|
@ -1934,7 +1944,7 @@ $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
|
|||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
|
||||
$as_echo_n "checking build system type... " >&6; }
|
||||
if test "${ac_cv_build+set}" = set; then :
|
||||
if ${ac_cv_build+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_build_alias=$build_alias
|
||||
|
@ -1950,7 +1960,7 @@ fi
|
|||
$as_echo "$ac_cv_build" >&6; }
|
||||
case $ac_cv_build in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
|
||||
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
|
||||
esac
|
||||
build=$ac_cv_build
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
|
@ -1968,7 +1978,7 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
|
|||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
|
||||
$as_echo_n "checking host system type... " >&6; }
|
||||
if test "${ac_cv_host+set}" = set; then :
|
||||
if ${ac_cv_host+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test "x$host_alias" = x; then
|
||||
|
@ -1983,7 +1993,7 @@ fi
|
|||
$as_echo "$ac_cv_host" >&6; }
|
||||
case $ac_cv_host in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
|
||||
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
|
||||
esac
|
||||
host=$ac_cv_host
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
|
@ -2001,7 +2011,7 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
|
|||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
|
||||
$as_echo_n "checking target system type... " >&6; }
|
||||
if test "${ac_cv_target+set}" = set; then :
|
||||
if ${ac_cv_target+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test "x$target_alias" = x; then
|
||||
|
@ -2016,7 +2026,7 @@ fi
|
|||
$as_echo "$ac_cv_target" >&6; }
|
||||
case $ac_cv_target in
|
||||
*-*-*) ;;
|
||||
*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5 ;;
|
||||
*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
|
||||
esac
|
||||
target=$ac_cv_target
|
||||
ac_save_IFS=$IFS; IFS='-'
|
||||
|
@ -2141,7 +2151,7 @@ do
|
|||
set dummy $ac_prog; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_AWK+set}" = set; then :
|
||||
if ${ac_cv_prog_AWK+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$AWK"; then
|
||||
|
@ -2181,7 +2191,7 @@ done
|
|||
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
|
||||
set x ${MAKE-make}
|
||||
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
|
||||
if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
|
||||
if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat >conftest.make <<\_ACEOF
|
||||
|
@ -2266,7 +2276,7 @@ if test "$cross_compiling" != no; then
|
|||
set dummy ${ac_tool_prefix}strip; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_STRIP+set}" = set; then :
|
||||
if ${ac_cv_prog_STRIP+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$STRIP"; then
|
||||
|
@ -2306,7 +2316,7 @@ if test -z "$ac_cv_prog_STRIP"; then
|
|||
set dummy strip; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
|
||||
if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$ac_ct_STRIP"; then
|
||||
|
@ -2410,6 +2420,10 @@ case "${target}" in
|
|||
i960-*-coff)
|
||||
subdirs="$subdirs i960"
|
||||
|
||||
;;
|
||||
sparc-*leon*-elf* | sparc-*leon*-none*)
|
||||
subdirs="$subdirs sparc_leon"
|
||||
|
||||
;;
|
||||
sparclet-*-aout* | sparc-*-elf* | sparc64-*-elf* | sparc86x-*-* | sparclite-*-*)
|
||||
subdirs="$subdirs sparc"
|
||||
|
@ -2502,12 +2516,16 @@ case "${target}" in
|
|||
m32c-*-*)
|
||||
subdirs="$subdirs m32c"
|
||||
|
||||
;;
|
||||
rl78*-*-elf)
|
||||
subdirs="$subdirs rl78"
|
||||
|
||||
;;
|
||||
rx*-*-elf)
|
||||
subdirs="$subdirs rx"
|
||||
|
||||
;;
|
||||
strongarm-*-elf | strongarm-*-coff | arm*-*-elf | arm*-*-coff | ep9312-*-elf | ep9312-*-coff | xscale-*-elf | xscale-*-coff | *arm-*-*)
|
||||
arm*-*-elf | arm*-*-coff | arm-*-*)
|
||||
subdirs="$subdirs arm"
|
||||
|
||||
;;
|
||||
|
@ -2603,7 +2621,7 @@ fi
|
|||
set dummy gcc; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_CC+set}" = set; then :
|
||||
if ${ac_cv_prog_CC+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$CC"; then
|
||||
|
@ -2641,7 +2659,7 @@ depcc="$CC" am_compiler_list=
|
|||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
|
||||
$as_echo_n "checking dependency style of $depcc... " >&6; }
|
||||
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
|
||||
if ${am_cv_CC_dependencies_compiler_type+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
|
||||
|
@ -2751,7 +2769,7 @@ if test -z "$CC"; then
|
|||
set dummy cc; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_CC+set}" = set; then :
|
||||
if ${ac_cv_prog_CC+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$CC"; then
|
||||
|
@ -2806,7 +2824,7 @@ fi
|
|||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5
|
||||
$as_echo_n "checking whether we are using GNU C... " >&6; }
|
||||
if test "${ac_cv_c_compiler_gnu+set}" = set; then :
|
||||
if ${ac_cv_c_compiler_gnu+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
|
@ -2837,7 +2855,7 @@ if test $ac_cv_c_compiler_gnu = yes; then
|
|||
ac_save_CFLAGS=$CFLAGS
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
|
||||
$as_echo_n "checking whether $CC accepts -g... " >&6; }
|
||||
if test "${ac_cv_prog_cc_g+set}" = set; then :
|
||||
if ${ac_cv_prog_cc_g+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_save_c_werror_flag=$ac_c_werror_flag
|
||||
|
@ -2931,7 +2949,7 @@ AS=${AS-as}
|
|||
set dummy ar; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_AR+set}" = set; then :
|
||||
if ${ac_cv_prog_AR+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$AR"; then
|
||||
|
@ -2974,7 +2992,7 @@ if test -n "$ac_tool_prefix"; then
|
|||
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_RANLIB+set}" = set; then :
|
||||
if ${ac_cv_prog_RANLIB+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$RANLIB"; then
|
||||
|
@ -3014,7 +3032,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
|
|||
set dummy ranlib; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
|
||||
if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$ac_ct_RANLIB"; then
|
||||
|
@ -3148,10 +3166,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&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" &&
|
||||
if test "x$cache_file" != "x/dev/null"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
|
||||
$as_echo "$as_me: updating cache $cache_file" >&6;}
|
||||
cat confcache >$cache_file
|
||||
if test ! -f "$cache_file" || test -h "$cache_file"; then
|
||||
cat confcache >"$cache_file"
|
||||
else
|
||||
case $cache_file in #(
|
||||
*/* | ?:*)
|
||||
mv -f confcache "$cache_file"$$ &&
|
||||
mv -f "$cache_file"$$ "$cache_file" ;; #(
|
||||
*)
|
||||
mv -f confcache "$cache_file" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
|
||||
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
|
||||
|
@ -3227,7 +3256,7 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
|
|||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
|
||||
: ${CONFIG_STATUS=./config.status}
|
||||
: "${CONFIG_STATUS=./config.status}"
|
||||
ac_write_fail=0
|
||||
ac_clean_files_save=$ac_clean_files
|
||||
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
|
||||
|
@ -3328,6 +3357,7 @@ fi
|
|||
IFS=" "" $as_nl"
|
||||
|
||||
# Find who we are. Look in the path if we contain no directory separator.
|
||||
as_myself=
|
||||
case $0 in #((
|
||||
*[\\/]* ) as_myself=$0 ;;
|
||||
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
|
@ -3635,7 +3665,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by libgloss $as_me LIBGLOSS_VERSION, which was
|
||||
generated by GNU Autoconf 2.67. Invocation command line was
|
||||
generated by GNU Autoconf 2.68. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
CONFIG_HEADERS = $CONFIG_HEADERS
|
||||
|
@ -3692,7 +3722,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
|||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
libgloss config.status LIBGLOSS_VERSION
|
||||
configured by $0, generated by GNU Autoconf 2.67,
|
||||
configured by $0, generated by GNU Autoconf 2.68,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
|
@ -3820,7 +3850,7 @@ do
|
|||
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
||||
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
|
||||
|
||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
|
||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||
esac
|
||||
done
|
||||
|
||||
|
@ -3842,9 +3872,10 @@ fi
|
|||
# after its creation but before its name has been assigned to `$tmp'.
|
||||
$debug ||
|
||||
{
|
||||
tmp=
|
||||
tmp= ac_tmp=
|
||||
trap 'exit_status=$?
|
||||
{ test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
|
||||
: "${ac_tmp:=$tmp}"
|
||||
{ test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
|
||||
' 0
|
||||
trap 'as_fn_exit 1' 1 2 13 15
|
||||
}
|
||||
|
@ -3852,12 +3883,13 @@ $debug ||
|
|||
|
||||
{
|
||||
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
|
||||
test -n "$tmp" && test -d "$tmp"
|
||||
test -d "$tmp"
|
||||
} ||
|
||||
{
|
||||
tmp=./conf$$-$RANDOM
|
||||
(umask 077 && mkdir "$tmp")
|
||||
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
|
||||
ac_tmp=$tmp
|
||||
|
||||
# Set up the scripts for CONFIG_FILES section.
|
||||
# No need to generate them if there are no CONFIG_FILES.
|
||||
|
@ -3896,13 +3928,13 @@ else
|
|||
ac_cs_awk_cr=$ac_cr
|
||||
fi
|
||||
|
||||
echo 'BEGIN {' >"$tmp/subs1.awk" &&
|
||||
echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
|
||||
_ACEOF
|
||||
|
||||
# Create commands to substitute file output variables.
|
||||
{
|
||||
echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
|
||||
echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&' &&
|
||||
echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
|
||||
echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' &&
|
||||
echo "_ACAWK" &&
|
||||
echo "_ACEOF"
|
||||
|
@ -3935,7 +3967,7 @@ done
|
|||
rm -f conf$$subs.sh
|
||||
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
|
||||
cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
|
||||
_ACEOF
|
||||
sed -n '
|
||||
h
|
||||
|
@ -3983,7 +4015,7 @@ t delim
|
|||
rm -f conf$$subs.awk
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
_ACAWK
|
||||
cat >>"\$tmp/subs1.awk" <<_ACAWK &&
|
||||
cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
|
||||
for (key in S) S_is_set[key] = 1
|
||||
FS = ""
|
||||
\$ac_cs_awk_pipe_init
|
||||
|
@ -4021,7 +4053,7 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
|
|||
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
|
||||
else
|
||||
cat
|
||||
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
|
||||
fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|
||||
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
|
||||
_ACEOF
|
||||
|
||||
|
@ -4061,7 +4093,7 @@ do
|
|||
esac
|
||||
case $ac_mode$ac_tag in
|
||||
:[FHL]*:*);;
|
||||
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
|
||||
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
|
||||
:[FH]-) ac_tag=-:-;;
|
||||
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
|
||||
esac
|
||||
|
@ -4080,7 +4112,7 @@ do
|
|||
for ac_f
|
||||
do
|
||||
case $ac_f in
|
||||
-) ac_f="$tmp/stdin";;
|
||||
-) ac_f="$ac_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 `:'.
|
||||
|
@ -4089,7 +4121,7 @@ do
|
|||
[\\/$]*) false;;
|
||||
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
|
||||
esac ||
|
||||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
|
||||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
|
||||
esac
|
||||
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
|
||||
as_fn_append ac_file_inputs " '$ac_f'"
|
||||
|
@ -4115,8 +4147,8 @@ $as_echo "$as_me: creating $ac_file" >&6;}
|
|||
esac
|
||||
|
||||
case $ac_tag in
|
||||
*:-:* | *:-) cat >"$tmp/stdin" \
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
|
||||
*:-:* | *:-) cat >"$ac_tmp/stdin" \
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
@ -4248,24 +4280,25 @@ $ac_datarootdir_hack
|
|||
"
|
||||
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
|
||||
if $ac_cs_awk_getline; then
|
||||
$AWK -f "$tmp/subs.awk"
|
||||
$AWK -f "$ac_tmp/subs.awk"
|
||||
else
|
||||
$AWK -f "$tmp/subs.awk" | $SHELL
|
||||
fi >$tmp/out \
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||
$AWK -f "$ac_tmp/subs.awk" | $SHELL
|
||||
fi \
|
||||
>$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||
|
||||
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"; } &&
|
||||
{ ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
|
||||
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
|
||||
"$ac_tmp/out"`; test -z "$ac_out"; } &&
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
|
||||
which seems to be undefined. Please make sure it is defined" >&5
|
||||
$as_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"
|
||||
rm -f "$ac_tmp/stdin"
|
||||
case $ac_file in
|
||||
-) cat "$tmp/out" && rm -f "$tmp/out";;
|
||||
*) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
|
||||
-) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
|
||||
*) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
|
||||
esac \
|
||||
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
|
||||
;;
|
||||
|
|
|
@ -57,6 +57,9 @@ case "${target}" in
|
|||
i960-*-coff)
|
||||
AC_CONFIG_SUBDIRS([i960])
|
||||
;;
|
||||
sparc-*leon*-elf* | sparc-*leon*-none*)
|
||||
AC_CONFIG_SUBDIRS([sparc_leon])
|
||||
;;
|
||||
sparclet-*-aout* | sparc-*-elf* | sparc64-*-elf* | sparc86x-*-* | sparclite-*-*)
|
||||
AC_CONFIG_SUBDIRS([sparc])
|
||||
;;
|
||||
|
@ -126,10 +129,13 @@ case "${target}" in
|
|||
m32c-*-*)
|
||||
AC_CONFIG_SUBDIRS([m32c])
|
||||
;;
|
||||
rl78*-*-elf)
|
||||
AC_CONFIG_SUBDIRS([rl78])
|
||||
;;
|
||||
rx*-*-elf)
|
||||
AC_CONFIG_SUBDIRS([rx])
|
||||
;;
|
||||
strongarm-*-elf | strongarm-*-coff | arm*-*-elf | arm*-*-coff | ep9312-*-elf | ep9312-*-coff | xscale-*-elf | xscale-*-coff | *arm-*-*)
|
||||
arm*-*-elf | arm*-*-coff | arm-*-*)
|
||||
AC_CONFIG_SUBDIRS([arm])
|
||||
;;
|
||||
spu-*-elf)
|
||||
|
|
|
@ -267,7 +267,7 @@ EXT(__frv_fix_usrptrs):
|
|||
|
||||
.Lret3: ret
|
||||
.Lend3:
|
||||
.size EXT(__frv_fix_usrptrs),.Lend2-EXT(__frv_fix_usrptrs)
|
||||
.size EXT(__frv_fix_usrptrs),.Lend3-EXT(__frv_fix_usrptrs)
|
||||
|
||||
.section .data
|
||||
.global __dso_handle
|
||||
|
|
|
@ -156,7 +156,7 @@ SECTIONS
|
|||
LONG (0);
|
||||
PROVIDE (__eh_frame_end = .);
|
||||
}
|
||||
.gcc_except_table : { *(.gcc_except_table) }
|
||||
.gcc_except_table : { *(.gcc_except_table) *(.gcc_except_table.*) }
|
||||
.hash : { *(.hash) }
|
||||
.dynsym : { *(.dynsym) }
|
||||
.dynstr : { *(.dynstr) }
|
||||
|
|
|
@ -132,7 +132,7 @@ distclean maintainer-clean realclean: clean
|
|||
install:
|
||||
@for outputs in ${OUTPUTS}; do\
|
||||
mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
|
||||
$(INSTALL_PROGRAM) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
|
||||
$(INSTALL_DATA) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
|
||||
done
|
||||
|
||||
info:
|
||||
|
|
6
newlib/src/libgloss/libnosys/configure
vendored
6
newlib/src/libgloss/libnosys/configure
vendored
|
@ -2050,8 +2050,6 @@ case "${target}" in
|
|||
;;
|
||||
arm-*-*)
|
||||
;;
|
||||
strongarm-*-*)
|
||||
;;
|
||||
bfin-*-*)
|
||||
;;
|
||||
cris-*-* | crisv32-*-*)
|
||||
|
@ -2078,10 +2076,6 @@ case "${target}" in
|
|||
;;
|
||||
sparc64-*-*)
|
||||
;;
|
||||
thumb-*-pe)
|
||||
;;
|
||||
thumb-*-*)
|
||||
;;
|
||||
v850*-*-*)
|
||||
;;
|
||||
w65-*-*)
|
||||
|
|
|
@ -49,8 +49,6 @@ case "${target}" in
|
|||
;;
|
||||
arm-*-*)
|
||||
;;
|
||||
strongarm-*-*)
|
||||
;;
|
||||
bfin-*-*)
|
||||
;;
|
||||
cris-*-* | crisv32-*-*)
|
||||
|
@ -77,10 +75,6 @@ case "${target}" in
|
|||
;;
|
||||
sparc64-*-*)
|
||||
;;
|
||||
thumb-*-pe)
|
||||
;;
|
||||
thumb-*-*)
|
||||
;;
|
||||
v850*-*-*)
|
||||
;;
|
||||
w65-*-*)
|
||||
|
|
160
newlib/src/libgloss/rl78/Makefile.in
Normal file
160
newlib/src/libgloss/rl78/Makefile.in
Normal file
|
@ -0,0 +1,160 @@
|
|||
# Copyright (c) 2008, 2009, 2011 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.
|
||||
|
||||
# Makefile for libgloss/rl78.
|
||||
|
||||
VPATH = @srcdir@
|
||||
srcdir = @srcdir@
|
||||
objdir = .
|
||||
srcroot = $(srcdir)/../..
|
||||
objroot = $(objdir)/../..
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
host_alias = @host_alias@
|
||||
target_alias = @target_alias@
|
||||
|
||||
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@
|
||||
AR = @AR@
|
||||
LD = @LD@
|
||||
RANLIB = @RANLIB@
|
||||
AR_FLAGS = rc
|
||||
|
||||
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`
|
||||
|
||||
SCRIPTS = $(srcdir)/rl78.ld $(srcdir)/rl78-sim.ld
|
||||
CRT = gcrt0.o crt0.o crtn.o
|
||||
SIM_BSP = libsim.a
|
||||
LIBNOSYS = ../libnosys/libnosys.a
|
||||
SIM_OBJS = \
|
||||
sbrk.o \
|
||||
exit.o \
|
||||
open.o \
|
||||
close.o \
|
||||
read.o \
|
||||
write.o \
|
||||
lseek.o \
|
||||
unlink.o \
|
||||
getpid.o \
|
||||
kill.o \
|
||||
fstat.o \
|
||||
argvlen.o \
|
||||
argv.o \
|
||||
chdir.o \
|
||||
stat.o \
|
||||
chmod.o \
|
||||
utime.o \
|
||||
time.o \
|
||||
gettimeofday.o \
|
||||
times.o \
|
||||
link.o \
|
||||
isatty.o \
|
||||
abort.o \
|
||||
mcount.o
|
||||
|
||||
#### Host specific Makefile fragment comes in here.
|
||||
@host_makefile_frag@
|
||||
|
||||
|
||||
# Override .S.o rule to pass assembler debugging flags
|
||||
.S.o:
|
||||
$(CC) -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $<
|
||||
|
||||
all: $(CRT) $(SIM_BSP) copy_scripts_to_objdir
|
||||
|
||||
$(SIM_BSP): $(SIM_OBJS)
|
||||
$(AR) $(ARFLAGS) $@ $?
|
||||
$(RANLIB) $@
|
||||
|
||||
copy_scripts_to_objdir: $(SCRIPTS)
|
||||
cp $(SCRIPTS) $(objdir)
|
||||
|
||||
# Dependencies
|
||||
|
||||
SDEPS = $(srcdir)/rl78-sys.h $(srcdir)/../syscall.h
|
||||
|
||||
abort.o : $(SDEPS)
|
||||
argv.o : $(SDEPS)
|
||||
argvlen.o : $(SDEPS)
|
||||
chdir.o : $(SDEPS)
|
||||
chmod.o : $(SDEPS)
|
||||
close.o : $(SDEPS)
|
||||
exit.o : $(SDEPS)
|
||||
fstat.o : $(SDEPS)
|
||||
getpid.o : $(SDEPS)
|
||||
gettimeofday.o : $(SDEPS)
|
||||
gcrt0.o: gcrt0.S crt0.S
|
||||
kill.o : $(SDEPS)
|
||||
link.o : $(SDEPS)
|
||||
lseek.o : $(SDEPS)
|
||||
mcount.o : $(SDEPS)
|
||||
open.o : $(SDEPS)
|
||||
read.o : $(SDEPS)
|
||||
sigprocmask.o : $(SDEPS)
|
||||
sleep.o : $(SDEPS)
|
||||
stat.o : $(SDEPS)
|
||||
time.o : $(SDEPS)
|
||||
times.o : $(SDEPS)
|
||||
unlink.o : $(SDEPS)
|
||||
utime.o : $(SDEPS)
|
||||
write.o : $(SDEPS)
|
||||
|
||||
install: $(CRT) $(SIM_BSP) $(SCRIPTS)
|
||||
for c in $(CRT) $(SIM_BSP); do \
|
||||
$(INSTALL_DATA) $$c $(tooldir)/lib${MULTISUBDIR}/$$c ;\
|
||||
done
|
||||
for c in $(SCRIPTS); do \
|
||||
b=`basename $$c`; \
|
||||
$(INSTALL_DATA) $$c $(tooldir)/lib${MULTISUBDIR}/$$b ;\
|
||||
done
|
||||
|
||||
clean mostlyclean:
|
||||
rm -f *.o *.a
|
||||
|
||||
distclean maintainer-clean realclean: clean
|
||||
rm -f Makefile config.cache config.log config.status
|
||||
|
||||
.PHONY: info dvi doc install-info clean-info
|
||||
info doc dvi:
|
||||
install-info:
|
||||
clean-info:
|
||||
|
||||
Makefile: Makefile.in config.status @host_makefile_frag_path@
|
||||
$(SHELL) config.status
|
||||
|
||||
config.status: configure
|
||||
$(SHELL) config.status --recheck
|
50
newlib/src/libgloss/rl78/abort.S
Normal file
50
newlib/src/libgloss/rl78/abort.S
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
.global _abort
|
||||
.type _abort, @function
|
||||
_abort:
|
||||
/* This is for debuggers. The simulator stops here too. */
|
||||
brk
|
||||
|
||||
movw ax, #42
|
||||
push ax
|
||||
SYSCALL(SYS_kill)
|
||||
pop ax
|
||||
|
||||
/* Else, exit. */
|
||||
call !!__exit
|
||||
|
||||
.size _abort, . - _abort
|
||||
|
35
newlib/src/libgloss/rl78/argv.S
Normal file
35
newlib/src/libgloss/rl78/argv.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(argv)
|
35
newlib/src/libgloss/rl78/argvlen.S
Normal file
35
newlib/src/libgloss/rl78/argvlen.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(argvlen)
|
35
newlib/src/libgloss/rl78/chdir.S
Normal file
35
newlib/src/libgloss/rl78/chdir.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(chdir)
|
35
newlib/src/libgloss/rl78/chmod.S
Normal file
35
newlib/src/libgloss/rl78/chmod.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(chmod)
|
35
newlib/src/libgloss/rl78/close.S
Normal file
35
newlib/src/libgloss/rl78/close.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
OK(close)
|
3815
newlib/src/libgloss/rl78/configure
vendored
Normal file
3815
newlib/src/libgloss/rl78/configure
vendored
Normal file
File diff suppressed because it is too large
Load diff
55
newlib/src/libgloss/rl78/configure.in
Normal file
55
newlib/src/libgloss/rl78/configure.in
Normal file
|
@ -0,0 +1,55 @@
|
|||
dnl 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
|
||||
|
||||
host_makefile_frag=${srcdir}/../config/default.mh
|
||||
|
||||
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)
|
||||
|
||||
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
|
327
newlib/src/libgloss/rl78/crt0.S
Normal file
327
newlib/src/libgloss/rl78/crt0.S
Normal file
|
@ -0,0 +1,327 @@
|
|||
/* Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
This software is provided by the copyright holders and contributors
|
||||
"AS IS" and any express or implied warranties, including, but not
|
||||
limited to, the implied warranties of merchantability and fitness for
|
||||
a particular purpose are disclaimed. In no event shall Red Hat
|
||||
incorporated be liable for any direct, indirect, incidental, special,
|
||||
exemplary, or consequential damages (including, but not limited to,
|
||||
procurement of substitute goods or services; loss of use, data, or
|
||||
profits; or business interruption) however caused and on any theory of
|
||||
liability, whether in contract, strict liability, or tort (including
|
||||
negligence or otherwise) arising in any way out of the use of this
|
||||
software, even if advised of the possibility of such damage. */
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
.section ".vec","a"
|
||||
.short _start
|
||||
|
||||
.section ".ivec","a"
|
||||
#define IV(x) .weak _##x##_handler | .short _##x##_handler
|
||||
#define IVx() .short 0
|
||||
|
||||
/* To use a vector, simply define a global function named foo_handler()
|
||||
for any IV(foo) listed below (i.e. tm05_handler) */
|
||||
|
||||
.global _interrupt_vector_table
|
||||
_interrupt_vector_table:
|
||||
IV(wdti)
|
||||
IV(lvi)
|
||||
IV(p0)
|
||||
IV(p1)
|
||||
IV(p2)
|
||||
IV(p3)
|
||||
IV(p4)
|
||||
IV(p5)
|
||||
|
||||
IV(st2)
|
||||
IV(sr2)
|
||||
IV(sre2)
|
||||
IV(dma0)
|
||||
IV(dma1)
|
||||
IV(st0)
|
||||
IV(sr0)
|
||||
IV(tm01h)
|
||||
|
||||
IV(st1)
|
||||
IV(sr1)
|
||||
IV(sre1)
|
||||
IV(iica0)
|
||||
IV(tm00)
|
||||
IV(tm01)
|
||||
IV(tm02)
|
||||
IV(tm03)
|
||||
|
||||
IV(ad)
|
||||
IV(rtc)
|
||||
IV(it)
|
||||
IV(kr)
|
||||
IV(st3)
|
||||
IV(sr3)
|
||||
IV(tm13)
|
||||
IV(tm04)
|
||||
|
||||
IV(tm05)
|
||||
IV(tm06)
|
||||
IV(tm07)
|
||||
IV(p6)
|
||||
IV(p7)
|
||||
IV(p8)
|
||||
IV(p9)
|
||||
IV(p10)
|
||||
|
||||
IV(p11)
|
||||
IV(tm10)
|
||||
IV(tm12)
|
||||
IV(sre3)
|
||||
IV(tm13h)
|
||||
IV(md)
|
||||
IV(iica1)
|
||||
IV(fl)
|
||||
|
||||
IV(dma2)
|
||||
IV(dma3)
|
||||
IV(tm14)
|
||||
IV(tm15)
|
||||
IV(tm16)
|
||||
IV(tm17)
|
||||
IVx()
|
||||
IVx()
|
||||
|
||||
IVx()
|
||||
IVx()
|
||||
IVx()
|
||||
IVx()
|
||||
IVx()
|
||||
IV(brk)
|
||||
/* Note: 126 vectors */
|
||||
|
||||
.section ".csstart", "ax"
|
||||
.global __csstart
|
||||
__csstart:
|
||||
br !!_start
|
||||
|
||||
.weak __rl78_option_byte_0
|
||||
.weak __rl78_option_byte_1
|
||||
.weak __rl78_option_byte_2
|
||||
.weak __rl78_option_byte_3
|
||||
__rl78_option_byte_0 = 0x6e
|
||||
__rl78_option_byte_1 = 0xff
|
||||
__rl78_option_byte_2 = 0xe8
|
||||
__rl78_option_byte_3 = 0x85
|
||||
|
||||
.section ".opt", "a"
|
||||
.byte __rl78_option_byte_0
|
||||
.byte __rl78_option_byte_1
|
||||
.byte __rl78_option_byte_2
|
||||
.byte __rl78_option_byte_3
|
||||
|
||||
.text
|
||||
|
||||
.global _start
|
||||
.type _start, @function
|
||||
_start:
|
||||
movw sp, #__stack
|
||||
|
||||
|
||||
;; block move to initialize .data
|
||||
|
||||
;; we're copying from 00:[_romdatastart] to 0F:[_datastart]
|
||||
;; and our data is not in the mirrored area.
|
||||
mov es, #0
|
||||
|
||||
sel rb0 ; bank 0
|
||||
movw hl, #__datastart
|
||||
movw de, #__romdatastart
|
||||
sel rb1 ; bank 1
|
||||
movw ax, #__romdatacopysize
|
||||
shrw ax,1
|
||||
1:
|
||||
cmpw ax, #0
|
||||
bz $1f
|
||||
decw ax
|
||||
sel rb0 ; bank 0
|
||||
movw ax, es:[de]
|
||||
movw [hl], ax
|
||||
incw de
|
||||
incw de
|
||||
incw hl
|
||||
incw hl
|
||||
sel rb1
|
||||
br $1b
|
||||
1:
|
||||
sel rb0 ; bank 0
|
||||
|
||||
|
||||
;; block fill to .bss
|
||||
|
||||
sel rb0 ; bank 0
|
||||
movw hl, #__bssstart
|
||||
movw ax, #0
|
||||
sel rb1 ; bank 1
|
||||
movw ax, #__bsssize
|
||||
shrw ax,1
|
||||
1:
|
||||
cmpw ax, #0
|
||||
bz $1f
|
||||
decw ax
|
||||
sel rb0 ; bank 0
|
||||
movw [hl], ax
|
||||
incw hl
|
||||
incw hl
|
||||
sel rb1
|
||||
br $1b
|
||||
1:
|
||||
sel rb0 ; bank 0
|
||||
|
||||
|
||||
|
||||
call !!__rl78_init
|
||||
|
||||
#ifdef PROFILE_SUPPORT /* Defined in gcrt0.S. */
|
||||
movw ax, # _start
|
||||
push ax
|
||||
movw ax, # _etext
|
||||
push ax
|
||||
call !!__monstartup
|
||||
#endif
|
||||
|
||||
movw ax, #0
|
||||
push ax /* envp */
|
||||
push ax /* argv */
|
||||
push ax /* argc */
|
||||
call !!_main
|
||||
.LFE2:
|
||||
|
||||
movw ax, r8 ; Save return code.
|
||||
push ax
|
||||
|
||||
#ifdef PROFILE_SUPPORT
|
||||
call !!__mcleanup
|
||||
#endif
|
||||
|
||||
call !!_exit
|
||||
|
||||
.size _start, . - _start
|
||||
|
||||
.global _rl78_run_preinit_array
|
||||
.type _rl78_run_preinit_array,@function
|
||||
_rl78_run_preinit_array:
|
||||
movw hl, #__preinit_array_start
|
||||
movw de, #__preinit_array_end
|
||||
movw bc, #-2
|
||||
br $_rl78_run_inilist
|
||||
|
||||
.global _rl78_run_init_array
|
||||
.type _rl78_run_init_array,@function
|
||||
_rl78_run_init_array:
|
||||
movw hl, #__init_array_start
|
||||
movw de, #__init_array_end
|
||||
movw bc, #2
|
||||
br $_rl78_run_inilist
|
||||
|
||||
.global _rl78_run_fini_array
|
||||
.type _rl78_run_fini_array,@function
|
||||
_rl78_run_fini_array:
|
||||
movw hl, #__fini_array_start
|
||||
movw de, #__fini_array_end
|
||||
movw bc, #-2
|
||||
/* fall through */
|
||||
|
||||
;; HL = start of list
|
||||
;; DE = end of list
|
||||
;; BC = step direction (+2 or -2)
|
||||
_rl78_run_inilist:
|
||||
next_inilist:
|
||||
movw ax, hl
|
||||
cmpw ax, de
|
||||
bz $done_inilist
|
||||
movw ax, [hl]
|
||||
cmpw ax, #-1
|
||||
bz $skip_inilist
|
||||
cmpw ax, #0
|
||||
bz $skip_inilist
|
||||
push ax
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
call ax
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
pop ax
|
||||
skip_inilist:
|
||||
movw ax, hl
|
||||
addw ax, bc
|
||||
movw hl, ax
|
||||
br $next_inilist
|
||||
done_inilist:
|
||||
ret
|
||||
|
||||
.section .init,"ax"
|
||||
|
||||
.global __rl78_init
|
||||
__rl78_init:
|
||||
|
||||
.section .fini,"ax"
|
||||
|
||||
.global __rl78_fini
|
||||
__rl78_fini:
|
||||
call !!_rl78_run_fini_array
|
||||
|
||||
.section .data
|
||||
.global ___dso_handle
|
||||
.weak ___dso_handle
|
||||
___dso_handle:
|
||||
.long 0
|
||||
|
||||
;;; Provide Dwarf unwinding information that will help GDB stop
|
||||
;;; backtraces at the right place. This is stolen from assembly
|
||||
;;; code generated by GCC with -dA.
|
||||
.section .debug_frame,"",@progbits
|
||||
.Lframe0:
|
||||
.4byte .LECIE0-.LSCIE0 ; Length of Common Information Entry
|
||||
.LSCIE0:
|
||||
.4byte 0xffffffff ; CIE Identifier Tag
|
||||
.byte 0x1 ; CIE Version
|
||||
.ascii "\0" ; CIE Augmentation
|
||||
.uleb128 0x1 ; CIE Code Alignment Factor
|
||||
.sleb128 -1 ; CIE Data Alignment Factor
|
||||
.byte 0xd ; CIE RA Column
|
||||
.byte 0xc ; DW_CFA_def_cfa
|
||||
.uleb128 0xc
|
||||
.uleb128 0x3
|
||||
.byte 0x8d ; DW_CFA_offset, column 0xd
|
||||
.uleb128 0x3
|
||||
.p2align 2
|
||||
.LECIE0:
|
||||
.LSFDE0:
|
||||
.4byte .LEFDE0-.LASFDE0 ; FDE Length
|
||||
.LASFDE0:
|
||||
.4byte .Lframe0 ; FDE CIE offset
|
||||
.4byte _start ; FDE initial location
|
||||
.4byte .LFE2 - _start ; FDE address range
|
||||
.byte 0xf ; DW_CFA_def_cfa_expression
|
||||
.uleb128 1 ; length of expression
|
||||
.byte 0x30 ; DW_OP_lit0
|
||||
.p2align 2
|
||||
.LEFDE0:
|
||||
|
||||
.text
|
47
newlib/src/libgloss/rl78/crtn.S
Normal file
47
newlib/src/libgloss/rl78/crtn.S
Normal file
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2005,2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
.section .init,"ax"
|
||||
call !!_rl78_run_preinit_array
|
||||
call !!_rl78_run_init_array
|
||||
ret
|
||||
.global __rl78_init_end
|
||||
__rl78_init_end:
|
||||
|
||||
.section .fini,"ax"
|
||||
|
||||
ret
|
||||
.global __rl78_fini_end
|
||||
__rl78_fini_end:
|
||||
|
||||
.text
|
||||
|
43
newlib/src/libgloss/rl78/exit.S
Normal file
43
newlib/src/libgloss/rl78/exit.S
Normal file
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
.global __exit
|
||||
.type __exit, @function
|
||||
__exit:
|
||||
call !!__rl78_fini
|
||||
mov a, [sp+4]
|
||||
halt
|
||||
SYSCALL(SYS_exit)
|
||||
.size __exit, . - __exit
|
||||
|
35
newlib/src/libgloss/rl78/fstat.S
Normal file
35
newlib/src/libgloss/rl78/fstat.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(fstat)
|
58
newlib/src/libgloss/rl78/gcrt0.S
Normal file
58
newlib/src/libgloss/rl78/gcrt0.S
Normal file
|
@ -0,0 +1,58 @@
|
|||
/* Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
This software is provided by the copyright holders and contributors
|
||||
"AS IS" and any express or implied warranties, including, but not
|
||||
limited to, the implied warranties of merchantability and fitness for
|
||||
a particular purpose are disclaimed. In no event shall Red Hat
|
||||
incorporated be liable for any direct, indirect, incidental, special,
|
||||
exemplary, or consequential damages (including, but not limited to,
|
||||
procurement of substitute goods or services; loss of use, data, or
|
||||
profits; or business interruption) however caused and on any theory of
|
||||
liability, whether in contract, strict liability, or tort (including
|
||||
negligence or otherwise) arising in any way out of the use of this
|
||||
software, even if advised of the possibility of such damage. */
|
||||
|
||||
#define PROFILE_SUPPORT 1
|
||||
|
||||
#include "crt0.S"
|
||||
|
||||
.global __mcount
|
||||
.type __mcount, @function
|
||||
__mcount:
|
||||
;; When a function is compiled for profiling, gcc creates code
|
||||
;; like this at the start of each profiled function:
|
||||
;;
|
||||
;; .global <func_name>
|
||||
;; <func_name>:
|
||||
;; bsr __mcount
|
||||
;; <...function's prologue...>
|
||||
;; <...function's body...>
|
||||
;;
|
||||
;; We must save all of the argument registers, extract the
|
||||
;; address of <func_name>, call _mcount_internal to do the
|
||||
;; real work and then restore the argument registers before
|
||||
;; returning.
|
||||
|
||||
movw ax, [sp]
|
||||
push ax
|
||||
call !!__mcount_internal
|
||||
pop ax
|
||||
ret
|
||||
|
||||
.size __mcount, . - __mcount
|
36
newlib/src/libgloss/rl78/getpid.S
Normal file
36
newlib/src/libgloss/rl78/getpid.S
Normal file
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
RET(getpid,42)
|
||||
|
35
newlib/src/libgloss/rl78/gettimeofday.S
Normal file
35
newlib/src/libgloss/rl78/gettimeofday.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(gettimeofday)
|
36
newlib/src/libgloss/rl78/isatty.S
Normal file
36
newlib/src/libgloss/rl78/isatty.S
Normal file
|
@ -0,0 +1,36 @@
|
|||
/* Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
.global _isatty
|
||||
.weak _isatty
|
||||
_isatty:
|
||||
|
||||
RET(_isatty,1)
|
||||
|
35
newlib/src/libgloss/rl78/kill.S
Normal file
35
newlib/src/libgloss/rl78/kill.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(kill)
|
35
newlib/src/libgloss/rl78/link.S
Normal file
35
newlib/src/libgloss/rl78/link.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(link)
|
35
newlib/src/libgloss/rl78/lseek.S
Normal file
35
newlib/src/libgloss/rl78/lseek.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(lseek)
|
422
newlib/src/libgloss/rl78/mcount.c
Normal file
422
newlib/src/libgloss/rl78/mcount.c
Normal file
|
@ -0,0 +1,422 @@
|
|||
/*-
|
||||
* Copyright (c) 1983, 1992, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* This file implements a subset of the profiling support functions.
|
||||
It has been copied and adapted from mcount.c, gmon.c and gmon.h in
|
||||
the glibc sources.
|
||||
Since we do not have access to a timer interrupt in the simulator
|
||||
the histogram and basic block information is not generated. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
/* Fraction of text space to allocate for histogram counters here, 1/2. */
|
||||
#define HISTFRACTION 2
|
||||
|
||||
/* Fraction of text space to allocate for from hash buckets.
|
||||
The value of HASHFRACTION is based on the minimum number of bytes
|
||||
of separation between two subroutine call points in the object code.
|
||||
Given MIN_SUBR_SEPARATION bytes of separation the value of
|
||||
HASHFRACTION is calculated as:
|
||||
|
||||
HASHFRACTION = MIN_SUBR_SEPARATION / (2 * sizeof (short) - 1);
|
||||
|
||||
For example, on the VAX, the shortest two call sequence is:
|
||||
|
||||
calls $0,(r0)
|
||||
calls $0,(r0)
|
||||
|
||||
which is separated by only three bytes, thus HASHFRACTION is
|
||||
calculated as:
|
||||
|
||||
HASHFRACTION = 3 / (2 * 2 - 1) = 1
|
||||
|
||||
Note that the division above rounds down, thus if MIN_SUBR_FRACTION
|
||||
is less than three, this algorithm will not work!
|
||||
|
||||
In practice, however, call instructions are rarely at a minimal
|
||||
distance. Hence, we will define HASHFRACTION to be 2 across all
|
||||
architectures. This saves a reasonable amount of space for
|
||||
profiling data structures without (in practice) sacrificing
|
||||
any granularity. */
|
||||
#define HASHFRACTION 2
|
||||
|
||||
/* Percent of text space to allocate for tostructs.
|
||||
This is a heuristic; we will fail with a warning when profiling
|
||||
programs with a very large number of very small functions, but
|
||||
that's normally OK.
|
||||
2 is probably still a good value for normal programs.
|
||||
Profiling a test case with 64000 small functions will work if
|
||||
you raise this value to 3 and link statically (which bloats the
|
||||
text size, thus raising the number of arcs expected by the heuristic). */
|
||||
#define ARCDENSITY 3
|
||||
|
||||
/* Always allocate at least this many tostructs. This hides the
|
||||
inadequacy of the ARCDENSITY heuristic, at least for small programs. */
|
||||
#define MINARCS 50
|
||||
|
||||
/* Maximum number of arcs we want to allow.
|
||||
Used to be max representable value of ARCINDEX minus 2, but now
|
||||
that ARCINDEX is a long, that's too large; we don't really want
|
||||
to allow a 48 gigabyte table.
|
||||
The old value of 1<<16 wasn't high enough in practice for large C++
|
||||
programs; will 1<<20 be adequate for long? FIXME */
|
||||
#define MAXARCS (1L << 20)
|
||||
|
||||
#define SCALE_1_TO_1 0x10000L
|
||||
|
||||
#define GMON_MAGIC "gmon" /* Magic cookie. */
|
||||
#define GMON_VERSION 1 /* Version number. */
|
||||
|
||||
|
||||
/* General rounding functions. */
|
||||
#define ROUNDDOWN(x ,y) (((x) / (y)) * (y))
|
||||
#define ROUNDUP(x, y) ((((x) + (y) - 1) / (y)) * (y))
|
||||
|
||||
struct tostruct
|
||||
{
|
||||
unsigned long selfpc;
|
||||
unsigned long count;
|
||||
unsigned long link;
|
||||
};
|
||||
|
||||
/* Possible states of profiling. */
|
||||
enum profiling_state
|
||||
{
|
||||
GMON_PROF_OFF,
|
||||
GMON_PROF_ON,
|
||||
GMON_PROF_BUSY,
|
||||
GMON_PROF_ERROR
|
||||
};
|
||||
|
||||
/* The profiling data structures are housed in this structure. */
|
||||
struct gmonparam
|
||||
{
|
||||
enum profiling_state state;
|
||||
unsigned short * kcount;
|
||||
unsigned long kcountsize;
|
||||
unsigned long * froms;
|
||||
unsigned long fromssize;
|
||||
struct tostruct * tos;
|
||||
unsigned long tossize;
|
||||
long tolimit;
|
||||
unsigned long lowpc;
|
||||
unsigned long highpc;
|
||||
unsigned long textsize;
|
||||
unsigned long hashfraction;
|
||||
long log_hashfraction;
|
||||
};
|
||||
|
||||
/* Raw header as it appears in the gmon.out file (without padding).
|
||||
This header always comes first and is then followed by a series
|
||||
records defined below. */
|
||||
struct gmon_hdr
|
||||
{
|
||||
char cookie[4];
|
||||
char version[4];
|
||||
char spare[3 * 4];
|
||||
};
|
||||
|
||||
/* Types of records in this file. */
|
||||
typedef enum
|
||||
{
|
||||
GMON_TAG_TIME_HIST = 0,
|
||||
GMON_TAG_CG_ARC = 1,
|
||||
} GMON_Record_Tag;
|
||||
|
||||
struct gmon_cg_arc_record
|
||||
{
|
||||
char tag; /* Set to GMON_TAG_CG_ARC. */
|
||||
char from_pc[sizeof (char *)]; /* Address within caller's body. */
|
||||
char self_pc[sizeof (char *)]; /* Address within callee's body. */
|
||||
char count[4]; /* Number of arc traversals. */
|
||||
};
|
||||
|
||||
|
||||
/* Forward declarations. */
|
||||
void _mcount_internal (unsigned long);
|
||||
void _monstartup (unsigned long, unsigned long);
|
||||
void _mcleanup (void);
|
||||
|
||||
static struct gmonparam _gmonparam;
|
||||
|
||||
void
|
||||
_mcount_internal (unsigned long frompc)
|
||||
{
|
||||
unsigned long selfpc = frompc;
|
||||
unsigned long * frompcindex;
|
||||
struct tostruct * top;
|
||||
struct tostruct * prevtop;
|
||||
struct gmonparam * p;
|
||||
unsigned long toindex;
|
||||
int i;
|
||||
|
||||
p = & _gmonparam;
|
||||
|
||||
/* Check that we are profiling and that we aren't recursively invoked.
|
||||
NB/ This version is not thread-safe. */
|
||||
if (p->state != GMON_PROF_ON)
|
||||
return;
|
||||
p->state = GMON_PROF_BUSY;
|
||||
|
||||
/* Check that frompcindex is a reasonable pc value.
|
||||
For example: signal catchers get called from the stack,
|
||||
not from text space. Too bad. */
|
||||
frompc -= p->lowpc;
|
||||
if (frompc > p->textsize)
|
||||
goto done;
|
||||
|
||||
i = frompc >> p->log_hashfraction;
|
||||
|
||||
frompcindex = p->froms + i;
|
||||
toindex = * frompcindex;
|
||||
|
||||
if (toindex == 0)
|
||||
{
|
||||
/* First time traversing this arc. */
|
||||
toindex = ++ p->tos[0].link;
|
||||
if (toindex >= p->tolimit)
|
||||
/* Halt further profiling. */
|
||||
goto overflow;
|
||||
|
||||
* frompcindex = toindex;
|
||||
top = p->tos + toindex;
|
||||
top->selfpc = selfpc;
|
||||
top->count = 1;
|
||||
top->link = 0;
|
||||
goto done;
|
||||
}
|
||||
|
||||
top = p->tos + toindex;
|
||||
|
||||
if (top->selfpc == selfpc)
|
||||
{
|
||||
/* Arc at front of chain: usual case. */
|
||||
top->count ++;
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* Have to go looking down chain for it.
|
||||
Top points to what we are looking at,
|
||||
prevtop points to previous top.
|
||||
We know it is not at the head of the chain. */
|
||||
for (;;)
|
||||
{
|
||||
if (top->link == 0)
|
||||
{
|
||||
/* Top is end of the chain and none of the chain
|
||||
had top->selfpc == selfpc. So we allocate a
|
||||
new tostruct and link it to the head of the
|
||||
chain. */
|
||||
toindex = ++ p->tos[0].link;
|
||||
if (toindex >= p->tolimit)
|
||||
goto overflow;
|
||||
|
||||
top = p->tos + toindex;
|
||||
top->selfpc = selfpc;
|
||||
top->count = 1;
|
||||
top->link = * frompcindex;
|
||||
* frompcindex = toindex;
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* Otherwise, check the next arc on the chain. */
|
||||
prevtop = top;
|
||||
top = p->tos + top->link;
|
||||
|
||||
if (top->selfpc == selfpc)
|
||||
{
|
||||
/* There it is. Increment its count
|
||||
move it to the head of the chain. */
|
||||
top->count ++;
|
||||
toindex = prevtop->link;
|
||||
prevtop->link = top->link;
|
||||
top->link = * frompcindex;
|
||||
* frompcindex = toindex;
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
|
||||
done:
|
||||
p->state = GMON_PROF_ON;
|
||||
return;
|
||||
|
||||
overflow:
|
||||
p->state = GMON_PROF_ERROR;
|
||||
return;
|
||||
}
|
||||
|
||||
void
|
||||
_monstartup (unsigned long lowpc, unsigned long highpc)
|
||||
{
|
||||
char * cp;
|
||||
struct gmonparam * p = & _gmonparam;
|
||||
|
||||
/* If the calloc() function has been instrumented we must make sure
|
||||
that it is not profiled until we are ready. */
|
||||
p->state = GMON_PROF_BUSY;
|
||||
|
||||
/* Round lowpc and highpc to multiples of the density we're using
|
||||
so the rest of the scaling (here and in gprof) stays in ints. */
|
||||
p->lowpc = ROUNDDOWN (lowpc, HISTFRACTION * sizeof (* p->kcount));
|
||||
p->highpc = ROUNDUP (highpc, HISTFRACTION * sizeof (* p->kcount));
|
||||
p->textsize = p->highpc - p->lowpc;
|
||||
p->kcountsize = ROUNDUP (p->textsize / HISTFRACTION, sizeof (*p->froms));
|
||||
p->hashfraction = HASHFRACTION;
|
||||
p->log_hashfraction = -1;
|
||||
p->log_hashfraction = ffs (p->hashfraction * sizeof (*p->froms)) - 1;
|
||||
p->fromssize = p->textsize / HASHFRACTION;
|
||||
p->tolimit = p->textsize * ARCDENSITY / 100;
|
||||
|
||||
if (p->tolimit < MINARCS)
|
||||
p->tolimit = MINARCS;
|
||||
else if (p->tolimit > MAXARCS)
|
||||
p->tolimit = MAXARCS;
|
||||
|
||||
p->tossize = p->tolimit * sizeof (struct tostruct);
|
||||
|
||||
cp = calloc (p->kcountsize + p->fromssize + p->tossize, 1);
|
||||
if (cp == NULL)
|
||||
{
|
||||
write (2, "monstartup: out of memory\n", 26);
|
||||
p->tos = NULL;
|
||||
p->state = GMON_PROF_ERROR;
|
||||
return;
|
||||
}
|
||||
|
||||
p->tos = (struct tostruct *) cp;
|
||||
cp += p->tossize;
|
||||
p->kcount = (unsigned short *) cp;
|
||||
cp += p->kcountsize;
|
||||
p->froms = (unsigned long *) cp;
|
||||
|
||||
p->tos[0].link = 0;
|
||||
p->state = GMON_PROF_ON;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
write_call_graph (int fd)
|
||||
{
|
||||
#define NARCS_PER_WRITE 32
|
||||
|
||||
struct gmon_cg_arc_record raw_arc[NARCS_PER_WRITE]
|
||||
__attribute__ ((aligned (__alignof__ (char *))));
|
||||
unsigned long from_index;
|
||||
unsigned long to_index;
|
||||
unsigned long from_len;
|
||||
unsigned long frompc;
|
||||
int nfilled;
|
||||
|
||||
for (nfilled = 0; nfilled < NARCS_PER_WRITE; ++ nfilled)
|
||||
raw_arc[nfilled].tag = GMON_TAG_CG_ARC;
|
||||
|
||||
nfilled = 0;
|
||||
from_len = _gmonparam.fromssize / sizeof (*_gmonparam.froms);
|
||||
|
||||
for (from_index = 0; from_index < from_len; ++from_index)
|
||||
{
|
||||
if (_gmonparam.froms[from_index] == 0)
|
||||
continue;
|
||||
|
||||
frompc = _gmonparam.lowpc;
|
||||
frompc += (from_index * _gmonparam.hashfraction
|
||||
* sizeof (*_gmonparam.froms));
|
||||
|
||||
for (to_index = _gmonparam.froms[from_index];
|
||||
to_index != 0;
|
||||
to_index = _gmonparam.tos[to_index].link)
|
||||
{
|
||||
struct gmon_cg_arc_record * arc = raw_arc + nfilled;
|
||||
|
||||
memcpy (arc->from_pc, & frompc, sizeof (arc->from_pc));
|
||||
memcpy (arc->self_pc, & _gmonparam.tos[to_index].selfpc, sizeof (arc->self_pc));
|
||||
memcpy (arc->count, & _gmonparam.tos[to_index].count, sizeof (arc->count));
|
||||
|
||||
if (++ nfilled == NARCS_PER_WRITE)
|
||||
{
|
||||
write (fd, raw_arc, sizeof raw_arc);
|
||||
nfilled = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (nfilled > 0)
|
||||
write (fd, raw_arc, nfilled * sizeof (raw_arc[0]));
|
||||
}
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
static void
|
||||
write_gmon (void)
|
||||
{
|
||||
struct gmon_hdr ghdr __attribute__ ((aligned (__alignof__ (int))));
|
||||
int fd;
|
||||
|
||||
fd = open ("gmon.out", O_CREAT|O_TRUNC|O_WRONLY, 0666);
|
||||
if (fd < 0)
|
||||
{
|
||||
write (2, "_mcleanup: could not create gmon.out\n", 37);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Write gmon.out header: */
|
||||
memset (& ghdr, '\0', sizeof (ghdr));
|
||||
memcpy (ghdr.cookie, GMON_MAGIC, sizeof (ghdr.cookie));
|
||||
* (unsigned long *) ghdr.version = GMON_VERSION;
|
||||
write (fd, & ghdr, sizeof (ghdr));
|
||||
|
||||
/* We do not have histogram or basic block information,
|
||||
so we do not generate these parts of the gmon.out file. */
|
||||
|
||||
/* Write call-graph. */
|
||||
write_call_graph (fd);
|
||||
|
||||
close (fd);
|
||||
}
|
||||
|
||||
void
|
||||
_mcleanup (void)
|
||||
{
|
||||
if (_gmonparam.state != GMON_PROF_ERROR)
|
||||
{
|
||||
_gmonparam.state = GMON_PROF_OFF;
|
||||
write_gmon ();
|
||||
}
|
||||
|
||||
/* Free the memory. */
|
||||
if (_gmonparam.tos != NULL)
|
||||
{
|
||||
free (_gmonparam.tos);
|
||||
_gmonparam.tos = NULL;
|
||||
}
|
||||
}
|
35
newlib/src/libgloss/rl78/open.S
Normal file
35
newlib/src/libgloss/rl78/open.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(open)
|
35
newlib/src/libgloss/rl78/read.S
Normal file
35
newlib/src/libgloss/rl78/read.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(read)
|
224
newlib/src/libgloss/rl78/rl78-sim.ld
Normal file
224
newlib/src/libgloss/rl78/rl78-sim.ld
Normal file
|
@ -0,0 +1,224 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2005,2008,2009,2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
/* Default linker script, for normal executables */
|
||||
OUTPUT_ARCH(rl78)
|
||||
ENTRY(_start)
|
||||
|
||||
/* Do we need any of these for elf?
|
||||
__DYNAMIC = 0; */
|
||||
|
||||
/* This is for the simulator - 512k flash, 32k ram, no data flash */
|
||||
MEMORY {
|
||||
VEC (r) : ORIGIN = 0x00000, LENGTH = 0x00002
|
||||
IVEC (r) : ORIGIN = 0x00004, LENGTH = 0x0007c
|
||||
OPT (r) : ORIGIN = 0x000c0, LENGTH = 0x00004
|
||||
ROM (r) : ORIGIN = 0x000d8, LENGTH = 0x7ff28
|
||||
RAM (w) : ORIGIN = 0xf8000, LENGTH = 0x07ee0
|
||||
STACK (w) : ORIGIN = 0xffee0, LENGTH = 0x00002
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.vec :
|
||||
{
|
||||
*(.vec)
|
||||
} > VEC
|
||||
.ivec :
|
||||
{
|
||||
*(.ivec)
|
||||
} > IVEC
|
||||
.opt :
|
||||
{
|
||||
*(.opt)
|
||||
} > OPT
|
||||
|
||||
/* CubeSuite always starts at 0xd8. */
|
||||
.csstart : {
|
||||
*(.csstart)
|
||||
} > ROM
|
||||
|
||||
/* For code that must be in the first 64k, or could fill unused
|
||||
space below .rodata. */
|
||||
.lowtext : {
|
||||
*(.plt)
|
||||
*(.lowtext)
|
||||
} > ROM
|
||||
|
||||
.data : {
|
||||
. = ALIGN(2);
|
||||
PROVIDE (__datastart = .);
|
||||
|
||||
KEEP (*(.jcr))
|
||||
*(.data.rel.ro.local) *(.data.rel.ro*)
|
||||
*(.dynamic)
|
||||
|
||||
*(.data D .data.* .gnu.linkonce.d.*)
|
||||
KEEP (*(.gnu.linkonce.d.*personality*))
|
||||
SORT(CONSTRUCTORS)
|
||||
*(.data1)
|
||||
*(.got.plt) *(.got)
|
||||
|
||||
/* We want the small data sections together, so single-instruction offsets
|
||||
can access them all, and initialized data all before uninitialized, so
|
||||
we can shorten the on-disk segment size. */
|
||||
. = ALIGN(2);
|
||||
*(.sdata .sdata.* .gnu.linkonce.s.* D_2 D_1)
|
||||
|
||||
. = ALIGN(2);
|
||||
_edata = .;
|
||||
PROVIDE (edata = .);
|
||||
PROVIDE (__dataend = .);
|
||||
} > RAM AT> ROM
|
||||
|
||||
/* Note that crt0 assumes this is a multiple of two; all the
|
||||
start/stop symbols are also assumed word-aligned. */
|
||||
PROVIDE(__romdatastart = LOADADDR(.data));
|
||||
PROVIDE (__romdatacopysize = SIZEOF(.data));
|
||||
|
||||
.bss : {
|
||||
. = ALIGN(2);
|
||||
PROVIDE (__bssstart = .);
|
||||
*(.dynbss)
|
||||
*(.sbss .sbss.*)
|
||||
*(.bss B B_2 B_1 .bss.* .gnu.linkonce.b.*)
|
||||
. = ALIGN(2);
|
||||
*(COMMON)
|
||||
. = ALIGN(2);
|
||||
PROVIDE (__bssend = .);
|
||||
_end = .;
|
||||
PROVIDE (end = .);
|
||||
} > RAM
|
||||
PROVIDE (__bsssize = SIZEOF(.bss));
|
||||
|
||||
.stack (ORIGIN (STACK)) :
|
||||
{
|
||||
PROVIDE (__stack = .);
|
||||
*(.stack)
|
||||
}
|
||||
|
||||
.rodata (MAX(__romdatastart + __romdatacopysize, 0x1000)) : {
|
||||
. = ALIGN(2);
|
||||
*(.plt)
|
||||
*(.rodata C C_2 C_1 .rodata.* .gnu.linkonce.r.*)
|
||||
*(.rodata1)
|
||||
*(.eh_frame_hdr)
|
||||
KEEP (*(.eh_frame))
|
||||
KEEP (*(.gcc_except_table)) *(.gcc_except_table.*)
|
||||
PROVIDE (__preinit_array_start = .);
|
||||
KEEP (*(.preinit_array))
|
||||
PROVIDE (__preinit_array_end = .);
|
||||
PROVIDE (__init_array_start = .);
|
||||
KEEP (*(SORT(.init_array.*)))
|
||||
KEEP (*(.init_array))
|
||||
PROVIDE (__init_array_end = .);
|
||||
PROVIDE (__fini_array_start = .);
|
||||
KEEP (*(.fini_array))
|
||||
KEEP (*(SORT(.fini_array.*)))
|
||||
PROVIDE (__fini_array_end = .);
|
||||
LONG(0); /* Sentinel. */
|
||||
|
||||
/* 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))
|
||||
|
||||
KEEP (*crtbegin*.o(.dtors))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors))
|
||||
KEEP (*(SORT(.dtors.*)))
|
||||
KEEP (*(.dtors))
|
||||
} > ROM
|
||||
|
||||
.text :
|
||||
{
|
||||
PROVIDE (_start = .);
|
||||
*(.text P .stub .text.* .gnu.linkonce.t.*)
|
||||
KEEP (*(.text.*personality*))
|
||||
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||
*(.gnu.warning)
|
||||
*(.interp .hash .dynsym .dynstr .gnu.version*)
|
||||
PROVIDE (__etext = .);
|
||||
PROVIDE (_etext = .);
|
||||
PROVIDE (etext = .);
|
||||
. = ALIGN(2);
|
||||
KEEP (*(.init))
|
||||
KEEP (*(.fini))
|
||||
} > ROM
|
||||
|
||||
/* The rest are all not normally part of the runtime image. */
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
.stab.excl 0 : { *(.stab.excl) }
|
||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
/* 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 .gnu.linkonce.wi.*) }
|
||||
.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) }
|
||||
/* 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) }
|
||||
/DISCARD/ : { *(.note.GNU-stack) }
|
||||
}
|
84
newlib/src/libgloss/rl78/rl78-sys.h
Normal file
84
newlib/src/libgloss/rl78/rl78-sys.h
Normal file
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "syscall.h"
|
||||
|
||||
r8 = 0xffef0
|
||||
r9 = 0xffef1
|
||||
r10 = 0xffef2
|
||||
r11 = 0xffef3
|
||||
r12 = 0xffef4
|
||||
r13 = 0xffef5
|
||||
r14 = 0xffef6
|
||||
r15 = 0xffef7
|
||||
r16 = 0xffee8
|
||||
r17 = 0xffee9
|
||||
r18 = 0xffeea
|
||||
r19 = 0xffeeb
|
||||
r20 = 0xffeec
|
||||
r21 = 0xffeed
|
||||
r22 = 0xffeee
|
||||
r23 = 0xffeef
|
||||
|
||||
#define SYS__exit SYS_exit
|
||||
|
||||
.macro syscall_body number
|
||||
/* The RL78 doesn't really have an "interrupt" upcode, just
|
||||
BRK, which we emulate exactly. We use the STOP opcode,
|
||||
which is a breakpoint in the simulator. */
|
||||
mov A, #\number
|
||||
stop
|
||||
ret
|
||||
.endm
|
||||
|
||||
.macro do_syscall name number
|
||||
__\name:
|
||||
.global __\name
|
||||
_\name:
|
||||
.weak _\name
|
||||
syscall_body \number
|
||||
.endm
|
||||
|
||||
.macro syscall_returns name number
|
||||
__\name:
|
||||
.global __\name
|
||||
_\name:
|
||||
.weak _\name
|
||||
mov r8, #\number
|
||||
ret
|
||||
.endm
|
||||
|
||||
#define S(name) do_syscall name, SYS_##name
|
||||
#define SYSCALL(number) syscall_body number
|
||||
#define ERR(name) syscall_returns name, -1
|
||||
#define OK(name) syscall_returns name, 0
|
||||
#define RET(name,val) syscall_returns name, val
|
224
newlib/src/libgloss/rl78/rl78.ld
Normal file
224
newlib/src/libgloss/rl78/rl78.ld
Normal file
|
@ -0,0 +1,224 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2005,2008,2009,2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
/* Default linker script, for normal executables */
|
||||
OUTPUT_ARCH(rl78)
|
||||
ENTRY(_start)
|
||||
|
||||
/* Do we need any of these for elf?
|
||||
__DYNAMIC = 0; */
|
||||
|
||||
/* This is for an RL78/G13, 64k flash, 4k ram */
|
||||
MEMORY {
|
||||
VEC (r) : ORIGIN = 0x00000, LENGTH = 0x00002
|
||||
IVEC (r) : ORIGIN = 0x00004, LENGTH = 0x0007c
|
||||
OPT (r) : ORIGIN = 0x000c0, LENGTH = 0x00004
|
||||
ROM (r) : ORIGIN = 0x000d8, LENGTH = 0x0ff28
|
||||
RAM (w) : ORIGIN = 0xfef00, LENGTH = 0x00fe0
|
||||
STACK (w) : ORIGIN = 0xffee0, LENGTH = 0x00002
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.vec :
|
||||
{
|
||||
*(.vec)
|
||||
} > VEC
|
||||
.ivec :
|
||||
{
|
||||
*(.ivec)
|
||||
} > IVEC
|
||||
.opt :
|
||||
{
|
||||
*(.opt)
|
||||
} > OPT
|
||||
|
||||
/* CubeSuite always starts at 0xd8. */
|
||||
.csstart : {
|
||||
*(.csstart)
|
||||
} > ROM
|
||||
|
||||
/* For code that must be in the first 64k, or could fill unused
|
||||
space below .rodata. */
|
||||
.lowtext : {
|
||||
*(.plt)
|
||||
*(.lowtext)
|
||||
} > ROM
|
||||
|
||||
.data : {
|
||||
. = ALIGN(2);
|
||||
PROVIDE (__datastart = .);
|
||||
|
||||
KEEP (*(.jcr))
|
||||
*(.data.rel.ro.local) *(.data.rel.ro*)
|
||||
*(.dynamic)
|
||||
|
||||
*(.data D .data.* .gnu.linkonce.d.*)
|
||||
KEEP (*(.gnu.linkonce.d.*personality*))
|
||||
SORT(CONSTRUCTORS)
|
||||
*(.data1)
|
||||
*(.got.plt) *(.got)
|
||||
|
||||
/* We want the small data sections together, so single-instruction offsets
|
||||
can access them all, and initialized data all before uninitialized, so
|
||||
we can shorten the on-disk segment size. */
|
||||
. = ALIGN(2);
|
||||
*(.sdata .sdata.* .gnu.linkonce.s.* D_2 D_1)
|
||||
|
||||
. = ALIGN(2);
|
||||
_edata = .;
|
||||
PROVIDE (edata = .);
|
||||
PROVIDE (__dataend = .);
|
||||
} > RAM AT> ROM
|
||||
|
||||
/* Note that crt0 assumes this is a multiple of two; all the
|
||||
start/stop symbols are also assumed word-aligned. */
|
||||
PROVIDE(__romdatastart = LOADADDR(.data));
|
||||
PROVIDE (__romdatacopysize = SIZEOF(.data));
|
||||
|
||||
.bss : {
|
||||
. = ALIGN(2);
|
||||
PROVIDE (__bssstart = .);
|
||||
*(.dynbss)
|
||||
*(.sbss .sbss.*)
|
||||
*(.bss B B_2 B_1 .bss.* .gnu.linkonce.b.*)
|
||||
. = ALIGN(2);
|
||||
*(COMMON)
|
||||
. = ALIGN(2);
|
||||
PROVIDE (__bssend = .);
|
||||
_end = .;
|
||||
PROVIDE (end = .);
|
||||
} > RAM
|
||||
PROVIDE (__bsssize = SIZEOF(.bss));
|
||||
|
||||
.stack (ORIGIN (STACK)) :
|
||||
{
|
||||
PROVIDE (__stack = .);
|
||||
*(.stack)
|
||||
}
|
||||
|
||||
.rodata (MAX(__romdatastart + __romdatacopysize, 0x2000)) : {
|
||||
. = ALIGN(2);
|
||||
*(.plt)
|
||||
*(.rodata C C_2 C_1 .rodata.* .gnu.linkonce.r.*)
|
||||
*(.rodata1)
|
||||
*(.eh_frame_hdr)
|
||||
KEEP (*(.eh_frame))
|
||||
KEEP (*(.gcc_except_table)) *(.gcc_except_table.*)
|
||||
PROVIDE (__preinit_array_start = .);
|
||||
KEEP (*(.preinit_array))
|
||||
PROVIDE (__preinit_array_end = .);
|
||||
PROVIDE (__init_array_start = .);
|
||||
KEEP (*(SORT(.init_array.*)))
|
||||
KEEP (*(.init_array))
|
||||
PROVIDE (__init_array_end = .);
|
||||
PROVIDE (__fini_array_start = .);
|
||||
KEEP (*(.fini_array))
|
||||
KEEP (*(SORT(.fini_array.*)))
|
||||
PROVIDE (__fini_array_end = .);
|
||||
LONG(0); /* Sentinel. */
|
||||
|
||||
/* 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))
|
||||
|
||||
KEEP (*crtbegin*.o(.dtors))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors))
|
||||
KEEP (*(SORT(.dtors.*)))
|
||||
KEEP (*(.dtors))
|
||||
} > ROM
|
||||
|
||||
.text :
|
||||
{
|
||||
PROVIDE (_start = .);
|
||||
*(.text P .stub .text.* .gnu.linkonce.t.*)
|
||||
KEEP (*(.text.*personality*))
|
||||
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||
*(.gnu.warning)
|
||||
*(.interp .hash .dynsym .dynstr .gnu.version*)
|
||||
PROVIDE (__etext = .);
|
||||
PROVIDE (_etext = .);
|
||||
PROVIDE (etext = .);
|
||||
. = ALIGN(2);
|
||||
KEEP (*(.init))
|
||||
KEEP (*(.fini))
|
||||
} > ROM
|
||||
|
||||
/* The rest are all not normally part of the runtime image. */
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
.stab.excl 0 : { *(.stab.excl) }
|
||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
/* 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 .gnu.linkonce.wi.*) }
|
||||
.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) }
|
||||
/* 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) }
|
||||
/DISCARD/ : { *(.note.GNU-stack) }
|
||||
}
|
57
newlib/src/libgloss/rl78/sbrk.c
Normal file
57
newlib/src/libgloss/rl78/sbrk.c
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2005, 2009 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
char *
|
||||
_sbrk (int adj)
|
||||
{
|
||||
extern char end;
|
||||
static char * heap = & end;
|
||||
char * rv = heap;
|
||||
char * heaptop = (char *) &adj;
|
||||
|
||||
heap += adj;
|
||||
|
||||
/* The allocated chunk spans our stack? */
|
||||
if (rv < heaptop && heap > heaptop
|
||||
/* The allocated chunk spans our address space? */
|
||||
|| heap < rv)
|
||||
{
|
||||
errno = ENOMEM;
|
||||
return (char *) -1;
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
char * sbrk (int) __attribute__((weak, alias ("_sbrk")));
|
35
newlib/src/libgloss/rl78/stat.S
Normal file
35
newlib/src/libgloss/rl78/stat.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(stat)
|
35
newlib/src/libgloss/rl78/time.S
Normal file
35
newlib/src/libgloss/rl78/time.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(time)
|
35
newlib/src/libgloss/rl78/times.S
Normal file
35
newlib/src/libgloss/rl78/times.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(times)
|
35
newlib/src/libgloss/rl78/unlink.S
Normal file
35
newlib/src/libgloss/rl78/unlink.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(unlink)
|
35
newlib/src/libgloss/rl78/utime.S
Normal file
35
newlib/src/libgloss/rl78/utime.S
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
#include "rl78-sys.h"
|
||||
|
||||
ERR(utime)
|
107
newlib/src/libgloss/rl78/write.c
Normal file
107
newlib/src/libgloss/rl78/write.c
Normal file
|
@ -0,0 +1,107 @@
|
|||
/*
|
||||
|
||||
Copyright (c) 2010 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
The name of Red Hat Incorporated may not be used to endorse
|
||||
or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
*/
|
||||
|
||||
/* These definitions are for the RL78/G13, which the simulator
|
||||
simulates. */
|
||||
|
||||
typedef unsigned char UQI __attribute__((mode(QI)));
|
||||
typedef unsigned int UHI __attribute__((mode(HI)));
|
||||
|
||||
#define s8(x) (*(volatile UQI *)(x))
|
||||
#define s16(x) (*(volatile UHI *)(x))
|
||||
|
||||
#define P(x) s8(0xfff00+(x))
|
||||
#define PM(x) s8(0xfff20+(x))
|
||||
|
||||
#define PER0 s8(0xf00f0)
|
||||
|
||||
#define SSR00 s16(0xf0100)
|
||||
#define SMR00 s16(0xf0110)
|
||||
#define SCR00 s16(0xf0118)
|
||||
#define SS0 s16(0xf0122)
|
||||
#define SPS0 s16(0xf0126)
|
||||
#define SO0 s16(0xf0128)
|
||||
#define SOE0 s16(0xf012a)
|
||||
#define SOL0 s16(0xf0134)
|
||||
|
||||
#define SDR00 s16(0xfff10)
|
||||
|
||||
static int initted = 0;
|
||||
|
||||
static void
|
||||
init_uart0 ()
|
||||
{
|
||||
initted = 1;
|
||||
|
||||
PER0 = 0xff;
|
||||
SPS0 = 0x0011; /* 16 MHz */
|
||||
SMR00 = 0x0022; /* uart mode */
|
||||
SCR00 = 0x8097; /* 8-N-1 */
|
||||
SDR00 = 0x8a00; /* baud in MSB - 115200 */
|
||||
SOL0 = 0x0000; /* not inverted */
|
||||
SO0 = 0x000f; /* initial value */
|
||||
SOE0 = 0x0001; /* enable TxD0 */
|
||||
P(1) |= 0b00000100;
|
||||
PM(1) &= 0b11111011;
|
||||
SS0 = 0x0001;
|
||||
}
|
||||
|
||||
static void
|
||||
tputc (char c)
|
||||
{
|
||||
/* Wait for transmit buffer to be empty. */
|
||||
while (SSR00 & 0x0020)
|
||||
asm("");
|
||||
/* Transmit that byte. */
|
||||
SDR00 = c;
|
||||
}
|
||||
|
||||
int
|
||||
_write(int fd, char *ptr, int len)
|
||||
{
|
||||
int rv = len;
|
||||
|
||||
if (!initted)
|
||||
init_uart0 ();
|
||||
|
||||
while (len != 0)
|
||||
{
|
||||
if (*ptr == '\n')
|
||||
tputc ('\r');
|
||||
tputc (*ptr);
|
||||
ptr ++;
|
||||
len --;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
char * write (int) __attribute__((weak, alias ("_write")));
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (c) 2008, 2009 Red Hat Incorporated.
|
||||
/* Copyright (c) 2008, 2009, 2011 Red Hat Incorporated.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
@ -50,11 +50,20 @@ _start:
|
|||
mov #__bsssize, r3
|
||||
sstr.l
|
||||
|
||||
/* Initialise the small data area pointer.
|
||||
The register used here must agree with the definition of
|
||||
GP_BASE_REGNUM in gcc/config/rx/rx.h. */
|
||||
/* Initialize data pointer register(s).
|
||||
Note: The registers used here should agree with the definition of
|
||||
GP_BASE_REGNUM in gcc/config/rx/rx.h.
|
||||
Note: We are assuming that -mint-register has not been used when
|
||||
compiling the application. */
|
||||
#ifdef _RX_PID
|
||||
/* Initialise the constant data pointer and small data pointers. */
|
||||
mov #__pid_base, r13
|
||||
mov #__gp, r12
|
||||
#else
|
||||
/* Initialise the small data area pointer. */
|
||||
mov #__gp, r13
|
||||
|
||||
#endif
|
||||
|
||||
bsr.a __rx_init
|
||||
|
||||
#ifdef PROFILE_SUPPORT /* Defined in gcrt0.S. */
|
||||
|
@ -129,6 +138,12 @@ __rx_init:
|
|||
__rx_fini:
|
||||
bsr.a _rx_run_fini_array
|
||||
|
||||
.section .rodata
|
||||
.balign 4
|
||||
.global __pid_base
|
||||
.weak __pid_base
|
||||
__pid_base:
|
||||
|
||||
.section .sdata
|
||||
.balign 4
|
||||
.global __gp
|
||||
|
|
161
newlib/src/libgloss/sparc_leon/Makefile.in
Normal file
161
newlib/src/libgloss/sparc_leon/Makefile.in
Normal file
|
@ -0,0 +1,161 @@
|
|||
# Makefile for libgloss/sparc_leon. This is the board support
|
||||
# code for the various sparc leon targets.
|
||||
|
||||
DESTDIR =
|
||||
VPATH = @srcdir@
|
||||
srcdir = @srcdir@
|
||||
objdir = .
|
||||
srcroot = $(srcdir)/../..
|
||||
objroot = $(objdir)/../..
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
host_alias = @host_alias@
|
||||
target_alias = @target_alias@
|
||||
|
||||
bindir = @bindir@
|
||||
libdir = @libdir@
|
||||
tooldir = $(exec_prefix)/$(target_alias)
|
||||
mkinstalldirs = $(SHELL) $(srcroot)/mkinstalldirs
|
||||
|
||||
# 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@
|
||||
AR = @AR@
|
||||
LD = @LD@
|
||||
RANLIB = @RANLIB@
|
||||
AR_FLAGS = qrv
|
||||
|
||||
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`
|
||||
|
||||
LEON_BSP = libleonbare.a
|
||||
LEON_OBJS = etrap.o rtrap.o etrap_fast.o rtrap_fast.o irqinstall.o regwin.o \
|
||||
regwinflush.o fpu.o bdinit.o contextswitch.o \
|
||||
busscan.o irqtrap_fast.o catch_interrupt.o catch_interrupt_svt.o \
|
||||
catch_interrupt_mvt.o catch_interrupt_pending.o gettimeofday.o \
|
||||
times.o rtc.o lcpuinit.o console_init.o console.o console_dbg.o \
|
||||
contextswitch.o contextswitch_asm.o _exit.o amba.o amba_dbg.o \
|
||||
amba_scan.o amba_driver.o timer.o mutex.o locore.o locore_clean.o \
|
||||
locore_var.o locore_var_svt.o jiffies.o \
|
||||
mmu_asm.o locore_svtdisp.o locore_mvt_reset.o locore_svt_reset.o stop.o initcalls.o \
|
||||
regwin_patch.o cacheA.o nocache.o
|
||||
|
||||
LEONBARE_THREADS = liblbthread.a
|
||||
LEONBARE_THREADS_OBJS = kernel.o kernel_debug.o kernel_debug_var.o kernel_context.o \
|
||||
kernel_mutex.o kernel_thread.o kernel_sched.o kernel_queue.o \
|
||||
kernel_mm.o
|
||||
|
||||
LOCOREATEXIT = locore_atexit.o
|
||||
LEON_SMALLC = libsmall.a
|
||||
|
||||
PNP=pnpinit.o
|
||||
PNP_S=pnpinit_simple.o
|
||||
LEON_ALL = $(LEON_BSP) $(LEON_SMALLC) $(LEONBARE_THREADS) $(PNP) $(PNP_S) crti.o crtn.o
|
||||
|
||||
LOCORESVT = locore_svt.o
|
||||
LOCOREMVT = locore_mvt.o
|
||||
CRT0 = crt0.o
|
||||
OBJS = close.o fstat.o getpid.o isatty.o kill.o \
|
||||
lseek.o open.o print.o putnum.o read.o sbrk.o stat.o \
|
||||
unlink.o write.o io.o kernel.o kernel_debug.o kernel_debug_var.o kernel_context.o
|
||||
#link.o
|
||||
|
||||
#### Host specific Makefile fragment comes in here.
|
||||
@host_makefile_frag@
|
||||
|
||||
all: stmp-targ-include $(CRT0) $(LOCOREMVT) $(LOCORESVT) $(LEON_ALL)
|
||||
|
||||
$(CRT0): $(srcdir)/crt0.S
|
||||
$(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS) $(INCLUDES) -o $@ -c $(srcdir)/crt0.S
|
||||
|
||||
$(LEON_BSP): $(OBJS) $(LEON_OBJS)
|
||||
@rm -f $@
|
||||
${AR} ${AR_FLAGS} $@ $(OBJS) $(LEON_OBJS)
|
||||
${RANLIB} $@
|
||||
|
||||
$(LEON_SMALLC): $(LOCOREATEXIT)
|
||||
@rm -f $@
|
||||
${AR} ${AR_FLAGS} $@ $(LOCOREATEXIT)
|
||||
${RANLIB} $@
|
||||
|
||||
$(LEONBARE_THREADS): $(LEONBARE_THREADS_OBJS)
|
||||
@rm -f $@
|
||||
${AR} ${AR_FLAGS} $@ $(LEONBARE_THREADS_OBJS)
|
||||
${RANLIB} $@
|
||||
|
||||
install:
|
||||
$(INSTALL_DATA) $(CRT0) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(CRT0)
|
||||
$(INSTALL_DATA) $(LOCORESVT) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(LOCORESVT)
|
||||
$(INSTALL_DATA) $(LOCOREMVT) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(LOCOREMVT)
|
||||
$(INSTALL_DATA) $(PNP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(PNP)
|
||||
$(INSTALL_DATA) $(PNP_S) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(PNP_S)
|
||||
$(INSTALL_DATA) $(LEON_BSP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(LEON_BSP)
|
||||
$(INSTALL_DATA) $(LEON_SMALLC) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(LEON_SMALLC)
|
||||
$(INSTALL_DATA) $(LEONBARE_THREADS) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(LEONBARE_THREADS)
|
||||
if [ -z "$(MULTISUBDIR)" ]; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(tooldir)/include/asm-leon; \
|
||||
for i in $(srcdir)/asm-leon/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
$(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/asm-leon/`basename $$i` || exit $$?; \
|
||||
else true; fi ; \
|
||||
done; \
|
||||
else true; fi
|
||||
|
||||
stmp-targ-include: $(srcdir)/asm-leon/*
|
||||
if [ -d ${objroot}/newlib/targ-include/asm-leon ]; then \
|
||||
rm -rf ${objroot}/newlib/targ-include/asm-leon; \
|
||||
else true; fi ; \
|
||||
if [ -d ${objroot}/newlib/targ-include ]; then \
|
||||
cp -r $(srcdir)/asm-leon ${objroot}/newlib/targ-include/asm-leon; \
|
||||
else true; fi ; \
|
||||
touch $@
|
||||
|
||||
all-recursive: stmp-targ-include
|
||||
|
||||
# Make a simple test case to test the linker script, startup code, and
|
||||
# I/O code
|
||||
#
|
||||
test:
|
||||
@echo Done...
|
||||
|
||||
# target specific makefile fragment comes in here.
|
||||
# @target_makefile_frag@
|
||||
|
||||
clean mostlyclean:
|
||||
rm -f *.o *.a *.map *.x
|
||||
|
||||
distclean maintainer-clean realclean: clean
|
||||
rm -f Makefile config.cache config.log config.status
|
||||
|
||||
.PHONY: info dvi doc install-info clean-info
|
||||
info doc dvi:
|
||||
install-info:
|
||||
clean-info:
|
||||
|
||||
# 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
|
30
newlib/src/libgloss/sparc_leon/_exit.c
Normal file
30
newlib/src/libgloss/sparc_leon/_exit.c
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
void
|
||||
_exit (int status)
|
||||
{
|
||||
asm ("mov 1, %g1; ta 0;\n");
|
||||
}
|
404
newlib/src/libgloss/sparc_leon/aclocal.m4
vendored
Normal file
404
newlib/src/libgloss/sparc_leon/aclocal.m4
vendored
Normal file
|
@ -0,0 +1,404 @@
|
|||
# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
|
||||
# 2005, 2006, 2007, 2008, 2009 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, 2006, 2008
|
||||
# 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 9
|
||||
|
||||
# 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])dnl
|
||||
AC_SUBST([$1_FALSE])dnl
|
||||
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
|
||||
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
|
||||
m4_define([_AM_COND_VALUE_$1], [$2])dnl
|
||||
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, 2006, 2009
|
||||
# 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 10
|
||||
|
||||
# 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], UPC, [depcc="$UPC" am_compiler_list=],
|
||||
[$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
|
||||
am__universal=false
|
||||
m4_case([$1], [CC],
|
||||
[case " $depcc " in #(
|
||||
*\ -arch\ *\ -arch\ *) am__universal=true ;;
|
||||
esac],
|
||||
[CXX],
|
||||
[case " $depcc " in #(
|
||||
*\ -arch\ *\ -arch\ *) am__universal=true ;;
|
||||
esac])
|
||||
|
||||
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
|
||||
|
||||
# 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. Also, some Intel
|
||||
# versions had trouble with output in subdirs
|
||||
am__obj=sub/conftest.${OBJEXT-o}
|
||||
am__minus_obj="-o $am__obj"
|
||||
case $depmode in
|
||||
gcc)
|
||||
# This depmode causes a compiler race in universal mode.
|
||||
test "$am__universal" = false || continue
|
||||
;;
|
||||
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
|
||||
;;
|
||||
msvisualcpp | msvcmsys)
|
||||
# This compiler won't grok `-c -o', but also, the minuso test has
|
||||
# not run yet. These depmodes are late enough in the game, and
|
||||
# so weak that their functioning should not be impacted.
|
||||
am__obj=conftest.${OBJEXT-o}
|
||||
am__minus_obj=
|
||||
;;
|
||||
none) break ;;
|
||||
esac
|
||||
if depmode=$depmode \
|
||||
source=sub/conftest.c object=$am__obj \
|
||||
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
|
||||
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
|
||||
>/dev/null 2>conftest.err &&
|
||||
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
|
||||
grep $am__obj 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])dnl
|
||||
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
|
||||
])
|
||||
|
||||
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
|
||||
# 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 5
|
||||
|
||||
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
# ------------------------------
|
||||
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[{
|
||||
# Autoconf 2.62 quotes --file arguments for eval, but not when files
|
||||
# are listed without --file. Let's play safe and only enable the eval
|
||||
# if we detect the quoting.
|
||||
case $CONFIG_FILES in
|
||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
||||
*) set x $CONFIG_FILES ;;
|
||||
esac
|
||||
shift
|
||||
for mf
|
||||
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.
|
||||
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/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, 2009 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 4
|
||||
|
||||
# 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 this is the am__doit target
|
||||
.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
|
||||
# Ignore all kinds of additional output from `make'.
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
;;
|
||||
esac
|
||||
# Now try BSD make style include.
|
||||
if test "$am__include" = "#"; then
|
||||
echo '.include "confinc"' > confmf
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=.include
|
||||
am__quote="\""
|
||||
_am_result=BSD
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST([am__include])
|
||||
AC_SUBST([am__quote])
|
||||
AC_MSG_RESULT([$_am_result])
|
||||
rm -f confinc confmf
|
||||
])
|
||||
|
||||
# Copyright (C) 2006, 2008 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
|
||||
|
||||
# _AM_SUBST_NOTMAKE(VARIABLE)
|
||||
# ---------------------------
|
||||
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
|
||||
# This macro is traced by Automake.
|
||||
AC_DEFUN([_AM_SUBST_NOTMAKE])
|
||||
|
||||
# AM_SUBST_NOTMAKE(VARIABLE)
|
||||
# ---------------------------
|
||||
# Public sister of _AM_SUBST_NOTMAKE.
|
||||
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
||||
|
||||
m4_include([../acinclude.m4])
|
152
newlib/src/libgloss/sparc_leon/amba.c
Normal file
152
newlib/src/libgloss/sparc_leon/amba.c
Normal file
|
@ -0,0 +1,152 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#include <asm-leon/leon.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/*#define DEBUG_CONFIG*/
|
||||
|
||||
/* Structure containing address to devices found on the Amba Plug&Play bus */
|
||||
amba_confarea_type amba_conf;
|
||||
|
||||
/* Pointers to Interrupt Controller configuration registers */
|
||||
volatile LEON3_IrqCtrl_Regs_Map *LEON3_IrqCtrl_Regs = 0;
|
||||
volatile LEON3_GpTimer_Regs_Map *LEON3_GpTimer_Regs = 0;
|
||||
unsigned long LEON3_GpTimer_Irq = 0;
|
||||
|
||||
unsigned long
|
||||
amba_find_apbslv_addr (unsigned long vendor, unsigned long device,
|
||||
unsigned long *irq)
|
||||
{
|
||||
unsigned int i, conf, iobar;
|
||||
for (i = 0; i < amba_conf.apbslv.devnr; i++)
|
||||
{
|
||||
conf = amba_get_confword (amba_conf.apbslv, i, 0);
|
||||
if ((amba_vendor (conf) == vendor) && (amba_device (conf) == device))
|
||||
{
|
||||
if (irq)
|
||||
{
|
||||
*irq = amba_irq (conf);
|
||||
}
|
||||
iobar = amba_apb_get_membar (amba_conf.apbslv, i);
|
||||
return amba_iobar_start (amba_conf.apbslv.apbmst[i], iobar);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define amba_insert_device(tab, address) do { \
|
||||
if (LEON3_BYPASS_LOAD_PA(address)) { \
|
||||
(tab)->addr[(tab)->devnr] = (address); \
|
||||
(tab)->devnr ++; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define amba_insert_apb_device(tab, address, apbmst, idx) do { \
|
||||
if (*(address)) { \
|
||||
(tab)->addr[(tab)->devnr] = (address); \
|
||||
(tab)->apbmst[(tab)->devnr] = (apbmst); \
|
||||
(tab)->apbmstidx[(tab)->devnr] = (idx); \
|
||||
(tab)->devnr ++; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
/*
|
||||
* Used to scan system bus. Probes for AHB masters, AHB slaves and
|
||||
* APB slaves. Addresses to configuration areas of the AHB masters,
|
||||
* AHB slaves, APB slaves and APB master are storeds in
|
||||
* amba_ahb_masters, amba_ahb_slaves and amba.
|
||||
*/
|
||||
|
||||
int amba_init_done = 0;
|
||||
|
||||
void
|
||||
amba_init (void)
|
||||
{
|
||||
unsigned int *cfg_area; /* address to configuration area */
|
||||
unsigned int mbar, conf, apbmst;
|
||||
int i, j, idx = 0;
|
||||
|
||||
if (amba_init_done)
|
||||
{
|
||||
return;
|
||||
}
|
||||
amba_init_done = 1;
|
||||
|
||||
memset (&amba_conf, 0, sizeof (amba_conf));
|
||||
/*amba_conf.ahbmst.devnr = 0; amba_conf.ahbslv.devnr = 0; amba_conf.apbslv.devnr = 0; */
|
||||
|
||||
cfg_area = (unsigned int *) (LEON3_IO_AREA | LEON3_CONF_AREA);
|
||||
|
||||
for (i = 0; i < LEON3_AHB_MASTERS; i++)
|
||||
{
|
||||
amba_insert_device (&amba_conf.ahbmst, cfg_area);
|
||||
cfg_area += LEON3_AHB_CONF_WORDS;
|
||||
}
|
||||
|
||||
cfg_area =
|
||||
(unsigned int *) (LEON3_IO_AREA | LEON3_CONF_AREA |
|
||||
LEON3_AHB_SLAVE_CONF_AREA);
|
||||
for (i = 0; i < LEON3_AHB_SLAVES; i++)
|
||||
{
|
||||
amba_insert_device (&amba_conf.ahbslv, cfg_area);
|
||||
cfg_area += LEON3_AHB_CONF_WORDS;
|
||||
}
|
||||
|
||||
for (i = 0; i < amba_conf.ahbslv.devnr; i++)
|
||||
{
|
||||
conf = amba_get_confword (amba_conf.ahbslv, i, 0);
|
||||
mbar = amba_ahb_get_membar (amba_conf.ahbslv, i, 0);
|
||||
if ((amba_vendor (conf) == VENDOR_GAISLER)
|
||||
&& (amba_device (conf) == GAISLER_APBMST))
|
||||
{
|
||||
int k;
|
||||
/*amba_conf.apbmst = */ apbmst = amba_membar_start (mbar);
|
||||
cfg_area = (unsigned int *) (apbmst | LEON3_CONF_AREA);
|
||||
|
||||
for (j = amba_conf.apbslv.devnr, k = 0;
|
||||
j < AMBA_MAXAPB_DEVS && k < AMBA_MAXAPB_DEVS_PERBUS; j++, k++)
|
||||
{
|
||||
amba_insert_apb_device (&amba_conf.apbslv, cfg_area, apbmst,
|
||||
idx);
|
||||
cfg_area += LEON3_APB_CONF_WORDS;
|
||||
}
|
||||
idx++;
|
||||
}
|
||||
}
|
||||
|
||||
/* Find LEON3 Interrupt controler */
|
||||
LEON3_IrqCtrl_Regs = (volatile LEON3_IrqCtrl_Regs_Map *)
|
||||
amba_find_apbslv_addr (VENDOR_GAISLER, GAISLER_IRQMP, 0);
|
||||
LEON3_GpTimer_Regs = (volatile LEON3_GpTimer_Regs_Map *)
|
||||
amba_find_apbslv_addr (VENDOR_GAISLER, GAISLER_GPTIMER,
|
||||
&LEON3_GpTimer_Irq);
|
||||
if (LEON3_IrqCtrl_Regs)
|
||||
{
|
||||
LEON3_BYPASS_STORE_PA (&(LEON3_IrqCtrl_Regs->mask[0]), 0);
|
||||
}
|
||||
}
|
147
newlib/src/libgloss/sparc_leon/amba_dbg.c
Normal file
147
newlib/src/libgloss/sparc_leon/amba_dbg.c
Normal file
|
@ -0,0 +1,147 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#include <asm-leon/leon.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/*#define DEBUG_CONFIG*/
|
||||
|
||||
/* Structure containing address to devices found on the Amba Plug&Play bus */
|
||||
extern amba_confarea_type amba_conf;
|
||||
|
||||
#ifdef DEBUG_CONFIG
|
||||
#define printk(fmt,arg...) \
|
||||
{ char c[1024]; \
|
||||
sprintf(c,fmt,##arg); \
|
||||
DEBUG_puts(c); \
|
||||
}
|
||||
#else
|
||||
#define printk(fmt,arg...)
|
||||
#endif
|
||||
|
||||
static void
|
||||
vendor_dev_string (unsigned long conf, char *vendorbuf, char *devbuf)
|
||||
{
|
||||
int vendor = amba_vendor (conf);
|
||||
int dev = amba_device (conf);
|
||||
char *devstr;
|
||||
char *vendorstr;
|
||||
#ifdef DEBUG_CONFIG
|
||||
sprintf (vendorbuf, "Unknown vendor %2x", vendor);
|
||||
sprintf (devbuf, "Unknown device %2x", dev);
|
||||
vendorstr = vendor_id2str (vendor);
|
||||
if (vendorstr)
|
||||
{
|
||||
sprintf (vendorbuf, "%s", vendorstr);
|
||||
}
|
||||
devstr = device_id2str (vendor, dev);
|
||||
if (devstr)
|
||||
{
|
||||
sprintf (devbuf, "%s", devstr);
|
||||
}
|
||||
#else
|
||||
vendorbuf[0] = 0;
|
||||
devbuf[0] = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
amba_prinf_config (void)
|
||||
{
|
||||
char devbuf[128];
|
||||
char vendorbuf[128];
|
||||
unsigned int conf;
|
||||
int i = 0;
|
||||
int j = 0;
|
||||
unsigned int addr;
|
||||
unsigned int m;
|
||||
printk (" Vendors Slaves\n");
|
||||
printk ("Ahb masters:\n");
|
||||
i = 0;
|
||||
while (i < amba_conf.ahbmst.devnr)
|
||||
{
|
||||
conf = amba_get_confword (amba_conf.ahbmst, i, 0);
|
||||
vendor_dev_string (conf, vendorbuf, devbuf);
|
||||
printk ("%2i(%2x:%3x|%2i): %16s %16s \n", i, amba_vendor (conf),
|
||||
amba_device (conf), amba_irq (conf), vendorbuf, devbuf);
|
||||
for (j = 0; j < 4; j++)
|
||||
{
|
||||
m = amba_ahb_get_membar (amba_conf.ahbmst, i, j);
|
||||
if (m)
|
||||
{
|
||||
addr = amba_membar_start (m);
|
||||
printk (" +%i: 0x%x \n", j, addr);
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
printk ("Ahb slaves:\n");
|
||||
i = 0;
|
||||
while (i < amba_conf.ahbslv.devnr)
|
||||
{
|
||||
conf = amba_get_confword (amba_conf.ahbslv, i, 0);
|
||||
vendor_dev_string (conf, vendorbuf, devbuf);
|
||||
printk ("%2i(%2x:%3x|%2i): %16s %16s \n", i, amba_vendor (conf),
|
||||
amba_device (conf), amba_irq (conf), vendorbuf, devbuf);
|
||||
for (j = 0; j < 4; j++)
|
||||
{
|
||||
m = amba_ahb_get_membar (amba_conf.ahbslv, i, j);
|
||||
if (m)
|
||||
{
|
||||
addr = amba_membar_start (m);
|
||||
if (amba_membar_type (m) == AMBA_TYPE_AHBIO)
|
||||
{
|
||||
addr = AMBA_TYPE_AHBIO_ADDR (addr);
|
||||
}
|
||||
else if (amba_membar_type (m) == AMBA_TYPE_APBIO)
|
||||
{
|
||||
printk ("Warning: apbio membar\n");
|
||||
}
|
||||
printk (" +%i: 0x%x (raw:0x%x)\n", j, addr, m);
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
printk ("Apb slaves:\n");
|
||||
i = 0;
|
||||
while (i < amba_conf.apbslv.devnr)
|
||||
{
|
||||
|
||||
conf = amba_get_confword (amba_conf.apbslv, i, 0);
|
||||
vendor_dev_string (conf, vendorbuf, devbuf);
|
||||
printk ("%2i(%2x:%3x|%2i): %16s %16s \n", i, amba_vendor (conf),
|
||||
amba_device (conf), amba_irq (conf), vendorbuf, devbuf);
|
||||
|
||||
m = amba_apb_get_membar (amba_conf.apbslv, i);
|
||||
addr = amba_iobar_start (amba_conf.apbslv.apbmst[i], m);
|
||||
printk (" +%2i: 0x%x (raw:0x%x) \n", 0, addr, m);
|
||||
|
||||
i++;
|
||||
|
||||
}
|
||||
|
||||
}
|
119
newlib/src/libgloss/sparc_leon/amba_driver.c
Normal file
119
newlib/src/libgloss/sparc_leon/amba_driver.c
Normal file
|
@ -0,0 +1,119 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#include <asm-leon/leon.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/*#define DEBUG_CONFIG*/
|
||||
|
||||
/* Structure containing address to devices found on the Amba Plug&Play bus */
|
||||
extern amba_confarea_type amba_conf;
|
||||
|
||||
/*collect apb slaves*/
|
||||
int
|
||||
amba_get_free_apbslv_devices (int vendor, int device, amba_apb_device * dev,
|
||||
int nr)
|
||||
{
|
||||
unsigned int i, conf, iobar, j = 0;
|
||||
#ifdef DEBUG_CONFIG
|
||||
printf ("Apbslv: search for apdslv devices\n");
|
||||
#endif
|
||||
for (i = 0; i < amba_conf.apbslv.devnr && j < nr; i++)
|
||||
{
|
||||
conf = amba_get_confword (amba_conf.apbslv, i, 0);
|
||||
#ifdef DEBUG_CONFIG
|
||||
printf ("Apbslv: check(%x:%x)==(%x:%x)\n", vendor, device,
|
||||
amba_vendor (conf), amba_device (conf));
|
||||
#endif
|
||||
if ((amba_vendor (conf) == vendor) && (amba_device (conf) == device))
|
||||
{
|
||||
if (!(amba_conf.apbslv.allocbits[i / 32] & (1 << (i & (32 - 1)))))
|
||||
{
|
||||
#ifdef DEBUG_CONFIG
|
||||
printf ("Apbslv: alloc device idx %i (%x:%x)\n",
|
||||
j, vendor, device);
|
||||
#endif
|
||||
amba_conf.apbslv.allocbits[i / 32] |= (1 << (i & (32 - 1)));
|
||||
dev[j].irq = amba_irq (conf);
|
||||
iobar = amba_apb_get_membar (amba_conf.apbslv, i);
|
||||
dev[j].start =
|
||||
amba_iobar_start (amba_conf.apbslv.apbmst[i], iobar);
|
||||
#ifdef DEBUG_CONFIG
|
||||
printf (" +bar: 0x%x \n", k, dev[j].start);
|
||||
#endif
|
||||
j++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return j;
|
||||
}
|
||||
|
||||
/*collect ahb slaves*/
|
||||
int
|
||||
amba_get_free_ahbslv_devices (int vendor, int device, amba_ahb_device * dev,
|
||||
int nr)
|
||||
{
|
||||
unsigned int addr, i, conf, iobar, j = 0, k;
|
||||
#ifdef DEBUG_CONFIG
|
||||
printf ("Ahbslv: search for ahdslv devices\n");
|
||||
#endif
|
||||
for (i = 0; i < amba_conf.ahbslv.devnr && j < nr; i++)
|
||||
{
|
||||
conf = amba_get_confword (amba_conf.ahbslv, i, 0);
|
||||
#ifdef DEBUG_CONFIG
|
||||
printf ("Ahbslv: check(%x:%x)==(%x:%x)\n", vendor, device,
|
||||
amba_vendor (conf), amba_device (conf));
|
||||
#endif
|
||||
if ((amba_vendor (conf) == vendor) && (amba_device (conf) == device))
|
||||
{
|
||||
if (!(amba_conf.ahbslv.allocbits[i / 32] & (1 << (i & (32 - 1)))))
|
||||
{
|
||||
#ifdef DEBUG_CONFIG
|
||||
printf ("Ahbslv: alloc device idx %i (%x:%x)\n",
|
||||
j, vendor, device);
|
||||
#endif
|
||||
amba_conf.ahbslv.allocbits[i / 32] |= (1 << (i & (32 - 1)));
|
||||
dev[j].irq = amba_irq (conf);
|
||||
for (k = 0; k < 4; k++)
|
||||
{
|
||||
iobar = amba_ahb_get_membar (amba_conf.ahbslv, i, k);
|
||||
addr = amba_membar_start (iobar);
|
||||
if (amba_membar_type (iobar) == AMBA_TYPE_AHBIO)
|
||||
{
|
||||
addr = AMBA_TYPE_AHBIO_ADDR (addr);
|
||||
}
|
||||
dev[j].start[k] = addr;
|
||||
#ifdef DEBUG_CONFIG
|
||||
printf (" +%i: 0x%x \n", k, dev[j].start[k]);
|
||||
#endif
|
||||
}
|
||||
j++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return j;
|
||||
}
|
96
newlib/src/libgloss/sparc_leon/amba_scan.c
Normal file
96
newlib/src/libgloss/sparc_leon/amba_scan.c
Normal file
|
@ -0,0 +1,96 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#include <asm-leon/leon.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
unsigned int
|
||||
leon3_ahbslv_scan (register unsigned int vendor, register unsigned int driver)
|
||||
{
|
||||
register unsigned int conf, i, *confp;
|
||||
register unsigned int cfg_area =
|
||||
(unsigned int) (LEON3_IO_AREA | LEON3_CONF_AREA |
|
||||
LEON3_AHB_SLAVE_CONF_AREA);
|
||||
for (i = 0; i < LEON3_AHB_SLAVES; i++)
|
||||
{
|
||||
confp = (unsigned int *) (cfg_area + (i * LEON3_AHB_CONF_WORDS * 4));
|
||||
conf = *confp;
|
||||
if ((amba_vendor (conf) == vendor) && (amba_device (conf) == driver))
|
||||
{
|
||||
return (unsigned int) confp;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned int
|
||||
leon3_getbase (register unsigned int *mbar, register unsigned int iobase,
|
||||
int *irq)
|
||||
{
|
||||
register unsigned int conf = mbar[1];
|
||||
return (unsigned int) (((iobase & 0xfff00000) |
|
||||
((conf & 0xfff00000) >> 12)) & (((conf & 0x0000fff0)
|
||||
<< 4) |
|
||||
0xfff00000));
|
||||
}
|
||||
|
||||
unsigned int
|
||||
leon3_apbslv_scan (register unsigned int base,
|
||||
register unsigned int vendor,
|
||||
register unsigned int driver,
|
||||
amba_apb_device * apbdevs, int c)
|
||||
{
|
||||
register unsigned int conf, i, *confp;
|
||||
int j = 0;
|
||||
for (i = 0; i < LEON3_APB_SLAVES; i++)
|
||||
{
|
||||
confp = (unsigned int *) (base + (i * LEON3_APB_CONF_WORDS * 4));
|
||||
conf = *confp;
|
||||
if ((amba_vendor (conf) == vendor) && (amba_device (conf) == driver))
|
||||
{
|
||||
if (j < c)
|
||||
{
|
||||
apbdevs[j].start = leon3_getbase (confp, base, 0);
|
||||
apbdevs[j].irq = amba_irq (conf);
|
||||
j++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return j;
|
||||
}
|
||||
|
||||
|
||||
unsigned int
|
||||
leon3_getapbbase (register unsigned int vendor,
|
||||
register unsigned int driver,
|
||||
amba_apb_device * apbdevs, int c)
|
||||
{
|
||||
unsigned int apb = leon3_ahbslv_scan (VENDOR_GAISLER, GAISLER_APBMST);
|
||||
apb = (*(unsigned int *) (apb + 16)) & LEON3_IO_AREA;
|
||||
apb |= LEON3_CONF_AREA;
|
||||
return leon3_apbslv_scan (apb, vendor, driver, apbdevs, c);
|
||||
}
|
429
newlib/src/libgloss/sparc_leon/asm-leon/amba.h
Normal file
429
newlib/src/libgloss/sparc_leon/asm-leon/amba.h
Normal file
|
@ -0,0 +1,429 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _LEON3_AMBA_H__
|
||||
#define _LEON3_AMBA_H__
|
||||
|
||||
#define LEON3_IO_AREA 0xfff00000
|
||||
#define LEON3_CONF_AREA 0xff000
|
||||
#define LEON3_AHB_SLAVE_CONF_AREA (1 << 11)
|
||||
|
||||
#define LEON3_AHB_CONF_WORDS 8
|
||||
#define LEON3_APB_CONF_WORDS 2
|
||||
#define LEON3_AHB_MASTERS 8
|
||||
#define LEON3_AHB_SLAVES 8
|
||||
#define LEON3_APB_SLAVES 16
|
||||
#define LEON3_APBUARTS 8
|
||||
|
||||
/* Vendor codes */
|
||||
#define VENDOR_GAISLER 1
|
||||
#define VENDOR_PENDER 2
|
||||
#define VENDOR_ESA 4
|
||||
#define VENDOR_OPENCORES 8
|
||||
|
||||
/* Gaisler Research device id's */
|
||||
#define GAISLER_LEON3 0x003
|
||||
#define GAISLER_LEON3DSU 0x004
|
||||
#define GAISLER_ETHAHB 0x005
|
||||
#define GAISLER_APBMST 0x006
|
||||
#define GAISLER_AHBUART 0x007
|
||||
#define GAISLER_SRCTRL 0x008
|
||||
#define GAISLER_SDCTRL 0x009
|
||||
#define GAISLER_APBUART 0x00c
|
||||
#define GAISLER_IRQMP 0x00d
|
||||
#define GAISLER_AHBRAM 0x00e
|
||||
#define GAISLER_GPTIMER 0x011
|
||||
#define GAISLER_PCITRG 0x012
|
||||
#define GAISLER_PCISBRG 0x013
|
||||
#define GAISLER_PCIFBRG 0x014
|
||||
#define GAISLER_PCITRACE 0x015
|
||||
#define GAISLER_PCIDMA 0x016
|
||||
#define GAISLER_AHBTRACE 0x017
|
||||
#define GAISLER_ETHDSU 0x018
|
||||
#define GAISLER_PIOPORT 0x01A
|
||||
#define GAISLER_SPACEWIRE 0x01f
|
||||
|
||||
#define GAISLER_ETHMAC 0x01d
|
||||
#define GAISLER_EHCI 0x026
|
||||
#define GAISLER_UHCI 0x027
|
||||
|
||||
#define GAISLER_L2TIME 0xffd /* internal device: leon2 timer */
|
||||
#define GAISLER_L2C 0xffe /* internal device: leon2compat */
|
||||
#define GAISLER_PLUGPLAY 0xfff /* internal device: plug & play configarea */
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
extern inline char *
|
||||
gaisler_device_str (int id)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case GAISLER_LEON3:
|
||||
return "GAISLER_LEON3";
|
||||
case GAISLER_LEON3DSU:
|
||||
return "GAISLER_LEON3DSU";
|
||||
case GAISLER_ETHAHB:
|
||||
return "GAISLER_ETHAHB";
|
||||
case GAISLER_APBMST:
|
||||
return "GAISLER_APBMST";
|
||||
case GAISLER_AHBUART:
|
||||
return "GAISLER_AHBUART";
|
||||
case GAISLER_SRCTRL:
|
||||
return "GAISLER_SRCTRL";
|
||||
case GAISLER_SDCTRL:
|
||||
return "GAISLER_SDCTRL";
|
||||
case GAISLER_APBUART:
|
||||
return "GAISLER_APBUART";
|
||||
case GAISLER_IRQMP:
|
||||
return "GAISLER_IRQMP";
|
||||
case GAISLER_AHBRAM:
|
||||
return "GAISLER_AHBRAM";
|
||||
case GAISLER_GPTIMER:
|
||||
return "GAISLER_GPTIMER";
|
||||
case GAISLER_PCITRG:
|
||||
return "GAISLER_PCITRG";
|
||||
case GAISLER_PCISBRG:
|
||||
return "GAISLER_PCISBRG";
|
||||
case GAISLER_PCIFBRG:
|
||||
return "GAISLER_PCIFBRG";
|
||||
case GAISLER_PCITRACE:
|
||||
return "GAISLER_PCITRACE";
|
||||
case GAISLER_AHBTRACE:
|
||||
return "GAISLER_AHBTRACE";
|
||||
case GAISLER_ETHDSU:
|
||||
return "GAISLER_ETHDSU";
|
||||
case GAISLER_PIOPORT:
|
||||
return "GAISLER_PIOPORT";
|
||||
case GAISLER_SPACEWIRE:
|
||||
return "GAISLER_SPACEWIRE";
|
||||
|
||||
|
||||
case GAISLER_L2TIME:
|
||||
return "GAISLER_L2TIME";
|
||||
case GAISLER_L2C:
|
||||
return "GAISLER_L2C";
|
||||
case GAISLER_PLUGPLAY:
|
||||
return "GAISLER_PLUGPLAY";
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* European Space Agency device id's */
|
||||
#define ESA_LEON2 0x002
|
||||
#define ESA_MCTRL 0x00f
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
extern inline char *
|
||||
esa_device_str (int id)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case ESA_LEON2:
|
||||
return "ESA_LEON2";
|
||||
case ESA_MCTRL:
|
||||
return "ESA_MCTRL";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* Opencores device id's */
|
||||
#define OPENCORES_PCIBR 0x4
|
||||
#define OPENCORES_ETHMAC 0x5
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
extern inline char *
|
||||
opencores_device_str (int id)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case OPENCORES_PCIBR:
|
||||
return "OPENCORES_PCIBR";
|
||||
case OPENCORES_ETHMAC:
|
||||
return "OPENCORES_ETHMAC";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern inline char *
|
||||
device_id2str (int vendor, int id)
|
||||
{
|
||||
switch (vendor)
|
||||
{
|
||||
case VENDOR_GAISLER:
|
||||
return gaisler_device_str (id);
|
||||
case VENDOR_ESA:
|
||||
return esa_device_str (id);
|
||||
case VENDOR_OPENCORES:
|
||||
return opencores_device_str (id);
|
||||
case VENDOR_PENDER:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern inline char *
|
||||
vendor_id2str (int vendor)
|
||||
{
|
||||
switch (vendor)
|
||||
{
|
||||
case VENDOR_GAISLER:
|
||||
return "VENDOR_GAISLER";
|
||||
case VENDOR_ESA:
|
||||
return "VENDOR_ESA";
|
||||
case VENDOR_OPENCORES:
|
||||
return "VENDOR_OPENCORES";
|
||||
case VENDOR_PENDER:
|
||||
return "VENDOR_PENDER";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* Vendor codes */
|
||||
|
||||
/*
|
||||
*
|
||||
* Macros for manipulating Configuration registers
|
||||
*
|
||||
*/
|
||||
|
||||
#define LEON3_BYPASS_LOAD_PA(x) (*((unsigned long*)x))
|
||||
#define LEON3_BYPASS_STORE_PA(x,v) (*((unsigned long*)x) = (v))
|
||||
|
||||
#define amba_get_confword(tab, index, word) (*((tab).addr[(index)]+(word)))
|
||||
|
||||
#define amba_vendor(x) (((x) >> 24) & 0xff)
|
||||
|
||||
#define amba_device(x) (((x) >> 12) & 0xfff)
|
||||
|
||||
#define amba_ahb_get_membar(tab, index, nr) (*((tab).addr[(index)]+4+(nr)))
|
||||
|
||||
#define amba_apb_get_membar(tab, index) (*((tab).addr[(index)]+1))
|
||||
|
||||
#define amba_membar_start(mbar) (((mbar) & 0xfff00000) & (((mbar) & 0xfff0) << 16))
|
||||
|
||||
#define amba_iobar_start(base, iobar) ((base) | ((((iobar) & 0xfff00000)>>12) & (((iobar) & 0xfff0)<<4)) )
|
||||
|
||||
#define amba_irq(conf) ((conf) & 0xf)
|
||||
|
||||
#define amba_membar_type(mbar) ((mbar) & 0xf)
|
||||
|
||||
#define AMBA_TYPE_APBIO 0x1
|
||||
#define AMBA_TYPE_MEM 0x2
|
||||
#define AMBA_TYPE_AHBIO 0x3
|
||||
|
||||
#define AMBA_TYPE_AHBIO_ADDR(addr) (LEON3_IO_AREA | ((addr) >> 12))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
/*
|
||||
* The following defines the bits in the LEON UART Status Registers.
|
||||
*/
|
||||
|
||||
#define LEON_REG_UART_STATUS_DR 0x00000001 /* Data Ready */
|
||||
#define LEON_REG_UART_STATUS_TSE 0x00000002 /* TX Send Register Empty */
|
||||
#define LEON_REG_UART_STATUS_THE 0x00000004 /* TX Hold Register Empty */
|
||||
#define LEON_REG_UART_STATUS_BR 0x00000008 /* Break Error */
|
||||
#define LEON_REG_UART_STATUS_OE 0x00000010 /* RX Overrun Error */
|
||||
#define LEON_REG_UART_STATUS_PE 0x00000020 /* RX Parity Error */
|
||||
#define LEON_REG_UART_STATUS_FE 0x00000040 /* RX Framing Error */
|
||||
#define LEON_REG_UART_STATUS_ERR 0x00000078 /* Error Mask */
|
||||
|
||||
/*
|
||||
* The following defines the bits in the LEON UART Ctrl Registers.
|
||||
*/
|
||||
|
||||
#define LEON_REG_UART_CTRL_RE 0x00000001 /* Receiver enable */
|
||||
#define LEON_REG_UART_CTRL_TE 0x00000002 /* Transmitter enable */
|
||||
#define LEON_REG_UART_CTRL_RI 0x00000004 /* Receiver interrupt enable */
|
||||
#define LEON_REG_UART_CTRL_TI 0x00000008 /* Transmitter interrupt enable */
|
||||
#define LEON_REG_UART_CTRL_PS 0x00000010 /* Parity select */
|
||||
#define LEON_REG_UART_CTRL_PE 0x00000020 /* Parity enable */
|
||||
#define LEON_REG_UART_CTRL_FL 0x00000040 /* Flow control enable */
|
||||
#define LEON_REG_UART_CTRL_LB 0x00000080 /* Loop Back enable */
|
||||
|
||||
#define LEON3_GPTIMER_EN 1
|
||||
#define LEON3_GPTIMER_RL 2
|
||||
#define LEON3_GPTIMER_LD 4
|
||||
#define LEON3_GPTIMER_IRQEN 8
|
||||
#define LEON3_GPTIMER_IP 0x10
|
||||
|
||||
#define LEON3_GPTIMER_CONFIG_TIMERMASK 0x7
|
||||
#define LEON3_GPTIMER_CONFIG_SEPERATE (1<<8)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
volatile unsigned int ilevel;
|
||||
volatile unsigned int ipend;
|
||||
volatile unsigned int iforce;
|
||||
volatile unsigned int iclear;
|
||||
volatile unsigned int notused00;
|
||||
volatile unsigned int notused01;
|
||||
volatile unsigned int notused02;
|
||||
volatile unsigned int notused03;
|
||||
volatile unsigned int notused10;
|
||||
volatile unsigned int notused11;
|
||||
volatile unsigned int notused12;
|
||||
volatile unsigned int notused13;
|
||||
volatile unsigned int notused20;
|
||||
volatile unsigned int notused21;
|
||||
volatile unsigned int notused22;
|
||||
volatile unsigned int notused23;
|
||||
volatile unsigned int mask[16];
|
||||
} LEON3_IrqCtrl_Regs_Map;
|
||||
extern volatile LEON3_IrqCtrl_Regs_Map *LEON3_IrqCtrl_Regs; /* in amba.c */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
volatile unsigned int data;
|
||||
volatile unsigned int status;
|
||||
volatile unsigned int ctrl;
|
||||
volatile unsigned int scaler;
|
||||
} LEON23_APBUART_Regs_Map;
|
||||
extern volatile LEON23_APBUART_Regs_Map *leon23_uarts[2]; /* in console.c */
|
||||
extern unsigned int leon23_irqs[2]; /* in console.c */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
volatile unsigned int val;
|
||||
volatile unsigned int rld;
|
||||
volatile unsigned int ctrl;
|
||||
volatile unsigned int unused;
|
||||
} LEON3_GpTimerElem_Regs_Map;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
volatile unsigned int scalar;
|
||||
volatile unsigned int scalar_reload;
|
||||
volatile unsigned int config;
|
||||
volatile unsigned int unused;
|
||||
volatile LEON3_GpTimerElem_Regs_Map e[8];
|
||||
} LEON3_GpTimer_Regs_Map;
|
||||
#define LEON3_GPTIMER_CONFIG_NRTIMERS(c) ((c)->config & 0x7)
|
||||
int Timer_getTimer1 (unsigned int **count, unsigned int **reload, unsigned int **ctrl); /* in timer.c */
|
||||
int Timer_getTimer2 (unsigned int **count, unsigned int **reload, unsigned int **ctrl); /* in timer.c */
|
||||
extern volatile LEON3_GpTimer_Regs_Map *LEON3_GpTimer_Regs;
|
||||
extern unsigned long LEON3_GpTimer_Irq;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
volatile unsigned int iodata;
|
||||
volatile unsigned int ioout;
|
||||
volatile unsigned int iodir;
|
||||
volatile unsigned int irqmask;
|
||||
volatile unsigned int irqpol;
|
||||
volatile unsigned int irqedge;
|
||||
} LEON3_IOPORT_Regs_Map;
|
||||
|
||||
|
||||
/*
|
||||
* Types and structure used for AMBA Plug & Play bus scanning
|
||||
*/
|
||||
extern int amba_init_done;
|
||||
|
||||
#define AMBA_MAXAPB_DEVS 64
|
||||
#define AMBA_MAXAPB_DEVS_PERBUS 16
|
||||
|
||||
typedef struct amba_device_table
|
||||
{
|
||||
int devnr; /* numbrer of devices on AHB or APB bus */
|
||||
unsigned int *addr[16]; /* addresses to the devices configuration tables */
|
||||
unsigned int allocbits[1]; /* 0=unallocated, 1=allocated driver */
|
||||
} amba_device_table;
|
||||
|
||||
typedef struct amba_apbslv_device_table
|
||||
{
|
||||
int devnr; /* number of devices on AHB or APB bus */
|
||||
unsigned int *addr[AMBA_MAXAPB_DEVS]; /* addresses to the devices configuration tables */
|
||||
unsigned int apbmst[AMBA_MAXAPB_DEVS]; /* apb master if a entry is a apb slave */
|
||||
unsigned int apbmstidx[AMBA_MAXAPB_DEVS]; /* apb master idx if a entry is a apb slave */
|
||||
unsigned int allocbits[4]; /* 0=unallocated, 1=allocated driver */
|
||||
} amba_apbslv_device_table;
|
||||
|
||||
typedef struct amba_confarea_type
|
||||
{
|
||||
amba_device_table ahbmst;
|
||||
amba_device_table ahbslv;
|
||||
amba_apbslv_device_table apbslv;
|
||||
/*unsigned int apbmst; */
|
||||
} amba_confarea_type;
|
||||
|
||||
|
||||
extern unsigned long amba_find_apbslv_addr (unsigned long vendor,
|
||||
unsigned long device,
|
||||
unsigned long *irq);
|
||||
|
||||
// collect apb slaves
|
||||
typedef struct amba_apb_device
|
||||
{
|
||||
unsigned int start, irq;
|
||||
} amba_apb_device;
|
||||
extern int amba_get_free_apbslv_devices (int vendor, int device,
|
||||
amba_apb_device * dev, int nr);
|
||||
|
||||
// collect ahb slaves
|
||||
typedef struct amba_ahb_device
|
||||
{
|
||||
unsigned int start[4], irq;
|
||||
} amba_ahb_device;
|
||||
extern int amba_get_free_ahbslv_devices (int vendor, int device,
|
||||
amba_ahb_device * dev, int nr);
|
||||
|
||||
|
||||
/*amba_scan.c*/
|
||||
unsigned int leon3_getapbbase (register unsigned int vendor,
|
||||
register unsigned int driver,
|
||||
amba_apb_device * apbdevs, int c);
|
||||
|
||||
#endif //!__ASSEMBLER__
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
54
newlib/src/libgloss/sparc_leon/asm-leon/asmmacro.h
Normal file
54
newlib/src/libgloss/sparc_leon/asm-leon/asmmacro.h
Normal file
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _INCLUDE_LEON_ASMMACRO_h
|
||||
#define _INCLUDE_LEON_ASMMACRO_h
|
||||
|
||||
#include <asm-leon/leonstack.h>
|
||||
|
||||
/* All trap entry points _must_ begin with this macro or else you
|
||||
* lose. It makes sure the kernel has a proper window so that
|
||||
* c-code can be called.
|
||||
*/
|
||||
#define SAVE_ALL_HEAD \
|
||||
sethi %hi(leonbare_trapsetup), %l4; \
|
||||
jmpl %l4 + %lo(leonbare_trapsetup), %l6;
|
||||
#define SAVE_ALL \
|
||||
SAVE_ALL_HEAD \
|
||||
nop;
|
||||
|
||||
#define SAVE_ALL_FAST(l) \
|
||||
set l-8, %l6; \
|
||||
sethi %hi(leonbare_trapsetup_fast), %l4; \
|
||||
jmpl %l4 + %lo(leonbare_trapsetup_fast), %g0; \
|
||||
nop;
|
||||
|
||||
/* All traps low-level code here must end with this macro. */
|
||||
#define RESTORE_ALL b leonbare_trapreturn; clr %l6;
|
||||
#define RESTORE_ALL_FAST b leonbare_trapreturn_fast; clr %l6;
|
||||
|
||||
#define WRITE_PAUSE nop; nop; nop;
|
||||
|
||||
#endif /* !_INCLUDE_LEON_STACK_h */
|
45
newlib/src/libgloss/sparc_leon/asm-leon/clock.h
Normal file
45
newlib/src/libgloss/sparc_leon/asm-leon/clock.h
Normal file
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _ASMSPARC_CLOCK_PARAM_H
|
||||
#define _ASMSPARC_CLOCK_PARAM_H
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <asm-leon/param.h>
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
int _EXFUN (gettimeofday, (struct timeval * __p, void *__tz));
|
||||
int _EXFUN (settimeofday, (const struct timeval *, const struct timezone *));
|
||||
void do_gettimeofday (struct timeval *tv);
|
||||
#endif
|
||||
|
||||
#define USEC_PER_SEC (1000000L)
|
||||
#define NSEC_PER_SEC (1000000000L)
|
||||
#define NSEC_PER_USEC (1000L)
|
||||
|
||||
extern unsigned long tick_nsec;
|
||||
extern unsigned long tick_usec;
|
||||
|
||||
#endif
|
58
newlib/src/libgloss/sparc_leon/asm-leon/contextswitch.h
Normal file
58
newlib/src/libgloss/sparc_leon/asm-leon/contextswitch.h
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef H_LEONBARE_CONTEXTSWITCH_H
|
||||
#define H_LEONBARE_CONTEXTSWITCH_H
|
||||
|
||||
|
||||
/*
|
||||
* for this version, the index of THREAD_JB_SP must be even !!!
|
||||
* This way, we can speed up the context switch (using std).
|
||||
*/
|
||||
#define THREAD_JB_SP 0 /* aligned */
|
||||
#define THREAD_JB_PC 1
|
||||
#define THREAD_JB_SVMASK 3
|
||||
#define THREAD_JB_MASK 4
|
||||
#define THREAD_JB_FP 5
|
||||
#define THREAD_JB_I7 6
|
||||
|
||||
#define THREAD_JB_PSR 8 /* aligned */
|
||||
#define THREAD_JB_WIM 9
|
||||
|
||||
#define THREAD_JB_FPUCTX 10
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
extern unsigned long fpustate_current;
|
||||
|
||||
typedef int threadctx_t[14 + 2] __attribute__ ((aligned (8)));
|
||||
|
||||
int thread_setjmp (threadctx_t env, int val);
|
||||
void thread_longjmp (threadctx_t env, int val);
|
||||
void _switch_to (threadctx_t env, int val);
|
||||
|
||||
#endif /* __ASSEMBLER__ */
|
||||
|
||||
#endif
|
79
newlib/src/libgloss/sparc_leon/asm-leon/elfmacro.h
Normal file
79
newlib/src/libgloss/sparc_leon/asm-leon/elfmacro.h
Normal file
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _INCLUDE_LEON_ELFMACRO_h
|
||||
#define _INCLUDE_LEON_ELFMACRO_h
|
||||
|
||||
#ifdef __ASSEMBLER__
|
||||
#define _TEXT_SEG_ALIGN 4
|
||||
#define _LIBLEONBARE_TEXT_SEG_START \
|
||||
.text ; .balign _TEXT_SEG_ALIGN
|
||||
#define FUNC_BEGIN(func) func:
|
||||
#define FUNC_END(func) .size func, . - func
|
||||
|
||||
#define GTEXT(sym) sym ; .type sym,@function
|
||||
#define GDATA(sym) sym ; .type sym,@object
|
||||
|
||||
#define FUNC_EXPORT(func) .globl GTEXT(func)
|
||||
#define DATA_EXPORT(var) .globl GDATA(var)
|
||||
|
||||
#define FUNC_IMPORT(func) .extern FUNC(func)
|
||||
#define DATA_IMPORT(var) .extern var
|
||||
#endif
|
||||
|
||||
#ifndef weak_alias
|
||||
/* Define ALIASNAME as a weak alias for NAME. */
|
||||
# define weak_alias(name, aliasname) _weak_alias (name, aliasname)
|
||||
# define _weak_alias(name, aliasname) \
|
||||
extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));
|
||||
#endif
|
||||
|
||||
#ifndef strong_alias
|
||||
/* Define ALIASNAME as a strong alias for NAME. */
|
||||
# define strong_alias(name, aliasname) _strong_alias(name, aliasname)
|
||||
# define _strong_alias(name, aliasname) \
|
||||
extern __typeof (name) aliasname __attribute__ ((alias (#name)));
|
||||
#endif
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
typedef int (*initcall_t) (void);
|
||||
extern initcall_t __leonbare_initcall_start;
|
||||
extern initcall_t __leonbare_initcall_end;
|
||||
|
||||
#endif
|
||||
|
||||
#if __GNUC_MINOR__ >= 3
|
||||
# define __attribute_used__ __attribute__((__used__))
|
||||
#else
|
||||
# define __attribute_used__ __attribute__((__unused__))
|
||||
#endif
|
||||
|
||||
#define __define_initcall(level,fn) \
|
||||
static initcall_t __initcall_##fn __attribute_used__ \
|
||||
__attribute__((__section__(".initcall" level ".init"))) = fn
|
||||
|
||||
#define libc_initcall(fn) __define_initcall("1",fn)
|
||||
|
||||
#endif /* !_INCLUDE_LEON_STACK_h */
|
39
newlib/src/libgloss/sparc_leon/asm-leon/head.h
Normal file
39
newlib/src/libgloss/sparc_leon/asm-leon/head.h
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __LEONBARE_HEAD_H
|
||||
#define __LEONBARE_HEAD_H
|
||||
|
||||
/* This is for hard interrupts from level 1-14, 15 is non-maskable (nmi) and
|
||||
* gets handled with another macro.
|
||||
*/
|
||||
#define TRAP_ENTRY_INTERRUPT(int_level) \
|
||||
mov int_level, %l7; rd %psr, %l0; b leonbare_irq_entry; rd %wim, %l3;
|
||||
|
||||
#define TRAP_ENTRY(H) \
|
||||
rd %psr, %l0; b H; rd %wim, %l3; nop;
|
||||
|
||||
|
||||
#endif /* __SPARC_HEAD_H */
|
101
newlib/src/libgloss/sparc_leon/asm-leon/irq.h
Normal file
101
newlib/src/libgloss/sparc_leon/asm-leon/irq.h
Normal file
|
@ -0,0 +1,101 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _LEON_CATCHIRQ_HANDLER_H_
|
||||
#define _LEON_CATCHIRQ_HANDLER_H_
|
||||
|
||||
#include <asm-leon/leon.h>
|
||||
#include <asm-leon/queue.h>
|
||||
/*#include <sys/fsu_pthread_queue.h>*/
|
||||
#include <asm-leon/leoncompat.h>
|
||||
#include <asm-leon/leonstack.h>
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
struct pt_regs;
|
||||
typedef int (*irqhandler) (int, void *, struct leonbare_pt_regs *);
|
||||
|
||||
struct irqaction
|
||||
{
|
||||
irqhandler handler;
|
||||
unsigned long flags;
|
||||
void *dev_id;
|
||||
struct irqaction *next;
|
||||
};
|
||||
#define INIT_IRQACTION { 0,0,0,0 }
|
||||
|
||||
struct irqmp_type
|
||||
{
|
||||
int *addr;
|
||||
int eirq;
|
||||
};
|
||||
|
||||
extern void chained_catch_interrupt (int irq, struct irqaction *a);
|
||||
extern int catch_interrupt (int func, int irq);
|
||||
|
||||
typedef int (*schedulehandler) (struct leonbare_pt_regs *);
|
||||
extern schedulehandler schedule_callback;
|
||||
typedef int (*tickerhandler) (struct leonbare_pt_regs *);
|
||||
extern tickerhandler ticker_callback;
|
||||
extern int leonbare_hz;
|
||||
extern int nestcount;
|
||||
extern int no_inirq_check;
|
||||
extern unsigned long force_noalarm;
|
||||
|
||||
extern void (*handler_irq_pre) (void);
|
||||
extern void (*handler_irq_post) (void);
|
||||
|
||||
extern void leonbare_enable_traps (unsigned long old_flags);
|
||||
extern unsigned long leonbare_disable_traps ();
|
||||
extern void leonbare_flush_windows ();
|
||||
|
||||
static inline void
|
||||
leonbare_enable_irq (int irq)
|
||||
{
|
||||
unsigned int old, irqmask = 1 << irq;
|
||||
old = leonbare_disable_traps ();
|
||||
//---------------------
|
||||
switch (LEONCOMPAT_VERSION)
|
||||
{
|
||||
case 3:
|
||||
default:
|
||||
LEON3_IrqCtrl_Regs->mask[0] = LEON3_IrqCtrl_Regs->mask[0] | irqmask;
|
||||
break;
|
||||
}
|
||||
//---------------------
|
||||
leonbare_enable_traps (old);
|
||||
}
|
||||
|
||||
typedef int (*pendinghandler) (void *);
|
||||
struct pendingaction
|
||||
{
|
||||
TAILQ_ENTRY (pendingaction) next;
|
||||
pendinghandler handler;
|
||||
void *arg;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
104
newlib/src/libgloss/sparc_leon/asm-leon/jiffies.h
Normal file
104
newlib/src/libgloss/sparc_leon/asm-leon/jiffies.h
Normal file
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _LINUX_JIFFIES_H
|
||||
#define _LINUX_JIFFIES_H
|
||||
|
||||
#include <asm-leon/types.h>
|
||||
#include <asm-leon/clock.h>
|
||||
#include <asm-leon/linkage.h>
|
||||
|
||||
/* Suppose we want to devide two numbers NOM and DEN: NOM/DEN, the we can
|
||||
* improve accuracy by shifting LSH bits, hence calculating:
|
||||
* (NOM << LSH) / DEN
|
||||
* This however means trouble for large NOM, because (NOM << LSH) may no
|
||||
* longer fit in 32 bits. The following way of calculating this gives us
|
||||
* some slack, under the following conditions:
|
||||
* - (NOM / DEN) fits in (32 - LSH) bits.
|
||||
* - (NOM % DEN) fits in (32 - LSH) bits.
|
||||
*/
|
||||
#define SH_DIV(NOM,DEN,LSH) ( ((NOM / DEN) << LSH) \
|
||||
+ (((NOM % DEN) << LSH) + DEN / 2) / DEN)
|
||||
|
||||
/* TICK_NSEC is the time between ticks in nsec assuming real ACTHZ */
|
||||
#define TICK_NSEC (SH_DIV (1000000UL * 1000, (HZ<<8), 8))
|
||||
|
||||
/*
|
||||
* The 64-bit value is not volatile - you MUST NOT read it
|
||||
* without sampling the sequence number in xtime_lock.
|
||||
*/
|
||||
extern u64 jiffies_64;
|
||||
extern struct timespec xtime __attribute__ ((aligned (16)));
|
||||
#define jiffies (*((unsigned long *)(((unsigned long)(&jiffies_64))+4)))
|
||||
|
||||
/*
|
||||
* These inlines deal with timer wrapping correctly. You are
|
||||
* strongly encouraged to use them
|
||||
* 1. Because people otherwise forget
|
||||
* 2. Because if the timer wrap changes in future you won't have to
|
||||
* alter your driver code.
|
||||
*
|
||||
* time_after(a,b) returns true if the time a is after time b.
|
||||
*
|
||||
* Do this with "<0" and ">=0" to only test the sign of the result. A
|
||||
* good compiler would generate better code (and a really good compiler
|
||||
* wouldn't care). Gcc is currently neither.
|
||||
*/
|
||||
#define time_after(a,b) \
|
||||
(typecheck(unsigned long, a) && \
|
||||
typecheck(unsigned long, b) && \
|
||||
((long)(b) - (long)(a) < 0))
|
||||
#define time_before(a,b) time_after(b,a)
|
||||
|
||||
#define time_after_eq(a,b) \
|
||||
(typecheck(unsigned long, a) && \
|
||||
typecheck(unsigned long, b) && \
|
||||
((long)(a) - (long)(b) >= 0))
|
||||
#define time_before_eq(a,b) time_after_eq(b,a)
|
||||
|
||||
/*
|
||||
* Have the 32 bit jiffies value wrap 5 minutes after boot
|
||||
* so jiffies wrap bugs show up earlier.
|
||||
*/
|
||||
#define INITIAL_JIFFIES ((unsigned long)(unsigned int) (-300*HZ))
|
||||
|
||||
static inline void
|
||||
set_normalized_timespec (struct timespec *ts, time_t sec, long nsec)
|
||||
{
|
||||
while (nsec > NSEC_PER_SEC)
|
||||
{
|
||||
nsec -= NSEC_PER_SEC;
|
||||
++sec;
|
||||
}
|
||||
while (nsec < 0)
|
||||
{
|
||||
nsec += NSEC_PER_SEC;
|
||||
--sec;
|
||||
}
|
||||
ts->tv_sec = sec;
|
||||
ts->tv_nsec = nsec;
|
||||
}
|
||||
|
||||
#endif
|
177
newlib/src/libgloss/sparc_leon/asm-leon/lambapp.h
Normal file
177
newlib/src/libgloss/sparc_leon/asm-leon/lambapp.h
Normal file
|
@ -0,0 +1,177 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _LAMBAPP_H
|
||||
#define _LAMBAPP_H
|
||||
|
||||
|
||||
/* Include VENDOR and DEVICE definitions */
|
||||
#include "lambapp_devs.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
struct ambapp_dev_hdr;
|
||||
struct ambapp_apb_info;
|
||||
struct ambapp_ahb_info;
|
||||
|
||||
struct ambapp_dev_hdr
|
||||
{
|
||||
struct ambapp_dev_hdr *next; /* Next */
|
||||
struct ambapp_dev_hdr *prev; /* Previous Device. If (this == prev->child) prev is bus bridge */
|
||||
struct ambapp_dev_hdr *children; /* Points to first device on sub-bus */
|
||||
void *owner; /* Owner of this AMBA device */
|
||||
unsigned char dev_type; /* AHB MST, AHB SLV or APB SLV */
|
||||
unsigned char vendor; /* Vendor ID */
|
||||
unsigned short device; /* Device ID */
|
||||
void *devinfo; /* Device info (APB or AHB depending on type) */
|
||||
};
|
||||
|
||||
#define AMBAPP_FLAG_FFACT_DIR 0x100 /* Frequency factor direction, 0=down, 1=up */
|
||||
#define AMBAPP_FLAG_FFACT 0x0f0 /* Frequency factor against top bus */
|
||||
#define AMBAPP_FLAG_MBUS 0x00c
|
||||
#define AMBAPP_FLAG_SBUS 0x003
|
||||
|
||||
struct ambapp_apb_info
|
||||
{
|
||||
/* COMMON */
|
||||
unsigned char irq;
|
||||
unsigned char ver;
|
||||
|
||||
/* APB SPECIFIC */
|
||||
unsigned int start;
|
||||
unsigned int mask;
|
||||
};
|
||||
|
||||
struct ambapp_ahb_info
|
||||
{
|
||||
/* COMMON */
|
||||
unsigned char irq;
|
||||
unsigned char ver;
|
||||
|
||||
/* AHB SPECIFIC */
|
||||
unsigned int start[4];
|
||||
unsigned int mask[4];
|
||||
char type[4]; /* type[N] Determine type of start[N]-mask[N], 2=AHB Memory Space, 3=AHB I/O Space */
|
||||
unsigned int custom[3];
|
||||
};
|
||||
|
||||
/* Describes a complete AMBA Core. Each device may consist of 3 interfaces */
|
||||
struct ambapp_dev_info
|
||||
{
|
||||
char irq; /* irq=-1 indicate no IRQ */
|
||||
unsigned char vendor;
|
||||
unsigned short device;
|
||||
int index; /* Core index if multiple "subcores" in one */
|
||||
struct ambapp_ahb_info *ahb_mst;
|
||||
struct ambapp_ahb_info *ahb_slv;
|
||||
struct ambapp_apb_info *apb_slv;
|
||||
};
|
||||
|
||||
struct ambapp_mmap
|
||||
{
|
||||
unsigned int size;
|
||||
unsigned int local_adr;
|
||||
unsigned int remote_adr;
|
||||
};
|
||||
|
||||
/* Complete AMBA PnP information */
|
||||
struct ambapp_bus
|
||||
{
|
||||
struct ambapp_mmap *mmaps;
|
||||
struct ambapp_dev_hdr *root;
|
||||
};
|
||||
|
||||
/*
|
||||
* Return values
|
||||
* 0 - continue
|
||||
* 1 - stop scanning
|
||||
*/
|
||||
typedef int (*ambapp_func_t) (struct ambapp_dev_hdr * dev, int index,
|
||||
int maxdepth, void *arg);
|
||||
|
||||
#define DEV_IS_FREE(dev) (dev->owner == NULL)
|
||||
#define DEV_IS_ALLOCATED(dev) (dev->owner != NULL)
|
||||
|
||||
/* Options to ambapp_for_each */
|
||||
#define OPTIONS_AHB_MSTS 0x00000001
|
||||
#define OPTIONS_AHB_SLVS 0x00000002
|
||||
#define OPTIONS_APB_SLVS 0x00000004
|
||||
#define OPTIONS_ALL_DEVS (OPTIONS_AHB_MSTS|OPTIONS_AHB_SLVS|OPTIONS_APB_SLVS)
|
||||
|
||||
#define OPTIONS_FREE 0x00000010
|
||||
#define OPTIONS_ALLOCATED 0x00000020
|
||||
#define OPTIONS_ALL (OPTIONS_FREE|OPTIONS_ALLOCATED)
|
||||
|
||||
/* Depth first search, Defualt is breth first search. */
|
||||
#define OPTIONS_DEPTH_FIRST 0x00000100
|
||||
|
||||
#define DEV_AHB_NONE 0
|
||||
#define DEV_AHB_MST 1
|
||||
#define DEV_AHB_SLV 2
|
||||
#define DEV_APB_SLV 3
|
||||
|
||||
/* Structures used to access Plug&Play information directly */
|
||||
struct ambapp_pnp_ahb
|
||||
{
|
||||
const unsigned int id; /* VENDOR, DEVICE, VER, IRQ, */
|
||||
const unsigned int custom[3];
|
||||
const unsigned int mbar[4]; /* MASK, ADDRESS, TYPE, CACHABLE/PREFETCHABLE */
|
||||
};
|
||||
|
||||
struct ambapp_pnp_apb
|
||||
{
|
||||
const unsigned int id; /* VENDOR, DEVICE, VER, IRQ, */
|
||||
const unsigned int iobar; /* MASK, ADDRESS, TYPE, CACHABLE/PREFETCHABLE */
|
||||
};
|
||||
|
||||
#define ambapp_pnp_vendor(id) (((id) >> 24) & 0xff)
|
||||
#define ambapp_pnp_device(id) (((id) >> 12) & 0xfff)
|
||||
#define ambapp_pnp_ver(id) (((id)>>5) & 0x1f)
|
||||
#define ambapp_pnp_irq(id) ((id) & 0x1f)
|
||||
|
||||
#define ambapp_pnp_start(mbar) (((mbar) & 0xfff00000) & (((mbar) & 0xfff0) << 16))
|
||||
#define ambapp_pnp_mbar_mask(mbar) (((mbar)>>4) & 0xfff)
|
||||
#define ambapp_pnp_mbar_type(mbar) ((mbar) & 0xf)
|
||||
|
||||
#define ambapp_pnp_apb_start(iobar, base) ((base) | ((((iobar) & 0xfff00000)>>12) & (((iobar) & 0xfff0)<<4)) )
|
||||
#define ambapp_pnp_apb_mask(iobar) ((~(ambapp_pnp_mbar_mask(iobar)<<8) & 0x000fffff) + 1)
|
||||
|
||||
#define AMBA_TYPE_AHBIO_ADDR(addr,base_ioarea) ((unsigned int)(base_ioarea) | ((addr) >> 12))
|
||||
|
||||
#define AMBA_TYPE_APBIO 0x1
|
||||
#define AMBA_TYPE_MEM 0x2
|
||||
#define AMBA_TYPE_AHBIO 0x3
|
||||
|
||||
extern int find_apbslv (int vendor, int device,
|
||||
struct ambapp_apb_info *dev);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
242
newlib/src/libgloss/sparc_leon/asm-leon/lambapp_devs.h
Normal file
242
newlib/src/libgloss/sparc_leon/asm-leon/lambapp_devs.h
Normal file
|
@ -0,0 +1,242 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __AMBAPP_DEVS_H__
|
||||
#define __AMBAPP_DEVS_H__
|
||||
|
||||
/* Vendor codes */
|
||||
#define VENDOR_GAISLER 1
|
||||
#define VENDOR_PENDER 2
|
||||
#define VENDOR_ESA 4
|
||||
#define VENDOR_ASTRIUM 6
|
||||
#define VENDOR_OPENCHIP 7
|
||||
#define VENDOR_OPENCORES 8
|
||||
#define VENDOR_CONTRIB 9
|
||||
#define VENDOR_EONIC 11
|
||||
#define VENDOR_RADIONOR 15
|
||||
#define VENDOR_GLEICHMANN 16
|
||||
#define VENDOR_MENTA 17
|
||||
#define VENDOR_SUN 19
|
||||
#define VENDOR_MOVIDIA 20
|
||||
#define VENDOR_ORBITA 23
|
||||
#define VENDOR_SYNOPSYS 33
|
||||
#define VENDOR_NASA 34
|
||||
#define VENDOR_ACTEL 172
|
||||
#define VENDOR_CAL 202
|
||||
#define VENDOR_EMBEDDIT 234
|
||||
#define VENDOR_CETON 203
|
||||
|
||||
/* Gaisler Research device id's */
|
||||
#define GAISLER_LEON2DSU 0x002
|
||||
#define GAISLER_LEON3 0x003
|
||||
#define GAISLER_LEON3DSU 0x004
|
||||
#define GAISLER_ETHAHB 0x005
|
||||
#define GAISLER_APBMST 0x006
|
||||
#define GAISLER_AHBUART 0x007
|
||||
#define GAISLER_SRCTRL 0x008
|
||||
#define GAISLER_SDCTRL 0x009
|
||||
#define GAISLER_SSRCTRL 0x00a
|
||||
#define GAISLER_APBUART 0x00c
|
||||
#define GAISLER_IRQMP 0x00d
|
||||
#define GAISLER_AHBRAM 0x00e
|
||||
#define GAISLER_AHBDPRAM 0x00f
|
||||
#define GAISLER_GPTIMER 0x011
|
||||
#define GAISLER_PCITRG 0x012
|
||||
#define GAISLER_PCISBRG 0x013
|
||||
#define GAISLER_PCIFBRG 0x014
|
||||
#define GAISLER_PCITRACE 0x015
|
||||
#define GAISLER_DMACTRL 0x016
|
||||
#define GAISLER_AHBTRACE 0x017
|
||||
#define GAISLER_DSUCTRL 0x018
|
||||
#define GAISLER_CANAHB 0x019
|
||||
#define GAISLER_GPIO 0x01a
|
||||
#define GAISLER_AHBROM 0x01b
|
||||
#define GAISLER_AHBJTAG 0x01c
|
||||
#define GAISLER_ETHMAC 0x01d
|
||||
#define GAISLER_SWNODE 0x01e
|
||||
#define GAISLER_SPW 0x01f
|
||||
#define GAISLER_AHB2AHB 0x020
|
||||
#define GAISLER_USBDC 0x021
|
||||
#define GAISLER_USB_DCL 0x022
|
||||
#define GAISLER_DDRMP 0x023
|
||||
#define GAISLER_ATACTRL 0x024
|
||||
#define GAISLER_DDRSP 0x025
|
||||
#define GAISLER_EHCI 0x026
|
||||
#define GAISLER_UHCI 0x027
|
||||
#define GAISLER_I2CMST 0x028
|
||||
#define GAISLER_SPW2 0x029
|
||||
#define GAISLER_AHBDMA 0x02a
|
||||
#define GAISLER_NUHOSP3 0x02b
|
||||
#define GAISLER_CLKGATE 0x02c
|
||||
#define GAISLER_SPICTRL 0x02d
|
||||
#define GAISLER_DDR2SP 0x02e
|
||||
#define GAISLER_SLINK 0x02f
|
||||
#define GAISLER_GRTM 0x030
|
||||
#define GAISLER_GRTC 0x031
|
||||
#define GAISLER_GRPW 0x032
|
||||
#define GAISLER_GRCTM 0x033
|
||||
#define GAISLER_GRHCAN 0x034
|
||||
#define GAISLER_GRFIFO 0x035
|
||||
#define GAISLER_GRADCDAC 0x036
|
||||
#define GAISLER_GRPULSE 0x037
|
||||
#define GAISLER_GRTIMER 0x038
|
||||
#define GAISLER_AHB2PP 0x039
|
||||
#define GAISLER_GRVERSION 0x03a
|
||||
#define GAISLER_APB2PW 0x03b
|
||||
#define GAISLER_PW2APB 0x03c
|
||||
#define GAISLER_GRCAN 0x03d
|
||||
#define GAISLER_I2CSLV 0x03e
|
||||
#define GAISLER_U16550 0x03f
|
||||
#define GAISLER_AHBMST_EM 0x040
|
||||
#define GAISLER_AHBSLV_EM 0x041
|
||||
#define GAISLER_GRTESTMOD 0x042
|
||||
#define GAISLER_ASCS 0x043
|
||||
#define GAISLER_IPMVBCTRL 0x044
|
||||
#define GAISLER_SPIMCTRL 0x045
|
||||
#define GAISLER_LEON4 0x048
|
||||
#define GAISLER_LEON4DSU 0x049
|
||||
#define GAISLER_GRPWM 0x04A
|
||||
#define GAISLER_FTAHBRAM 0x050
|
||||
#define GAISLER_FTSRCTRL 0x051
|
||||
#define GAISLER_AHBSTAT 0x052
|
||||
#define GAISLER_LEON3FT 0x053
|
||||
#define GAISLER_FTMCTRL 0x054
|
||||
#define GAISLER_FTSDCTRL 0x055
|
||||
#define GAISLER_FTSRCTRL8 0x056
|
||||
#define GAISLER_APBPS2 0x060
|
||||
#define GAISLER_VGACTRL 0x061
|
||||
#define GAISLER_LOGAN 0x062
|
||||
#define GAISLER_SVGACTRL 0x063
|
||||
#define GAISLER_T1AHB 0x064
|
||||
#define GAISLER_MP7WRAP 0x065
|
||||
#define GAISLER_GRSYSMON 0x066
|
||||
#define GAISLER_GRACECTRL 0x067
|
||||
#define GAISLER_B1553BC 0x070
|
||||
#define GAISLER_B1553RT 0x071
|
||||
#define GAISLER_B1553BRM 0x072
|
||||
#define GAISLER_SATCAN 0x080
|
||||
#define GAISLER_CANMUX 0x081
|
||||
#define GAISLER_GRTMRX 0x082
|
||||
#define GAISLER_GRTCTX 0x083
|
||||
#define GAISLER_GRTMDESC 0x084
|
||||
#define GAISLER_GRTMVC 0x085
|
||||
#define GAISLER_GEFFE 0x086
|
||||
#define GAISLER_AES 0x073
|
||||
#define GAISLER_ECC 0x074
|
||||
#define GAISLER_PCIF 0x075
|
||||
#define GAISLER_CLKMOD 0x076
|
||||
#define GAISLER_HAPSTRAK 0x077
|
||||
#define GAISLER_TEST_1X2 0x078
|
||||
#define GAISLER_WILD2AHB 0x079
|
||||
#define GAISLER_BIO1 0x07a
|
||||
|
||||
#define GAISLER_PIPEWRAPPER 0xffa
|
||||
#define GAISLER_L2TIME 0xffd /* internal device: leon2 timer */
|
||||
#define GAISLER_L2C 0xffe /* internal device: leon2compat */
|
||||
#define GAISLER_PLUGPLAY 0xfff /* internal device: plug & play configarea */
|
||||
|
||||
/* European Space Agency device id's */
|
||||
#define ESA_LEON2 0x002
|
||||
#define ESA_LEON2APB 0x003
|
||||
#define ESA_IRQ 0x005
|
||||
#define ESA_TIMER 0x006
|
||||
#define ESA_UART 0x007
|
||||
#define ESA_CFG 0x008
|
||||
#define ESA_IO 0x009
|
||||
#define ESA_MCTRL 0x00f
|
||||
#define ESA_PCIARB 0x010
|
||||
#define ESA_HURRICANE 0x011
|
||||
#define ESA_SPW_RMAP 0x012
|
||||
#define ESA_SPW2 0x012
|
||||
#define ESA_AHBUART 0x013
|
||||
#define ESA_SPWA 0x014
|
||||
#define ESA_BOSCHCAN 0x015
|
||||
#define ESA_IRQ2 0x016
|
||||
#define ESA_AHBSTAT 0x017
|
||||
#define ESA_WPROT 0x018
|
||||
#define ESA_WPROT2 0x019
|
||||
#define ESA_PDEC3AMBA 0x020
|
||||
#define ESA_PTME3AMBA 0x021
|
||||
|
||||
#define OPENCHIP_APBGPIO 0x001
|
||||
#define OPENCHIP_APBI2C 0x002
|
||||
#define OPENCHIP_APBSPI 0x003
|
||||
#define OPENCHIP_APBCHARLCD 0x004
|
||||
#define OPENCHIP_APBPWM 0x005
|
||||
#define OPENCHIP_APBPS2 0x006
|
||||
#define OPENCHIP_APBMMCSD 0x007
|
||||
#define OPENCHIP_APBNAND 0x008
|
||||
#define OPENCHIP_APBLPC 0x009
|
||||
#define OPENCHIP_APBCF 0x00a
|
||||
#define OPENCHIP_APBSYSACE 0x00b
|
||||
#define OPENCHIP_APB1WIRE 0x00c
|
||||
#define OPENCHIP_APBJTAG 0x00d
|
||||
#define OPENCHIP_APBSUI 0x00e
|
||||
|
||||
|
||||
#define CONTRIB_CORE1 0x001
|
||||
#define CONTRIB_CORE2 0x002
|
||||
|
||||
#define GLEICHMANN_CUSTOM 0x001
|
||||
#define GLEICHMANN_GEOLCD01 0x002
|
||||
#define GLEICHMANN_DAC 0x003
|
||||
#define GLEICHMANN_HPI 0x004
|
||||
#define GLEICHMANN_SPI 0x005
|
||||
#define GLEICHMANN_HIFC 0x006
|
||||
#define GLEICHMANN_ADCDAC 0x007
|
||||
#define GLEICHMANN_SPIOC 0x008
|
||||
#define GLEICHMANN_AC97 0x009
|
||||
|
||||
#define SUN_T1 0x001
|
||||
#define SUN_S1 0x011
|
||||
|
||||
#define ORBITA_1553B 0x001
|
||||
#define ORBITA_429 0x002
|
||||
#define ORBITA_SPI 0x003
|
||||
#define ORBITA_I2C 0x004
|
||||
#define ORBITA_SMARTCARD 0x064
|
||||
#define ORBITA_SDCARD 0x065
|
||||
#define ORBITA_UART16550 0x066
|
||||
#define ORBITA_CRYPTO 0x067
|
||||
#define ORBITA_SYSIF 0x068
|
||||
#define ORBITA_PIO 0x069
|
||||
#define ORBITA_RTC 0x0c8
|
||||
#define ORBITA_COLORLCD 0x12c
|
||||
#define ORBITA_PCI 0x190
|
||||
#define ORBITA_DSP 0x1f4
|
||||
#define ORBITA_USBHOST 0x258
|
||||
#define ORBITA_USBDEV 0x2bc
|
||||
|
||||
#define NASA_EP32 0x001
|
||||
|
||||
#define CAL_DDRCTRL 0x188
|
||||
|
||||
#define ACTEL_COREMP7 0x001
|
||||
|
||||
/* Opencores device id's */
|
||||
#define OPENCORES_PCIBR 0x4
|
||||
#define OPENCORES_ETHMAC 0x5
|
||||
|
||||
#endif
|
370
newlib/src/libgloss/sparc_leon/asm-leon/leon.h
Normal file
370
newlib/src/libgloss/sparc_leon/asm-leon/leon.h
Normal file
|
@ -0,0 +1,370 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _INCLUDE_LEON_h
|
||||
#define _INCLUDE_LEON_h
|
||||
|
||||
#include <asm-leon/leon3.h>
|
||||
#include <asm-leon/amba.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* psr defines */
|
||||
#define SPARC_PSR_WIN_MASK 0x0000001f /* bit 0-4 */
|
||||
#define SPARC_PSR_ET_MASK 0x00000020 /* bit 5 */
|
||||
#define SPARC_PSR_PS_MASK 0x00000040 /* bit 6 */
|
||||
#define SPARC_PSR_S_MASK 0x00000080 /* bit 7 */
|
||||
#define SPARC_PSR_PIL_MASK 0x00000F00 /* bits 8 - 11 */
|
||||
#define SPARC_PSR_EF_MASK 0x00001000 /* bit 12 */
|
||||
#define SPARC_PSR_EC_MASK 0x00002000 /* bit 13 */
|
||||
#define SPARC_PSR_ICC_MASK 0x00F00000 /* bits 20 - 23 */
|
||||
#define SPARC_PSR_VER_MASK 0x0F000000 /* bits 24 - 27 */
|
||||
#define SPARC_PSR_IMPL_MASK 0xF0000000 /* bits 28 - 31 */
|
||||
#define SPARC_PSR_PIL_SHIFT 8
|
||||
|
||||
#define SPARC_NUM_REGWIN _nwindows
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
extern int _nwindows;
|
||||
extern int _leon_version;
|
||||
#endif
|
||||
|
||||
#define LEON_VERSION _leon_version
|
||||
|
||||
/*
|
||||
* Interrupt Sources
|
||||
*
|
||||
* The interrupt source numbers directly map to the trap type and to
|
||||
* the bits used in the Interrupt Clear, Interrupt Force, Interrupt Mask,
|
||||
* and the Interrupt Pending Registers.
|
||||
*/
|
||||
|
||||
#define LEON_INTERRUPT_CORRECTABLE_MEMORY_ERROR 1
|
||||
#define LEON2_INTERRUPT_UART_2_RX_TX 2
|
||||
#define LEON2_INTERRUPT_UART_1_RX_TX 3
|
||||
#define LEON23_INTERRUPT_UART_2_RX_TX leon23_irqs[1] /*console.c */
|
||||
#define LEON23_INTERRUPT_UART_1_RX_TX leon23_irqs[0] /*console.c */
|
||||
#define LEON_INTERRUPT_EXTERNAL_0 4
|
||||
#define LEON_INTERRUPT_EXTERNAL_1 5
|
||||
#define LEON_INTERRUPT_EXTERNAL_2 6
|
||||
#define LEON_INTERRUPT_EXTERNAL_3 7
|
||||
#define LEON2_INTERRUPT_TIMER1 8
|
||||
#define LEON2_INTERRUPT_TIMER2 9
|
||||
#define LEON23_INTERRUPT_TIMER1 leon23_timerirqs[0] /* timer.c */
|
||||
#define LEON23_INTERRUPT_TIMER2 leon23_timerirqs[1] /* timer.c */
|
||||
#define LEON_INTERRUPT_EMPTY1 10
|
||||
#define LEON_INTERRUPT_EMPTY2 11
|
||||
#define LEON_INTERRUPT_EMPTY3 12
|
||||
#define LEON_INTERRUPT_EMPTY4 13
|
||||
#define LEON_INTERRUPT_EMPTY5 14
|
||||
#define LEON_INTERRUPT_EMPTY6 15
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
/*
|
||||
* Trap Types for on-chip peripherals
|
||||
*
|
||||
* Source: Table 8 - Interrupt Trap Type and Default Priority Assignments
|
||||
*
|
||||
* NOTE: The priority level for each source corresponds to the least
|
||||
* significant nibble of the trap type.
|
||||
*/
|
||||
|
||||
#define LEON_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
|
||||
|
||||
#define LEON_TRAP_SOURCE( _trap ) ((_trap) - 0x10)
|
||||
|
||||
#define LEON_INT_TRAP( _trap ) \
|
||||
( (_trap) >= LEON_TRAP_TYPE( LEON_INTERRUPT_CORRECTABLE_MEMORY_ERROR ) && \
|
||||
(_trap) <= LEON_TRAP_TYPE( LEON_INTERRUPT_EMPTY6 ) )
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* The following defines the bits in Memory Configuration Register 1.
|
||||
*/
|
||||
|
||||
#define LEON_MEMORY_CONFIGURATION_PROM_SIZE_MASK 0x0003C000
|
||||
|
||||
/*
|
||||
* The following defines the bits in Memory Configuration Register 1.
|
||||
*/
|
||||
|
||||
#define LEON_MEMORY_CONFIGURATION_RAM_SIZE_MASK 0x00001E00
|
||||
|
||||
|
||||
/*
|
||||
* The following defines the bits in the Timer Control Register.
|
||||
*/
|
||||
|
||||
#define LEON_REG_TIMER_CONTROL_EN 0x00000001 /* 1 = enable counting */
|
||||
/* 0 = hold scalar and counter */
|
||||
#define LEON_REG_TIMER_CONTROL_RL 0x00000002 /* 1 = reload at 0 */
|
||||
/* 0 = stop at 0 */
|
||||
#define LEON_REG_TIMER_CONTROL_LD 0x00000004 /* 1 = load counter */
|
||||
/* 0 = no function */
|
||||
|
||||
/*
|
||||
* The following defines the bits in the UART Control Registers.
|
||||
*
|
||||
*/
|
||||
|
||||
#define LEON_REG_UART_CONTROL_RTD 0x000000FF /* RX/TX data */
|
||||
|
||||
/*
|
||||
* The following defines the bits in the LEON UART Status Registers.
|
||||
*/
|
||||
|
||||
#define LEON_REG_UART_STATUS_DR 0x00000001 /* Data Ready */
|
||||
#define LEON_REG_UART_STATUS_TSE 0x00000002 /* TX Send Register Empty */
|
||||
#define LEON_REG_UART_STATUS_THE 0x00000004 /* TX Hold Register Empty */
|
||||
#define LEON_REG_UART_STATUS_BR 0x00000008 /* Break Error */
|
||||
#define LEON_REG_UART_STATUS_OE 0x00000010 /* RX Overrun Error */
|
||||
#define LEON_REG_UART_STATUS_PE 0x00000020 /* RX Parity Error */
|
||||
#define LEON_REG_UART_STATUS_FE 0x00000040 /* RX Framing Error */
|
||||
#define LEON_REG_UART_STATUS_ERR 0x00000078 /* Error Mask */
|
||||
|
||||
|
||||
/*
|
||||
* The following defines the bits in the LEON UART Status Registers.
|
||||
*/
|
||||
|
||||
#define LEON_REG_UART_CTRL_RE 0x00000001 /* Receiver enable */
|
||||
#define LEON_REG_UART_CTRL_TE 0x00000002 /* Transmitter enable */
|
||||
#define LEON_REG_UART_CTRL_RI 0x00000004 /* Receiver interrupt enable */
|
||||
#define LEON_REG_UART_CTRL_TI 0x00000008 /* Transmitter interrupt enable */
|
||||
#define LEON_REG_UART_CTRL_PS 0x00000010 /* Parity select */
|
||||
#define LEON_REG_UART_CTRL_PE 0x00000020 /* Parity enable */
|
||||
#define LEON_REG_UART_CTRL_FL 0x00000040 /* Flow control enable */
|
||||
#define LEON_REG_UART_CTRL_LB 0x00000080 /* Loop Back enable */
|
||||
|
||||
/* leon2 asis */
|
||||
#define ASI_LEON2_IFLUSH 0x05
|
||||
#define ASI_LEON2_DFLUSH 0x06
|
||||
#define ASI_LEON2_CACHEMISS 1
|
||||
|
||||
/* leon3 asis */
|
||||
#define ASI_LEON3_IFLUSH 0x10
|
||||
#define ASI_LEON3_DFLUSH 0x11
|
||||
#define ASI_LEON3_CACHEMISS 1
|
||||
#define ASI_LEON3_SYSCTRL 0x02
|
||||
|
||||
#define ASI_LEON23_ITAG 0x0c
|
||||
#define ASI_LEON23_DTAG 0x0e
|
||||
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
unsigned int leonbare_leon23_loadnocache (unsigned int addr);
|
||||
unsigned int leonbare_leon23_loadnocache16 (unsigned int addr);
|
||||
unsigned int leonbare_leon23_loadnocache8 (unsigned int addr);
|
||||
unsigned int leonbare_leon23_storenocache (unsigned int addr,
|
||||
unsigned int value);
|
||||
unsigned int leonbare_leon23_storenocache16 (unsigned int addr,
|
||||
unsigned int value);
|
||||
unsigned int leonbare_leon23_storenocache8 (unsigned int addr,
|
||||
unsigned int value);
|
||||
|
||||
unsigned int leonbare_leon3_loadnocache (unsigned int addr);
|
||||
unsigned int leonbare_leon3_loadnocache16 (unsigned int addr);
|
||||
unsigned int leonbare_leon3_loadnocache8 (unsigned int addr);
|
||||
|
||||
|
||||
/*
|
||||
* This is used to manipulate the on-chip registers.
|
||||
*
|
||||
* The following symbol must be defined in the linkcmds file and point
|
||||
* to the correct location.
|
||||
*/
|
||||
|
||||
extern unsigned long *LEON23_IRQ_mask_addr; /* in peripherals.h */
|
||||
extern unsigned long *LEON23_IRQ_force_addr; /* in peripherals.h */
|
||||
extern unsigned long *LEON23_IRQ_pending_addr; /* in peripherals.h */
|
||||
extern unsigned long *LEON23_IRQ_clear_addr; /* in peripherals.h */
|
||||
|
||||
/*
|
||||
* Macros to manipulate the Interrupt Clear, Interrupt Force, Interrupt Mask,
|
||||
* and the Interrupt Pending Registers.
|
||||
*
|
||||
* NOTE: For operations which are not atomic, this code disables interrupts
|
||||
* to guarantee there are no intervening accesses to the same register.
|
||||
* The operations which read the register, modify the value and then
|
||||
* store the result back are vulnerable.
|
||||
*/
|
||||
|
||||
#define LEON_Clear_interrupt( _source ) \
|
||||
do { \
|
||||
(*LEON23_IRQ_clear_addr) = (1 << (_source)); \
|
||||
} while (0)
|
||||
|
||||
#define LEON_Force_interrupt( _source ) \
|
||||
do { \
|
||||
(*LEON23_IRQ_force_addr) = (1 << (_source)); \
|
||||
} while (0)
|
||||
|
||||
#define LEON_Is_interrupt_masked( _source ) \
|
||||
((*LEON23_IRQ_mask_addr) & (1 << (_source)))
|
||||
|
||||
#define LEON_Mask_interrupt( _source ) \
|
||||
do { \
|
||||
unsigned32 _level; \
|
||||
\
|
||||
_level = sparc_disable_interrupts(); \
|
||||
(*LEON23_IRQ_mask_addr) &= ~(1 << (_source)); \
|
||||
sparc_enable_interrupts( _level ); \
|
||||
} while (0)
|
||||
|
||||
#define LEON_Unmask_interrupt( _source ) \
|
||||
do { \
|
||||
unsigned32 _level; \
|
||||
\
|
||||
_level = sparc_disable_interrupts(); \
|
||||
(*LEON23_IRQ_mask_addr) |= (1 << (_source)); \
|
||||
sparc_enable_interrupts( _level ); \
|
||||
} while (0)
|
||||
|
||||
#define LEON_Disable_interrupt( _source, _previous ) \
|
||||
do { \
|
||||
unsigned32 _level; \
|
||||
unsigned32 _mask = 1 << (_source); \
|
||||
\
|
||||
_level = sparc_disable_interrupts(); \
|
||||
(_previous) = (*LEON23_IRQ_mask_addr); \
|
||||
(*LEON23_IRQ_mask_addr) = _previous & ~_mask; \
|
||||
sparc_enable_interrupts( _level ); \
|
||||
(_previous) &= _mask; \
|
||||
} while (0)
|
||||
|
||||
#define LEON_Restore_interrupt( _source, _previous ) \
|
||||
do { \
|
||||
unsigned32 _level; \
|
||||
unsigned32 _mask = 1 << (_source); \
|
||||
\
|
||||
_level = sparc_disable_interrupts(); \
|
||||
(*LEON23_IRQ_mask_addr) = \
|
||||
((*LEON23_IRQ_mask_addr) & ~_mask) | (_previous); \
|
||||
sparc_enable_interrupts( _level ); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* Each timer control register is organized as follows:
|
||||
*
|
||||
* D0 - Enable
|
||||
* 1 = enable counting
|
||||
* 0 = hold scaler and counter
|
||||
*
|
||||
* D1 - Counter Reload
|
||||
* 1 = reload counter at zero and restart
|
||||
* 0 = stop counter at zero
|
||||
*
|
||||
* D2 - Counter Load
|
||||
* 1 = load counter with preset value
|
||||
* 0 = no function
|
||||
*
|
||||
*/
|
||||
|
||||
#define LEON_REG_TIMER_COUNTER_IRQEN 0x00000008
|
||||
|
||||
#define LEON_REG_TIMER_COUNTER_RELOAD_AT_ZERO 0x00000002
|
||||
#define LEON_REG_TIMER_COUNTER_STOP_AT_ZERO 0x00000000
|
||||
|
||||
#define LEON_REG_TIMER_COUNTER_LOAD_COUNTER 0x00000004
|
||||
|
||||
#define LEON_REG_TIMER_COUNTER_ENABLE_COUNTING 0x00000001
|
||||
#define LEON_REG_TIMER_COUNTER_DISABLE_COUNTING 0x00000000
|
||||
|
||||
#define LEON_REG_TIMER_COUNTER_RELOAD_MASK 0x00000002
|
||||
#define LEON_REG_TIMER_COUNTER_ENABLE_MASK 0x00000001
|
||||
|
||||
#define LEON_REG_TIMER_COUNTER_DEFINED_MASK 0x00000003
|
||||
#define LEON_REG_TIMER_COUNTER_CURRENT_MODE_MASK 0x00000003
|
||||
|
||||
/* console.c */
|
||||
int lo_sprintf (char *buf, const char *fmt, ...);
|
||||
|
||||
/* do a virtual address read without cache */
|
||||
static __inline__ unsigned long leon23_getpsr ()
|
||||
{
|
||||
unsigned long retval;
|
||||
__asm__ __volatile__ ("mov %%psr, %0\n\t":"=r" (retval):);
|
||||
return retval;
|
||||
}
|
||||
|
||||
extern __inline__ void sparc_leon2_dcache_flush (void)
|
||||
{
|
||||
__asm__
|
||||
__volatile__ ("sta %%g0, [%%g0] %0\n\t"::"i"
|
||||
(ASI_LEON2_IFLUSH):"memory");
|
||||
__asm__
|
||||
__volatile__ ("sta %%g0, [%%g0] %0\n\t"::"i"
|
||||
(ASI_LEON2_DFLUSH):"memory");
|
||||
};
|
||||
|
||||
|
||||
extern __inline__ void sparc_leon_dcache_flush (void)
|
||||
{
|
||||
switch (sparc_leon23_get_psr_version ())
|
||||
{
|
||||
case 0:
|
||||
case 2:
|
||||
sparc_leon2_dcache_flush ();
|
||||
break;
|
||||
default:
|
||||
sparc_leon3_dcache_flush ();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
extern int lolevelirqinstall (int irqnr, void (*handler) ());
|
||||
extern unsigned long locore_readtbr ();
|
||||
extern void _leonbase_Stop ();
|
||||
|
||||
extern void uninstall_winoverflow_hook ();
|
||||
extern int install_winoverflow_hook (void (*func) (void));
|
||||
|
||||
extern void sparc_leon23_icache_flush ();
|
||||
extern void sparc_leon23_dcache_flush ();
|
||||
|
||||
#endif /* ! __ASSEMBLER__ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#define TACODE_IRQCALL 2
|
||||
#define TACODE_IRQCALL_FLUSH 6
|
||||
|
||||
#define TACODE_FLUSH 3
|
||||
#define TACODE_IRQCALLDIS 5
|
||||
|
||||
|
||||
|
||||
#endif /* !_INCLUDE_LEON_h */
|
||||
/* end of include file */
|
107
newlib/src/libgloss/sparc_leon/asm-leon/leon3.h
Normal file
107
newlib/src/libgloss/sparc_leon/asm-leon/leon3.h
Normal file
|
@ -0,0 +1,107 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _INCLUDE_LEON3_h
|
||||
#define _INCLUDE_LEON3_h
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#define ASI_LEON3_CACHEMISS 1
|
||||
#define ASI_LEON3_SYSCTRL 0x02
|
||||
#define ASI_LEON3_DFLUSH 0x11
|
||||
|
||||
#define ASI_LEON3_SYSCTRL_ICFG 0x08
|
||||
#define ASI_LEON3_SYSCTRL_DCFG 0x0c
|
||||
#define ASI_LEON3_SYSCTRL_CFG_SNOOPING (1<<27)
|
||||
#define ASI_LEON3_SYSCTRL_CFG_SSIZE(c) (1<<((c>>20)&0xf))
|
||||
|
||||
|
||||
extern __inline__ unsigned long sparc_leon23_get_psr (void)
|
||||
{
|
||||
unsigned int retval;
|
||||
__asm__ __volatile__ ("rd %%psr, %0\n\t":"=r" (retval):);
|
||||
return (retval);
|
||||
}
|
||||
|
||||
extern __inline__ unsigned long sparc_leon23_get_psr_version (void)
|
||||
{
|
||||
unsigned int psr = sparc_leon23_get_psr ();
|
||||
return (psr >> 24) & 0xf;
|
||||
}
|
||||
#define LEON_ISLEON2 (sparc_leon23_get_psr_version() == 2 || sparc_leon23_get_psr_version() == 0)
|
||||
#define LEON_ISLEON3 (sparc_leon23_get_psr_version() == 3)
|
||||
|
||||
extern __inline__ unsigned long sparc_leon3_get_dcachecfg (void)
|
||||
{
|
||||
unsigned int retval;
|
||||
__asm__
|
||||
__volatile__ ("lda [%1] %2, %0\n\t":"=r" (retval):"r"
|
||||
(ASI_LEON3_SYSCTRL_DCFG), "i" (ASI_LEON3_SYSCTRL));
|
||||
return (retval);
|
||||
}
|
||||
|
||||
extern __inline__ void sparc_leon3_enable_snooping (void)
|
||||
{
|
||||
/*enable snooping */
|
||||
__asm__ volatile ("lda [%%g0] 2, %%l1\n\t"
|
||||
"set 0x800000, %%l2\n\t"
|
||||
"or %%l2, %%l1, %%l2\n\t"
|
||||
"sta %%l2, [%%g0] 2\n\t":::"l1", "l2");
|
||||
};
|
||||
|
||||
extern __inline__ void sparc_leon3_disable_cache (void)
|
||||
{
|
||||
/*asi 2 */
|
||||
__asm__ volatile ("lda [%%g0] 2, %%l1\n\t"
|
||||
"set 0x00000f, %%l2\n\t"
|
||||
"andn %%l2, %%l1, %%l2\n\t"
|
||||
"sta %%l2, [%%g0] 2\n\t":::"l1", "l2");
|
||||
};
|
||||
|
||||
|
||||
|
||||
extern __inline__ void sparc_leon3_dcache_flush (void)
|
||||
{
|
||||
__asm__ __volatile__ (" flush "); //iflush
|
||||
__asm__
|
||||
__volatile__ ("sta %%g0, [%%g0] %0\n\t"::"i"
|
||||
(ASI_LEON3_DFLUSH):"memory");
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !ASM */
|
||||
|
||||
|
||||
#endif /* !_INCLUDE_LEON3_h */
|
||||
/* end of include file */
|
125
newlib/src/libgloss/sparc_leon/asm-leon/leonbare_debug.h
Normal file
125
newlib/src/libgloss/sparc_leon/asm-leon/leonbare_debug.h
Normal file
|
@ -0,0 +1,125 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Aeroflex Gaisler
|
||||
*
|
||||
* BSD license:
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __LEONBARE_KERNEL_DEBUG_H__
|
||||
#define __LEONBARE_KERNEL_DEBUG_H__
|
||||
|
||||
#include <asm-leon/leondbg.h>
|
||||
|
||||
/*
|
||||
#define LBDEBUG_DO_DEBUG
|
||||
#define LBDEBUG_DO_ASSERT
|
||||
*/
|
||||
|
||||
#define LBDEBUG_ALWAYS_NR (1<<0)
|
||||
#define LBDEBUG_ASSERT_NR (1<<1)
|
||||
#define LBDEBUG_FNCALL_NR (1<<2)
|
||||
#define LBDEBUG_FNEXIT_NR (1<<3)
|
||||
#define LBDEBUG_SCHED_NR (1<<4)
|
||||
#define LBDEBUG_QUEUE_NR (1<<5)
|
||||
#define LBDEBUG_THREAD_NR (1<<6)
|
||||
|
||||
#define LBDEBUG_PRINTF dbgleon_printf /*leonbare_debug_printf */
|
||||
|
||||
#ifdef LBDEBUG_DO_DEBUG
|
||||
#ifndef __ASSEMBLER__
|
||||
extern int leonbare_debug;
|
||||
#endif
|
||||
# define PDEBUG_FLAGS_CHECK(c) ((c)&leonbare_debug)
|
||||
# define PDEBUG_FLAGS_SET(c) leonbare_debug |= c
|
||||
#else
|
||||
# define PDEBUG_FLAGS_CHECK(c) 0
|
||||
# define PDEBUG_FLAGS_SET(c)
|
||||
#endif
|
||||
|
||||
#ifdef LBDEBUG_DO_DEBUG
|
||||
# define LBDEBUG(x, fmt, args...) do { if (PDEBUG_FLAGS_CHECK(x)) { LBDEBUG_PRINTF(fmt,args); } } while(0)
|
||||
#else
|
||||
# define LBDEBUG(x, fmt, args...)
|
||||
#endif
|
||||
|
||||
#ifdef LBDEBUG_DO_ASSERT
|
||||
# define LBPASSERT(x, fmt, args...) if (!(x)) { LBDEBUG_PRINTF(fmt,args); while(1); }
|
||||
#else
|
||||
# define LBPASSERT(x, fmt, args...)
|
||||
#endif
|
||||
|
||||
#ifndef LBDEBUG___FUNCTION__
|
||||
#define LBDEBUG___FUNCTION__ __FUNCTION__
|
||||
#endif
|
||||
|
||||
#ifndef LBDEBUG___FUNCTION_WIDTH__
|
||||
#define LBDEBUG___FUNCTION_WIDTH__ "28"
|
||||
#endif
|
||||
|
||||
#ifdef LBDEBUG_DO_FILE
|
||||
#ifndef LBDEBUG___FILE__
|
||||
#define LBDEBUG___FILE__ __FILE__
|
||||
#endif
|
||||
#ifndef LBDEBUG___FILE_WIDTH__
|
||||
#define LBDEBUG___FILE_WIDTH__ "28"
|
||||
#endif
|
||||
#define LBDEBUG___FILE_APPEND ,__FILE__
|
||||
#define LBDEBUG___FILE_FMT_APPEND ":%" LBDEBUG___FILE_WIDTH__ "s"
|
||||
#else
|
||||
#define LBDEBUG___FILE_APPEND
|
||||
#define LBDEBUG___FILE_FMT_APPEND
|
||||
#endif
|
||||
|
||||
#ifdef LBDEBUG_DO_DEBUG
|
||||
# define LBDEBUG_HEADER(code) \
|
||||
if (PDEBUG_FLAGS_CHECK(code)) { \
|
||||
register unsigned int _GETSP asm("sp"); \
|
||||
LBDEBUG_PRINTF("[sp:%08x self(%08x):", _GETSP, LEONBARE_KR_CURRENT); \
|
||||
LBDEBUG_PRINTF("%10s",LEONBARE_TH_NAME_DBG(LEONBARE_KR_CURRENT)); \
|
||||
LBDEBUG_PRINTF(" %03d @ %" LBDEBUG___FUNCTION_WIDTH__ "s()" LBDEBUG___FILE_FMT_APPEND "]:" , __LINE__,LBDEBUG___FUNCTION__ LBDEBUG___FILE_APPEND); \
|
||||
}
|
||||
|
||||
# define LBDEBUG_HEADER_PRINTF(code,fmt,args...) \
|
||||
if (PDEBUG_FLAGS_CHECK(code)) { \
|
||||
LBDEBUG_HEADER(code); \
|
||||
LBDEBUG_PRINTF(fmt,args); \
|
||||
}
|
||||
|
||||
# define LBDEBUG_CODE_PRINTF(code,fmt,args...) \
|
||||
if (PDEBUG_FLAGS_CHECK(code)) { \
|
||||
LBDEBUG_PRINTF(fmt,args); \
|
||||
}
|
||||
#else
|
||||
# define LBDEBUG_HEADER(code)
|
||||
# define LBDEBUG_HEADER_PRINTF(code,fmt,args...)
|
||||
# define LBDEBUG_CODE_PRINTF(code,fmt,args...)
|
||||
#endif
|
||||
|
||||
#define LBDEBUG_FNCALL LBDEBUG_HEADER_PRINTF(LBDEBUG_FNCALL_NR,"enter\n",0)
|
||||
#define LBDEBUG_FNEXIT LBDEBUG_HEADER_PRINTF(LBDEBUG_FNEXIT_NR,"exit\n",0)
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
int leonbare_debug_printf (const char *fmt, ...);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue