Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Libomptarget] Build plugins with protected visibility by default
The plugins all define the same interface symbols. This is generally not a problem when calling the plugin directly from the dynamic library's handle. However, when calling from within the plugin itself it is possible for another plugin's symbols to preempt the symbols. This was observed with the `__tgt_rtl_is_valid_binary` call in the `__tgt_rtl_is_valid_binary_info` function being mapped to the x86_64 plugin. This patch changes the default visibility to `protected` intead. This visibility ensures that these symbols are all externally visible from the plugin, but ensures their definitions are fixed within the shared library. Having protected visiiblity makes such symbol preemption impossible. Reviewed By: tianshilei1992 Differential Revision: https://reviews.llvm.org/D136365
- Loading branch information
Showing
4 changed files
with
8 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters