Subversion Repositories HelenOS-historic

Rev

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

Rev 162 Rev 163
Line 1... Line 1...
1
/*
1
/*
2
 *  PowerPC linker script
2
 *  PPC linker script
3
 *  
3
 *
-
 
4
 *  It is ELF format, but its only section looks like this:
4
 *  kernel text
5
 *  kernel text
5
 *  kernel data
6
 *  kernel data
6
 *  
7
 *
7
 */
8
 */
8
 
9
 
9
OUTPUT_FORMAT(binary)
10
OUTPUT_FORMAT(elf32-powerpc)
10
ENTRY(kernel_image_start)
11
ENTRY(kernel_image_start)
11
 
12
 
12
SECTIONS {
13
SECTIONS {
13
	.image 0x80000000: AT (0x80000000) { 
14
	.image 0x80000000: AT (0x80000000) { 
14
		ktext_start = .;
15
		ktext_start = .;
15
		*(K_TEXT_START)
16
		*(K_TEXT_START)
16
		*(.text);
17
		*(.text);
-
 
18
		ktext_end = .;
-
 
19
		
-
 
20
		kdata_start = .;
-
 
21
		*(K_DATA_START)
17
		*(.rodata);
22
		*(.rodata);
18
		*(.rodata.*);
23
		*(.rodata.*);
19
		*(.data);		/* initialized data */
24
		*(.data);		/* initialized data */
20
		*(.sdata);
25
		*(.sdata);
21
		*(.sbss);
26
		*(.sbss);
22
		*(.bss);		/* uninitialized static variables */	
27
		*(.bss);		/* uninitialized static variables */	
23
		*(COMMON); 		/* global variables */
28
		*(COMMON); 		/* global variables */
24
		ktext_end = .;
-
 
25
 
-
 
26
		kdata_start = .;
-
 
27
		kdata_end = .;
29
		kdata_end = .;
28
	} = 0x00000000
-
 
29
 
-
 
30
	. = ABSOLUTE(hardcoded_ktext_size);
-
 
31
	.patch_1 : {
-
 
32
        	LONG(ktext_end - ktext_start);
-
 
33
	}
-
 
34
 
-
 
35
	. = ABSOLUTE(hardcoded_kdata_size);
-
 
36
	.patch_2 : {
-
 
37
        	LONG(kdata_end - kdata_start);
-
 
38
	}
-
 
39
 
-
 
40
	. = ABSOLUTE(hardcoded_load_address);
-
 
41
	.patch_3 : {
-
 
42
		LONG(0x80000000);
-
 
43
	}
30
	}
-
 
31
	
-
 
32
	_hardcoded_ktext_size = ktext_end - ktext_start;
-
 
33
	_hardcoded_kdata_size = kdata_end - kdata_start;
-
 
34
	_hardcoded_load_address = 0x80000000;
44
 
35
 
45
}
36
}