+ .so startup code for sparc-linux.

git-svn-id: trunk@27412 -
This commit is contained in:
sergei 2014-03-31 15:45:16 +00:00
parent 68b97bee5a
commit 1643c175f2

View File

@ -0,0 +1,68 @@
/*
This file is part of the Free Pascal run time library.
Copyright (c) 2013 by Free Pascal development team
Startup code for elf32-sparc
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.
*/
.globl FPC_SHARED_LIB_START
.type FPC_SHARED_LIB_START,#function
FPC_SHARED_LIB_START:
save %o6,-96,%o6
call 1f
sethi %hi(_GLOBAL_OFFSET_TABLE_+4),%l7
1: or %l7,%lo(_GLOBAL_OFFSET_TABLE_+8),%l7
add %l7,%o7,%l7
sethi %hi(operatingsystem_parameter_argc),%o0
or %o0,%lo(operatingsystem_parameter_argc),%o0
ld [%o0+%l7],%o1
st %i0,[%o1]
sethi %hi(operatingsystem_parameter_argv),%o0
or %o0,%lo(operatingsystem_parameter_argv),%o0
ld [%o0+%l7],%o1
st %i1,[%o1]
sethi %hi(operatingsystem_parameter_envp),%o0
or %o0,%lo(operatingsystem_parameter_envp),%o0
ld [%o0+%l7],%o1
st %i2,[%o1]
sethi %hi(__stkptr),%o0
or %o0,%lo(__stkptr),%o0
ld [%o0+%l7],%o1
st %sp,[%o1]
call PASCALMAIN
nop
ret
restore
.size FPC_SHARED_LIB_START,.-FPC_SHARED_LIB_START
.globl _haltproc
.type _haltproc,#function
_haltproc:
mov 188,%g1
ta 16
unimp
.size _haltproc,.-_haltproc
.comm __stkptr,4
.comm __dl_fini,4
.comm operatingsystem_parameter_envp,4
.comm operatingsystem_parameter_argc,4
.comm operatingsystem_parameter_argv,4
.section .note.GNU-stack,"",@progbits