scott.linder added a comment.

In D53153#1317977 <https://reviews.llvm.org/D53153#1317977>, @rjmccall wrote:

> I think `-fvisibility=hidden` isn't good enough because you want to infer 
> hidden visibility even for external symbol references, and that's just not 
> how global visibility works.  But after this discussion, I'm prepared to 
> accept that (1) we should have some sort of single-image compiler mode that 
> implies that all symbols are defined within the image and (2) you can make 
> your toolchain imply that together with `-fvisibility=hidden` and then have 
> specific symbols opt in to non-hidden visibility if they need to be 
> accessible to whatever loader / runtime you have.


It seems that explicit visibility attributes on external symbol references 
(e.g. `__attribute__((visibility("hidden"))) extern int foo;`) are respected in 
Clang, so I don't understand the rationale for global visibility controls not 
applying to them as well. Can you describe why this is the case?


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

https://reviews.llvm.org/D53153



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

Reply via email to