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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 17 Jun 2019 10:37:29 -0700
From:   Florian Fainelli <f.fainelli@...il.com>
To:     Jiri Olsa <jolsa@...hat.com>,
        Florian Fainelli <f.fainelli@...il.com>
Cc:     linux-kernel@...r.kernel.org,
        bcm-kernel-feedback-list@...adcom.com,
        Peter Zijlstra <peterz@...radead.org>,
        Ingo Molnar <mingo@...hat.com>,
        Arnaldo Carvalho de Melo <acme@...nel.org>,
        Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
        Namhyung Kim <namhyung@...nel.org>,
        Alexey Budankov <alexey.budankov@...ux.intel.com>,
        Quentin Monnet <quentin.monnet@...ronome.com>,
        Stanislav Fomichev <sdf@...gle.com>,
        Jakub Kicinski <jakub.kicinski@...ronome.com>
Subject: Re: [PATCH] perf: Don't hardcode host include path for libslang

On 6/16/19 2:46 AM, Jiri Olsa wrote:
> On Fri, Jun 14, 2019 at 11:39:47AM -0700, Florian Fainelli wrote:
>> Hardcoding /usr/include/slang is fundamentally incompatible with cross
>> compilation and will lead to the inability for a cross-compiled
>> environment to properly detect whether slang is available or not.
>>
>> If /usr/include/slang is necessary that is a distribution specific
>> knowledge that could be solved with either a standard pkg-config .pc
>> file (which slang has) or simply overriding CFLAGS accordingly, but the
>> default perf Makefile should be clean of all of that.
> 
> fedora 30 is ok with this, I guess acme's distro test will
> tell us about the rest ;-)

If this patch somehow breaks a particular distribution (I could test on
everything), the following might be more acceptable:

diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index 4b8244ee65ce..eefeaa9aa208 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -71,6 +71,7 @@ CC ?= $(CROSS_COMPILE)gcc
 CXX ?= $(CROSS_COMPILE)g++
 PKG_CONFIG ?= $(CROSS_COMPILE)pkg-config
 LLVM_CONFIG ?= llvm-config
+LIBSLANG_CFLAGS ?= -I/usr/include/slang

 all: $(FILES)

@@ -181,7 +182,7 @@ $(OUTPUT)test-libaudit.bin:
        $(BUILD) -laudit

 $(OUTPUT)test-libslang.bin:
-       $(BUILD) -I/usr/include/slang -lslang
+       $(BUILD) $(LIBSLANG_CFLAGS) -lslang

 $(OUTPUT)test-libcrypto.bin:
        $(BUILD) -lcrypto
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 85fbcd265351..df3022b213b3 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -636,12 +636,13 @@ ifdef NO_NEWT
 endif

 ifndef NO_SLANG
+  LIBSLANG_CFLAGS?=-I/usr/include/slang
   ifneq ($(feature-libslang), 1)
     msg := $(warning slang not found, disables TUI support. Please
install slang-devel, libslang-dev or libslang2-dev);
     NO_SLANG := 1
   else
     # Fedora has /usr/include/slang/slang.h, but ubuntu
/usr/include/slang.h
-    CFLAGS += -I/usr/include/slang
+    CFLAGS += $(LIBSLANG_CFLAGS)
     CFLAGS += -DHAVE_SLANG_SUPPORT
     EXTLIBS += -lslang
     $(call detected,CONFIG_SLANG)

> 
> jirka
> 
>>
>> Signed-off-by: Florian Fainelli <f.fainelli@...il.com>
>> ---
>>  tools/build/feature/Makefile | 2 +-
>>  tools/perf/Makefile.config   | 1 -
>>  2 files changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
>> index 4b8244ee65ce..f9432d21eff9 100644
>> --- a/tools/build/feature/Makefile
>> +++ b/tools/build/feature/Makefile
>> @@ -181,7 +181,7 @@ $(OUTPUT)test-libaudit.bin:
>>  	$(BUILD) -laudit
>>  
>>  $(OUTPUT)test-libslang.bin:
>> -	$(BUILD) -I/usr/include/slang -lslang
>> +	$(BUILD) -lslang
>>  
>>  $(OUTPUT)test-libcrypto.bin:
>>  	$(BUILD) -lcrypto
>> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
>> index 85fbcd265351..b11134fdf59f 100644
>> --- a/tools/perf/Makefile.config
>> +++ b/tools/perf/Makefile.config
>> @@ -641,7 +641,6 @@ ifndef NO_SLANG
>>      NO_SLANG := 1
>>    else
>>      # Fedora has /usr/include/slang/slang.h, but ubuntu /usr/include/slang.h
>> -    CFLAGS += -I/usr/include/slang
>>      CFLAGS += -DHAVE_SLANG_SUPPORT
>>      EXTLIBS += -lslang
>>      $(call detected,CONFIG_SLANG)
>> -- 
>> 2.17.1
>>


-- 
Florian

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ