[swift-dev] Linker script on Linux

Joe Groff jgroff at apple.com
Wed Dec 30 19:33:50 CST 2015


> On Dec 30, 2015, at 1:24 AM, Luke Howard via swift-dev <swift-dev at 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 at swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20151230/db13abf7/attachment.html>


More information about the swift-dev mailing list