From 9eb3d7a29de32bf40e1e05fd134f4aa42054cf24 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Mon, 14 Jun 2021 15:57:29 -0300 Subject: [PATCH] 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 --- btf_encoder.c | 8 +++++--- btf_encoder.h | 2 +- pahole.c | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/btf_encoder.c b/btf_encoder.c index b9a8268..812089b 100644 --- a/btf_encoder.c +++ b/btf_encoder.c @@ -51,6 +51,7 @@ struct btf_encoder { GElf_Ehdr ehdr; bool has_index_type, need_index_type, + skip_encoding_vars, verbose, force, 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->gen_floats = gen_floats; + encoder->skip_encoding_vars = skip_encoding_vars; encoder->verbose = verbose; encoder->has_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; } - if (btf_encoder__collect_symbols(encoder, !skip_encoding_vars)) + if (btf_encoder__collect_symbols(encoder, !encoder->skip_encoding_vars)) goto out_delete; if (encoder->verbose) @@ -1252,7 +1254,7 @@ void btf_encoder__delete(struct btf_encoder *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 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; if (encoder->percpu.shndx == 0 || !encoder->symtab) diff --git a/btf_encoder.h b/btf_encoder.h index 725afdc..2245005 100644 --- a/btf_encoder.h +++ b/btf_encoder.h @@ -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_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_ */ diff --git a/pahole.c b/pahole.c index e3e388e..e393569 100644 --- a/pahole.c +++ b/pahole.c @@ -2479,7 +2479,7 @@ static enum load_steal_kind pahole_stealer(struct cu *cu, 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"); exit(1); }