While reading Pedro's note I noticed: >> + const gdb_byte *const idata_contents >> + = gdb_bfd_map_section (idata_section, &idata_size); There's no way to ever release this data. Since it's only used once, it may be better to use bfd_get_full_section_contents, so the memory can be freed when done. Tom