Messages in this thread | | | From | Nick Desaulniers <> | Date | Thu, 30 Jul 2020 16:11:17 -0700 | Subject | Re: [PATCH] x86/purgatory: strip debug info |
| |
On Thu, Jul 30, 2020 at 1:27 AM Pingfan Liu <kernelfans@gmail.com> wrote: > > It is useless to keep debug info in purgatory. And discarding them saves > about 200K space. > > Original: > 259080 kexec-purgatory.o > Stripped: > 29152 kexec-purgatory.o > > Signed-off-by: Pingfan Liu <kernelfans@gmail.com> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Borislav Petkov <bp@alien8.de> > Cc: "H. Peter Anvin" <hpa@zytor.com> > Cc: Hans de Goede <hdegoede@redhat.com> > Cc: Nick Desaulniers <ndesaulniers@google.com> > Cc: Arvind Sankar <nivedita@alum.mit.edu> > Cc: Steve Wahl <steve.wahl@hpe.com> > Cc: linux-kernel@vger.kernel.org > To: x86@kernel.org
I don't see any code in arch/x86/purgatory/ arch/x86/include/asm/purgatory.h include/linux/purgatory.h include/uapi/linux/kexec.h kernel/kexec* include/linux/kexec.h include/linux/crash_dump.h kernel/crash_dump.c arch/x86/kernel/crash* https://github.com/horms/kexec-tools/tree/master/kexec/arch/x86_64 that mentions any kind of debug info section. I'm not sure what you'd do with the debug info anyway for this binary. So I suspect this information should ok to discard.
This works, but it might be faster to build to not generate the compile info in the first place via compile flag `-g0`, which could be added `ifdef CONFIG_DEBUG_INFO` or even just unconditionally. That way we're not doing additional work to generate debug info, then additional work to throw it away.
> --- > arch/x86/purgatory/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/purgatory/Makefile b/arch/x86/purgatory/Makefile > index 088bd76..4340ae6 100644 > --- a/arch/x86/purgatory/Makefile > +++ b/arch/x86/purgatory/Makefile > @@ -16,7 +16,7 @@ CFLAGS_sha256.o := -D__DISABLE_EXPORTS > > # When linking purgatory.ro with -r unresolved symbols are not checked, > # also link a purgatory.chk binary without -r to check for unresolved symbols. > -PURGATORY_LDFLAGS := -e purgatory_start -nostdlib -z nodefaultlib > +PURGATORY_LDFLAGS := -e purgatory_start -nostdlib -z nodefaultlib -S > LDFLAGS_purgatory.ro := -r $(PURGATORY_LDFLAGS) > LDFLAGS_purgatory.chk := $(PURGATORY_LDFLAGS) > targets += purgatory.ro purgatory.chk > -- > 2.7.5 >
-- Thanks, ~Nick Desaulniers
| |