This is an archive of the discontinued LLVM Phabricator instance.

[ItaniumCXXABI] Don't mark an extern_weak init function as dso_local on windows
ClosedPublic

Authored by mstorsjo on Dec 19 2019, 9:36 AM.

Details

Summary

Since 6bf108d77a3c, we try to not mark extern_weak symbols as dso_local, to allow using COFF stubs for references to those symbols (as the symbol may be missing, resolving to an absolute address zero, outside of the current DSO).

Diff Detail

Event Timeline

mstorsjo created this revision.Dec 19 2019, 9:36 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 19 2019, 9:36 AM
rnk accepted this revision.Dec 22 2019, 7:35 PM

lgtm

TLS thread wrappers seem to reimplement a lot of the logic that would happen naturally for a regular function declaration. I wonder if there is some way to restructure the code to have less duplication.

This revision is now accepted and ready to land.Dec 22 2019, 7:35 PM
This revision was automatically updated to reflect the committed changes.