From c88f45c2d869c61e021d79c860e102cfdc9649ac Mon Sep 17 00:00:00 2001 From: Ingo Reitz <9l@9lo.re> Date: Thu, 13 Nov 2025 20:58:24 +0100 Subject: [PATCH] linux-postmarketos-gs101: switch to LLVM Part-of: --- .../testing/linux-postmarketos-gs101/APKBUILD | 15 ++++--- .../config-postmarketos-gs101.aarch64 | 41 ++++++++++--------- 2 files changed, 29 insertions(+), 27 deletions(-) diff --git a/device/testing/linux-postmarketos-gs101/APKBUILD b/device/testing/linux-postmarketos-gs101/APKBUILD index e5f3a8784..d2dfd6225 100644 --- a/device/testing/linux-postmarketos-gs101/APKBUILD +++ b/device/testing/linux-postmarketos-gs101/APKBUILD @@ -1,7 +1,7 @@ maintainer="Ingo Reitz <9l@9lo.re>" pkgname=linux-postmarketos-gs101 pkgver=6.18_rc2 -pkgrel=0 +pkgrel=1 pkgdesc="Google gs101 (Pixel 6 Series) close-to-mainline kernel" arch="aarch64" _carch="arm64" @@ -10,17 +10,15 @@ url="https://kernel.org" license="GPL-2.0-only" options="!strip !check !tracedeps pmb:cross-native pmb:kconfigcheck-community" makedepends=" - bash - bc bison + clang findutils flex + lld + llvm lz4 openssl-dev perl - gmp-dev - mpc1-dev - mpfr-dev zstd " @@ -41,7 +39,7 @@ prepare() { build() { unset LDFLAGS - make ARCH="$_carch" CC="${CC:-gcc}" \ + make ARCH="$_carch" LLVM=1 \ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" } @@ -50,6 +48,7 @@ package() { make Image.lz4 modules_install dtbs_install \ ARCH="$_carch" \ + LLVM=1 \ INSTALL_PATH="$pkgdir"/boot \ INSTALL_MOD_PATH="$pkgdir" \ INSTALL_MOD_STRIP=1 \ @@ -65,5 +64,5 @@ package() { sha512sums=" 44cfb483162496f3815362ab7e782367fd6a53e8d9f989078087b0bb33522c2783953378a42225813a11d9ff0c43bbf3302fca4b64b567194e25b4dc546b7a0d linux-postmarketos-gs101-2bce1f7172c8ee7d8e73d027c3f4963282b918f3.tar.gz -8bd27025c1d45225af52d20db269306aa1fe7885063d0554451e0e07fab7478c5452d0b37c330f518be5491ecf07f1637e8cd181a9b027fe83dcbce5b35b3b59 config-postmarketos-gs101.aarch64 +6c23b5479256941e504d5ac1659477d4ec44b3fec0b0257a882ddef99d883c1f3dc9c64b6bade473c0128a252045ea80d661e6b945390ea8b0ebd1bc48fe0f14 config-postmarketos-gs101.aarch64 " diff --git a/device/testing/linux-postmarketos-gs101/config-postmarketos-gs101.aarch64 b/device/testing/linux-postmarketos-gs101/config-postmarketos-gs101.aarch64 index 62e454e09..19ce90c45 100644 --- a/device/testing/linux-postmarketos-gs101/config-postmarketos-gs101.aarch64 +++ b/device/testing/linux-postmarketos-gs101/config-postmarketos-gs101.aarch64 @@ -2,15 +2,15 @@ # Automatically generated file; DO NOT EDIT. # Linux/arm64 6.18.0-rc2 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 @@ -172,11 +172,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 @@ -298,7 +296,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 @@ -487,6 +485,8 @@ CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=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 @@ -528,6 +528,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 @@ -729,8 +730,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=y +# CONFIG_CFI is not set +CONFIG_HAVE_CFI_ICALL_NORMALIZE_INTEGERS=y CONFIG_HAVE_CONTEXT_TRACKING_USER=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -797,12 +803,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 @@ -7035,6 +7038,7 @@ 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_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 @@ -7056,9 +7060,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 @@ -7494,9 +7498,7 @@ CONFIG_DEBUG_INFO_NONE=y # CONFIG_DEBUG_INFO_DWARF5 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 @@ -7572,6 +7574,7 @@ CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y # CONFIG_KASAN is not set CONFIG_HAVE_ARCH_KFENCE=y # CONFIG_KFENCE is not set +CONFIG_HAVE_KMSAN_COMPILER=y # end of Memory Debugging # CONFIG_DEBUG_SHIRQ is not set