btf_encoder: Adopt btf__encode_datasec_type() as btf_encoder__add_datasec()

As it is just prep work to call libbpf's btf__add_datasec() for
variables using pahole's data structures populated from another format,
normally DWARF.

So that we can eventually ditch the btf_encoder__verbose and
btf_gen_float globals, making them members of 'struct btf_encoder'.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2021-06-09 09:31:26 -03:00
parent b0f71fabde
commit cc646d93d1
3 changed files with 4 additions and 3 deletions

View File

@ -455,7 +455,7 @@ int btf_encoder__encode(struct btf_encoder *encoder, const char *detached_filena
int err;
if (gobuffer__size(&encoder->percpu_secinfo) != 0)
btf__encode_datasec_type(encoder->btf, PERCPU_SECTION, &encoder->percpu_secinfo);
btf_encoder__add_datasec(encoder, PERCPU_SECTION, &encoder->percpu_secinfo);
if (detached_filename == NULL)
err = btf__encode_in_elf(encoder->btf, encoder->filename, 0);

View File

@ -540,9 +540,10 @@ int32_t btf__encode_var_secinfo(struct gobuffer *buf, uint32_t type,
return gobuffer__add(buf, &si, sizeof(si));
}
int32_t btf__encode_datasec_type(struct btf *btf, const char *section_name,
int32_t btf_encoder__add_datasec(struct btf_encoder *encoder, const char *section_name,
struct gobuffer *var_secinfo_buf)
{
struct btf *btf = encoder->btf;
size_t sz = gobuffer__size(var_secinfo_buf);
uint16_t nr_var_secinfo = sz / sizeof(struct btf_var_secinfo);
struct btf_var_secinfo *last_vsi, *vsi;

View File

@ -32,6 +32,6 @@ int btf_encoder__add_enum_val(struct btf_encoder *encoder, const char *name, int
int32_t btf_encoder__add_func_proto(struct btf_encoder *encoder, struct cu *cu, struct ftype *ftype, uint32_t type_id_off);
int32_t btf_encoder__add_var(struct btf_encoder *encoder, uint32_t type, const char *name, uint32_t linkage);
int32_t btf__encode_var_secinfo(struct gobuffer *buf, uint32_t type, uint32_t offset, uint32_t size);
int32_t btf__encode_datasec_type(struct btf *btf, const char *section_name, struct gobuffer *var_secinfo_buf);
int32_t btf_encoder__add_datasec(struct btf_encoder *encoder, const char *section_name, struct gobuffer *var_secinfo_buf);
#endif /* _LIBBTF_H */