bdk-blender/source/creator/symbols_unix.map
Brecht Van Lommel cfd16c04f8 Build: hide all symbols except a few required ones on Linux
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
2022-07-29 17:54:32 +02:00

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:
*;
};