linux-samsung-coreprimevelte: Build with LLVM
See https://postmarketos.org/edge/2025/11/11/kernels-llvm/ for the background behind this change and how we're handling these MRs. [ci:skip-kconfigcheck]: large change across many packages, we leave kconfig fixes to kernel maintainers Signed-off-by: Jens Reidel <adrian@postmarketos.org> Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7348>
This commit is contained in:
parent
a7254e9bac
commit
f78d620dc6
3 changed files with 100 additions and 25 deletions
|
|
@ -3,15 +3,27 @@
|
|||
_flavor=samsung-coreprimevelte
|
||||
pkgname=linux-$_flavor
|
||||
pkgver=6.15.8
|
||||
pkgrel=0
|
||||
pkgrel=1
|
||||
pkgdesc="Samsung Galaxy Core Prime VE LTE mainline kernel"
|
||||
arch="aarch64"
|
||||
_carch="arm64"
|
||||
url="https://kernel.org"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps pmb:cross-native pmb:kconfigcheck-community"
|
||||
makedepends="bash bc bison devicepkg-dev findutils flex gmp-dev mpc1-dev
|
||||
mpfr-dev openssl-dev perl postmarketos-installkernel dtc zstd"
|
||||
makedepends="
|
||||
bc
|
||||
bison
|
||||
clang
|
||||
dtc
|
||||
findutils
|
||||
flex
|
||||
lld
|
||||
llvm
|
||||
openssl-dev
|
||||
perl
|
||||
postmarketos-installkernel
|
||||
zstd
|
||||
"
|
||||
|
||||
# Source
|
||||
_config=config-$_flavor.$arch
|
||||
|
|
@ -39,6 +51,9 @@ source="
|
|||
0014-arm64-dts-samsung-coreprimevelte-add-vibrator.patch
|
||||
0015-DONOTMERGE-mmc-host-Disable-Tuning-failed-message.patch
|
||||
0016-mmc-sdhci-pxav3-add-pinctrl-setting.patch
|
||||
|
||||
clang21.patch
|
||||
|
||||
$_config
|
||||
"
|
||||
builddir="$srcdir"/linux-"$_kernver"
|
||||
|
|
@ -50,13 +65,14 @@ prepare() {
|
|||
|
||||
build() {
|
||||
unset LDFLAGS
|
||||
make ARCH="$_carch" \
|
||||
make ARCH="$_carch" LLVM=1 \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))"-$_flavor
|
||||
}
|
||||
|
||||
package() {
|
||||
make zinstall modules_install dtbs_install \
|
||||
ARCH=$_carch \
|
||||
LLVM=1 \
|
||||
INSTALL_MOD_STRIP=1 \
|
||||
INSTALL_PATH="$pkgdir"/boot \
|
||||
INSTALL_MOD_PATH="$pkgdir" \
|
||||
|
|
@ -84,5 +100,6 @@ c92dc23c0db6ad1b8bbb02a49467f9a03acf77885374b519842a238b8cefb4156a90cc654fb45dca
|
|||
ae16b59770cd76ab1777ef56a4888a073822a97ab6dbb5f18b3da7e3889c3b982c4b01930652cb68fae2082b566e1b5aacd1b81e536db71d58e7603e9cf04886 0014-arm64-dts-samsung-coreprimevelte-add-vibrator.patch
|
||||
5b3e3ba9b7ce6501bcd3b94c1e804e05ed5dbaa328c89b40f8cf466002efff704dd7c6d451cc336edf4cdac30489c416d08b13792344c3635c055a6a8b2ddcc6 0015-DONOTMERGE-mmc-host-Disable-Tuning-failed-message.patch
|
||||
782644892ae1237141431169ad3dcb5c1afad3461f8984909792fc5db9f0059403aba3a77b84867fbbffed541cccea4005169f1fe7cf38a5d81d6dab782f810b 0016-mmc-sdhci-pxav3-add-pinctrl-setting.patch
|
||||
67a8fe5570cbfee482aa70092e346f642d56ccb75b9064fd78d3efe77b42b62aebe2909c3a24f54f5c0ba2c4c35fd3a09205c6c2b3b04882c57d041dd3ad0c70 config-samsung-coreprimevelte.aarch64
|
||||
7db49d195e8034aca257d8d0673cfef2b9c2ce833332c9bae46274ef5d345da5af6fee46a3f3466a75e1771c4815794a87c8190aaccecdcd7c35195362234178 clang21.patch
|
||||
f3a1645e02edd45cd3465db395c3cd659549fd961317a3e75f46e8c863151a76781ac013bf809e2b8008bb39d27fcbf50e26eb42c27de79a5994e839d1ed95a8 config-samsung-coreprimevelte.aarch64
|
||||
"
|
||||
|
|
|
|||
55
device/community/linux-samsung-coreprimevelte/clang21.patch
Normal file
55
device/community/linux-samsung-coreprimevelte/clang21.patch
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
From 153ad566724fe6f57b14f66e9726d295d22e576d Mon Sep 17 00:00:00 2001
|
||||
From: Nathan Chancellor <nathan@kernel.org>
|
||||
Date: Tue, 15 Jul 2025 12:56:16 -0700
|
||||
Subject: [PATCH] mm/ksm: fix -Wsometimes-uninitialized from clang-21 in
|
||||
advisor_mode_show()
|
||||
|
||||
After a recent change in clang to expose uninitialized warnings from const
|
||||
variables [1], there is a false positive warning from the if statement in
|
||||
advisor_mode_show().
|
||||
|
||||
mm/ksm.c:3687:11: error: variable 'output' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
|
||||
3687 | else if (ksm_advisor == KSM_ADVISOR_SCAN_TIME)
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
mm/ksm.c:3690:33: note: uninitialized use occurs here
|
||||
3690 | return sysfs_emit(buf, "%s\n", output);
|
||||
| ^~~~~~
|
||||
|
||||
Rewrite the if statement to implicitly make KSM_ADVISOR_NONE the else
|
||||
branch so that it is obvious to the compiler that ksm_advisor can only be
|
||||
KSM_ADVISOR_NONE or KSM_ADVISOR_SCAN_TIME due to the assignments in
|
||||
advisor_mode_store().
|
||||
|
||||
Link: https://lkml.kernel.org/r/20250715-ksm-fix-clang-21-uninit-warning-v1-1-f443feb4bfc4@kernel.org
|
||||
Fixes: 66790e9a735b ("mm/ksm: add sysfs knobs for advisor")
|
||||
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
|
||||
Closes: https://github.com/ClangBuiltLinux/linux/issues/2100
|
||||
Link: https://github.com/llvm/llvm-project/commit/2464313eef01c5b1edf0eccf57a32cdee01472c7 [1]
|
||||
Acked-by: David Hildenbrand <david@redhat.com>
|
||||
Cc: Chengming Zhou <chengming.zhou@linux.dev>
|
||||
Cc: Stefan Roesch <shr@devkernel.io>
|
||||
Cc: xu xin <xu.xin16@zte.com.cn>
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
---
|
||||
mm/ksm.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/mm/ksm.c b/mm/ksm.c
|
||||
index 8583fb91ef136e..a9d3e719e08993 100644
|
||||
--- a/mm/ksm.c
|
||||
+++ b/mm/ksm.c
|
||||
@@ -3669,10 +3669,10 @@ static ssize_t advisor_mode_show(struct kobject *kobj,
|
||||
{
|
||||
const char *output;
|
||||
|
||||
- if (ksm_advisor == KSM_ADVISOR_NONE)
|
||||
- output = "[none] scan-time";
|
||||
- else if (ksm_advisor == KSM_ADVISOR_SCAN_TIME)
|
||||
+ if (ksm_advisor == KSM_ADVISOR_SCAN_TIME)
|
||||
output = "none [scan-time]";
|
||||
+ else
|
||||
+ output = "[none] scan-time";
|
||||
|
||||
return sysfs_emit(buf, "%s\n", output);
|
||||
}
|
||||
|
|
@ -2,15 +2,15 @@
|
|||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 6.15.8 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 14.3.0) 14.3.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
CONFIG_GCC_VERSION=140300
|
||||
CONFIG_CLANG_VERSION=0
|
||||
CONFIG_AS_IS_GNU=y
|
||||
CONFIG_AS_VERSION=24400
|
||||
CONFIG_LD_IS_BFD=y
|
||||
CONFIG_LD_VERSION=24400
|
||||
CONFIG_LLD_VERSION=0
|
||||
CONFIG_CC_VERSION_TEXT="Alpine clang version 21.1.2"
|
||||
CONFIG_GCC_VERSION=0
|
||||
CONFIG_CC_IS_CLANG=y
|
||||
CONFIG_CLANG_VERSION=210102
|
||||
CONFIG_AS_IS_LLVM=y
|
||||
CONFIG_AS_VERSION=210102
|
||||
CONFIG_LD_VERSION=0
|
||||
CONFIG_LD_IS_LLD=y
|
||||
CONFIG_LLD_VERSION=210102
|
||||
CONFIG_RUSTC_VERSION=0
|
||||
CONFIG_RUSTC_LLVM_VERSION=0
|
||||
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
|
||||
|
|
@ -18,6 +18,8 @@ CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
|
|||
CONFIG_TOOLS_SUPPORT_RELR=y
|
||||
CONFIG_CC_HAS_ASM_INLINE=y
|
||||
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
|
||||
CONFIG_CC_HAS_COUNTED_BY=y
|
||||
CONFIG_CC_HAS_MULTIDIMENSIONAL_NONSTRING=y
|
||||
CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y
|
||||
CONFIG_PAHOLE_VERSION=0
|
||||
CONFIG_IRQ_WORK=y
|
||||
|
|
@ -163,11 +165,9 @@ CONFIG_UCLAMP_BUCKETS_COUNT=5
|
|||
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
|
||||
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
|
||||
CONFIG_CC_HAS_INT128=y
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough"
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
|
||||
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
|
||||
CONFIG_ARCH_SUPPORTS_INT128=y
|
||||
CONFIG_NUMA_BALANCING=y
|
||||
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
|
||||
|
|
@ -284,7 +284,7 @@ CONFIG_CRASH_DUMP=y
|
|||
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_RUSTC_SUPPORTS_ARM64=y
|
||||
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||
CONFIG_CLANG_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_ARM64_CONT_PTE_SHIFT=4
|
||||
|
|
@ -466,6 +466,8 @@ CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
|
|||
CONFIG_ARM64_TAGGED_ADDR_ABI=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_KUSER_HELPERS=y
|
||||
CONFIG_COMPAT_VDSO=y
|
||||
CONFIG_THUMB2_COMPAT_VDSO=y
|
||||
# CONFIG_COMPAT_ALIGNMENT_FIXUPS is not set
|
||||
# CONFIG_ARMV8_DEPRECATED is not set
|
||||
|
||||
|
|
@ -514,6 +516,7 @@ CONFIG_ARM64_TLB_RANGE=y
|
|||
#
|
||||
CONFIG_AS_HAS_ARMV8_5=y
|
||||
CONFIG_ARM64_BTI=y
|
||||
CONFIG_ARM64_BTI_KERNEL=y
|
||||
CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y
|
||||
CONFIG_ARM64_E0PD=y
|
||||
CONFIG_ARM64_AS_HAS_MTE=y
|
||||
|
|
@ -710,8 +713,13 @@ CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y
|
|||
# CONFIG_SHADOW_CALL_STACK is not set
|
||||
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
|
||||
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
|
||||
CONFIG_HAS_LTO_CLANG=y
|
||||
CONFIG_LTO_NONE=y
|
||||
# CONFIG_LTO_CLANG_FULL is not set
|
||||
# CONFIG_LTO_CLANG_THIN is not set
|
||||
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
|
||||
# CONFIG_CFI_CLANG is not set
|
||||
CONFIG_HAVE_CFI_ICALL_NORMALIZE_INTEGERS_CLANG=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
||||
|
|
@ -777,12 +785,9 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
|
|||
# end of GCOV-based kernel profiling
|
||||
|
||||
CONFIG_HAVE_GCC_PLUGINS=y
|
||||
CONFIG_GCC_PLUGINS=y
|
||||
CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
|
||||
CONFIG_FUNCTION_ALIGNMENT_4B=y
|
||||
CONFIG_FUNCTION_ALIGNMENT_8B=y
|
||||
CONFIG_FUNCTION_ALIGNMENT=8
|
||||
CONFIG_CC_HAS_MIN_FUNCTION_ALIGNMENT=y
|
||||
CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y
|
||||
# end of General architecture-dependent options
|
||||
|
||||
|
|
@ -4975,7 +4980,6 @@ CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
|
|||
CONFIG_INIT_STACK_NONE=y
|
||||
# CONFIG_INIT_STACK_ALL_PATTERN is not set
|
||||
# CONFIG_INIT_STACK_ALL_ZERO is not set
|
||||
# CONFIG_GCC_PLUGIN_STACKLEAK is not set
|
||||
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
|
||||
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
|
||||
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
|
||||
|
|
@ -4996,9 +5000,9 @@ CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
|
|||
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
|
||||
# end of Hardening of kernel data structures
|
||||
|
||||
CONFIG_CC_HAS_RANDSTRUCT=y
|
||||
CONFIG_RANDSTRUCT_NONE=y
|
||||
# CONFIG_RANDSTRUCT_FULL is not set
|
||||
# CONFIG_RANDSTRUCT_PERFORMANCE is not set
|
||||
# end of Kernel hardening options
|
||||
# end of Security options
|
||||
|
||||
|
|
@ -5380,6 +5384,7 @@ CONFIG_LIBFDT=y
|
|||
CONFIG_OID_REGISTRY=y
|
||||
CONFIG_HAVE_GENERIC_VDSO=y
|
||||
CONFIG_GENERIC_GETTIMEOFDAY=y
|
||||
CONFIG_GENERIC_COMPAT_VDSO=y
|
||||
CONFIG_GENERIC_VDSO_TIME_NS=y
|
||||
CONFIG_VDSO_GETRANDOM=y
|
||||
CONFIG_GENERIC_VDSO_DATA_STORE=y
|
||||
|
|
@ -5438,9 +5443,7 @@ CONFIG_DEBUG_INFO_COMPRESSED_ZSTD=y
|
|||
# CONFIG_GDB_SCRIPTS is not set
|
||||
CONFIG_FRAME_WARN=2048
|
||||
# CONFIG_STRIP_ASM_SYMS is not set
|
||||
# CONFIG_READABLE_ASM is not set
|
||||
# CONFIG_HEADERS_INSTALL is not set
|
||||
# CONFIG_DEBUG_SECTION_MISMATCH is not set
|
||||
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
|
||||
CONFIG_ARCH_WANT_FRAME_POINTERS=y
|
||||
CONFIG_FRAME_POINTER=y
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue