From: Paul Burton <paul.burton@imgtec.com> To: <linux-mips@linux-mips.org> Cc: Ralf Baechle <ralf@linux-mips.org>, Nicholas Piggin <npiggin@gmail.com>, Paul Burton <paul.burton@imgtec.com> Subject: [PATCH 6/6] MIPS: Use thin archives & dead code elimination Date: Thu, 20 Oct 2016 21:27:05 +0100 [thread overview] Message-ID: <20161020202705.3783-7-paul.burton@imgtec.com> (raw) In-Reply-To: <20161020202705.3783-1-paul.burton@imgtec.com> Enable CONFIG_THIN_ARCHIVES & CONFIG_LD_DEAD_CODE_DATA_ELIMINATION for MIPS, ensuring that we keep the data bus exception table & the machine list which would be discarded without marking them with KEEP. This shrinks a typical generic kernel build with drivers enabled for Boston, Ci40 & SEAD-3 by around 5%, or ~450kb. As reported by bloat-o-meter: add/remove: 0/3028 grow/shrink: 1/14 up/down: 18/-457362 (-457344) ... Total: Before=9001030, After=8543686, chg -5.08% Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: linux-mips@linux-mips.org Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Nicholas Piggin <npiggin@gmail.com> --- arch/mips/Kconfig | 2 ++ arch/mips/kernel/vmlinux.lds.S | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index b3c5bde..8557667 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -66,6 +66,8 @@ config MIPS select HAVE_EXIT_THREAD select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_ARCH_HARDENED_USERCOPY + select THIN_ARCHIVES + select LD_DEAD_CODE_DATA_ELIMINATION menu "Machine selection" diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index d1f5401..a43ba2a 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S @@ -72,7 +72,7 @@ SECTIONS /* Exception table for data bus errors */ __dbe_table : { __start___dbe_table = .; - *(__dbe_table) + KEEP(*(__dbe_table)) __stop___dbe_table = .; } @@ -122,7 +122,7 @@ SECTIONS . = ALIGN(4); .mips.machines.init : AT(ADDR(.mips.machines.init) - LOAD_OFFSET) { __mips_machines_start = .; - *(.mips.machines.init) + KEEP(*(.mips.machines.init)) __mips_machines_end = .; } -- 2.10.0
WARNING: multiple messages have this Message-ID (diff)
From: Paul Burton <paul.burton@imgtec.com> To: linux-mips@linux-mips.org Cc: Ralf Baechle <ralf@linux-mips.org>, Nicholas Piggin <npiggin@gmail.com>, Paul Burton <paul.burton@imgtec.com> Subject: [PATCH 6/6] MIPS: Use thin archives & dead code elimination Date: Thu, 20 Oct 2016 21:27:05 +0100 [thread overview] Message-ID: <20161020202705.3783-7-paul.burton@imgtec.com> (raw) Message-ID: <20161020202705.QaUVgwAGaymIsYrIsyCjJO7_fI0Qg5SkBef2qVgziT0@z> (raw) In-Reply-To: <20161020202705.3783-1-paul.burton@imgtec.com> Enable CONFIG_THIN_ARCHIVES & CONFIG_LD_DEAD_CODE_DATA_ELIMINATION for MIPS, ensuring that we keep the data bus exception table & the machine list which would be discarded without marking them with KEEP. This shrinks a typical generic kernel build with drivers enabled for Boston, Ci40 & SEAD-3 by around 5%, or ~450kb. As reported by bloat-o-meter: add/remove: 0/3028 grow/shrink: 1/14 up/down: 18/-457362 (-457344) ... Total: Before=9001030, After=8543686, chg -5.08% Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: linux-mips@linux-mips.org Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Nicholas Piggin <npiggin@gmail.com> --- arch/mips/Kconfig | 2 ++ arch/mips/kernel/vmlinux.lds.S | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index b3c5bde..8557667 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -66,6 +66,8 @@ config MIPS select HAVE_EXIT_THREAD select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_ARCH_HARDENED_USERCOPY + select THIN_ARCHIVES + select LD_DEAD_CODE_DATA_ELIMINATION menu "Machine selection" diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index d1f5401..a43ba2a 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S @@ -72,7 +72,7 @@ SECTIONS /* Exception table for data bus errors */ __dbe_table : { __start___dbe_table = .; - *(__dbe_table) + KEEP(*(__dbe_table)) __stop___dbe_table = .; } @@ -122,7 +122,7 @@ SECTIONS . = ALIGN(4); .mips.machines.init : AT(ADDR(.mips.machines.init) - LOAD_OFFSET) { __mips_machines_start = .; - *(.mips.machines.init) + KEEP(*(.mips.machines.init)) __mips_machines_end = .; } -- 2.10.0
next prev parent reply other threads:[~2016-10-20 20:30 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-10-20 20:26 [PATCH 0/6] MIPS: Use thin archives & dead code elimination Paul Burton 2016-10-20 20:26 ` Paul Burton 2016-10-20 20:27 ` [PATCH 1/6] kbuild: Keep device tree tables though " Paul Burton 2016-10-20 20:27 ` Paul Burton 2016-10-21 9:33 ` Sergei Shtylyov 2016-10-20 20:27 ` [PATCH 2/6] kbuild: Keep .init.setup section through " Paul Burton 2016-10-20 20:27 ` Paul Burton 2016-10-20 20:27 ` [PATCH 3/6] kbuild: Keep PCI fixups " Paul Burton 2016-10-20 20:27 ` Paul Burton 2016-10-20 20:27 ` [PATCH 4/6] kbuild: Keep earlycon table " Paul Burton 2016-10-20 20:27 ` Paul Burton 2016-10-20 20:27 ` [PATCH 5/6] MIPS: Ensure bss section ends on a long-aligned address Paul Burton 2016-10-20 20:27 ` Paul Burton 2016-11-04 8:46 ` Marcin Nowakowski 2016-11-04 8:46 ` Marcin Nowakowski 2016-10-20 20:27 ` Paul Burton [this message] 2016-10-20 20:27 ` [PATCH 6/6] MIPS: Use thin archives & dead code elimination Paul Burton 2016-10-21 0:51 ` [PATCH 0/6] " Nicholas Piggin 2016-10-21 0:51 ` Nicholas Piggin 2016-10-21 7:45 ` Paul Burton 2016-10-21 7:45 ` Paul Burton 2016-10-21 8:47 ` Nicholas Piggin 2016-10-21 8:47 ` Nicholas Piggin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20161020202705.3783-7-paul.burton@imgtec.com \ --to=paul.burton@imgtec.com \ --cc=linux-mips@linux-mips.org \ --cc=npiggin@gmail.com \ --cc=ralf@linux-mips.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.