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 | } |