source: mainline/arch/ia64/_link.ld@ c4a5207f

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since c4a5207f was 47d78c6, checked in by Jakub Jermar <jakub@…>, 20 years ago

IA-64 cosmetics.
Fix boot/boot.s to jump to the appropriate address.
Revert _link.ld to contain previously deleted sections.

  • Property mode set to 100644
File size: 2.8 KB
Line 
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
10OUTPUT_FORMAT(elf64-ia64-little)
11ENTRY(kernel_image_start)
12
13SECTIONS {
14 .image 0x0000000000001000: AT (0x0000000000001000) {
15 ktext_start = .;
16 *(.text .stub .text.* .gnu.linkonce.t.*)
17 *(.interp)
18 *(.hash)
19 *(.dynsym)
20 *(.dynstr)
21 *(.rel.init)
22 *(.rela.init)
23 *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
24 *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
25 *(.rel.fini)
26 *(.rela.fini)
27 *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
28 *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
29 *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
30 *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
31 *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
32 *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
33 *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
34 *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
35 *(.rel.got)
36 *(.rela.got)
37 *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*)
38 *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
39 *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*)
40 *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
41 *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*)
42 *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
43 *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*)
44 *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
45 *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
46 *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
47 *(.rel.plt)
48 *(.rela.plt)
49 *(.rela.IA_64.pltoff)
50 *(.init)
51 *(.plt)
52 *(.fini)
53 ktext_end = .;
54 kdata_start = .;
55 *(.rodata .rodata.* .gnu.linkonce.r.*)
56 *(.rodata1)
57 *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
58 *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
59 *(.opd)
60 *(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*)
61 *(.IA_64.unwind* .gnu.linkonce.ia64unw.*)
62 *(.eh_frame_hdr)
63 *(.preinit_array)
64 *(.init_array)
65 *(.fini_array)
66 *(.data .data.* .gnu.linkonce.d.*)
67 *(.data1)
68 *(.tdata .tdata.* .gnu.linkonce.td.*)
69 *(.tcommon)
70 *(.eh_frame)
71 *(.gcc_except_table)
72 *(.dynamic)
73 *(.jcr)
74 *(.got)
75 *(.IA_64.pltoff)
76 *(.sdata .sdata.* .gnu.linkonce.s.*)
77 *(.dynsbss)
78 *(.sbss .sbss.* .gnu.linkonce.sb.*)
79 *(.scommon)
80 *(.dynbss)
81 *(.bss .bss.* .gnu.linkonce.b.*)
82 *(COMMON)
83 kdata_end = .;
84 }
85
86 . = ABSOLUTE(hardcoded_ktext_size);
87 .patch_1 : {
88 LONG(ktext_end - ktext_start);
89 }
90
91 . = ABSOLUTE(hardcoded_kdata_size);
92 .patch_2 : {
93 LONG(kdata_end - kdata_start);
94 }
95
96 . = ABSOLUTE(hardcoded_load_address);
97 .patch_3 : {
98 QUAD(0x0000000000001000);
99 }
100
101}
Note: See TracBrowser for help on using the repository browser.