From ca390e0be5a2f88cf4dda9c870c155d295debb5d Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Sun, 31 May 2026 15:58:29 +0200 Subject: [PATCH] linux-purism-librem5: temporarily build with GCC Building this package is currently failing with: scripts/Kconfig.include:41: linker 'aarch64-alpine-linux-musl-ld' not found This kernel was switched over to LLVM and it built fine then, but due to other changes (pmbootstrap maybe?) it doesn't build anymore. This is currently blocking v26.06 bringup, so let's temporarily switch back to GCC until we can resolve it better in edge, probably by getting !8578 in which is currently blocked as there seem to be regressions. This reverts the APKBUILD changes from 9b27b4a0f7d492e53c1f278e525c4cedc836e6d7. [ci:skip-kconfigcheck]: minimal changes to make this build again Signed-off-by: Oliver Smith Part-of: --- .../community/linux-purism-librem5/APKBUILD | 13 ++--- .../config-purism-librem5.aarch64 | 54 +++++++++---------- 2 files changed, 32 insertions(+), 35 deletions(-) diff --git a/device/community/linux-purism-librem5/APKBUILD b/device/community/linux-purism-librem5/APKBUILD index 3039062df..ceacf6276 100644 --- a/device/community/linux-purism-librem5/APKBUILD +++ b/device/community/linux-purism-librem5/APKBUILD @@ -4,7 +4,7 @@ maintainer="Alistair Francis " pkgname=linux-purism-librem5 pkgver=6.6.118 -pkgrel=0 +pkgrel=1 # NOTE: Don't forget to rebase the config! See prepare() for instructions. _purismrel=1 _pureosrel=cri1 @@ -24,13 +24,10 @@ options="!strip !check !tracedeps makedepends=" bash bison - clang devicepkg-dev findutils flex installkernel - lld - llvm openssl-dev perl rsync @@ -65,7 +62,7 @@ prepare() { # This can be uncommented to help generate the defconfig using "pmbootstrap # build linux-purism-librem5". The build will fail (exit 1) to let you grab # the config before it starts building the kernel: - # make ARCH="$_carch" LLVM=1 \ + # make ARCH="$_carch" CC="${CC:-gcc}" \ # defconfig KBUILD_DEFCONFIG=librem5_defconfig # exit 1 # @@ -78,7 +75,7 @@ prepare() { build() { unset LDFLAGS - make ARCH="$_carch" LLVM=1 \ + make ARCH="$_carch" CC="${CC:-gcc}" \ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" \ LOCALVERSION=".$_purismrel" } @@ -88,12 +85,12 @@ package() { make modules_install dtbs_install \ ARCH="$_carch" \ - LLVM=1 \ INSTALL_MOD_PATH="$pkgdir"/usr \ INSTALL_DTBS_PATH="$pkgdir/boot/dtbs" + } sha512sums=" f1d75865ff15793e6e70414a356209bd27fdb4c084d773698589f2e376ddcf037f2ac60a131a72ad3986b51b88c0c738deb65169bb30fd472f25cb06327ed1a8 linux-purism-librem5-6.6.118pureos1_cri1.tar.gz -c2d7bc31efcc58c50fafd1a515604d01d54df10a5a9dc555ad1efe2ccf91616205aff6d96d8ee03b14ef0ec9755b216f430a6d197473a252ca030f2612449250 config-purism-librem5.aarch64 +323e1d4760857c62efa67362b36b098f7fd2d6f49970236965cfab4bb8ae43ddbafa76f2fcd0deb8faa53e4b87bf202ab3507dc10f2364234af4c10453768337 config-purism-librem5.aarch64 " diff --git a/device/community/linux-purism-librem5/config-purism-librem5.aarch64 b/device/community/linux-purism-librem5/config-purism-librem5.aarch64 index 7539fe46e..3e15a25b9 100644 --- a/device/community/linux-purism-librem5/config-purism-librem5.aarch64 +++ b/device/community/linux-purism-librem5/config-purism-librem5.aarch64 @@ -2,15 +2,15 @@ # Automatically generated file; DO NOT EDIT. # Linux/arm64 6.6.118 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="Alpine clang version 21.1.7" -CONFIG_GCC_VERSION=0 -CONFIG_CC_IS_CLANG=y -CONFIG_CLANG_VERSION=210107 -CONFIG_AS_IS_LLVM=y -CONFIG_AS_VERSION=210107 -CONFIG_LD_VERSION=0 -CONFIG_LD_IS_LLD=y -CONFIG_LLD_VERSION=210107 +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=24501 +CONFIG_LD_IS_BFD=y +CONFIG_LD_VERSION=24501 +CONFIG_LLD_VERSION=0 CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y CONFIG_TOOLS_SUPPORT_RELR=y @@ -174,8 +174,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" +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" CONFIG_GCC10_NO_ARRAY_BOUNDS=y +CONFIG_CC_NO_ARRAY_BOUNDS=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_CGROUPS=y CONFIG_PAGE_COUNTER=y @@ -286,7 +287,7 @@ CONFIG_TRACEPOINTS=y # end of General setup CONFIG_ARM64=y -CONFIG_CLANG_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_64BIT=y CONFIG_MMU=y CONFIG_ARM64_PAGE_SHIFT=12 @@ -457,8 +458,6 @@ 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 @@ -507,7 +506,6 @@ 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 @@ -527,7 +525,6 @@ CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MODULE_REGION_FULL=y CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y CONFIG_STACKPROTECTOR_PER_TASK=y -# CONFIG_UNWIND_PATCH_PAC_INTO_SCS is not set # end of Kernel Features # @@ -684,18 +681,11 @@ CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_STRONG=y CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y -CONFIG_SHADOW_CALL_STACK=y -CONFIG_LTO=y -CONFIG_LTO_CLANG=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 is not set -# CONFIG_LTO_CLANG_FULL is not set -CONFIG_LTO_CLANG_THIN=y +CONFIG_LTO_NONE=y CONFIG_ARCH_SUPPORTS_CFI_CLANG=y -CONFIG_CFI_CLANG=y -# CONFIG_CFI_PERMISSIVE is not set CONFIG_HAVE_CONTEXT_TRACKING_USER=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -752,8 +742,11 @@ 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=4 +CONFIG_FUNCTION_ALIGNMENT_8B=y +CONFIG_FUNCTION_ALIGNMENT=8 # end of General architecture-dependent options CONFIG_RT_MUTEXES=y @@ -5384,6 +5377,7 @@ CONFIG_HID_MCP2221=m # # HID-BPF support # +# CONFIG_HID_BPF is not set # end of HID-BPF support # @@ -7429,6 +7423,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_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 @@ -7442,9 +7437,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 @@ -7869,7 +7864,6 @@ 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_FONT_SUPPORT=y # CONFIG_FONTS is not set @@ -7917,7 +7911,9 @@ 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_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set CONFIG_ARCH_WANT_FRAME_POINTERS=y @@ -8082,6 +8078,8 @@ CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_CALL_OPS=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y @@ -8100,6 +8098,8 @@ CONFIG_FUNCTION_TRACER=y CONFIG_FUNCTION_GRAPH_TRACER=y # CONFIG_FUNCTION_GRAPH_RETVAL is not set CONFIG_DYNAMIC_FTRACE=y +CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_DYNAMIC_FTRACE_WITH_CALL_OPS=y CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y # CONFIG_FUNCTION_PROFILER is not set # CONFIG_STACK_TRACER is not set