From: Aleksandar Markovic <aleksandar.markovic@rt-rk.com> To: qemu-devel@nongnu.org Cc: laurent@vivier.eu, amarkovic@wavecomp.com Subject: [PATCH v5 18/20] configure: Detect kcov support and introduce CONFIG_KCOV Date: Mon, 13 Jan 2020 21:34:41 +0100 Message-ID: <1578947683-21011-19-git-send-email-aleksandar.markovic@rt-rk.com> (raw) In-Reply-To: <1578947683-21011-1-git-send-email-aleksandar.markovic@rt-rk.com> 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 + # 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 -- 2.7.4
next prev parent reply index Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-13 20:34 [PATCH v5 00/20] linux-user: Misc patches for 5.0 Aleksandar Markovic 2020-01-13 20:34 ` [PATCH v5 01/20] linux-user: Fix some constants in termbits.h Aleksandar Markovic 2020-01-14 14:16 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 02/20] linux-user: alpha: Update syscall numbers to kernel 5.5 rc3 level Aleksandar Markovic 2020-01-14 15:12 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 03/20] linux-user: m68k: " Aleksandar Markovic 2020-01-14 15:03 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 04/20] linux-user: microblaze: " Aleksandar Markovic 2020-01-14 15:06 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 05/20] linux-user: mips: " Aleksandar Markovic 2020-01-14 16:39 ` Laurent Vivier 2020-02-04 11:56 ` Aleksandar Markovic 2020-02-04 22:34 ` Laurent Vivier 2020-02-04 22:53 ` Aleksandar Markovic 2020-01-13 20:34 ` [PATCH v5 06/20] linux-user: x86_64: " Aleksandar Markovic 2020-01-14 15:16 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 07/20] linux-user: xtensa: " Aleksandar Markovic 2020-01-14 15:08 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 08/20] linux-user: xtensa: Remove unused constant TARGET_NR_syscall_count Aleksandar Markovic 2020-01-14 14:59 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 09/20] linux-user: Add support for FS_IOC_<GET|SET>VERSION ioctls Aleksandar Markovic 2020-01-14 14:21 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 10/20] linux-user: Add support for FS_IOC32_<GET|SET>FLAGS ioctls Aleksandar Markovic 2020-01-14 14:24 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 11/20] linux-user: Add support for FS_IOC32_<GET|SET>VERSION ioctls Aleksandar Markovic 2020-01-14 14:24 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 12/20] linux-user: Add support for FS_IOC_FS<GET|SET>XATTR ioctls Aleksandar Markovic 2020-01-14 14:29 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 13/20] linux-user: Add support for FITRIM ioctl Aleksandar Markovic 2020-01-14 14:32 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 14/20] linux-user: Add support for FIFREEZE and FITHAW ioctls Aleksandar Markovic 2020-01-14 14:34 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 15/20] linux-user: Add support for FD<SETEMSGTRESH|SETMAXERRS|GETMAXERRS> ioctls Aleksandar Markovic 2020-01-14 14:36 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 16/20] linux-user: Add support for FDFMT<BEG|TRK|END> ioctls Aleksandar Markovic 2020-01-14 14:38 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 17/20] linux-user: Add support for FDGETFDCSTAT ioctl Aleksandar Markovic 2020-01-14 14:42 ` Laurent Vivier 2020-01-13 20:34 ` Aleksandar Markovic [this message] 2020-01-14 14:48 ` [PATCH v5 18/20] configure: Detect kcov support and introduce CONFIG_KCOV Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 19/20] linux-user: Add support for KCOV_<ENABLE|DISABLE> ioctls Aleksandar Markovic 2020-01-14 14:49 ` Laurent Vivier 2020-01-13 20:34 ` [PATCH v5 20/20] linux-user: Add support for KCOV_INIT_TRACE ioctl Aleksandar Markovic 2020-01-14 14:53 ` Laurent Vivier
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1578947683-21011-19-git-send-email-aleksandar.markovic@rt-rk.com \ --to=aleksandar.markovic@rt-rk.com \ --cc=amarkovic@wavecomp.com \ --cc=laurent@vivier.eu \ --cc=qemu-devel@nongnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
QEMU-Devel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/qemu-devel/0 qemu-devel/git/0.git git clone --mirror https://lore.kernel.org/qemu-devel/1 qemu-devel/git/1.git git clone --mirror https://lore.kernel.org/qemu-devel/2 qemu-devel/git/2.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 qemu-devel qemu-devel/ https://lore.kernel.org/qemu-devel \ qemu-devel@nongnu.org public-inbox-index qemu-devel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.nongnu.qemu-devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git