Self-compile/cross compile: Figure out how the compiler can compile itself in a virgin environment. RENAME-PACKAGE is probably nearly enough. -- if we change the debug-info format, things are a bit ucky, since these structures are used both at compile time and run time. Probably we should move the debug-info out of compiler so that it doesn't get renamed, then compile and load debug-info. This shouldn't break the running Lisp in any important way, since we only make debug-info's at compile time, and at run-time all of the accessors are open-coded assuming the format present at compile time. [The only problem I can think of is that the default print function, #S reader, inspector, etc., would not be able to properly understand debug-info anymore. But none of these operations are important for debug-info; the debugger would still work.] But for this to work, we would also have to compile and load debug-dump, which might not be possible without some hacking. Alternately, we could just ignore the debug-info issue, which would result in a core that produces the new debug-info format, but has all its debug-info in the old format. We could then iterate to fix stuff up, but it would be hard to debug. I guess our default virgin compile should ignore debug info issues, and then we do some specific bootstrap action when we change. We may want to leave debug-info in compiler, since we can always load the bootstrap code into old-compiler.