Subversion Repositories HelenOS

Rev

Rev 106 | Rev 151 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
37 jermar 1
/*
2
 *  IA-64 linker script
3
 *
4
 *  It is ELF format, but its only section looks like this:
5
 *  kernel text
6
 *  kernel data
7
 *
8
 */
9
 
35 jermar 10
OUTPUT_FORMAT(elf64-ia64-little)
11
ENTRY(kernel_image_start)
12
 
13
SECTIONS {
106 jermar 14
	.image 0x0000000000001000: AT (0x0000000000001000) { 
15
		ktext_start = .;
16
		*(K_TEXT_START);
17
		*(.text .stub .text.* .gnu.linkonce.t.*)
18
		*(.interp)
19
		*(.hash)
20
		*(.dynsym)
21
		*(.dynstr)
22
		*(.rel.init)
23
		*(.rela.init)
24
		*(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
25
		*(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
26
		*(.rel.fini)
27
		*(.rela.fini)
28
		*(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
29
		*(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
30
		*(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
31
		*(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
32
		*(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
33
		*(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
34
		*(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
35
		*(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
36
		*(.rel.got)
37
		*(.rela.got)
38
		*(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*)
39
		*(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
40
		*(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*)
41
		*(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
42
		*(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*)
43
		*(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
44
		*(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*)
45
		*(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
46
		*(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
47
		*(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
48
		*(.rel.plt)
49
		*(.rela.plt)
50
		*(.rela.IA_64.pltoff)
51
		*(.init)
52
		*(.plt)
53
		*(.fini)
54
		ktext_end = .;
55
		kdata_start = .;
56
		*(K_DATA_START)
57
		*(.rodata .rodata.* .gnu.linkonce.r.*)
58
		*(.rodata1)
59
		*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
60
		*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
61
		*(.opd)
62
		*(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*)
63
		*(.IA_64.unwind* .gnu.linkonce.ia64unw.*)
64
		*(.eh_frame_hdr)
65
		*(.preinit_array)
66
		*(.init_array)
67
		*(.fini_array)
68
		*(.data .data.* .gnu.linkonce.d.*)
69
		*(.data1)
70
		*(.tdata .tdata.* .gnu.linkonce.td.*)
71
		*(.tcommon)
72
		*(.eh_frame)
73
		*(.gcc_except_table)
74
		*(.dynamic)
75
		*(.jcr)
76
		*(.got)
77
		*(.IA_64.pltoff)
78
		*(.sdata .sdata.* .gnu.linkonce.s.*)
79
		*(.dynsbss)
80
		*(.sbss .sbss.* .gnu.linkonce.sb.*)
81
		*(.scommon)
82
		*(.dynbss)
83
		*(.bss .bss.* .gnu.linkonce.b.*)
84
		*(COMMON);
85
		kdata_end = .;
86
	}
37 jermar 87
 
106 jermar 88
	_hardcoded_ktext_size = ktext_end - ktext_start;
89
	_hardcoded_kdata_size = kdata_end - kdata_start;
90
	_hardcoded_load_address = 0x0000000000001000;
125 jermar 91
 
35 jermar 92
}