Subversion Repositories HelenOS

Rev

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

Rev 2987 Rev 3102
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/ARCH/src/entry.o)
6
ENTRY(__entry)
6
ENTRY(__entry)
7
 
7
 
8
PHDRS {
8
PHDRS {
-
 
9
	interp PT_INTERP;
9
	text PT_LOAD FLAGS(5);
10
	text PT_LOAD FLAGS(5);
10
	data PT_LOAD FLAGS(6);
11
	data PT_LOAD FLAGS(6);
11
}
12
}
12
 
13
 
13
SECTIONS {
14
SECTIONS {
-
 
15
	.interp : {
-
 
16
		*(.interp);
-
 
17
	} :interp
-
 
18
 
14
	. = 0x70001000;
19
	. = 0x70001000;
15
 
20
 
16
	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
21
	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
17
		*(.init);
22
		*(.init);
18
	} :text
23
	} :text
19
	.text : {
24
	.text : {
20
		*(.text);
25
		*(.text);
21
		*(.rodata*);
26
		*(.rodata*);
22
	} :text
27
	} :text
23
	
28
	
24
	.data ALIGN(0x1000) : SUBALIGN(0x1000) {
29
	.data ALIGN(0x1000) : SUBALIGN(0x1000) {
25
		*(.data);
30
		*(.data);
26
		*(.sdata);
31
		*(.sdata);
27
	} :data
32
	} :data
28
	.tdata : {
33
	.tdata : {
29
		_tdata_start = .;
34
		_tdata_start = .;
30
		*(.tdata);
35
		*(.tdata);
31
		_tdata_end = .;
36
		_tdata_end = .;
32
	} :data
37
	} :data
33
	.tbss : {
38
	.tbss : {
34
		_tbss_start = .;
39
		_tbss_start = .;
35
		*(.tbss);
40
		*(.tbss);
36
		_tbss_end = .;
41
		_tbss_end = .;
37
	} :data
42
	} :data
38
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
43
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
39
	.bss : {
44
	.bss : {
40
		*(.sbss);
45
		*(.sbss);
41
		*(COMMON);
46
		*(COMMON);
42
		*(.bss);
47
		*(.bss);
43
	} :data
48
	} :data
44
 
49
 
45
	. = ALIGN(0x1000);
50
	. = ALIGN(0x1000);
46
	_heap = .;
51
	_heap = .;
47
	
52
	
48
	/DISCARD/ : {
53
	/DISCARD/ : {
49
		*(*);
54
		*(*);
50
	}
55
	}
51
 
56
 
52
}
57
}
53
 
58