diff --git a/kernel/drivers/module-nvidia390/actions.py b/kernel/drivers/module-nvidia390/actions.py index c3722d21a1..57a0c11c8f 100644 --- a/kernel/drivers/module-nvidia390/actions.py +++ b/kernel/drivers/module-nvidia390/actions.py @@ -69,6 +69,9 @@ def build(): shelltools.system("patch -p1 < kernel-6.8.patch") shelltools.system("patch -p1 < kernel-6.10.patch") shelltools.system("patch -p1 < kernel-6.12.patch") + + shelltools.system("patch -p1 < gcc-14.patch") + shelltools.system("patch -p1 < gcc-15.patch") shelltools.export("SYSSRC", "/lib/modules/%s/build" % KDIR) shelltools.cd("kernel") diff --git a/kernel/drivers/module-nvidia390/files/gcc-14.patch b/kernel/drivers/module-nvidia390/files/gcc-14.patch new file mode 100644 index 0000000000..110c3d6286 --- /dev/null +++ b/kernel/drivers/module-nvidia390/files/gcc-14.patch @@ -0,0 +1,14 @@ +diff --git a/kernel/conftest.sh b/kernel/conftest.sh +index 093704c..a9db899 100755 +--- a/kernel/conftest.sh ++++ b/kernel/conftest.sh +@@ -153,7 +153,8 @@ test_headers() { + build_cflags() { + BASE_CFLAGS="-O2 -D__KERNEL__ \ + -DKBUILD_BASENAME=\"#conftest$$\" -DKBUILD_MODNAME=\"#conftest$$\" \ +--nostdinc -isystem $ISYSTEM" ++-nostdinc -isystem $ISYSTEM \ ++-Wno-implicit-function-declaration -Wno-strict-prototypes -Wno-incompatible-pointer-types" + + if [ "$OUTPUT" != "$SOURCES" ]; then + OUTPUT_CFLAGS="-I$OUTPUT/include2 -I$OUTPUT/include" diff --git a/kernel/drivers/module-nvidia390/files/gcc-15.patch b/kernel/drivers/module-nvidia390/files/gcc-15.patch new file mode 100644 index 0000000000..bb7d3f489f --- /dev/null +++ b/kernel/drivers/module-nvidia390/files/gcc-15.patch @@ -0,0 +1,25 @@ +diff --git a/kernel/Kbuild b/kernel/Kbuild +index 85aa267..baa6986 100644 +--- a/kernel/Kbuild ++++ b/kernel/Kbuild +@@ -61,6 +61,7 @@ $(foreach _module, $(NV_KERNEL_MODULES), \ + # $(EXTRA_CFLAGS) to ccflags-y for compatibility. + # + ++EXTRA_CFLAGS += -std=gnu17 + EXTRA_CFLAGS += -I$(src)/common/inc + EXTRA_CFLAGS += -I$(src) + EXTRA_CFLAGS += -Wall -MD $(DEFINES) $(INCLUDES) -Wsign-compare -Wno-cast-qual -Wno-error +diff --git a/kernel/conftest.sh b/kernel/conftest.sh +index 4da7588..1106ea5 100755 +--- a/kernel/conftest.sh ++++ b/kernel/conftest.sh +@@ -151,7 +151,7 @@ test_headers() { + } + + build_cflags() { +- BASE_CFLAGS="-O2 -D__KERNEL__ \ ++ BASE_CFLAGS="-std=gnu17 -O2 -D__KERNEL__ \ + -DKBUILD_BASENAME=\"#conftest$$\" -DKBUILD_MODNAME=\"#conftest$$\" \ + -nostdinc -isystem $ISYSTEM \ + -Wno-implicit-function-declaration -Wno-strict-prototypes -Wno-incompatible-pointer-types" diff --git a/kernel/drivers/module-nvidia390/pspec.xml b/kernel/drivers/module-nvidia390/pspec.xml index 2d616e1066..3f1807916c 100644 --- a/kernel/drivers/module-nvidia390/pspec.xml +++ b/kernel/drivers/module-nvidia390/pspec.xml @@ -26,6 +26,9 @@ kernel-6.8.patch kernel-6.10.patch kernel-6.12.patch + + gcc-14.patch + gcc-15.patch kernel-module-headers