diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2024-09-04 11:39:27 +0200 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2024-09-07 17:12:42 +0200 |
commit | fccb175bc89a0d37e3ff513bb6bf1f73b3a48950 (patch) | |
tree | 3634331e40a92fd869786c48504cde4d7c9a4fcd | |
parent | ebcc369f18919c92aeca2003618fcfeade04121b (diff) | |
download | linux-fccb175bc89a0d37e3ff513bb6bf1f73b3a48950.tar.gz linux-fccb175bc89a0d37e3ff513bb6bf1f73b3a48950.tar.bz2 linux-fccb175bc89a0d37e3ff513bb6bf1f73b3a48950.zip |
s390/boot: Compile all files with the same march flag
Only a couple of files of the decompressor are compiled with the
minimum architecture level. This is problematic for potential function
calls between compile units, especially if a target function is within
a compile until compiled for a higher architecture level, since that
may lead to an unexpected operation exception.
Therefore compile all files of the decompressor for the same (minimum)
architecture level.
Reviewed-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-rw-r--r-- | arch/s390/boot/Makefile | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/arch/s390/boot/Makefile b/arch/s390/boot/Makefile index df01e7be1560..1ee63054e085 100644 --- a/arch/s390/boot/Makefile +++ b/arch/s390/boot/Makefile @@ -11,25 +11,16 @@ KASAN_SANITIZE := n KCSAN_SANITIZE := n KMSAN_SANITIZE := n -KBUILD_AFLAGS := $(KBUILD_AFLAGS_DECOMPRESSOR) -KBUILD_CFLAGS := $(KBUILD_CFLAGS_DECOMPRESSOR) - # -# Use minimum architecture for als.c to be able to print an error +# Use minimum architecture level so it is possible to print an error # message if the kernel is started on a machine which is too old # CC_FLAGS_MARCH_MINIMUM := -march=z10 -ifneq ($(CC_FLAGS_MARCH),$(CC_FLAGS_MARCH_MINIMUM)) -AFLAGS_REMOVE_head.o += $(CC_FLAGS_MARCH) -AFLAGS_head.o += $(CC_FLAGS_MARCH_MINIMUM) -AFLAGS_REMOVE_mem.o += $(CC_FLAGS_MARCH) -AFLAGS_mem.o += $(CC_FLAGS_MARCH_MINIMUM) -CFLAGS_REMOVE_als.o += $(CC_FLAGS_MARCH) -CFLAGS_als.o += $(CC_FLAGS_MARCH_MINIMUM) -CFLAGS_REMOVE_sclp_early_core.o += $(CC_FLAGS_MARCH) -CFLAGS_sclp_early_core.o += $(CC_FLAGS_MARCH_MINIMUM) -endif +KBUILD_AFLAGS := $(filter-out $(CC_FLAGS_MARCH),$(KBUILD_AFLAGS_DECOMPRESSOR)) +KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_MARCH),$(KBUILD_CFLAGS_DECOMPRESSOR)) +KBUILD_AFLAGS += $(CC_FLAGS_MARCH_MINIMUM) +KBUILD_CFLAGS += $(CC_FLAGS_MARCH_MINIMUM) CFLAGS_sclp_early_core.o += -I$(srctree)/drivers/s390/char |