SECTIONS { __romPos = 0; _gp = 0x0; header_ROM_START = __romPos; header_VRAM = ADDR(.header); .header : AT(header_ROM_START) SUBALIGN(16) { header_DATA_START = .; header_s = .; build/asm/header.s.o(.data); header_DATA_END = .; header_DATA_SIZE = ABSOLUTE(header_DATA_END - header_DATA_START); } __romPos += SIZEOF(.header); header_ROM_END = __romPos; header_VRAM_END = .; boot_ROM_START = __romPos; boot_VRAM = ADDR(.boot); .boot : AT(boot_ROM_START) SUBALIGN(16) { boot_DATA_START = .; boot_bin = .; build/assets/boot.bin.o(.data); boot_DATA_END = .; boot_DATA_SIZE = ABSOLUTE(boot_DATA_END - boot_DATA_START); } __romPos += SIZEOF(.boot); boot_ROM_END = __romPos; boot_VRAM_END = .; entry_ROM_START = __romPos; entry_VRAM = ADDR(.entry); .entry 0x80070C00 : AT(entry_ROM_START) SUBALIGN(16) { entry_TEXT_START = .; build/asm/1000.s.o(.text); entry_TEXT_END = .; entry_TEXT_SIZE = ABSOLUTE(entry_TEXT_END - entry_TEXT_START); entry_DATA_START = .; _1000_s = .; build/asm/1000.s.o(.data); entry_DATA_END = .; entry_DATA_SIZE = ABSOLUTE(entry_DATA_END - entry_DATA_START); entry_RODATA_START = .; build/asm/1000.s.o(.rodata); entry_RODATA_END = .; entry_RODATA_SIZE = ABSOLUTE(entry_RODATA_END - entry_RODATA_START); } entry_bss_VRAM = ADDR(.entry_bss); .entry_bss (NOLOAD) : SUBALIGN(16) { entry_BSS_START = .; build/asm/1000.s.o(.bss); entry_BSS_END = .; entry_BSS_SIZE = ABSOLUTE(entry_BSS_END - entry_BSS_START); } __romPos += SIZEOF(.entry); __romPos = ALIGN(__romPos, 16); entry_ROM_END = __romPos; entry_VRAM_END = .; main_ROM_START = __romPos; main_VRAM = ADDR(.main); .main entry_VRAM_END : AT(main_ROM_START) SUBALIGN(16) { main_TEXT_START = .; build/asm/1060.s.o(.text); main_TEXT_END = .; main_TEXT_SIZE = ABSOLUTE(main_TEXT_END - main_TEXT_START); main_DATA_START = .; _2E570_data__s = .; build/asm/data/2E570.data.s.o(.data); main_DATA_END = .; main_DATA_SIZE = ABSOLUTE(main_DATA_END - main_DATA_START); main_RODATA_START = .; build/asm/1060.s.o(.rodata); main_RODATA_END = .; main_RODATA_SIZE = ABSOLUTE(main_RODATA_END - main_RODATA_START); } main_bss_VRAM = ADDR(.main_bss); .main_bss (NOLOAD) : SUBALIGN(16) { main_BSS_START = .; build/asm/data/3F1B0.bss.s.o(.bss); main_BSS_END = .; main_BSS_SIZE = ABSOLUTE(main_BSS_END - main_BSS_START); } __romPos += SIZEOF(.main); __romPos = ALIGN(__romPos, 16); main_ROM_END = __romPos; main_VRAM_END = .; _3F1B0_ROM_START = __romPos; _3F1B0_VRAM = ADDR(._3F1B0); ._3F1B0 main_VRAM_END : AT(_3F1B0_ROM_START) SUBALIGN(16) { _3F1B0_DATA_START = .; _3F1B0_bin = .; build/assets/3F1B0.bin.o(.data); _3F1B0_DATA_END = .; _3F1B0_DATA_SIZE = ABSOLUTE(_3F1B0_DATA_END - _3F1B0_DATA_START); } __romPos += SIZEOF(._3F1B0); _3F1B0_ROM_END = __romPos; _3F1B0_VRAM_END = .; /DISCARD/ : { *(*); } }