hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/s390/Makefile
....@@ -16,19 +16,35 @@
1616 KBUILD_CFLAGS_MODULE += -fPIC
1717 KBUILD_AFLAGS += -m64
1818 KBUILD_CFLAGS += -m64
19
+ifeq ($(CONFIG_RELOCATABLE),y)
20
+KBUILD_CFLAGS += -fPIE
21
+LDFLAGS_vmlinux := -pie
22
+endif
1923 aflags_dwarf := -Wa,-gdwarf-2
20
-KBUILD_AFLAGS_DECOMPRESSOR := -m64 -D__ASSEMBLY__
24
+KBUILD_AFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -D__ASSEMBLY__
2125 KBUILD_AFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),$(aflags_dwarf))
22
-KBUILD_CFLAGS_DECOMPRESSOR := -m64 -O2
26
+KBUILD_CFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -O2
2327 KBUILD_CFLAGS_DECOMPRESSOR += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY
2428 KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float
2529 KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables
26
-KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-option,-ffreestanding)
30
+KBUILD_CFLAGS_DECOMPRESSOR += -ffreestanding
31
+KBUILD_CFLAGS_DECOMPRESSOR += -fno-stack-protector
32
+KBUILD_CFLAGS_DECOMPRESSOR += -fPIE
2733 KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, address-of-packed-member)
2834 KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),-g)
2935 KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO_DWARF4), $(call cc-option, -gdwarf-4,))
36
+
37
+ifdef CONFIG_CC_IS_GCC
38
+ ifeq ($(call cc-ifversion, -ge, 1200, y), y)
39
+ ifeq ($(call cc-ifversion, -lt, 1300, y), y)
40
+ KBUILD_CFLAGS += $(call cc-disable-warning, array-bounds)
41
+ KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, array-bounds)
42
+ endif
43
+ endif
44
+endif
45
+
3046 UTS_MACHINE := s390x
31
-STACK_SIZE := 16384
47
+STACK_SIZE := $(if $(CONFIG_KASAN),65536,16384)
3248 CHECKFLAGS += -D__s390__ -D__s390x__
3349
3450 export LD_BFD
....@@ -41,6 +57,7 @@
4157 mflags-$(CONFIG_MARCH_ZEC12) := -march=zEC12
4258 mflags-$(CONFIG_MARCH_Z13) := -march=z13
4359 mflags-$(CONFIG_MARCH_Z14) := -march=z14
60
+mflags-$(CONFIG_MARCH_Z15) := -march=z15
4461
4562 export CC_FLAGS_MARCH := $(mflags-y)
4663
....@@ -55,6 +72,7 @@
5572 cflags-$(CONFIG_MARCH_ZEC12_TUNE) += -mtune=zEC12
5673 cflags-$(CONFIG_MARCH_Z13_TUNE) += -mtune=z13
5774 cflags-$(CONFIG_MARCH_Z14_TUNE) += -mtune=z14
75
+cflags-$(CONFIG_MARCH_Z15_TUNE) += -mtune=z15
5876
5977 cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include
6078
....@@ -112,7 +130,7 @@
112130 cfi := $(call as-instr,.cfi_startproc\n.cfi_val_offset 15$(comma)-160\n.cfi_endproc,-DCONFIG_AS_CFI_VAL_OFFSET=1)
113131
114132 KBUILD_CFLAGS += -mbackchain -msoft-float $(cflags-y)
115
-KBUILD_CFLAGS += -pipe -fno-strength-reduce -Wno-sign-compare
133
+KBUILD_CFLAGS += -pipe -Wno-sign-compare
116134 KBUILD_CFLAGS += -fno-asynchronous-unwind-tables $(cfi)
117135 KBUILD_AFLAGS += $(aflags-y) $(cfi)
118136 export KBUILD_AFLAGS_DECOMPRESSOR
....@@ -151,7 +169,6 @@
151169
152170 vdso_install:
153171 $(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso64 $@
154
- $(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso32 $@
155172
156173 archclean:
157174 $(Q)$(MAKE) $(clean)=$(boot)