55 lines
2.0 KiB
Diff
55 lines
2.0 KiB
Diff
From zeev.tarantov@gmail.com Sun Apr 22 23:38:36 2012
|
||
From: Zeev Tarantov <zeev.tarantov@gmail.com>
|
||
Date: Mon, 23 Apr 2012 09:37:04 +0300
|
||
Subject: Perf: fix build breakage
|
||
To: "David S. Miller" <davem@davemloft.net>, Arnaldo Carvalho de Melo <acme@redhat.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
|
||
Message-ID: <20120423063704.GA3465@myhost>
|
||
Content-Disposition: inline
|
||
|
||
|
||
From: Zeev Tarantov <zeev.tarantov@gmail.com>
|
||
|
||
[Patch not needed upstream as this is a backport build bugfix - gregkh
|
||
|
||
gcc correctly complains:
|
||
|
||
util/hist.c: In function ‘__hists__add_entry’:
|
||
util/hist.c:240:27: error: invalid type argument of ‘->’ (have ‘struct hist_entry’)
|
||
util/hist.c:241:23: error: invalid type argument of ‘->’ (have ‘struct hist_entry’)
|
||
|
||
for this new code:
|
||
|
||
+ if (he->ms.map != entry->ms.map) {
|
||
+ he->ms.map = entry->ms.map;
|
||
+ if (he->ms.map)
|
||
+ he->ms.map->referenced = true;
|
||
+ }
|
||
|
||
because "entry" is a "struct hist_entry", not a pointer to a struct.
|
||
|
||
In mainline, "entry" is a pointer to struct passed as argument to the function.
|
||
So this is broken during backporting. But obviously not compile tested.
|
||
|
||
Signed-off-by: Zeev Tarantov <zeev.tarantov@gmail.com>
|
||
Cc: Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
|
||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||
|
||
---
|
||
tools/perf/util/hist.c | 4 ++--
|
||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
||
--- a/tools/perf/util/hist.c
|
||
+++ b/tools/perf/util/hist.c
|
||
@@ -237,8 +237,8 @@ struct hist_entry *__hists__add_entry(st
|
||
* mis-adjust symbol addresses when computing
|
||
* the history counter to increment.
|
||
*/
|
||
- if (he->ms.map != entry->ms.map) {
|
||
- he->ms.map = entry->ms.map;
|
||
+ if (he->ms.map != entry.ms.map) {
|
||
+ he->ms.map = entry.ms.map;
|
||
if (he->ms.map)
|
||
he->ms.map->referenced = true;
|
||
}
|