linux-essential-mata: build with gcc6

Part of the wider effort to switch downstream kernels away from the regular
gcc package. While it would be best to switch this kernel to use LLVM,
gcc6 is the best option to prevent runtime breakages and still keep the
process of switching easy. If the maintainer wishes, they can try porting
this package to use LLVM later.

See https://gitlab.postmarketos.org/postmarketOS/postmarketos/-/work_items/123
and https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/3928
for more information.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9057>
This commit is contained in:
Aster Boese
2026-08-05 11:15:34 +00:00
parent 2aa60edc03
commit 9c42c540d1
4 changed files with 139 additions and 14 deletions
@@ -3,7 +3,7 @@
maintainer="Avery Dorgan <avery@averydorgan.com>" maintainer="Avery Dorgan <avery@averydorgan.com>"
pkgname=linux-essential-mata pkgname=linux-essential-mata
pkgver=4.4.227 pkgver=4.4.227
pkgrel=3 pkgrel=4
pkgdesc="Essential PH1 kernel fork" pkgdesc="Essential PH1 kernel fork"
arch="aarch64" arch="aarch64"
_carch="arm64" _carch="arm64"
@@ -11,7 +11,7 @@ _flavor="essential-mata"
url="https://kernel.org" url="https://kernel.org"
license="GPL-2.0-only" license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native" options="!strip !check !tracedeps pmb:cross-native"
makedepends="bash bc bison devicepkg-dev flex openssl-dev perl" makedepends="bash bc bison devicepkg-dev flex gcc6 openssl-dev perl"
# Source # Source
_repository="android_kernel_essential_msm8998" _repository="android_kernel_essential_msm8998"
@@ -29,10 +29,19 @@ source="
0006-Add-condition-for-calling-mdss_fb_free_fb_ion_memory.patch 0006-Add-condition-for-calling-mdss_fb_free_fb_ion_memory.patch
init-ignore-dm-parameter.patch init-ignore-dm-parameter.patch
init-initramfs-disable-do_skip_initramfs.patch init-initramfs-disable-do_skip_initramfs.patch
fix-check-lxdialog.patch
Remove-gcc-python-wrapper.patch
" "
builddir="$srcdir/$_repository-$_commit" builddir="$srcdir/$_repository-$_commit"
_outdir="out" _outdir="out"
# Compiler: GCC 6 (not tested with with LLVM)
if [ "${CC:0:5}" != "gcc6-" ]; then
CC="gcc6-$CC"
HOSTCC="gcc6-gcc"
CROSS_COMPILE="gcc6-$CROSS_COMPILE"
fi
prepare() { prepare() {
default_prepare default_prepare
. downstreamkernel_prepare . downstreamkernel_prepare
@@ -40,7 +49,7 @@ prepare() {
build() { build() {
unset LDFLAGS unset LDFLAGS
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \ make O="$_outdir" ARCH="$_carch" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
} }
@@ -48,8 +57,9 @@ package() {
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir" downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir"
} }
sha512sums="7d0d937c3482eaf2e30f5de29b62398201203d29674003980774d227896343d870e6f0f821a78489d7d5d76ce11d9d002e84ea471a72f193c5fc9b2b90c6173c linux-essential-mata-d13a367745bb75601f7346d4d9d7525a6ca6e332.tar.gz sha512sums="
6c91b29d223bfe6cf6186fdd52fb2d5cce812aa6a99aa2e60970f2ee94569d576b2c2b070c3f51f84795f72bccb98bb06580d00b0ae994bc8504f05aae52ee68 config-essential-mata.aarch64 7d0d937c3482eaf2e30f5de29b62398201203d29674003980774d227896343d870e6f0f821a78489d7d5d76ce11d9d002e84ea471a72f193c5fc9b2b90c6173c linux-essential-mata-d13a367745bb75601f7346d4d9d7525a6ca6e332.tar.gz
842d32eb5a7664b808465aabdd4e434f2a4dbe5ab830487600bb4d157d628e56b896ba4ea4ea606fefb3e9dba1f70a218aca2039b745814fc2f0b39e7270f53e config-essential-mata.aarch64
f41ccfd64f3d9f6a467048420d4c9e17ff512f6cd8d1fd521a758dc80bef2dfab559b740e7dc2d0bbb49855359556d4fb6ec5c00892f3f6850f3b8785c195219 cc-option_wrapper_Wno-frame-larger.patch f41ccfd64f3d9f6a467048420d4c9e17ff512f6cd8d1fd521a758dc80bef2dfab559b740e7dc2d0bbb49855359556d4fb6ec5c00892f3f6850f3b8785c195219 cc-option_wrapper_Wno-frame-larger.patch
bb9adbcd1df17f9197a9d66bacd0103164182ff3813a3b346128c88244135f40de3c3c7c6dd9391df47d9dccd5fd35ffcc248e0abae51214d09a2f5e7d960c31 f_fs_module_inittest.patch bb9adbcd1df17f9197a9d66bacd0103164182ff3813a3b346128c88244135f40de3c3c7c6dd9391df47d9dccd5fd35ffcc248e0abae51214d09a2f5e7d960c31 f_fs_module_inittest.patch
1a8cb6ed2cc9b81815160ec990c16385cbe94d71e1607c5968c24a5fa653128fc3e25dfdac861b03faa163d612251814d4c59f4c083258c0d9964c74504c462d 0001-Revert-tty-check-before-stopping-kthread.patch 1a8cb6ed2cc9b81815160ec990c16385cbe94d71e1607c5968c24a5fa653128fc3e25dfdac861b03faa163d612251814d4c59f4c083258c0d9964c74504c462d 0001-Revert-tty-check-before-stopping-kthread.patch
@@ -58,4 +68,7 @@ bb9adbcd1df17f9197a9d66bacd0103164182ff3813a3b346128c88244135f40de3c3c7c6dd9391d
89401939fbedfe4719de4706a09702504a92e171806788e597513b7dfca763f4a345895f963b300840fa126c628b43dc3836cf5b3958667b1e6993c1ef0e973e 0004-Revert-msm_serial_hs-make-the-Bluetooth-tty-thread-R.patch 89401939fbedfe4719de4706a09702504a92e171806788e597513b7dfca763f4a345895f963b300840fa126c628b43dc3836cf5b3958667b1e6993c1ef0e973e 0004-Revert-msm_serial_hs-make-the-Bluetooth-tty-thread-R.patch
f226a33de5ca4b5919465bee3a2e68e2bfe376c56afcb2884d72d57d4a3c1a0627f1f71c0d4d28e7bf4b3e3cc4fb4122c2e3aeeb9637c41390d95fa9f5495a89 0006-Add-condition-for-calling-mdss_fb_free_fb_ion_memory.patch f226a33de5ca4b5919465bee3a2e68e2bfe376c56afcb2884d72d57d4a3c1a0627f1f71c0d4d28e7bf4b3e3cc4fb4122c2e3aeeb9637c41390d95fa9f5495a89 0006-Add-condition-for-calling-mdss_fb_free_fb_ion_memory.patch
66ac924e2619994dad71a88223d62e911cc90c20f578eb1b0544f115de8367ea9767e7955245c70699f7af040bb8c42f9fa7aff60d4638f1e568a3b3662d30a6 init-ignore-dm-parameter.patch 66ac924e2619994dad71a88223d62e911cc90c20f578eb1b0544f115de8367ea9767e7955245c70699f7af040bb8c42f9fa7aff60d4638f1e568a3b3662d30a6 init-ignore-dm-parameter.patch
0f536e5acd0f5e6d6774918d8e226ae1f4edc486596fc5c93a110b4eb2555e0f1281f460065928a7f7a272b886f61f7967fe60cc4952ed1f4b37143bd2a28962 init-initramfs-disable-do_skip_initramfs.patch" 0f536e5acd0f5e6d6774918d8e226ae1f4edc486596fc5c93a110b4eb2555e0f1281f460065928a7f7a272b886f61f7967fe60cc4952ed1f4b37143bd2a28962 init-initramfs-disable-do_skip_initramfs.patch
182be3c596b9cc267ac108d7cf03fc8c328ccc6b36770800e4dcedea8d1bb65e3f5eacf590c2948f58b1418cc60a1670ba77dde8c259e428d158c31b6e1dbaf5 fix-check-lxdialog.patch
402c95a8e406c8866968770d7e260b77cda5100afe32bb07640084e0ce2e9f91e5fb134c419d2f90b7cbf3e9ee9fa59068d7a5930ba6e580cea8f77f6900d826 Remove-gcc-python-wrapper.patch
"
@@ -0,0 +1,36 @@
From 966d3ac2409b59f431e1397f5ab8e9ee74ba5ae0 Mon Sep 17 00:00:00 2001
From: Iskren Chernev <me@iskren.info>
Date: Sat, 20 Feb 2021 00:49:45 +0200
Subject: [PATCH 3/6] Remove gcc python wrapper
---
Makefile | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index 15a18b3cd15f6..e6a72c1a84fe9 100644
--- a/Makefile
+++ b/Makefile
@@ -348,7 +348,7 @@
# Make variables (CC, etc...)
AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
-REAL_CC = $(CROSS_COMPILE)gcc
+CC = $(CROSS_COMPILE)gcc
CPP = $(CC) -E
AR = $(CROSS_COMPILE)ar
NM = $(CROSS_COMPILE)nm
@@ -362,10 +362,6 @@
PERL = perl
PYTHON = python
CHECK = sparse
-
-# Use the wrapper for the compiler. This wrapper scans for new
-# warnings and causes the build to stop upon encountering them.
-CC = $(srctree)/scripts/gcc-wrapper.py $(REAL_CC)
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
-Wbitwise -Wno-return-void $(CF)
--
2.30.1
@@ -464,6 +464,7 @@ CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1 CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y CONFIG_BOUNCE=y
CONFIG_MMU_NOTIFIER=y
# CONFIG_KSM is not set # CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
# CONFIG_TRANSPARENT_HUGEPAGE is not set # CONFIG_TRANSPARENT_HUGEPAGE is not set
@@ -649,7 +650,7 @@ CONFIG_IP_PNP_DHCP=y
# CONFIG_NET_IPGRE_DEMUX is not set # CONFIG_NET_IPGRE_DEMUX is not set
CONFIG_NET_IP_TUNNEL=y CONFIG_NET_IP_TUNNEL=y
# CONFIG_IP_MROUTE is not set # CONFIG_IP_MROUTE is not set
# CONFIG_SYN_COOKIES is not set CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=y CONFIG_NET_IPVTI=y
CONFIG_NET_UDP_TUNNEL=y CONFIG_NET_UDP_TUNNEL=y
# CONFIG_NET_FOU is not set # CONFIG_NET_FOU is not set
@@ -1734,7 +1735,7 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set # CONFIG_INPUT_EVBUG is not set
CONFIG_INPUT_KEYRESET=y CONFIG_INPUT_KEYRESET=y
CONFIG_INPUT_KEYCOMBO=y CONFIG_INPUT_KEYCOMBO=y
@@ -2022,6 +2023,7 @@ CONFIG_I2C_MUX=y
# CONFIG_I2C_MUX_PINCTRL is not set # CONFIG_I2C_MUX_PINCTRL is not set
# CONFIG_I2C_MUX_REG is not set # CONFIG_I2C_MUX_REG is not set
CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=y
# #
# I2C Hardware Bus support # I2C Hardware Bus support
@@ -2718,6 +2720,7 @@ CONFIG_MSM_VIDC_VMEM=y
CONFIG_MSM_VIDC_GOVERNORS=y CONFIG_MSM_VIDC_GOVERNORS=y
CONFIG_MSM_SDE_ROTATOR=y CONFIG_MSM_SDE_ROTATOR=y
# CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG is not set # CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG is not set
# CONFIG_MSM_SDE_HDMI_CEC is not set
# CONFIG_MSM_AIS is not set # CONFIG_MSM_AIS is not set
# CONFIG_TSPP is not set # CONFIG_TSPP is not set
@@ -2789,7 +2792,62 @@ CONFIG_QCOM_KGSL=y
# CONFIG_QCOM_KGSL_CFF_DUMP is not set # CONFIG_QCOM_KGSL_CFF_DUMP is not set
CONFIG_QCOM_ADRENO_DEFAULT_GOVERNOR="msm-adreno-tz" CONFIG_QCOM_ADRENO_DEFAULT_GOVERNOR="msm-adreno-tz"
CONFIG_QCOM_KGSL_IOMMU=y CONFIG_QCOM_KGSL_IOMMU=y
# CONFIG_DRM is not set CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
# CONFIG_DRM_VGEM is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_BOCHS is not set
CONFIG_DRM_MSM=y
# CONFIG_DRM_MSM_REGISTER_LOGGING is not set
CONFIG_DRM_MSM_DSI=y
CONFIG_DRM_MSM_DSI_STAGING=y
CONFIG_DRM_MSM_DSI_28NM_PHY=y
CONFIG_DRM_MSM_DSI_20NM_PHY=y
# CONFIG_DRM_MSM_MDP4 is not set
# CONFIG_DRM_MSM_HDCP is not set
CONFIG_DRM_SDE_WB=y
CONFIG_DRM_SDE_HDMI=y
CONFIG_DRM_PANEL=y
#
# Display Panels
#
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
CONFIG_DRM_BRIDGE=y
#
# Display Interface Bridges
#
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_MSM_BA_V4L2 is not set # CONFIG_MSM_BA_V4L2 is not set
# #
@@ -2804,11 +2862,11 @@ CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set CONFIG_FB_SYS_FILLRECT=y
# CONFIG_FB_SYS_COPYAREA is not set CONFIG_FB_SYS_COPYAREA=y
# CONFIG_FB_SYS_IMAGEBLIT is not set CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set # CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set CONFIG_FB_SYS_FOPS=y
# CONFIG_FB_SVGALIB is not set # CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set # CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set # CONFIG_FB_BACKLIGHT is not set
@@ -2873,8 +2931,10 @@ CONFIG_FB_MSM_MDSS_XLOG_DEBUG=y
# CONFIG_FB_SSD1307 is not set # CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set # CONFIG_FB_SM712 is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_ADF is not set # CONFIG_ADF is not set
# CONFIG_VGASTATE is not set # CONFIG_VGASTATE is not set
CONFIG_HDMI=y
# #
# Console display driver support # Console display driver support
@@ -4453,7 +4513,7 @@ CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_3 is not set
@@ -4946,6 +5006,7 @@ CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y CONFIG_TEXTSEARCH_FSM=y
CONFIG_INTERVAL_TREE=y
CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_IOPORT_MAP=y
@@ -0,0 +1,15 @@
Fix pre-ANSI C code in check-lxdialog.sh.
diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh
index 9d2a4c58..364eaecb 100644
--- a/scripts/kconfig/lxdialog/check-lxdialog.sh
+++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
@@ -43,7 +43,7 @@ trap "rm -f $tmp" 0 1 2 3 15
check() {
$cc -x c - -o $tmp 2>/dev/null <<'EOF'
#include CURSES_LOC
-main() {}
+int main() { return 0; }
EOF
if [ $? != 0 ]; then
echo " *** Unable to find the ncurses libraries or the" 1>&2