[PATCH] D75655: [Docs] Document -lto-whole-program-visibility

Teresa Johnson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 5 13:12:27 PST 2020


tejohnson marked 3 inline comments as done.
tejohnson added a subscriber: evgeny777.
tejohnson added inline comments.


================
Comment at: clang/docs/LTOVisibility.rst:40
+to hidden LTO visibility when the ``-lto-whole-program-visibility`` lld linker
+option is applied (``-plugin-opt=whole_program_visibility`` for gold). This
+can be used when it is known that the LTO link has whole program visibility,
----------------
pcc wrote:
> Isn't it spelled `whole-program-visibility`?
good catch, yes


================
Comment at: clang/docs/LTOVisibility.rst:45
+build system, and the binary will not dlopen any libraries deriving from the
+binary’s classes. This is useful in situations where it is not safe to specify
+``-fvisibility=hidden`` at compile time.
----------------
pcc wrote:
> I thought that the motivation was avoiding duplicate work in the case where you need varying LTO visibility? Otherwise you could just build with and without `-fvisibility=hidden` and it would be the same from an LTO visibility perspective.
Yeah I started to write that out but it seemed too verbose (essentially we can't share a single bitcode object anymore without this, because it isn't safe for all dependent links, which to me is included in "situations where it is not safe to specify -fvisibility=hidden"). Also, on D71913, @evgeny777 mentioned he had a case were the symbol visibility constraints didn't allow for -fvisibility=hidden, but where LTO visibility for vtables can be hidden. I could add something more verbose about my case if you prefer.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75655/new/

https://reviews.llvm.org/D75655





More information about the cfe-commits mailing list