diff options
author | cvs2svn <> | 2006-03-21 03:57:39 +0300 |
---|---|---|
committer | cvs2svn <> | 2006-03-21 03:57:39 +0300 |
commit | e6228b993d46c21876a6fb2aa8e86c3c1a112e48 (patch) | |
tree | 877a11dbd891cea2a993db97cca4ee332c4e4b8c /newlib/libc/sys/rdos/crt0.S | |
parent | f84325d0899e5052fd59892ece265f7c2bd6c6a7 (diff) |
This commit was manufactured by cvs2svn to create tag 'newlib-1_14_0'.newlib-1_14_0
Sprout from newlib-csl-20060320-branch 2006-03-21 00:57:35 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'newlib-'
Cherrypick from master 2005-12-16 20:58:39 UTC Jeff Johnston <jjohnstn@redhat.com> '':
ChangeLog
MAINTAINERS
Makefile.def
Makefile.in
Makefile.tpl
config.guess
config.sub
config/ChangeLog
config/acx.m4
configure
configure.in
etc/ChangeLog
etc/Makefile.in
etc/configure.texi
etc/standards.texi
libgloss/ChangeLog
libgloss/arm/crt0.S
libgloss/arm/libcfunc.c
libgloss/arm/redboot-crt0.S
libgloss/arm/swi.h
libgloss/arm/syscalls.c
libgloss/arm/trap.S
libgloss/m32c/exit.S
libgloss/m68k/Makefile.in
libgloss/m68k/bcc.ld
libgloss/m68k/crt0.S
libgloss/m68k/idp.ld
libgloss/m68k/idpgdb.ld
libgloss/m68k/mvme135.ld
libgloss/m68k/mvme162.ld
libgloss/m68k/sbc5204.ld
libgloss/m68k/sbc5206.ld
libgloss/m68k/sim.ld
libgloss/mt/Makefile.in
libtool.m4
ltmain.sh
newlib/ChangeLog
newlib/Makefile.am
newlib/Makefile.in
newlib/acinclude.m4
newlib/aclocal.m4
newlib/configure
newlib/configure.host
newlib/configure.in
newlib/doc/aclocal.m4
newlib/doc/configure
newlib/iconvdata/aclocal.m4
newlib/iconvdata/configure
newlib/libc/aclocal.m4
newlib/libc/configure
newlib/libc/include/ieeefp.h
newlib/libc/include/math.h
newlib/libc/include/sys/config.h
newlib/libc/include/sys/time.h
newlib/libc/include/sys/types.h
newlib/libc/machine/a29k/aclocal.m4
newlib/libc/machine/a29k/configure
newlib/libc/machine/aclocal.m4
newlib/libc/machine/arm/aclocal.m4
newlib/libc/machine/arm/configure
newlib/libc/machine/arm/setjmp.S
newlib/libc/machine/configure
newlib/libc/machine/cris/aclocal.m4
newlib/libc/machine/cris/configure
newlib/libc/machine/crx/aclocal.m4
newlib/libc/machine/crx/configure
newlib/libc/machine/d10v/aclocal.m4
newlib/libc/machine/d10v/configure
newlib/libc/machine/d30v/aclocal.m4
newlib/libc/machine/d30v/configure
newlib/libc/machine/fr30/aclocal.m4
newlib/libc/machine/fr30/configure
newlib/libc/machine/frv/aclocal.m4
newlib/libc/machine/frv/configure
newlib/libc/machine/h8300/aclocal.m4
newlib/libc/machine/h8300/configure
newlib/libc/machine/h8500/aclocal.m4
newlib/libc/machine/h8500/configure
newlib/libc/machine/hppa/aclocal.m4
newlib/libc/machine/hppa/configure
newlib/libc/machine/i386/aclocal.m4
newlib/libc/machine/i386/configure
newlib/libc/machine/i960/aclocal.m4
newlib/libc/machine/i960/configure
newlib/libc/machine/iq2000/aclocal.m4
newlib/libc/machine/iq2000/configure
newlib/libc/machine/m32c/aclocal.m4
newlib/libc/machine/m32c/configure
newlib/libc/machine/m32r/aclocal.m4
newlib/libc/machine/m32r/configure
newlib/libc/machine/m68hc11/aclocal.m4
newlib/libc/machine/m68hc11/configure
newlib/libc/machine/m68k/aclocal.m4
newlib/libc/machine/m68k/configure
newlib/libc/machine/m88k/aclocal.m4
newlib/libc/machine/m88k/configure
newlib/libc/machine/mips/aclocal.m4
newlib/libc/machine/mips/configure
newlib/libc/machine/mn10200/aclocal.m4
newlib/libc/machine/mn10200/configure
newlib/libc/machine/mn10300/aclocal.m4
newlib/libc/machine/mn10300/configure
newlib/libc/machine/mt/aclocal.m4
newlib/libc/machine/mt/configure
newlib/libc/machine/necv70/aclocal.m4
newlib/libc/machine/necv70/configure
newlib/libc/machine/powerpc/aclocal.m4
newlib/libc/machine/powerpc/configure
newlib/libc/machine/sh/aclocal.m4
newlib/libc/machine/sh/configure
newlib/libc/machine/sparc/aclocal.m4
newlib/libc/machine/sparc/configure
newlib/libc/machine/tic4x/aclocal.m4
newlib/libc/machine/tic4x/configure
newlib/libc/machine/tic80/aclocal.m4
newlib/libc/machine/tic80/configure
newlib/libc/machine/v850/aclocal.m4
newlib/libc/machine/v850/configure
newlib/libc/machine/w65/aclocal.m4
newlib/libc/machine/w65/configure
newlib/libc/machine/xscale/aclocal.m4
newlib/libc/machine/xscale/configure
newlib/libc/machine/xstormy16/aclocal.m4
newlib/libc/machine/xstormy16/configure
newlib/libc/machine/z8k/aclocal.m4
newlib/libc/machine/z8k/configure
newlib/libc/stdio/fflush.c
newlib/libc/stdio/freopen.c
newlib/libc/stdio/fseek.c
newlib/libc/stdio/wsetup.c
newlib/libc/stdio64/freopen64.c
newlib/libc/stdlib/__atexit.c
newlib/libc/stdlib/__call_atexit.c
newlib/libc/stdlib/getopt.c
newlib/libc/string/strndup_r.c
newlib/libc/string/strnlen.c
newlib/libc/sys/a29khif/aclocal.m4
newlib/libc/sys/a29khif/configure
newlib/libc/sys/aclocal.m4
newlib/libc/sys/arc/aclocal.m4
newlib/libc/sys/arc/configure
newlib/libc/sys/arm/aclocal.m4
newlib/libc/sys/arm/configure
newlib/libc/sys/arm/crt0.S
newlib/libc/sys/arm/libcfunc.c
newlib/libc/sys/arm/swi.h
newlib/libc/sys/arm/syscalls.c
newlib/libc/sys/arm/trap.S
newlib/libc/sys/configure
newlib/libc/sys/d10v/aclocal.m4
newlib/libc/sys/d10v/configure
newlib/libc/sys/decstation/aclocal.m4
newlib/libc/sys/decstation/configure
newlib/libc/sys/h8300hms/aclocal.m4
newlib/libc/sys/h8300hms/configure
newlib/libc/sys/h8500hms/aclocal.m4
newlib/libc/sys/h8500hms/configure
newlib/libc/sys/linux/aclocal.m4
newlib/libc/sys/linux/aio.c
newlib/libc/sys/linux/configure
newlib/libc/sys/linux/include/getopt.h
newlib/libc/sys/linux/linuxthreads/aclocal.m4
newlib/libc/sys/linux/linuxthreads/config.h
newlib/libc/sys/linux/linuxthreads/configure
newlib/libc/sys/linux/linuxthreads/machine/aclocal.m4
newlib/libc/sys/linux/linuxthreads/machine/configure
newlib/libc/sys/linux/linuxthreads/machine/i386/aclocal.m4
newlib/libc/sys/linux/linuxthreads/machine/i386/configure
newlib/libc/sys/linux/machine/aclocal.m4
newlib/libc/sys/linux/machine/configure
newlib/libc/sys/linux/machine/i386/aclocal.m4
newlib/libc/sys/linux/machine/i386/configure
newlib/libc/sys/linux/sys/types.h
newlib/libc/sys/m88kbug/aclocal.m4
newlib/libc/sys/m88kbug/configure
newlib/libc/sys/mmixware/aclocal.m4
newlib/libc/sys/mmixware/configure
newlib/libc/sys/netware/aclocal.m4
newlib/libc/sys/netware/configure
newlib/libc/sys/rtems/aclocal.m4
newlib/libc/sys/rtems/configure
newlib/libc/sys/sh/aclocal.m4
newlib/libc/sys/sh/configure
newlib/libc/sys/sparc64/aclocal.m4
newlib/libc/sys/sparc64/configure
newlib/libc/sys/sun4/aclocal.m4
newlib/libc/sys/sun4/configure
newlib/libc/sys/sysmec/aclocal.m4
newlib/libc/sys/sysmec/configure
newlib/libc/sys/sysnec810/aclocal.m4
newlib/libc/sys/sysnec810/configure
newlib/libc/sys/sysnecv850/aclocal.m4
newlib/libc/sys/sysnecv850/configure
newlib/libc/sys/sysvi386/aclocal.m4
newlib/libc/sys/sysvi386/configure
newlib/libc/sys/sysvnecv70/aclocal.m4
newlib/libc/sys/sysvnecv70/configure
newlib/libc/sys/tic80/aclocal.m4
newlib/libc/sys/tic80/configure
newlib/libc/sys/w65/aclocal.m4
newlib/libc/sys/w65/configure
newlib/libc/sys/z8ksim/aclocal.m4
newlib/libc/sys/z8ksim/configure
newlib/libm/aclocal.m4
newlib/libm/common/Makefile.am
newlib/libm/common/Makefile.in
newlib/libm/configure
newlib/libm/machine/aclocal.m4
newlib/libm/machine/configure
newlib/libm/machine/i386/aclocal.m4
newlib/libm/machine/i386/configure
newlib/libm/math/Makefile.am
newlib/libm/math/Makefile.in
newlib/libm/math/math.tex
newlib/libm/math/s_isinf.c
newlib/libm/math/s_isnan.c
newlib/libm/math/sf_isinf.c
newlib/libm/math/sf_isnan.c
newlib/libm/mathfp/Makefile.am
newlib/libm/mathfp/Makefile.in
newlib/libm/mathfp/mathfp.tex
newlib/libm/mathfp/s_atangent.c
newlib/libm/mathfp/s_frexp.c
newlib/libm/mathfp/s_isinf.c
newlib/libm/mathfp/s_isnan.c
newlib/libm/mathfp/sf_atangent.c
newlib/libm/mathfp/sf_frexp.c
newlib/libm/mathfp/sf_isinf.c
newlib/libm/mathfp/sf_isnan.c
newlib/newlib.hin
newlib/stamp-h.in
Delete:
config/mh-ppc-aix
config/stdint.m4
libgloss/m68k/dbug-cf.sc
libgloss/mt/crt0-ms2.S
libgloss/mt/exit-ms2.c
libgloss/mt/ms2.ld
libgloss/mt/startup-ms2.S
newlib/acconfig.h
newlib/libc/include/getopt.h
newlib/libc/sys/rdos/Makefile.am
newlib/libc/sys/rdos/Makefile.in
newlib/libc/sys/rdos/aclocal.m4
newlib/libc/sys/rdos/chown.c
newlib/libc/sys/rdos/close.c
newlib/libc/sys/rdos/config.h
newlib/libc/sys/rdos/configure
newlib/libc/sys/rdos/configure.in
newlib/libc/sys/rdos/crt0.S
newlib/libc/sys/rdos/execve.c
newlib/libc/sys/rdos/fork.c
newlib/libc/sys/rdos/fstat.c
newlib/libc/sys/rdos/getenv.c
newlib/libc/sys/rdos/getpid.c
newlib/libc/sys/rdos/gettod.c
newlib/libc/sys/rdos/isatty.c
newlib/libc/sys/rdos/kill.c
newlib/libc/sys/rdos/link.c
newlib/libc/sys/rdos/lseek.c
newlib/libc/sys/rdos/open.c
newlib/libc/sys/rdos/rdos.S
newlib/libc/sys/rdos/rdos.h
newlib/libc/sys/rdos/rdoshelp.c
newlib/libc/sys/rdos/read.c
newlib/libc/sys/rdos/readlink.c
newlib/libc/sys/rdos/sbrk.c
newlib/libc/sys/rdos/stat.c
newlib/libc/sys/rdos/symlink.c
newlib/libc/sys/rdos/times.c
newlib/libc/sys/rdos/unlink.c
newlib/libc/sys/rdos/user.def
newlib/libc/sys/rdos/wait.c
newlib/libc/sys/rdos/write.c
newlib/libm/common/s_isinf.c
newlib/libm/common/s_isinfd.c
newlib/libm/common/s_isnan.c
newlib/libm/common/s_isnand.c
newlib/libm/common/sf_isinf.c
newlib/libm/common/sf_isinff.c
newlib/libm/common/sf_isnan.c
newlib/libm/common/sf_isnanf.c
Diffstat (limited to 'newlib/libc/sys/rdos/crt0.S')
-rw-r--r-- | newlib/libc/sys/rdos/crt0.S | 406 |
1 files changed, 0 insertions, 406 deletions
diff --git a/newlib/libc/sys/rdos/crt0.S b/newlib/libc/sys/rdos/crt0.S deleted file mode 100644 index efc3b1633..000000000 --- a/newlib/libc/sys/rdos/crt0.S +++ /dev/null @@ -1,406 +0,0 @@ -/*####################################################################### -# RDOS operating system -# Copyright (C) 1988-2006, Leif Ekblad -# -# This library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published -# by the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. -# -# This library 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 Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# The author of this program may be contacted at leif@rdos.net -# -# crt0.S -# GCC startupcode for RDOS -# -##########################################################################*/ - -#include "user.def" - - KEY_ENTRIES = 256 - - .macro UserGate nr - .byte 0x9A - .long \nr - .word 2 - .endm - - .data - .align 8 - -_key_section: - .word 0 - -_key_ref_arr: - .long 0 - -_key_dtor_arr: - .long 0 - - .text - .align 4 - -/*########################################################################## -# -# Name : _start -# -# Purpose....: GCC startup-code -# -##########################################################################*/ - - .global _start - -_start: - call get_impure_data_size - movl %eax,%ecx - UserGate allocate_app_mem_nr - - xorl %eax,%eax - .byte 0x64 - movl %edx,(%eax) - movl %edx,%edi - rep - stosb - pushl %edx - - movl $(4 * KEY_ENTRIES),%eax - movl %eax,%ecx - UserGate allocate_app_mem_nr - movl $4,%eax - .byte 0x64 - movl %edx,(%eax) - movl %edx,%edi - xorl %eax,%eax - rep - stosb - - movl $(4 * KEY_ENTRIES),%eax - movl %eax,%ecx - UserGate allocate_app_mem_nr - movl %edx,_key_ref_arr - movl %edx,%edi - xorl %eax,%eax - rep - stosb - - movl $(4 * KEY_ENTRIES),%eax - movl %eax,%ecx - UserGate allocate_app_mem_nr - movl %edx,_key_dtor_arr - movl %edx,%edi - xorl %eax,%eax - rep - stosb - - UserGate create_user_section_nr - movw %bx,_key_section - - call __init_rdos - add $4, %esp - - movl $0x1000,%eax - UserGate allocate_app_mem_nr - - pushl %edx - UserGate get_cmd_line_nr - - xorl %ecx,%ecx - xorb %ah,%ah - -arg_loop: - movl %edi,(%edx) - addl $4,%edx - movb (%edi),%al - orb %al,%al - je arg_done - -arg_scan: - movb (%edi),%al - orb %al,%al - je next_arg - - cmpb $0x22,%al - jne arg_no_quote - - xorb $1,%ah - jmp arg_scan_next - -arg_no_quote: - orb %ah,%ah - jnz arg_scan_next - - cmpb $0x20,%al - je next_arg - - cmpb $0x8,%al - je next_arg - -arg_scan_next: - incl %edi - jmp arg_scan - -next_arg: - incl %ecx - -to_next_arg: - orb %al,%al - je arg_done - - xorb %al,%al - movb %al,(%edi) - incl %edi - movb (%edi),%al - cmpb $0x20,%al - je to_next_arg - - cmpb $0x8,%al - je to_next_arg - - jmp arg_loop - -arg_done: - int $3 - pushl %ecx - call main - add $8, %esp - - pushl %eax - call exit - -/*########################################################################## -# -# Name : _exit -# -# Purpose....: GCC exit-code -# -##########################################################################*/ - - .global _exit - -_exit: - pushl %ebp - movl %esp,%ebp - movl 8(%ebp),%eax - UserGate unload_exe_nr - -/*########################################################################## -# -# Name : __getreent -# -# Purpose....: ? -# -##########################################################################*/ - - .global __getreent - -__getreent: - xorl %eax,%eax - .byte 0x64 - movl (%eax),%eax - ret - -/*########################################################################## -# -# Name : __rdos_thread_key_create -# -# Purpose....: Emulate GCC pthread_key_create -# -# Parameters.: dtor -# -# Returns....: Key index -# -##########################################################################*/ - - .global __rdos_thread_key_create - -__rdos_thread_key_create: - int $3 - pushl %ebp - movl %esp,%ebp - pushl %ebx - pushl %ecx - - mov _key_section,%bx - UserGate enter_user_section_nr - - movl _key_ref_arr,%ebx - movl KEY_ENTRIES,%ecx - -rtkc_scan_loop: - movl (%ebx), %eax - orl %eax, %eax - jz rtkc_entry_found - - add $4, %ebx - loop rtkc_scan_loop - - movl $-1, %eax - jmp rtkc_leave - -rtkc_entry_found: - movb $255,3(%ebx) - subl _key_ref_arr,%ebx - addl _key_dtor_arr,%ebx - movl 8(%ebp),%eax - movl %eax,(%ebx) - subl _key_dtor_arr,%ebx - movl %ebx,%eax - -rtkc_leave: - mov _key_section, %bx - UserGate leave_user_section_nr - - popl %ecx - popl %ebx - leave - ret - -/*########################################################################## -# -# Name : __rdos_thread_key_delete -# -# Purpose....: Emulate GCC pthread_key_delete -# -# Parameters.: index -# -# Returns....: result -# -##########################################################################*/ - - .global __rdos_thread_key_delete - -__rdos_thread_key_delete: - int $3 - pushl %ebp - movl %esp,%ebp - pushl %ebx - - mov _key_section,%bx - UserGate enter_user_section_nr - - movl 8(%ebp),%ebx - testb $3,%bl - jnz rtkd_fail - - cmpl $(4 * KEY_ENTRIES),%ebx - jae rtkd_fail - - addl _key_ref_arr,%ebx - movb $0,3(%ebx) - mov (%ebx),%eax - orl %eax,%eax - jz rtkd_ok - - subl _key_ref_arr,%ebx - movl $0,(%ebx) - jmp rtkd_ok - -rtkd_fail: - movl $1,%eax - jmp rtkd_leave - -rtkd_ok: - xorl %eax,%eax - -rtkd_leave: - mov _key_section, %bx - UserGate leave_user_section_nr - - popl %ebx - leave - ret - -/*########################################################################## -# -# Name : __rdos_thread_getspecific -# -# Purpose....: Emulate GCC pthread_getspecific -# -# Parameters.: index -# -# Returns....: value -# -##########################################################################*/ - - .global __rdos_thread_getspecific - -__rdos_thread_getspecific: - int $3 - pushl %ebp - movl %esp,%ebp - pushl %ebx - - movl 8(%ebp),%ebx - testb $3,%bl - jnz rtg_fail - - cmpl $(4 * KEY_ENTRIES),%ebx - jae rtg_fail - - movl $4,%eax - .byte 0x64 - movl (%eax),%eax - addl %eax,%ebx - movl (%ebx),%eax - jmp rtg_done - -rtg_fail: - xorl %eax,%eax - -rtg_done: - popl %ebx - leave - ret - -/*########################################################################## -# -# Name : __rdos_thread_setspecific -# -# Purpose....: Emulate GCC pthread_setspecific -# -# Parameters.: index -# value -# -##########################################################################*/ - - .global __rdos_thread_setspecific - -__rdos_thread_setspecific: - int $3 - pushl %ebp - movl %esp,%ebp - pushl %ebx - pushl %ecx - - movl 8(%ebp),%ebx - testb $3,%bl - jnz rts_fail - - cmpl $(4 * KEY_ENTRIES),%ebx - jae rts_fail - - movl $4,%eax - .byte 0x64 - movl (%eax),%eax - addl %eax,%ebx - - movl 12(%ebp),%eax - movl %eax,(%ebx) - xorl %eax,%eax - jmp rts_done - -rts_fail: - movl $1,%eax - -rts_done: - popl %ebx - leave - ret |