[2217ac3] | 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 |
|
---|
[30ef8ce] | 10 | OUTPUT_FORMAT(elf64-ia64-little)
|
---|
| 11 | ENTRY(kernel_image_start)
|
---|
| 12 |
|
---|
| 13 | SECTIONS {
|
---|
[ac5d02b] | 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 | }
|
---|
[2217ac3] | 87 |
|
---|
[ac5d02b] | 88 | _hardcoded_ktext_size = ktext_end - ktext_start;
|
---|
| 89 | _hardcoded_kdata_size = kdata_end - kdata_start;
|
---|
| 90 | _hardcoded_load_address = 0x0000000000001000;
|
---|
[00a44bc] | 91 |
|
---|
[30ef8ce] | 92 | }
|
---|