Subversion Repositories HelenOS

Rev

Rev 3157 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3157 Rev 4342
1
/* 
1
/*
2
 * The difference from _link.ld.in for regular statically-linked apps
2
 * The difference from _link.ld.in for regular statically-linked apps
3
 * is the base address and the special interp section.
3
 * is the base address and the special interp section.
4
 */
4
 */
5
STARTUP(LIBC_PREFIX/arch/ARCH/src/entry.o)
5
STARTUP(LIBC_PREFIX/arch/UARCH/src/entry.o)
6
ENTRY(__entry)
6
ENTRY(__entry)
7
 
7
 
8
PHDRS {
8
PHDRS {
9
	interp PT_INTERP;
9
	interp PT_INTERP;
10
        text PT_LOAD FILEHDR PHDRS FLAGS(5);
10
        text PT_LOAD FILEHDR PHDRS FLAGS(5);
11
	data PT_LOAD FLAGS(6);
11
	data PT_LOAD FLAGS(6);
12
}
12
}
13
 
13
 
14
SECTIONS {
14
SECTIONS {
15
	.interp : {
15
	.interp : {
16
		*(.interp);
16
		*(.interp);
17
	} :interp
17
	} :interp
18
 
18
 
19
	. = 0x70001000;
19
	. = 0x70001000;
20
 
20
 
21
	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
21
	.init ALIGN(0x1000) : SUBALIGN(0x1000) {
22
		*(.init);
22
		*(.init);
23
	} :text
23
	} :text
24
	.text : {
24
	.text : {
25
		*(.text);
25
		*(.text);
26
                *(.rodata*);
26
                *(.rodata*);
27
	} :text
27
	} :text
28
	
28
	
29
	.data ALIGN(0x1000) : SUBALIGN(0x1000) {
29
	.data ALIGN(0x1000) : SUBALIGN(0x1000) {
30
		*(.data);
30
		*(.data);
31
	} :data
31
	} :data
32
	.tdata : {
32
	.tdata : {
33
		_tdata_start = .;
33
		_tdata_start = .;
34
		*(.tdata);
34
		*(.tdata);
35
		_tdata_end = .;
35
		_tdata_end = .;
36
	} :data
36
	} :data
37
	.tbss : {
37
	.tbss : {
38
		_tbss_start = .;
38
		_tbss_start = .;
39
		*(.tbss);
39
		*(.tbss);
40
		_tbss_end = .;
40
		_tbss_end = .;
41
	} :data
41
	} :data
42
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
42
	_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
43
	.bss : {
43
	.bss : {
44
                *(COMMON);
44
                *(COMMON);
45
                *(.bss);
45
                *(.bss);
46
	} :data
46
	} :data
47
	
47
	
48
	. = ALIGN(0x1000);
48
	. = ALIGN(0x1000);
49
	_heap = .;
49
	_heap = .;
50
	
50
	
51
	/DISCARD/ : {
51
	/DISCARD/ : {
52
		*(*);
52
		*(*);
53
	}
53
	}
54
 
54
 
55
}
55
}
56
 
56