Re: [PATCH v3 01/30] bpftool: Avoid adding EXTRA_CFLAGS to HOST_CFLAGS

From: Ian Rogers

Date: Mon Mar 09 2026 - 13:40:51 EST


On Sun, Mar 8, 2026 at 9:46 AM Leo Yan <leo.yan@xxxxxxx> wrote:
>
> Prepare for future changes where EXTRA_CFLAGS may include flags not
> applicable to the host compiler.
>
> Move the HOST_CFLAGS assignment before appending EXTRA_CFLAGS to
> CFLAGS so that HOST_CFLAGS does not inherit flags from EXTRA_CFLAGS.
>
> Signed-off-by: Leo Yan <leo.yan@xxxxxxx>
> ---
> tools/bpf/bpftool/Makefile | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
> index 519ea5cb8ab1c0ee31acc67fc5f96b40e21005c2..3e7d8359e1b2a81a29a47544be8539e3b191a0e8 100644
> --- a/tools/bpf/bpftool/Makefile
> +++ b/tools/bpf/bpftool/Makefile
> @@ -81,6 +81,12 @@ CFLAGS += -DPACKAGE='"bpftool"' -D__EXPORTED_HEADERS__ \
> ifneq ($(BPFTOOL_VERSION),)
> CFLAGS += -DBPFTOOL_VERSION='"$(BPFTOOL_VERSION)"'
> endif
> +
> +# This must be done before appending EXTRA_CFLAGS to CFLAGS to avoid
> +# including flags that are not applicable to the host compiler.
> +HOST_CFLAGS := $(subst -I$(LIBBPF_INCLUDE),-I$(LIBBPF_BOOTSTRAP_INCLUDE),\
> + $(subst $(CLANG_CROSS_FLAGS),,$(CFLAGS)))
> +
> ifneq ($(EXTRA_CFLAGS),)
> CFLAGS += $(EXTRA_CFLAGS)
> endif
> @@ -88,8 +94,6 @@ ifneq ($(EXTRA_LDFLAGS),)
> LDFLAGS += $(EXTRA_LDFLAGS)
> endif
>
> -HOST_CFLAGS := $(subst -I$(LIBBPF_INCLUDE),-I$(LIBBPF_BOOTSTRAP_INCLUDE),\
> - $(subst $(CLANG_CROSS_FLAGS),,$(CFLAGS)))
> HOST_LDFLAGS := $(LDFLAGS)

This isn't an issue with the patch but AI code review is noting that
"LDFLAGS += $(EXTRA_LDFLAGS)" happens above, and then here,
"HOST_LDFLAGS := $(LDFLAGS)". This means something like
EXTRA_LDFLAGS="--sysroot=/my/target" in the build would cause the host
ld to pick up the --sysroot flag and probably break host builds which
likely use the host `bpftool` when cross-compiling (perf's build
should use the host `bpftool`). If the HOST_LDFLAGS were set to
LDFLAGS before EXTRA_LDFLAGS are appended, this would not be an issue.

Thanks,
Ian

> INSTALL ?= install
>
> --
> 2.34.1
>