btf_encoder: Pass the 'skip_encoding_vars' to the constructor

Instead of repeatedly passing it to btf_encoder__encode_cu().

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2021-06-14 15:57:29 -03:00
parent 707101ec38
commit 9eb3d7a29d
3 changed files with 7 additions and 5 deletions

View File

@ -51,6 +51,7 @@ struct btf_encoder {
GElf_Ehdr ehdr; GElf_Ehdr ehdr;
bool has_index_type, bool has_index_type,
need_index_type, need_index_type,
skip_encoding_vars,
verbose, verbose,
force, force,
gen_floats; gen_floats;
@ -1176,6 +1177,7 @@ struct btf_encoder *btf_encoder__new(struct cu *cu, struct btf *base_btf, bool s
encoder->force = force; encoder->force = force;
encoder->gen_floats = gen_floats; encoder->gen_floats = gen_floats;
encoder->skip_encoding_vars = skip_encoding_vars;
encoder->verbose = verbose; encoder->verbose = verbose;
encoder->has_index_type = false; encoder->has_index_type = false;
encoder->need_index_type = false; encoder->need_index_type = false;
@ -1220,7 +1222,7 @@ struct btf_encoder *btf_encoder__new(struct cu *cu, struct btf *base_btf, bool s
encoder->percpu.sec_sz = shdr.sh_size; encoder->percpu.sec_sz = shdr.sh_size;
} }
if (btf_encoder__collect_symbols(encoder, !skip_encoding_vars)) if (btf_encoder__collect_symbols(encoder, !encoder->skip_encoding_vars))
goto out_delete; goto out_delete;
if (encoder->verbose) if (encoder->verbose)
@ -1252,7 +1254,7 @@ void btf_encoder__delete(struct btf_encoder *encoder)
free(encoder); free(encoder);
} }
int btf_encoder__encode_cu(struct btf_encoder *encoder, struct cu *cu, bool skip_encoding_vars) int btf_encoder__encode_cu(struct btf_encoder *encoder, struct cu *cu)
{ {
uint32_t type_id_off = btf__get_nr_types(encoder->btf); uint32_t type_id_off = btf__get_nr_types(encoder->btf);
uint32_t core_id; uint32_t core_id;
@ -1335,7 +1337,7 @@ int btf_encoder__encode_cu(struct btf_encoder *encoder, struct cu *cu, bool skip
} }
} }
if (skip_encoding_vars) if (encoder->skip_encoding_vars)
goto out; goto out;
if (encoder->percpu.shndx == 0 || !encoder->symtab) if (encoder->percpu.shndx == 0 || !encoder->symtab)

View File

@ -20,6 +20,6 @@ void btf_encoder__delete(struct btf_encoder *encoder);
int btf_encoder__encode(struct btf_encoder *encoder, const char *detached_filename); int btf_encoder__encode(struct btf_encoder *encoder, const char *detached_filename);
int btf_encoder__encode_cu(struct btf_encoder *encoder, struct cu *cu, bool skip_encoding_vars); int btf_encoder__encode_cu(struct btf_encoder *encoder, struct cu *cu);
#endif /* _BTF_ENCODER_H_ */ #endif /* _BTF_ENCODER_H_ */

View File

@ -2479,7 +2479,7 @@ static enum load_steal_kind pahole_stealer(struct cu *cu,
return LSK__STOP_LOADING; return LSK__STOP_LOADING;
} }
if (btf_encoder__encode_cu(btf_encoder, cu, skip_encoding_btf_vars)) { if (btf_encoder__encode_cu(btf_encoder, cu)) {
fprintf(stderr, "Encountered error while encoding BTF.\n"); fprintf(stderr, "Encountered error while encoding BTF.\n");
exit(1); exit(1);
} }