From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:45359) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RPrWd-0001tv-40 for qemu-devel@nongnu.org; Mon, 14 Nov 2011 03:04:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RPrWb-00034Z-MG for qemu-devel@nongnu.org; Mon, 14 Nov 2011 03:04:19 -0500 Received: from e23smtp05.au.ibm.com ([202.81.31.147]:46628) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RPrWb-000342-1N for qemu-devel@nongnu.org; Mon, 14 Nov 2011 03:04:17 -0500 Received: from /spool/local by e23smtp05.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 14 Nov 2011 08:02:08 +1000 Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id pAE80k8s2637842 for ; Mon, 14 Nov 2011 19:00:51 +1100 Received: from d23av03.au.ibm.com (loopback [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id pAE83ovT024181 for ; Mon, 14 Nov 2011 19:03:51 +1100 Message-ID: <4EC0CB63.30805@linux.vnet.ibm.com> Date: Mon, 14 Nov 2011 13:33:47 +0530 From: Harsh Bora MIME-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] Build failure with trace-backend=ust List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, "Aneesh Kumar K. V" , Stefan Hajnoczi Hi, I tried to explore LTTng UST with Qemu and built ust 0.15 (with urcu 0.16 as reqd) and observed that Qemu gives compilation errors when built for trace-backend = ust. See this: [harsh@harshbora v9fs]$ ./configure '--target-list=x86_64-softmmu' '--enable-debug' '--enable-kvm' --enable-trace-backend=ust [harsh@harshbora v9fs]$ make GEN x86_64-softmmu/config-devices.mak GEN config-all-devices.mak GEN qemu-options.texi [.. snip ..] CC qemu-option.o CC cutils.o CC osdep.o In file included from osdep.c:49: trace.h: In function ‘__trace_ust_slavio_misc_update_irq_raise’: trace.h:277: error: ‘void’ must be the only parameter trace.h:277: error: expected expression before ‘)’ token trace.h:277: error: too many arguments to function ‘(void (*)(void *))__tp_it_func’ trace.h: At top level: trace.h:277: error: ‘void’ must be the only parameter trace.h:277: error: ‘void’ must be the only parameter In file included from osdep.c:49: trace.h: In function ‘__trace_ust_slavio_misc_update_irq_lower’: trace.h:280: error: ‘void’ must be the only parameter trace.h:280: error: expected expression before ‘)’ token trace.h:280: error: too many arguments to function ‘(void (*)(void *))__tp_it_func’ trace.h: At top level: trace.h:280: error: ‘void’ must be the only parameter trace.h:280: error: ‘void’ must be the only parameter In file included from osdep.c:49: trace.h: In function ‘__trace_ust_slavio_timer_mem_writel_counter_invalid’: trace.h:352: error: ‘void’ must be the only parameter trace.h:352: error: expected expression before ‘)’ token trace.h:352: error: too many arguments to function ‘(void (*)(void *))__tp_it_func’ [.. snip ..] It appears that all trace-events with void parameter and a descriptive format string (in trace-events file) are thrown back with error. I explored LTTng's ust code and found that it also has a _DECLARE_TRACEPOINT_NOARGS to be used with events with no args (void arg). I see that in qemu we only use DECLARE_TRACE as in commit 7e24e92a0615ee6be036743f2a035554d2ceac56. See below: +linetoh_ust() +{ + local name args argnames + name=$(get_name "$1") + args=$(get_args "$1") + argnames=$(get_argnames "$1") + + cat <