[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200803171338.GX12531@localhost.localdomain>
Date: Mon, 3 Aug 2020 12:13:39 -0500
From: Steve Wahl <steve.wahl@....com>
To: Pingfan Liu <kernelfans@...il.com>
Cc: x86@...nel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"H. Peter Anvin" <hpa@...or.com>,
Hans de Goede <hdegoede@...hat.com>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Arvind Sankar <nivedita@...m.mit.edu>,
Steve Wahl <steve.wahl@....com>, linux-kernel@...r.kernel.org,
kexec@...ts.infradead.org
Subject: Re: [PATCHv2] x86/purgatory: don't generate debug info for
purgatory.ro
Reviewed-by: Steve Wahl <steve.wahl@....com>
On Mon, Aug 03, 2020 at 01:49:48PM +0800, Pingfan Liu wrote:
> Purgatory.ro is a standalone binary that is not linked against the rest of
> the kernel. Its image is copied into an array that is linked to the
> kernel, and from there kexec relocates it wherever it desires.
>
> Unlike the debug info for vmlinux, which can be used for analyzing crash
> such info is useless in purgatory.ro. And discarding them can save about
> 200K space.
>
> Original:
> 259080 kexec-purgatory.o
> Stripped debug info:
> 29152 kexec-purgatory.o
>
> Signed-off-by: Pingfan Liu <kernelfans@...il.com>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> Cc: Ingo Molnar <mingo@...hat.com>
> Cc: Borislav Petkov <bp@...en8.de>
> Cc: "H. Peter Anvin" <hpa@...or.com>
> Cc: Hans de Goede <hdegoede@...hat.com>
> Cc: Nick Desaulniers <ndesaulniers@...gle.com>
> Cc: Arvind Sankar <nivedita@...m.mit.edu>
> Cc: Steve Wahl <steve.wahl@....com>
> Cc: linux-kernel@...r.kernel.org
> Cc: kexec@...ts.infradead.org
> To: x86@...nel.org
> ---
> arch/x86/purgatory/Makefile | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/purgatory/Makefile b/arch/x86/purgatory/Makefile
> index 088bd76..d24b43a 100644
> --- a/arch/x86/purgatory/Makefile
> +++ b/arch/x86/purgatory/Makefile
> @@ -32,7 +32,7 @@ KCOV_INSTRUMENT := n
> # make up the standalone purgatory.ro
>
> PURGATORY_CFLAGS_REMOVE := -mcmodel=kernel
> -PURGATORY_CFLAGS := -mcmodel=large -ffreestanding -fno-zero-initialized-in-bss
> +PURGATORY_CFLAGS := -mcmodel=large -ffreestanding -fno-zero-initialized-in-bss -g0
> PURGATORY_CFLAGS += $(DISABLE_STACKLEAK_PLUGIN) -DDISABLE_BRANCH_PROFILING
> PURGATORY_CFLAGS += $(call cc-option,-fno-stack-protector)
>
> @@ -64,6 +64,9 @@ CFLAGS_sha256.o += $(PURGATORY_CFLAGS)
> CFLAGS_REMOVE_string.o += $(PURGATORY_CFLAGS_REMOVE)
> CFLAGS_string.o += $(PURGATORY_CFLAGS)
>
> +AFLAGS_REMOVE_setup-x86_$(BITS).o += -Wa,-gdwarf-2
> +AFLAGS_REMOVE_entry64.o += -Wa,-gdwarf-2
> +
> $(obj)/purgatory.ro: $(PURGATORY_OBJS) FORCE
> $(call if_changed,ld)
>
> --
> 2.7.5
>
Powered by blists - more mailing lists