Re: [PATCHv2] x86/purgatory: don't generate debug info for purgatory.ro

2020-08-06 Thread Dave Young
On 08/03/20 at 01:49pm, 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 
> Cc: Thomas Gleixner 
> Cc: Ingo Molnar 
> Cc: Borislav Petkov 
> Cc: "H. Peter Anvin" 
> Cc: Hans de Goede 
> Cc: Nick Desaulniers 
> Cc: Arvind Sankar 
> Cc: Steve Wahl 
> Cc: linux-kernel@vger.kernel.org
> Cc: ke...@lists.infradead.org
> To: x...@kernel.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
> 
> 
> ___
> kexec mailing list
> ke...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
> 

Hi Pingfan,

Looks good, thanks for the patch.

Acked-by: Dave Young 

Thanks
Dave



Re: [PATCHv2] x86/purgatory: don't generate debug info for purgatory.ro

2020-08-03 Thread Steve Wahl
Reviewed-by: Steve Wahl 

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 
> Cc: Thomas Gleixner 
> Cc: Ingo Molnar 
> Cc: Borislav Petkov 
> Cc: "H. Peter Anvin" 
> Cc: Hans de Goede 
> Cc: Nick Desaulniers 
> Cc: Arvind Sankar 
> Cc: Steve Wahl 
> Cc: linux-kernel@vger.kernel.org
> Cc: ke...@lists.infradead.org
> To: x...@kernel.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
> 


Re: [PATCHv2] x86/purgatory: don't generate debug info for purgatory.ro

2020-08-03 Thread Nick Desaulniers
On Sun, Aug 2, 2020 at 10:50 PM 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 
> Cc: Thomas Gleixner 
> Cc: Ingo Molnar 
> Cc: Borislav Petkov 
> Cc: "H. Peter Anvin" 
> Cc: Hans de Goede 
> Cc: Nick Desaulniers 
> Cc: Arvind Sankar 
> Cc: Steve Wahl 
> Cc: linux-kernel@vger.kernel.org
> Cc: ke...@lists.infradead.org
> To: x...@kernel.org

Reviewed-by: Nick Desaulniers 

> ---

Thanks for the patch! One thing that can be handy for reviewers (but
isn't strictly necessary) is to put a comment about what changed since
the previous version below the above^ `---` line.  By putting comments
"below the fold" you can pass along information to the reviewers that
won't wind up in `git log` when committed.  Not strictly necessary,
and less so for smaller patches, but hope this helps.  (No need for a
v3 over that).

>  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
>


-- 
Thanks,
~Nick Desaulniers


[PATCHv2] x86/purgatory: don't generate debug info for purgatory.ro

2020-08-02 Thread Pingfan Liu
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 
Cc: Thomas Gleixner 
Cc: Ingo Molnar 
Cc: Borislav Petkov 
Cc: "H. Peter Anvin" 
Cc: Hans de Goede 
Cc: Nick Desaulniers 
Cc: Arvind Sankar 
Cc: Steve Wahl 
Cc: linux-kernel@vger.kernel.org
Cc: ke...@lists.infradead.org
To: x...@kernel.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