> A while back I posted a question about adding edit-and-continue > abilities. Since then I've begun work on a rapid development compiler > (rdc) which has these abilities, but I've had some thoughts I'd like to > share, and receive some feedback from the GCC experts: > > What if a subset of GCC could be used for this? A portion which uses > the parser to push properly parsed instructions to a new code generator > module which handles the entirety of the edit-and-continue requirements? > I would offer to write these.
Most of the interesting bits happen in the linker+debugger. "gcc -ffunction- sections -fdata-sections -fPIC" is likely to be pretty good in terms of compiler output. What you then need is a linker that will relink an image, changing it as little as possible relative to a previous run. Your debugger then needs to be able to replace these images in-place (which may require interaction with the dynamic linker). Be warned that this ends up being extremely complex, even for relatively simple changes. Paul