Subversion Repositories HelenOS

Rev

Rev 2996 | Rev 3555 | 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 {
3423 svoboda 11
	.interp : {
12
		*(.interp);
13
	} :interp
14
 
2996 svoboda 15
	. = 0x1000;
16
 
17
	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
18
		*(.init);
19
	} :text
20
	.text : {
21
		*(.text);
22
		*(.text.*);
23
		*(.rodata*);
24
	} :text
25
 
26
	.rel.plt ALIGN(0x1000) : {
27
		*(.rel.plt);
3423 svoboda 28
	} :text
2996 svoboda 29
	/* 
30
	 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt 
31
	 * without alignment gap or DT_REL will be broken
32
	 */
33
	.rel.dyn : {
34
		*(.rel.*);
35
	} :text
36
 
37
	.dynamic ALIGN(0x1000) : {
38
		*(.dynamic);
39
	} :text
40
 
41
	.dynsym ALIGN(0x1000) : {
42
		*(.dynsym);
43
	} :text
44
 
45
	.dynstr ALIGN(0x1000) : {
46
		*(.dynstr);
47
	} :text
48
 
49
	.data ALIGN(0x1000) : SUBALIGN(0x1000) {
50
		*(.data);
51
		*(.sdata);
52
	} :data
53
 
54
	.data.rel ALIGN(0x1000) : {
55
                *(.data.rel);
56
	} :data
57
 
58
	.got ALIGN(0x1000) : SUBALIGN(0x1000) {
59
                *(.got);
60
	} :data
61
	.got.plt ALIGN(0x1000) : SUBALIGN(0x1000) {
62
                *(.got.plt);
63
	} :data
64
 
65
/*	.tdata : {
66
		_tdata_start = .;
67
		*(.tdata);
68
		_tdata_end = .;
69
	} :data
70
	.tbss : {
71
		_tbss_start = .;
72
		*(.tbss);
73
		_tbss_end = .;
74
	} :data
75
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
76
*/
77
	.bss : {
78
		*(.sbss);
79
		*(COMMON);
80
		*(.bss);
81
	} :data
82
 
83
	.plt ALIGN(0x1000) : SUBALIGN(0x1000) {
84
		*(.plt);
85
	} :data
86
 
87
	. = ALIGN(0x1000);
88
	_heap = .;
89
}