Message ID | 1399680478-4970-1-git-send-email-linux@roeck-us.net (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
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.
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
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.
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
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.
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
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.
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
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(-)