Message ID | 1578947683-21011-19-git-send-email-aleksandar.markovic@rt-rk.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | linux-user: Misc patches for 5.0 | expand |
Le 13/01/2020 à 21:34, Aleksandar Markovic a écrit : > From: Aleksandar Markovic <amarkovic@wavecomp.com> > > kcov is kernel code coverage tracing tool. It requires kernel 4.4+ > compiled with certain kernel options. Its interface consists of > three ioctls. > > This patch checks if kcov support is present on build machine, and > stores the result in variable CONFIG_KCOV, meant to be used in > linux-user code related to the support for above mentioned ioctls. > > Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com> > --- > configure | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/configure b/configure > index 940bf9e..dbdba8f 100755 > --- a/configure > +++ b/configure > @@ -4752,6 +4752,24 @@ if compile_prog "" "" ; then > syncfs=yes > fi > > +# check for kcov support (kernel must be 4.4+, compiled with certain options) > +kcov=no > +cat > $TMPC << EOF > +#include <sys/kcov.h> > + > +int main(void) > +{ > + ioctl(-1, KCOV_ENABLE, NULL); > + ioctl(-1, KCOV_DISABLE, NULL); > + ioctl(-1, KCOV_INIT_TRACE, NULL); > + > + return 0; > +} > +EOF > +if compile_prog "" "" ; then > + kcov=yes > +fi Perhaps a 'check_include sys/kcov.h' is enough? All these defines are present since the first release of the file. Thanks, Laurent
diff --git a/configure b/configure index 940bf9e..dbdba8f 100755 --- a/configure +++ b/configure @@ -4752,6 +4752,24 @@ if compile_prog "" "" ; then syncfs=yes fi +# check for kcov support (kernel must be 4.4+, compiled with certain options) +kcov=no +cat > $TMPC << EOF +#include <sys/kcov.h> + +int main(void) +{ + ioctl(-1, KCOV_ENABLE, NULL); + ioctl(-1, KCOV_DISABLE, NULL); + ioctl(-1, KCOV_INIT_TRACE, NULL); + + return 0; +} +EOF +if compile_prog "" "" ; then + kcov=yes +fi + # Check we have a new enough version of sphinx-build has_sphinx_build() { # This is a bit awkward but works: create a trivial document and @@ -6874,6 +6892,9 @@ fi if test "$syncfs" = "yes" ; then echo "CONFIG_SYNCFS=y" >> $config_host_mak fi +if test "$kcov" = "yes" ; then + echo "CONFIG_KCOV=y" >> $config_host_mak +fi if test "$inotify" = "yes" ; then echo "CONFIG_INOTIFY=y" >> $config_host_mak fi