[swift-dev] Changing ELF layout

John McCall rjmccall at apple.com
Sat Sep 16 20:19:37 CDT 2017

> On Sep 16, 2017, at 6:06 PM, Saleem Abdulrasool via swift-dev <swift-dev at swift.org> wrote:
> Hello,
> I'd like to propose that we change the locations that we use to store the type metadata, protocol conformances, type references, reflection strings, field metadata, and associated types.
> I think that it is possible to simplify the design for the linker tables by changing section names and relying on the linker to perform the work necessary to generate the tables so that they can be walked later.
> Switching sections would mean that we would lose interoperability with previously built libraries.  Given that there is ABI stability work going on for at least the Darwin target, I figure that this would be the best time to do this.
> Would this be acceptable?  Is compatibility something that we need to worry about?

Compatibility is not something that we're currently promising.  I think this is a fine time to be working on this problem.

It's not clear from your proposal whether you're just proposing changing sections or whether you're interested in more invasive changes to metadata emission.  Can you be more specific.


More information about the swift-dev mailing list