* 4.9-rc G5 build broken with a 2.23 binutils
@ 2016-11-07 4:03 Hugh Dickins
2016-11-08 5:08 ` Michael Ellerman
0 siblings, 1 reply; 3+ messages in thread
From: Hugh Dickins @ 2016-11-07 4:03 UTC (permalink / raw)
To: Nicholas Piggin; +Cc: Michael Ellerman, linuxppc-dev
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.
Hugh
---
arch/powerpc/include/asm/exception-64s.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- 4.9-rc4/arch/powerpc/include/asm/exception-64s.h 2016-10-29 15:02:42.921203905 -0700
+++ linux/arch/powerpc/include/asm/exception-64s.h 2016-11-05 16:26:34.250133166 -0700
@@ -91,7 +91,7 @@
*/
#define LOAD_HANDLER(reg, label) \
ld reg,PACAKBASE(r13); /* get high part of &label */ \
- ori reg,reg,(FIXED_SYMBOL_ABS_ADDR(label))@l;
+ ori reg,reg,FIXED_SYMBOL_ABS_ADDR(label);
#define __LOAD_HANDLER(reg, label) \
ld reg,PACAKBASE(r13); \
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: 4.9-rc G5 build broken with a 2.23 binutils 2016-11-07 4:03 4.9-rc G5 build broken with a 2.23 binutils Hugh Dickins @ 2016-11-08 5:08 ` Michael Ellerman 2016-11-08 6:28 ` Hugh Dickins 0 siblings, 1 reply; 3+ messages in thread From: Michael Ellerman @ 2016-11-08 5:08 UTC (permalink / raw) To: Hugh Dickins, Nicholas Piggin; +Cc: linuxppc-dev Hugh Dickins <hughd@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 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: 4.9-rc G5 build broken with a 2.23 binutils 2016-11-08 5:08 ` Michael Ellerman @ 2016-11-08 6:28 ` Hugh Dickins 0 siblings, 0 replies; 3+ messages in thread From: Hugh Dickins @ 2016-11-08 6:28 UTC (permalink / raw) To: Michael Ellerman; +Cc: Hugh Dickins, Nicholas Piggin, linuxppc-dev On Tue, 8 Nov 2016, Michael Ellerman wrote: > Hugh Dickins <hughd@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? Thanks a lot, Michael, that's nice if the same works for everyone. Yes, I couldn't build without keeping the @l in __LOAD_HANDLER(). Same patch below, with SOB and trimmed comment - but edit it or add to it in whatever way you wish. [PATCH] powerpc: fix build with a 2.23 binutils 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 the 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 for me. Signed-off-by: Hugh Dickins <hughd@google.com> --- arch/powerpc/include/asm/exception-64s.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- 4.9-rc4/arch/powerpc/include/asm/exception-64s.h 2016-10-29 15:02:42.921203905 -0700 +++ linux/arch/powerpc/include/asm/exception-64s.h 2016-11-05 16:26:34.250133166 -0700 @@ -91,7 +91,7 @@ */ #define LOAD_HANDLER(reg, label) \ ld reg,PACAKBASE(r13); /* get high part of &label */ \ - ori reg,reg,(FIXED_SYMBOL_ABS_ADDR(label))@l; + ori reg,reg,FIXED_SYMBOL_ABS_ADDR(label); #define __LOAD_HANDLER(reg, label) \ ld reg,PACAKBASE(r13); \ ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-11-08 6:28 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-11-07 4:03 4.9-rc G5 build broken with a 2.23 binutils Hugh Dickins 2016-11-08 5:08 ` Michael Ellerman 2016-11-08 6:28 ` Hugh Dickins
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).