Subversion Repositories HelenOS

Rev

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

Rev 3690 Rev 3691
1
ENTRY(__entry)
1
ENTRY(__entry)
2
 
2
 
3
PHDRS {
3
PHDRS {
4
        text PT_LOAD FLAGS(5);
4
        text PT_LOAD FLAGS(5);
5
	interp PT_INTERP;
-
 
6
	data PT_LOAD FLAGS(6);
5
	data PT_LOAD FLAGS(6);
7
	dynamic PT_DYNAMIC;
6
	dynamic PT_DYNAMIC;
8
}
7
}
9
 
8
 
10
SECTIONS {
9
SECTIONS {
11
	. = 0x1000 + SIZEOF_HEADERS;
10
	. = 0x1000 + SIZEOF_HEADERS;
12
 
11
 
13
	.init : {
12
	.init : {
14
		*(.init);
13
		*(.init);
15
	} :text
14
	} :text
16
	.text : {
15
	.text : {
17
		*(.text);
16
		*(.text);
18
		*(.text.*);
17
		*(.text.*);
19
		*(.rodata*);
18
		*(.rodata*);
20
	} :text
19
	} :text
21
 
20
 
22
	.rel.plt : {
21
	.rel.plt : {
23
		*(.rel.plt);
22
		*(.rel.plt);
24
	}
23
	}
25
	/* 
24
	/* 
26
	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
25
	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
27
	 * without alignment gap or DT_REL will be broken
26
	 * without alignment gap or DT_REL will be broken
28
	 */
27
	 */
29
	.rel.dyn : {
28
	.rel.dyn : {
30
		*(.rel.*);
29
		*(.rel.*);
31
	} :text
30
	} :text
32
 
31
 
33
	.plt : {
32
	.plt : {
34
		*(.plt);
33
		*(.plt);
35
	} :text
34
	} :text
36
 
35
 
37
	.dynamic : {
-
 
38
		*(.dynamic);
-
 
39
	} :text :dynamic
-
 
40
 
-
 
41
	.dynsym : {
36
	.dynsym : {
42
		*(.dynsym);
37
		*(.dynsym);
43
	} :text
38
	} :text
44
 
39
 
45
	.dynstr : {
40
	.dynstr : {
46
		*(.dynstr);
41
		*(.dynstr);
47
	} :text
42
	} :text
48
 
43
 
49
	. = . + 0x1000;
44
	. = . + 0x1000;
50
 
45
 
-
 
46
	.dynamic : {
-
 
47
		*(.dynamic);
-
 
48
	} :data :dynamic
-
 
49
 
51
	.data : {
50
	.data : {
52
		*(.data);
51
		*(.data);
53
	} :data
52
	} :data
54
 
53
 
55
	.data.rel : {
54
	.data.rel : {
56
                *(.data.rel);
55
                *(.data.rel);
57
	} :data
56
	} :data
58
 
57
 
59
	.got : {
58
	.got : {
60
                *(.got);
59
                *(.got);
61
	} :data
60
	} :data
62
	.got.plt : {
61
	.got.plt : {
63
                *(.got.plt);
62
                *(.got.plt);
64
	} :data
63
	} :data
65
 
64
 
66
	.bss : {
65
	.bss : {
67
                *(COMMON);
66
                *(COMMON);
68
                *(.bss);
67
                *(.bss);
69
	} :data
68
	} :data
70
 
69
 
71
	.tdata : {
70
	.tdata : {
72
		_tdata_start = .;
71
		_tdata_start = .;
73
		*(.tdata);
72
		*(.tdata);
74
		_tdata_end = .;
73
		_tdata_end = .;
75
	} :data
74
	} :data
76
	.tbss : {
75
	.tbss : {
77
		_tbss_start = .;
76
		_tbss_start = .;
78
		*(.tbss);
77
		*(.tbss);
79
		_tbss_end = .;
78
		_tbss_end = .;
80
	} :data
79
	} :data
81
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
80
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
82
	
81
	
83
	. = ALIGN(0x1000);
82
	. = ALIGN(0x1000);
84
	_heap = .;
83
	_heap = .;
85
}
84
}
86
 
85