tree 57007e8b737518d6814435e19979568da51dfe64
parent 42890e97efef83ac1f20ed111c0ba65eb5480805
author Jordan Rose <jordan_rose@apple.com> 1522534813 -0700
committer GitHub <noreply@github.com> 1522534813 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJawAmdCRBK7hj4Ov3rIwAAdHIIAKgX7Qa4dd6ewx4G5TXQAok6
 CMDeqEkqFAIOpNc30P7/PVdgju3jZq1yquFXyBfeJTVrQdkB0bf/TxLKYNqIuRDE
 H9mlSrXRykJFXPro+RUTkc8PfMex3k48GYO7j+lFJ0BnsEXrYA7gTC1dK/IDP4Vt
 wCTMXGHaxFs6jA/gqxA9QXncku7MZQctmPliW7Rnq9g0vJlaIm8q9A+E8vJ+Xcni
 1W5s5vs/4gNvvAW1ctakdQJbdWLYSz1RhqYb+lcWcD1OjmGm6QfEhcKb/EJheHBc
 mKh6gpPukgfLDwuiqp3Cibkkl3orGpWiukCwZ29dfkcD35D/ZKs5Mm1xLntbrhY=
 =7j21
 -----END PGP SIGNATURE-----
 

[IRGen] Be smarter about adding the FORCE_LINK symbols for overlays (#15647)

We use dummy symbols to force overlays not to get dropped when
autolinking, even if the user doesn't use anything from them
explicitly. This behavior is triggered by the semi-hidden flag
-autolink-force-load.

(It's semi-hidden because it has few legitimate uses in real life. If
you searched for "how to force autolinking to pick up a library" and
found this commit, don't just do this and move on. Come talk to me on
forums.swift.org.)

Previously we added these dummy symbols to every object file using
"common" linkage, a little-known feature added for C that ensures that
only one definition will actually get used in the final object file.
However, the way we were doing that wouldn't work so well for COFF,
and so in 1025eed64 Saleem changed this to use "weak ODR" linkage.
This has *nearly* the same effect, and avoids some other weirdness,
but has the downside of making the symbol in the final dylib "weak"
itself, meaning that some /other/ library could come along and
override it. That impacts loading time, and an Apple-internal tool
caught that as rdar://39019606.

To avoid this whole mess, "just" emit the symbol into the object file
that corresponds to the first file in the module, which allows us to
mark it as a normal public symbol.

P.S. None of this is actually important at the moment because all of
the overlays are built with single-threaded WMO, which always produces
one object file anyway. But I wanted to get it right once and for all.