(original) (raw)
On Fri, May 15, 2015 at 3:07 PM, Duncan P. N. Exon Smith <dexonsmith@apple.com> wrote:
\> On 2015-May-15, at 07:30, Teresa Johnson <tejohnson@google.com> wrote:
\>>> - ModuleLinker changes to do ThinLTO-specific symbol linking and
\>>> static promotion when necessary. The linkage type of imported
\>>> functions changes to AvailableExternallyLinkage, for example. Statics
\>>> must be promoted in certain cases, and renamed in consistent ways.
\>>
\>> Ah, could have read ahead again; this answers my questions about
\>> referencing global variables with local linkage.
\>>
\>> It also sounds pretty hairy. Details welcome.
\>
\> It has to be well thought out for sure. We had to do this for LIPO as
\> well so already knew what needed to be done here. I will put together
\> more details in a follow-on email.
A separate thread SGTM. I think it's a fairly big topic.
Wanted to follow up and note that I sent out a detailed description of the symbol linking and renaming with ThinLTO last week. PTAL when you get a chance:
There is a summary table at the end but it looks better formatted in the pdf attached to that email.
Thanks,
Teresa
Please include information on how you avoid name clashes globally, and
how you demote the functions back to internal or private linkage before
the end of the link.
Teresa Johnson | | Software Engineer | | tejohnson@google.com | | 408-460-2413 |