4.104.114.84.95
Line | |
---|
1 | /* NIOS2 crtn.asm fix |
---|
2 | * |
---|
3 | * COPYRIGHT (c) 2005-2006 Kolja Waschk rtemsdev/ixo.de |
---|
4 | * |
---|
5 | * The license and distribution terms for this file may be |
---|
6 | * found in the file LICENSE in this distribution or at |
---|
7 | * http://www.rtems.com/license/LICENSE. |
---|
8 | * |
---|
9 | * $Id$ |
---|
10 | */ |
---|
11 | |
---|
12 | /* Can't use the original crtn.asm from Altera because it doesn't |
---|
13 | restore the stack pointer correctly (in 5.1b73, the stack pointer |
---|
14 | is further decreased by 48 instead of increased). This is named |
---|
15 | differently (crtnn instead crtn) to make sure it can be picked up |
---|
16 | using custom gcc specs instead of gcc's crtn. - kawk */ |
---|
17 | |
---|
18 | .section .init |
---|
19 | ldw ra, 44(sp) |
---|
20 | ldw r23, 40(sp) |
---|
21 | ldw r22, 36(sp) |
---|
22 | ldw r21, 32(sp) |
---|
23 | ldw r20, 28(sp) |
---|
24 | ldw r19, 24(sp) |
---|
25 | ldw r18, 20(sp) |
---|
26 | ldw r17, 16(sp) |
---|
27 | ldw r16, 12(sp) |
---|
28 | ldw fp, 8(sp) |
---|
29 | addi sp, sp, 48 |
---|
30 | ret |
---|
31 | |
---|
32 | .section .fini |
---|
33 | ldw ra, 44(sp) |
---|
34 | ldw r23, 40(sp) |
---|
35 | ldw r22, 36(sp) |
---|
36 | ldw r21, 32(sp) |
---|
37 | ldw r20, 28(sp) |
---|
38 | ldw r19, 24(sp) |
---|
39 | ldw r18, 20(sp) |
---|
40 | ldw r17, 16(sp) |
---|
41 | ldw r16, 12(sp) |
---|
42 | ldw fp, 8(sp) |
---|
43 | addi sp, sp, 48 |
---|
44 | ret |
---|
45 | |
---|
Note: See
TracBrowser
for help on using the repository browser.