From 4e56e76b91b6669025900e0ec8f70bd37ea02e60 Mon Sep 17 00:00:00 2001 From: Aster Boese Date: Tue, 16 Dec 2025 00:10:27 -0500 Subject: [PATCH] linux-htc-flounder: build with LLVM Signed-off-by: Aster Boese Part-of: --- device/testing/linux-htc-flounder/APKBUILD | 35 ++++++-- .../config-htc-flounder.aarch64 | 82 ++++++++++--------- 2 files changed, 70 insertions(+), 47 deletions(-) diff --git a/device/testing/linux-htc-flounder/APKBUILD b/device/testing/linux-htc-flounder/APKBUILD index c4044a188..c2d8b0418 100644 --- a/device/testing/linux-htc-flounder/APKBUILD +++ b/device/testing/linux-htc-flounder/APKBUILD @@ -1,7 +1,7 @@ maintainer="" pkgname=linux-htc-flounder pkgver=6.0.0 -pkgrel=6 +pkgrel=7 pkgdesc="Google Nexus 9 kernel fork" arch="aarch64" _carch="arm64" @@ -10,9 +10,27 @@ url="https://kernel.org" license="GPL-2.0-only" options="!strip !check !tracedeps pmb:cross-native pmb:kconfigcheck-nftables pmb:kconfigcheck-zram - pmb:kconfigcheck-containers pmb:kconfigcheck-waydroid" -makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev - devicepkg-dev bison flex openssl-dev xz findutils gzip" + pmb:kconfigcheck-containers pmb:kconfigcheck-waydroid +" +makedepends=" + bash + bc + bison + clang + devicepkg-dev + elfutils-dev + findutils + flex + gmp-dev + gzip + linux-headers + lld + llvm + openssl-dev + perl + sed + xz +" # Source _repository="linux" @@ -27,15 +45,14 @@ _outdir="out" prepare() { default_prepare - REPLACE_GCCH=0 \ - . downstreamkernel_prepare + . downstreamkernel_prepare } build() { unset LDFLAGS # V=1: workaround for pma#1990 - make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \ + make O="$_outdir" ARCH="$_carch" LLVM=1 LLVM_IAS=1 \ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" V=1 } @@ -43,6 +60,8 @@ package() { downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir" make modules_install dtbs_install \ + LLVM=1 \ + LLVM_IAS=1 \ O="$_outdir" ARCH="$_carch" \ INSTALL_MOD_STRIP=1 \ INSTALL_MOD_PATH="$pkgdir" \ @@ -55,5 +74,5 @@ package() { sha512sums=" ee712d770cc863a6acff52ee32c5009657480864fcd748f0ccc7afb9edba912d727e56bd1d484bd391c5f3d0fed0d063ec8fca36af80c88572bcf85a6f00522e linux-htc-flounder-1af7ece0542ef888433623a572ed8e19ca5e956a.tar.gz -24cd0364ed2110f4889514eb7596c70284cafae0b311ea56dcf0e29455f86778c2dea2b92f20c1290ab5f87293e1c1d4bde025811e71dd13629c5ab4e188a8f5 config-htc-flounder.aarch64 +2862f537195da1dfc9ac9d36526e8aecc0183ac1bceec2905ef5663dd8daf048b4341282fcb005b60b1aa25718136ce5f3a0f6b2a49261df65322cf5d59dbee6 config-htc-flounder.aarch64 " diff --git a/device/testing/linux-htc-flounder/config-htc-flounder.aarch64 b/device/testing/linux-htc-flounder/config-htc-flounder.aarch64 index 0d3ecc5ab..3914f4280 100644 --- a/device/testing/linux-htc-flounder/config-htc-flounder.aarch64 +++ b/device/testing/linux-htc-flounder/config-htc-flounder.aarch64 @@ -2,17 +2,20 @@ # Automatically generated file; DO NOT EDIT. # Linux/arm64 6.0.0 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 14.2.0) 14.2.0" -CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=140200 -CONFIG_CLANG_VERSION=0 -CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=24200 -CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=24200 -CONFIG_LLD_VERSION=0 +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_CAN_LINK=y +CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y 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_PAHOLE_VERSION=0 @@ -160,7 +163,7 @@ CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_CC_HAS_INT128=y -CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough" CONFIG_GCC12_NO_ARRAY_BOUNDS=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_NUMA_BALANCING=y @@ -261,7 +264,7 @@ CONFIG_PROFILING=y # end of General setup CONFIG_ARM64=y -CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_CLANG_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_64BIT=y CONFIG_MMU=y CONFIG_ARM64_PAGE_SHIFT=12 @@ -421,6 +424,8 @@ CONFIG_ARM64_SW_TTBR0_PAN=y CONFIG_ARM64_TAGGED_ADDR_ABI=y CONFIG_COMPAT=y CONFIG_KUSER_HELPERS=y +CONFIG_COMPAT_VDSO=y +CONFIG_THUMB2_COMPAT_VDSO=y # CONFIG_ARMV8_DEPRECATED is not set # @@ -676,7 +681,10 @@ 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_HAVE_CONTEXT_TRACKING_USER=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y @@ -713,6 +721,7 @@ CONFIG_HAVE_ARCH_COMPILER_H=y CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y # CONFIG_LOCK_EVENT_COUNTS is not set CONFIG_ARCH_HAS_RELR=y +CONFIG_RELR=y CONFIG_HAVE_PREEMPT_DYNAMIC=y CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y @@ -728,8 +737,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 # end of General architecture-dependent options CONFIG_RT_MUTEXES=y @@ -858,7 +865,7 @@ CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud" CONFIG_ZBUD=y # CONFIG_Z3FOLD is not set -CONFIG_ZSMALLOC=m +CONFIG_ZSMALLOC=y # CONFIG_ZSMALLOC_STAT is not set # @@ -973,7 +980,7 @@ CONFIG_IP_PNP_BOOTP=y # CONFIG_NET_IPGRE_DEMUX is not set CONFIG_NET_IP_TUNNEL=m # CONFIG_IP_MROUTE is not set -# CONFIG_SYN_COOKIES is not set +CONFIG_SYN_COOKIES=y # CONFIG_NET_IPVTI is not set CONFIG_NET_UDP_TUNNEL=m # CONFIG_NET_FOU is not set @@ -1921,7 +1928,7 @@ CONFIG_OF_NUMA=y CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set # CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set -CONFIG_ZRAM=m +CONFIG_ZRAM=y CONFIG_ZRAM_DEF_COMP_LZORLE=y # CONFIG_ZRAM_DEF_COMP_ZSTD is not set # CONFIG_ZRAM_DEF_COMP_LZ4 is not set @@ -2113,14 +2120,14 @@ CONFIG_BLK_DEV_MD=m # CONFIG_MD_FAULTY is not set # CONFIG_BCACHE is not set CONFIG_BLK_DEV_DM_BUILTIN=y -CONFIG_BLK_DEV_DM=m +CONFIG_BLK_DEV_DM=y # CONFIG_DM_DEBUG is not set CONFIG_DM_BUFIO=m # CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set CONFIG_DM_BIO_PRISON=m CONFIG_DM_PERSISTENT_DATA=m # CONFIG_DM_UNSTRIPED is not set -CONFIG_DM_CRYPT=m +CONFIG_DM_CRYPT=y # CONFIG_DM_SNAPSHOT is not set CONFIG_DM_THIN_PROVISIONING=m # CONFIG_DM_CACHE is not set @@ -2135,6 +2142,7 @@ CONFIG_DM_ZERO=m # CONFIG_DM_MULTIPATH is not set # CONFIG_DM_DELAY is not set # CONFIG_DM_DUST is not set +# CONFIG_DM_INIT is not set # CONFIG_DM_UEVENT is not set # CONFIG_DM_FLAKEY is not set # CONFIG_DM_VERITY is not set @@ -2174,7 +2182,7 @@ CONFIG_VXLAN=m # CONFIG_AMT is not set # CONFIG_MACSEC is not set # CONFIG_NETCONSOLE is not set -CONFIG_TUN=y +CONFIG_TUN=m CONFIG_TAP=m # CONFIG_TUN_VNET_CROSS_LE is not set CONFIG_VETH=m @@ -2659,7 +2667,7 @@ CONFIG_INPUT_VIVALDIFMAP=y # # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set -CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVDEV=m # CONFIG_INPUT_EVBUG is not set # @@ -2937,7 +2945,7 @@ CONFIG_SERIAL_MCTRL_GPIO=y # CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_N_GSM is not set # CONFIG_NOZOMI is not set -CONFIG_NULL_TTY=y +CONFIG_NULL_TTY=m # CONFIG_HVC_DCC is not set CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y @@ -5582,7 +5590,7 @@ CONFIG_TEGRA20_APB_DMA=y # CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set -# CONFIG_UDMABUF is not set +CONFIG_UDMABUF=y # CONFIG_DMABUF_MOVE_NOTIFY is not set # CONFIG_DMABUF_DEBUG is not set # CONFIG_DMABUF_SELFTESTS is not set @@ -6680,7 +6688,7 @@ CONFIG_MISC_FILESYSTEMS=y # CONFIG_EFS_FS is not set # CONFIG_JFFS2_FS is not set # CONFIG_CRAMFS is not set -CONFIG_SQUASHFS=y +CONFIG_SQUASHFS=m CONFIG_SQUASHFS_FILE_CACHE=y # CONFIG_SQUASHFS_FILE_DIRECT is not set CONFIG_SQUASHFS_DECOMP_SINGLE=y @@ -6731,7 +6739,7 @@ CONFIG_NFS_V4=y CONFIG_NFS_V4_1=y CONFIG_NFS_V4_2=y CONFIG_PNFS_FILE_LAYOUT=y -CONFIG_PNFS_BLOCK=m +CONFIG_PNFS_BLOCK=y CONFIG_PNFS_FLEXFILE_LAYOUT=y CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" # CONFIG_NFS_V4_1_MIGRATION is not set @@ -6854,20 +6862,17 @@ CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,bpf" # Memory initialization # CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y -CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y -# CONFIG_INIT_STACK_NONE is not set +CONFIG_INIT_STACK_NONE=y # 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 # CONFIG_ZERO_CALL_USED_REGS is not set # end of Memory initialization +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 @@ -6881,7 +6886,7 @@ CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y -CONFIG_CRYPTO_SKCIPHER=m +CONFIG_CRYPTO_SKCIPHER=y CONFIG_CRYPTO_SKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y @@ -6902,7 +6907,7 @@ CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_NULL2=y # CONFIG_CRYPTO_PCRYPT is not set # CONFIG_CRYPTO_CRYPTD is not set -CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_AUTHENC=y # CONFIG_CRYPTO_TEST is not set CONFIG_CRYPTO_ENGINE=m @@ -6932,19 +6937,19 @@ CONFIG_CRYPTO_ECHAINIV=y # # Block modes # -CONFIG_CRYPTO_CBC=m +CONFIG_CRYPTO_CBC=y # CONFIG_CRYPTO_CFB is not set CONFIG_CRYPTO_CTR=m # CONFIG_CRYPTO_CTS is not set -CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_ECB=y # CONFIG_CRYPTO_LRW is not set # CONFIG_CRYPTO_OFB is not set # CONFIG_CRYPTO_PCBC is not set -CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_XTS=y # CONFIG_CRYPTO_KEYWRAP is not set # CONFIG_CRYPTO_ADIANTUM is not set # CONFIG_CRYPTO_HCTR2 is not set -CONFIG_CRYPTO_ESSIV=m +CONFIG_CRYPTO_ESSIV=y # # Hash modes @@ -7010,7 +7015,7 @@ CONFIG_CRYPTO_LZO=y # CONFIG_CRYPTO_842 is not set CONFIG_CRYPTO_LZ4=m # CONFIG_CRYPTO_LZ4HC is not set -CONFIG_CRYPTO_ZSTD=m +CONFIG_CRYPTO_ZSTD=y # # Random Number Generation @@ -7138,7 +7143,7 @@ CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_COMPRESS=m CONFIG_LZ4_DECOMPRESS=y -CONFIG_ZSTD_COMPRESS=m +CONFIG_ZSTD_COMPRESS=y CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y @@ -7207,6 +7212,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 @@ -7258,9 +7264,7 @@ CONFIG_DEBUG_INFO_REDUCED=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