From bf52a02c7786fc2f40a6b04031697c6dcf262ebc Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Sun, 8 Jan 2017 17:07:59 +0000 Subject: [PATCH] allow arm7 to be relocated externally --- dkarm-eabi/crtls/ds_arm7_crt0.s | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/dkarm-eabi/crtls/ds_arm7_crt0.s b/dkarm-eabi/crtls/ds_arm7_crt0.s index af947c2..b7c57bf 100644 --- a/dkarm-eabi/crtls/ds_arm7_crt0.s +++ b/dkarm-eabi/crtls/ds_arm7_crt0.s @@ -26,7 +26,10 @@ _start: @--------------------------------------------------------------------------------- @ Copy initialized data (data section) from LMA to VMA (EWRAM to IWRAM) @--------------------------------------------------------------------------------- - ldr r1, =__arm7_lma__ + adr r0, arm7lma + ldr r1, [r0] + add r1, r0 + ldr r2, =__arm7_start__ ldr r4, =__arm7_end__ bl CopyMemCheck @@ -43,14 +46,17 @@ _start: mov r1, #0 @ char *argv[] ldr r3, =main ldr lr,=__libnds_exit - bx r3 - @--------------------------------------------------------------------------------- _blx_r3_stub: @--------------------------------------------------------------------------------- bx r3 +arm7lma: + .word __arm7_lma__ - . + + .pool + @--------------------------------------------------------------------------------- @ Clear memory to 0x00 if length != 0 @ r0 = Start Address