Subversion Repositories HelenOS-historic

Rev

Rev 111 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 111 Rev 125
1
/*
1
/*
2
 *  MIPS linker script
2
 *  MIPS linker script
3
 *  
3
 *  
4
 *  kernel text
4
 *  kernel text
5
 *  kernel data
5
 *  kernel data
6
 *  
6
 *  
7
 */
7
 */
8
 
8
 
9
OUTPUT_FORMAT(binary)
9
OUTPUT_FORMAT(binary)
10
ENTRY(kernel_image_start) 
10
ENTRY(kernel_image_start) 
11
 
11
 
12
SECTIONS {
12
SECTIONS {
13
	.image 0x80000000: AT (0x80000000) { 
13
	.image 0x80000000: AT (0x80000000) { 
14
		ktext_start = .;
14
		ktext_start = .;
15
		*(.text);
15
		*(.text);
16
		ktext_end = .;
16
		ktext_end = .;
17
 
17
 
18
		kdata_start = .;
18
		kdata_start = .;
19
		*(.rdata);
19
		*(.rdata);
20
		*(.data);		/* initialized data */
20
		*(.data);		/* initialized data */
21
		*(.lit8);
21
		*(.lit8);
22
		*(.lit4);
22
		*(.lit4);
23
		*(.sdata);
23
		*(.sdata);
24
		*(.sbss);
24
		*(.sbss);
25
		*(.bss);		/* uninitialized static variables */	
25
		*(.bss);		/* uninitialized static variables */	
26
		*(.scommon);
26
		*(.scommon);
27
		*(COMMON); 		/* global variables */
27
		*(COMMON); 		/* global variables */
28
		kdata_end = .;
28
		kdata_end = .;
29
 
29
 
30
	} = 0x00000000
30
	} = 0x00000000
31
 
31
 
32
	. = ABSOLUTE(hardcoded_ktext_size);
32
	. = ABSOLUTE(hardcoded_ktext_size);
33
	.patch_1 : {
33
	.patch_1 : {
34
        	LONG(ktext_end - ktext_start);
34
		LONG(ktext_end - ktext_start);
35
	}
35
	}
36
 
36
 
37
	. = ABSOLUTE(hardcoded_kdata_size);
37
	. = ABSOLUTE(hardcoded_kdata_size);
38
	.patch_2 : {
38
	.patch_2 : {
39
        	LONG(kdata_end - kdata_start);
39
		LONG(kdata_end - kdata_start);
40
	}
40
	}
41
 
41
 
42
	. = ABSOLUTE(hardcoded_load_address);
42
	. = ABSOLUTE(hardcoded_load_address);
43
	.patch_3 : {
43
	.patch_3 : {
44
        	LONG(0x80000000);
44
		LONG(0x80000000);
45
	}
45
	}
46
 
46
 
47
}
47
}
48
 
48