Skip to contentSkip to conversation

ARM: Exynos : Fix build error with thumb2

PATCH New Santosh Shukla 3 participants 5 messages May 26, 2014 – Jun 11, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: Exynos : Fix build error with thumb2

From: santosh shukla <[email protected]>

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

---
 arch/arm/mach-exynos/sleep.S |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
arch/arm/mach-exynos/sleep.S +3 -1
index a2613e9..dc8c6b6 100644
@@ -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
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/1 ARM: Exynos : Fix build error with thumb2

ping!

Quoted 46 lines · Santosh Shukla

From: santosh shukla <[email protected]>

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

---
 arch/arm/mach-exynos/sleep.S |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
arch/arm/mach-exynos/sleep.S +3 -2
index a2613e9..dc8c6b6 100644
@@ -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

#2 lore raw

PATCH 1/1 ARM: Exynos : Fix build error with thumb2

In reply to Santosh Shukla
Quoted 12 lines · Santosh Shukla

From: santosh shukla <[email protected]>

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)

Quoted 5 lines

fix inspired from [1]

[1] https://lkml.org/lkml/2010/3/31/235

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

Quoted 34 lines
---
 arch/arm/mach-exynos/sleep.S |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
arch/arm/mach-exynos/sleep.S +3 -1
index a2613e9..dc8c6b6 100644
@@ -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
Signature · 7 lines
1.7.9.5


_______________________________________________
linaro-kernel mailing list
linaro-kernel at lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-kernel
#3 lore raw

PATCH 1/1 ARM: Exynos : Fix build error with thumb2

Quoted 13 lines · Dave Martin
Quoted 12 lines · Santosh Shukla

From: santosh shukla <[email protected]>

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)

Quoted 8 lines
Quoted 5 lines

fix inspired from [1]

[1] https://lkml.org/lkml/2010/3/31/235

Thanks.

Hi Kukjin, if this patch ok with you then can you pick it up.

Quoted 42 lines

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

Quoted 34 lines
---
 arch/arm/mach-exynos/sleep.S |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
arch/arm/mach-exynos/sleep.S +3 -2
index a2613e9..dc8c6b6 100644
@@ -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 at lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-kernel

#4 lore raw

PATCH 1/1 ARM: Exynos : Fix build error with thumb2

Quoted 18 lines · Santosh Shukla
Quoted 17 lines · Dave Martin
Quoted 16 lines · Santosh Shukla

From: santosh shukla<[email protected]>

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

Quoted 9 lines
Quoted 4 lines
Quoted 1 line

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

Quoted 6 lines
Quoted 6 lines

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