lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YTDB/VuANx5c+5sk@kernel.org>
Date:   Thu, 2 Sep 2021 09:22:21 -0300
From:   Arnaldo Carvalho de Melo <acme@...nel.org>
To:     Leo Yan <leo.yan@...aro.org>
Cc:     James Clark <james.clark@....com>, mathieu.poirier@...aro.org,
        coresight@...ts.linaro.org, linux-perf-users@...r.kernel.org,
        mike.leach@...aro.org, suzuki.poulose@....com,
        Peter Zijlstra <peterz@...radead.org>,
        Ingo Molnar <mingo@...hat.com>,
        Mark Rutland <mark.rutland@....com>,
        Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
        Jiri Olsa <jolsa@...hat.com>,
        Namhyung Kim <namhyung@...nel.org>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] perf build: Report failure for testing feature
 libopencsd

Em Thu, Sep 02, 2021 at 04:18:00PM +0800, Leo Yan escreveu:
> When build perf tool with passing option 'CORESIGHT=1' explicitly, if
> the feature test fails for library libopencsd, the build doesn't
> complain the feature failure and continue to build the tool with
> disabling the CoreSight feature insteadly.
> 
> This patch changes the building behaviour, when build perf tool with the
> option 'CORESIGHT=1' and detect the failure for testing feature
> libopencsd, the build process will be aborted and it shows the complaint
> info.

Thanks, added some committer notes to show that it now works:

commit 8fb36b1f54873870262810d3db10526559e1d6c2
Author: Leo Yan <leo.yan@...aro.org>
Date:   Thu Sep 2 16:18:00 2021 +0800

    perf build: Report failure for testing feature libopencsd
    
    When build perf tool with passing option 'CORESIGHT=1' explicitly, if
    the feature test fails for library libopencsd, the build doesn't
    complain the feature failure and continue to build the tool with
    disabling the CoreSight feature insteadly.
    
    This patch changes the building behaviour, when build perf tool with the
    option 'CORESIGHT=1' and detect the failure for testing feature
    libopencsd, the build process will be aborted and it shows the complaint
    info.
    
    Committer testing:
    
    First make sure there is no opencsd library installed:
    
      $ rpm -qa | grep -i csd
      $ sudo rm -rf `find /usr/local -name "*csd*"`
      $ find /usr/local -name "*csd*"
      $
    
    Then cleanup the perf build output directory:
    
      $ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ;
      $
    
    And try to build explicitely asking for coresight:
    
      $ make O=/tmp/build/perf CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin
      make: Entering directory '/var/home/acme/git/perf/tools/perf'
        BUILD:   Doing 'make -j24' parallel build
        HOSTCC  /tmp/build/perf/fixdep.o
        HOSTLD  /tmp/build/perf/fixdep-in.o
        LINK    /tmp/build/perf/fixdep
      Makefile.config:493: *** Error: No libopencsd library found or the version is not up-to-date. Please install recent libopencsd to build with CORESIGHT=1.  Stop.
      make[1]: *** [Makefile.perf:238: sub-make] Error 2
      make: *** [Makefile:113: install-bin] Error 2
      make: Leaving directory '/var/home/acme/git/perf/tools/perf'
      $
    
    Now install the opencsd library present in Fedora 34:
    
      $ sudo dnf install opencsd-devel
      <SNIP>
      Installed:
        opencsd-1.0.0-1.fc34.x86_64 opencsd-devel-1.0.0-1.fc34.x86_64
      Complete!
      $
    
    Try again building with coresight:
    
      $ make O=/tmp/build/perf CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin
      make: Entering directory '/var/home/acme/git/perf/tools/perf'
        BUILD:   Doing 'make -j24' parallel build
      Makefile.config:493: *** Error: No libopencsd library found or the version is not up-to-date. Please install recent libopencsd to build with CORESIGHT=1.  Stop.
      make[1]: *** [Makefile.perf:238: sub-make] Error 2
      make: *** [Makefile:113: install-bin] Error 2
      make: Leaving directory '/var/home/acme/git/perf/tools/perf'
      $
    
    Since Fedora 34 is pretty recent, one assumes we need to get it from its
    upstream git repository, use rpm to find where that is:
    
      $ rpm -q --qf "%{URL}\n" opencsd
      https://github.com/Linaro/OpenCSD
      $
    
    Go there, clone the repo, build it and install into /usr/local, then try
    again:
    
      $ cd ~acme/git/perf
      $ make O=/tmp/build/perf VF=1 CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin | grep -i opencsd
      ...                    libopencsd: [ on  ]
        PERF_VERSION = 5.14.g454719f67a3d
      $ export LD_LIBRARY_PATH=/usr/local/lib
      $ ldd ~/bin/perf | grep opencsd
            libopencsd_c_api.so.1 => /usr/local/lib/libopencsd_c_api.so.1 (0x00007f28f78a4000)
            libopencsd.so.1 => /usr/local/lib/libopencsd.so.1 (0x00007f28f6a2e000)
      $
    
    Now it works.
    
    Requested-by: Arnaldo Carvalho de Melo <acme@...hat.com>
    Signed-off-by: Leo Yan <leo.yan@...aro.org>
    Tested-by: Arnaldo Carvalho de Melo <acme@...hat.com>
    Cc: Alexander Shishkin <alexander.shishkin@...ux.intel.com>
    Cc: James Clark <james.clark@....com>
    Cc: Jiri Olsa <jolsa@...hat.com>
    Cc: Mark Rutland <mark.rutland@....com>
    Cc: Mathieu Poirier <mathieu.poirier@...aro.org>
    Cc: Mike Leach <mike.leach@...aro.org>
    Cc: Namhyung Kim <namhyung@...nel.org>
    Cc: Peter Zijlstra <peterz@...radead.org>
    Cc: Suzuki Poulouse <suzuki.poulose@....com>
    Cc: coresight@...ts.linaro.org
    Link: http://lore.kernel.org/lkml/20210902081800.550016-1-leo.yan@linaro.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>

diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index b051c0c312c5243a..b66cf128cbc76d07 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -489,6 +489,8 @@ ifdef CORESIGHT
         CFLAGS += -DCS_RAW_PACKED
       endif
     endif
+  else
+    dummy := $(error Error: No libopencsd library found or the version is not up-to-date. Please install recent libopencsd to build with CORESIGHT=1)
   endif
 endif
 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ