From: toojays@toojays.net (John Steele Scott)
Subject: [lttng-dev] UST "Tracepoint signature mismatch" with C99 bool.
Date: Tue, 05 Jun 2012 08:49:53 +0930 [thread overview]
Message-ID: <jqjfqp$juc$1@dough.gmane.org> (raw)
I originally sent this on the 22nd of May, but it looks like it got stuck in moderation since I'm not subscribed. Reposting via gmane.comp.sysutils.lttng.devel . . .
I'm just getting started wiring my up to lttng-ust, and unfortunately
ran into an issue with the first probe I tried, which used a C99 bool
argument.
The problem can be seen by patching the demo test from lttng-ust as
follows:
--- a/tests/demo/ust_tests_demo3.h
+++ b/tests/demo/ust_tests_demo3.h
@@ -22,12 +22,14 @@ extern "C" {
* all copies or substantial portions of the Software.
*/
+#include <stdbool.h>
+
#include <lttng/tracepoint.h>
TRACEPOINT_EVENT(ust_tests_demo3, done,
- TP_ARGS(int, value),
+ TP_ARGS(bool, value),
TP_FIELDS(
- ctf_integer(int, value, value)
+ ctf_integer(bool, value, value)
)
)
Then when the demo is run with LTTNG_UST_DEBUG=1, a warning is shown,
like:
liblttng_ust_tracepoint[3315/3315]: Warning: Tracepoint signature mismatch, not enabling one or more tracepoints. Ensure that the tracepoint probes prototypes match the application. (in set_tracepoint() at tracepoint.c:310)
liblttng_ust_tracepoint[3315/3315]: Warning: Tracepoint "ust_tests_demo3:done" signatures: call: "_Bool, value" vs probe: "bool, value". (in set_tracepoint() at tracepoint.c:312)
It seems that TP_ARGS does not perform preprocessor expansion on the
"bool" type spec, while something underneath TP_FIELDS does. And since
(at least on this Centos 6.2 box) stdbool.h uses a #define rather than a
typedef to make bool equivalent to _Bool, liblttng detects a mismatch.
So in my tracepoint specifications, I need to remember to use the less
attractive _Bool instead of bool.
Perhaps it's worth having a special case for this where the trace/probe
signatures are compared? On the other hand, I guess nobody complained
until now?
cheers,
John
next reply other threads:[~2012-06-04 23:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-04 23:19 John Steele Scott [this message]
2012-06-05 3:12 ` Alexandre Montplaisir
2012-06-05 17:14 ` Mathieu Desnoyers
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='jqjfqp$juc$1@dough.gmane.org' \
--to=toojays@toojays.net \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox