Config file persistence
[helenos.git] / kernel / arch / ia64 / _link.ld.in
blob88b8cf2bcc1843c9c2e9f61aa85a5d88635bc62d
1 /** IA-64 linker script
2  *
3  *  It is ELF format, but its only section looks like this:
4  *  kernel text
5  *  kernel data
6  *
7  */
9 #define LOAD_ADDRESS_V  0xe000000004800000
10 #define LOAD_ADDRESS_P  0x0000000004800000
12 ENTRY(kernel_image_start)
14 SECTIONS {
15         kernel_load_address = LOAD_ADDRESS_V;
17         .text (LOAD_ADDRESS_V + SIZEOF_HEADERS): AT (LOAD_ADDRESS_P + SIZEOF_HEADERS) {
18                 . = ALIGN(16);
19                 ktext_start = .;
20                 KEEP(*(K_TEXT_START));
21                 *(.text .text.*)
22                 ktext_end = .;
23         }
25         /* stack unwinding data */
26         .eh_frame_hdr : {
27                 eh_frame_hdr_start = .;
28                 *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*);
29                 eh_frame_hdr_end = .;
30         }
32         .eh_frame : {
33                 eh_frame_start = .;
34                 KEEP(*(.eh_frame .eh_frame.*));
35                 eh_frame_end = .;
36         }
37         
38         .data : {
39                 kdata_start = .;
40                 KEEP(*(K_DATA_START));
41                 *(.rodata .rodata.*);
42                 *(.opd)
43                 *(.data .data.*)
44                 __gp = .;
45                 *(.got .got.*)
46                 *(.sdata .sdata.*)
47                 *(.sbss .sbss.*)
48                 *(.scommon .scommon.*)
49                 *(.bss .bss.*)
50                 *(COMMON);
51                 kdata_end = .;
52         }
54         .comment 0 : { *(.comment); }
55         .debug_abbrev 0 : { *(.debug_abbrev); }
56         .debug_abbrev.dwo 0 : { *(      .debug_abbrev.dwo); }
57         .debug_addr 0 : { *(.debug_addr); }
58         .debug_aranges 0 : { *(.debug_aranges); }
59         .debug_cu_index 0 : { *(.debug_cu_index); }
60         .debug_frame 0 : { *(.debug_frame); }
61         .debug_frame_hdr 0 : { *(.debug_frame_hdr); }
62         .debug_info 0 : { *(.debug_info); }
63         .debug_info.dwo 0 : { *(.debug_info.dwo); }
64         .debug_line 0 : { *(.debug_line); }
65         .debug_line.dwo 0 : { *(.debug_line.dwo); }
66         .debug_line_str 0 : { *(.debug_line_str); }
67         .debug_loc 0 : { *(.debug_loc); }
68         .debug_loclists 0 : { *(.debug_loclists); }
69         .debug_loclists.dwo 0 : { *(.debug_loclists.dwo); }
70         .debug_macinfo 0 : { *(.debug_macinfo); }
71         .debug_macro 0 : { *(.debug_macro); }
72         .debug_macro.dwo 0 : { *(.debug_macro.dwo); }
73         .debug_names 0 : { *(.debug_names); }
74         .debug_pubnames 0 : { *(.debug_pubnames); }
75         .debug_pubtypes 0 : { *(.debug_pubtypes); }
76         .debug_ranges 0 : { *(.debug_ranges); }
77         .debug_rnglists 0 : { *(.debug_rnglists); }
78         .debug_str 0 : { *(.debug_str); }
79         .debug_str.dwo 0 : { *(.debug_str.dwo); }
80         .debug_str_offsets 0 : { *(.debug_str_offsets); }
81         .debug_str_offsets.dwo 0 : { *(.debug_str_offsets.dwo); }
82         .debug_tu_index 0 : { *(.debug_tu_index); }
83         .debug_types 0 : { *(.debug_types); }
85         /DISCARD/ : {
86                 *(*);
87         }