Subversion Repositories HelenOS

Rev

Rev 3556 | Rev 3691 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3556 Rev 3590
Line 6... Line 6...
6
	text PT_LOAD FLAGS(5);
6
	text PT_LOAD FLAGS(5);
7
	data PT_LOAD FLAGS(6);
7
	data PT_LOAD FLAGS(6);
8
}
8
}
9
 
9
 
10
SECTIONS {
10
SECTIONS {
-
 
11
	. = 0x1000 + SIZEOF_HEADERS;
-
 
12
 
11
	.interp : {
13
	.interp : {
12
		*(.interp);
14
		*(.interp);
13
	} :interp
15
	} :text :interp
14
 
16
 
-
 
17
	/* Align on word boundary -- instructions will follow. */
15
	. = 0x1000;
18
	. = ALIGN(4);
16
 
19
 
17
	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
20
	.init : {
18
		*(.init);
21
		*(.init);
19
	} :text
22
	} :text
20
	.text : {
23
	.text : {
21
		*(.text);
24
		*(.text);
22
		*(.text.*);
25
		*(.text.*);
23
		*(.rodata*);
26
		*(.rodata*);
24
	} :text
27
	} :text
25
 
28
 
26
	.rel.plt ALIGN(0x1000) : {
29
	.rel.plt : {
27
		*(.rel.plt);
30
		*(.rel.plt);
28
	} :text
31
	} :text
29
	/* 
32
	/* 
30
	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
33
	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
31
	 * without alignment gap or DT_REL will be broken
34
	 * without alignment gap or DT_REL will be broken
32
	 */
35
	 */
33
	.rel.dyn : {
36
	.rel.dyn : {
34
		*(.rel.*);
37
		*(.rel.*);
35
	} :text
38
	} :text
36
 
39
 
37
	.dynamic ALIGN(0x1000) : {
40
	.dynamic : {
38
		*(.dynamic);
41
		*(.dynamic);
39
	} :text
42
	} :text
40
 
43
 
41
	.dynsym ALIGN(0x1000) : {
44
	.dynsym : {
42
		*(.dynsym);
45
		*(.dynsym);
43
	} :text
46
	} :text
44
 
47
 
45
	.dynstr ALIGN(0x1000) : {
48
	.dynstr : {
46
		*(.dynstr);
49
		*(.dynstr);
47
	} :text
50
	} :text
48
 
51
 
49
	.data ALIGN(0x1000) : SUBALIGN(0x1000) {
52
	. = . + 0x1000;
-
 
53
 
-
 
54
	.data : {
50
		*(.data);
55
		*(.data);
51
		*(.sdata);
56
		*(.sdata);
52
	} :data
57
	} :data
53
 
58
 
54
	.data.rel ALIGN(0x1000) : {
59
	.data.rel : {
55
                *(.data.rel);
60
                *(.data.rel);
56
	} :data
61
	} :data
57
 
62
 
58
	.got ALIGN(0x1000) : SUBALIGN(0x1000) {
63
	.got : {
59
                *(.got);
64
                *(.got);
60
	} :data
65
	} :data
61
	.got.plt ALIGN(0x1000) : SUBALIGN(0x1000) {
66
	.got.plt : {
62
                *(.got.plt);
67
                *(.got.plt);
63
	} :data
68
	} :data
64
 
69
 
65
/*	.tdata : {
70
/*	.tdata : {
66
		_tdata_start = .;
71
		_tdata_start = .;
Line 78... Line 83...
78
		*(.sbss);
83
		*(.sbss);
79
		*(COMMON);
84
		*(COMMON);
80
		*(.bss);
85
		*(.bss);
81
	} :data
86
	} :data
82
 
87
 
83
	.plt ALIGN(0x1000) : SUBALIGN(0x1000) {
88
	.plt : {
84
		*(.plt);
89
		*(.plt);
85
	} :data
90
	} :data
86
 
91
 
-
 
92
	/DISCARD/ : {
-
 
93
		*(.comment);
-
 
94
		*(.gnu.attributes);
-
 
95
	}
-
 
96
 
87
	. = ALIGN(0x1000);
97
	. = ALIGN(0x1000);
88
	_heap = .;
98
	_heap = .;
89
}
99
}