linux-purism-librem5: Build with LLVM

Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7227>
This commit is contained in:
Jens Reidel
2025-11-20 09:26:24 +00:00
committed by The Friendly Merge Bot
parent 0268336968
commit 9b27b4a0f7
2 changed files with 28 additions and 23 deletions
@@ -4,7 +4,7 @@
# Contributor: Clayton Craft <clayton@craftyguy.net>
pkgname=linux-purism-librem5
pkgver=6.6.110
pkgrel=0
pkgrel=1
# NOTE: Don't forget to rebase the config! See prepare() for instructions.
_purismrel=1
_pureosrel=cri1
@@ -24,10 +24,13 @@ options="!strip !check !tracedeps
makedepends="
bash
bison
clang
devicepkg-dev
findutils
flex
installkernel
lld
llvm
openssl-dev
perl
rsync
@@ -62,7 +65,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" CC="${CC:-gcc}" \
# make ARCH="$_carch" LLVM=1 \
# defconfig KBUILD_DEFCONFIG=librem5_defconfig
# exit 1
#
@@ -75,7 +78,7 @@ prepare() {
build() {
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
make ARCH="$_carch" LLVM=1 \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" \
LOCALVERSION=".$_purismrel"
}
@@ -85,12 +88,12 @@ package() {
make modules_install dtbs_install \
ARCH="$_carch" \
LLVM=1 \
INSTALL_MOD_PATH="$pkgdir" \
INSTALL_DTBS_PATH="$pkgdir/boot/dtbs"
}
sha512sums="
33f525ea3e317e036d09595ceac9557ffa6d053b2d6ae891742f6ebaed3c7467879e09c1bacd2e1dfa72ca1fa50c12ef6f5708d45bde04f5feceb17e68fcfa96 linux-purism-librem5-6.6.110pureos1_cri1.tar.gz
667a1013fe904c4ba07b23286a001ffd5cd8a8ee04990b929c054dfa262c71f27bdc83aa65a046249319a8125564533ebe8b340426cefaddfcccd183ecb16d9f config-purism-librem5.aarch64
bddbafe7ad4096b93d6d38cf8879f945c52763bc3b7c29e193783592095bee07e86ff399330eefb73f1465e423518293ec5e2eaa14e8f80e500dc28e1f4195cd config-purism-librem5.aarch64
"
@@ -2,15 +2,15 @@
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 6.6.110 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_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
@@ -174,9 +174,8 @@ 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_ARCH_SUPPORTS_INT128=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
@@ -287,7 +286,7 @@ CONFIG_TRACEPOINTS=y
# end of General setup
CONFIG_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_PAGE_SHIFT=12
@@ -458,6 +457,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
@@ -506,6 +507,7 @@ CONFIG_AS_HAS_ARMV8_4=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
@@ -679,8 +681,12 @@ 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_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
@@ -736,8 +742,6 @@ 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
@@ -7385,7 +7389,6 @@ 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
@@ -7399,9 +7402,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
@@ -7825,6 +7828,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_FONT_SUPPORT=y
# CONFIG_FONTS is not set
@@ -7872,9 +7876,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_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y