On Tue, Sep 28, 2021 at 8:41 PM Indu Bhagat via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > Fix the free'up of btf_var_ids hash_map in btf_finalize ().
OK. > Testing notes: > > - Bootstrapped GCC with -gbtf as an experiment. > - Usual bootstrap and regression testing on x86_64. > - BPF backend testing - make all-gcc, reg tested bpf.exp, btf.exp and ctf.exp. > (tested using David Faust's config.gcc patch posted earlier > https://gcc.gnu.org/pipermail/gcc-patches/2021-September/580422.html) > > gcc/ChangeLog: > > PR debug/102507 > * btfout.c (GTY): Add GTY (()) albeit for cosmetic only purpose. > (btf_finalize): Empty the hash_map btf_var_ids. > --- > gcc/btfout.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/gcc/btfout.c b/gcc/btfout.c > index cdc6c63..a787815 100644 > --- a/gcc/btfout.c > +++ b/gcc/btfout.c > @@ -70,7 +70,7 @@ static char btf_info_section_label[MAX_BTF_LABEL_BYTES]; > converted to BTF_KIND_VAR type records. Strictly accounts for the index > from the start of the variable type entries, does not include the number > of types emitted prior to the variable records. */ > -static hash_map <ctf_dvdef_ref, unsigned int> *btf_var_ids; > +static GTY (()) hash_map <ctf_dvdef_ref, unsigned> *btf_var_ids; > > /* Mapping of type IDs from original CTF ID to BTF ID. Types do not map > 1-to-1 from CTF to BTF. To avoid polluting the CTF container when updating > @@ -1119,12 +1119,12 @@ btf_finalize (void) > > funcs = NULL; > > + btf_var_ids->empty (); > + btf_var_ids = NULL; > + > free (btf_id_map); > btf_id_map = NULL; > > - ggc_free (btf_var_ids); > - btf_var_ids = NULL; > - > ctf_container_ref tu_ctfc = ctf_get_tu_ctfc (); > ctfc_delete_container (tu_ctfc); > tu_ctfc = NULL; > -- > 1.8.3.1 >