Files
Diddy-Kong-Racing/mods/dkr.custom.ld
T
150a56cf01 Use different linker script for nonmatching builds (#505)
* got overzealous with the alignments

* small knowledge improvement on models

* true

* add enum size entries for easy ref

* bgload names I forgot to merge in

* transition memes

* absinthe

* brug

* anguish

* hell

* getting there

* misery

* Update README.md

* Update include/structs.h

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>

* format moment

* Delete object_animate.s

* Update obj_animate.s

* remembered to rename this

* clear mem properly

* Update waves.c

* custom linker override for nonmatching builds

* fix warns

* format

* Update Makefile

* Update dkr.custom.ld

* Update Makefile

* Update waves.c

* Update audio_spatial.c

* Update dkr.custom.ld

* Update dkr.custom.ld

* Update Makefile

---------

Co-authored-by: Ryan Myers <ryan.p.myers@gmail.com>
2025-05-09 18:50:32 +01:00

106 lines
3.1 KiB
Plaintext

SECTIONS
{
__romPos = 0;
header_ROM_START = __romPos;
header_VRAM = ADDR(.header);
.header : AT(header_ROM_START) SUBALIGN(16)
{
FILL(0x00000000);
header_DATA_START = .;
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)
{
FILL(0x00000000);
boot_DATA_START = .;
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 = .;
main_ROM_START = __romPos;
main_VRAM = ADDR(.main);
.main 0x80000400 : AT(main_ROM_START) SUBALIGN(16)
{
/* Text */
FILL(0x00000000);
main_TEXT_START = .;
build/src/hasm/entrypoint.s.o(.text);
build/src*.o(.text);
build/libultra/src*.o(.text);
build/asm/data/ucode_audio.s.o(.text);
build/asm/data/ucode_boot.s.o(.text);
build/asm/data/ucode_f3ddkr_dram.s.o(.text);
build/asm/data/ucode_f3ddkr_fifo.s.o(.text);
build/asm/data/ucode_f3ddkr_xbus.s.o(.text);
build/asm/data/ucode_unknown_2.s.o(.text);
/* Data */
main_TEXT_END = .;
main_TEXT_SIZE = ABSOLUTE(main_TEXT_END - main_TEXT_START);
main_DATA_START = .;
build/src*.o(.data*);
build/libultra/src*.o(.data);
build/asm/data/data_audio.s.o(.data);
build/asm/data/data_f3ddkr_dram.s.o(.data);
build/asm/data/data_f3ddkr_fifo.s.o(.data);
build/asm/data/data_f3ddkr_xbus.s.o(.data);
build/asm/data/data_unknown_2.s.o(.data);
/* Rodata */
main_DATA_END = .;
main_DATA_SIZE = ABSOLUTE(main_DATA_END - main_DATA_START);
main_RODATA_START = .;
build/src*.o(.rodata*);
build/libultra/src*.o(.rodata*);
. = ALIGN(., 16);
main_RODATA_END = .;
main_RODATA_SIZE = ABSOLUTE(main_RODATA_END - main_RODATA_START);
}
main_bss_VRAM = ADDR(.main_bss);
.main_bss (NOLOAD) : SUBALIGN(16)
{
FILL(0x00000000);
main_BSS_START = .;
build/src*.o(.*bss*);
build/libultra/src*.o(.*bss*);
. = ALIGN(., 16);
main_BSS_END = .;
main_BSS_SIZE = ABSOLUTE(main_BSS_END - main_BSS_START);
}
__romPos += SIZEOF(.main);
__romPos = ALIGN(__romPos, 16);
. = ALIGN(., 16);
main_ROM_END = __romPos;
main_VRAM_END = .;
assets_ROM_START = __romPos;
assets_VRAM = ADDR(.assets);
.assets main_VRAM_END : AT(assets_ROM_START) SUBALIGN(16)
{
FILL(0x00000000);
assets_DATA_START = .;
build/assets/assets.bin.o(.data);
assets_DATA_END = .;
assets_DATA_SIZE = ABSOLUTE(assets_DATA_END - assets_DATA_START);
}
__romPos += SIZEOF(.assets);
assets_ROM_END = __romPos;
assets_VRAM_END = .;
/DISCARD/ :
{
*(*);
}
}