|  | ! crtn.S for SPARC | 
|  |  | 
|  | !   Copyright (C) 1992-2014 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 3, or (at your option) any | 
|  | ! later version. | 
|  | ! | 
|  | ! 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. | 
|  | ! | 
|  | ! Under Section 7 of GPL version 3, you are granted additional | 
|  | ! permissions described in the GCC Runtime Library Exception, version | 
|  | ! 3.1, as published by the Free Software Foundation. | 
|  | ! | 
|  | ! You should have received a copy of the GNU General Public License and | 
|  | ! a copy of the GCC Runtime Library Exception along with this program; | 
|  | ! see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see | 
|  | ! <http://www.gnu.org/licenses/>. | 
|  |  | 
|  | ! 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. | 
|  |  | 
|  | .section	".init" | 
|  | .align		4 | 
|  | #ifdef _FLAT | 
|  | mov 	%i7, %o7 | 
|  | #ifdef __sparcv9 | 
|  | ldx     [%sp+2343], %i7 | 
|  | sub	%sp, -176, %sp | 
|  | #else | 
|  | ld	[%sp+156], %i7 | 
|  | sub	%sp, -96, %sp | 
|  | #endif | 
|  | #else | 
|  | restore | 
|  | #endif | 
|  | jmp	%o7+8 | 
|  | nop | 
|  |  | 
|  | .section	".fini" | 
|  | .align		4 | 
|  | #ifdef _FLAT | 
|  | mov 	%i7, %o7 | 
|  | #ifdef __sparcv9 | 
|  | ldx     [%sp+2343], %i7 | 
|  | sub	%sp, -176, %sp | 
|  | #else | 
|  | ld      [%sp+156], %i7 | 
|  | sub	%sp, -96, %sp | 
|  | #endif | 
|  | #else | 
|  | restore | 
|  | #endif | 
|  | jmp	%o7+8 | 
|  | nop | 
|  |  | 
|  | ! Th-th-th-that is all folks! |