diff options
author | cvs2svn <> | 2010-04-03 02:36:45 +0400 |
---|---|---|
committer | cvs2svn <> | 2010-04-03 02:36:45 +0400 |
commit | 833ec8db7a32b62c657fa75fe8390dd6e116675c (patch) | |
tree | 6f4dcec7d19e941fc9b5037f70444a7cfde88397 /libgloss/arm/syscalls.c | |
parent | d8b4cbe896c6c9ecf5fb162d93a2dd33b95501df (diff) |
This commit was manufactured by cvs2svn to create tag 'cygwin-cygwin-1_7_3-release
1_7_3-release'.
Sprout from master 2010-03-30 16:20:15 UTC Corinna Vinschen <corinna@vinschen.de> ' * fhandler_socket.cc (fhandler_socket::wait_for_events): Remove call to'
Cherrypick from master 2010-04-02 22:36:44 UTC Christopher Faylor <me@cgf.cx> '* fhandler.h (fhandler_base::has_ongoing_io): Declare virtual method.':
winsup/cygwin/ChangeLog
winsup/cygwin/dtable.cc
winsup/cygwin/fhandler.cc
winsup/cygwin/fhandler.h
winsup/cygwin/fhandler_fifo.cc
winsup/cygwin/fhandler_tty.cc
winsup/cygwin/include/sys/strace.h
winsup/cygwin/nlsfuncs.cc
winsup/cygwin/pipe.cc
winsup/cygwin/select.cc
winsup/cygwin/select.h
winsup/cygwin/sigproc.cc
winsup/cygwin/strace.cc
winsup/cygwin/syscalls.cc
winsup/doc/ChangeLog
winsup/doc/cygwinenv.sgml
winsup/doc/effectively.sgml
winsup/doc/faq-using.xml
winsup/doc/setup-net.sgml
Cherrypick from master 2005-10-28 21:21:08 UTC Jeff Johnston <jjohnstn@redhat.com> '':
newlib/libc/string/wcsncpy.c
Cherrypick from cygnus 1999-05-03 07:29:06 UTC Richard Henderson <rth@redhat.com> '19990502 sourceware import':
README
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
include/aout/hppa.h
include/coff/sym.h
include/fopen-bin.h
include/fopen-same.h
include/opcode/tahoe.h
makefile.vms
Delete:
djunpack.bat
libgloss/ChangeLog
libgloss/Makefile.in
libgloss/README
libgloss/acinclude.m4
libgloss/aclocal.m4
libgloss/arm/Makefile.in
libgloss/arm/_exit.c
libgloss/arm/_kill.c
libgloss/arm/aclocal.m4
libgloss/arm/coff-iq80310.specs
libgloss/arm/coff-pid.specs
libgloss/arm/coff-rdimon.specs
libgloss/arm/coff-rdpmon.specs
libgloss/arm/coff-redboot.ld
libgloss/arm/coff-redboot.specs
libgloss/arm/configure
libgloss/arm/configure.in
libgloss/arm/crt0.S
libgloss/arm/elf-iq80310.specs
libgloss/arm/elf-linux.specs
libgloss/arm/elf-pid.specs
libgloss/arm/elf-rdimon.specs
libgloss/arm/elf-rdpmon.specs
libgloss/arm/elf-redboot.ld
libgloss/arm/elf-redboot.specs
libgloss/arm/libcfunc.c
libgloss/arm/linux-crt0.c
libgloss/arm/linux-syscall.h
libgloss/arm/linux-syscalls0.S
libgloss/arm/linux-syscalls1.c
libgloss/arm/redboot-crt0.S
libgloss/arm/redboot-syscalls.c
libgloss/arm/swi.h
libgloss/arm/syscall.h
libgloss/arm/syscalls.c
libgloss/arm/trap.S
libgloss/bfin/Makefile.in
libgloss/bfin/aclocal.m4
libgloss/bfin/basiccrt.S
libgloss/bfin/bf512.ld
libgloss/bfin/bf514.ld
libgloss/bfin/bf516.ld
libgloss/bfin/bf518.ld
libgloss/bfin/bf522.ld
libgloss/bfin/bf523.ld
libgloss/bfin/bf524.ld
libgloss/bfin/bf525.ld
libgloss/bfin/bf526.ld
libgloss/bfin/bf527.ld
libgloss/bfin/bf531.ld
libgloss/bfin/bf532.ld
libgloss/bfin/bf533.ld
libgloss/bfin/bf534.ld
libgloss/bfin/bf536.ld
libgloss/bfin/bf537.ld
libgloss/bfin/bf538.ld
libgloss/bfin/bf539.ld
libgloss/bfin/bf542.ld
libgloss/bfin/bf544.ld
libgloss/bfin/bf547.ld
libgloss/bfin/bf548.ld
libgloss/bfin/bf549.ld
libgloss/bfin/bf561.ld
libgloss/bfin/bf561a.ld
libgloss/bfin/bf561b.ld
libgloss/bfin/bf561m.ld
libgloss/bfin/bfin-common-mc.ld
libgloss/bfin/bfin-common-sc.ld
libgloss/bfin/configure
libgloss/bfin/configure.in
libgloss/bfin/crt0.S
libgloss/bfin/include/blackfin.h
libgloss/bfin/include/ccblkfn.h
libgloss/bfin/include/cdefBF512.h
libgloss/bfin/include/cdefBF514.h
libgloss/bfin/include/cdefBF516.h
libgloss/bfin/include/cdefBF518.h
libgloss/bfin/include/cdefBF51x_base.h
libgloss/bfin/include/cdefBF522.h
libgloss/bfin/include/cdefBF523.h
libgloss/bfin/include/cdefBF524.h
libgloss/bfin/include/cdefBF525.h
libgloss/bfin/include/cdefBF526.h
libgloss/bfin/include/cdefBF527.h
libgloss/bfin/include/cdefBF52x_base.h
libgloss/bfin/include/cdefBF531.h
libgloss/bfin/include/cdefBF532.h
libgloss/bfin/include/cdefBF533.h
libgloss/bfin/include/cdefBF534.h
libgloss/bfin/include/cdefBF535.h
libgloss/bfin/include/cdefBF536.h
libgloss/bfin/include/cdefBF537.h
libgloss/bfin/include/cdefBF538.h
libgloss/bfin/include/cdefBF539.h
libgloss/bfin/include/cdefBF53x.h
libgloss/bfin/include/cdefBF541.h
libgloss/bfin/include/cdefBF542.h
libgloss/bfin/include/cdefBF542M.h
libgloss/bfin/include/cdefBF544.h
libgloss/bfin/include/cdefBF544M.h
libgloss/bfin/include/cdefBF547.h
libgloss/bfin/include/cdefBF547M.h
libgloss/bfin/include/cdefBF548.h
libgloss/bfin/include/cdefBF548M.h
libgloss/bfin/include/cdefBF549.h
libgloss/bfin/include/cdefBF549M.h
libgloss/bfin/include/cdefBF54x_base.h
libgloss/bfin/include/cdefBF561.h
libgloss/bfin/include/cdef_LPBlackfin.h
libgloss/bfin/include/cdefblackfin.h
libgloss/bfin/include/cplb.h
libgloss/bfin/include/cplbtab.h
libgloss/bfin/include/defBF512.h
libgloss/bfin/include/defBF514.h
libgloss/bfin/include/defBF516.h
libgloss/bfin/include/defBF518.h
libgloss/bfin/include/defBF51x_base.h
libgloss/bfin/include/defBF522.h
libgloss/bfin/include/defBF523.h
libgloss/bfin/include/defBF524.h
libgloss/bfin/include/defBF525.h
libgloss/bfin/include/defBF526.h
libgloss/bfin/include/defBF527.h
libgloss/bfin/include/defBF52x_base.h
libgloss/bfin/include/defBF531.h
libgloss/bfin/include/defBF532.h
libgloss/bfin/include/defBF533.h
libgloss/bfin/include/defBF534.h
libgloss/bfin/include/defBF535.h
libgloss/bfin/include/defBF536.h
libgloss/bfin/include/defBF537.h
libgloss/bfin/include/defBF538.h
libgloss/bfin/include/defBF539.h
libgloss/bfin/include/defBF541.h
libgloss/bfin/include/defBF542.h
libgloss/bfin/include/defBF542M.h
libgloss/bfin/include/defBF544.h
libgloss/bfin/include/defBF544M.h
libgloss/bfin/include/defBF547.h
libgloss/bfin/include/defBF547M.h
libgloss/bfin/include/defBF548.h
libgloss/bfin/include/defBF548M.h
libgloss/bfin/include/defBF549.h
libgloss/bfin/include/defBF549M.h
libgloss/bfin/include/defBF54x_base.h
libgloss/bfin/include/defBF561.h
libgloss/bfin/include/def_LPBlackfin.h
libgloss/bfin/include/defblackfin.h
libgloss/bfin/include/sys/_adi_platform.h
libgloss/bfin/include/sys/anomaly_macros_rtl.h
libgloss/bfin/include/sys/excause.h
libgloss/bfin/include/sys/exception.h
libgloss/bfin/include/sys/mc_typedef.h
libgloss/bfin/include/sys/platform.h
libgloss/bfin/include/sys/pll.h
libgloss/bfin/include/sysreg.h
libgloss/bfin/syscalls.c
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/cris/Makefile.in
libgloss/cris/aclocal.m4
libgloss/cris/configure
libgloss/cris/configure.in
libgloss/cris/crt0.S
libgloss/cris/crti.c
libgloss/cris/crtn.c
libgloss/cris/gensyscalls
libgloss/cris/irqtable.S
libgloss/cris/lcrt0.c
libgloss/cris/linunistd.h
libgloss/cris/outbyte.c
libgloss/cris/setup.S
libgloss/crx/Makefile.in
libgloss/crx/_exit.c
libgloss/crx/_getenv.c
libgloss/crx/_rename.c
libgloss/crx/aclocal.m4
libgloss/crx/close.c
libgloss/crx/configure
libgloss/crx/configure.in
libgloss/crx/crt0.S
libgloss/crx/crti.S
libgloss/crx/crtn.S
libgloss/crx/dvz_hndl.c
libgloss/crx/flg_hndl.c
libgloss/crx/fstat.c
libgloss/crx/getpid.c
libgloss/crx/iad_hndl.c
libgloss/crx/intable.c
libgloss/crx/isatty.c
libgloss/crx/kill.c
libgloss/crx/lseek.c
libgloss/crx/open.c
libgloss/crx/putnum.c
libgloss/crx/read.c
libgloss/crx/sbrk.c
libgloss/crx/sim.ld
libgloss/crx/stat.c
libgloss/crx/svc_hndl.c
libgloss/crx/time.c
libgloss/crx/und_hndl.c
libgloss/crx/unlink.c
libgloss/crx/write.c
libgloss/d30v/Makefile.in
libgloss/d30v/aclocal.m4
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/aclocal.m4
libgloss/fr30/configure
libgloss/fr30/configure.in
libgloss/fr30/crt0.s
libgloss/fr30/syscalls.c
libgloss/frv/Makefile.in
libgloss/frv/aclocal.m4
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/aclocal.m4
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/aclocal.m4
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/aclocal.m4
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/iq2000/Makefile.in
libgloss/iq2000/_exit.c
libgloss/iq2000/access.c
libgloss/iq2000/aclocal.m4
libgloss/iq2000/chmod.c
libgloss/iq2000/chown.c
libgloss/iq2000/close.c
libgloss/iq2000/configure
libgloss/iq2000/configure.in
libgloss/iq2000/creat.c
libgloss/iq2000/crt0.S
libgloss/iq2000/crt1.c
libgloss/iq2000/execv.c
libgloss/iq2000/execve.c
libgloss/iq2000/fork.c
libgloss/iq2000/fstat.c
libgloss/iq2000/getpid.c
libgloss/iq2000/gettime.c
libgloss/iq2000/isatty.c
libgloss/iq2000/kill.c
libgloss/iq2000/lseek.c
libgloss/iq2000/open.c
libgloss/iq2000/pipe.c
libgloss/iq2000/read.c
libgloss/iq2000/sbrk.c
libgloss/iq2000/sim.ld
libgloss/iq2000/stat.c
libgloss/iq2000/test.c
libgloss/iq2000/time.c
libgloss/iq2000/times.c
libgloss/iq2000/trap.c
libgloss/iq2000/trap.h
libgloss/iq2000/unlink.c
libgloss/iq2000/utime.c
libgloss/iq2000/wait.c
libgloss/iq2000/write.c
libgloss/isatty.c
libgloss/kill.c
libgloss/libnosys/Makefile.in
libgloss/libnosys/_exit.c
libgloss/libnosys/acconfig.h
libgloss/libnosys/aclocal.m4
libgloss/libnosys/chown.c
libgloss/libnosys/close.c
libgloss/libnosys/config.h.in
libgloss/libnosys/configure
libgloss/libnosys/configure.in
libgloss/libnosys/environ.c
libgloss/libnosys/errno.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/readlink.c
libgloss/libnosys/sbrk.c
libgloss/libnosys/stat.c
libgloss/libnosys/symlink.c
libgloss/libnosys/times.c
libgloss/libnosys/unlink.c
libgloss/libnosys/wait.c
libgloss/libnosys/warning.h
libgloss/libnosys/write.c
libgloss/lm32/Makefile.in
libgloss/lm32/aclocal.m4
libgloss/lm32/configure
libgloss/lm32/configure.in
libgloss/lm32/crt0.S
libgloss/lm32/isatty.c
libgloss/lm32/scall.S
libgloss/lm32/sim.ld
libgloss/lseek.c
libgloss/m32c/Makefile.in
libgloss/m32c/abort.S
libgloss/m32c/aclocal.m4
libgloss/m32c/argv.S
libgloss/m32c/argvlen.S
libgloss/m32c/chdir.S
libgloss/m32c/chmod.S
libgloss/m32c/close.S
libgloss/m32c/configure
libgloss/m32c/configure.in
libgloss/m32c/crt0.S
libgloss/m32c/crtn.S
libgloss/m32c/exit.S
libgloss/m32c/fstat.S
libgloss/m32c/genscript
libgloss/m32c/getpid.S
libgloss/m32c/gettimeofday.S
libgloss/m32c/heaptop.S
libgloss/m32c/isatty.S
libgloss/m32c/kill.S
libgloss/m32c/link.S
libgloss/m32c/lseek.S
libgloss/m32c/m32c.tmpl
libgloss/m32c/m32csys.h
libgloss/m32c/open.S
libgloss/m32c/read.S
libgloss/m32c/sample.c
libgloss/m32c/sbrk.c
libgloss/m32c/stat.S
libgloss/m32c/time.S
libgloss/m32c/times.S
libgloss/m32c/unlink.S
libgloss/m32c/utime.S
libgloss/m32c/varvects.S
libgloss/m32c/varvects.h
libgloss/m32c/write.S
libgloss/m32r/Makefile.in
libgloss/m32r/aclocal.m4
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/m32r-stub.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/aclocal.m4
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/aclocal.m4
libgloss/m68k/asm.h
libgloss/m68k/bcc.ld
libgloss/m68k/cf-crt0.S
libgloss/m68k/cf-crt1.c
libgloss/m68k/cf-exit.c
libgloss/m68k/cf-hosted.S
libgloss/m68k/cf-isrs.c
libgloss/m68k/cf-isv.S
libgloss/m68k/cf-sbrk.c
libgloss/m68k/cf.sc
libgloss/m68k/configure
libgloss/m68k/configure.in
libgloss/m68k/cpu32bug.S
libgloss/m68k/cpu32bug.h
libgloss/m68k/crt0.S
libgloss/m68k/dtor.C
libgloss/m68k/fido-_exit.c
libgloss/m68k/fido-crt0.S
libgloss/m68k/fido-handler.c
libgloss/m68k/fido-hosted.S
libgloss/m68k/fido-sbrk.c
libgloss/m68k/fido.h
libgloss/m68k/fido.sc
libgloss/m68k/fido_profiling.h
libgloss/m68k/idp-inbyte.c
libgloss/m68k/idp-outbyte.c
libgloss/m68k/idp.ld
libgloss/m68k/idpgdb.ld
libgloss/m68k/io-close.c
libgloss/m68k/io-exit.c
libgloss/m68k/io-fstat.c
libgloss/m68k/io-gdb.c
libgloss/m68k/io-gettimeofday.c
libgloss/m68k/io-isatty.c
libgloss/m68k/io-lseek.c
libgloss/m68k/io-open.c
libgloss/m68k/io-read.c
libgloss/m68k/io-rename.c
libgloss/m68k/io-stat.c
libgloss/m68k/io-system.c
libgloss/m68k/io-time.c
libgloss/m68k/io-unlink.c
libgloss/m68k/io-write.c
libgloss/m68k/io.h
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/aclocal.m4
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/mep/Makefile.in
libgloss/mep/aclocal.m4
libgloss/mep/configure
libgloss/mep/configure.in
libgloss/mep/crt0.S
libgloss/mep/crtn.S
libgloss/mep/default.ld
libgloss/mep/fmax.ld
libgloss/mep/gcov-io.h
libgloss/mep/gmap_default.ld
libgloss/mep/h_reset.c
libgloss/mep/handlers.c
libgloss/mep/isatty.c
libgloss/mep/mep-bb.c
libgloss/mep/mep-gmon.c
libgloss/mep/min.ld
libgloss/mep/read.c
libgloss/mep/sbrk.c
libgloss/mep/sdram-crt0.S
libgloss/mep/sim-crt0.S
libgloss/mep/sim-crtn.S
libgloss/mep/simnovec-crt0.S
libgloss/mep/simple.ld
libgloss/mep/simsdram-crt0.S
libgloss/mep/syscalls.S
libgloss/mep/write.c
libgloss/microblaze/Makefile.in
libgloss/microblaze/_exception_handler.S
libgloss/microblaze/_hw_exception_handler.S
libgloss/microblaze/_interrupt_handler.S
libgloss/microblaze/_program_clean.S
libgloss/microblaze/_program_init.S
libgloss/microblaze/configure
libgloss/microblaze/configure.in
libgloss/microblaze/crt0.S
libgloss/microblaze/crt1.S
libgloss/microblaze/crt2.S
libgloss/microblaze/crt3.S
libgloss/microblaze/crt4.S
libgloss/microblaze/crtinit.S
libgloss/microblaze/pgcrtinit.S
libgloss/microblaze/sbrk.c
libgloss/microblaze/sim-crtinit.S
libgloss/microblaze/sim-pgcrtinit.S
libgloss/microblaze/timer.c
libgloss/microblaze/xil_malloc.c
libgloss/microblaze/xil_sbrk.c
libgloss/microblaze/xilinx.ld
libgloss/mips/Makefile.in
libgloss/mips/aclocal.m4
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_mem.c
libgloss/mips/cma101.c
libgloss/mips/configure
libgloss/mips/configure.in
libgloss/mips/crt0.S
libgloss/mips/crt0_cfe.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/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/aclocal.m4
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/aclocal.m4
libgloss/mn10300/asb2303.ld
libgloss/mn10300/asb2305.ld
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/moxie/Makefile.in
libgloss/moxie/aclocal.m4
libgloss/moxie/configure
libgloss/moxie/configure.in
libgloss/moxie/crt0.S
libgloss/moxie/fstat.c
libgloss/moxie/getpid.c
libgloss/moxie/isatty.c
libgloss/moxie/kill.c
libgloss/moxie/moxie-elf-common.ld
libgloss/moxie/print.c
libgloss/moxie/putnum.c
libgloss/moxie/qemu-time.c
libgloss/moxie/qemu-write.c
libgloss/moxie/qemu.ld
libgloss/moxie/sbrk.c
libgloss/moxie/sim-close.S
libgloss/moxie/sim-exit.S
libgloss/moxie/sim-inbyte.c
libgloss/moxie/sim-lseek.S
libgloss/moxie/sim-lseek.c
libgloss/moxie/sim-open.S
libgloss/moxie/sim-read.S
libgloss/moxie/sim-time.c
libgloss/moxie/sim-unlink.S
libgloss/moxie/sim-write.S
libgloss/moxie/sim.ld
libgloss/moxie/stat.c
libgloss/mt/16-002.ld
libgloss/mt/16-003.ld
libgloss/mt/64-001.ld
libgloss/mt/Makefile.in
libgloss/mt/access.c
libgloss/mt/aclocal.m4
libgloss/mt/chmod.c
libgloss/mt/close.c
libgloss/mt/configure
libgloss/mt/configure.in
libgloss/mt/crt0-16-002.S
libgloss/mt/crt0-16-003.S
libgloss/mt/crt0-64-001.S
libgloss/mt/crt0-ms2.S
libgloss/mt/crt0.S
libgloss/mt/exit-16-002.c
libgloss/mt/exit-16-003.c
libgloss/mt/exit-64-001.c
libgloss/mt/exit-ms2.c
libgloss/mt/exit.c
libgloss/mt/fstat.c
libgloss/mt/getpid.c
libgloss/mt/gettime.c
libgloss/mt/isatty.c
libgloss/mt/kill.c
libgloss/mt/lseek.c
libgloss/mt/ms2.ld
libgloss/mt/open.c
libgloss/mt/read.c
libgloss/mt/sbrk.c
libgloss/mt/startup-16-002.S
libgloss/mt/startup-16-003.S
libgloss/mt/startup-64-001.S
libgloss/mt/startup-ms2.S
libgloss/mt/stat.c
libgloss/mt/time.c
libgloss/mt/times.c
libgloss/mt/trap.S
libgloss/mt/trap.h
libgloss/mt/unlink.c
libgloss/mt/utime.c
libgloss/mt/write.c
libgloss/open.c
libgloss/pa/Makefile.in
libgloss/pa/README
libgloss/pa/aclocal.m4
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/aclocal.m4
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-getrusage.S
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/xil-crt0.S
libgloss/rs6000/xilinx.ld
libgloss/rs6000/xilinx440.ld
libgloss/rs6000/yellowknife.ld
libgloss/rx/Makefile.in
libgloss/rx/abort.S
libgloss/rx/argv.S
libgloss/rx/argvlen.S
libgloss/rx/chdir.S
libgloss/rx/chmod.S
libgloss/rx/close.S
libgloss/rx/configure
libgloss/rx/configure.in
libgloss/rx/crt0.S
libgloss/rx/crtn.S
libgloss/rx/exit.S
libgloss/rx/fstat.S
libgloss/rx/gcrt0.S
libgloss/rx/getpid.S
libgloss/rx/gettimeofday.S
libgloss/rx/heaptop.S
libgloss/rx/isatty.S
libgloss/rx/kill.S
libgloss/rx/link.S
libgloss/rx/lseek.S
libgloss/rx/mcount.c
libgloss/rx/open.S
libgloss/rx/read.S
libgloss/rx/rx-sim.ld
libgloss/rx/rx.ld
libgloss/rx/rxsys.h
libgloss/rx/sbrk.c
libgloss/rx/sigprocmask.S
libgloss/rx/sleep.S
libgloss/rx/stat.S
libgloss/rx/time.S
libgloss/rx/times.S
libgloss/rx/unlink.S
libgloss/rx/utime.S
libgloss/rx/write.S
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/aclocal.m4
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/aclocal.m4
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/spu/Makefile.in
libgloss/spu/access.c
libgloss/spu/aclocal.m4
libgloss/spu/chdir.c
libgloss/spu/chmod.c
libgloss/spu/chown.c
libgloss/spu/close.c
libgloss/spu/configure
libgloss/spu/configure.in
libgloss/spu/conv_stat.c
libgloss/spu/crt0.S
libgloss/spu/crti.S
libgloss/spu/crtn.S
libgloss/spu/dirfuncs.c
libgloss/spu/dup.c
libgloss/spu/dup2.c
libgloss/spu/exit.c
libgloss/spu/fchdir.c
libgloss/spu/fchmod.c
libgloss/spu/fchown.c
libgloss/spu/fdatasync.c
libgloss/spu/fstat.c
libgloss/spu/fsync.c
libgloss/spu/ftruncate.c
libgloss/spu/getcwd.c
libgloss/spu/getitimer.c
libgloss/spu/getpagesize.c
libgloss/spu/getpid.c
libgloss/spu/gettimeofday.c
libgloss/spu/isatty.c
libgloss/spu/jsre.h
libgloss/spu/kill.c
libgloss/spu/lchown.c
libgloss/spu/link.c
libgloss/spu/linux_getpid.c
libgloss/spu/linux_gettid.c
libgloss/spu/linux_syscalls.c
libgloss/spu/lockf.c
libgloss/spu/lseek.c
libgloss/spu/lstat.c
libgloss/spu/mkdir.c
libgloss/spu/mknod.c
libgloss/spu/mkstemp.c
libgloss/spu/mktemp.c
libgloss/spu/mmap_eaddr.c
libgloss/spu/mremap_eaddr.c
libgloss/spu/msync_eaddr.c
libgloss/spu/munmap_eaddr.c
libgloss/spu/nanosleep.c
libgloss/spu/open.c
libgloss/spu/pread.c
libgloss/spu/pwrite.c
libgloss/spu/read.c
libgloss/spu/readlink.c
libgloss/spu/readv.c
libgloss/spu/rmdir.c
libgloss/spu/sbrk.c
libgloss/spu/sched_yield.c
libgloss/spu/setitimer.c
libgloss/spu/shm_open.c
libgloss/spu/shm_unlink.c
libgloss/spu/stat.c
libgloss/spu/symlink.c
libgloss/spu/sync.c
libgloss/spu/syscalls.c
libgloss/spu/times.c
libgloss/spu/truncate.c
libgloss/spu/umask.c
libgloss/spu/unlink.c
libgloss/spu/utime.c
libgloss/spu/utimes.c
libgloss/spu/write.c
libgloss/spu/writev.c
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/xc16x/Makefile.in
libgloss/xc16x/aclocal.m4
libgloss/xc16x/close.S
libgloss/xc16x/configure
libgloss/xc16x/configure.in
libgloss/xc16x/create.c
libgloss/xc16x/crt0.S
libgloss/xc16x/fstat.S
libgloss/xc16x/getchar1.c
libgloss/xc16x/isatty.c
libgloss/xc16x/lseek.c
libgloss/xc16x/mem-layout.c
libgloss/xc16x/misc.c
libgloss/xc16x/open.c
libgloss/xc16x/read.c
libgloss/xc16x/sbrk.c
libgloss/xc16x/sys/syscall.h
libgloss/xc16x/syscalls.c
libgloss/xc16x/trap_handle.c
libgloss/xc16x/write.c
libgloss/xc16x/xc16x.mt
libgloss/xstormy16/Makefile.in
libgloss/xstormy16/aclocal.m4
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/isatty.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/sim_rom.ld
libgloss/xstormy16/stat.c
libgloss/xstormy16/syscalls.S
libgloss/xstormy16/syscalls.m4
libgloss/xstormy16/unlink.c
libgloss/xstormy16/xstormy16_stub.c
texinfo/texinfo.tex
Diffstat (limited to 'libgloss/arm/syscalls.c')
-rw-r--r-- | libgloss/arm/syscalls.c | 849 |
1 files changed, 0 insertions, 849 deletions
diff --git a/libgloss/arm/syscalls.c b/libgloss/arm/syscalls.c deleted file mode 100644 index 0e0a5dae0..000000000 --- a/libgloss/arm/syscalls.c +++ /dev/null @@ -1,849 +0,0 @@ -/* Support files for GNU libc. Files in the system namespace go here. - Files in the C namespace (ie those that do not start with an - underscore) go in .c. */ - -#include <_ansi.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/fcntl.h> -#include <stdio.h> -#include <string.h> -#include <time.h> -#include <sys/time.h> -#include <sys/times.h> -#include <errno.h> -#include <reent.h> -#include <unistd.h> -#include <sys/wait.h> -#include "swi.h" - -/* Forward prototypes. */ -int _system _PARAMS ((const char *)); -int _rename _PARAMS ((const char *, const char *)); -int _isatty _PARAMS ((int)); -clock_t _times _PARAMS ((struct tms *)); -int _gettimeofday _PARAMS ((struct timeval *, void *)); -int _unlink _PARAMS ((const char *)); -int _link _PARAMS ((void)); -int _stat _PARAMS ((const char *, struct stat *)); -int _fstat _PARAMS ((int, struct stat *)); -int _swistat _PARAMS ((int fd, struct stat * st)); -caddr_t _sbrk _PARAMS ((int)); -int _getpid _PARAMS ((int)); -int _close _PARAMS ((int)); -clock_t _clock _PARAMS ((void)); -int _swiclose _PARAMS ((int)); -int _open _PARAMS ((const char *, int, ...)); -int _swiopen _PARAMS ((const char *, int)); -int _write _PARAMS ((int, char *, int)); -int _swiwrite _PARAMS ((int, char *, int)); -int _lseek _PARAMS ((int, int, int)); -int _swilseek _PARAMS ((int, int, int)); -int _read _PARAMS ((int, char *, int)); -int _swiread _PARAMS ((int, char *, int)); -void initialise_monitor_handles _PARAMS ((void)); - -static int checkerror _PARAMS ((int)); -static int error _PARAMS ((int)); -static int get_errno _PARAMS ((void)); - -/* Struct used to keep track of the file position, just so we - can implement fseek(fh,x,SEEK_CUR). */ -struct fdent -{ - int handle; - int pos; -}; - -#define MAX_OPEN_FILES 20 - -/* User file descriptors (fd) are integer indexes into - the openfiles[] array. Error checking is done by using - findslot(). - - This openfiles array is manipulated directly by only - these 5 functions: - - findslot() - Translate entry. - newslot() - Find empty entry. - initilise_monitor_handles() - Initialize entries. - _swiopen() - Initialize entry. - _close() - Handle stdout == stderr case. - - Every other function must use findslot(). */ - -static struct fdent openfiles [MAX_OPEN_FILES]; - -static struct fdent* findslot _PARAMS ((int)); -static int newslot _PARAMS ((void)); - -/* Register name faking - works in collusion with the linker. */ -register char * stack_ptr asm ("sp"); - - -/* following is copied from libc/stdio/local.h to check std streams */ -extern void _EXFUN(__sinit,(struct _reent *)); -#define CHECK_INIT(ptr) \ - do \ - { \ - if ((ptr) && !(ptr)->__sdidinit) \ - __sinit (ptr); \ - } \ - while (0) - -static int monitor_stdin; -static int monitor_stdout; -static int monitor_stderr; - -/* Return a pointer to the structure associated with - the user file descriptor fd. */ -static struct fdent* -findslot (int fd) -{ - CHECK_INIT(_REENT); - - /* User file descriptor is out of range. */ - if ((unsigned int)fd >= MAX_OPEN_FILES) - return NULL; - - /* User file descriptor is open? */ - if (openfiles[fd].handle == -1) - return NULL; - - /* Valid. */ - return &openfiles[fd]; -} - -/* Return the next lowest numbered free file - structure, or -1 if we can't find one. */ -static int -newslot (void) -{ - int i; - - for (i = 0; i < MAX_OPEN_FILES; i++) - if (openfiles[i].handle == -1) - break; - - if (i == MAX_OPEN_FILES) - return -1; - - return i; -} - -void -initialise_monitor_handles (void) -{ - int i; - - /* Open the standard file descriptors by opening the special - * teletype device, ":tt", read-only to obtain a descritpor for - * standard input and write-only to obtain a descriptor for standard - * output. Finally, open ":tt" in append mode to obtain a descriptor - * for standard error. Since this is a write mode, most kernels will - * probably return the same value as for standard output, but the - * kernel can differentiate the two using the mode flag and return a - * different descriptor for standard error. - */ - -#ifdef ARM_RDI_MONITOR - int volatile block[3]; - - block[0] = (int) ":tt"; - block[2] = 3; /* length of filename */ - block[1] = 0; /* mode "r" */ - monitor_stdin = do_AngelSWI (AngelSWI_Reason_Open, (void *) block); - - block[0] = (int) ":tt"; - block[2] = 3; /* length of filename */ - block[1] = 4; /* mode "w" */ - monitor_stdout = do_AngelSWI (AngelSWI_Reason_Open, (void *) block); - - block[0] = (int) ":tt"; - block[2] = 3; /* length of filename */ - block[1] = 8; /* mode "a" */ - monitor_stderr = do_AngelSWI (AngelSWI_Reason_Open, (void *) block); -#else - int fh; - const char * name; - - name = ":tt"; - asm ("mov r0,%2; mov r1, #0; swi %a1; mov %0, r0" - : "=r"(fh) - : "i" (SWI_Open),"r"(name) - : "r0","r1"); - monitor_stdin = fh; - - name = ":tt"; - asm ("mov r0,%2; mov r1, #4; swi %a1; mov %0, r0" - : "=r"(fh) - : "i" (SWI_Open),"r"(name) - : "r0","r1"); - monitor_stdout = fh; - - name = ":tt"; - asm ("mov r0,%2; mov r1, #8; swi %a1; mov %0, r0" - : "=r"(fh) - : "i" (SWI_Open),"r"(name) - : "r0","r1"); - monitor_stderr = fh; -#endif - - /* If we failed to open stderr, redirect to stdout. */ - if (monitor_stderr == -1) - monitor_stderr = monitor_stdout; - - for (i = 0; i < MAX_OPEN_FILES; i ++) - openfiles[i].handle = -1; - - openfiles[0].handle = monitor_stdin; - openfiles[0].pos = 0; - openfiles[1].handle = monitor_stdout; - openfiles[1].pos = 0; - openfiles[2].handle = monitor_stderr; - openfiles[2].pos = 0; -} - -static int -get_errno (void) -{ -#ifdef ARM_RDI_MONITOR - return do_AngelSWI (AngelSWI_Reason_Errno, NULL); -#else - register r0 asm("r0"); - asm ("swi %a1" : "=r"(r0) : "i" (SWI_GetErrno)); - return r0; -#endif -} - -/* Set errno and return result. */ -static int -error (int result) -{ - errno = get_errno (); - return result; -} - -/* Check the return and set errno appropriately. */ -static int -checkerror (int result) -{ - if (result == -1) - return error (-1); - return result; -} - -/* fh, is a valid internal file handle. - ptr, is a null terminated string. - len, is the length in bytes to read. - Returns the number of bytes *not* written. */ -int -_swiread (int fh, - char * ptr, - int len) -{ -#ifdef ARM_RDI_MONITOR - int block[3]; - - block[0] = fh; - block[1] = (int) ptr; - block[2] = len; - - return checkerror (do_AngelSWI (AngelSWI_Reason_Read, block)); -#else - register r0 asm("r0"); - register r1 asm("r1"); - register r2 asm("r2"); - r0 = fh; - r1 = (int)ptr; - r2 = len; - asm ("swi %a4" - : "=r" (r0) - : "0"(r0), "r"(r1), "r"(r2), "i"(SWI_Read)); - return checkerror (r0); -#endif -} - -/* fd, is a valid user file handle. - Translates the return of _swiread into - bytes read. */ -int -_read (int fd, - char * ptr, - int len) -{ - int res; - struct fdent *pfd; - - pfd = findslot (fd); - if (pfd == NULL) - { - errno = EBADF; - return -1; - } - - res = _swiread (pfd->handle, ptr, len); - - if (res == -1) - return res; - - pfd->pos += len - res; - - /* res == len is not an error, - at least if we want feof() to work. */ - return len - res; -} - -/* fd, is a user file descriptor. */ -int -_swilseek (int fd, - int ptr, - int dir) -{ - int res; - struct fdent *pfd; - - /* Valid file descriptor? */ - pfd = findslot (fd); - if (pfd == NULL) - { - errno = EBADF; - return -1; - } - - /* Valid whence? */ - if ((dir != SEEK_CUR) - && (dir != SEEK_SET) - && (dir != SEEK_END)) - { - errno = EINVAL; - return -1; - } - - /* Convert SEEK_CUR to SEEK_SET */ - if (dir == SEEK_CUR) - { - ptr = pfd->pos + ptr; - /* The resulting file offset would be negative. */ - if (ptr < 0) - { - errno = EINVAL; - if ((pfd->pos > 0) && (ptr > 0)) - errno = EOVERFLOW; - return -1; - } - dir = SEEK_SET; - } - -#ifdef ARM_RDI_MONITOR - int block[2]; - if (dir == SEEK_END) - { - block[0] = pfd->handle; - res = checkerror (do_AngelSWI (AngelSWI_Reason_FLen, block)); - if (res == -1) - return -1; - ptr += res; - } - - /* This code only does absolute seeks. */ - block[0] = pfd->handle; - block[1] = ptr; - res = checkerror (do_AngelSWI (AngelSWI_Reason_Seek, block)); -#else - if (dir == SEEK_END) - { - asm ("mov r0, %2; swi %a1; mov %0, r0" - : "=r" (res) - : "i" (SWI_Flen), "r" (pfd->handle) - : "r0"); - checkerror (res); - if (res == -1) - return -1; - ptr += res; - } - - /* This code only does absolute seeks. */ - asm ("mov r0, %2; mov r1, %3; swi %a1; mov %0, r0" - : "=r" (res) - : "i" (SWI_Seek), "r" (pfd->handle), "r" (ptr) - : "r0", "r1"); - checkerror (res); -#endif - /* At this point ptr is the current file position. */ - if (res >= 0) - { - pfd->pos = ptr; - return ptr; - } - else - return -1; -} - -_lseek (int fd, - int ptr, - int dir) -{ - return _swilseek (fd, ptr, dir); -} - -/* fh, is a valid internal file handle. - Returns the number of bytes *not* written. */ -int -_swiwrite ( - int fh, - char * ptr, - int len) -{ -#ifdef ARM_RDI_MONITOR - int block[3]; - - block[0] = fh; - block[1] = (int) ptr; - block[2] = len; - - return checkerror (do_AngelSWI (AngelSWI_Reason_Write, block)); -#else - register r0 asm("r0"); - register r1 asm("r1"); - register r2 asm("r2"); - r0 = fh; - r1 = (int)ptr; - r2 = len; - asm ("swi %a4" - : "=r" (r0) - : "0"(r0), "r"(r1), "r"(r2), "i"(SWI_Write)); - return checkerror (r0); -#endif -} - -/* fd, is a user file descriptor. */ -int -_write (int fd, - char * ptr, - int len) -{ - int res; - struct fdent *pfd; - - pfd = findslot (fd); - if (pfd == NULL) - { - errno = EBADF; - return -1; - } - - res = _swiwrite (pfd->handle, ptr,len); - - /* Clearly an error. */ - if (res < 0) - return -1; - - pfd->pos += len - res; - - /* We wrote 0 bytes? - Retrieve errno just in case. */ - if ((len - res) == 0) - return error (0); - - return (len - res); -} - -int -_swiopen (const char * path, int flags) -{ - int aflags = 0, fh; -#ifdef ARM_RDI_MONITOR - int block[3]; -#endif - - int fd = newslot (); - - if (fd == -1) - { - errno = EMFILE; - return -1; - } - - /* It is an error to open a file that already exists. */ - if ((flags & O_CREAT) - && (flags & O_EXCL)) - { - struct stat st; - int res; - res = _stat (path, &st); - if (res != -1) - { - errno = EEXIST; - return -1; - } - } - - /* The flags are Unix-style, so we need to convert them. */ -#ifdef O_BINARY - if (flags & O_BINARY) - aflags |= 1; -#endif - - /* In O_RDONLY we expect aflags == 0. */ - - if (flags & O_RDWR) - aflags |= 2; - - if ((flags & O_CREAT) - || (flags & O_TRUNC) - || (flags & O_WRONLY)) - aflags |= 4; - - if (flags & O_APPEND) - { - /* Can't ask for w AND a; means just 'a'. */ - aflags &= ~4; - aflags |= 8; - } - -#ifdef ARM_RDI_MONITOR - block[0] = (int) path; - block[2] = strlen (path); - block[1] = aflags; - - fh = do_AngelSWI (AngelSWI_Reason_Open, block); - -#else - asm ("mov r0,%2; mov r1, %3; swi %a1; mov %0, r0" - : "=r"(fh) - : "i" (SWI_Open),"r"(path),"r"(aflags) - : "r0","r1"); -#endif - - /* Return a user file descriptor or an error. */ - if (fh >= 0) - { - openfiles[fd].handle = fh; - openfiles[fd].pos = 0; - return fd; - } - else - return error (fh); -} - -int -_open (const char * path, int flags, ...) -{ - return _swiopen (path, flags); -} - -/* fh, is a valid internal file handle. */ -int -_swiclose (int fh) -{ -#ifdef ARM_RDI_MONITOR - return checkerror (do_AngelSWI (AngelSWI_Reason_Close, &fh)); -#else - register r0 asm("r0"); - r0 = fh; - asm ("swi %a2" - : "=r"(r0) - : "0"(r0), "i" (SWI_Close)); - return checkerror (r0); -#endif -} - -/* fd, is a user file descriptor. */ -int -_close (int fd) -{ - int res; - struct fdent *pfd; - - pfd = findslot (fd); - if (pfd == NULL) - { - errno = EBADF; - return -1; - } - - /* Handle stderr == stdout. */ - if ((fd == 1 || fd == 2) - && (openfiles[1].handle == openfiles[2].handle)) - { - pfd->handle = -1; - return 0; - } - - /* Attempt to close the handle. */ - res = _swiclose (pfd->handle); - - /* Reclaim handle? */ - if (res == 0) - pfd->handle = -1; - - return res; -} - -int __attribute__((weak)) -_getpid (int n __attribute__ ((unused))) -{ - return 1; -} - -caddr_t -_sbrk (int incr) -{ - extern char end asm ("end"); /* Defined by the linker. */ - static char * heap_end; - char * prev_heap_end; - - 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 - out of memory errors, so do not abort here. */ -#if 0 - 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; -} - -int -_swistat (int fd, struct stat * st) -{ - struct fdent *pfd; - int res; - - pfd = findslot (fd); - if (pfd == NULL) - { - errno = EBADF; - return -1; - } - - /* Always assume a character device, - with 1024 byte blocks. */ - st->st_mode |= S_IFCHR; - st->st_blksize = 1024; -#ifdef ARM_RDI_MONITOR - res = checkerror (do_AngelSWI (AngelSWI_Reason_FLen, &pfd->handle)); -#else - asm ("mov r0, %2; swi %a1; mov %0, r0" - : "=r" (res) - : "i" (SWI_Flen), "r" (pfd->handle) - : "r0"); - checkerror (res); -#endif - if (res == -1) - return -1; - /* Return the file size. */ - st->st_size = res; - return 0; -} - -int __attribute__((weak)) -_fstat (int fd, struct stat * st) -{ - memset (st, 0, sizeof (* st)); - return _swistat (fd, st); -} - -int __attribute__((weak)) -_stat (const char *fname, struct stat *st) -{ - int fd, res; - memset (st, 0, sizeof (* st)); - /* 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 ((fd = _open (fname, O_RDONLY)) == -1) - return -1; - st->st_mode |= S_IFREG | S_IREAD; - res = _swistat (fd, st); - /* Not interested in the error. */ - _close (fd); - return res; -} - -int __attribute__((weak)) -_link (void) -{ - errno = ENOSYS; - return -1; -} - -int -_unlink (const char *path) -{ - int res; -#ifdef ARM_RDI_MONITOR - int block[2]; - block[0] = (int)path; - block[1] = strlen(path); - res = do_AngelSWI (AngelSWI_Reason_Remove, block); -#else - register r0 asm("r0"); - r0 = (int)path; - asm ("swi %a2" - : "=r"(r0) - : "0"(r0), "i" (SWI_Remove)); - res = r0; -#endif - if (res == -1) - return error (res); - return 0; -} - -int -_gettimeofday (struct timeval * tp, void * tzvp) -{ - struct timezone *tzp = tzvp; - if (tp) - { - /* Ask the host for the seconds since the Unix epoch. */ -#ifdef ARM_RDI_MONITOR - tp->tv_sec = do_AngelSWI (AngelSWI_Reason_Time,NULL); -#else - { - int value; - asm ("swi %a1; mov %0, r0" : "=r" (value): "i" (SWI_Time) : "r0"); - tp->tv_sec = value; - } -#endif - tp->tv_usec = 0; - } - - /* Return fixed data for the timezone. */ - if (tzp) - { - tzp->tz_minuteswest = 0; - tzp->tz_dsttime = 0; - } - - return 0; -} - -/* Return a clock that ticks at 100Hz. */ -clock_t -_clock (void) -{ - clock_t timeval; - -#ifdef ARM_RDI_MONITOR - timeval = do_AngelSWI (AngelSWI_Reason_Clock,NULL); -#else - asm ("swi %a1; mov %0, r0" : "=r" (timeval): "i" (SWI_Clock) : "r0"); -#endif - return timeval; -} - -/* Return a clock that ticks at 100Hz. */ -clock_t -_times (struct tms * tp) -{ - clock_t timeval = _clock(); - - if (tp) - { - tp->tms_utime = timeval; /* user time */ - tp->tms_stime = 0; /* system time */ - tp->tms_cutime = 0; /* user time, children */ - tp->tms_cstime = 0; /* system time, children */ - } - - return timeval; -}; - - -int -_isatty (int fd) -{ - struct fdent *pfd; - - pfd = findslot (fd); - if (pfd == NULL) - { - errno = EBADF; - return -1; - } - -#ifdef ARM_RDI_MONITOR - return checkerror (do_AngelSWI (AngelSWI_Reason_IsTTY, &pfd->handle)); -#else - register r0 asm("r0"); - r0 = pfd->handle; - asm ("swi %a2" - : "=r" (r0) - : "0"(r0), "i" (SWI_IsTTY)); - return checkerror (r0); -#endif -} - -int -_system (const char *s) -{ -#ifdef ARM_RDI_MONITOR - int block[2]; - int e; - - /* Hmmm. The ARM debug interface specification doesn't say whether - SYS_SYSTEM does the right thing with a null argument, or assign any - meaning to its return value. Try to do something reasonable.... */ - if (!s) - return 1; /* maybe there is a shell available? we can hope. :-P */ - block[0] = (int)s; - block[1] = strlen (s); - e = checkerror (do_AngelSWI (AngelSWI_Reason_System, block)); - if ((e >= 0) && (e < 256)) - { - /* We have to convert e, an exit status to the encoded status of - the command. To avoid hard coding the exit status, we simply - loop until we find the right position. */ - int exit_code; - - for (exit_code = e; e && WEXITSTATUS (e) != exit_code; e <<= 1) - continue; - } - return e; -#else - register r0 asm("r0"); - r0 = (int)s; - asm ("swi %a2" - : "=r" (r0) - : "0"(r0), "i" (SWI_CLI)); - return checkerror (r0); -#endif -} - -int -_rename (const char * oldpath, const char * newpath) -{ -#ifdef ARM_RDI_MONITOR - int block[4]; - block[0] = (int)oldpath; - block[1] = strlen(oldpath); - block[2] = (int)newpath; - block[3] = strlen(newpath); - return checkerror (do_AngelSWI (AngelSWI_Reason_Rename, block)) ? -1 : 0; -#else - register r0 asm("r0"); - register r1 asm("r1"); - r0 = (int)oldpath; - r1 = (int)newpath; - asm ("swi %a3" - : "=r" (r0) - : "0" (r0), "r" (r1), "i" (SWI_Rename)); - return checkerror (r0); -#endif -} |