Subversion Repositories HelenOS

Rev

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

Rev 3556 Rev 3558
Line 1... Line 1...
1
STARTUP(LIBC_PREFIX/arch/ARCH/src/entry.o)
1
STARTUP(LIBC_PREFIX/arch/ARCH/src/entry.o)
2
ENTRY(__entry)
2
ENTRY(__entry)
3
 
3
 
4
PHDRS {
4
PHDRS {
5
	interp PT_INTERP;
-
 
6
        text PT_LOAD FLAGS(5);
5
        text PT_LOAD FLAGS(5);
-
 
6
	interp PT_INTERP;
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
	} :interp
14
 
16
 
15
	. = 0x1000;
17
	.init : {
16
 
-
 
17
	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
-
 
18
		*(.init);
18
		*(.init);
19
	} :text
19
	} :text
20
	.text : {
20
	.text : {
21
		*(.text);
21
		*(.text);
22
		*(.text.*);
22
		*(.text.*);
23
		*(.rodata*);
23
		*(.rodata*);
24
	} :text
24
	} :text
25
 
25
 
26
	.rel.plt ALIGN(0x1000) : {
26
	.rel.plt : {
27
		*(.rel.plt);
27
		*(.rel.plt);
28
	}
28
	}
29
	/* 
29
	/* 
30
	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
30
	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
31
	 * without alignment gap or DT_REL will be broken
31
	 * without alignment gap or DT_REL will be broken
32
	 */
32
	 */
33
	.rel.dyn : {
33
	.rel.dyn : {
34
		*(.rel.*);
34
		*(.rel.*);
35
	} :text
35
	} :text
36
 
36
 
37
	.plt ALIGN(0x1000) : SUBALIGN(0x1000) {
37
	.plt : {
38
		*(.plt);
38
		*(.plt);
39
	} :text
39
	} :text
40
 
40
 
41
 
41
 
42
	.dynamic ALIGN(0x1000) : {
42
	.dynamic : {
43
		*(.dynamic);
43
		*(.dynamic);
44
	} :text
44
	} :text
45
 
45
 
46
	.dynsym ALIGN(0x1000) : {
46
	.dynsym : {
47
		*(.dynsym);
47
		*(.dynsym);
48
	} :text
48
	} :text
49
 
49
 
50
	.dynstr ALIGN(0x1000) : {
50
	.dynstr : {
51
		*(.dynstr);
51
		*(.dynstr);
52
	} :text
52
	} :text
53
 
53
 
54
	.data ALIGN(0x1000) : SUBALIGN(0x1000) {
54
	. = . + 0x1000;
-
 
55
 
-
 
56
	.data : {
55
		*(.data);
57
		*(.data);
56
	} :data
58
	} :data
57
 
59
 
58
	.data.rel ALIGN(0x1000) : {
60
	.data.rel : {
59
                *(.data.rel);
61
                *(.data.rel);
60
	} :data
62
	} :data
61
 
63
 
62
	.got ALIGN(0x1000) : SUBALIGN(0x1000) {
64
	.got : {
63
                *(.got);
65
                *(.got);
64
	} :data
66
	} :data
65
	.got.plt ALIGN(0x1000) : SUBALIGN(0x1000) {
67
	.got.plt : {
66
                *(.got.plt);
68
                *(.got.plt);
67
	} :data
69
	} :data
68
 
70
 
69
	.bss : {
71
	.bss : {
70
                *(COMMON);
72
                *(COMMON);
Line 81... Line 83...
81
		*(.tbss);
83
		*(.tbss);
82
		_tbss_end = .;
84
		_tbss_end = .;
83
	} :data
85
	} :data
84
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
86
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
85
*/	
87
*/	
-
 
88
	/DISCARD/ : {
-
 
89
		*(.comment);
-
 
90
	}
-
 
91
 
86
	. = ALIGN(0x1000);
92
	. = ALIGN(0x1000);
87
	_heap = .;
93
	_heap = .;
88
 
-
 
89
}
94
}