From 8a20eab2fc989ac2fbf83ce72896e45d2f7a4204 Mon Sep 17 00:00:00 2001 From: Aster Boese Date: Fri, 17 Jul 2026 14:37:13 +0200 Subject: [PATCH] linux-samsung-j4lte: 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 Part-of: --- device/downstream/linux-samsung-j4lte/APKBUILD | 16 +++++++++++++--- .../config-samsung-j4lte.aarch64 | 6 +++--- .../linux-samsung-j4lte/fix-check-lxdialog.patch | 15 +++++++++++++++ 3 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 device/downstream/linux-samsung-j4lte/fix-check-lxdialog.patch diff --git a/device/downstream/linux-samsung-j4lte/APKBUILD b/device/downstream/linux-samsung-j4lte/APKBUILD index 08a6d231f..46c2f85aa 100644 --- a/device/downstream/linux-samsung-j4lte/APKBUILD +++ b/device/downstream/linux-samsung-j4lte/APKBUILD @@ -3,7 +3,7 @@ maintainer="Hendra Manudinata " pkgname=linux-samsung-j4lte pkgver=3.18.140 -pkgrel=2 +pkgrel=3 pkgdesc="Samsung Galaxy J4 kernel fork" arch="aarch64" _carch="arm64" @@ -18,6 +18,7 @@ makedepends=" devicepkg-dev findutils flex + gcc6 openssl-dev perl dtbtool-exynos @@ -39,10 +40,18 @@ source=" 0007-fbdev-decon_7570-Initialize-framebuffer-more-late.patch 0008-HACK-loop-Force-disable-Direct-I-O-operations.patch linux3.7to4.5-ARM64-remove-Sun-Solaris-style-flag-on-section.patch + fix-check-lxdialog.patch " builddir="$srcdir/$_repository-$_commit" _outdir="out" +# Compiler: GCC 6 (not tested with LLVM) +if [ "${CC:0:5}" != "gcc6-" ]; then + CC="gcc6-$CC" + HOSTCC="gcc6-gcc" + CROSS_COMPILE="gcc6-$CROSS_COMPILE" +fi + prepare() { default_prepare . downstreamkernel_prepare @@ -50,7 +59,7 @@ prepare() { build() { unset LDFLAGS - make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \ + make O="$_outdir" ARCH="$_carch" \ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" # Build dt image with exynos dtbtool @@ -71,7 +80,7 @@ package() { sha512sums=" 495e1f9d4c6b4997a5f5faced507493421ecaa104fc6c8affff546f855cc5ea8f535177464f422f5b76db96fbbd1ead2471ef0fd7537659c2041d03c53ede97c linux-samsung-j4lte-57ffdcdde7e968af314e809cdab6b3ee24bc4d24.tar.gz -d3f172f271e2bd92ac2167a558590725a4f064b17ade139691eb24db85d21e70a3160a2c14ff6d7b029df4d744154d06ada621b181a653949cc4f3ce0fbfea7b config-samsung-j4lte.aarch64 +006be1fb59880c0b0eedef7410201718ee88d872d1c48eaac7cf1070f897ea4d67dbd1bd2a83a647cb4a8914c602623c05ba129f7f7c90abc3c268cc67ad15bf config-samsung-j4lte.aarch64 fafed0c79633b50f9c62febeb1198bc863ddcaf7d3140bf58b87f574a75a16c1b73d563ce849ab8400030d6700bf64ea3bbb60b5cb86a902696e1bd702a3b276 0001-drivers-leds-ktd2692-Guard-function-calls-under-CONF.patch f81dc234b7c37e5c33472a22f96299c435d4e2728e24164dc375abbc80912ce5a9045178deb2338f1f484a52296ad558541c01c101f244a62bf6149e75e0406b 0002-zram-Set-zstd-as-the-default-compressor.patch f69b9363ffd543f98f7799256bb3cfccc84623b69d8c7ee3ea291b52cecac7d961d4b491db6b5477bdd527ad3e9cbd738d67647fc074adcd2927b5eb6d2478dd 0003-drivers-usb-u_ether-Force-setting-random-MAC-address.patch @@ -81,4 +90,5 @@ f0da70e3b5cc498e19430936422cf89476d68a5bbe45d593ab3c8bf353a81401a9133df983d3f1f8 76700ecaea56f15d4204ff3064e640552eca35d3713fddaaaee204d7bf983ef419c08c7d759ca58430a27bd10d4bda7d1b6a7ec34ba27f503256f4ee6e42649d 0007-fbdev-decon_7570-Initialize-framebuffer-more-late.patch ee281f9a6d5bab871d83e02cea6e222c6883e452c7b22ac65b512eca37d007218cad50e297189a4ad46be8d3d5a70f26f62867c75de30387cb4777a0c3a3e5e0 0008-HACK-loop-Force-disable-Direct-I-O-operations.patch 75545ccd0082a119b9ad95fcef3523c939a5c946f8f3a5c3dde15cee1502f6c1011050a0ad5359426f018bb7ceea1c97a28c7665941bc89f365c8d11065ce0f6 linux3.7to4.5-ARM64-remove-Sun-Solaris-style-flag-on-section.patch +182be3c596b9cc267ac108d7cf03fc8c328ccc6b36770800e4dcedea8d1bb65e3f5eacf590c2948f58b1418cc60a1670ba77dde8c259e428d158c31b6e1dbaf5 fix-check-lxdialog.patch " diff --git a/device/downstream/linux-samsung-j4lte/config-samsung-j4lte.aarch64 b/device/downstream/linux-samsung-j4lte/config-samsung-j4lte.aarch64 index 410756e95..011244fe6 100644 --- a/device/downstream/linux-samsung-j4lte/config-samsung-j4lte.aarch64 +++ b/device/downstream/linux-samsung-j4lte/config-samsung-j4lte.aarch64 @@ -590,7 +590,7 @@ CONFIG_IP_PNP_RARP=y # CONFIG_NET_IPGRE_DEMUX is not set CONFIG_NET_IP_TUNNEL=y # CONFIG_IP_MROUTE is not set -# CONFIG_SYN_COOKIES is not set +CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=y # CONFIG_NET_UDP_TUNNEL is not set # CONFIG_NET_FOU is not set @@ -1593,7 +1593,7 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_JOYDEV is not set -CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVDEV=m # CONFIG_INPUT_EVBUG is not set CONFIG_INPUT_KEYRESET=y CONFIG_INPUT_KEYCOMBO=y @@ -4156,7 +4156,7 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 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_2 is not set # CONFIG_NLS_ISO8859_3 is not set diff --git a/device/downstream/linux-samsung-j4lte/fix-check-lxdialog.patch b/device/downstream/linux-samsung-j4lte/fix-check-lxdialog.patch new file mode 100644 index 000000000..e60a9e4df --- /dev/null +++ b/device/downstream/linux-samsung-j4lte/fix-check-lxdialog.patch @@ -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