From 8f03a593dda022ba7d6f3ee9a13609b3ca14c926 Mon Sep 17 00:00:00 2001 From: Sergey Zhemoytel Date: Sun, 17 Nov 2024 12:08:59 +0000 Subject: [PATCH] %{kversion} --- clang-wrapper.sh | 13 +++++++++++++ kernel.spec | 12 ++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 clang-wrapper.sh diff --git a/clang-wrapper.sh b/clang-wrapper.sh new file mode 100644 index 0000000..de14035 --- /dev/null +++ b/clang-wrapper.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Функция для фильтрации неподдерживаемых опций +filter_options() { + echo "$@" | sed -e 's/-Wno-shift-negative-value//g' +} + +# Получаем отфильтрованные опции +filtered_options=$(filter_options "$@") + +# Выполняем clang с отфильтрованными опциями +/opt/llvm17/bin/clang $filtered_options + diff --git a/kernel.spec b/kernel.spec index 79cf7fd..f5d6800 100644 --- a/kernel.spec +++ b/kernel.spec @@ -157,6 +157,8 @@ Source52: cpupower-start.sh Source53: cpupower.path Source80: kernel.rpmlintrc + +Source90: clang-wrapper.sh #################################################################### # Patches @@ -699,6 +701,8 @@ should use the 'kernel-devel' package instead. cd %src_dir tar -xf %{S:1} +insall -Dm0755 %{S:90} ./clang-wrapper.sh + %apply_patches # @@ -737,6 +741,10 @@ sed -i 's/CONFIG_STACKPROTECTOR_STRONG=y/# CONFIG_STACKPROTECTOR_STRONG is not s sed -i 's/# CONFIG_DEBUG_INFO is not set/CONFIG_DEBUG_INFO=y\nCONFIG_DEBUG_INFO_DWARF4=y\nCONFIG_GDB_SCRIPTS=y/' .config %endif +sed -i 's/KBUILD_CFLAGS += -Werror/# KBUILD_CFLAGS += -Werror/' .config +sed -i -e 's/CONFIG_CC_IS_GCC=y/CONFIG_CC_IS_GCC=n/' -e 's/CONFIG_CC_IS_CLANG=n/CONFIG_CC_IS_CLANG=y/' .config + + %if %{enhanced_security} # seems to be needed to boot system in enforcing selinux mode # note: cpio fpormat of initramfs does not support xattrs without patches @@ -779,8 +787,8 @@ find . -name '.get_maintainer.ignore' | %kxargs rm -f ############################################################################ %build -export CC=/opt/llvm17/bin/clang -export CXX=/opt/llvm17/bin/clang++ +export CC=./clang-wrapper.sh +export CXX=./clang-wrapper.sh export AR=/opt/llvm17/bin/llvm-ar export NM=/opt/llvm17/bin/llvm-nm export OBJCOPY=/opt/llvm17/bin/llvm-objcopy