| #ifdef CONFIG_ARM64_MODULE_PLTS |
| SECTIONS { |
| .plt 0 (NOLOAD) : { BYTE(0) } |
| .init.plt 0 (NOLOAD) : { BYTE(0) } |
| .text.ftrace_trampoline 0 (NOLOAD) : { BYTE(0) } |
| |
| #ifdef CONFIG_CRYPTO_FIPS140 |
| /* |
| * The FIPS140 module incorporates copies of builtin code, which gets |
| * integrity checked at module load time, and registered in a way that |
| * ensures that the integrity checked versions supersede the builtin |
| * ones. These objects are compiled as builtin code, and so their init |
| * hooks will be exported from the binary in the same way as builtin |
| * initcalls are, i.e., annotated with a level that defines the order |
| * in which the hooks are expected to be invoked. |
| */ |
| #define INIT_CALLS_LEVEL(level) \ |
| KEEP(*(.initcall##level##.init*)) \ |
| KEEP(*(.initcall##level##s.init*)) |
| |
| .initcalls : { |
| *(.initcalls._start) |
| INIT_CALLS_LEVEL(0) |
| INIT_CALLS_LEVEL(1) |
| INIT_CALLS_LEVEL(2) |
| INIT_CALLS_LEVEL(3) |
| INIT_CALLS_LEVEL(4) |
| INIT_CALLS_LEVEL(5) |
| INIT_CALLS_LEVEL(rootfs) |
| INIT_CALLS_LEVEL(6) |
| INIT_CALLS_LEVEL(7) |
| *(.initcalls._end) |
| } |
| #endif |
| } |
| #endif |