--- /dev/null
+From 52416ffcf823ee11aa19792715664ab94757f111 Mon Sep 17 00:00:00 2001
+From: Pingfan Liu <kernelfans@gmail.com>
+Date: Mon, 3 Aug 2020 13:49:48 +0800
+Subject: x86/purgatory: Don't generate debug info for purgatory.ro
+
+From: Pingfan Liu <kernelfans@gmail.com>
+
+commit 52416ffcf823ee11aa19792715664ab94757f111 upstream.
+
+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@gmail.com>
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
+Reviewed-by: Steve Wahl <steve.wahl@hpe.com>
+Acked-by: Dave Young <dyoung@redhat.com>
+Link: https://lore.kernel.org/r/1596433788-3784-1-git-send-email-kernelfans@gmail.com
+[Alyssa: fixed for LLVM_IAS=1 by adding -g to AFLAGS_REMOVE_*]
+Signed-off-by: Alyssa Ross <hi@alyssa.is>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/purgatory/Makefile | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/arch/x86/purgatory/Makefile
++++ b/arch/x86/purgatory/Makefile
+@@ -25,7 +25,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
+
+ # Default KBUILD_CFLAGS can have -pg option set when FTRACE is enabled. That
+@@ -56,6 +56,9 @@ CFLAGS_sha256.o += $(PURGATORY_CFLAGS)
+ CFLAGS_REMOVE_string.o += $(PURGATORY_CFLAGS_REMOVE)
+ CFLAGS_string.o += $(PURGATORY_CFLAGS)
+
++AFLAGS_REMOVE_setup-x86_$(BITS).o += -g -Wa,-gdwarf-2
++AFLAGS_REMOVE_entry64.o += -g -Wa,-gdwarf-2
++
+ $(obj)/purgatory.ro: $(PURGATORY_OBJS) FORCE
+ $(call if_changed,ld)
+