From 47d67facb057b15d29d65170df06b102a3ddd34e Mon Sep 17 00:00:00 2001 From: Vasily Gorbik Date: Wed, 17 Jan 2018 14:51:57 +0100 Subject: [PATCH] s390/decompressor: discard __ksymtab and .eh_frame sections __ksymtab sections created for exported symbols are not needed during the decompressor phase and could be discarded to save the memory. The source of those exports is ebcdic.o, which is linked into both vmlinux and boot/compressed/vmlinux. .eh_frame section is also unused and could be discarded from boot/compressed/vmlinux. The same has been done for vmlinux in: "s390/kernel: emit CFI data in .debug_frame and discard .eh_frame sections". Signed-off-by: Vasily Gorbik Reviewed-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky --- arch/s390/boot/compressed/Makefile | 1 + arch/s390/boot/compressed/vmlinux.lds.S | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/arch/s390/boot/compressed/Makefile b/arch/s390/boot/compressed/Makefile index 29e3dc99b916..26d6a94f40f6 100644 --- a/arch/s390/boot/compressed/Makefile +++ b/arch/s390/boot/compressed/Makefile @@ -14,6 +14,7 @@ targets += misc.o piggy.o sizes.h head.o KBUILD_CFLAGS := -m64 -D__KERNEL__ -O2 KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY KBUILD_CFLAGS += $(cflags-y) -fno-delete-null-pointer-checks -msoft-float +KBUILD_CFLAGS += -fno-asynchronous-unwind-tables KBUILD_CFLAGS += $(call cc-option,-mpacked-stack) KBUILD_CFLAGS += $(call cc-option,-ffreestanding) diff --git a/arch/s390/boot/compressed/vmlinux.lds.S b/arch/s390/boot/compressed/vmlinux.lds.S index 0c42535ec696..8150132b144f 100644 --- a/arch/s390/boot/compressed/vmlinux.lds.S +++ b/arch/s390/boot/compressed/vmlinux.lds.S @@ -48,4 +48,10 @@ SECTIONS _ebss = .; } _end = .; + + /* Sections to be discarded */ + /DISCARD/ : { + *(.eh_frame) + *(*__ksymtab*) + } }