diff options
author | Indu Bhagat <indu.bhagat@oracle.com> | 2021-09-29 13:25:39 -0700 |
---|---|---|
committer | Indu Bhagat <indu.bhagat@oracle.com> | 2021-09-29 13:27:19 -0700 |
commit | d6a87d96d7473cbd2404d5dcc7eef36a7f53b2b2 (patch) | |
tree | 187a41df87b75408405c2ac6a1afb0f7b47a9d06 /gcc/btfout.c | |
parent | cd5448f6c534c0d386f6b561ab903ffd5d3884b2 (diff) | |
download | gcc-d6a87d96d7473cbd2404d5dcc7eef36a7f53b2b2.zip gcc-d6a87d96d7473cbd2404d5dcc7eef36a7f53b2b2.tar.gz gcc-d6a87d96d7473cbd2404d5dcc7eef36a7f53b2b2.tar.bz2 |
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.
Diffstat (limited to 'gcc/btfout.c')
-rw-r--r-- | gcc/btfout.c | 8 |
1 files 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; |