jrtc27 added a comment.

In D108479#3110003 <https://reviews.llvm.org/D108479#3110003>, @rjmccall wrote:

> `std::addressof(&someFunction)` certainly ought to return a signed pointer 
> under ptrauth, so if your goal here is to get a completely unadorned symbol 
> address, I think you do need a different builtin, and it probably ought to 
> return a `void*` to emphasize that it shouldn't be used as a normal value.  
> Maybe it should even be semantically restricted to require a constant decl 
> reference as its operand?  Related and perhaps illuminating question: if it 
> were implementable, would you also want to force the suppression of 
> lazy-binding thunks and/or decorations like the THUMB bit?

Similarly, should it point to the descriptor or the entry point for ABIs with 
function descriptors? Personally I think trying to generalise this builtin just 
opens a huge can of worms when you look at other architectures and ABIs (and 
what it does can have implications for CHERI/Morello where we have various 
weird experimental ABIs), so you may just be best off having the original 
specialised builtin with very clear semantics.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D108479

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

Reply via email to