Message ID | 1401119625-11309-1-git-send-email-santosh.shukla@linaro.org |
---|---|
State | New |
Headers | show |
ping! On 26 May 2014 21:23, Santosh Shukla <santosh.shukla@linaro.org> wrote: > From: santosh shukla <santosh.shukla@linaro.org> > > Add non-global symbol .LLl2x0_regs_phys to avoid build break in thumb2 mode. > > IIUC, arm assembler fail to load value of "global" variable > l2xo_regs_phys for thum2 mode and wrapping it in non-global symbol like > .Ll2x0_regs_phys solves the build break issue. > > arch/arm/mach-exynos/sleep.S: Assembler messages: > arch/arm/mach-exynos/sleep.S:57: Error: invalid immediate for address > calculation (value = 0x00000004) > > fix inspired from [1] > > [1] https://lkml.org/lkml/2010/3/31/235 > > Signed-off-by: santosh shukla <santosh.shukla@linaro.org> > --- > arch/arm/mach-exynos/sleep.S | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/mach-exynos/sleep.S b/arch/arm/mach-exynos/sleep.S > index a2613e9..dc8c6b6 100644 > --- a/arch/arm/mach-exynos/sleep.S > +++ b/arch/arm/mach-exynos/sleep.S > @@ -54,7 +54,7 @@ ENTRY(exynos_cpu_resume) > ldr r1, =CPU_CORTEX_A9 > cmp r0, r1 > bne skip_l2_resume > - adr r0, l2x0_regs_phys > + adr r0, .Ll2x0_regs_phys > ldr r0, [r0] > cmp r0, #0 > beq skip_l2_resume > @@ -79,6 +79,8 @@ skip_l2_resume: > b cpu_resume > ENDPROC(exynos_cpu_resume) > #ifdef CONFIG_CACHE_L2X0 > + > +.Ll2x0_regs_phys: > .globl l2x0_regs_phys > l2x0_regs_phys: > .long 0 > -- > 1.7.9.5 > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, May 26, 2014 at 09:23:45PM +0530, Santosh Shukla wrote: > From: santosh shukla <santosh.shukla@linaro.org> > > Add non-global symbol .LLl2x0_regs_phys to avoid build break in thumb2 mode. > > IIUC, arm assembler fail to load value of "global" variable > l2xo_regs_phys for thum2 mode and wrapping it in non-global symbol like > .Ll2x0_regs_phys solves the build break issue. > > arch/arm/mach-exynos/sleep.S: Assembler messages: > arch/arm/mach-exynos/sleep.S:57: Error: invalid immediate for address > calculation (value = 0x00000004) > > fix inspired from [1] > > [1] https://lkml.org/lkml/2010/3/31/235 > > Signed-off-by: santosh shukla <santosh.shukla@linaro.org> Reviewed-by: Dave Martin <Dave.Martin@arm.com> The binutils folks insist that this is not a bug in gas. (I disagreed, but it's a grey area.) This is the established pattern for working round this issue -- looks fine to me. Cheers ---Dave > --- > arch/arm/mach-exynos/sleep.S | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/mach-exynos/sleep.S b/arch/arm/mach-exynos/sleep.S > index a2613e9..dc8c6b6 100644 > --- a/arch/arm/mach-exynos/sleep.S > +++ b/arch/arm/mach-exynos/sleep.S > @@ -54,7 +54,7 @@ ENTRY(exynos_cpu_resume) > ldr r1, =CPU_CORTEX_A9 > cmp r0, r1 > bne skip_l2_resume > - adr r0, l2x0_regs_phys > + adr r0, .Ll2x0_regs_phys > ldr r0, [r0] > cmp r0, #0 > beq skip_l2_resume > @@ -79,6 +79,8 @@ skip_l2_resume: > b cpu_resume > ENDPROC(exynos_cpu_resume) > #ifdef CONFIG_CACHE_L2X0 > + > +.Ll2x0_regs_phys: > .globl l2x0_regs_phys > l2x0_regs_phys: > .long 0 > -- > 1.7.9.5 > > > _______________________________________________ > linaro-kernel mailing list > linaro-kernel@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/linaro-kernel -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2 June 2014 15:40, Dave Martin <Dave.Martin@arm.com> wrote: > On Mon, May 26, 2014 at 09:23:45PM +0530, Santosh Shukla wrote: >> From: santosh shukla <santosh.shukla@linaro.org> >> >> Add non-global symbol .LLl2x0_regs_phys to avoid build break in thumb2 mode. >> >> IIUC, arm assembler fail to load value of "global" variable >> l2xo_regs_phys for thum2 mode and wrapping it in non-global symbol like >> .Ll2x0_regs_phys solves the build break issue. >> >> arch/arm/mach-exynos/sleep.S: Assembler messages: >> arch/arm/mach-exynos/sleep.S:57: Error: invalid immediate for address >> calculation (value = 0x00000004) >> >> fix inspired from [1] >> >> [1] https://lkml.org/lkml/2010/3/31/235 >> >> Signed-off-by: santosh shukla <santosh.shukla@linaro.org> > > Reviewed-by: Dave Martin <Dave.Martin@arm.com> > Thanks. Hi Kukjin, if this patch ok with you then can you pick it up. > The binutils folks insist that this is not a bug in gas. (I disagreed, but > it's a grey area.) This is the established pattern for working round this > issue -- looks fine to me. > > Cheers > ---Dave > > >> --- >> arch/arm/mach-exynos/sleep.S | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/arch/arm/mach-exynos/sleep.S b/arch/arm/mach-exynos/sleep.S >> index a2613e9..dc8c6b6 100644 >> --- a/arch/arm/mach-exynos/sleep.S >> +++ b/arch/arm/mach-exynos/sleep.S >> @@ -54,7 +54,7 @@ ENTRY(exynos_cpu_resume) >> ldr r1, =CPU_CORTEX_A9 >> cmp r0, r1 >> bne skip_l2_resume >> - adr r0, l2x0_regs_phys >> + adr r0, .Ll2x0_regs_phys >> ldr r0, [r0] >> cmp r0, #0 >> beq skip_l2_resume >> @@ -79,6 +79,8 @@ skip_l2_resume: >> b cpu_resume >> ENDPROC(exynos_cpu_resume) >> #ifdef CONFIG_CACHE_L2X0 >> + >> +.Ll2x0_regs_phys: >> .globl l2x0_regs_phys >> l2x0_regs_phys: >> .long 0 >> -- >> 1.7.9.5 >> >> >> _______________________________________________ >> linaro-kernel mailing list >> linaro-kernel@lists.linaro.org >> http://lists.linaro.org/mailman/listinfo/linaro-kernel -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 06/04/14 17:07, Santosh Shukla wrote: > On 2 June 2014 15:40, Dave Martin<Dave.Martin@arm.com> wrote: >> On Mon, May 26, 2014 at 09:23:45PM +0530, Santosh Shukla wrote: >>> From: santosh shukla<santosh.shukla@linaro.org> >>> >>> Add non-global symbol .LLl2x0_regs_phys to avoid build break in thumb2 mode. >>> >>> IIUC, arm assembler fail to load value of "global" variable >>> l2xo_regs_phys for thum2 mode and wrapping it in non-global symbol like >>> .Ll2x0_regs_phys solves the build break issue. >>> >>> arch/arm/mach-exynos/sleep.S: Assembler messages: >>> arch/arm/mach-exynos/sleep.S:57: Error: invalid immediate for address >>> calculation (value = 0x00000004) >>> >>> fix inspired from [1] >>> >>> [1] https://lkml.org/lkml/2010/3/31/235 >>> >>> Signed-off-by: santosh shukla<santosh.shukla@linaro.org> >> >> Reviewed-by: Dave Martin<Dave.Martin@arm.com> >> > > Thanks. > > Hi Kukjin, if this patch ok with you then can you pick it up. > Sure, I've applied this into fixes for 3.16. Thanks, Kukjin >> The binutils folks insist that this is not a bug in gas. (I disagreed, but >> it's a grey area.) This is the established pattern for working round this >> issue -- looks fine to me. >> >> Cheers >> ---Dave -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/mach-exynos/sleep.S b/arch/arm/mach-exynos/sleep.S index a2613e9..dc8c6b6 100644 --- a/arch/arm/mach-exynos/sleep.S +++ b/arch/arm/mach-exynos/sleep.S @@ -54,7 +54,7 @@ ENTRY(exynos_cpu_resume) ldr r1, =CPU_CORTEX_A9 cmp r0, r1 bne skip_l2_resume - adr r0, l2x0_regs_phys + adr r0, .Ll2x0_regs_phys ldr r0, [r0] cmp r0, #0 beq skip_l2_resume @@ -79,6 +79,8 @@ skip_l2_resume: b cpu_resume ENDPROC(exynos_cpu_resume) #ifdef CONFIG_CACHE_L2X0 + +.Ll2x0_regs_phys: .globl l2x0_regs_phys l2x0_regs_phys: .long 0