On Thu, Feb 9, 2023 at 6:37 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > Thorsten reported build issue with command line that defined extra > HOSTCFLAGS that were not passed into 'prepare' targets, but were > used to build resolve_btfids objects. > > This results in build fail when these objects are linked together: > > /usr/bin/ld: /build.../tools/bpf/resolve_btfids//libbpf/libbpf.a(libbpf-in.o): > relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE \ > object; recompile with -fPIE > > Fixing this by passing HOSTCFLAGS in EXTRA_CFLAGS as part of > HOST_OVERRIDES variable for prepare targets. > > [1] https://lore.kernel.org/bpf/f7922132-6645-6316-5675-0ece4197bfff@xxxxxxxxxxxxx/ > > Fixes: 56a2df7615fa ("tools/resolve_btfids: Compile resolve_btfids as host program") > Reported-by: Thorsten Leemhuis <linux@xxxxxxxxxxxxx> > Tested-by: Thorsten Leemhuis <linux@xxxxxxxxxxxxx> > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Ian Rogers <irogers@xxxxxxxxxx> Thanks, Ian > --- > tools/bpf/resolve_btfids/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/bpf/resolve_btfids/Makefile b/tools/bpf/resolve_btfids/Makefile > index 2abdd85b4a08..ac548a7baa73 100644 > --- a/tools/bpf/resolve_btfids/Makefile > +++ b/tools/bpf/resolve_btfids/Makefile > @@ -19,7 +19,7 @@ endif > > # Overrides for the prepare step libraries. > HOST_OVERRIDES := AR="$(HOSTAR)" CC="$(HOSTCC)" LD="$(HOSTLD)" ARCH="$(HOSTARCH)" \ > - CROSS_COMPILE="" > + CROSS_COMPILE="" EXTRA_CFLAGS="$(HOSTCFLAGS)" > > RM ?= rm > HOSTCC ?= gcc > -- > 2.39.1 >