Description
Previous ID | SR-1 |
Radar | rdar://problem/22724955 |
Original Reporter | @jopamer |
Type | Bug |
Status | Closed |
Resolution | Done |
Additional Detail from JIRA
Votes | 2 |
Component/s | |
Labels | Bug, Linux |
Assignee | None |
Priority | Medium |
md5: 90c6fa571fac13d05c95850bed417233
Issue Description:
Building Swift on Linux currently depends on a linker script to mark protocol conformances. This linker script method is not compatible with the gold linker. We want to support using the gold linker, so come up with another method to achieve this that is compatible with the gold linker.
It seems likely there are at least the following options that seem potentially valid:
-
We could do some work inside the swift compiler itself as a pre-link step, to collate the protocol conformance data into a single object file. I think we’re ultimately looking for a section of data that we know the size and length of, that contains the conformance data, that can be accessed as a known symbol name at runtime.
-
Adjust the gold linker to support the symbol collation functionality in ld.bfd that is not in ld.gold. The gold linker is a GPLv3 project.