summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/sh64/crti.S
blob: 597be363dce62211d7ca5d76d00a05209fc71557 (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
35
36
37
38
39
40
41
42
	.file	"initfini.c"
	.section	.text..SHmedia32,"ax"
	.little
	
	.section .init
	.hidden  _init
	.align 2
	.global	_init
	.type	_init, @function
_init:
	addi.l	r15, -16, r15
	st.l	r15, 4, r12
	movi	(((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS0-.)) >> 16) & 65535), r12
	shori	((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS0-.)) & 65535), r12
	.LPCS0: ptrel/u	r12, tr0
	st.l	r15, 8, r14
	st.l	r15, 12, r18
	add.l	r15, r63, r14
	gettr	tr0, r12
	
	.align 2
	
	
	.section .fini
	.hidden  _fini
	.align 2
	.global	_fini
	.type	_fini, @function
_fini:
	addi.l	r15, -16, r15
	st.l	r15, 4, r12
	movi	(((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS1-.)) >> 16) & 65535), r12
	shori	((datalabel _GLOBAL_OFFSET_TABLE_-(.LPCS1-.)) & 65535), r12
	.LPCS1: ptrel/u	r12, tr0
	st.l	r15, 8, r14
	st.l	r15, 12, r18
	add.l	r15, r63, r14
	gettr	tr0, r12
	.align 2
	
	
	.ident	"GCC: (GNU) 3.3.2"