-
Notifications
You must be signed in to change notification settings - Fork 14.6k
Closed
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzilladuplicateResolved as duplicateResolved as duplicate
Description
Bugzilla Link | 50237 |
Resolution | DUPLICATE |
Resolved on | May 11, 2021 21:18 |
Version | trunk |
OS | Linux |
Blocks | #48661 |
CC | @bd1976bris,@pogo59,@tstellar |
Extended Description
We should not set CMAKE_CXX_VISIBILITY_PRESET to hidden for llvm Targets
Using this feature is error prone and interacts in subtle ways with the LLVM
codebase.
As an example, llvm::Any::TypeId::Id relies on the uniqueness of the address of a
static variable defined in a template function. hidden visibility implies vague
linkage for that variable, which does not guarantee the uniqueness of the address
across a binary and a shared library. This totally breaks the implementation of
llvm::Any.
See https://gcc.gnu.org/wiki/Visibility and https://gcc.gnu.org/onlinedocs/gcc/Vague-Linkage.html
for more information on that topic.
Proposed patch: https://reviews.llvm.org/D101972
Metadata
Metadata
Assignees
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzilladuplicateResolved as duplicateResolved as duplicate