Subversion Repositories HelenOS

Rev

Rev 3556 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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