linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* 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).