summaryrefslogtreecommitdiff
path: root/arm9/arm9.lcf
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/arm9.lcf')
-rw-r--r--arm9/arm9.lcf31
1 files changed, 26 insertions, 5 deletions
diff --git a/arm9/arm9.lcf b/arm9/arm9.lcf
index ebad9dc6..e31740c2 100644
--- a/arm9/arm9.lcf
+++ b/arm9/arm9.lcf
@@ -1,4 +1,7 @@
-#include "macros.lcf.inc"
+/*
+ * Linker command file for Metrowerks ARM Linker 2.0
+ * TODO: Split .rodata, .data, .sbss, .bss sections in source
+ */
MEMORY {
arm9 (RWX) : ORIGIN=0x02000000, LENGTH=0 > arm9.sbin
@@ -110,7 +113,6 @@ MEMORY {
}
SECTIONS {
-#include "undefined_syms.txt"
.arm9 : {
ALIGNALL(4); . = ALIGN(32);
SDK_STATIC_START = .;
@@ -3269,7 +3271,17 @@ SECTIONS {
SDK_OVERLAY_MODULE_86_ID = 86;
SDK_OVERLAY.MODULE_86.ID = 86;
SDK_OVERLAY.MODULE_86.START = .;
- FILE_30C600.o (.text) /* 0x308600 */
+ module_86.o (.text)
+ module_86.o (.rodata)
+ module_86.o (.init)
+ SDK_OVERLAY.MODULE_86.SINIT_START = .;
+ module_86.o (.ctor)
+ module_86.o (.sinit)
+ WRITEW 0;
+ SDK_OVERLAY.MODULE_86.SINIT_END = .;
+ . = ALIGN(32);
+ module_86.o (.sdata)
+ module_86.o (.data)
. = ALIGN(32);
SDK_OVERLAY.MODULE_86.END = .;
SDK_OVERLAY.MODULE_86.SIZE = SDK_OVERLAY.MODULE_86.END - SDK_OVERLAY.MODULE_86.START;
@@ -3279,7 +3291,8 @@ SECTIONS {
{
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_86.BSS_START = .;
- FILE_30C600.o (.bss)
+ module_86.o (.bss)
+ module_86.o (.sbss)
. = ALIGN(32);
SDK_OVERLAY.MODULE_86.BSS_END = .;
SDK_OVERLAY.MODULE_86.BSS_SIZE = SDK_OVERLAY.MODULE_86.BSS_END - SDK_OVERLAY.MODULE_86.BSS_START;
@@ -4184,7 +4197,15 @@ SECTIONS {
WRITEW 85;
WRITEW 0;
- OVERLAY_TABLE(MODULE_86, 86)
+ WRITEW 86;
+ WRITEW ADDR(.MODULE_86);
+ WRITEW SDK_OVERLAY.MODULE_86.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_86.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_86.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_86.SINIT_END;
+ WRITEW 86;
+ WRITEW 0;
+
} > arm9_table
SDK_MAIN_ARENA_LO = SDK_SECTION_ARENA_START;