1#include <linux/config.h>
2
3OUTPUT_FORMAT("elf64-alpha")
4ENTRY(__start)
5PHDRS { kernel PT_LOAD ; }
6SECTIONS
7{
8#ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
9  . = 0xfffffc0000310000;
10#else
11  . = 0xfffffc0000810000;
12#endif
13
14  _text = .;
15  .text : { *(.text) } :kernel
16  _etext = .;
17
18  /* Exception table */
19  . = ALIGN(16);
20  __start___ex_table = .;
21  __ex_table : { *(__ex_table) }
22  __stop___ex_table = .;
23
24  /* Kernel symbol table */
25  . = ALIGN(8);
26  __start___ksymtab = .;
27  __ksymtab : { *(__ksymtab) }
28  __stop___ksymtab = .;
29  .kstrtab : { *(.kstrtab) }
30
31  /* Startup code */
32  . = ALIGN(8192);
33  __init_begin = .;
34  .text.init : { *(.text.init) }
35  .data.init : { *(.data.init) }
36
37  . = ALIGN(16);
38  __setup_start = .;
39  .setup.init : { *(.setup.init) }
40  __setup_end = .;
41
42  . = ALIGN(8);
43  __initcall_start = .;
44  .initcall.init : { *(.initcall.init) }
45  __initcall_end = .;
46
47  . = ALIGN(2*8192);	/* Align double page for init_task_union */
48  __init_end = .;
49
50  /* The initial task and kernel stack */
51  init_task : { *(init_task) }
52
53  /* Global data */
54  _data = .;
55  .data.cacheline_aligned : { *(.data.cacheline_aligned) }
56  .rodata : { *(.rodata) *(.rodata.*) }
57  .data : { *(.data) CONSTRUCTORS }
58  .got : { *(.got) }
59  .sdata : { *(.sdata) }
60  _edata = .;
61
62  __bss_start = .;
63  .sbss : { *(.sbss) *(.scommon) }
64  .bss : { *(.bss) *(COMMON) }
65  __bss_stop = .;
66  _end = .;
67
68  .mdebug 0 : { *(.mdebug) }
69  .note 0 : { *(.note) }
70  .comment 0 : { *(.comment) }
71
72  /* DWARF 1 */
73  .debug          0 : { *(.debug) }
74  .line           0 : { *(.line) }
75  /* GNU DWARF 1 extensions */
76  .debug_srcinfo  0 : { *(.debug_srcinfo) }
77  .debug_sfnames  0 : { *(.debug_sfnames) }
78  /* DWARF 1.1 and DWARF 2 */
79  .debug_aranges  0 : { *(.debug_aranges) }
80  .debug_pubnames 0 : { *(.debug_pubnames) }
81  /* DWARF 2 */
82  .debug_info     0 : { *(.debug_info) }
83  .debug_abbrev   0 : { *(.debug_abbrev) }
84  .debug_line     0 : { *(.debug_line) }
85  .debug_frame    0 : { *(.debug_frame) }
86  .debug_str      0 : { *(.debug_str) }
87  .debug_loc      0 : { *(.debug_loc) }
88  .debug_macinfo  0 : { *(.debug_macinfo) }
89  /* SGI/MIPS DWARF 2 extensions */
90  .debug_weaknames 0 : { *(.debug_weaknames) }
91  .debug_funcnames 0 : { *(.debug_funcnames) }
92  .debug_typenames 0 : { *(.debug_typenames) }
93  .debug_varnames  0 : { *(.debug_varnames) }
94
95  /DISCARD/ : { *(.text.exit) *(.data.exit) *(.exitcall.exit) }
96}
97