Fangrui Song
d41ca54775
[ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker()
...
dso_local leads to direct access even if the definition is not within this compilation unit (it is
still in the same linkage unit). On ELF, such a relocation (e.g. R_X86_64_PC32) referencing a
STB_GLOBAL STV_DEFAULT object can cause a linker error in a -shared link.
If the linkage is changed to available_externally, the dso_local flag should be dropped, so that no
direct access will be generated.
The current behavior is benign, because -fpic does not assume dso_local
(clang/lib/CodeGen/CodeGenModule.cpp:shouldAssumeDSOLocal).
If we do that for -fno-semantic-interposition (D73865), there will be an
R_X86_64_PC32 linker error without this patch.
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D74751
2020-04-07 15:46:01 -07:00
..
2020-04-07 15:46:01 -07:00
2019-05-29 16:50:46 +00:00
2019-09-10 23:15:38 +00:00
2019-04-17 17:38:09 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-01-27 07:55:05 -08:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-01-27 07:55:05 -08:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-01-27 07:55:05 -08:00
2020-01-27 07:55:05 -08:00
2020-01-27 07:55:05 -08:00
2020-01-27 07:55:05 -08:00
2019-10-30 17:59:08 -07:00
2020-01-27 07:55:05 -08:00
2020-01-27 07:55:05 -08:00
2020-01-27 07:55:05 -08:00
2020-01-27 07:55:05 -08:00
2020-01-27 07:55:05 -08:00
2020-01-27 07:55:05 -08:00
2020-03-09 14:05:15 +03:00
2019-09-10 23:15:38 +00:00
2019-12-02 13:04:43 -08:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-04-17 17:38:09 +00:00
2019-11-08 17:02:01 -08:00
2019-09-10 23:15:38 +00:00
2020-01-15 19:29:01 +03:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-03-16 07:42:04 -07:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-04-07 15:46:01 -07:00
2019-09-10 23:15:38 +00:00
2019-11-19 12:46:09 +03:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-11-07 15:13:35 +03:00
2019-11-01 13:57:01 -07:00
2019-09-10 23:15:38 +00:00
2020-01-30 10:12:48 -08:00
2020-01-15 19:29:01 +03:00
2020-04-07 15:46:01 -07:00
2020-04-07 15:46:01 -07:00
2019-09-10 23:15:38 +00:00
2020-04-07 15:46:01 -07:00
2020-04-07 15:46:01 -07:00
2020-04-07 15:46:01 -07:00
2020-04-07 15:46:01 -07:00
2020-04-07 15:46:01 -07:00
2020-04-07 15:46:01 -07:00
2020-04-07 15:46:01 -07:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-12-26 18:23:08 -05:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-06-17 09:51:07 +00:00
2019-09-10 23:15:38 +00:00
2020-01-15 19:29:01 +03:00
2019-09-10 23:15:38 +00:00
2019-11-07 15:13:35 +03:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2020-03-01 19:35:58 +02:00
2019-09-10 23:15:38 +00:00
2020-03-02 14:02:13 -08:00
2019-09-10 23:15:38 +00:00
2019-10-22 09:24:12 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-04-17 17:38:09 +00:00
2019-08-28 01:55:06 +00:00
2019-09-10 23:15:38 +00:00
2020-01-30 10:12:48 -08:00
2019-09-10 23:15:38 +00:00
2019-04-17 17:38:09 +00:00
2020-01-17 10:08:42 -08:00
2020-01-14 10:54:03 -08:00
2019-09-10 23:15:38 +00:00
2019-09-10 23:15:38 +00:00
2019-10-22 09:24:12 +00:00
2019-04-17 17:38:09 +00:00
2019-09-10 23:15:38 +00:00
2019-12-04 14:59:27 -08:00
2019-12-04 14:59:27 -08:00
2019-12-05 16:33:54 -08:00