Thanks to Joe Mario for the debugging. Also add some more comments.
This reverts commit ea47f84.
This reverts commit 137cdef.
Here is the workaround I made for having the kernel not reject modules built with -flto. The clean solution would be to get the compiler to not emit the symbol. Or if it has to emit the symbol, then emit it as initialized data but put it into a comdat/linkonce section. Minor tweaks by AK over Joe's patch. Signed-off-by: Andi Kleen <email@example.com>