tools/bpf: Sync btf_ids.h to tools
authorYonghong Song <yhs@fb.com>
Mon, 20 Jul 2020 16:33:59 +0000 (09:33 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 21 Jul 2020 20:26:26 +0000 (13:26 -0700)
Sync kernel header btf_ids.h to tools directory.
Also define macro CONFIG_DEBUG_INFO_BTF before
including btf_ids.h in prog_tests/resolve_btfids.c
since non-stub definitions for BTF_ID_LIST etc. macros
are defined under CONFIG_DEBUG_INFO_BTF. This
prevented test_progs from failing.

Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200720163359.1393079-1-yhs@fb.com
tools/include/linux/btf_ids.h
tools/testing/selftests/bpf/prog_tests/resolve_btfids.c

index fe019774f8a726f414afb07f94973e3e48729588..1cdb56950ffe6b61c3e10a823ed3448a50d00139 100644 (file)
@@ -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 */
 
 /*
@@ -21,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"     \
@@ -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
index 403be6f36cba44cbe874218fbbb42f59bd2fd54d..22d83bba4e91f29ae08d4cd9d0150ca0ea33ac5e 100644 (file)
@@ -6,6 +6,7 @@
 #include <bpf/libbpf.h>
 #include <linux/btf.h>
 #include <linux/kernel.h>
+#define CONFIG_DEBUG_INFO_BTF
 #include <linux/btf_ids.h>
 #include "test_progs.h"