summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorHeiko Schocher <hs@denx.de>2010-10-11 14:08:14 +0200
committerWolfgang Denk <wd@denx.de>2010-10-13 10:12:01 +0200
commit9710504d200599a6e7e7ac0046adca43cfccaf0f (patch)
treeb9c02af8426938a33e92956fa5a1b46d7c0881c9 /arch/arm
parent4a8fd13af82b7b37099fea3d12ea52e5bcc151a5 (diff)
downloadu-boot-imx-9710504d200599a6e7e7ac0046adca43cfccaf0f.zip
u-boot-imx-9710504d200599a6e7e7ac0046adca43cfccaf0f.tar.gz
u-boot-imx-9710504d200599a6e7e7ac0046adca43cfccaf0f.tar.bz2
arm926ejs, tx25: add support for ELF relocations
Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/config.mk2
-rw-r--r--arch/arm/cpu/arm926ejs/start.S8
2 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/config.mk b/arch/arm/config.mk
index 0be47d3..21c1e33 100644
--- a/arch/arm/config.mk
+++ b/arch/arm/config.mk
@@ -70,5 +70,7 @@ LDSCRIPT := $(SRCTREE)/$(CPUDIR)/u-boot.lds
ifndef CONFIG_SYS_ARM_WITHOUT_RELOC
# needed for relocation
+ifndef CONFIG_NAND_SPL
PLATFORM_LDFLAGS += -pie
endif
+endif
diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S
index 49ca839..e882487 100644
--- a/arch/arm/cpu/arm926ejs/start.S
+++ b/arch/arm/cpu/arm926ejs/start.S
@@ -279,10 +279,10 @@ clbss_l:str r2, [r0] /* clear loop... */
*/
#ifdef CONFIG_NAND_SPL
ldr r0, _nand_boot_ofs
- adr r1, _start
- add pc, r0, r1
-_nand_boot_ofs
- : .word nand_boot - _start
+ mov pc, r0
+
+_nand_boot_ofs:
+ .word nand_boot
#else
ldr r0, _board_init_r_ofs
adr r1, _start