support debugging statically-linked Swift binaries on macOS #53
Conversation
This change supports the scenario of linking multiple Swift module .o files with multiple .swiftmodule files provided to the linker. This change expects the "main" Swift module's .swiftmodule to be specified first in the -add_ast_path directive given to the clang linker line. Fixes: bugs.swift.org/SR-2637
@swift-ci please test |
This still needs a test, but I'm running it through the CI to make sure it doesn't somehow break the Linux side. |
@swift-ci please test |
Hmm, swift-ci might be out to lunch. Checking in on that... |
@swift-ci please test |
The failure in the macOS build is happening at the Swift standard library level and is unrelated to this change:
I'm going to do a local build and see if this has flushed out of stdlib master. If so, I'm going to rerun the macOS side of the build. |
I've got a note into the stdlib/foundation folks to look at that issue. I'm not seeing it replicated on normal CI. I'm going to go ahead and merge this. I'll pull it out if something unforeseen happens. I was mostly interested in making sure this didn't break the Linux side, since all the dev work for it is for the benefit of the macOS scenario. |
Todd, if I patch this change into the swift-3.0-RELEASE tag branch and build a toolchain from it, will it be functionally the same as the one shipping in Xcode 8 (sans shipping to the Store of course)? |
That should work, as long as the only thing you pull in is this patch. Let me know how it goes! -Todd
|
This change supports the scenario of linking multiple Swift
module .o files with multiple .swiftmodule files provided to the
linker.
This change expects the "main" Swift module's .swiftmodule to be
specified first in the -add_ast_path directive given to the clang
linker line.
Fixes:
bugs.swift.org/SR-2637