Thanks for reporting this issue!I don't set -ffunction-sections explicitly but it seems to be used when I look at the .cmd files. The build command is nothing fancy, I just set ARCH=mips CROSS_COMPILE=mips64-unknown-linux-gnuabin32- and build with make -j24.
I'm assuming your kernel build enables dead code elimination and
uses the --ffunction-sections compiler flag. Without this patch, all
the functions
-- I think there are only .text.unlikely.* and .text.* are grouped
together in the
final vmlinux. This patch modifies the linker script to place
.text.unlikely.* functions
before .text.* functions. I've examined arch/mips/kernel/vmlinux.lds.S, and
haven't found any obvious issue.
Can you send me the following?
(1) the kernel build command
(2) System.map without the patch
(3) System.map with the patch
Best regards,
-Rong
Attachment:
System.map.reverted.gz
Description: application/gzip
Attachment:
System.map.with-patch.gz
Description: application/gzip