On 06/12/16 18:10, Bjorn Andersson wrote:
On Mon 05 Dec 07:44 PST 2016, Marc Zyngier wrote:
On 05/12/16 11:20, Mark Brown wrote:
On Mon, Dec 05, 2016 at 07:56:06AM +0000, Build bot for Mark Brown wrote:
Today's -next fails to build an arm64 allnodconfig and allmodconfig with:
arm64-allnoconfig ../arch/arm64/lib/clear_user.S:33: Error: bad or irreducible absolute expression ../arch/arm64/lib/clear_user.S:53: Error: bad or irreducible absolute expression ../arch/arm64/lib/clear_user.S:33: Error: attempt to move .org backwards ../arch/arm64/lib/clear_user.S:53: Error: attempt to move .org backwards ../arch/arm64/lib/copy_from_user.S:67: Error: bad or irreducible absolute expression ../arch/arm64/lib/copy_from_user.S:70: Error: bad or irreducible absolute expression ../arch/arm64/lib/copy_from_user.S:67: Error: attempt to move .org backwards ../arch/arm64/lib/copy_from_user.S:70: Error: attempt to move .org backwards ../arch/arm64/lib/copy_in_user.S:68: Error: bad or irreducible absolute expression ../arch/arm64/lib/copy_in_user.S:71: Error: bad or irreducible absolute expression ../arch/arm64/lib/copy_in_user.S:68: Error: attempt to move .org backwards ../arch/arm64/lib/copy_in_user.S:71: Error: attempt to move .org backwards ../arch/arm64/lib/copy_to_user.S:66: Error: bad or irreducible absolute expression ../arch/arm64/lib/copy_to_user.S:69: Error: bad or irreducible absolute expression ../arch/arm64/lib/copy_to_user.S:66: Error: attempt to move .org backwards ../arch/arm64/lib/copy_to_user.S:69: Error: attempt to move .org backwards
This was triggered somehow by bca8f17f57bd7 (arm64: Get rid of asm/opcodes.h) though I didn't figure out how.
Old and broken gas. I have a workaround stashed there:
http://git.kernel.org/cgit/linux/kernel/git/maz/arm-platforms.git/commit/?h=...
At least binutils 2.24 and 2.25 are affected, while 2.27 is not.
Made me realize that the Ubuntu 15.10 release I'm on is deprecated.
If I read the release notes for Ubuntu correctly the 14.04 LTS release is supported until April 2019, with binutils 2.24. So I would be surprised if this won't bite quite a bunch of people down the road.
Catalin has taken a slightly different set of fixes which do address this problem:
https://git.kernel.org/cgit/linux/kernel/git/arm64/linux.git/commit/?h=for-n... https://git.kernel.org/cgit/linux/kernel/git/arm64/linux.git/commit/?h=for-n...
The build system will warn you that your binutils are broken, and enable the workaround (which will only result in slightly painful disassembly for some instructions).
Some of the most visible distros have also other "features", such as compilers that do not implement basic capabilities on which the kernel relies for performance (jump labels, for example)...
Thanks,
M.