^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #include <asm-generic/vmlinux.lds.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) .fini : { *(.fini) } =0x9090
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) _etext = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) PROVIDE (etext = .);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) . = ALIGN(4096);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) _sdata = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) PROVIDE (sdata = .);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) RO_DATA(4096)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) .unprotected : { *(.unprotected) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) . = ALIGN(4096);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) PROVIDE (_unprotected_end = .);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) . = ALIGN(4096);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) EXCEPTION_TABLE(0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) BUG_TABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) .uml.setup.init : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) __uml_setup_start = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) *(.uml.setup.init)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) __uml_setup_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) .uml.help.init : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) __uml_help_start = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) *(.uml.help.init)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) __uml_help_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) .uml.postsetup.init : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) __uml_postsetup_start = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) *(.uml.postsetup.init)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) __uml_postsetup_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) .init.setup : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) INIT_SETUP(0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) PERCPU_SECTION(32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) .initcall.init : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) INIT_CALLS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) .con_initcall.init : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) CON_INITCALL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) .exitcall : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) __exitcall_begin = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) *(.exitcall.exit)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) __exitcall_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) .uml.exitcall : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) __uml_exitcall_begin = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) *(.uml.exitcall.exit)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) __uml_exitcall_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) . = ALIGN(4);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) .altinstructions : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) __alt_instructions = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) *(.altinstructions)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) __alt_instructions_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) .altinstr_replacement : { *(.altinstr_replacement) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) /* .exit.text is discard at runtime, not link time, to deal with references
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) from .altinstructions and .eh_frame */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) .exit.text : { EXIT_TEXT }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) .exit.data : { *(.exit.data) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) .preinit_array : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) __preinit_array_start = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) *(.preinit_array)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) __preinit_array_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) .init_array : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) __init_array_start = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) *(.init_array)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) __init_array_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) .fini_array : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) __fini_array_start = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) *(.fini_array)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) __fini_array_end = .;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) . = ALIGN(4096);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) .init.ramfs : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) INIT_RAM_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)