[libcxx-commits] [PATCH] D93003: [libunwind] Fix ELF/Mach-O visibility for unw_getcontext

Ryan Prichard via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Dec 9 23:14:36 PST 2020


rprichard created this revision.
Herald added subscribers: libcxx-commits, mgorny.
Herald added a project: libunwind.
Herald added a reviewer: libunwind.
rprichard requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The unw_getcontext symbol is an alias for __unw_getcontext, a function
written in assembly. Ensure that it is hidden when
LIBUNWIND_HERMETIC_STATIC_LIBRARY is enabled, like the unw_* aliases
for functions written in C++.

Rename the _LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS C define to
_LIBUNWIND_HERMETIC_STATIC_LIBRARY, because a hermetic library needs to
add .hidden/.private_extern for the alias symbol, not just disable the
visibility annotations.

This change also adds a few SYMBOL_NAME calls that were missing.
Perhaps this matters for Apple's WEAK_ALIAS, but it doesn't seem to.

Fixes PR46709.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D93003

Files:
  libunwind/CMakeLists.txt
  libunwind/src/CMakeLists.txt
  libunwind/src/assembly.h
  libunwind/src/config.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93003.310768.patch
Type: text/x-patch
Size: 4526 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20201210/c96409d7/attachment.bin>


More information about the libcxx-commits mailing list