On Sat, Jun 16, 2018 at 05:58:15PM +0200, Hauke Mehrtens wrote: > __current_thread_info is currently defined in the header file, but when > we link the kernel with LTO it shows up in all files which include this > header file and causes conflicts with itself. Move the definition into > the only function which uses it to prevent these problems. > > This fixes the build with LTO. Not a new issue, see https://git.linux-mips.org/cgit/ralf/linux-lto.git/commit/arch/mips/include/asm/thread_info.h?id=969890d139ee53f61fc6ed3f534335802c733e1b This was never upstreamed since LTO never received much love from upstream back then and there might be more well ripened code in there. To me this appeared like a compiler issue; I think this global register variable should be treated like a cmmon variable. Maybe Matthew can shed some light on this? Ralf