Hi Catalin, > Am 15.12.2021 um 19:40 schrieb H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>: > > this seems to break build of 5.10.y (and maybe earlier) for me: > > CALL scripts/checksyscalls.sh - due to target missing > CALL scripts/atomic/check-atomics.sh - due to target missing > CHK include/generated/compile.h > AS arch/arm64/kvm/hyp/nvhe/hyp-init.nvhe.o - due to target missing > arch/arm64/kvm/hyp/nvhe/hyp-init.S: Assembler messages: > arch/arm64/kvm/hyp/nvhe/hyp-init.S:87: Error: missing ')' > arch/arm64/kvm/hyp/nvhe/hyp-init.S:87: Error: missing ')' > arch/arm64/kvm/hyp/nvhe/hyp-init.S:87: Error: missing ')' > arch/arm64/kvm/hyp/nvhe/hyp-init.S:87: Error: missing ')' > arch/arm64/kvm/hyp/nvhe/hyp-init.S:87: Error: missing ')' > arch/arm64/kvm/hyp/nvhe/hyp-init.S:87: Error: missing ')' > arch/arm64/kvm/hyp/nvhe/hyp-init.S:87: Error: unexpected characters following instruction at operand 2 -- `mov x1,#((1U<<31)|(1<<23))' > arch/arm64/kvm/hyp/nvhe/Makefile:28: recipe for target 'arch/arm64/kvm/hyp/nvhe/hyp-init.nvhe.o' failed > make[5]: *** [arch/arm64/kvm/hyp/nvhe/hyp-init.nvhe.o] Error 1 > scripts/Makefile.build:497: recipe for target 'arch/arm64/kvm/hyp/nvhe' failed > make[4]: *** [arch/arm64/kvm/hyp/nvhe] Error 2 > scripts/Makefile.build:497: recipe for target 'arch/arm64/kvm/hyp' failed > make[3]: *** [arch/arm64/kvm/hyp] Error 2 > scripts/Makefile.build:497: recipe for target 'arch/arm64/kvm' failed > make[2]: *** [arch/arm64/kvm] Error 2 > Makefile:1822: recipe for target 'arch/arm64' failed > make[1]: *** [arch/arm64] Error 2 > Makefile:336: recipe for target '__build_one_by_one' failed > make: *** [__build_one_by_one] Error 2 > > Looking at the problematic line 87 of hyp-init.S shows that > there is a macro expansion: > > mov x1, #TCR_EL2_RES1 > > This macro was modified by the $subject patch > (commit c71b5f37b5ff1a673b2e4a91d1b34ea027546e23 in v5.10.y) > and reverting the patch makes the compile succeed. > > Now: why does it build for me for v5.15.y and v5.16-rc5? > I think it is because my build system switches to gcc 6.3 > instead of gcc 4.9 depending on scripts/min-tool-version.sh. I have run the cross-check and it - fails with gcc 4.9.2 + binutils 2.25 (compatible to jessie) - works with gcc 6.3.0 + binutils 2.28.1 (compatible to stretch) > > So I assume that the fix is not compatible with the minimum > requirement for 5.10.y of gcc 4.9 (or even less - I don't know exactly). > Earlier kernels may also be affected if $subject patch was also > backported there, but I have not tested. > > This should somehow be fixed so that arch/arm64/include/asm/kvm_arm.h > can be included by older assemblers. BR and thanks, Nikolaus Schaller