[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170213121418.47f279e8@gandalf.local.home>
Date: Mon, 13 Feb 2017 12:14:18 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Namhyung Kim <namhyung@...nel.org>, Jiri Olsa <jolsa@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] building libtraceevent with clang
On Mon, 13 Feb 2017 13:26:22 -0300
Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
> > diff --git a/tools/lib/traceevent/kbuffer-parse.c b/tools/lib/traceevent/kbuffer-parse.c
> > index 65984f1c2974..2009cb7d9675 100644
> > --- a/tools/lib/traceevent/kbuffer-parse.c
> > +++ b/tools/lib/traceevent/kbuffer-parse.c
> > @@ -315,6 +315,7 @@ static unsigned int old_update_pointers(struct kbuffer *kbuf)
> > extend += delta;
> > delta = extend;
> > ptr += 4;
> > + lenght = 0;
>
> ouch, 'length' :-)
>
> clang provides a really nice error message:
>
> kbuffer-parse.c:318:3: error: use of undeclared identifier 'lenght'; did you mean 'length'?
> lenght = 0;
> ^~~~~~
> length
> kbuffer-parse.c:297:15: note: 'length' declared here
> unsigned int length;
> ^
> 1 error generated.
>
> I only had to test compile it :-)
>
> > break;
> >
> > case OLD_RINGBUF_TYPE_TIME_STAMP:
> >
OK, I pulled the patch into git, and made it official ;-)
I also fixed the "lenght" in the change log too.
Could you use this instead.
-- Steve
>From 4f060a0577156acfdc0524a634f4afcc1657c929 Mon Sep 17 00:00:00 2001
From: "Steven Rostedt (VMware)" <rostedt@...dmis.org>
Date: Mon, 13 Feb 2017 12:11:44 -0500
Subject: [PATCH] tools lib traceevent: Initialize lenght on
OLD_RING_BUFFER_TYPE_TIME_STAMP
A undefined value was being used for the OLD_RING_BUFFER_TYPE_TIME_STAMP
case entry, as the 'length' variable was not being initialized, fix it.
Caught by the reporter when building tools/perf/ using clang, which emmitted
this warning:
kbuffer-parse.c:312:7: warning: variable 'length' is used uninitialized whenever switch case is taken [-Wsometimes-uninitialized]
case OLD_RINGBUF_TYPE_TIME_EXTEND:
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
kbuffer-parse.c:339:29: note: uninitialized use occurs here
kbuf->next = kbuf->index + length;
^~~~~~
kbuffer-parse.c:297:21: note: initialize the variable 'length' to silence this warning
unsigned int length;
^
= 0
Reported-by: Arnaldo Carvalho de Melo <acme@...hat.com>
Cc: Adrian Hunter <adrian.hunter@...el.com>
Cc: David Ahern <dsahern@...il.com>
Cc: Jiri Olsa <jolsa@...nel.org>
Cc: Namhyung Kim <namhyung@...nel.org>
Cc: Wang Nan <wangnan0@...wei.com>
Link: http://lkml.kernel.org/r/20170210141408.5eeb6e91@gandalf.local.home
Signed-off-by: Steven Rostedt (VMware) <rostedt@...dmis.org>
---
tools/lib/traceevent/kbuffer-parse.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/lib/traceevent/kbuffer-parse.c b/tools/lib/traceevent/kbuffer-parse.c
index 65984f1..c94e364 100644
--- a/tools/lib/traceevent/kbuffer-parse.c
+++ b/tools/lib/traceevent/kbuffer-parse.c
@@ -315,6 +315,7 @@ static unsigned int old_update_pointers(struct kbuffer *kbuf)
extend += delta;
delta = extend;
ptr += 4;
+ length = 0;
break;
case OLD_RINGBUF_TYPE_TIME_STAMP:
--
2.9.3
Powered by blists - more mailing lists