https://sourceware.org/bugzilla/show_bug.cgi?id=29389
--- Comment #10 from Luca Bacci <luca.bacci at outlook dot com> --- The code that repeatedly calls _bfd_coff_link_input_bfd() is in _bfd_coff_final_link(): https://github.com/bminor/binutils-gdb/blob/binutils-2_38/bfd/cofflink.c#L856 for (o = abfd->sections; o != NULL; o = o->next) { for (p = o->map_head.link_order; p != NULL; p = p->next) { if (p->type == bfd_indirect_link_order && bfd_family_coff (p->u.indirect.section->owner)) { sub = p->u.indirect.section->owner; if (! bfd_coff_link_output_has_begun (sub, & flaginfo)) { if (! _bfd_coff_link_input_bfd (&flaginfo, sub)) goto error_return; sub->output_has_begun = true; } } else if (p->type == bfd_section_reloc_link_order || p->type == bfd_symbol_reloc_link_order) { if (! _bfd_coff_reloc_link_order (abfd, &flaginfo, o, p)) goto error_return; } else { if (! _bfd_default_link_order (abfd, info, o, p)) goto error_return; } } } But I don't quite know where the needed memory is freed. I see that hash maps are used, could it be that some hash maps are indexed by filenames? -- You are receiving this mail because: You are on the CC list for the bug.