btf_encoder: Move 'filename' member from btf_elf to btf_encoder

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2021-06-08 10:10:41 -03:00
parent da9d70a16f
commit e27be59f10
4 changed files with 10 additions and 9 deletions

View File

@ -459,7 +459,7 @@ int btf_encoder__encode(const char *detached_filename)
btf__encode_datasec_type(encoder->btfe->btf, PERCPU_SECTION, &encoder->btfe->percpu_secinfo);
if (detached_filename == NULL)
err = btf__encode_in_elf(encoder->btfe->btf, encoder->btfe->filename, 0);
err = btf__encode_in_elf(encoder->btfe->btf, encoder->filename, 0);
else
err = btf__encode_as_raw_file(encoder->btfe->btf, detached_filename);
@ -585,6 +585,10 @@ struct btf_encoder *btf_encoder__new(struct cu *cu, struct btf *base_btf, bool s
struct btf_encoder *encoder = zalloc(sizeof(*encoder));
if (encoder) {
encoder->filename = strdup(cu->filename);
if (encoder->filename == NULL)
goto out_delete;
encoder->btfe = btf_elf__new(cu->filename, cu->elf, base_btf);
if (encoder->btfe == NULL)
goto out_delete;
@ -615,7 +619,7 @@ struct btf_encoder *btf_encoder__new(struct cu *cu, struct btf *base_btf, bool s
encoder->symtab = elf_symtab__new(NULL, cu->elf, &encoder->ehdr);
if (!encoder->symtab) {
if (encoder->verbose)
printf("%s: '%s' doesn't have symtab.\n", __func__, encoder->btfe->filename);
printf("%s: '%s' doesn't have symtab.\n", __func__, encoder->filename);
goto out;
}
@ -626,7 +630,7 @@ struct btf_encoder *btf_encoder__new(struct cu *cu, struct btf *base_btf, bool s
if (!sec) {
if (encoder->verbose)
printf("%s: '%s' doesn't have '%s' section\n", __func__, encoder->btfe->filename, PERCPU_SECTION);
printf("%s: '%s' doesn't have '%s' section\n", __func__, encoder->filename, PERCPU_SECTION);
} else {
encoder->percpu.shndx = elf_ndxscn(sec);
encoder->percpu.base_addr = shdr.sh_addr;
@ -637,7 +641,7 @@ struct btf_encoder *btf_encoder__new(struct cu *cu, struct btf *base_btf, bool s
goto out_delete;
if (encoder->verbose)
printf("File %s:\n", encoder->btfe->filename);
printf("File %s:\n", encoder->filename);
}
out:
return encoder;
@ -652,6 +656,7 @@ void btf_encoder__delete(struct btf_encoder *encoder)
if (encoder == NULL)
return;
zfree(&encoder->filename);
btf_elf__delete(encoder->btfe);
encoder->btfe = NULL;
elf_symtab__delete(encoder->symtab);

View File

@ -29,6 +29,7 @@ struct var_info {
struct btf_encoder {
struct btf_elf *btfe;
const char *filename;
struct elf_symtab *symtab;
GElf_Ehdr ehdr;
bool has_index_type,

View File

@ -57,9 +57,6 @@ struct btf_elf *btf_elf__new(const char *filename, Elf *elf, struct btf *base_bt
return NULL;
btfe->in_fd = -1;
btfe->filename = strdup(filename);
if (btfe->filename == NULL)
goto errout;
btfe->btf = btf__new_empty_split(base_btf);
if (libbpf_get_error(btfe->btf)) {
@ -107,7 +104,6 @@ void btf_elf__delete(struct btf_elf *btfe)
__gobuffer__delete(&btfe->percpu_secinfo);
btf__free(btfe->btf);
btfe->btf = NULL;
zfree(&btfe->filename);
free(btfe);
}

View File

@ -16,7 +16,6 @@
struct btf_elf {
Elf *elf;
struct gobuffer percpu_secinfo;
char *filename;
int in_fd;
struct btf *btf;
};