Subversion Repositories HelenOS

Rev

Rev 3386 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3386 Rev 4153
1
/* 
1
/*
2
 * The only difference from _link.ld.in for regular statically-linked apps
2
 * The only difference from _link.ld.in for regular statically-linked apps
3
 * is the base address.
3
 * is the base address.
4
 */
4
 */
5
STARTUP(LIBC_PREFIX/arch/ARCH/src/entry.o)
5
STARTUP(LIBC_PREFIX/arch/UARCH/src/entry.o)
6
ENTRY(__entry)
6
ENTRY(__entry)
7
 
7
 
8
PHDRS {
8
PHDRS {
9
	interp PT_INTERP;
9
	interp PT_INTERP;
10
	text PT_LOAD FLAGS(5);
10
	text PT_LOAD FLAGS(5);
11
	data PT_LOAD FLAGS(6);
11
	data PT_LOAD FLAGS(6);
12
}
12
}
13
 
13
 
14
SECTIONS {
14
SECTIONS {
15
	.interp : {
15
	.interp : {
16
		*(.interp);
16
		*(.interp);
17
	} :interp
17
	} :interp
18
 
18
 
19
	. = 0x70001000;
19
	. = 0x70001000;
20
 
20
 
21
	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
21
	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
22
		*(.init);
22
		*(.init);
23
	} :text
23
	} :text
24
	.text : {
24
	.text : {
25
		*(.text);
25
		*(.text);
26
		*(.rodata*);
26
		*(.rodata*);
27
	} :text
27
	} :text
28
	
28
	
29
	.data ALIGN(0x1000) : SUBALIGN(0x1000) {
29
	.data ALIGN(0x1000) : SUBALIGN(0x1000) {
30
		*(.data);
30
		*(.data);
31
		*(.sdata);
31
		*(.sdata);
32
	} :data
32
	} :data
33
	.tdata : {
33
	.tdata : {
34
		_tdata_start = .;
34
		_tdata_start = .;
35
		*(.tdata);
35
		*(.tdata);
36
		_tdata_end = .;
36
		_tdata_end = .;
37
	} :data
37
	} :data
38
	.tbss : {
38
	.tbss : {
39
		_tbss_start = .;
39
		_tbss_start = .;
40
		*(.tbss);
40
		*(.tbss);
41
		_tbss_end = .;
41
		_tbss_end = .;
42
	} :data
42
	} :data
43
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
43
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
44
	.bss : {
44
	.bss : {
45
		*(.sbss);
45
		*(.sbss);
46
		*(COMMON);
46
		*(COMMON);
47
		*(.bss);
47
		*(.bss);
48
	} :data
48
	} :data
49
 
49
 
50
	. = ALIGN(0x1000);
50
	. = ALIGN(0x1000);
51
	_heap = .;
51
	_heap = .;
52
	
52
	
53
	/DISCARD/ : {
53
	/DISCARD/ : {
54
		*(*);
54
		*(*);
55
	}
55
	}
56
 
56
 
57
}
57
}
58
 
58