summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Martin <dave.martin@linaro.org>2011-01-28 17:19:26 +0000
committerDave Martin <dave.martin@linaro.org>2011-02-23 12:29:12 +0000
commit2fcb88c541cf98b87a38a0f27b641663aded8802 (patch)
tree8bbdb02b2175e27296b8f817a64f137d7dbd3333
parentc89067880b6c2e10519ea8bb78a9185b51033984 (diff)
ARM: omap3: Work around assembler errors in sleep34xx.S
In rare cases, gas is unable to fix up references to global symbols in the same object when building for Thumb-2. This patch provides a dirty temporary workaround and shouldn't be merged upstream. The issue affects at least ubuntu/linaro binutils (2.20.51.20100908-0ubuntu2) and binutils upstream. Allegedly, there's a fix in the pipeline. Signed-off-by: Dave Martin <dave.martin@linaro.org>
-rw-r--r--arch/arm/mach-omap2/sleep34xx.S7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S
index 0ed57ab358b..6147088e6bc 100644
--- a/arch/arm/mach-omap2/sleep34xx.S
+++ b/arch/arm/mach-omap2/sleep34xx.S
@@ -373,9 +373,9 @@ restore_es3:
and r4, r4, #0x3
cmp r4, #0x0 @ Check if previous power state of CORE is OFF
bne restore
- adr r0, es3_sdrc_fix
+ adr r0, _es3_sdrc_fix
ldr r1, sram_base
- ldr r2, es3_sdrc_fix_sz
+ ldr r2, _es3_sdrc_fix_sz
mov r2, r2, ror #2
copy_to_sram:
ldmia r0!, {r3} @ val = *src
@@ -636,6 +636,8 @@ usettbr0:
/* This function implements the erratum ID i443 WA, applies to 34xx >= ES3.0 */
.text
.align 3
+.type _es3_sdrc_fix, %function
+_es3_sdrc_fix:
ENTRY(es3_sdrc_fix)
ldr r4, sdrc_syscfg @ get config addr
ldr r5, [r4] @ get value
@@ -679,6 +681,7 @@ sdrc_emr2_1:
sdrc_manual_1:
.word SDRC_MANUAL_1_P
ENDPROC(es3_sdrc_fix)
+_es3_sdrc_fix_sz:
ENTRY(es3_sdrc_fix_sz)
.word . - es3_sdrc_fix