Tracking issue for switch to new toolchain
See https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3928 for the rationale. This is purely a tracking issue, use the other issue for discussions. ## The plan (roughly in order) - [x] Implement support for LLVM toolchain in envkernel (https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2689) - [x] Migrate community kernels over to the LLVM toolchain - [x] Make the LLVM toolchain the default in envkernel and move current behavior to a `--gcc` flag in preparation for its eventual removal (pmbootstrap!2746) - [ ] Migrate the testing kernels to the LLVM toolchain - [ ] Create patchsets for older downstream kernel versions (there should be patchsets for 4.9+ and probably even older ones) - [ ] Migrate the downstream kernels that can be migrated, switch all other ones to gcc4/6 or archive them - [ ] Implement the new toolchain with LLVM + mold in pmbootstrap (https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2668) - [ ] Switch all packages over to use it ## Some notes - For migrating kernels over: run `pmbootstrap kconfig migrate <linux-package>` after editing the APKBUILD accordingly ## Progress Main kernels: * [x] linux-postmarketos-lts * [x] linux-postmarketos-mainline * [x] linux-postmarketos-stable Community Kernels: * [x] linux-google-veyron pmaports!7343 * [x] linux-pine64-pinenote pmaports!7461 * [x] linux-pine64-pinephonepro pmaports!7189 - needs strip fix pmaports!7350 * [x] linux-postmarketos-allwinner pmaports!7255 - needs strip fix pmaports!7352 * [x] linux-postmarketos-exynos4 pmaports!7346 * [x] linux-postmarketos-exynos5 pmaports!7172 - needs strip fix pmaports!7353 * [x] linux-postmarketos-grate pmaports!7165 - needs strip fix pmaports!7351 * [x] linux-postmarketos-mediatek-mt81 pmaports!7167 - needs strip fix pmaports!7355 * [x] linux-postmarketos-mediatek-mt8173 pmaports!7193 - needs strip fix pmaports!7356 * [x] linux-postmarketos-omap pmaports!7229 * [x] linux-postmarketos-qcom-laptop pmaports!7191 - needs strip fix pmaports!7357 * [x] linux-postmarketos-qcom-msm8953 pmaports!8112 * [x] linux-postmarketos-qcom-sc7180 pmaports!7349 * [x] linux-postmarketos-qcom-sdm670 pmaports!7347 * [x] linux-postmarketos-qcom-sdm845 pmaports!7176 - needs strip fix pmaports!7358 * [x] linux-postmarketos-qcom-sm6350 pmaports!7306 * [x] linux-postmarketos-qcom-sm7150 pmaports!7161 - needs strip fix pmaports!7359 * [x] linux-postmarketos-qcom-sm8250 pmaports!7290 - needs strip fix pmaports!7360 * [x] linux-postmarketos-rockchip pmaports!7332 - needs strip fix pmaports!7361 * [x] linux-purism-librem5 pmaports!7227 * [x] linux-samsung-coreprimevelte pmaports!7348 Testing kernels: * [ ] linux-asus-flo pmaports!8234 * [x] linux-ayaneo-pocket-s2 pmaports!7803 * [x] linux-ayn-odin pmaports!8247 * [x] linux-bananapi-bpi-m2-zero pmaports!7576 * [x] linux-epson-embt2ws pmaports!7472 * [ ] linux-google-crosshatch-mainline pmaports!8254 pmaports!8264 pmaports!8265 * [ ] linux-google-nyan pmaports!7273 * [x] linux-google-smaug pmaports!8255 * [x] linux-htc-flounder pmaports!7579 * [ ] linux-lenovo-q706f pmaports!8257 * [x] linux-lynx-r1 pmaports!8033 * [x] linux-next partially done in pmaports!6541, fix for the rest in pmaports!7335 - needs strip fix pmaports!7362 * [ ] linux-nokia-n9 * [ ] linux-ouya-ouya-mainline pmaports!8267 * [ ] linux-pine64-pinetab2 * [ ] linux-postmarketos-amlogic * [x] linux-postmarketos-apple-16k pmaports!7196 * [x] linux-postmarketos-apple-4k pmaports!7196 * [x] linux-postmarketos-asahi pmaports!7324 - needs strip fix pmaports!7363 * [ ] linux-postmarketos-bflb * [ ] linux-postmarketos-exynos7870 * [x] linux-postmarketos-gs101 pmaports!7345 * [x] linux-postmarketos-imx-ereader pmaports!7979 * [x] linux-postmarketos-marvell pmaports!7173 - needs strip fix pmaports!7354 * [ ] linux-postmarketos-mediatek-mt6735 * [x] linux-postmarketos-mediatek-mt6757 pmaports!7476 * [ ] linux-postmarketos-mediatek-mt6763 * [ ] linux-postmarketos-mediatek-mt6768 * [ ] linux-postmarketos-mediatek-mt6785 * [x] linux-postmarketos-mediatek-mt6878 pmaports!7388 * [x] linux-postmarketos-qcom-milos pmaports!7368 * [x] linux-postmarketos-qcom-msm8226 pmaports!7539 * [x] linux-postmarketos-qcom-msm8227 pmaports!7618 * [ ] linux-postmarketos-qcom-msm8916 * [ ] linux-postmarketos-qcom-msm8917 * [ ] linux-postmarketos-qcom-msm8939 * [x] linux-postmarketos-qcom-msm8956 pmaports!7621, needs strip fix pmaports!7874 * [x] linux-postmarketos-qcom-msm8974 pmaports!7538 * [ ] linux-postmarketos-qcom-msm8994 * [x] linux-postmarketos-qcom-msm8996 pmaports!7264 * [ ] linux-postmarketos-qcom-msm8998 * [x] linux-postmarketos-qcom-msm89x7 pmaports!8081 * [x] linux-postmarketos-qcom-sc7280 pmaports!7536 * [ ] linux-postmarketos-qcom-sc8180x pmaports!8032 * [x] linux-postmarketos-qcom-sdm660 pmaports!8305 * [ ] linux-postmarketos-qcom-sm6115 * [ ] linux-postmarketos-qcom-sm6125 * [ ] linux-postmarketos-qcom-sm6225 * [ ] linux-postmarketos-qcom-sm7125 * [x] linux-postmarketos-qcom-sm8150 pmaports!7597 * [ ] linux-postmarketos-qcom-sm8350 * [ ] linux-postmarketos-rockchip-rk3188 * [ ] linux-postmarketos-rockchip-rk322x * [ ] linux-postmarketos-stericsson * [x] linux-postmarketos-unisoc-ums9230 pmaports!7371 * [x] linux-powkiddy-x55 pmaports!8132 * [ ] linux-realme-porsche * [x] linux-realme-x3 pmaports!8119 * [ ] linux-samsung-gta4l * [ ] linux-samsung-i927 * [ ] linux-sony-nicki-mainline * [ ] linux-sourceparts-pocketpc * [ ] linux-tokio-techbook * [ ] linux-valve-jupiter * [x] linux-xiaomi-latte pmaports!8212 * [ ] linux-xiaomi-raphael
issue