On Thu, Mar 11, 2021 at 11:32:22AM -0800, Nick Desaulniers wrote: > Dear stable kernel maintainers, > Please consider merging the following patch series'. They enable > clang's integrated assembler to be used to assemble ARCH=arm kernels > back to linux-4.19.y. This is analogous to previous series' sent for > LLVM_IAS=1 support, but focused on ARM (32b). > > Below is the list of commits in each series, in the form > <first tag of mainline containing sha> <sha12> <commit oneline> > > For 5.10: > v5.11-rc1 3c9f5708b7ae ("ARM: 9029/1: Make iwmmxt.S support Clang's > integrated assembler") > v5.11-rc1 0b1674638a5c ("ARM: assembler: introduce adr_l, ldr_l and > str_l macros") > v5.11-rc1 67e3f828bd4b ("ARM: efistub: replace adrl pseudo-op with > adr_l macro invocation") > > For 5.4: > v5.5-rc1 b4d0c0aad57a ("crypto: arm - use Kconfig based compiler > checks for crypto opcodes") > v5.5-rc1 9f1984c6ae30 ("ARM: 8929/1: use APSR_nzcv instead of r15 as > mrc operand") > v5.5-rc1 790756c7e022 ("ARM: 8933/1: replace Sun/Solaris style flag on > section directive") > v5.6-rc1 42d519e3d0c0 ("kbuild: Add support for 'as-instr' to be used > in Kconfig files") > v5.7-rc1 7548bf8c17d8 ("crypto: arm/ghash-ce - define fpu before fpu > registers are referenced") > v5.8-rc1 d85d5247885e ("ARM: OMAP2+: drop unnecessary adrl") > v5.8-rc1 a780e485b576 ("ARM: 8971/1: replace the sole use of a symbol > with its definition") > v5.8-rc1 b744b43f79cc ("kbuild: add CONFIG_LD_IS_LLD") > v5.9-rc1 a6c30873ee4a ("ARM: 8989/1: use .fpu assembler directives > instead of assembler arguments") > v5.9-rc1 ee440336e5ef ("ARM: 8990/1: use VFP assembler mnemonics in > register load/store macros") > v5.9-rc1 2cbd1cc3dcd3 ("ARM: 8991/1: use VFP assembler mnemonics if available") > v5.10-rc1 54781938ec34 ("crypto: arm/sha256-neon - avoid ADRL pseudo > instruction") > v5.10-rc1 0f5e8323777b ("crypto: arm/sha512-neon - avoid ADRL pseudo > instruction") > v5.11-rc1 28187dc8ebd9 ("ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN depends > on !LD_IS_LLD") > > Then 3c9f5708b7ae from the 5.10 series is applied (0b1674638a5c and > 67e3f828bd4b were not necessary). 28187dc8ebd9 had previously been > picked up into 5.10 automatically. There was a minor conflict in > 2cbd1cc3dcd3 due to 5.10 missing 8a90a3228b6a ("arm: Unplug KVM from > the build system"). > > b744b43f79cc and 28187dc8ebd9 are more specifically for allmodconfig > support than strictly LLVM_IAS=1. > > For 4.19: > v4.20-rc1 d3c61619568c ("ARM: 8788/1: ftrace: remove old mcount support") > v4.20-rc1 f9b58e8c7d03 ("ARM: 8800/1: use choice for kernel unwinders") > v5.1-rc1 baf2df8e15be ("ARM: 8827/1: fix argument count to match macro > definition") > v5.1-rc1 32fdb046ac43 ("ARM: 8828/1: uaccess: use unified assembler > language syntax") > v5.1-rc1 eb7ff9023e4f ("ARM: 8829/1: spinlock: use unified assembler > language syntax") > v5.1-rc1 a216376add73 ("ARM: 8841/1: use unified assembler in macros") > v5.1-rc1 e44fc38818ed ("ARM: 8844/1: use unified assembler in assembly files") > v5.2-rc1 fe09d9c641f2 ("ARM: 8852/1: uaccess: use unified assembler > language syntax") > v5.2-rc1 3ab2b5fdd1d8 ("ARM: mvebu: drop unnecessary label") > v5.2-rc1 969ad77c14ab ("ARM: mvebu: prefix coprocessor operand with p") > v5.3-rc1 3fe1ee40b2a2 ("ARM: use arch_extension directive instead of > arch argument") > v5.4-rc3 3aa6d4abd4eb ("crypto: arm/aes-ce - build for v8 architecture > explicitly") > > Then the entire 5.4 series is applied on top. 3fe1ee40b2a2 had a minor > conflict due to 4.19 missing 2997520c2d4e ("ARM: exynos: Set MCPM as > mandatory for Exynos542x/5800 SoCs"). > > I plan to send some follow ups; I need to do another pass to find what > we may need in addition when setting CONFIG_THUMB2_KERNEL=y > (non-default), there are two patches working their way through the ARM > maintainer's tree needed for allmodconfig > (https://www.armlinux.org.uk/developer/patches/viewpatch.php?id=9061/1 > and https://www.armlinux.org.uk/developer/patches/viewpatch.php?id=9062/1) > and v4.19.y has one more issue I need to look into > (https://github.com/ClangBuiltLinux/linux/issues/1329) that has been > cleaned up by a 7 patch series that landed in v5.2-rc1, but on first > glance I suspect might be an assembler bug for us to fix. > > These series will be used in Android and ChromeOS. We're also ready to > wire up CI coverage for LLVM_IAS=1 ARCH=arm for these branches. You still have odd Android/ChromeOS things in these patches ("FROMLIST", Change-ID, etc.) Please fix them up, as-is, we can't take these. thanks, greg k-h