* [PATCH 1/2] bpf: Fix build for disabled CONFIG_DEBUG_INFO_BTF option
@ 2020-07-14 10:25 Jiri Olsa
2020-07-14 10:25 ` [PATCH 2/2] bpf: Fix cross build for " Jiri Olsa
2020-07-14 17:26 ` [PATCH 1/2] bpf: Fix build for disabled " Alexei Starovoitov
0 siblings, 2 replies; 3+ messages in thread
From: Jiri Olsa @ 2020-07-14 10:25 UTC (permalink / raw)
To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko
Cc: Stephen Rothwell, Geert Uytterhoeven, netdev, bpf
Stephen reported following linker warnings on powerpc build:
ld: warning: orphan section `.BTF_ids' from `kernel/trace/bpf_trace.o' being placed in section `.BTF_ids'
ld: warning: orphan section `.BTF_ids' from `kernel/bpf/btf.o' being placed in section `.BTF_ids'
ld: warning: orphan section `.BTF_ids' from `kernel/bpf/stackmap.o' being placed in section `.BTF_ids'
ld: warning: orphan section `.BTF_ids' from `net/core/filter.o' being placed in section `.BTF_ids'
ld: warning: orphan section `.BTF_ids' from `kernel/trace/bpf_trace.o' being placed in section `.BTF_ids'
It's because we generated .BTF_ids section even when
CONFIG_DEBUG_INFO_BTF is not enabled. Fixing this by
generating empty btf_id arrays for this case.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
include/linux/btf_ids.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/include/linux/btf_ids.h b/include/linux/btf_ids.h
index fe019774f8a7..b3c73db9587c 100644
--- a/include/linux/btf_ids.h
+++ b/include/linux/btf_ids.h
@@ -3,6 +3,8 @@
#ifndef _LINUX_BTF_IDS_H
#define _LINUX_BTF_IDS_H
+#ifdef CONFIG_DEBUG_INFO_BTF
+
#include <linux/compiler.h> /* for __PASTE */
/*
@@ -83,5 +85,12 @@ asm( \
".zero 4 \n" \
".popsection; \n");
+#else
+
+#define BTF_ID_LIST(name) static u32 name[5];
+#define BTF_ID(prefix, name)
+#define BTF_ID_UNUSED
+
+#endif /* CONFIG_DEBUG_INFO_BTF */
#endif
--
2.25.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] bpf: Fix cross build for CONFIG_DEBUG_INFO_BTF option
2020-07-14 10:25 [PATCH 1/2] bpf: Fix build for disabled CONFIG_DEBUG_INFO_BTF option Jiri Olsa
@ 2020-07-14 10:25 ` Jiri Olsa
2020-07-14 17:26 ` [PATCH 1/2] bpf: Fix build for disabled " Alexei Starovoitov
1 sibling, 0 replies; 3+ messages in thread
From: Jiri Olsa @ 2020-07-14 10:25 UTC (permalink / raw)
To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko
Cc: kernel test robot, Stephen Rothwell, Geert Uytterhoeven, netdev, bpf
Stephen and 0-DAY CI Kernel Test Service reported broken cross build
for arm (arm-linux-gnueabi-gcc (GCC) 9.3.0), with following output:
/tmp/ccMS5uth.s: Assembler messages:
/tmp/ccMS5uth.s:69: Error: unrecognized symbol type ""
/tmp/ccMS5uth.s:82: Error: unrecognized symbol type ""
Having '@object' for .type diretive is wrong because '@' is comment
character for some architectures. Using STT_OBJECT instead that should
work everywhere.
Also using HOST* variables to build resolve_btfids so it's properly
build in crossbuilds (stolen from objtool's Makefile).
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
include/linux/btf_ids.h | 2 +-
tools/bpf/resolve_btfids/Makefile | 14 ++++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/include/linux/btf_ids.h b/include/linux/btf_ids.h
index b3c73db9587c..1cdb56950ffe 100644
--- a/include/linux/btf_ids.h
+++ b/include/linux/btf_ids.h
@@ -23,7 +23,7 @@
asm( \
".pushsection " BTF_IDS_SECTION ",\"a\"; \n" \
".local " #symbol " ; \n" \
-".type " #symbol ", @object; \n" \
+".type " #symbol ", STT_OBJECT; \n" \
".size " #symbol ", 4; \n" \
#symbol ": \n" \
".zero 4 \n" \
diff --git a/tools/bpf/resolve_btfids/Makefile b/tools/bpf/resolve_btfids/Makefile
index 948378ca73d4..a88cd4426398 100644
--- a/tools/bpf/resolve_btfids/Makefile
+++ b/tools/bpf/resolve_btfids/Makefile
@@ -16,6 +16,20 @@ else
MAKEFLAGS=--no-print-directory
endif
+# always use the host compiler
+ifneq ($(LLVM),)
+HOSTAR ?= llvm-ar
+HOSTCC ?= clang
+HOSTLD ?= ld.lld
+else
+HOSTAR ?= ar
+HOSTCC ?= gcc
+HOSTLD ?= ld
+endif
+AR = $(HOSTAR)
+CC = $(HOSTCC)
+LD = $(HOSTLD)
+
OUTPUT ?= $(srctree)/tools/bpf/resolve_btfids/
LIBBPF_SRC := $(srctree)/tools/lib/bpf/
--
2.25.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] bpf: Fix build for disabled CONFIG_DEBUG_INFO_BTF option
2020-07-14 10:25 [PATCH 1/2] bpf: Fix build for disabled CONFIG_DEBUG_INFO_BTF option Jiri Olsa
2020-07-14 10:25 ` [PATCH 2/2] bpf: Fix cross build for " Jiri Olsa
@ 2020-07-14 17:26 ` Alexei Starovoitov
1 sibling, 0 replies; 3+ messages in thread
From: Alexei Starovoitov @ 2020-07-14 17:26 UTC (permalink / raw)
To: Jiri Olsa
Cc: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Stephen Rothwell, Geert Uytterhoeven, Network Development, bpf
On Tue, Jul 14, 2020 at 3:25 AM Jiri Olsa <jolsa@kernel.org> wrote:
>
> Stephen reported following linker warnings on powerpc build:
>
> ld: warning: orphan section `.BTF_ids' from `kernel/trace/bpf_trace.o' being placed in section `.BTF_ids'
> ld: warning: orphan section `.BTF_ids' from `kernel/bpf/btf.o' being placed in section `.BTF_ids'
> ld: warning: orphan section `.BTF_ids' from `kernel/bpf/stackmap.o' being placed in section `.BTF_ids'
> ld: warning: orphan section `.BTF_ids' from `net/core/filter.o' being placed in section `.BTF_ids'
> ld: warning: orphan section `.BTF_ids' from `kernel/trace/bpf_trace.o' being placed in section `.BTF_ids'
>
> It's because we generated .BTF_ids section even when
> CONFIG_DEBUG_INFO_BTF is not enabled. Fixing this by
> generating empty btf_id arrays for this case.
>
> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Applied both to bpf-next. Thanks for the quick fix.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-07-14 17:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-14 10:25 [PATCH 1/2] bpf: Fix build for disabled CONFIG_DEBUG_INFO_BTF option Jiri Olsa
2020-07-14 10:25 ` [PATCH 2/2] bpf: Fix cross build for " Jiri Olsa
2020-07-14 17:26 ` [PATCH 1/2] bpf: Fix build for disabled " Alexei Starovoitov
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.