From ccb459dc35b35ef63118630b5fe6934716b22d91 Mon Sep 17 00:00:00 2001 From: Peter Jung Date: Sun, 20 Apr 2025 18:14:44 +0200 Subject: [PATCH 3/8] Kbuild: Convert EXTRA_CFLAGS to ccflags-y 6.15 removed support for EXTRA_*FLAGS. Migrate all instances of EXTRA_CFLAGS found to ccflags-y. Signed-off-by: Eric Naim --- kernel-open/Kbuild | 57 ++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/kernel-open/Kbuild b/kernel-open/Kbuild index bf06edb7..3d6a8de6 100644 --- a/kernel-open/Kbuild +++ b/kernel-open/Kbuild @@ -75,21 +75,14 @@ $(foreach _module, $(NV_KERNEL_MODULES), \ $(eval include $(src)/$(_module)/$(_module).Kbuild)) -# -# Define CFLAGS that apply to all the NVIDIA kernel modules. EXTRA_CFLAGS -# is deprecated since 2.6.24 in favor of ccflags-y, but we need to support -# older kernels which do not have ccflags-y. Newer kernels append -# $(EXTRA_CFLAGS) to ccflags-y for compatibility. -# - -EXTRA_CFLAGS += -I$(src)/common/inc -EXTRA_CFLAGS += -I$(src) -EXTRA_CFLAGS += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-format-extra-args -EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DNVRM -EXTRA_CFLAGS += -DNV_VERSION_STRING=\"570.144\" +ccflags-y += -I$(src)/common/inc +ccflags-y += -I$(src) +ccflags-y += -Wall $(DEFINES) $(INCLUDES) -Wno-cast-qual -Wno-format-extra-args +ccflags-y += -D__KERNEL__ -DMODULE -DNVRM +ccflags-y += -DNV_VERSION_STRING=\"570.144\" ifneq ($(SYSSRCHOST1X),) - EXTRA_CFLAGS += -I$(SYSSRCHOST1X) + ccflags-y += -I$(SYSSRCHOST1X) endif # Some Android kernels prohibit driver use of filesystem functions like @@ -99,57 +92,57 @@ endif PLATFORM_IS_ANDROID ?= 0 ifeq ($(PLATFORM_IS_ANDROID),1) - EXTRA_CFLAGS += -DNV_FILESYSTEM_ACCESS_AVAILABLE=0 + ccflags-y += -DNV_FILESYSTEM_ACCESS_AVAILABLE=0 else - EXTRA_CFLAGS += -DNV_FILESYSTEM_ACCESS_AVAILABLE=1 + ccflags-y += -DNV_FILESYSTEM_ACCESS_AVAILABLE=1 endif -EXTRA_CFLAGS += -Wno-unused-function +ccflags-y += -Wno-unused-function ifneq ($(NV_BUILD_TYPE),debug) - EXTRA_CFLAGS += -Wuninitialized + ccflags-y += -Wuninitialized endif -EXTRA_CFLAGS += -fno-strict-aliasing +ccflags-y += -fno-strict-aliasing ifeq ($(ARCH),arm64) - EXTRA_CFLAGS += -mstrict-align + ccflags-y += -mstrict-align endif ifeq ($(NV_BUILD_TYPE),debug) - EXTRA_CFLAGS += -g + ccflags-y += -g endif -EXTRA_CFLAGS += -ffreestanding +ccflags-y += -ffreestanding ifeq ($(ARCH),arm64) - EXTRA_CFLAGS += -mgeneral-regs-only -march=armv8-a - EXTRA_CFLAGS += $(call cc-option,-mno-outline-atomics,) + ccflags-y += -mgeneral-regs-only -march=armv8-a + ccflags-y += $(call cc-option,-mno-outline-atomics,) endif ifeq ($(ARCH),x86_64) - EXTRA_CFLAGS += -mno-red-zone -mcmodel=kernel + ccflags-y += -mno-red-zone -mcmodel=kernel endif ifeq ($(ARCH),powerpc) - EXTRA_CFLAGS += -mlittle-endian -mno-strict-align + ccflags-y += -mlittle-endian -mno-strict-align endif -EXTRA_CFLAGS += -DNV_UVM_ENABLE -EXTRA_CFLAGS += $(call cc-option,-Werror=undef,) -EXTRA_CFLAGS += -DNV_SPECTRE_V2=$(NV_SPECTRE_V2) -EXTRA_CFLAGS += -DNV_KERNEL_INTERFACE_LAYER +ccflags-y += -DNV_UVM_ENABLE +ccflags-y += $(call cc-option,-Werror=undef,) +ccflags-y += -DNV_SPECTRE_V2=$(NV_SPECTRE_V2) +ccflags-y += -DNV_KERNEL_INTERFACE_LAYER # # Detect SGI UV systems and apply system-specific optimizations. # ifneq ($(wildcard /proc/sgi_uv),) - EXTRA_CFLAGS += -DNV_CONFIG_X86_UV + ccflags-y += -DNV_CONFIG_X86_UV endif ifdef VGX_FORCE_VFIO_PCI_CORE - EXTRA_CFLAGS += -DNV_VGPU_FORCE_VFIO_PCI_CORE + ccflags-y += -DNV_VGPU_FORCE_VFIO_PCI_CORE endif WARNINGS_AS_ERRORS ?= @@ -183,7 +176,7 @@ NV_CONFTEST_CMD := /bin/sh $(NV_CONFTEST_SCRIPT) \ NV_CFLAGS_FROM_CONFTEST := $(shell $(NV_CONFTEST_CMD) build_cflags) -NV_CONFTEST_CFLAGS = $(NV_CFLAGS_FROM_CONFTEST) $(EXTRA_CFLAGS) -fno-pie +NV_CONFTEST_CFLAGS = $(NV_CFLAGS_FROM_CONFTEST) $(ccflags-y) -fno-pie NV_CONFTEST_CFLAGS += $(call cc-disable-warning,pointer-sign) NV_CONFTEST_CFLAGS += $(call cc-option,-fshort-wchar,) NV_CONFTEST_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types,) -- 2.49.0.391.g4bbb303af6