The arm64 implementations of some atomic operations had incorrect assembly constraints. Depending on the compiler version and options, this can result in a build failure for some parameter values: /tmp/ccDOb5nB.s: Assembler messages: /tmp/ccDOb5nB.s:2214: Error: immediate out of range at operand 3 -- `bic w1,w0,5' This has specifically been seen when building a 4.9 stable kernel with gcc 6.3.0, since commit 23025393dbeb "xen/netback: use lateeoi irq binding" was applied. I can also reproduce it with 4.14. I cannot reproduce it with 4.19, but the same fixes are applicable and the issue presumably could occur when using different compiler options. I haven't done anything about the 4.4 branch since it does not have that xen-netback fix and it has significantly different definitions for arm64 atomic ops. I've attached a mailbox of patches for each of the 4.9, 4.14, and 4.19 branches. Ben. -- Ben Hutchings I'm always amazed by the number of people who take up solipsism because they heard someone else explain it. - E*Borg on alt.fan.pratchett
Attachment:
arm64-atomic-4.9.mbox
Description: application/mbox
Attachment:
arm64-atomic-4.14.mbox
Description: application/mbox
Attachment:
arm64-atomic-4.19.mbox
Description: application/mbox
Attachment:
signature.asc
Description: PGP signature