.On Tue, May 14, 2019 at 3:41 PM Nathan Chancellor <natechancellor@xxxxxxxxx> wrote: > > Currently, this Makefile hardcodes GNU ar, meaning that if it is not > available, there is no way to supply a different one and the build will > fail. > > $ make AR=llvm-ar CC=clang LD=ld.lld HOSTAR=llvm-ar HOSTCC=clang \ > HOSTLD=ld.lld HOSTLDFLAGS=-fuse-ld=lld defconfig modules_prepare > ... > AR /out/tools/objtool/libsubcmd.a > /bin/sh: 1: ar: not found > ... > > Follow the logic of HOST{CC,LD} and allow the user to specify a > different ar tool via HOSTAR (which is used elsewhere in other > tools/ Makefiles). > > Link: https://github.com/ClangBuiltLinux/linux/issues/481 > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> > --- > tools/objtool/Makefile | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile > index 53f8be0f4a1f..88158239622b 100644 > --- a/tools/objtool/Makefile > +++ b/tools/objtool/Makefile > @@ -7,11 +7,12 @@ ARCH := x86 > endif > > # always use the host compiler > +HOSTAR ?= ar > HOSTCC ?= gcc > HOSTLD ?= ld > +AR = $(HOSTAR) > CC = $(HOSTCC) > LD = $(HOSTLD) > -AR = ar + Kbuild Seems to match what's going on in tools/perf/Makefile.perf and tools/build/Makefile. Thanks for the patch! Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> -- Thanks, ~Nick Desaulniers