Subversion Repositories HelenOS

Rev

Rev 2967 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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