fpc/rtl/linux/m68k/gprt0.as
florian 80394fc6e8 - removed cvs remainders ($Id$ and $Log$ tags)
git-svn-id: trunk@47119 -
2020-10-16 21:19:10 +00:00

77 lines
2.0 KiB
ActionScript

|
| This file is part of the Free Pascal run time library.
| Copyright (c) 2001 by Free Pascal Core Team
|
| See the file COPYING.FPC, included in this distribution,
| for details about the copyright.
|
| This program 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.
|
|**********************************************************************}
|
| Linux m68k ELF startup code with profiling support for Free Pascal
| Note: Needs linking with -lgmon and -lc
|
.file "gprt0.as"
.text
.globl _start
.type _start,@function
_start:
.globl __entry
.type __entry,@function
__entry:
move.l 8(%sp),%d0
move.l %d0,U_SYSLINUX_ENVP
move.l %d0,__environ
move.l 4(%sp),%d0
move.l %d0,U_SYSLINUX_ARGV
move.l (%sp),%d0
move.l %d0,U_SYSLINUX_ARGC
| Initialize gmon
| Should this be done before or after __libc_init call ??
|
move.l _etext,-(%sp) /* Initialize gmon */
move.l _start,-(%sp)
jsr monstartup
addq.l #8,%sp
move.l _mcleanup,-(%sp)
jsr atexit
addq.l #4,%sp
| The arguments should be in correct order for
| calling __libc_init
| This code is untested for now PM
jsr __libc_init
| insert _fini in atexit chain
move.l _fini,-(%sp)
jsr atexit
addq.l #4,%sp
| call _init function
jsr _init
jsr PASCALMAIN
| Used by System_exit procedure
.globl _haltproc
_haltproc:
| Call C exit function
move.w U_SYSLINUX_EXITCODE,%d1
move.l %d1,-(%sp)
jsr exit
moveq.l #1,%d0
move.l (%sp)+,%d1
trap #0
bra _haltproc
| Is this still needed ??
| .data
| .align 4
| .globl ___fpc_brk_addr
|___fpc_brk_addr:
| .long 0