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

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcvs2svn <>2003-02-08 17:58:32 +0300
committercvs2svn <>2003-02-08 17:58:32 +0300
commit6b0370d4f74abf7dd325187923d180b680d90fb0 (patch)
treea29ee8d3528e3544f847b280934298f9d2f14e8b /libgloss/frv/crt0.S
parent994d26a476fbfb86258bf64644dc86bec02d0574 (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.S231
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)