Subversion Repositories HelenOS

Rev

Rev 3691 | Details | Compare with Previous | Last modification | View Log | RSS feed

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