leonardchan added a comment.

> This sounds like something that would be better handled in the build system 
> rather than in source code. In particular, I think you don't actually want to 
> detect "is this translation unit being compiled with ubsan enabled?", you 
> instead want to detect "is the rest of musl libc being compiled with ubsan 
> enabled?" -- you should not compile the stubs themselves with ubsan enabled, 
> because ubsan might insert calls to its runtime at arbitrary places within 
> that translation unit, which means you'll get infinite recursion when one of 
> the ubsan callbacks ends up calling itself.

UBSan doesn't actually instrument these stubs though. We have them initially 
defined to be weakly linked and just call __builtin_trap(), which is be 
replaced when the UBSan runtime eventually gets linked when compiling something 
that uses this libc.

I also imagine it would be convenient for there to be some `__has_feature` to 
detect if any of the UBSan checks are being used.


Repository:
  rL LLVM

https://reviews.llvm.org/D52386



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

Reply via email to