diff options
author | cvs2svn <> | 2003-02-08 17:58:32 +0300 |
---|---|---|
committer | cvs2svn <> | 2003-02-08 17:58:32 +0300 |
commit | 6b0370d4f74abf7dd325187923d180b680d90fb0 (patch) | |
tree | a29ee8d3528e3544f847b280934298f9d2f14e8b /libgloss/frv/crt0.S | |
parent | 994d26a476fbfb86258bf64644dc86bec02d0574 (diff) |
This commit was manufactured by cvs2svn to create tag 'mingw-runtime-2_4'.mingw-runtime-2_4
Sprout from master 2003-02-08 14:58:31 UTC Earnie Boyd <earnie@users.sf.net> ''
Cherrypick from cygnus 1999-05-03 07:29:06 UTC Richard Henderson <rth@redhat.com> '19990502 sourceware import':
COPYING
COPYING.LIB
README
config/mh-armpic
config/mh-elfalphapic
config/mh-m68kpic
config/mh-papic
config/mh-ppcpic
config/mh-x86pic
config/mt-d30v
config/mt-netware
config/mt-ospace
etc/add-log.el
etc/add-log.vi
etc/configbuild.ein
etc/configbuild.fig
etc/configbuild.jin
etc/configbuild.tin
etc/configdev.ein
etc/configdev.fig
etc/configdev.jin
etc/configdev.tin
etc/configure
etc/configure.in
etc/configure.texi
include/aout/hp.h
include/aout/hppa.h
include/coff/sym.h
include/coff/symconst.h
include/fopen-bin.h
include/fopen-same.h
include/fopen-vms.h
include/gdbm.h
include/mpw/ChangeLog
include/mpw/README
include/mpw/dir.h
include/mpw/dirent.h
include/mpw/fcntl.h
include/mpw/grp.h
include/mpw/mpw.h
include/mpw/pwd.h
include/mpw/stat.h
include/mpw/sys/file.h
include/mpw/sys/param.h
include/mpw/sys/resource.h
include/mpw/sys/stat.h
include/mpw/sys/time.h
include/mpw/sys/types.h
include/mpw/utime.h
include/mpw/varargs.h
include/nlm/ppc-ext.h
include/opcode/mn10200.h
include/opcode/tahoe.h
include/opcode/tic30.h
install-sh
makefile.vms
missing
mkinstalldirs
move-if-change
mpw-README
mpw-build.in
mpw-config.in
mpw-configure
mpw-install
setup.com
ylwrap
Delete:
djunpack.bat
libgloss/ChangeLog
libgloss/Makefile.in
libgloss/README
libgloss/arm/Makefile.in
libgloss/arm/coff-iq80310.specs
libgloss/arm/coff-pid.specs
libgloss/arm/coff-redboot.ld
libgloss/arm/coff-redboot.specs
libgloss/arm/configure
libgloss/arm/configure.in
libgloss/arm/elf-iq80310.specs
libgloss/arm/elf-pid.specs
libgloss/arm/elf-redboot.ld
libgloss/arm/elf-redboot.specs
libgloss/arm/redboot-crt0.S
libgloss/arm/redboot-syscalls.c
libgloss/arm/syscall.h
libgloss/close.c
libgloss/config/default.mh
libgloss/config/default.mt
libgloss/config/dos.mh
libgloss/config/mips.mt
libgloss/config/mn10200.mt
libgloss/config/mn10300.mt
libgloss/config/ppc.mh
libgloss/configure
libgloss/configure.in
libgloss/d30v/Makefile.in
libgloss/d30v/configure
libgloss/d30v/configure.in
libgloss/d30v/crt0.S
libgloss/d30v/inbyte.c
libgloss/d30v/outbyte.c
libgloss/d30v/syscalls.c
libgloss/debug.c
libgloss/debug.h
libgloss/doc/Makefile.in
libgloss/doc/configure
libgloss/doc/configure.in
libgloss/doc/porting.texi
libgloss/fr30/Makefile.in
libgloss/fr30/configure
libgloss/fr30/configure.in
libgloss/fr30/crt0.s
libgloss/fr30/syscalls.c
libgloss/frv/Makefile.in
libgloss/frv/configure
libgloss/frv/configure.in
libgloss/frv/crt0.S
libgloss/frv/fstat.c
libgloss/frv/getpid.c
libgloss/frv/isatty.c
libgloss/frv/kill.c
libgloss/frv/print.c
libgloss/frv/putnum.c
libgloss/frv/sbrk.c
libgloss/frv/sim-close.S
libgloss/frv/sim-exit.S
libgloss/frv/sim-inbyte.c
libgloss/frv/sim-lseek.S
libgloss/frv/sim-open.S
libgloss/frv/sim-read.S
libgloss/frv/sim-time.c
libgloss/frv/sim-unlink.S
libgloss/frv/sim-write.S
libgloss/frv/stat.c
libgloss/fstat.c
libgloss/getpid.c
libgloss/glue.h
libgloss/hp74x/Makefile.in
libgloss/hp74x/README
libgloss/hp74x/checksum.c
libgloss/hp74x/configure
libgloss/hp74x/configure.in
libgloss/hp74x/crt0.s
libgloss/hp74x/debugger.h
libgloss/hp74x/debugger.s
libgloss/hp74x/diagnose.h
libgloss/hp74x/hppa-defs.h
libgloss/hp74x/hppa.ld
libgloss/hp74x/io.c
libgloss/hp74x/iva_table.h
libgloss/hp74x/iva_table.s
libgloss/hp74x/pa_stub.c
libgloss/hp74x/test.c
libgloss/i386/Makefile.in
libgloss/i386/configure
libgloss/i386/configure.in
libgloss/i386/cygmon-crt0.S
libgloss/i386/cygmon-gmon.c
libgloss/i386/cygmon-gmon.h
libgloss/i386/cygmon-salib.c
libgloss/i386/cygmon-syscall.h
libgloss/i386/cygmon.ld
libgloss/i960/Makefile.in
libgloss/i960/asm.h
libgloss/i960/configure
libgloss/i960/configure.in
libgloss/i960/crt0.c
libgloss/i960/mon-read.c
libgloss/i960/mon-syscalls.S
libgloss/i960/mon-write.c
libgloss/i960/mon960.c
libgloss/i960/mon960.ld
libgloss/i960/syscall.h
libgloss/isatty.c
libgloss/kill.c
libgloss/libnosys/Makefile.in
libgloss/libnosys/acconfig.h
libgloss/libnosys/close.c
libgloss/libnosys/config.h.in
libgloss/libnosys/configure
libgloss/libnosys/configure.in
libgloss/libnosys/environ.c
libgloss/libnosys/execve.c
libgloss/libnosys/fork.c
libgloss/libnosys/fstat.c
libgloss/libnosys/getpid.c
libgloss/libnosys/gettod.c
libgloss/libnosys/isatty.c
libgloss/libnosys/kill.c
libgloss/libnosys/link.c
libgloss/libnosys/lseek.c
libgloss/libnosys/open.c
libgloss/libnosys/read.c
libgloss/libnosys/sbrk.c
libgloss/libnosys/stat.c
libgloss/libnosys/times.c
libgloss/libnosys/unlink.c
libgloss/libnosys/wait.c
libgloss/libnosys/warning.h
libgloss/libnosys/write.c
libgloss/lseek.c
libgloss/m32r/Makefile.in
libgloss/m32r/chmod.c
libgloss/m32r/close.c
libgloss/m32r/configure
libgloss/m32r/configure.in
libgloss/m32r/crt0.S
libgloss/m32r/eit.h
libgloss/m32r/eva-stub.ld
libgloss/m32r/eva.ld
libgloss/m32r/exit.c
libgloss/m32r/fstat.c
libgloss/m32r/getpid.c
libgloss/m32r/isatty.c
libgloss/m32r/kill.c
libgloss/m32r/lseek.c
libgloss/m32r/m32r-lib.c
libgloss/m32r/mon.specs
libgloss/m32r/open.c
libgloss/m32r/raise.c
libgloss/m32r/read.c
libgloss/m32r/sbrk.c
libgloss/m32r/stat.c
libgloss/m32r/trap0.S
libgloss/m32r/trapmon0.c
libgloss/m32r/unlink.c
libgloss/m32r/utime.c
libgloss/m32r/write.c
libgloss/m68hc11/Makefile.in
libgloss/m68hc11/configure
libgloss/m68hc11/configure.in
libgloss/m68hc11/crt0.S
libgloss/m68hc11/sci-inout.S
libgloss/m68hc11/sim-valid-m68hc11.ld
libgloss/m68hc11/sim-valid-m68hc12.ld
libgloss/m68hc11/syscalls.c
libgloss/m68k/Makefile.in
libgloss/m68k/README
libgloss/m68k/asm.h
libgloss/m68k/bcc.ld
libgloss/m68k/configure
libgloss/m68k/configure.in
libgloss/m68k/cpu32bug.S
libgloss/m68k/cpu32bug.h
libgloss/m68k/crt0.S
libgloss/m68k/dbug-exit.S
libgloss/m68k/dbug-inbyte.S
libgloss/m68k/dbug-outbyte.S
libgloss/m68k/dtor.C
libgloss/m68k/idp-inbyte.c
libgloss/m68k/idp-outbyte.c
libgloss/m68k/idp.ld
libgloss/m68k/idpgdb.ld
libgloss/m68k/leds.c
libgloss/m68k/leds.h
libgloss/m68k/mc68681reg.h
libgloss/m68k/mc68ec.c
libgloss/m68k/mvme-stub.c
libgloss/m68k/mvme.S
libgloss/m68k/mvme135-asm.S
libgloss/m68k/mvme135.ld
libgloss/m68k/mvme162.ld
libgloss/m68k/mvme162lx-asm.S
libgloss/m68k/sbc5204.ld
libgloss/m68k/sbc5206.ld
libgloss/m68k/sim-abort.c
libgloss/m68k/sim-crt0.S
libgloss/m68k/sim-errno.c
libgloss/m68k/sim-funcs.c
libgloss/m68k/sim-inbyte.c
libgloss/m68k/sim-print.c
libgloss/m68k/sim-sbrk.c
libgloss/m68k/sim.ld
libgloss/m68k/simulator.S
libgloss/m68k/test.c
libgloss/mcore/Makefile.in
libgloss/mcore/close.c
libgloss/mcore/cmb-exit.c
libgloss/mcore/cmb-inbyte.c
libgloss/mcore/cmb-outbyte.c
libgloss/mcore/configure
libgloss/mcore/configure.in
libgloss/mcore/crt0.S
libgloss/mcore/elf-cmb.ld
libgloss/mcore/elf-cmb.specs
libgloss/mcore/fstat.c
libgloss/mcore/getpid.c
libgloss/mcore/kill.c
libgloss/mcore/lseek.c
libgloss/mcore/open.c
libgloss/mcore/pe-cmb.ld
libgloss/mcore/pe-cmb.specs
libgloss/mcore/print.c
libgloss/mcore/putnum.c
libgloss/mcore/raise.c
libgloss/mcore/read.c
libgloss/mcore/sbrk.c
libgloss/mcore/stat.c
libgloss/mcore/syscalls.S
libgloss/mcore/unlink.c
libgloss/mcore/write.c
libgloss/mips/Makefile.in
libgloss/mips/array-io.c
libgloss/mips/array.ld
libgloss/mips/cfe.c
libgloss/mips/cfe.ld
libgloss/mips/cfe_api.c
libgloss/mips/cfe_api.h
libgloss/mips/cfe_api_int.h
libgloss/mips/cfe_error.h
libgloss/mips/cfe_prestart.S
libgloss/mips/cma101.c
libgloss/mips/configure
libgloss/mips/configure.in
libgloss/mips/crt0.S
libgloss/mips/crt0_cygmon.S
libgloss/mips/cygmon.c
libgloss/mips/ddb-kseg0.ld
libgloss/mips/ddb.ld
libgloss/mips/dtor.C
libgloss/mips/dve.ld
libgloss/mips/dvemon.c
libgloss/mips/entry.S
libgloss/mips/idt.ld
libgloss/mips/idt32.ld
libgloss/mips/idt64.ld
libgloss/mips/idtecoff.ld
libgloss/mips/idtmon.S
libgloss/mips/jmr3904-io.c
libgloss/mips/jmr3904app-java.ld
libgloss/mips/jmr3904app.ld
libgloss/mips/jmr3904dram-java.ld
libgloss/mips/jmr3904dram.ld
libgloss/mips/lsi.ld
libgloss/mips/lsi33k-stub.c
libgloss/mips/lsi33k-stub.h
libgloss/mips/lsipmon.S
libgloss/mips/nullmon.c
libgloss/mips/nullmon.ld
libgloss/mips/pmon.S
libgloss/mips/pmon.ld
libgloss/mips/regs.S
libgloss/mips/syscalls.c
libgloss/mips/test.c
libgloss/mips/vr4300.S
libgloss/mips/vr5xxx.S
libgloss/mn10200/Makefile.in
libgloss/mn10200/_exit.c
libgloss/mn10200/access.c
libgloss/mn10200/chmod.c
libgloss/mn10200/chown.c
libgloss/mn10200/close.c
libgloss/mn10200/configure
libgloss/mn10200/configure.in
libgloss/mn10200/creat.c
libgloss/mn10200/crt0.S
libgloss/mn10200/crt1.c
libgloss/mn10200/eval.ld
libgloss/mn10200/execv.c
libgloss/mn10200/execve.c
libgloss/mn10200/fork.c
libgloss/mn10200/fstat.c
libgloss/mn10200/getpid.c
libgloss/mn10200/gettime.c
libgloss/mn10200/isatty.c
libgloss/mn10200/kill.c
libgloss/mn10200/lseek.c
libgloss/mn10200/open.c
libgloss/mn10200/pipe.c
libgloss/mn10200/read.c
libgloss/mn10200/sbrk.c
libgloss/mn10200/sim.ld
libgloss/mn10200/stat.c
libgloss/mn10200/test.c
libgloss/mn10200/time.c
libgloss/mn10200/times.c
libgloss/mn10200/trap.S
libgloss/mn10200/trap.h
libgloss/mn10200/unlink.c
libgloss/mn10200/utime.c
libgloss/mn10200/wait.c
libgloss/mn10200/write.c
libgloss/mn10300/Makefile.in
libgloss/mn10300/_exit.c
libgloss/mn10300/access.c
libgloss/mn10300/chmod.c
libgloss/mn10300/chown.c
libgloss/mn10300/close.c
libgloss/mn10300/configure
libgloss/mn10300/configure.in
libgloss/mn10300/creat.c
libgloss/mn10300/crt0-eval.S
libgloss/mn10300/crt0.S
libgloss/mn10300/crt0_cygmon.S
libgloss/mn10300/crt0_redboot.S
libgloss/mn10300/crt1.c
libgloss/mn10300/cygmon.c
libgloss/mn10300/eval.ld
libgloss/mn10300/execv.c
libgloss/mn10300/execve.c
libgloss/mn10300/fork.c
libgloss/mn10300/fstat.c
libgloss/mn10300/getpid.c
libgloss/mn10300/gettime.c
libgloss/mn10300/isatty.c
libgloss/mn10300/kill.c
libgloss/mn10300/lseek.c
libgloss/mn10300/open.c
libgloss/mn10300/pipe.c
libgloss/mn10300/read.c
libgloss/mn10300/sbrk.c
libgloss/mn10300/sim.ld
libgloss/mn10300/stat.c
libgloss/mn10300/test.c
libgloss/mn10300/time.c
libgloss/mn10300/times.c
libgloss/mn10300/trap.S
libgloss/mn10300/trap.h
libgloss/mn10300/unlink.c
libgloss/mn10300/utime.c
libgloss/mn10300/wait.c
libgloss/mn10300/write.c
libgloss/open.c
libgloss/pa/Makefile.in
libgloss/pa/README
libgloss/pa/configure
libgloss/pa/configure.in
libgloss/pa/crt0.S
libgloss/pa/hp-milli.s
libgloss/pa/op50n-io.S
libgloss/pa/op50n.h
libgloss/pa/op50n.ld
libgloss/pa/op50nled.c
libgloss/pa/setjmp.S
libgloss/pa/test.c
libgloss/pa/w89k-io.c
libgloss/pa/w89k.h
libgloss/pa/w89k.ld
libgloss/print.c
libgloss/putnum.c
libgloss/read.c
libgloss/rs6000/Makefile.in
libgloss/rs6000/ads-exit.S
libgloss/rs6000/ads-io.c
libgloss/rs6000/ads.ld
libgloss/rs6000/configure
libgloss/rs6000/configure.in
libgloss/rs6000/crt0.S
libgloss/rs6000/mbx-exit.c
libgloss/rs6000/mbx-inbyte.c
libgloss/rs6000/mbx-outbyte.c
libgloss/rs6000/mbx-print.c
libgloss/rs6000/mbx.ld
libgloss/rs6000/mbx.specs
libgloss/rs6000/mcount.S
libgloss/rs6000/mvme-errno.c
libgloss/rs6000/mvme-exit.S
libgloss/rs6000/mvme-inbyte.S
libgloss/rs6000/mvme-outbyte.S
libgloss/rs6000/mvme-print.c
libgloss/rs6000/mvme-read.c
libgloss/rs6000/sim-abort.c
libgloss/rs6000/sim-crt0.S
libgloss/rs6000/sim-errno.c
libgloss/rs6000/sim-inbyte.c
libgloss/rs6000/sim-print.c
libgloss/rs6000/sim-sbrk.c
libgloss/rs6000/simulator.S
libgloss/rs6000/sol-cfuncs.c
libgloss/rs6000/sol-syscall.S
libgloss/rs6000/test.c
libgloss/rs6000/yellowknife.ld
libgloss/sbrk.c
libgloss/sh/sh1lcevb.ld
libgloss/sh/sh2lcevb.ld
libgloss/sh/sh3bb.ld
libgloss/sh/sh3lcevb.ld
libgloss/sparc/Makefile.in
libgloss/sparc/asm.h
libgloss/sparc/cache.c
libgloss/sparc/configure
libgloss/sparc/configure.in
libgloss/sparc/crt0-701.S
libgloss/sparc/crt0.S
libgloss/sparc/cygmon-crt0.S
libgloss/sparc/cygmon-salib.c
libgloss/sparc/cygmon-sparc64-ld.src
libgloss/sparc/cygmon.ld.src
libgloss/sparc/dtor.C
libgloss/sparc/elfsim.ld
libgloss/sparc/erc32-crt0.S
libgloss/sparc/erc32-io.c
libgloss/sparc/erc32-stub.c
libgloss/sparc/erc32.ld
libgloss/sparc/ex930.ld
libgloss/sparc/ex931.ld
libgloss/sparc/ex934.ld
libgloss/sparc/fixctors.c
libgloss/sparc/libsys/Makefile.in
libgloss/sparc/libsys/_exit.S
libgloss/sparc/libsys/cerror.S
libgloss/sparc/libsys/configure
libgloss/sparc/libsys/configure.in
libgloss/sparc/libsys/isatty.c
libgloss/sparc/libsys/libsys-crt0.S
libgloss/sparc/libsys/sbrk.S
libgloss/sparc/libsys/syscall.h
libgloss/sparc/libsys/syscallasm.h
libgloss/sparc/libsys/template.S
libgloss/sparc/libsys/template_r.S
libgloss/sparc/salib-701.c
libgloss/sparc/salib.c
libgloss/sparc/slite.h
libgloss/sparc/sparc-stub.c
libgloss/sparc/sparc86x.ld
libgloss/sparc/sparcl-stub.c
libgloss/sparc/sparclet-stub.c
libgloss/sparc/sparclite.h
libgloss/sparc/sysc-701.c
libgloss/sparc/syscalls.c
libgloss/sparc/test.c
libgloss/sparc/traps.S
libgloss/sparc/tsc701.ld
libgloss/stat.c
libgloss/syscall.h
libgloss/testsuite/Makefile.in
libgloss/testsuite/config/hppa.mt
libgloss/testsuite/config/m68k.mt
libgloss/testsuite/config/mips.mt
libgloss/testsuite/config/support.c
libgloss/testsuite/configure.in
libgloss/testsuite/lib/libgloss.exp
libgloss/testsuite/libgloss.all/.gdbinit
libgloss/testsuite/libgloss.all/Makefile.in
libgloss/testsuite/libgloss.all/array.c
libgloss/testsuite/libgloss.all/configure.in
libgloss/testsuite/libgloss.all/div.c
libgloss/testsuite/libgloss.all/double.c
libgloss/testsuite/libgloss.all/float.c
libgloss/testsuite/libgloss.all/func.c
libgloss/testsuite/libgloss.all/io.c
libgloss/testsuite/libgloss.all/math.c
libgloss/testsuite/libgloss.all/memory.c
libgloss/testsuite/libgloss.all/misc.c
libgloss/testsuite/libgloss.all/printf.c
libgloss/testsuite/libgloss.all/struct.c
libgloss/testsuite/libgloss.all/varargs.c
libgloss/testsuite/libgloss.all/varargs2.c
libgloss/unlink.c
libgloss/v850/sys/syscall.h
libgloss/wince/Makefile.am
libgloss/wince/Makefile.in
libgloss/wince/aclocal.m4
libgloss/wince/configure
libgloss/wince/configure.in
libgloss/write.c
libgloss/xstormy16/Makefile.in
libgloss/xstormy16/close.c
libgloss/xstormy16/configure
libgloss/xstormy16/configure.in
libgloss/xstormy16/crt0.s
libgloss/xstormy16/crt0_stub.s
libgloss/xstormy16/crti.s
libgloss/xstormy16/crtn.s
libgloss/xstormy16/eva_app.c
libgloss/xstormy16/eva_app.ld
libgloss/xstormy16/eva_stub.ld
libgloss/xstormy16/fstat.c
libgloss/xstormy16/getpid.c
libgloss/xstormy16/kill.c
libgloss/xstormy16/lseek.c
libgloss/xstormy16/open.c
libgloss/xstormy16/sim_high.ld
libgloss/xstormy16/sim_malloc_start.s
libgloss/xstormy16/stat.c
libgloss/xstormy16/syscalls.S
libgloss/xstormy16/syscalls.m4
libgloss/xstormy16/unlink.c
libgloss/xstormy16/xstormy16_stub.c
texinfo/texinfo.tex
winsup/cygserver/client.cc
winsup/cygserver/cygserver.cc
winsup/cygserver/ipc.h
winsup/cygserver/process.cc
winsup/cygserver/shm.cc
winsup/cygserver/shm.h
winsup/cygserver/transport.cc
winsup/cygserver/transport_pipes.cc
winsup/cygserver/transport_sockets.cc
Diffstat (limited to 'libgloss/frv/crt0.S')
-rw-r--r-- | libgloss/frv/crt0.S | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/libgloss/frv/crt0.S b/libgloss/frv/crt0.S deleted file mode 100644 index 0825a5efc..000000000 --- a/libgloss/frv/crt0.S +++ /dev/null @@ -1,231 +0,0 @@ -/* crt0.S -- startup file for frv. - * - * Copyright (c) 2002 Red Hat, Inc - * - * The authors hereby grant permission to use, copy, modify, distribute, - * and license this software and its documentation for any purpose, provided - * that existing copyright notices are retained in all copies and that this - * notice is included verbatim in any distributions. No written agreement, - * license, or royalty fee is required for any of the authorized uses. - * Modifications to this software may be copyrighted by their authors - * and need not follow the licensing terms described here, provided that - * the new terms are clearly indicated on the first page of each file where - * they apply. - */ - -#include <frv-asm.h> - - /* statically store .Lcall's address so we can see if we are running - at the location we were linked for or a different location. */ - .data - .type EXT(__start_cmp),@object - .size EXT(__start_cmp),4 - .p2align 2 -EXT(__start_cmp): - .picptr .Lcall - - .globl __start - .weak _start - .text - .type __start,@function -__start: -_start: - call .Lcall /* set up _gp in a pic-friendly manor */ -.Lcall: movsg lr, gr4 - P(sethi) #gprelhi(.Lcall), gr5 - setlo #gprello(.Lcall), gr5 - P(sub) gr4, gr5, gr16 - - sethi #gprelhi(EXT(_stack)), sp /* load up stack pointer */ - P(setlo) #gprello(EXT(_stack)), sp - setlos #0, fp /* zero fp to allow unwinders to stop */ - P(add) sp, gr16, sp - - sethi #gprelhi(EXT(__start_cmp)), gr5 - setlo #gprello(EXT(__start_cmp)), gr5 - ld @(gr5,gr16), gr6 - subcc gr4, gr6, gr8, icc0 - beq icc0, 0, .Lfixed - - P(st) gr4, @(gr5, gr16) /* update so if we restart no need to fixup */ - - /* fixup the .ctors list */ - sethi #gprelhi(EXT(__CTOR_LIST__)), gr9 - P(sethi) #gprelhi(EXT(__CTOR_END__)), gr10 - setlo #gprello(EXT(__CTOR_LIST__)), gr9 - P(setlo) #gprello(EXT(__CTOR_END__)), gr10 - add gr9, gr16, gr9 - P(add) gr10, gr16, gr10 - addi gr9, 4, gr9 - P(subi) gr10, 4, gr10 - setlos 4, gr11 - call EXT(__frv_fixptrs) - - /* fixup the .dtors list */ - P(sethi) #gprelhi(EXT(__DTOR_LIST__)), gr9 - sethi #gprelhi(EXT(__DTOR_END__)), gr10 - P(setlo) #gprello(EXT(__DTOR_LIST__)), gr9 - setlo #gprello(EXT(__DTOR_END__)), gr10 - P(add) gr9, gr16, gr9 - add gr10, gr16, gr10 - P(addi) gr9, 4, gr9 - subi gr10, 4, gr10 - call EXT(__frv_fixptrs) - - /* fixup the .dtors list */ - P(sethi) #gprelhi(EXT(__ROFIXUP_LIST__)), gr9 - sethi #gprelhi(EXT(__ROFIXUP_END__)), gr10 - P(setlo) #gprello(EXT(__ROFIXUP_LIST__)), gr9 - setlo #gprello(EXT(__ROFIXUP_END__)), gr10 - P(add) gr9, gr16, gr9 - add gr10, gr16, gr10 - call EXT(__frv_fix_usrptrs) - -.Lfixed: - -/* HSR flags */ -#define HSR_ICE 0x80000000 /* Instruction cache enable */ -#define HSR_DCE 0x40000000 /* Data cache enable */ -#define HSR_CBM 0x08000000 /* Cache copy back mode */ -#define HSR_EIMM 0x04000000 /* Enable Instruction MMU */ -#define HSR_EDMM 0x02000000 /* Enable Data MMU */ -#define HSR_EMEM 0x00800000 /* Enable MMU miss exception mask */ -#define HSR_RME 0x00400000 /* Ram mode enable */ -#define HSR_SA 0x00001000 /* Start address */ -#define HSR_FRN 0x00000800 /* Number of FPRs */ -#define HSR_GRN 0x00000400 /* Number of GPRs */ -#define HSR_FRHE 0x00000200 /* FR Higher Enable */ -#define HSR_FRLE 0x00000100 /* FR Lower Enable */ -#define HSR_GRHE 0x00000080 /* GR Higher Enable */ -#define HSR_GRLE 0x00000040 /* GR Lower Enable */ - -#ifndef HSR_CLEAR -#define HSR_CLEAR 0 -#endif - -#ifndef HSR_SET -#ifndef FRV_NO_CACHE -#define HSR_SET (HSR_ICE|HSR_DCE|HSR_FRHE|HSR_FRLE|HSR_GRHE|HSR_GRLE) -#else -#define HSR_SET (HSR_FRHE|HSR_FRLE|HSR_GRHE|HSR_GRLE) -#endif -#endif - -/* PSR flags */ -#define PSR_ICE 0x00010000 /* In circuit emulation mode */ -#define PSR_NEM 0x00004000 /* Non-exception mode */ -#define PSR_CM 0x00002000 /* Conditional mode */ -#define PSR_BE 0x00001000 /* Big endian mode */ -#define PSR_EF 0x00000100 /* Enable floating point */ -#define PSR_EM 0x00000080 /* Enable media instructions */ -#define PSR_S 0x00000004 /* Enable supervisor mode */ -#define PSR_PS 0x00000002 /* Previous supervisor mode */ -#define PSR_ET 0x00000001 /* Enable interrupts */ - -#ifndef PSR_CLEAR -#if __FRV_FPR__ -#define PSR_CLEAR 0 -#else -#define PSR_CLEAR (PSR_EF|PSR_EM) -#endif -#endif - -#ifndef PSR_SET -#if __FRV_FPR__ -#define PSR_SET (PSR_NEM|PSR_CM|PSR_EF|PSR_EM) -#else -#define PSR_SET (PSR_NEM|PSR_CM) -#endif -#endif - - /* Enable floating point */ - movsg hsr0, gr4 - P(sethi) #hi(HSR_SET), gr5 - setlo #lo(HSR_SET), gr5 - P(sethi) #hi(~HSR_CLEAR), gr6 - setlo #lo(~HSR_CLEAR), gr6 - or gr4, gr5, gr4 - and gr4, gr6, gr4 - movgs gr4, hsr0 - - movsg psr, gr4 - P(sethi) #hi(PSR_SET), gr5 - setlo #lo(PSR_SET), gr5 - P(sethi) #hi(~PSR_CLEAR), gr6 - setlo #lo(~PSR_CLEAR), gr6 - or gr4, gr5, gr4 - and gr4, gr6, gr4 - movgs gr4, psr - - /* zero the bss area */ - P(sethi) #gprelhi(__bss_start), gr8 - sethi #gprelhi(__end), gr4 - P(setlo) #gprello(__bss_start), gr8 - setlo #gprello(__end), gr4 - P(add) gr8, gr16, gr8 - add gr4, gr16, gr4 - P(setlos) #0, gr9 - sub gr4, gr8, gr10 - call EXT(memset) - - P(setlos) #0, gr8 /* zero argc, argv, envp */ - setlos #0, gr9 - P(setlos) #0, gr10 - - call EXT(main) - call EXT(exit) -.Lend: - .size __start,(.Lend-__start) - - /* Routine to adjust pointers - gr8 = difference to adjust by - gr9 = starting address - gr10 = ending address + 4 - gr11 = amount to add to the pointer each iteration. */ - .globl EXT(__frv_fixptrs) - .type EXT(__frv_fixptrs),@function -EXT(__frv_fixptrs): - P(sub) gr9, gr11, gr9 - sub gr10, gr11, gr10 -.Lloop2: - cmp gr10, gr9, icc0 - bls icc0, 0, .Lret2 - - ldu @(gr9,gr11), gr5 - add gr8, gr5, gr5 - P(st) gr5, @(gr9,gr0) - bra .Lloop2 - -.Lret2: ret -.Lend2: - .size EXT(__frv_fixptrs),.Lend2-EXT(__frv_fixptrs) - - /* Routine to adjust statically initialized pointers - Note since these are pointers to pointers, they - need to be adjusted themsevles. - - gr8 = difference to adjust by - gr9 = starting address - gr10 = ending address + 4 - gr11 = amount to add to the pointer each iteration. */ - .globl EXT(__frv_fix_usrptrs) - .type EXT(__frv_fix_usrptrs),@function -EXT(__frv_fix_usrptrs): - P(sub) gr9, gr11, gr9 - sub gr10, gr11, gr10 -.Lloop3: - cmp gr10, gr9, icc0 - bls icc0, 0, .Lret3 - - ldu @(gr9,gr11), gr5 - ld @(gr5, gr8), gr6 - cmp gr6, gr0, icc0 /* skip pointers initialized to 0 */ - beq icc0, 0, .Lloop3 - - add gr8, gr6, gr6 - P(st) gr6, @(gr5,gr8) - bra .Lloop3 - -.Lret3: ret -.Lend3: - .size EXT(__frv_fix_usrptrs),.Lend2-EXT(__frv_fix_usrptrs) |