Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0391fcb5 authored by Vasily Gorbik's avatar Vasily Gorbik Committed by Martin Schwidefsky
Browse files

s390: introduce compile time check for empty .bss section



Introduce compile time check for files which should avoid using .bss
section, because of the following reasons:
- .bss section has not been zeroed yet,
- initrd has not been moved to a safe location and could be overlapping
with .bss section.

Reviewed-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 971a9ca6
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -98,3 +98,6 @@ obj-$(CONFIG_TRACEPOINTS) += trace.o
# vdso
obj-y				+= vdso64/
obj-$(CONFIG_COMPAT)		+= vdso32/

chkbss := head.o head64.o als.o early_nobss.o
include $(srctree)/arch/s390/scripts/Makefile.chkbss
+3 −0
Original line number Diff line number Diff line
@@ -8,3 +8,6 @@ obj-y += mem.o xor.o
lib-$(CONFIG_SMP) += spinlock.o
lib-$(CONFIG_KPROBES) += probes.o
lib-$(CONFIG_UPROBES) += probes.o

chkbss := mem.o
include $(srctree)/arch/s390/scripts/Makefile.chkbss
+14 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0

quiet_cmd_chkbss = CHKBSS  $<
define cmd_chkbss
	if ! $(OBJDUMP) -j .bss -w -h $< | awk 'END { if ($$3) exit 1 }'; then \
		echo "error: $< .bss section is not empty" >&2; exit 1; \
	fi; \
	touch $@;
endef

$(obj)/built-in.a: $(patsubst %, $(obj)/%.chkbss, $(chkbss))

%.o.chkbss: %.o
	$(call cmd,chkbss)
+3 −0
Original line number Diff line number Diff line
@@ -54,3 +54,6 @@ obj-$(CONFIG_CRASH_DUMP) += sclp_sdias.o zcore.o

hmcdrv-objs := hmcdrv_mod.o hmcdrv_dev.o hmcdrv_ftp.o hmcdrv_cache.o diag_ftp.o sclp_ftp.o
obj-$(CONFIG_HMC_DRV) += hmcdrv.o

chkbss := sclp_early_core.o
include $(srctree)/arch/s390/scripts/Makefile.chkbss