On Wed, Jan 23, 2019 at 07:15:07PM -0800, Stanislav Fomichev wrote: > On 01/23, Alexei Starovoitov wrote: > > On Wed, Jan 23, 2019 at 09:24:35AM -0800, Stanislav Fomichev wrote: > > > Before: > > > $ make -s -C tools/testing/selftests/bpf > > > readelf: Error: Missing knowledge of 32-bit reloc types used in DWARF > > > sections of machine number 247 > > > readelf: Warning: unable to apply unsupported reloc type 10 to section > > > .debug_info > > > readelf: Warning: unable to apply unsupported reloc type 1 to section > > > .debug_info > > > readelf: Warning: unable to apply unsupported reloc type 10 to section > > > .debug_info > > > > > > After: > > > $ make -s -C tools/testing/selftests/bpf > > > > > > Signed-off-by: Stanislav Fomichev <s...@google.com> > > > --- > > > tools/testing/selftests/bpf/Makefile | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/tools/testing/selftests/bpf/Makefile > > > b/tools/testing/selftests/bpf/Makefile > > > index 70229de510f5..ff3cab5525c1 100644 > > > --- a/tools/testing/selftests/bpf/Makefile > > > +++ b/tools/testing/selftests/bpf/Makefile > > > @@ -131,7 +131,7 @@ BTF_PAHOLE_PROBE := $(shell $(BTF_PAHOLE) --help 2>&1 > > > | grep BTF) > > > BTF_OBJCOPY_PROBE := $(shell $(LLVM_OBJCOPY) --help 2>&1 | grep -i > > > 'usage.*llvm') > > > BTF_LLVM_PROBE := $(shell echo "int main() { return 0; }" | \ > > > $(CLANG) -target bpf -O2 -g -c -x c - -o > > > ./llvm_btf_verify.o; \ > > > - readelf -S ./llvm_btf_verify.o | grep BTF; \ > > > + readelf -S ./llvm_btf_verify.o 2>/dev/null | grep > > > BTF; \ > > > /bin/rm -f ./llvm_btf_verify.o) > > > > Silencing the warning may hide real issue later. > > I'd rather fix whatever is necessary in readelf. > > Does it use bfd? if so bpf support for bfd was practically complete. > Are you concerned about the situation where llvm has btf support, but > readelf (binutils) is unaware of it? In this case, we should probably > use llvm's readelf (llvm-readelf binary). We already have a precedent of > using llvm's tools with LLVM_OBJCOPY. Let me try it out tomorrow.
llvm-readelf or llvm-objdump are fine options too.