From: Indu Bhagat Date: Wed, 29 Sep 2021 20:25:39 +0000 (-0700) Subject: debug/102507: ICE in btf_finalize when compiling with -gbtf X-Git-Tag: basepoints/gcc-13~4341 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d6a87d96d7473cbd2404d5dcc7eef36a7f53b2b2;p=thirdparty%2Fgcc.git debug/102507: ICE in btf_finalize when compiling with -gbtf Fix the free up of btf_var_ids hash_map in btf_finalize (). gcc/ChangeLog: PR debug/102507 * btfout.c (GTY): Add GTY (()) albeit for cosmetic only purpose. (btf_finalize): Empty the hash_map btf_var_ids. --- diff --git a/gcc/btfout.c b/gcc/btfout.c index cdc6c6378c09..a78781575602 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 *btf_var_ids; +static GTY (()) hash_map *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;