I've loaded a program into Ghidra and done a few hours' worth of work on it. The loader created a memory block for RAM, but all the uninitialized areas contain nonsense. Unfortunately there isn't really any sort of section table to tell which areas are initialized.
Now I have an actual RAM dump, so I want to replace the nonsense data with it. (I'm not worried about also replacing valid data, since it should be identical.) However I can't find a way to do this without deleting all the information (references/labels/functions/etc) in the existing block, essentialy undoing all my work.
I can import the dump and put it at the correct address, but only as an overlay, which seems to put it in a different namespace or something (
::80000000 instead of
80000000) where none of the existing information applies. I don't see any way to replace the block's content while keeping the information.