[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <43E321AF-981C-4D7B-9092-E54F6D10E941@nutanix.com>
Date: Wed, 3 Dec 2025 16:48:28 +0000
From: Jon Kohler <jon@...anix.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
CC: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Namhyung Kim <namhyung@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa
<jolsa@...nel.org>, Ian Rogers <irogers@...gle.com>,
Adrian Hunter
<adrian.hunter@...el.com>,
James Clark <james.clark@...aro.org>,
Tomas Glozar
<tglozar@...hat.com>,
"linux-perf-users@...r.kernel.org"
<linux-perf-users@...r.kernel.org>,
"linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>,
"bpf@...r.kernel.org" <bpf@...r.kernel.org>,
"stable@...r.kernel.org" <stable@...r.kernel.org>
Subject: Re: [PATCH] perf build: build BPF skeletons with fPIC
> On Dec 3, 2025, at 11:43 AM, Arnaldo Carvalho de Melo <acme@...nel.org> wrote:
>
> On Tue, Dec 02, 2025 at 08:55:26PM -0700, Jon Kohler wrote:
>> Fix Makefile.perf to ensure that bpf skeletons are built with fPIC.
>>
>> When building with BUILD_BPF_SKEL=1, bpf_skel's was not getting built
>> with fPIC, seeing compilation failures like:
>>
>> /usr/bin/ld: /builddir/.../tools/perf/util/bpf_skel/.tmp/bootstrap/main.o:
>> relocation R_X86_64_32 against `.rodata.str1.8' can not be used when
>> making a PIE object; recompile with -fPIE
>>
>> Bisected down to 6.18 commit a39516805992 ("tools build: Don't assume
>> libtracefs-devel is always available").
>>
>> Fixes: a39516805992 ("tools build: Don't assume libtracefs-devel is always available")
>
> How come, this patch is just:
It doesn’t make sense to me, but I checked the results of
the bisection by hand and, hand-to-god, reverting commit
a39516805992 unbreaks our build every single time.
Putting a39516805992 back breaks our build 100% of the time.
>
> diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
> index 9c1a69d26f5121fd..531f8fc4f7df9943 100644
> --- a/tools/build/Makefile.feature
> +++ b/tools/build/Makefile.feature
> @@ -83,7 +83,6 @@ FEATURE_TESTS_BASIC := \
> libpython \
> libslang \
> libtraceevent \
> - libtracefs \
> libcpupower \
> pthread-attr-setaffinity-np \
> pthread-barrier \
> diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c
> index e1847db6f8e63750..2df593593b6ec15e 100644
> --- a/tools/build/feature/test-all.c
> +++ b/tools/build/feature/test-all.c
> @@ -150,10 +150,6 @@
> # include "test-libtraceevent.c"
> #undef main
>
> -#define main main_test_libtracefs
> -# include "test-libtracefs.c"
> -#undef main
> -
> int main(int argc, char *argv[])
> {
> main_test_libpython();
> @@ -187,7 +183,6 @@ int main(int argc, char *argv[])
> main_test_reallocarray();
> main_test_libzstd();
> main_test_libtraceevent();
> - main_test_libtracefs();
>
> return 0;
> }
>
>
> ----
>
> And your patch is touching building bpftool? Seems very unrelated :-\
>
> - Arnaldo
>
>> Cc: stable@...r.kernel.org
>> Signed-off-by: Jon Kohler <jon@...anix.com>
>> ---
>> tools/perf/Makefile.perf | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
>> index 02f87c49801f..4557c2e89e88 100644
>> --- a/tools/perf/Makefile.perf
>> +++ b/tools/perf/Makefile.perf
>> @@ -1211,7 +1211,7 @@ endif
>>
>> $(BPFTOOL): | $(SKEL_TMP_OUT)
>> $(Q)CFLAGS= $(MAKE) -C ../bpf/bpftool \
>> - OUTPUT=$(SKEL_TMP_OUT)/ bootstrap
>> + EXTRA_CFLAGS="-fPIC" OUTPUT=$(SKEL_TMP_OUT)/ bootstrap
>>
>> # Paths to search for a kernel to generate vmlinux.h from.
>> VMLINUX_BTF_ELF_PATHS ?= $(if $(O),$(O)/vmlinux) \
>> --
>> 2.43.0
Powered by blists - more mailing lists