Re: linux-next: build warning after merge of the bpf-next tree

From: Alexandre Ghiti
Date: Wed Jan 15 2020 - 15:48:25 EST


On 1/14/20 6:23 AM, Alexei Starovoitov wrote:
On Sun, Jan 12, 2020 at 8:33 PM Zong Li<zong.li@xxxxxxxxxx> wrote:
I'm not quite familiar with btf, so I have no idea why there are two
weak symbols be added in 8580ac9404f6 ("bpf: Process in-kernel BTF")
I can explain what these weak symbols are for, but that won't change
the fact that compiler or linker are buggy. The weak symbols should work
in all cases and compiler should pick correct relocation.
In this case it sounds that compiler picked relative relocation and failed
to reach zero from that address.

Sorry for the response delay: I now agree that there is nothing weird about those
relocations. All compiler/linker I took a look at (arm64, ppc64 and riscv64) correctly
emit an absolute relocation to the address 0 in case of a weak unresolved symbol,
so there's no buggy compiler/linker.

And regarding ppc warning, the kernel being compiled as -pie, the scripts looks
for absolute relocations which it considers as "bad", except for one that is known
to be weak and that is ignored: I have just sent a patch to fix this script so that weak
undefined symbol relocations are not considered as bad.

Thanks,

Alex