From d1561c23c1f992803f3fbf44fc29dd5fa7f28e60 Mon Sep 17 00:00:00 2001 From: Jens Reidel Date: Thu, 9 Oct 2025 22:05:48 +0200 Subject: [PATCH] linux-postmarketos-qcom-sm7150: Build with LLVM Signed-off-by: Jens Reidel Part-of: --- .../linux-postmarketos-qcom-sm7150/APKBUILD | 19 +++++++-- .../config-postmarketos-qcom-sm7150.aarch64 | 40 ++++++++++--------- 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/device/community/linux-postmarketos-qcom-sm7150/APKBUILD b/device/community/linux-postmarketos-qcom-sm7150/APKBUILD index 0c4805b4f..17ff6d1c9 100644 --- a/device/community/linux-postmarketos-qcom-sm7150/APKBUILD +++ b/device/community/linux-postmarketos-qcom-sm7150/APKBUILD @@ -5,7 +5,7 @@ _flavor="postmarketos-qcom-sm7150" pkgname=linux-$_flavor pkgver=6.17.0_rc7 -pkgrel=1 +pkgrel=2 pkgdesc="Mainline Kernel fork for SM7150 devices" arch="aarch64" _carch="arm64" @@ -15,7 +15,18 @@ options="!strip !check !tracedeps pmb:cross-native pmb:kconfigcheck-community " -makedepends="bison findutils flex openssl-dev perl postmarketos-installkernel python3" +makedepends=" + bison + clang + findutils + flex + lld + llvm + openssl-dev + perl + postmarketos-installkernel + python3 +" _tag="$pkgver" @@ -34,7 +45,7 @@ prepare() { build() { unset LDFLAGS - make ARCH="$_carch" CC="${CC:-gcc}" \ + make ARCH="$_carch" LLVM=1 \ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor" } @@ -69,6 +80,6 @@ package() { sha512sums=" 3d920797ca8542c3a8004e430aa6efcabf5d38373af2b229ee981c6b693fda45c173df5d8e08a18b23661ac85e39171ae7fe6e15ce2835f8208c236e4ed82ed3 linux-postmarketos-qcom-sm7150-v6.17.0_rc7.tar.gz -84553d7ca57964ae730595f662ff8eeadfde9d09b9b724947eed2a894285bfa5d675be46f70ce9f9aa296f85f539f7a7cf7d7a781d5030723ffb27a878656dfe config-postmarketos-qcom-sm7150.aarch64 +64b7ae7d7143239350faaf302174d7db00496e582f81175e398459fe511691e3c35abcf8249ce2c6e7944889045498c252c2c33a0547c3334f26ac149a017368 config-postmarketos-qcom-sm7150.aarch64 bdc2f65e5bf2a3f718118791fece0aa8f35c555c35da470279ca531ee9100b6f289f3b8b53afcdaef17deff8a58822050d9a3d1b77e877fc160daa519b7adbd3 0001-drm-panel-tianma-nt36672c-Fix-compatible-typo.patch " diff --git a/device/community/linux-postmarketos-qcom-sm7150/config-postmarketos-qcom-sm7150.aarch64 b/device/community/linux-postmarketos-qcom-sm7150/config-postmarketos-qcom-sm7150.aarch64 index 9afa61426..37afa4464 100644 --- a/device/community/linux-postmarketos-qcom-sm7150/config-postmarketos-qcom-sm7150.aarch64 +++ b/device/community/linux-postmarketos-qcom-sm7150/config-postmarketos-qcom-sm7150.aarch64 @@ -2,15 +2,15 @@ # Automatically generated file; DO NOT EDIT. # Linux/arm64 6.17.0-rc7 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 15.2.0) 15.2.0" -CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=150200 -CONFIG_CLANG_VERSION=0 -CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24500 -CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24500 -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 @@ -176,11 +176,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 @@ -302,7 +300,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 @@ -486,6 +484,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 @@ -722,8 +722,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 @@ -790,12 +795,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 is not set 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 @@ -7934,6 +7936,7 @@ CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y # CONFIG_INIT_STACK_NONE is not set # CONFIG_INIT_STACK_ALL_PATTERN is not set CONFIG_INIT_STACK_ALL_ZERO=y +CONFIG_CC_HAS_SANCOV_STACK_DEPTH_CALLBACK=y # CONFIG_KSTACK_ERASE is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set @@ -7955,9 +7958,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 @@ -8361,6 +8364,7 @@ CONFIG_OID_REGISTRY=y CONFIG_UCS2_STRING=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 @@ -8420,9 +8424,7 @@ CONFIG_DEBUG_INFO_COMPRESSED_NONE=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