Subversion Repositories HelenOS

Rev

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

Rev 3691 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
	interp PT_INTERP;
5
	interp PT_INTERP;
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
	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
	} :text :interp
16
	} :text :interp
17
 
17
 
18
	/* Align on word boundary -- instructions will follow. */
18
	/* Align on word boundary -- instructions will follow. */
19
	. = ALIGN(4);
19
	. = ALIGN(4);
20
 
20
 
21
	.init : {
21
	.init : {
22
		*(.init);
22
		*(.init);
23
	} :text
23
	} :text
24
	.text : {
24
	.text : {
25
		*(.text);
25
		*(.text);
26
		*(.text.*);
26
		*(.text.*);
27
		*(.rodata*);
27
		*(.rodata*);
28
	} :text
28
	} :text
29
 
29
 
30
	.rel.plt : {
30
	.rel.plt : {
31
		*(.rel.plt);
31
		*(.rel.plt);
32
	} :text
32
	} :text
33
	/* 
33
	/* 
34
	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
34
	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
35
	 * without alignment gap or DT_REL will be broken
35
	 * without alignment gap or DT_REL will be broken
36
	 */
36
	 */
37
	.rel.dyn : {
37
	.rel.dyn : {
38
		*(.rel.*);
38
		*(.rel.*);
39
	} :text
39
	} :text
40
 
40
 
41
	.dynsym : {
41
	.dynsym : {
42
		*(.dynsym);
42
		*(.dynsym);
43
	} :text
43
	} :text
44
 
44
 
45
	.dynstr : {
45
	.dynstr : {
46
		*(.dynstr);
46
		*(.dynstr);
47
	} :text
47
	} :text
48
 
48
 
49
	. = . + 0x1000;
49
	. = . + 0x1000;
50
 
50
 
51
	.dynamic : {
51
	.dynamic : {
52
		*(.dynamic);
52
		*(.dynamic);
53
	} :data :dynamic
53
	} :data :dynamic
54
 
54
 
55
	.data : {
55
	.data : {
56
		*(.data);
56
		*(.data);
57
		*(.sdata);
57
		*(.sdata);
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
/*	.tdata : {
71
/*	.tdata : {
72
		_tdata_start = .;
72
		_tdata_start = .;
73
		*(.tdata);
73
		*(.tdata);
74
		_tdata_end = .;
74
		_tdata_end = .;
75
	} :data
75
	} :data
76
	.tbss : {
76
	.tbss : {
77
		_tbss_start = .;
77
		_tbss_start = .;
78
		*(.tbss);
78
		*(.tbss);
79
		_tbss_end = .;
79
		_tbss_end = .;
80
	} :data
80
	} :data
81
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
81
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
82
*/
82
*/
83
	.bss : {
83
	.bss : {
84
		*(.sbss);
84
		*(.sbss);
85
		*(COMMON);
85
		*(COMMON);
86
		*(.bss);
86
		*(.bss);
87
	} :data
87
	} :data
88
 
88
 
89
	.plt : {
89
	.plt : {
90
		*(.plt);
90
		*(.plt);
91
	} :data
91
	} :data
92
 
92
 
93
	/DISCARD/ : {
93
	/DISCARD/ : {
94
		*(.comment);
94
		*(.comment);
95
		*(.gnu.attributes);
95
		*(.gnu.attributes);
96
	}
96
	}
97
 
97
 
98
	. = ALIGN(0x1000);
98
	. = ALIGN(0x1000);
99
	_heap = .;
99
	_heap = .;
100
}
100
}
101
 
101