> On Dec 30, 2015, at 17:49, Luke Howard via swift-dev <[email protected]> > wrote: > > >> On 31 Dec 2015, at 12:33 PM, Joe Groff <[email protected] >> <mailto:[email protected]>> wrote: >> >> >>> On Dec 30, 2015, at 1:24 AM, Luke Howard via swift-dev <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Per [SR-404], anything that consumed libFoundation could not dynamically >>> cast to a Foundation protocol because the build script was missing the >>> magic swift.ld linker script to advertise the start of the protocol >>> conformances table. >> >> Is it possible that the library is getting linked by clang instead of >> swiftc? I would expect the swiftc driver to pass the linker script down to >> ld (but maybe it's not). > > You’re right, clang is being called to link. Changing to swiftc will be a bit > more intrusive to the Foundation build scripts (at given my mediocre > knowledge of Python) but is probably the right answer.
I have a longstanding desire to do this, but then we have the opposite problem: clang++ knows what extra libraries need to be added in order to link C++ code correctly, and swiftc knows what flags to use to link Swift code correctly. Of course, the libraries with Swift source have little-to-no C++ in them, so maybe it's okay. Jordan
_______________________________________________ swift-dev mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-dev
