linux-amazon-checkers: build with LLVM

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7483>
This commit is contained in:
Aster Boese 2025-12-04 21:29:59 -05:00 committed by The Friendly Merge Bot
parent 543cc6296a
commit ec33981ed5
No known key found for this signature in database
3 changed files with 45 additions and 10 deletions

View file

@ -3,7 +3,7 @@
# Kernel config based on: arch/arm/configs/checkers_defconfig
pkgname=linux-amazon-checkers
pkgver=4.9.77
pkgrel=1
pkgrel=2
pkgdesc="Amazon Echo Show 5 1st Generation kernel fork"
arch="armv7"
_carch="arm"
@ -15,9 +15,13 @@ makedepends="
bash
bc
bison
clang
devicepkg-dev
dtc
findutils
flex
lld
llvm
openssl-dev
perl
"
@ -41,10 +45,24 @@ source="
fix-check-lxdialog.patch
fix-check-lxdialog-makefile.patch
remove-dummy-audio-mmap.patch
remove-mno-thumb-interwork.patch
"
builddir="$srcdir/$_repository-$_commit"
_outdir="out"
export CC=clang
export LD=ld.lld
export AR=llvm-ar
export NM=llvm-nm
export STRIP=llvm-strip
export OBJCOPY=llvm-objcopy
export OBJDUMP=llvm-objdump
export READELF=llvm-readelf
export HOSTCC=clang
export HOSTCXX=clang++
export HOSTAR=llvm-ar
export HOSTLD=ld.lld
prepare() {
default_prepare
@ -54,12 +72,16 @@ prepare() {
ln -sf "$builddir/drivers/net/wireless/wifimtk/config/checkers.config" \
"$builddir/drivers/net/wireless/wifimtk/.config"
# Replace x86_64 dtc_overlay binary
rm "$builddir"/scripts/dtc/dtc_overlay
ln -s /usr/bin/dtc "$builddir"/scripts/dtc/dtc_overlay
. downstreamkernel_prepare
}
build() {
unset LDFLAGS
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
make O="$_outdir" ARCH="$_carch" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
}
@ -68,7 +90,7 @@ package() {
"$_flavor" "$_outdir"
unset LDFLAGS
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
make O="$_outdir" ARCH="$_carch" \
KBUILD_BUILD_VERSION="$((pkgrel + 1))-postmarketOS" \
INSTALL_MOD_PATH="$pkgdir" INSTALL_MOD_STRIP=1 \
modules_install
@ -77,7 +99,7 @@ package() {
sha512sums="
68dd148b050277f66ec243e6a129257f1b23b841009258e2be50e0a46208765595f6b4db2b726b243f203c20bddb5e52461e97d2252010b0cb82f07b402fa8ed linux-amazon-checkers-846c2e61fec7d94feed35e58812bb8b97eb59aab.tar.gz
f5c87f01a171f69fd8fe1ad93fb896ad9e54be09d18b798ad3692a13409c97e6e0e903ce1a7db78ae7b95ab8f9c3b263f48a53b1b6828972afeac7569f3801e8 linux-amazon-checkers-wifi-ba66f7a1535bda706f67d5becd8d3148523e5eec.tar.gz
92409ede013b6cc3b0effa45e07128539675917f796f063bd236ceba88d8674e67e5eb9f5bd8278dc17d0d6d14f7c62027409df15aa10a6291d834930606b5a3 config-amazon-checkers.armv7
50f138cf442006ac522e02caf536fad4a69e612bceb507cf03378e950e8287079702d870286b2c915779eee8f70dcb7200dbcb1101ac25f7564a3e25ce67e26f config-amazon-checkers.armv7
3fa90b7883d66e85e2f7a2d8011643f1a378169269fd8b172185e1179b6862789caadc500fc930f7b32498770d1f0145cf25dfe10022f99db60918bca01ef7e8 0001-Remove-redundant-YYLOC-global-declaration.patch
491879bc492820e608b3604daca24f26187f6e552ec47d358d205118179f89594f9cbb1480ad0d5c7a94126dfe523fd6e1bbb594821431967ee59f6908ebeeea 0002-Fix-solaris-style-flag.patch
0f7c76b206144d78a0f8fb18979f363c008bebbac96e075824c69651d52a2c06c8e5db5060b61033517e4c78d54cb9c446dfa03e1ddfac9e5fb44a6bfdf42265 0003-Add-missing-kconfig-files.patch
@ -86,4 +108,5 @@ ad4fce05db2247c9353afe63f54cfaac54bd96266ffc6572e0e0dfeefe090b90e08ee44e0825e59e
182be3c596b9cc267ac108d7cf03fc8c328ccc6b36770800e4dcedea8d1bb65e3f5eacf590c2948f58b1418cc60a1670ba77dde8c259e428d158c31b6e1dbaf5 fix-check-lxdialog.patch
c33fad9de627e72f12e61e728fa1ec53ef15259c7790392a997cc7269e60e45da9534d58851c3b348a1729aaa134d1df305e33546e8a1f3654462f2c3c1d9563 fix-check-lxdialog-makefile.patch
e6f11b7a87c68ad0d9bb85361fe0d99f957e2bcba6c86d314b9ef558b526a7dfd8efcbe7698b686c396ef31f98ae33bd097736ea20f65612755838acb94a03bf remove-dummy-audio-mmap.patch
e7f4f35229580ff87572cc8c98fe4d79689c18690fb5c0a0f91de9d8159e7dc0043d3e3e27b788fa421dd682c0bde3ffbfb8ec36663e018c34e5a030ec4a7e6e remove-mno-thumb-interwork.patch
"

View file

@ -28,7 +28,7 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE="arm-eabi-"
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
@ -4206,11 +4206,7 @@ CONFIG_DYNAMIC_DEBUG=y
#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
# CONFIG_DEBUG_INFO_DWARF4 is not set
# CONFIG_GDB_SCRIPTS is not set
# CONFIG_DEBUG_INFO is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1400

View file

@ -0,0 +1,16 @@
Fixes clang: error: unknown argument: '-mno-thumb-interwork' for armv7
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -104,9 +104,9 @@
tune-y := $(tune-y)
ifeq ($(CONFIG_AEABI),y)
-CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp
+CFLAGS_ABI :=-mabi=aapcs-linux -mfpu=vfp
else
-CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,)
+CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
endif
ifeq ($(CONFIG_ARM_UNWIND),y)