Messages in this thread | | | Date | Tue, 21 Oct 2014 14:09:14 +0400 | From | Andrey Ryabinin <> | Subject | Re: [RFC PATCH] UBSan: run-time undefined behavior sanity checker |
| |
On 10/21/2014 01:47 PM, Peter Zijlstra wrote: > On Mon, Oct 20, 2014 at 02:54:59PM +0400, Andrey Ryabinin wrote: >> >> UBSan uses compile-time instrumentation to catch undefined behavior (UB). >> Compiler inserts code that perform certain kinds of >> checks before operations that could cause UB. >> If check fails (i.e. UB detected) __ubsan_handle_* function called. >> to print error message. >> >> So the most of the work is done by compiler. >> This patch just implements ubsan handlers printing errors. >> >> GCC supports this since 4.9, however upcoming GCC 5.0 has >> more checkers implemented. > > It might be useful if you've got a link to the relevant GCC > documentation of this new shiny stuf. >
Documentation is very brief (look for fsanitize=undefined): https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html GCC 4.9.1 doc: https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/Debugging-Options.html
And there is an article which might be interesting: http://developerblog.redhat.com/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan/
| |