ARCH=arm LLVM_IAS=1 patches for 5.10, 5.4, and 4.19

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
-- 
Thanks,
~Nick Desaulniers

Attachment: arm32.ias.5.10.mbox
Description: Binary data

Attachment: arm32.ias.5.4.mbox
Description: Binary data

Attachment: arm32.ias.4.19.mbox
Description: Binary data


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux