Message ID | 20230110014504.3120711-1-james.hilliard1@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | af0e26beaa693cc0cb0472b80a33a5831103d22f |
Delegated to: | BPF |
Headers | show |
Series | [bpf-next] bpftool: Add missing quotes to libbpf bootstrap submake vars | expand |
2023-01-09 18:45 UTC-0700 ~ James Hilliard <james.hilliard1@gmail.com> > When passing compiler variables like CC=$(HOSTCC) to a submake > we must ensure the variable is quoted in order to handle cases > where $(HOSTCC) may be multiple binaries. > > For example when using ccache $HOSTCC may be: > "/usr/bin/ccache /usr/bin/gcc" > > If we pass CC without quotes like CC=$(HOSTCC) only the first > "/usr/bin/ccache" part will be assigned to the CC variable which > will cause an error due to dropping the "/usr/bin/gcc" part of > the variable in the submake invocation. > > This fixes errors such as: > /usr/bin/ccache: invalid option -- 'd' > > Signed-off-by: James Hilliard <james.hilliard1@gmail.com> Acked-by: Quentin Monnet <quentin@isovalent.com> Thanks
Hello: This patch was applied to bpf/bpf-next.git (master) by Daniel Borkmann <daniel@iogearbox.net>: On Mon, 9 Jan 2023 18:45:04 -0700 you wrote: > When passing compiler variables like CC=$(HOSTCC) to a submake > we must ensure the variable is quoted in order to handle cases > where $(HOSTCC) may be multiple binaries. > > For example when using ccache $HOSTCC may be: > "/usr/bin/ccache /usr/bin/gcc" > > [...] Here is the summary with links: - [bpf-next] bpftool: Add missing quotes to libbpf bootstrap submake vars https://git.kernel.org/bpf/bpf-next/c/af0e26beaa69 You are awesome, thank you!
diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile index ab20ecc5acce..d40e31bc4c9d 100644 --- a/tools/bpf/bpftool/Makefile +++ b/tools/bpf/bpftool/Makefile @@ -53,7 +53,7 @@ $(LIBBPF_INTERNAL_HDRS): $(LIBBPF_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_HDRS_ $(LIBBPF_BOOTSTRAP): $(wildcard $(BPF_DIR)/*.[ch] $(BPF_DIR)/Makefile) | $(LIBBPF_BOOTSTRAP_OUTPUT) $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_BOOTSTRAP_OUTPUT) \ DESTDIR=$(LIBBPF_BOOTSTRAP_DESTDIR:/=) prefix= \ - ARCH= CROSS_COMPILE= CC=$(HOSTCC) LD=$(HOSTLD) AR=$(HOSTAR) $@ install_headers + ARCH= CROSS_COMPILE= CC="$(HOSTCC)" LD="$(HOSTLD)" AR="$(HOSTAR)" $@ install_headers $(LIBBPF_BOOTSTRAP_INTERNAL_HDRS): $(LIBBPF_BOOTSTRAP_HDRS_DIR)/%.h: $(BPF_DIR)/%.h | $(LIBBPF_BOOTSTRAP_HDRS_DIR) $(call QUIET_INSTALL, $@)
When passing compiler variables like CC=$(HOSTCC) to a submake we must ensure the variable is quoted in order to handle cases where $(HOSTCC) may be multiple binaries. For example when using ccache $HOSTCC may be: "/usr/bin/ccache /usr/bin/gcc" If we pass CC without quotes like CC=$(HOSTCC) only the first "/usr/bin/ccache" part will be assigned to the CC variable which will cause an error due to dropping the "/usr/bin/gcc" part of the variable in the submake invocation. This fixes errors such as: /usr/bin/ccache: invalid option -- 'd' Signed-off-by: James Hilliard <james.hilliard1@gmail.com> --- tools/bpf/bpftool/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)