Subversion Repositories HelenOS-historic

Rev

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

Rev 457 Rev 461
1
/** IA-64 linker script
1
/** IA-64 linker script
2
 *
2
 *
3
 *  It is ELF format, but its only section looks like this:
3
 *  It is ELF format, but its only section looks like this:
4
 *  kernel text
4
 *  kernel text
5
 *  kernel data
5
 *  kernel data
6
 *
6
 *
7
 */
7
 */
8
 
8
 
9
#define __ASM__
9
#define __ASM__
10
 
10
 
11
OUTPUT_FORMAT(BFD)
-
 
12
ENTRY(kernel_image_start)
11
ENTRY(kernel_image_start)
13
 
12
 
14
SECTIONS {
13
SECTIONS {
15
	.image 0x0000000000001000: AT (0x0000000000001000) { 
14
	.image 0x0000000000001000: AT (0x0000000000001000) { 
16
		ktext_start = .;
15
		ktext_start = .;
17
		*(K_TEXT_START);
16
		*(K_TEXT_START);
18
		*(.text)
17
		*(.text)
19
		ktext_end = .;
18
		ktext_end = .;
20
		
19
		
21
		kdata_start = .;
20
		kdata_start = .;
22
		*(K_DATA_START)
21
		*(K_DATA_START)
23
		*(.rodata .rodata.*)
22
		*(.rodata .rodata.*)
24
		*(.opd)
23
		*(.opd)
25
		*(.data)
24
		*(.data)
26
		*(.got .got.*)
25
		*(.got .got.*)
27
		*(.sdata)
26
		*(.sdata)
28
		*(.sbss)
27
		*(.sbss)
29
		*(.scommon)
28
		*(.scommon)
30
		*(.bss)
29
		*(.bss)
31
		*(COMMON);
30
		*(COMMON);
32
 
31
 
33
                symbol_table = .;
32
                symbol_table = .;
34
                *(symtab.*);            /* Symbol table, must be LAST symbol!*/
33
                *(symtab.*);            /* Symbol table, must be LAST symbol!*/
35
 
34
 
36
		kdata_end = .;
35
		kdata_end = .;
37
	}
36
	}
38
 
37
 
39
	_hardcoded_ktext_size = ktext_end - ktext_start;
38
	_hardcoded_ktext_size = ktext_end - ktext_start;
40
	_hardcoded_kdata_size = kdata_end - kdata_start;
39
	_hardcoded_kdata_size = kdata_end - kdata_start;
41
	_hardcoded_load_address = 0x0000000000001000;
40
	_hardcoded_load_address = 0x0000000000001000;
42
 
41
 
43
}
42
}
44
 
43