summary refs log tree commit diff
path: root/kernel/module.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2014-02-08 09:01:08 +0100
committerH. Peter Anvin <hpa@linux.intel.com>2014-02-13 20:24:13 -0800
commitef1b893c29d0dba778f67ad97b554b37f9108dcc (patch)
treec77e509d240979f0718d6778a6abfe42fc0b59c3 /kernel/module.c
parent128ea04a9885af9629059e631ddf0cab4815b589 (diff)
downloadlinux-ef1b893c29d0dba778f67ad97b554b37f9108dcc.tar.gz
lto, workaround: Add workaround for initcall reordering
Work around a LTO gcc problem: when there is no reference to a variable
in a module it will be moved to the end of the program. This causes
reordering of initcalls which the kernel does not like.
Add a dummy reference function to avoid this. The function is
deleted by the linker.

This replaces a previous much slower workaround.

Thanks to Jan "Honza" Hubička for suggesting this technique.

Suggested-by: Jan Hubička <hubicka@ucw.cz>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1391846481-31491-4-git-send-email-ak@linux.intel.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'kernel/module.c')
0 files changed, 0 insertions, 0 deletions