[JITLink] Introduce new weakly-referenced concept separate from linkage.
Introduces two new methods on Symbol: isWeaklyReferenced and setWeaklyReferenced. These are now used to track/set whether an external symbol is weakly referenced, rather than having the Symbol's linkage set to weak. This change is a first step towards proper handling of weak defs used across JITDylib boundaries: It frees up the Linkage field on external symbols so that it can be used to represent the linkage of the definition that the symbol resolves to. It is expected that Platform plugins will use this information to track locations that need to be updated if the selected weak definition changes (e.g. because JITDylibs were dlclosed and then dlopened again in a different order).
parent
75265c7f
Please register or sign in to comment