====== Early mid May work ====== **2026-05-17** This week I worked some on debugging DR-DOS v9. The relevant updates to the debugger and loader are listed in [[blog:pushbx:2026:0516_dr-dos_v9_trial|yesterday's blog post dedicated to that]]. Except for Sunday's [[https://hg.pushbx.org/ecm/ldebug/rev/3f99b6e6d4f6|update to the manual]] to list nreserve.eld more completely. The only other changes concern the list and WarpLink. ===== WarpLink ===== * Display a warning [[https://hg.pushbx.org/ecm/warplink/rev/f291f9f1d6a5|if a subsequent object file defines an entrypoint]] after it was already defined by a prior object file. The previous behaviour would silently ignore subsequent entrypoints. * [[https://hg.pushbx.org/ecm/warplink/rev/8b7acae83239|Enable /XC switch for linking the linker itself]], and add wlcalc mmacro (copied [[https://hg.pushbx.org/ecm/ldebug/file/3f99b6e6d4f6/source/debug.mac#l1504|from lDebug source texts]]). * [[https://hg.pushbx.org/ecm/warplink/rev/a60abfcead31|Zero initialise the entire _BSS section]], obsoleting the prior two specific areas that were zero-initialised. String counter for the ''rep stosw'' is calculated using wlcalc. * [[https://hg.pushbx.org/ecm/warplink/rev/430e6a9aa84f|Comment out original to_zero_initialise labels]]. * [[https://hg.pushbx.org/ecm/warplink/rev/2d284e0bdfab|Move some mlglobal.mac variables]] that want to be zero-initialised into _BSS section. * [[https://hg.pushbx.org/ecm/warplink/rev/782eea7b2959|Delete a useless all-zeroes paragraph]] before the executable entrypoint. This was used to identicalise the output, but serves no purpose. * [[https://hg.pushbx.org/ecm/warplink/rev/fc9f29c2dfae|Replace the NASM at and iend mmacros]] so they use ''db ?'' to pad instead of ''db 0'', allowing them to not change _BSS structures into progbits. * [[https://hg.pushbx.org/ecm/warplink/rev/11b180726689|Move most zero-initialised variables]] across the program into the _BSS section. * [[https://hg.pushbx.org/ecm/warplink/rev/47f81cb3d1d0|Increment ecm release to r22]], 2026 May. The on-disk linker executable shrank from 82_121 Bytes to 81_467 Bytes, saving 654 Bytes. Not a lot, but it did come at no cost. Besides, it insures that no other bugs like [[https://hg.pushbx.org/ecm/warplink/rev/7d4588211863|the uninitialised data_fixup_count variable]] (2026-02-04 changeset) will crop up. ===== The List ===== [[https://github.com/LoopZ/TheList/pull/106|ecm 2026-05c]]: Add version information returned by current DR-DOS v9 build. {{tag>ldebug drdos9 warplink list}} ~~DISCUSSION~~