Message ID | 20190904212212.13052-3-ivan.khoronzhuk@linaro.org |
---|---|
State | New |
Headers | show |
Series | [bpf-next,1/8] samples: bpf: Makefile: use --target from cross-compile | expand |
On Fri, Sep 6, 2019 at 4:52 PM Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> wrote: > > On Fri, Sep 06, 2019 at 04:31:39PM -0700, Alexei Starovoitov wrote: > >On Thu, Sep 05, 2019 at 12:22:06AM +0300, Ivan Khoronzhuk wrote: > >> No need to set --target for native build, at least for arm, the > >> default target will be used anyway. In case of arm, for at least > >> clang 5 - 10 it causes error like: > >> > >> clang: warning: unknown platform, assuming -mfloat-abi=soft > >> LLVM ERROR: Unsupported calling convention > >> make[2]: *** [/home/root/snapshot/samples/bpf/Makefile:299: > >> /home/root/snapshot/samples/bpf/sockex1_kern.o] Error 1 > >> > >> Only set to real triple helps: --target=arm-linux-gnueabihf > >> or just drop the target key to use default one. Decision to just > >> drop it and thus default target will be used (wich is native), > >> looks better. > >> > >> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> > >> --- > >> samples/bpf/Makefile | 2 -- > >> 1 file changed, 2 deletions(-) > >> > >> diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile > >> index 61b7394b811e..a2953357927e 100644 > >> --- a/samples/bpf/Makefile > >> +++ b/samples/bpf/Makefile > >> @@ -197,8 +197,6 @@ BTF_PAHOLE ?= pahole > >> ifdef CROSS_COMPILE > >> HOSTCC = $(CROSS_COMPILE)gcc > >> CLANG_ARCH_ARGS = --target=$(notdir $(CROSS_COMPILE:%-=%)) > >> -else > >> -CLANG_ARCH_ARGS = -target $(ARCH) > >> endif > > > >I don't follow here. > >Didn't you introduce this bug in patch 1 and now fixing it in patch 2? > > > > It looks like but that's not true. > Previous patch adds target only for cross compiling, > before the patch the target was used for both, cross compiling and w/o cc. > > This patch removes target only for native build (it's not cross compiling). > > By fact, it's two separate significant changes. How so? before first patch CLANG_ARCH_ARGS is only used under CROSS_COMPILE. After the first patch CLANG_ARCH_ARGS is now suddenly defined w/o CROSS_COMPILE and second patch brings it to the state before first patch.
diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile index 61b7394b811e..a2953357927e 100644 --- a/samples/bpf/Makefile +++ b/samples/bpf/Makefile @@ -197,8 +197,6 @@ BTF_PAHOLE ?= pahole ifdef CROSS_COMPILE HOSTCC = $(CROSS_COMPILE)gcc CLANG_ARCH_ARGS = --target=$(notdir $(CROSS_COMPILE:%-=%)) -else -CLANG_ARCH_ARGS = -target $(ARCH) endif # Don't evaluate probes and warnings if we need to run make recursively
No need to set --target for native build, at least for arm, the default target will be used anyway. In case of arm, for at least clang 5 - 10 it causes error like: clang: warning: unknown platform, assuming -mfloat-abi=soft LLVM ERROR: Unsupported calling convention make[2]: *** [/home/root/snapshot/samples/bpf/Makefile:299: /home/root/snapshot/samples/bpf/sockex1_kern.o] Error 1 Only set to real triple helps: --target=arm-linux-gnueabihf or just drop the target key to use default one. Decision to just drop it and thus default target will be used (wich is native), looks better. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> --- samples/bpf/Makefile | 2 -- 1 file changed, 2 deletions(-) -- 2.17.1