diff options
author | Dave Martin <dave.martin@linaro.org> | 2011-01-28 17:19:26 +0000 |
---|---|---|
committer | Dave Martin <dave.martin@linaro.org> | 2011-02-23 12:29:12 +0000 |
commit | 2fcb88c541cf98b87a38a0f27b641663aded8802 (patch) | |
tree | 8bbdb02b2175e27296b8f817a64f137d7dbd3333 | |
parent | c89067880b6c2e10519ea8bb78a9185b51033984 (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.S | 7 |
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 |