From 68322202650f5be634f20e5e6b3c4115e30d828c Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Fri, 13 Jan 2017 00:08:39 +0000 Subject: [PATCH] allow arm9i binary to be relocated externally --- dkarm-eabi/crtls/ds_arm9_crt0.s | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dkarm-eabi/crtls/ds_arm9_crt0.s b/dkarm-eabi/crtls/ds_arm9_crt0.s index 0649c10..1a0903b 100644 --- a/dkarm-eabi/crtls/ds_arm9_crt0.s +++ b/dkarm-eabi/crtls/ds_arm9_crt0.s @@ -103,7 +103,12 @@ _start: ldr r9, =__dsimode @ set DSi mode flag strb r11, [r9] - ldr r1, =__arm9i_lma @ Copy TWL area (arm9i section) from LMA to VMA + @ Copy TWL area (arm9i section) from LMA to VMA + + adr r0, arm9ilma @ Calculate ARM9i LMA + ldr r1, [r0] + add r1, r1, r0 + ldr r2, =__arm9i_start__ cmp r1, r2 @ skip copy if LMA=VMA ldrne r4, =__arm9i_end__ @@ -145,6 +150,10 @@ NotTWL: ldr lr, =__libnds_exit bx r3 @ jump to user code +@--------------------------------------------------------------------------------- +arm9ilma: + .word __arm9i_lma__ - . + @--------------------------------------------------------------------------------- @ check for a commandline @---------------------------------------------------------------------------------