Subversion Repositories HelenOS

Rev

Rev 3690 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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