Linux kernel: commit 3d9a854c2dac3e888393b23ba7adafcce4d6d4b9 Date: Sat Feb 20 01:03:43 2010 0100
Rename .data[.percpu][.XXX] to .data[..percpu][..XXX].
CodePudding user response:
Thank you Robert for reminder. Found the answer in the mailing list http://www.uwsg.indiana.edu/hypermail/linux/kernel/1002.2/01728.html
The problem is that with -ffunction-sections -fdata-sections gcc creates sections like .text.head and .data.nosave whenever someone has innocuous code like this: static void head(...) {...} or this: static int nosave = 1; somewhere in the kernel. Currently, kernel linker scripts are confused by such names and put these sections in wrong places.