"Has anyone tried ELD as a linker..." <- I gave it a go. It doesn't work with INSERT directives (only used by rp2040-hal i think, and not necessary?) or PROVIDE directives (`cortex-m-rt` uses those for stack/heap positioning and linking interrupts into the interrupt vector table, so everything is broken). It errors on empty sections, so the sentinel `.got` in `cortex-m-rt` gets under it's teeth. It doesn't like... a lot of what defmt does in it's linker script. Probably best to not include defmt for now. If anyone else wants to have a go, the only "trick" is you need to tell it what your target is. the mtriple flag seemed to be the easiest. note that due to https://github.com/qualcomm/eld/issues/21 you'll probably only be able to target the default arch (arm). example: ``` rustflags = [ "-C", "linker=ld.eld", "-C", "link-arg=-mtriple=thumbv6m-none-eabi", ... ] ``` I couldn't get their docs to build (following their instructions), but you can just read the sources of them - they are quite lean. I strongly recommend not copy-pasting their build instructions without reading the next paragraph, my first build failed by exhausting all memory during linking. My verdict is that it's still very early days for eld. I would wait until they start providing compiled binaries and export their docs to a webpage unless you're feeling adventurous.