Răsfoiți Sursa

+ .so startup code for sparc-linux.

git-svn-id: trunk@27412 -
sergei 11 ani în urmă
părinte
comite
1643c175f2
1 a modificat fișierele cu 68 adăugiri și 0 ștergeri
  1. 68 0
      rtl/linux/sparc/dllprt0.as

+ 68 - 0
rtl/linux/sparc/dllprt0.as

@@ -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