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: <sc2w3tcjcle4zhz72b2jdnyfnhzl6atiecium2dwcmrlvn6syb@n573cdtyldne>
Date: Tue, 10 Feb 2026 11:02:56 +0100
From: Dmitry Dolgov <9erthalion6@...il.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Adrian Hunter <adrian.hunter@...el.com>, 
	Ian Rogers <irogers@...gle.com>, James Clark <james.clark@...aro.org>, 
	Jiri Olsa <jolsa@...nel.org>, Namhyung Kim <namhyung@...nel.org>, 
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, linux-perf-users@...r.kernel.org
Subject: Re: [PATCH 1/1] tools build: Fix rust feature detection

> On Mon, Feb 09, 2026 at 02:27:43PM -0300, Arnaldo Carvalho de Melo wrote:
> Features in FEATURE_TESTS_BASIC will be set as being available if
> test-all.c builds, so since the rust test isn't included in test-all.c,
> we can't have 'rust' in there, remove it from FEATURE_TESTS_BASIC and
> use feature-check so that it tries to build test-rust.bin, doing the
> actual feature detection.

My bad, thanks for fixing it.

> And after installing it:
> 
>   ...                                    rust: [ on  ]
> 
>   $ cat /tmp/build/perf-tools-next/feature/test-rust.make.output
>   $ file /tmp/build/perf-tools-next/feature/test-rust.bin
> /tmp/build/perf-tools-next/feature/test-rust.bin: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9c416edf673ee3705b97bae893a99a6fcf1ee258, for GNU/Linux 3.2.0, with debug_info, not stripped
>   $
>   $ perf -vv | grep RUST
>                   rust: [ on  ]  # HAVE_RUST_SUPPORT

I've noticed few more problem, maybe worth fixing it here as well:

* test-rust.bin is missing from the list of FILES, and thus is not removed by
the clean target. This could lead to a false feature detection, since the
binary stays there.

* Target to build test-rust.bin does not emit a dependencies file.

I've tested the following diff after first having rust installed, then removing
it and building again.

diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index 9ae69d85716..28d4ff0841a 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -73,7 +73,8 @@ FILES=                                          \
          test-clang-bpf-co-re.bin              \
          test-file-handle.bin                  \
          test-libpfm4.bin                      \
-         test-libopenssl.bin
+         test-libopenssl.bin                   \
+         test-rust.bin

 FILES := $(addprefix $(OUTPUT),$(FILES))

@@ -112,7 +113,7 @@ __BUILD = $(CC) $(CFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.c,$(@F)) $(
 __BUILDXX = $(CXX) $(CXXFLAGS) -MD -Wall -Werror -o $@ $(patsubst %.bin,%.cpp,$(@F)) $(LDFLAGS)
   BUILDXX = $(__BUILDXX) > $(@:.bin=.make.output) 2>&1

-__BUILDRS = $(RUSTC) $(RUSTC_FLAGS) -o $@ $(patsubst %.bin,%.rs,$(@F))
+__BUILDRS = $(RUSTC) $(RUSTC_FLAGS) --emit=dep-info=$(patsubst %.bin,%.d,$(@F)),link -o $@ $(patsubst %.bin,%.rs,$(@F))
   BUILDRS = $(__BUILDRS) > $(@:.bin=.make.output) 2>&1

Reviewed-by: Dmitrii Dolgov <9erthalion6@...il.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ