Hi! On 13/03/18 18:51, Ard Biesheuvel wrote: >>> if (IS_ENABLED(CONFIG_ARM_MODULE_PLTS)) >>> module_plt_alloc_fixed(); >> Do you consider this a legal C code if without module-plts.o the function >> would not exist at all? >> That's too much relying on optimizer I think... >> > Yes, we rely on that in many different places in the kernel.
https://www.kernel.org/doc/Documentation/process/coding-style.rst: "However, this approach still allows the C compiler to see the code inside the block, and check it for correctness (syntax, types, symbol references, etc). Thus, you still have to use an #ifdef if the code inside the block references symbols that will not exist if the condition is not met." But we can of course ignore it. -- Best regards, Alexander Sverdlin.