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