Commits

Jordan Rose committed c312e519628
Add the ability to serialize modules with LLDB's wrapper info around them. Currently when compiling with debug info, the AST gets serialized into the .o file for use by the debugger. However, when we switch to one .o file per .swift file, this won't really make sense any more. Instead, we should collect all the ASTs at the end of the build and merge them together, then write /that/ into the final binary. This commit handles writing a serialized AST with an LLDB wrapper around it, so that we can take a merged AST, write it out in the wrapper, and splice it into the final binary using ld's -sectcreate option. In the long run, we probably won't need the LLDB wrapper, but for now I'm trying to disturb as little as possible. (It looks like the layout is broken on 32-bit platforms, though...there was a problem with 64-bit relocations in the existing SwiftASTStreamerPass, but nothing ever tried to /read/ the new layout in 32 bits. I'm holding off on dealing with this right now.) Part of <rdar://problem/15786017> Swift SVN r12667