https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98765
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- --- gcc/dwarf2out.c.jj 2021-01-20 08:32:09.612958930 +0100 +++ gcc/dwarf2out.c 2021-01-20 13:49:42.367772872 +0100 @@ -4733,7 +4733,9 @@ int reset_indirect_string (indirect_string_node **h, void *) { struct indirect_string_node *node = *h; - if (node->form == DW_FORM_strp || node->form == dwarf_FORM (DW_FORM_strx)) + if (node->form == DW_FORM_strp + || node->form == DW_FORM_line_strp + || node->form == dwarf_FORM (DW_FORM_strx)) { free (node->label); node->label = NULL; fixes it but the string is then emitted into .debug_str rather than .debug_line_str in the non-.gnu.debuglto_* case.