allow external relocation of arm9i binary load address

This commit is contained in:
Dave Murphy 2017-01-14 23:56:43 +00:00
parent 6832220265
commit 114896f06f
2 changed files with 4 additions and 8 deletions

View File

@ -216,7 +216,7 @@ SECTIONS
.twl __end__ : AT(MAX(0x2400000,MAX(__end__,LOADADDR(.vectors)+SIZEOF(.vectors))))
{
__arm9i_lma = LOADADDR(.twl);
__arm9i_lma__ = LOADADDR(.twl);
__arm9i_start__ = ABSOLUTE(.);
*(.twl)
*.twl*(.text .stub .text.* .gnu.linkonce.t.*)

View File

@ -105,9 +105,9 @@ _start:
@ Copy TWL area (arm9i section) from LMA to VMA
adr r0, arm9ilma @ Calculate ARM9i LMA
ldr r1, [r0]
add r1, r1, r0
mov r11, r11
ldr r1, =0x02ffe1c8 @ Get ARM9i LMA from header
ldr r1, [r1]
ldr r2, =__arm9i_start__
cmp r1, r2 @ skip copy if LMA=VMA
@ -150,10 +150,6 @@ NotTWL:
ldr lr, =__libnds_exit
bx r3 @ jump to user code
@---------------------------------------------------------------------------------
arm9ilma:
.word __arm9i_lma__ - .
@---------------------------------------------------------------------------------
@ check for a commandline
@---------------------------------------------------------------------------------