When CONFIG_LTO is enabled, we get a link error for this file that contains a reference to printk():
arch/arm/lib/io-acorn.o: In function `outsl': (.text+0x38): undefined reference to `printk' Normally the file is simply dropped, but that doesn't happen with LTO. Making the reference conditional helps, but perhaps a better fix would be to make sure the LTO linker drops the entire file in the same way that we normally do. Signed-off-by: Arnd Bergmann <a...@arndb.de> --- arch/arm/lib/io-acorn.S | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/lib/io-acorn.S b/arch/arm/lib/io-acorn.S index 69719bad674d..3522a899460b 100644 --- a/arch/arm/lib/io-acorn.S +++ b/arch/arm/lib/io-acorn.S @@ -27,6 +27,10 @@ */ ENTRY(insl) ENTRY(outsl) +#ifdef CONFIG_PRINTK adr r0, .Liosl_warning mov r1, lr b printk +#else + ret lr +#endif -- 2.9.0