Subversion Repositories HelenOS

Rev

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

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