<div dir="ltr">Hi,<div><br></div><div>In my work applying -flto to Chrome, I need to set some names to be skipped by the InternalizePass; otherwise, the linking stage fails (i.e., when building the chrome binary). In the past, I had a tiny patch that I hadn't submitted to LLVM: it was something like:</div><div><br></div><div><div>Index: Internalize.cpp</div><div>===================================================================</div><div>--- Internalize.cpp     (revision 221403)</div><div>+++ Internalize.cpp     (working copy)</div><div>@@ -87,6 +87,7 @@</div><div>         itr != ExportList.end(); itr++) {</div><div>     ExternalNames.insert(*itr);</div><div>   }</div><div>+  ExternalNames.insert(APIList.begin(), APIList.end());</div><div> }</div><div> </div></div><div><br></div><div>This adds the contents of the -internalize-public-api-list flag to the set of external names for the internalize pass, even when there are already some names being passed in the constructor.</div><div><br></div><div>Then I would pass, e.g., "-Wl,-internalize-public-api-list=__xstat64" to the linking phase, and all would be well. However, since the gold plugin has been changed significantly, this no longer works, since the flags from Internalize.cpp don't get up to the gold plugin, and I don't know the new gold plugin bits well enough to see immediately how to replace it. I could go spelunking for the answer, but I wanted to ask here first.</div><div><br></div><div>Is there currently a way for me to give the gold plugin a list of names that shouldn't be internalized?</div><div><br></div><div>Thanks,</div><div><br></div><div>Tom</div></div>