sortix-mirror/libmaxsi/x86/start.s

53 lines
1.5 KiB
ArmAsm

/******************************************************************************
COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2011.
This file is part of LibMaxsi.
LibMaxsi 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 3 of the License, or (at your option)
any later version.
LibMaxsi 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 LibMaxsi. If not, see <http://www.gnu.org/licenses/>.
start.s
A stub for linking to the C runtime on Sortix.
******************************************************************************/
/* NOTE: This is almost identical to what is in crt1.s. crt1.s is used when
compiling with the real cross compiler, while start.s is used when
using the older hacky way of building Sortix. Please try to keep these
files alike by doing changes both places until we only build Sortix
with real cross compilers. */
.globl _start
.section .text
.type _start, @function
_start:
movl %ecx, environ # envp
# Arguments for main
push %ebx # argv
push %eax # argc
call initialize_standard_library
# Run main
call main
# Terminate the process with main's exit code.
push %eax
call exit