mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 10:42:39 +01:00
[libunwind] unw_* alias fixes for ELF and Mach-O
Rename the CMake option, LIBUNWIND_HERMETIC_STATIC_LIBRARY, to LIBUNWIND_HIDE_SYMBOLS. Rename the C macro define, _LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS, to _LIBUNWIND_HIDE_SYMBOLS, because now the macro adds a .hidden directive rather than merely suppress visibility annotations. For ELF, when LIBUNWIND_HIDE_SYMBOLS is enabled, mark unw_getcontext as hidden. This symbol is the only one defined using src/assembly.h's WEAK_ALIAS macro. Other unw_* weak aliases are defined in C++ and are already hidden. Mach-O doesn't support weak aliases, so remove .weak_reference and weak_import. When LIBUNWIND_HIDE_SYMBOLS is enabled, output .private_extern for the unw_* aliases. In assembly.h, add missing SYMBOL_NAME macro invocations, which are used to prefix symbol names with '_' on some targets. Fixes PR46709. Reviewed By: #libunwind, phosek, compnerd, steven_wu Differential Revision: https://reviews.llvm.org/D93003
This commit is contained in:
parent
2bb7c2fdf3
commit
9a2bf8053d
@ -111,7 +111,7 @@ if (libunwind_enable_static) {
|
||||
if (!invoker.export) {
|
||||
cflags = [ "-fvisibility=hidden" ]
|
||||
cflags_cc = [ "-fvisibility-global-new-delete-hidden" ]
|
||||
defines = [ "_LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS" ]
|
||||
defines = [ "_LIBUNWIND_HIDE_SYMBOLS" ]
|
||||
}
|
||||
deps = [ "//compiler-rt/lib/builtins" ]
|
||||
configs += [ ":unwind_config" ]
|
||||
|
Loading…
Reference in New Issue
Block a user