From: Pingfan Liu kernelfans@gmail.com
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.... (cherry picked from commit 52416ffcf823ee11aa19792715664ab94757f111) Signed-off-by: Alyssa Ross hi@alyssa.is --- arch/x86/purgatory/Makefile | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/arch/x86/purgatory/Makefile b/arch/x86/purgatory/Makefile index 2f15a2ac4209..2040ddb824c2 100644 --- a/arch/x86/purgatory/Makefile +++ b/arch/x86/purgatory/Makefile @@ -20,6 +20,9 @@ KBUILD_CFLAGS := -fno-strict-aliasing -Wall -Wstrict-prototypes -fno-zero-initia KBUILD_CFLAGS += -m$(BITS) KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
+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)