Supply heap address from linker script

This commit is contained in:
Aetias
2024-02-04 10:26:02 +01:00
parent 627c0aa8f1
commit dd83dc3569
3 changed files with 12 additions and 2 deletions
+1
View File
@@ -1111,3 +1111,4 @@
.extern data_027e0d28
.extern data_027e0d18
.extern func_ov16_0211ffdc
.extern gHeap
+2 -2
View File
@@ -19951,7 +19951,7 @@ _0200e57c:
pop {r3, pc}
.align 2, 0
thumb_func_end func_0200e52c
_0200e580: .word 0x0219b1c0
_0200e580: .word gHeap
_0200e584: .word data_0205acdc
_0200e588: .word 0x023e0000
_0200e58c: .word 0x01ffffa0
@@ -63993,7 +63993,7 @@ _0202f738: .word data_020577dc
_0202f73c: .word data_020577ec
_0202f740: .word data_020577f0
_0202f744: .word data_027e02a0
_0202f748: .word 0x0219b1c0
_0202f748: .word gHeap
_0202f74c: .word func_01ff8000
_0202f750: .word data_020577f8
+9
View File
@@ -264,10 +264,15 @@ with open(f'{BUILD}arm9_linker_script.lcf', 'w') as file:
file.write(f'AFTER({str(ov.after)})')
file.write(f' > overlays/{ov.name}.bin\n')
file.write('\n')
file.write(' HEAP : ORIGIN = AFTER(ARM9,')
file.write(','.join(map(str, OVERLAYS)))
file.write(')\n')
file.write('}\n')
file.write('\n')
file.write('SECTIONS {\n')
file.write(' .arm9 : {\n')
file.write(' gHeap = ADDR(HEAP);\n')
file.write(' . = ALIGN(32);\n')
for obj in ARM9_OBJECTS: file.write(f' {name(obj)}.o(.text)\n')
for obj in ARM9_OBJECTS: file.write(f' {name(obj)}.o(.init)\n')
@@ -373,6 +378,10 @@ with open(f'{BUILD}arm9_linker_script.lcf', 'w') as file:
file.write('WRITEW 0; ') # compression flags, overlay is compressed later
file.write('\n')
file.write(' } > OV_TABLE\n')
file.write('\n')
file.write(' .heap : {\n')
file.write(' gHeap = .;\n')
file.write(' } > HEAP\n')
file.write('}\n')
with open(f'{BUILD}arm9_objects.txt', 'w') as file: