Rev 36 | Rev 39 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 36 | Rev 37 | ||
---|---|---|---|
Line -... | Line 1... | ||
- | 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 | ||
1 | OUTPUT_FORMAT(elf64-ia64-little) |
10 | OUTPUT_FORMAT(elf64-ia64-little) |
2 | ENTRY(kernel_image_start) |
11 | ENTRY(kernel_image_start) |
3 | 12 | ||
4 | SECTIONS { |
13 | SECTIONS { |
5 | .image 0x0000000000001000: AT (0x0000000000001000) { |
14 | .image 0x0000000000001000: AT (0x0000000000001000) { |
- | 15 | ktext_start = .; |
|
6 | *(.text .stub .text.* .gnu.linkonce.t.*) |
16 | *(.text .text.* ) |
- | 17 | ktext_end = .; |
|
- | 18 | kdata_start = .; |
|
7 | *(.interp) |
19 | *(.interp) |
8 | *(.hash) |
20 | *(.hash) |
9 | *(.dynsym) |
21 | *(.dynsym) |
10 | *(.dynstr) |
22 | *(.dynstr) |
11 | *(.rel.init) |
23 | *(.rel.init) |
Line 66... | Line 78... | ||
66 | *(.sbss .sbss.* .gnu.linkonce.sb.*) |
78 | *(.sbss .sbss.* .gnu.linkonce.sb.*) |
67 | *(.scommon) |
79 | *(.scommon) |
68 | *(.dynbss) |
80 | *(.dynbss) |
69 | *(.bss .bss.* .gnu.linkonce.b.*) |
81 | *(.bss .bss.* .gnu.linkonce.b.*) |
70 | *(COMMON) |
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); |
|
71 | } |
99 | } |
- | 100 | ||
72 | } |
101 | } |