From: Andrii Nakryiko <andriin@fb.com>
To: <bpf@vger.kernel.org>, <netdev@vger.kernel.org>, <ast@fb.com>,
<daniel@iogearbox.net>
Cc: <andrii.nakryiko@gmail.com>, <kernel-team@fb.com>,
Andrii Nakryiko <andriin@fb.com>
Subject: [PATCH v3 bpf-next 2/3] libbpf: remove BPF_EMBED_OBJ macro from libbpf.h
Date: Tue, 17 Dec 2019 21:25:51 -0800 [thread overview]
Message-ID: <20191218052552.2915188-3-andriin@fb.com> (raw)
In-Reply-To: <20191218052552.2915188-1-andriin@fb.com>
Drop BPF_EMBED_OBJ and struct bpf_embed_data now that skeleton automatically
embeds contents of its source object file. While BPF_EMBED_OBJ is useful
independently of skeleton, we are currently don't have any use cases utilizing
it, so let's remove them until/if we need it.
Acked-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
---
tools/lib/bpf/libbpf.h | 35 -----------------------------------
1 file changed, 35 deletions(-)
diff --git a/tools/lib/bpf/libbpf.h b/tools/lib/bpf/libbpf.h
index 6340823871e2..f7084235bae9 100644
--- a/tools/lib/bpf/libbpf.h
+++ b/tools/lib/bpf/libbpf.h
@@ -600,41 +600,6 @@ bpf_program__bpil_offs_to_addr(struct bpf_prog_info_linear *info_linear);
*/
LIBBPF_API int libbpf_num_possible_cpus(void);
-struct bpf_embed_data {
- void *data;
- size_t size;
-};
-
-#define BPF_EMBED_OBJ_DECLARE(NAME) \
-extern struct bpf_embed_data NAME##_embed; \
-extern char NAME##_data[]; \
-extern char NAME##_data_end[];
-
-#define __BPF_EMBED_OBJ(NAME, PATH, SZ, ASM_TYPE) \
-asm ( \
-" .pushsection \".rodata\", \"a\", @progbits \n" \
-" .global "#NAME"_data \n" \
-#NAME"_data: \n" \
-" .incbin \"" PATH "\" \n" \
-" .global "#NAME"_data_end \n" \
-#NAME"_data_end: \n" \
-" .global "#NAME"_embed \n" \
-" .type "#NAME"_embed, @object \n" \
-" .size "#NAME"_size, "#SZ" \n" \
-" .align 8, \n" \
-#NAME"_embed: \n" \
-" "ASM_TYPE" "#NAME"_data \n" \
-" "ASM_TYPE" "#NAME"_data_end - "#NAME"_data \n" \
-" .popsection \n" \
-); \
-BPF_EMBED_OBJ_DECLARE(NAME)
-
-#if __SIZEOF_POINTER__ == 4
-#define BPF_EMBED_OBJ(NAME, PATH) __BPF_EMBED_OBJ(NAME, PATH, 8, ".long")
-#else
-#define BPF_EMBED_OBJ(NAME, PATH) __BPF_EMBED_OBJ(NAME, PATH, 16, ".quad")
-#endif
-
struct bpf_map_skeleton {
const char *name;
struct bpf_map **map;
--
2.17.1
next prev parent reply other threads:[~2019-12-18 5:26 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-18 5:25 [PATCH v3 bpf-next 0/3] Skeleton improvements and documentation Andrii Nakryiko
2019-12-18 5:25 ` [PATCH v3 bpf-next 1/3] bpftool, selftests/bpf: embed object file inside skeleton Andrii Nakryiko
2019-12-18 5:25 ` Andrii Nakryiko [this message]
2019-12-18 5:25 ` [PATCH v3 bpf-next 3/3] bpftool: add gen subcommand manpage Andrii Nakryiko
2019-12-18 6:23 ` [PATCH v3 bpf-next 0/3] Skeleton improvements and documentation Alexei Starovoitov
2019-12-18 18:31 ` Andrii Nakryiko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191218052552.2915188-3-andriin@fb.com \
--to=andriin@fb.com \
--cc=andrii.nakryiko@gmail.com \
--cc=ast@fb.com \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=kernel-team@fb.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox