On Sun, Mar 6, 2016 at 3:07 PM, Emese Revfy <re.em...@gmail.com> wrote: > The sancov gcc plugin inserts a __sanitizer_cov_trace_pc() call > at the start of basic blocks. > > This plugin is a helper plugin for the kcov feature. It supports > all gcc versions with plugin support (from gcc-4.5 on). > It is based on the gcc commit "Add fuzzing coverage support" by Dmitry Vyukov > (https://gcc.gnu.org/viewcvs/gcc?limit_changes=0&view=revision&revision=231296).
Very cool! Dmitry, is this something you could put to good use? > [...] > diff --git a/tools/gcc/sancov_plugin.c b/tools/gcc/sancov_plugin.c > new file mode 100644 > index 0000000..5a9179b > --- /dev/null > +++ b/tools/gcc/sancov_plugin.c > @@ -0,0 +1,133 @@ > +/* > + * Copyright 2011-2016 by Emese Revfy <re.em...@gmail.com> > + * Licensed under the GPL v2, or (at your option) v3 > + * > + * Homepage: > + * https://github.com/ephox-gcc-plugins/sancov > + * > + * This plugin inserts a __sanitizer_cov_trace_pc() call at the start of > basic blocks. > + * It supports all gcc versions with plugin support (from gcc-4.5 on). > + * It is based on the commit "Add fuzzing coverage support" by Dmitry Vyukov > <dvyu...@google.com>. > + * > + * You can read about it more here: > + * > https://gcc.gnu.org/viewcvs/gcc?limit_changes=0&view=revision&revision=231296 > + * http://lwn.net/Articles/674854/ > + * https://github.com/google/syzkaller > + * https://lwn.net/Articles/677764/ > + * > + * Usage: > + * make run Is this accurate? Wouldn't it just be selected from CONFIGs during kernel build? -Kees -- Kees Cook Chrome OS & Brillo Security