summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/hppa/crtn.S
blob: 6602eced365a0913eb5e38c65217b5e68dce3bf2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/* glibc's sysdeps/hppa/elf/initfini.c used for reference [EPILOG] */

        .text
        .align 4
/* Here is the tail end of _init.  We put __gmon_start before this so
   that the assembler creates the .PARISC.unwind section for us, ie.
   with the right attributes.  */
	.section .init
	ldw	-84(%sp),%rp
	copy	%r4,%r19
	bv	%r0(%rp)
_end_init:
	ldwm	-64(%sp),%r4

/* Our very own unwind info, because the assembler can't handle
   functions split into two or more pieces.  */
	.section .PARISC.unwind
	.extern _init
	.word	_init, _end_init
	.byte	0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08



	.section .fini
	ldw	-84(%sp),%rp
	copy	%r4,%r19
	bv	%r0(%rp)
_end_fini:
	ldwm	-64(%sp),%r4

	.section .PARISC.unwind
	.extern _fini
	.word	_fini, _end_fini
	.byte	0x08, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08