This series fixes a few issues with CONFIG_LD_DEAD_CODE_DATA_ELIMINATION and then enables it, along with CONFIG_THIN_ARCHIVES, for MIPS. This leads to a typical generic kernel build becoming ~5% smaller: add/remove: 0/3028 grow/shrink: 1/14 up/down: 18/-457362 (-457344) ... Total: Before=9001030, After=8543686, chg -5.08% Applies atop v4.9-rc1. Paul Burton (6): kbuild: Keep device tree tables though dead code elimination kbuild: Keep .init.setup section through dead code elimination kbuild: Keep PCI fixups through dead code elimination kbuild: Keep earlycon table through dead code elimination MIPS: Ensure bss section ends on a long-aligned address MIPS: Use thin archives & dead code elimination arch/mips/Kconfig | 2 ++ arch/mips/kernel/vmlinux.lds.S | 7 ++++--- include/asm-generic/vmlinux.lds.h | 24 ++++++++++++------------ 3 files changed, 18 insertions(+), 15 deletions(-) -- 2.10.0