[PATCH v3 1/7] perf tools: Set vdso name to vdso[64,32] depending on platform

From: He Kuang
Date: Thu May 12 2016 - 04:44:17 EST


This is a preparation for cross-platform vdso lookup.

There is a naming confusion about vdso name, vdso buildid generated by
a 32-bit machine stores it with the name 'vdso', but when processing
buildid on a 64-bit machine with the same 'perf.data', perf will
search for vdso named as 'vdso32' and get failed.

This patch uses different names when storing the buildid, i.e. vdso64
for 64-bit machine and vdso32 for 32-bit machine, and eliminates this
naming confusion.

Signed-off-by: He Kuang <hekuang@xxxxxxxxxx>
---
tools/perf/util/vdso.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/vdso.h b/tools/perf/util/vdso.h
index cdc4fab..45e9ef4 100644
--- a/tools/perf/util/vdso.h
+++ b/tools/perf/util/vdso.h
@@ -4,10 +4,15 @@
#include <linux/types.h>
#include <string.h>
#include <stdbool.h>
+#include "util.h"

#define VDSO__MAP_NAME "[vdso]"

-#define DSO__NAME_VDSO "[vdso]"
+#if BITS_PER_LONG == 64
+#define DSO__NAME_VDSO "[vdso64]"
+#else
+#define DSO__NAME_VDSO "[vdso32]"
+#endif
#define DSO__NAME_VDSO32 "[vdso32]"
#define DSO__NAME_VDSOX32 "[vdsox32]"

--
1.8.5.2