Partial linking of spec segments (#2661)

* Partial linking of overlay segments, relax linker script alignment

* Partial linking of all spec segments

* Fix update, remove _RomPos from linker script

* iQue version working pending COM-plugin update

* Add plf map file resolution to sym_info.py, local symbol merging is broken

* git subrepo pull tools/com-plugin

subrepo:
  subdir:   "tools/com-plugin"
  merged:   "c4f3ba845"
upstream:
  origin:   "git@github.com:Thar0/com-plugin.git"
  branch:   "main"
  commit:   "c4f3ba845"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "110b9eb"

* Make tools compatible with partial linking

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* Remove unused files

* Fix some makefile bits

* mkspecrules cleanup

* Comment on the makerom linker layout in mkldscript

* Revert linker padding strategy back to pad_text spec directives

* Comment on objcopy elf -> rom step

* Adjust tool descriptions

* Fix compressed builds

* rm reloc_prereq, no longer used

* Makefile merge fix

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

---------

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
This commit is contained in:
Tharo
2026-05-06 22:33:03 +01:00
committed by GitHub
parent 70701b8ac9
commit 2c481eaeeb
24 changed files with 1568 additions and 1837 deletions
+59
View File
@@ -0,0 +1,59 @@
// Specification for linker plugin COMMON symbol order for the ique-cn version boot segment
build/ique-cn/boot_bss_1.o {
bk;
__osBaseCounter;
__osBbRCountWraps;
__osBbLastRCount;
__osViIntrCount;
insize;
outcnt;
bb;
__osCurrentTime;
hufts;
__osBbLastVCount;
__osTimerCounter;
__osBbVCountWraps;
__osFinalrom;
inptr;
ifd;
}
build/ique-cn/boot_bss_boot_main.o {
sBootThreadInfo;
sIdleThread;
sIdleThreadStack;
sIdleThreadInfo;
sBootThreadStack;
}
build/ique-cn/boot_bss_idle.o {
sMainThread;
sMainStack;
sMainStackInfo;
sPiMgrCmdBuff;
}
build/ique-cn/boot_bss_viconfig.o {
gViConfigMode;
gViConfigModeType;
}
build/ique-cn/boot_bss_z_std_dma.o {
sDmaMgrStackInfo;
sDmaMgrMsgQueue;
sDmaMgrMsgBuf;
sDmaMgrThread;
sDmaMgrStack;
}
build/ique-cn/boot_bss_2.o {
__osThreadSave;
__Dom2SpeedParam;
__CartRomHandle;
__osPiAccessQueue;
__Dom1SpeedParam;
gPiMgrCmdQueue;
__osBaseTimer;
__osEventStateTab;
}
@@ -1,64 +1,4 @@
// Specification for linker plugin COMMON symbol order for the ique-cn version
build/ique-cn/boot_bss_1.o {
bk;
__osBaseCounter;
__osBbRCountWraps;
__osBbLastRCount;
__osViIntrCount;
insize;
outcnt;
bb;
__osCurrentTime;
hufts;
__osBbLastVCount;
__osTimerCounter;
__osBbVCountWraps;
__osFinalrom;
inptr;
ifd;
}
build/ique-cn/boot_bss_boot_main.o {
sBootThreadInfo;
sIdleThread;
sIdleThreadStack;
sIdleThreadInfo;
sBootThreadStack;
}
build/ique-cn/boot_bss_idle.o {
sMainThread;
sMainStack;
sMainStackInfo;
sPiMgrCmdBuff;
}
build/ique-cn/boot_bss_viconfig.o {
gViConfigMode;
gViConfigModeType;
}
build/ique-cn/boot_bss_z_std_dma.o {
sDmaMgrStackInfo;
sDmaMgrMsgQueue;
sDmaMgrMsgBuf;
sDmaMgrThread;
sDmaMgrStack;
}
build/ique-cn/boot_bss_2.o {
__osThreadSave;
__Dom2SpeedParam;
__CartRomHandle;
__osPiAccessQueue;
__Dom1SpeedParam;
gPiMgrCmdQueue;
__osBaseTimer;
__osEventStateTab;
}
// Specification for linker plugin COMMON symbol order for the ique-cn version code segment
build/ique-cn/code_bss_1.o {
D_8015FA8C;