* objfiles.c (gdb_bfd_unref): Use the bfd_usrdata accessor.
	* solib.c (symbol_add_stub): Likewise.
	* symfile.c (symfile_bfd_open): Assert BFD_USRDATA is NULL.
This commit is contained in:
Jan Kratochvil
2009-08-10 22:09:22 +00:00
parent 62cc2e1fa2
commit 4f6f9936b6
4 changed files with 12 additions and 3 deletions

View File

@@ -1,3 +1,9 @@
2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>
* objfiles.c (gdb_bfd_unref): Use the bfd_usrdata accessor.
* solib.c (symbol_add_stub): Likewise.
* symfile.c (symfile_bfd_open): Assert BFD_USRDATA is NULL.
2009-08-10 Paul Pluzhnikov <ppluzhnikov@google.com>
* objfiles.c (qsort_cmp): Remove assert.

View File

@@ -1070,7 +1070,7 @@ gdb_bfd_unref (struct bfd *abfd)
if (abfd == NULL)
return;
p_refcount = abfd->usrdata;
p_refcount = bfd_usrdata (abfd);
/* Valid range for p_refcount: NULL (single owner), or a pointer
to int counter, which has a value of 1 (single owner) or 2 (shared). */
@@ -1083,7 +1083,7 @@ gdb_bfd_unref (struct bfd *abfd)
return;
}
xfree (p_refcount);
abfd->usrdata = NULL; /* Paranoia. */
bfd_usrdata (abfd) = NULL; /* Paranoia. */
name = bfd_get_filename (abfd);
if (!bfd_close (abfd))

View File

@@ -459,7 +459,7 @@ symbol_add_stub (struct so_list *so, int flags)
so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED);
p_refcount = xmalloc (sizeof (*p_refcount));
*p_refcount = 2; /* Both solib and objfile refer to this abfd. */
so->abfd->usrdata = p_refcount;
bfd_usrdata (so->abfd) = p_refcount;
free_section_addr_info (sap);

View File

@@ -1638,6 +1638,9 @@ symfile_bfd_open (char *name)
bfd_errmsg (bfd_get_error ()));
}
/* bfd_usrdata exists for applications and libbfd must not touch it. */
gdb_assert (bfd_usrdata (sym_bfd) == NULL);
return sym_bfd;
}