linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc: Fix "attempt to move .org backwards" error (again)
@ 2014-05-10  0:07 Guenter Roeck
  2014-05-12  4:12 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 8+ messages in thread
From: Guenter Roeck @ 2014-05-10  0:07 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Paul Mackerras, linux-kernel, Guenter Roeck

Commit 4e243b7 (powerpc: Fix "attempt to move .org backwards" error) fixes the
allyesconfig build by moving machine_check_common to a different location.
While this fixes most of the errors, both allmodconfig and allyesconfig still
fail as follows.

arch/powerpc/kernel/exceptions-64s.S:1315: Error: attempt to move .org backwards

Fix by moving machine_check_common after the offending address.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
This fixes the build error, but unfortunately I don't have a system to test
the resulting image.

 arch/powerpc/kernel/exceptions-64s.S | 49 ++++++++++++++++++------------------
 1 file changed, 24 insertions(+), 25 deletions(-)

diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S
index 3afd391..25398be 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -1138,31 +1138,6 @@ unrecov_user_slb:
 
 #endif /* __DISABLED__ */
 
-
-	/*
-	 * Machine check is different because we use a different
-	 * save area: PACA_EXMC instead of PACA_EXGEN.
-	 */
-	.align	7
-	.globl machine_check_common
-machine_check_common:
-
-	mfspr	r10,SPRN_DAR
-	std	r10,PACA_EXGEN+EX_DAR(r13)
-	mfspr	r10,SPRN_DSISR
-	stw	r10,PACA_EXGEN+EX_DSISR(r13)
-	EXCEPTION_PROLOG_COMMON(0x200, PACA_EXMC)
-	FINISH_NAP
-	DISABLE_INTS
-	ld	r3,PACA_EXGEN+EX_DAR(r13)
-	lwz	r4,PACA_EXGEN+EX_DSISR(r13)
-	std	r3,_DAR(r1)
-	std	r4,_DSISR(r1)
-	bl	.save_nvgprs
-	addi	r3,r1,STACK_FRAME_OVERHEAD
-	bl	.machine_check_exception
-	b	.ret_from_except
-
 	.align	7
 	.globl alignment_common
 alignment_common:
@@ -1328,6 +1303,30 @@ fwnmi_data_area:
 initial_stab:
 	.space	4096
 
+	/*
+	 * Machine check is different because we use a different
+	 * save area: PACA_EXMC instead of PACA_EXGEN.
+	 */
+	.align	7
+	.globl machine_check_common
+machine_check_common:
+
+	mfspr	r10,SPRN_DAR
+	std	r10,PACA_EXGEN+EX_DAR(r13)
+	mfspr	r10,SPRN_DSISR
+	stw	r10,PACA_EXGEN+EX_DSISR(r13)
+	EXCEPTION_PROLOG_COMMON(0x200, PACA_EXMC)
+	FINISH_NAP
+	DISABLE_INTS
+	ld	r3,PACA_EXGEN+EX_DAR(r13)
+	lwz	r4,PACA_EXGEN+EX_DSISR(r13)
+	std	r3,_DAR(r1)
+	std	r4,_DSISR(r1)
+	bl	.save_nvgprs
+	addi	r3,r1,STACK_FRAME_OVERHEAD
+	bl	.machine_check_exception
+	b	.ret_from_except
+
 #ifdef CONFIG_PPC_POWERNV
 _GLOBAL(opal_mc_secondary_handler)
 	HMT_MEDIUM_PPR_DISCARD
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] powerpc: Fix "attempt to move .org backwards" error (again)
  2014-05-10  0:07 [PATCH] powerpc: Fix "attempt to move .org backwards" error (again) Guenter Roeck
@ 2014-05-12  4:12 ` Benjamin Herrenschmidt
  2014-05-12  4:52   ` Guenter Roeck
  2014-05-12  5:37   ` Benjamin Herrenschmidt
  0 siblings, 2 replies; 8+ messages in thread
From: Benjamin Herrenschmidt @ 2014-05-12  4:12 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Paul Mackerras, linuxppc-dev, linux-kernel

On Fri, 2014-05-09 at 17:07 -0700, Guenter Roeck wrote:
> Commit 4e243b7 (powerpc: Fix "attempt to move .org backwards" error) fixes the
> allyesconfig build by moving machine_check_common to a different location.
> While this fixes most of the errors, both allmodconfig and allyesconfig still
> fail as follows.
> 
> arch/powerpc/kernel/exceptions-64s.S:1315: Error: attempt to move .org backwards
> 
> Fix by moving machine_check_common after the offending address.

This suffers from the same problem as previous attempts, on some of my
test configs I get:

arch/powerpc/kernel/head_64.o:(__ftr_alt_97+0xb0): relocation truncated to fit: R_PPC64_REL14 against `.text'+1c90
make[1]: *** [vmlinux] Error 1
make: *** [sub-make] Error 2

IE, it breaks currently working configs.

So we need to move more things around and I haven't had a chance to
sort it out.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] powerpc: Fix "attempt to move .org backwards" error (again)
  2014-05-12  4:12 ` Benjamin Herrenschmidt
@ 2014-05-12  4:52   ` Guenter Roeck
  2014-05-12  5:48     ` Benjamin Herrenschmidt
  2014-05-12  5:37   ` Benjamin Herrenschmidt
  1 sibling, 1 reply; 8+ messages in thread
From: Guenter Roeck @ 2014-05-12  4:52 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Paul Mackerras, linuxppc-dev, linux-kernel

On 05/11/2014 09:12 PM, Benjamin Herrenschmidt wrote:
> On Fri, 2014-05-09 at 17:07 -0700, Guenter Roeck wrote:
>> Commit 4e243b7 (powerpc: Fix "attempt to move .org backwards" error) fixes the
>> allyesconfig build by moving machine_check_common to a different location.
>> While this fixes most of the errors, both allmodconfig and allyesconfig still
>> fail as follows.
>>
>> arch/powerpc/kernel/exceptions-64s.S:1315: Error: attempt to move .org backwards
>>
>> Fix by moving machine_check_common after the offending address.
>
> This suffers from the same problem as previous attempts, on some of my
> test configs I get:
>
> arch/powerpc/kernel/head_64.o:(__ftr_alt_97+0xb0): relocation truncated to fit: R_PPC64_REL14 against `.text'+1c90
> make[1]: *** [vmlinux] Error 1
> make: *** [sub-make] Error 2
>
> IE, it breaks currently working configs.
>
Oh well, it was worth a try. Can you give me an example for a failing configuration ?

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] powerpc: Fix "attempt to move .org backwards" error (again)
  2014-05-12  4:12 ` Benjamin Herrenschmidt
  2014-05-12  4:52   ` Guenter Roeck
@ 2014-05-12  5:37   ` Benjamin Herrenschmidt
  2014-05-12  5:39     ` Guenter Roeck
  1 sibling, 1 reply; 8+ messages in thread
From: Benjamin Herrenschmidt @ 2014-05-12  5:37 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Paul Mackerras, linuxppc-dev, linux-kernel

On Mon, 2014-05-12 at 14:12 +1000, Benjamin Herrenschmidt wrote:
> On Fri, 2014-05-09 at 17:07 -0700, Guenter Roeck wrote:
> > Commit 4e243b7 (powerpc: Fix "attempt to move .org backwards" error) fixes the
> > allyesconfig build by moving machine_check_common to a different location.
> > While this fixes most of the errors, both allmodconfig and allyesconfig still
> > fail as follows.
> > 
> > arch/powerpc/kernel/exceptions-64s.S:1315: Error: attempt to move .org backwards
> > 
> > Fix by moving machine_check_common after the offending address.
> 
> This suffers from the same problem as previous attempts, on some of my
> test configs I get:
> 
> arch/powerpc/kernel/head_64.o:(__ftr_alt_97+0xb0): relocation truncated to fit: R_PPC64_REL14 against `.text'+1c90
> make[1]: *** [vmlinux] Error 1
> make: *** [sub-make] Error 2
> 
> IE, it breaks currently working configs.
> 
> So we need to move more things around and I haven't had a chance to
> sort it out.

Ok, I think I sorted it out for now. It's a mess and likely to break
again until we do something more drastic like moving everything that's
after 0x8000 to a separate file but for now that will do. Patch on its
way, I'll also shoot it to Linus today along with a few other things.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] powerpc: Fix "attempt to move .org backwards" error (again)
  2014-05-12  5:37   ` Benjamin Herrenschmidt
@ 2014-05-12  5:39     ` Guenter Roeck
  0 siblings, 0 replies; 8+ messages in thread
From: Guenter Roeck @ 2014-05-12  5:39 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Paul Mackerras, linuxppc-dev, linux-kernel

On 05/11/2014 10:37 PM, Benjamin Herrenschmidt wrote:
> On Mon, 2014-05-12 at 14:12 +1000, Benjamin Herrenschmidt wrote:
>> On Fri, 2014-05-09 at 17:07 -0700, Guenter Roeck wrote:
>>> Commit 4e243b7 (powerpc: Fix "attempt to move .org backwards" error) fixes the
>>> allyesconfig build by moving machine_check_common to a different location.
>>> While this fixes most of the errors, both allmodconfig and allyesconfig still
>>> fail as follows.
>>>
>>> arch/powerpc/kernel/exceptions-64s.S:1315: Error: attempt to move .org backwards
>>>
>>> Fix by moving machine_check_common after the offending address.
>>
>> This suffers from the same problem as previous attempts, on some of my
>> test configs I get:
>>
>> arch/powerpc/kernel/head_64.o:(__ftr_alt_97+0xb0): relocation truncated to fit: R_PPC64_REL14 against `.text'+1c90
>> make[1]: *** [vmlinux] Error 1
>> make: *** [sub-make] Error 2
>>
>> IE, it breaks currently working configs.
>>
>> So we need to move more things around and I haven't had a chance to
>> sort it out.
>
> Ok, I think I sorted it out for now. It's a mess and likely to break
> again until we do something more drastic like moving everything that's
> after 0x8000 to a separate file but for now that will do. Patch on its
> way, I'll also shoot it to Linus today along with a few other things.
>

Great, thanks a lot!

Guenter

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] powerpc: Fix "attempt to move .org backwards" error (again)
  2014-05-12  4:52   ` Guenter Roeck
@ 2014-05-12  5:48     ` Benjamin Herrenschmidt
  2014-05-12 15:53       ` Guenter Roeck
  0 siblings, 1 reply; 8+ messages in thread
From: Benjamin Herrenschmidt @ 2014-05-12  5:48 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Paul Mackerras, linuxppc-dev, linux-kernel

On Sun, 2014-05-11 at 21:52 -0700, Guenter Roeck wrote:
> Oh well, it was worth a try. Can you give me an example for a failing
> configuration ?

My g5 config which is close to g5_defconfig with PR KVM enabled.

In any case, see my other messages. I'm waiting for all my test builders
to come back and if it's clear I'll post a new patch.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] powerpc: Fix "attempt to move .org backwards" error (again)
  2014-05-12  5:48     ` Benjamin Herrenschmidt
@ 2014-05-12 15:53       ` Guenter Roeck
  2014-05-12 22:13         ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 8+ messages in thread
From: Guenter Roeck @ 2014-05-12 15:53 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Paul Mackerras, linuxppc-dev, linux-kernel

On Mon, May 12, 2014 at 03:48:44PM +1000, Benjamin Herrenschmidt wrote:
> On Sun, 2014-05-11 at 21:52 -0700, Guenter Roeck wrote:
> > Oh well, it was worth a try. Can you give me an example for a failing
> > configuration ?
> 
> My g5 config which is close to g5_defconfig with PR KVM enabled.
> 
> In any case, see my other messages. I'm waiting for all my test builders
> to come back and if it's clear I'll post a new patch.
> 
I'll be more than happy to wait. Let me know if I can test something.

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] powerpc: Fix "attempt to move .org backwards" error (again)
  2014-05-12 15:53       ` Guenter Roeck
@ 2014-05-12 22:13         ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 8+ messages in thread
From: Benjamin Herrenschmidt @ 2014-05-12 22:13 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Paul Mackerras, linuxppc-dev, linux-kernel

On Mon, 2014-05-12 at 08:53 -0700, Guenter Roeck wrote:
> On Mon, May 12, 2014 at 03:48:44PM +1000, Benjamin Herrenschmidt wrote:
> > On Sun, 2014-05-11 at 21:52 -0700, Guenter Roeck wrote:
> > > Oh well, it was worth a try. Can you give me an example for a failing
> > > configuration ?
> > 
> > My g5 config which is close to g5_defconfig with PR KVM enabled.
> > 
> > In any case, see my other messages. I'm waiting for all my test builders
> > to come back and if it's clear I'll post a new patch.
> > 
> I'll be more than happy to wait. Let me know if I can test something.

http://patchwork.ozlabs.org/patch/347892/

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-05-12 22:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-10  0:07 [PATCH] powerpc: Fix "attempt to move .org backwards" error (again) Guenter Roeck
2014-05-12  4:12 ` Benjamin Herrenschmidt
2014-05-12  4:52   ` Guenter Roeck
2014-05-12  5:48     ` Benjamin Herrenschmidt
2014-05-12 15:53       ` Guenter Roeck
2014-05-12 22:13         ` Benjamin Herrenschmidt
2014-05-12  5:37   ` Benjamin Herrenschmidt
2014-05-12  5:39     ` Guenter Roeck

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).