1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/unittests
Michal Gorny 6d3f09db6e [cmake] Pass -Wl,-z,nodelete on Linux to prevent unloading
Prevent unloading shared libraries on Linux when dlclose() is called.
This is necessary since command-line option parsing API relies on
registering the global option instances in the option parser instance
which can be loaded in a different shared library.

Given that we can't reliably remove those options when a library is
unloaded, the parser ends up containing dangling references. Since glibc
has relatively complex library unloading rules, some of the LLVM
libraries can be unloaded while others (including the Support library)
stay loaded causing quite a mayhem. To reliably prevent that, just
forbid unloading all libraries -- it's a very bad idea anyway.

While the issue arguably happens only with BUILD_SHARED_LIBS, it may
affect any library reusing llvm::cl interface.

Based on patch provided Ross Hayward on https://bugs.gentoo.org/617154.
Previously hit by Fedora back in Feb 2016:
https://lists.freedesktop.org/archives/mesa-dev/2016-February/107242.html

Differential Revision: https://reviews.llvm.org/D40459

llvm-svn: 319105
2017-11-27 22:23:09 +00:00
..
ADT [NFC] Add missing unit tests for EquivalenceClasses 2017-11-27 11:20:58 +00:00
Analysis [SCEV][NFC] Introduce isSafeToExpandAt function to SCEVExpander 2017-11-16 05:10:56 +00:00
AsmParser
BinaryFormat [BinaryFormat] Fix out of bounds read. 2017-08-31 12:50:42 +00:00
Bitcode Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
CodeGen Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
DebugInfo Fixed the ability to recursively get an attribute value from a DWARFDie. 2017-11-27 22:12:44 +00:00
ExecutionEngine [ORC] Replace decltype with a concrete type to make MSVC happy. 2017-09-29 05:03:43 +00:00
FuzzMutate Re-apply "Introduce FuzzMutate library" 2017-08-21 22:57:06 +00:00
IR Let replaceVTableHolder accept any type. 2017-11-08 22:04:43 +00:00
LineEditor
Linker Fix build for LLVM unittests 2017-09-15 21:12:13 +00:00
MC Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
MI Fix a bunch more layering of CodeGen headers that are in Target 2017-11-17 01:07:10 +00:00
Object
ObjectYAML
Option [GSoC] Flag value completion for clang 2017-06-20 16:31:31 +00:00
ProfileData [Coverage] Use the wrapped segment when a line has entry segments 2017-11-09 02:33:43 +00:00
Support [cmake] Pass -Wl,-z,nodelete on Linux to prevent unloading 2017-11-27 22:23:09 +00:00
Target Reapply "[GlobalISel] Remove the GISelAccessor API." 2017-08-15 22:31:51 +00:00
tools [cfi-verify] Validate there are no register clobbers between CFI-check and instruction execution. 2017-11-15 00:35:26 +00:00
Transforms [asan] Add a full redzone after every stack variable 2017-11-18 01:13:18 +00:00
XRay
CMakeLists.txt Reland 'Classify llvm-cfi-verify.' 2017-10-11 20:35:01 +00:00