Subversion Repositories HelenOS

Rev

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

Rev 455 Rev 457
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(elf64-ia64-little)
11
OUTPUT_FORMAT(BFD)
12
ENTRY(kernel_image_start)
12
ENTRY(kernel_image_start)
13
 
13
 
14
SECTIONS {
14
SECTIONS {
15
	.image 0x0000000000001000: AT (0x0000000000001000) { 
15
	.image 0x0000000000001000: AT (0x0000000000001000) { 
16
		ktext_start = .;
16
		ktext_start = .;
17
		*(K_TEXT_START);
17
		*(K_TEXT_START);
18
		*(.text)
18
		*(.text)
19
		ktext_end = .;
19
		ktext_end = .;
20
		
20
		
21
		kdata_start = .;
21
		kdata_start = .;
22
		*(K_DATA_START)
22
		*(K_DATA_START)
23
		*(.rodata .rodata.*)
23
		*(.rodata .rodata.*)
24
		*(.opd)
24
		*(.opd)
25
		*(.data)
25
		*(.data)
26
		*(.got .got.*)
26
		*(.got .got.*)
27
		*(.sdata)
27
		*(.sdata)
28
		*(.sbss)
28
		*(.sbss)
29
		*(.scommon)
29
		*(.scommon)
30
		*(.bss)
30
		*(.bss)
31
		*(COMMON);
31
		*(COMMON);
32
 
32
 
33
                symbol_table = .;
33
                symbol_table = .;
34
                *(symtab.*);            /* Symbol table, must be LAST symbol!*/
34
                *(symtab.*);            /* Symbol table, must be LAST symbol!*/
35
 
35
 
36
		kdata_end = .;
36
		kdata_end = .;
37
	}
37
	}
38
 
38
 
39
	_hardcoded_ktext_size = ktext_end - ktext_start;
39
	_hardcoded_ktext_size = ktext_end - ktext_start;
40
	_hardcoded_kdata_size = kdata_end - kdata_start;
40
	_hardcoded_kdata_size = kdata_end - kdata_start;
41
	_hardcoded_load_address = 0x0000000000001000;
41
	_hardcoded_load_address = 0x0000000000001000;
42
 
42
 
43
}
43
}
44
 
44