Subversion Repositories HelenOS

Rev

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

Rev Author Line No. Line
2933 svoboda 1
ENTRY(__entry)
2
 
3
PHDRS {
4
        text PT_LOAD FLAGS(5);
5
	data PT_LOAD FLAGS(6);
6
}
7
 
8
SECTIONS {
3552 svoboda 9
	. = 0x40001000;
2933 svoboda 10
 
11
	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
12
		*(.init);
13
	} :text
14
	.text : {
15
		*(.text);
16
		*(.text.*);
2950 svoboda 17
		*(.rodata*);
2933 svoboda 18
	} :text
19
 
2950 svoboda 20
	.rel.plt ALIGN(0x1000) : {
21
		*(.rel.plt);
22
	}
23
	/* 
24
	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
25
	 * without alignment gap or DT_REL will be broken
26
	 */
27
	.rel.dyn : {
28
		*(.rel.*);
29
	} :text
30
 
2933 svoboda 31
	.plt ALIGN(0x1000) : SUBALIGN(0x1000) {
32
		*(.plt);
33
	} :text
34
 
2950 svoboda 35
	.dynamic ALIGN(0x1000) : {
2933 svoboda 36
		*(.dynamic);
37
	} :text
38
 
2950 svoboda 39
	.dynsym ALIGN(0x1000) : {
2933 svoboda 40
		*(.dynsym);
41
	} :text
42
 
2950 svoboda 43
	.dynstr ALIGN(0x1000) : {
2933 svoboda 44
		*(.dynstr);
45
	} :text
46
 
47
	.data ALIGN(0x1000) : SUBALIGN(0x1000) {
48
		*(.data);
49
	} :data
2950 svoboda 50
 
51
	.data.rel ALIGN(0x1000) : {
52
                *(.data.rel);
53
	} :data
54
 
55
	.got ALIGN(0x1000) : SUBALIGN(0x1000) {
56
                *(.got);
57
	} :data
58
	.got.plt ALIGN(0x1000) : SUBALIGN(0x1000) {
59
                *(.got.plt);
60
	} :data
61
 
62
	.bss : {
63
                *(COMMON);
64
                *(.bss);
65
	} :data
66
 
2933 svoboda 67
	.tdata : {
68
		_tdata_start = .;
69
		*(.tdata);
70
		_tdata_end = .;
71
	} :data
72
	.tbss : {
73
		_tbss_start = .;
74
		*(.tbss);
75
		_tbss_end = .;
76
	} :data
77
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
78
 
79
	. = ALIGN(0x1000);
80
	_heap = .;
81
}