> On Dec 30, 2015, at 1:24 AM, Luke Howard via swift-dev <swift-dev@swift.org> 
> 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).

> (There’s also some weird issue where dlsym() seems to return the previous 
> table if it can’t find one, but that’s a separate issue.)

Might be a runtime bug—are we looking up the symbol with RTLD_LOCAL?

-Joe

> 
> The build system is opaque enough that I’m not exactly sure how the linker is 
> driven when building shared libraries, but it would be great if the linker 
> script was added automagically.
> 
> — Luke
> --
> www.lukehoward.com <http://www.lukehoward.com/>
> soundcloud.com/lukehoward
> 
> 
> _______________________________________________
> swift-dev mailing list
> swift-dev@swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to