1#include <asm-generic/vmlinux.lds.h> 2#include <asm/page.h> 3 4OUTPUT_FORMAT("elf64-alpha") 5OUTPUT_ARCH(alpha) 6ENTRY(__start) 7PHDRS { kernel PT_LOAD; note PT_NOTE; } 8jiffies = jiffies_64; 9SECTIONS 10{ 11#ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS 12 . = 0xfffffc0000310000; 13#else 14 . = 0xfffffc0001010000; 15#endif 16 17 _text = .; /* Text and read-only data */ 18 .text : { 19 HEAD_TEXT 20 TEXT_TEXT 21 SCHED_TEXT 22 LOCK_TEXT 23 *(.fixup) 24 *(.gnu.warning) 25 } :kernel 26 _etext = .; /* End of text section */ 27 28 NOTES :kernel :note 29 .dummy : { 30 *(.dummy) 31 } :kernel 32 33 RODATA 34 35 /* Exception table */ 36 . = ALIGN(16); 37 __ex_table : { 38 __start___ex_table = .; 39 *(__ex_table) 40 __stop___ex_table = .; 41 } 42 43 /* Will be freed after init */ 44 . = ALIGN(PAGE_SIZE); 45 /* Init code and data */ 46 __init_begin = .; 47 .init.text : { 48 _sinittext = .; 49 INIT_TEXT 50 _einittext = .; 51 } 52 .init.data : { 53 INIT_DATA 54 } 55 56 . = ALIGN(16); 57 .init.setup : { 58 __setup_start = .; 59 *(.init.setup) 60 __setup_end = .; 61 } 62 63 . = ALIGN(8); 64 .initcall.init : { 65 __initcall_start = .; 66 INITCALLS 67 __initcall_end = .; 68 } 69 70#ifdef CONFIG_BLK_DEV_INITRD 71 . = ALIGN(PAGE_SIZE); 72 .init.ramfs : { 73 __initramfs_start = .; 74 *(.init.ramfs) 75 __initramfs_end = .; 76 } 77#endif 78 79 . = ALIGN(8); 80 .con_initcall.init : { 81 __con_initcall_start = .; 82 *(.con_initcall.init) 83 __con_initcall_end = .; 84 } 85 86 . = ALIGN(8); 87 SECURITY_INIT 88 89 PERCPU(PAGE_SIZE) 90 91 . = ALIGN(2 * PAGE_SIZE); 92 __init_end = .; 93 /* Freed after init ends here */ 94 95 /* Note 2 page alignment above. */ 96 .data.init_thread : { 97 *(.data.init_thread) 98 } 99 100 . = ALIGN(PAGE_SIZE); 101 .data.page_aligned : { 102 *(.data.page_aligned) 103 } 104 105 . = ALIGN(64); 106 .data.cacheline_aligned : { 107 *(.data.cacheline_aligned) 108 } 109 110 _data = .; 111 /* Data */ 112 .data : { 113 DATA_DATA 114 CONSTRUCTORS 115 } 116 117 .got : { 118 *(.got) 119 } 120 .sdata : { 121 *(.sdata) 122 } 123 _edata = .; /* End of data section */ 124 125 __bss_start = .; 126 .sbss : { 127 *(.sbss) 128 *(.scommon) 129 } 130 .bss : { 131 *(.bss) 132 *(COMMON) 133 } 134 __bss_stop = .; 135 _end = .; 136 137 /* Sections to be discarded */ 138 /DISCARD/ : { 139 EXIT_TEXT 140 EXIT_DATA 141 *(.exitcall.exit) 142 } 143 144 .mdebug 0 : { 145 *(.mdebug) 146 } 147 .note 0 : { 148 *(.note) 149 } 150 151 STABS_DEBUG 152 DWARF_DEBUG 153} 154