1#include <asm-generic/vmlinux.lds.h> 2 3 .fini : { *(.fini) } =0x9090 4 _etext = .; 5 PROVIDE (etext = .); 6 7 . = ALIGN(4096); 8 _sdata = .; 9 PROVIDE (sdata = .); 10 11 RODATA 12 13 .unprotected : { *(.unprotected) } 14 . = ALIGN(4096); 15 PROVIDE (_unprotected_end = .); 16 17 . = ALIGN(4096); 18 .note : { *(.note.*) } 19 __ex_table : { 20 __start___ex_table = .; 21 *(__ex_table) 22 __stop___ex_table = .; 23 } 24 25 BUG_TABLE 26 27 .uml.setup.init : { 28 __uml_setup_start = .; 29 *(.uml.setup.init) 30 __uml_setup_end = .; 31 } 32 33 .uml.help.init : { 34 __uml_help_start = .; 35 *(.uml.help.init) 36 __uml_help_end = .; 37 } 38 39 .uml.postsetup.init : { 40 __uml_postsetup_start = .; 41 *(.uml.postsetup.init) 42 __uml_postsetup_end = .; 43 } 44 45 .init.setup : { 46 __setup_start = .; 47 *(.init.setup) 48 __setup_end = .; 49 } 50 51 . = ALIGN(32); 52 .data.percpu : { 53 __per_cpu_start = . ; 54 *(.data.percpu) 55 __per_cpu_end = . ; 56 } 57 58 .initcall.init : { 59 __initcall_start = .; 60 INITCALLS 61 __initcall_end = .; 62 } 63 64 .con_initcall.init : { 65 __con_initcall_start = .; 66 *(.con_initcall.init) 67 __con_initcall_end = .; 68 } 69 70 .uml.initcall.init : { 71 __uml_initcall_start = .; 72 *(.uml.initcall.init) 73 __uml_initcall_end = .; 74 } 75 __init_end = .; 76 77 SECURITY_INIT 78 79 .exitcall : { 80 __exitcall_begin = .; 81 *(.exitcall.exit) 82 __exitcall_end = .; 83 } 84 85 .uml.exitcall : { 86 __uml_exitcall_begin = .; 87 *(.uml.exitcall.exit) 88 __uml_exitcall_end = .; 89 } 90 91 . = ALIGN(4); 92 .altinstructions : { 93 __alt_instructions = .; 94 *(.altinstructions) 95 __alt_instructions_end = .; 96 } 97 .altinstr_replacement : { *(.altinstr_replacement) } 98 /* .exit.text is discard at runtime, not link time, to deal with references 99 from .altinstructions and .eh_frame */ 100 .exit.text : { *(.exit.text) } 101 .exit.data : { *(.exit.data) } 102 103 .preinit_array : { 104 __preinit_array_start = .; 105 *(.preinit_array) 106 __preinit_array_end = .; 107 } 108 .init_array : { 109 __init_array_start = .; 110 *(.init_array) 111 __init_array_end = .; 112 } 113 .fini_array : { 114 __fini_array_start = .; 115 *(.fini_array) 116 __fini_array_end = .; 117 } 118 119 . = ALIGN(4096); 120 .init.ramfs : { 121 __initramfs_start = .; 122 *(.init.ramfs) 123 __initramfs_end = .; 124 } 125 126 /* Sections to be discarded */ 127 /DISCARD/ : { 128 *(.exitcall.exit) 129 } 130 131