Skip to content

Commit 52416ff

Browse files
liupingfanIngo Molnar
authored andcommitted
x86/purgatory: Don't generate debug info for purgatory.ro
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
1 parent 7d98585 commit 52416ff

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

arch/x86/purgatory/Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ KCOV_INSTRUMENT := n
3232
# make up the standalone purgatory.ro
3333

3434
PURGATORY_CFLAGS_REMOVE := -mcmodel=kernel
35-
PURGATORY_CFLAGS := -mcmodel=large -ffreestanding -fno-zero-initialized-in-bss
35+
PURGATORY_CFLAGS := -mcmodel=large -ffreestanding -fno-zero-initialized-in-bss -g0
3636
PURGATORY_CFLAGS += $(DISABLE_STACKLEAK_PLUGIN) -DDISABLE_BRANCH_PROFILING
3737
PURGATORY_CFLAGS += $(call cc-option,-fno-stack-protector)
3838

@@ -64,6 +64,9 @@ CFLAGS_sha256.o += $(PURGATORY_CFLAGS)
6464
CFLAGS_REMOVE_string.o += $(PURGATORY_CFLAGS_REMOVE)
6565
CFLAGS_string.o += $(PURGATORY_CFLAGS)
6666

67+
AFLAGS_REMOVE_setup-x86_$(BITS).o += -Wa,-gdwarf-2
68+
AFLAGS_REMOVE_entry64.o += -Wa,-gdwarf-2
69+
6770
$(obj)/purgatory.ro: $(PURGATORY_OBJS) FORCE
6871
$(call if_changed,ld)
6972

0 commit comments

Comments
 (0)