On 09/09/2014 10:08 PM, Arnaldo Carvalho de Melo wrote:
> Em Tue, Sep 09, 2014 at 11:48:20AM +0300, Adrian Hunter escreveu:
>> On 09/09/2014 12:17 AM, Arnaldo Carvalho de Melo wrote:
>>> Hi Ingo,
>>>
>>>     Please consider pulling,
>>>
>>> - Arnaldo
>>
>> I am very sorry Arnaldo but 2 patches are older versions, namely:
>>
>>      perf tools: Build programs to copy 32-bit compatibility VDSOs
>>      perf tools: Add support for 32-bit compatibility VDSOs
>>
>> Up-to-date versions can be found from 15 August:
>>
>>      patchwork:
>>
>>              https://patchwork.kernel.org/patch/4729131/
>>              https://patchwork.kernel.org/patch/4729111/
> 
> Ok, those don't apply, as it expects other stuff, that you sent before,
> but were not processed yet, to be in place, I'm fixing it up.
> 

Something like this might prevent Ingo's error message:


From: Adrian Hunter <[email protected]>
Date: Wed, 10 Sep 2014 16:14:50 +0300
Subject: [PATCH] perf tools: Do not attempt to run perf-read-vdso32 if it
 wasn't built

popen() causes an error message to print if perf-read-vdso32
does not run.  Avoid that by not trying to run it if it was
not built.  Ditto perf-read-vdsox32.

Signed-off-by: Adrian Hunter <[email protected]>
---
 tools/perf/config/Makefile |  8 ++++++--
 tools/perf/util/vdso.c     | 10 ++++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index 3ba2382..71264e4 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -627,7 +627,9 @@ endif
 ifeq (${IS_64_BIT}, 1)
   ifndef NO_PERF_READ_VDSO32
     $(call feature_check,compile-32)
-    ifneq ($(feature-compile-32), 1)
+    ifeq ($(feature-compile-32), 1)
+      CFLAGS += -DHAVE_PERF_READ_VDSO32
+    else
       NO_PERF_READ_VDSO32 := 1
     endif
   endif
@@ -636,7 +638,9 @@ ifeq (${IS_64_BIT}, 1)
   endif
   ifndef NO_PERF_READ_VDSOX32
     $(call feature_check,compile-x32)
-    ifneq ($(feature-compile-x32), 1)
+    ifeq ($(feature-compile-x32), 1)
+      CFLAGS += -DHAVE_PERF_READ_VDSOX32
+    else
       NO_PERF_READ_VDSOX32 := 1
     endif
   endif
diff --git a/tools/perf/util/vdso.c b/tools/perf/util/vdso.c
index 69daef6..5c7dd79 100644
--- a/tools/perf/util/vdso.c
+++ b/tools/perf/util/vdso.c
@@ -255,6 +255,16 @@ static int vdso__dso_findnew_compat(struct machine
*machine,
        enum dso_type dso_type;

        dso_type = machine__thread_dso_type(machine, thread);
+
+#ifndef HAVE_PERF_READ_VDSO32
+       if (dso_type == DSO__TYPE_32BIT)
+               return 0;
+#endif
+#ifndef HAVE_PERF_READ_VDSOX32
+       if (dso_type == DSO__TYPE_X32BIT)
+               return 0;
+#endif
+
        switch (dso_type) {
        case DSO__TYPE_32BIT:
                *dso = vdso__findnew_compat(machine, &vdso_info->vdso32);
-- 
1.8.3.2



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to