Hugh Dickins <hu...@google.com> writes: > Hi Nick, > > I've not been able to build 4.9-rc kernels for the PowerMac G5, getting > > arch/powerpc/kernel/exceptions-64s.S: > Assembler messages: > arch/powerpc/kernel/exceptions-64s.S:770: Error: operand out of range > (0xffffffffffff8100 is not between 0x0000000000000000 and 0x000000000000ffff) > and 20 more similar before > arch/powerpc/kernel/exceptions-64s.S:1024: Error: operand out of range > (0xffffffffffff9180 is not between 0x0000000000000000 and 0x000000000000ffff) > make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1 > > That's with the binutils-2.23.2-8.1.4.ppc64 from openSUSE 13.1. > > But yesterday your comment on @l in > a24553dd02dc ("powerpc/pseries: Remove unnecessary syscall trampoline") > helped me to the patch below (removing @l from LOAD_HANDLER, but leaving > @l in __LOAD_HANDLER), which gets the build working again (and produces > a good kernel). For me. But to judge by your comment, this would break > the build for someone else? I don't mind keeping this as a local patch > if I'm the only one affected, so haven't signed off on it; but thought > I'd better inform you.
Thanks for the report Hugh. We added the @l recently to keep binutils 2.22 happy, in commit a24553dd02dc: https://git.kernel.org/torvalds/c/a24553dd02dc We needed it because we were using LOAD_HANDLER() for systemcall_common, which is in a separate .S. But since then we've split that out into a separate macro, meaning we no longer need the @l in LOAD_HANDLER(). Why binutils 2.23 can't cope with the @l I'm not sure, and I don't really care. Dropping the @l is more correct, ie. So I'll merge this as a fix, do you want to send me a SOB? cheers