diff options
Diffstat (limited to 'libgloss/sparc_leon/crti.S')
-rw-r--r-- | libgloss/sparc_leon/crti.S | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/libgloss/sparc_leon/crti.S b/libgloss/sparc_leon/crti.S new file mode 100644 index 000000000..526741a39 --- /dev/null +++ b/libgloss/sparc_leon/crti.S @@ -0,0 +1,69 @@ +! 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, 59 Temple Place - Suite 330, +! Boston, MA 02111-1307, 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. + + + .section ".init" + .global _init + .type _init,#function + .align 4 +_init: +#ifndef _FLAT + save %sp, -96, %sp +#else + add %sp, -96, %sp + st %o7, [%sp + 64] +#endif + + + .section ".fini" + .global _fini + .type _fini,#function + .align 4 +_fini: +#ifndef _FLAT + save %sp, -96, %sp +#else + add %sp, -96, %sp + st %o7, [%sp + 64] +#endif + + + + |