2024-03-21 07:46:08 +01:00
|
|
|
RAMBASE = 0x80801000; /* Used to hold any new symbols */
|
2024-03-21 03:16:51 +01:00
|
|
|
EXTRA_RAM_SIZE = 0x01000000; /* Amount of extra ram allocated by recomp */
|
2023-11-11 23:42:07 +01:00
|
|
|
|
|
|
|
MEMORY {
|
2024-03-21 03:16:51 +01:00
|
|
|
extram : ORIGIN = RAMBASE, LENGTH = 64M
|
|
|
|
rom : ORIGIN = 0, LENGTH = 64M
|
2023-11-11 23:42:07 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
SECTIONS {
|
|
|
|
.ctors : { *(.ctors*) *(.init_array*) } >extram AT >rom
|
|
|
|
.dtors : { *(.dtors*) } >extram AT >rom
|
|
|
|
.rodata : { *(.rodata*) } >extram AT >rom
|
|
|
|
.data : { *(.data*) } >extram AT >rom
|
2024-03-21 03:16:51 +01:00
|
|
|
|
|
|
|
/* The following sections will be removed from the objcopy */
|
|
|
|
/* bss isn't noload to make .text rom addresses valid for the recompiler */
|
|
|
|
.bss : { *(.bss*) *(COMMON) } >extram AT >rom
|
|
|
|
ASSERT(. < RAMBASE + EXTRA_RAM_SIZE, "Maxed out recomp extra ram")
|
|
|
|
/* Padding to push .text to avoid conflicts with original function addresses */
|
|
|
|
.pad : { . += 0x1000000; } >extram AT >rom
|
|
|
|
.text : { *(.text*) } >extram AT >rom
|
2023-11-11 23:42:07 +01:00
|
|
|
|
|
|
|
.symtab 0 : { *(.symtab) }
|
|
|
|
.strtab 0 : { *(.strtab) }
|
|
|
|
.shstrtab 0 : { *(.shstrtab) }
|
|
|
|
|
|
|
|
/DISCARD/ : { *(*); }
|
|
|
|
}
|