Add a target for branch trace recording.
[binutils-gdb.git] / gdb / objfiles.c
index 0f14f8f7eb29e8fbb393ace1a9335e79eeba592c..3017fdfc7a85e8e18d4a9d8cb7dd69d6d078422c 100644 (file)
@@ -53,6 +53,7 @@
 #include "psymtab.h"
 #include "solist.h"
 #include "gdb_bfd.h"
+#include "btrace.h"
 
 /* Keep a registry of per-objfile data-pointers required by other GDB
    modules.  */
@@ -476,6 +477,9 @@ add_separate_debug_objfile (struct objfile *objfile, struct objfile *parent)
   /* Must not be already in a list.  */
   gdb_assert (objfile->separate_debug_objfile_backlink == NULL);
   gdb_assert (objfile->separate_debug_objfile_link == NULL);
+  gdb_assert (objfile->separate_debug_objfile == NULL);
+  gdb_assert (parent->separate_debug_objfile_backlink == NULL);
+  gdb_assert (parent->separate_debug_objfile_link == NULL);
 
   objfile->separate_debug_objfile_backlink = parent;
   objfile->separate_debug_objfile_link = parent->separate_debug_objfile;
@@ -563,6 +567,9 @@ free_objfile (struct objfile *objfile)
      the symbol file data.  */
   forget_cached_source_info_for_objfile (objfile);
 
+  breakpoint_free_objfile (objfile);
+  btrace_free_objfile (objfile);
+
   /* First do any symbol file specific actions required when we are
      finished with a particular symbol file.  Note that if the objfile
      is using reusable symbol information (via mmalloc) then each of
@@ -1234,9 +1241,6 @@ filter_overlapping_sections (struct obj_section **map, int map_size)
              struct objfile *const objf1 = sect1->objfile;
              struct objfile *const objf2 = sect2->objfile;
 
-             const struct bfd *const abfd1 = objf1->obfd;
-             const struct bfd *const abfd2 = objf2->obfd;
-
              const struct bfd_section *const bfds1 = sect1->the_bfd_section;
              const struct bfd_section *const bfds2 = sect2->the_bfd_section;