Subversion Repositories HelenOS-historic

Rev

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

Rev 160 Rev 162
1
/*
1
/*
2
 *  PowerPC linker script
2
 *  PowerPC 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
		*(K_TEXT_START)
15
		*(K_TEXT_START)
16
		*(.text);
16
		*(.text);
-
 
17
		*(.rodata);
-
 
18
		*(.rodata.*);
-
 
19
		*(.data);		/* initialized data */
-
 
20
		*(.sdata);
-
 
21
		*(.sbss);
-
 
22
		*(.bss);		/* uninitialized static variables */	
-
 
23
		*(COMMON); 		/* global variables */
17
		ktext_end = .;
24
		ktext_end = .;
18
 
25
 
19
		kdata_start = .;
26
		kdata_start = .;
20
		kdata_end = .;
27
		kdata_end = .;
21
	} = 0x00000000
28
	} = 0x00000000
22
 
29
 
23
	. = ABSOLUTE(hardcoded_ktext_size);
30
	. = ABSOLUTE(hardcoded_ktext_size);
24
	.patch_1 : {
31
	.patch_1 : {
25
        	LONG(ktext_end - ktext_start);
32
        	LONG(ktext_end - ktext_start);
26
	}
33
	}
27
 
34
 
28
	. = ABSOLUTE(hardcoded_kdata_size);
35
	. = ABSOLUTE(hardcoded_kdata_size);
29
	.patch_2 : {
36
	.patch_2 : {
30
        	LONG(kdata_end - kdata_start);
37
        	LONG(kdata_end - kdata_start);
31
	}
38
	}
32
 
39
 
33
	. = ABSOLUTE(hardcoded_load_address);
40
	. = ABSOLUTE(hardcoded_load_address);
34
	.patch_3 : {
41
	.patch_3 : {
35
		LONG(0x80000000);
42
		LONG(0x80000000);
36
	}
43
	}
37
 
44
 
38
}
45
}
39
 
46