tejohnson added a comment.

In D75655#1920036 <https://reviews.llvm.org/D75655#1920036>, @evgeny777 wrote:

> @pcc
>
> > That case seems somewhat questionable to me. If the symbols are being 
> > exported, it is presumably for the purpose of allowing the symbols to be 
> > used outside of the defining DSO. But LTO visibility based optimizations 
> > could make any such use of the symbols unsafe. For example with WPD it's 
> > unsafe to derive outside of the defining DSO and with dead virtual function 
> > elimination it's unsafe to call virtual functions outside of the defining 
> > DSO.
>
> True, but still direct (cross DSO) calls and globals accesses are possible 
> and do not require explicitly setting visibility everywhere. That was my 
> point.


Not sure if we have come to a resolution here. @evgeny777 it sounds like you 
want symbols that can be direct called not to be marked hidden while still 
allowing for hidden LTO visibility for virtual functions. Which my change will 
support, but it sounds like it could be dangerous if not used carefully (i.e. 
if you don't know for sure that virtual symbols are only called within their 
defining DSO). Is this a correct summary?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D75655



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to