import of upstream 2.4.34.4 from kernel.org
[linux-2.4.git] / arch / alpha / vmlinux.lds.in
1 #include <linux/config.h>
2
3 OUTPUT_FORMAT("elf64-alpha")
4 ENTRY(__start)
5 PHDRS { kernel PT_LOAD ; }
6 SECTIONS
7 {
8 #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
9   . = 0xfffffc0000310000;
10 #else
11   . = 0xfffffc0001010000;
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 }