They're documented here: https://github.com/kripken/emscripten-fastcomp-clang/blob/master/docs/UndefinedBehaviorSanitizer.rst
It's enabled by default in the standard Emscripten build of clang, though there is currently no ubsan runtime support. On Tuesday, October 24, 2017 at 5:03:48 AM UTC-7, jj wrote: > > This is pretty cool, agreed that it would be worthwhile to have > support for this. > > How does ubsan work in native world? E.g. are there special flags that > LLVM/Clang need to be built with to enable it? Or does it always come > with this support enabled? Are there other flags that one would have > besides -fsanitize=signed-integer-overflow? > > 2017-10-18 2:07 GMT+03:00 Charles Vaughn <[email protected] <javascript:>>: > > > Mocked up a quick PoC to test whether LLVM's ubsan would work with > > Emscripten. > > > > You can find it here: > > https://gist.github.com/hackcasual/7de2f357714505061506df01923f99cd > > > > Compile and run like so: > > > > c:\dev>em++ testub.cc -fsanitize=signed-integer-overflow && node > a.out.js > > Overflow happened 2147483647 + 1 @testub.cc > > > > em++ doesn't seem to hook up the ubsan library, and a cursory > investigation > > of it in the LLVM source leads me to believe it might be challenging to > get > > working with Emscripten. Turning it on for my large, private code base > > (~10MB js for the test suite) showed less than 10 methods needing to be > > defined, so it's probably easier to re-implement the runtime library > > specifically for emscripten. This would also allow for stuff like > debugger > > on UB, or printing Javascript stack traces. For full ubsan support, the > > JSBackend would need to implement the @llvm.objectsize intrinsic, but I > > believe only -fsanitize=object-size depends on it. > > > > -- > > You received this message because you are subscribed to the Google > Groups > > "emscripten-discuss" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to [email protected] <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
