^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) #ifdef CONFIG_ARM64_MODULE_PLTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) SECTIONS {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) .plt 0 (NOLOAD) : { BYTE(0) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) .init.plt 0 (NOLOAD) : { BYTE(0) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) .text.ftrace_trampoline 0 (NOLOAD) : { BYTE(0) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #ifdef CONFIG_CRYPTO_FIPS140
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) * The FIPS140 module incorporates copies of builtin code, which gets
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * integrity checked at module load time, and registered in a way that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) * ensures that the integrity checked versions supersede the builtin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) * ones. These objects are compiled as builtin code, and so their init
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) * hooks will be exported from the binary in the same way as builtin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) * initcalls are, i.e., annotated with a level that defines the order
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) * in which the hooks are expected to be invoked.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #define INIT_CALLS_LEVEL(level) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) KEEP(*(.initcall##level##.init*)) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) KEEP(*(.initcall##level##s.init*))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) .initcalls : {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) *(.initcalls._start)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) INIT_CALLS_LEVEL(0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) INIT_CALLS_LEVEL(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) INIT_CALLS_LEVEL(2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) INIT_CALLS_LEVEL(3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) INIT_CALLS_LEVEL(4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) INIT_CALLS_LEVEL(5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) INIT_CALLS_LEVEL(rootfs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) INIT_CALLS_LEVEL(6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) INIT_CALLS_LEVEL(7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) *(.initcalls._end)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) #endif