cfd16c04f8
Instead of specifying which symbols to hide, we hide all and make a few visible. Some users may be relying on calling internal Blender functions, but Windows is already hiding all of them and this is just not supported. Fixes T99900: crash with some third-party Python libraries since OneAPI Ref T76442 Differential Revision: https://developer.blender.org/D14971
45 lines
751 B
Plaintext
45 lines
751 B
Plaintext
/* Hide all symbols except a few required ones.
|
|
*
|
|
* Otherwise LLVM symbols conflict with Mesa llvm pipe, boost symbols conflict
|
|
* with Luxrender, etc. */
|
|
{
|
|
global:
|
|
/* Essential symbols for the program to start and exit. */
|
|
_bss_start;
|
|
__end;
|
|
_fini;
|
|
_init;
|
|
/* Needed for Python modules to work. */
|
|
Py*;
|
|
_Py*;
|
|
/* Needed for sanitizers. Based on:
|
|
* llvm/compiler-rt/lib/sanitizer_common/scripts/gen_dynamic_list.py. */
|
|
__asan*;
|
|
__lsan*;
|
|
__tsan*;
|
|
__ubsan*;
|
|
__sanitizer*;
|
|
__Znw*;
|
|
__Zna*;
|
|
__Zdl*;
|
|
__Zda*;
|
|
aligned_alloc;
|
|
aligned_free;
|
|
calloc*;
|
|
free;
|
|
mallinfo;
|
|
malloc*;
|
|
mallopt;
|
|
memalign;
|
|
memcpy;
|
|
posix_memalign;
|
|
pthread_*;
|
|
pvalloc;
|
|
realloc*;
|
|
realpath;
|
|
sched_*;
|
|
valloc;
|
|
local:
|
|
*;
|
|
};
|