entered into RCS
From-SVN: r1649
This commit is contained in:
parent
d80ab61eeb
commit
9b73b79eaf
3 changed files with 196 additions and 0 deletions
84
gcc/config/sparc/sol2-c1.asm
Normal file
84
gcc/config/sparc/sol2-c1.asm
Normal file
|
@ -0,0 +1,84 @@
|
|||
! crt1.s for solaris 2.0.
|
||||
|
||||
! Copyright (C) 1992 Free Software Foundation, Inc.
|
||||
! Written By David Vinayak Henkel-Wallace, June 1992
|
||||
!
|
||||
! This file is free software; you can redistribute it and/or modify it
|
||||
! under the terms of the GNU General Public License as published by the
|
||||
! Free Software Foundation; either version 2, or (at your option) any
|
||||
! later version.
|
||||
!
|
||||
! In addition to the permissions in the GNU General Public License, the
|
||||
! Free Software Foundation gives you unlimited permission to link the
|
||||
! compiled version of this file with other programs, and to distribute
|
||||
! those programs without any restriction coming from the use of this
|
||||
! file. (The General Public License restrictions do apply in other
|
||||
! respects; for example, they cover modification of the file, and
|
||||
! distribution when not linked into another program.)
|
||||
!
|
||||
! This file 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
|
||||
! General Public License for more details.
|
||||
!
|
||||
! You should have received a copy of the GNU General Public License
|
||||
! along with this program; see the file COPYING. If not, write to
|
||||
! the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
!
|
||||
! As a special exception, if you link this library with files
|
||||
! compiled with GCC to produce an executable, this does not cause
|
||||
! the resulting executable to be covered by the GNU General Public License.
|
||||
! This exception does not however invalidate any other reasons why
|
||||
! the executable file might be covered by the GNU General Public License.
|
||||
!
|
||||
|
||||
! This file takes control of the process from the kernel, as specified
|
||||
! in section 3 of the SVr4 ABI.
|
||||
! This file is the first thing linked into any executable.
|
||||
|
||||
.section ".text"
|
||||
.proc 022
|
||||
.global _start
|
||||
|
||||
_start:
|
||||
mov 0, %fp ! Mark bottom frame pointer
|
||||
ld [%sp + 64], %l0 ! argc
|
||||
add %sp, 68, %l1 ! argv
|
||||
|
||||
! Leave some room for a call. Sun leaves 32 octets (to sit on
|
||||
! a cache line?) so we do too.
|
||||
sub %sp, 32, %sp
|
||||
|
||||
! %g1 may contain a function to be registered w/atexit
|
||||
orcc %g0, %g1, %g0
|
||||
be .nope
|
||||
mov %g1, %o0
|
||||
call atexit
|
||||
nop
|
||||
.nope:
|
||||
! Now make sure constructors and destructors are handled.
|
||||
set _fini, %o0
|
||||
call atexit, 1
|
||||
nop
|
||||
call _init, 0
|
||||
nop
|
||||
|
||||
! We ignore the auxiliary vector; there's no defined way to
|
||||
! access those data anyway. Instead, go straight to main:
|
||||
mov %l0, %o0 ! argc
|
||||
mov %l1, %o1 ! argv
|
||||
! Skip argc words past argv, to env:
|
||||
sll %l0, 2, %o2
|
||||
add %o2, 4, %o2
|
||||
add %l1, %o2, %o2 ! env
|
||||
set _environ, %o3 ! *_environ
|
||||
call main, 4
|
||||
nop
|
||||
call exit, 0
|
||||
nop
|
||||
call _exit, 0
|
||||
nop
|
||||
! We should never get here.
|
||||
|
||||
.type _start,#function
|
||||
.size _start,.-_start
|
59
gcc/config/sparc/sol2-ci.asm
Normal file
59
gcc/config/sparc/sol2-ci.asm
Normal file
|
@ -0,0 +1,59 @@
|
|||
! crti.s for solaris 2.0.
|
||||
|
||||
! Copyright (C) 1992 Free Software Foundation, Inc.
|
||||
! Written By David Vinayak Henkel-Wallace, June 1992
|
||||
!
|
||||
! This file is free software; you can redistribute it and/or modify it
|
||||
! under the terms of the GNU General Public License as published by the
|
||||
! Free Software Foundation; either version 2, or (at your option) any
|
||||
! later version.
|
||||
!
|
||||
! In addition to the permissions in the GNU General Public License, the
|
||||
! Free Software Foundation gives you unlimited permission to link the
|
||||
! compiled version of this file with other programs, and to distribute
|
||||
! those programs without any restriction coming from the use of this
|
||||
! file. (The General Public License restrictions do apply in other
|
||||
! respects; for example, they cover modification of the file, and
|
||||
! distribution when not linked into another program.)
|
||||
!
|
||||
! This file 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
|
||||
! General Public License for more details.
|
||||
!
|
||||
! You should have received a copy of the GNU General Public License
|
||||
! along with this program; see the file COPYING. If not, write to
|
||||
! the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
!
|
||||
! As a special exception, if you link this library with files
|
||||
! compiled with GCC to produce an executable, this does not cause
|
||||
! the resulting executable to be covered by the GNU General Public License.
|
||||
! This exception does not however invalidate any other reasons why
|
||||
! the executable file might be covered by the GNU General Public License.
|
||||
!
|
||||
|
||||
! This file just make a stack frame for the contents of the .fini and
|
||||
! .init sections. Users may put any desired instructions in those
|
||||
! sections.
|
||||
|
||||
! This file is linked in before the Values-Xx.o files and also before
|
||||
! crtbegin, with which perhaps it should be merged.
|
||||
|
||||
.file "crti.s"
|
||||
|
||||
.section ".init"
|
||||
.proc 022
|
||||
.global _init
|
||||
.type _init,#function
|
||||
.align 4
|
||||
_init:
|
||||
save %sp, -96, %sp
|
||||
|
||||
|
||||
.section ".fini"
|
||||
.proc 022
|
||||
.global _fini
|
||||
.type _fini,#function
|
||||
.align 4
|
||||
_fini:
|
||||
save %sp, -96, %sp
|
53
gcc/config/sparc/sol2-cn.asm
Normal file
53
gcc/config/sparc/sol2-cn.asm
Normal file
|
@ -0,0 +1,53 @@
|
|||
! crtn.s for solaris 2.0.
|
||||
|
||||
! Copyright (C) 1992 Free Software Foundation, Inc.
|
||||
! Written By David Vinayak Henkel-Wallace, June 1992
|
||||
!
|
||||
! This file is free software; you can redistribute it and/or modify it
|
||||
! under the terms of the GNU General Public License as published by the
|
||||
! Free Software Foundation; either version 2, or (at your option) any
|
||||
! later version.
|
||||
!
|
||||
! In addition to the permissions in the GNU General Public License, the
|
||||
! Free Software Foundation gives you unlimited permission to link the
|
||||
! compiled version of this file with other programs, and to distribute
|
||||
! those programs without any restriction coming from the use of this
|
||||
! file. (The General Public License restrictions do apply in other
|
||||
! respects; for example, they cover modification of the file, and
|
||||
! distribution when not linked into another program.)
|
||||
!
|
||||
! This file 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
|
||||
! General Public License for more details.
|
||||
!
|
||||
! You should have received a copy of the GNU General Public License
|
||||
! along with this program; see the file COPYING. If not, write to
|
||||
! the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
!
|
||||
! As a special exception, if you link this library with files
|
||||
! compiled with GCC to produce an executable, this does not cause
|
||||
! the resulting executable to be covered by the GNU General Public License.
|
||||
! This exception does not however invalidate any other reasons why
|
||||
! the executable file might be covered by the GNU General Public License.
|
||||
!
|
||||
|
||||
! This file just makes sure that the .fini and .init sections do in
|
||||
! fact return. Users may put any desired instructions in those sections.
|
||||
! This file is the last thing linked into any executable.
|
||||
|
||||
.file "crtn.s"
|
||||
|
||||
.section ".init"
|
||||
.align 4
|
||||
|
||||
ret
|
||||
restore
|
||||
|
||||
.section ".fini"
|
||||
.align 4
|
||||
|
||||
ret
|
||||
restore
|
||||
|
||||
! Th-th-th-that's all folks!
|
Loading…
Add table
Reference in a new issue