[PATCH v2 1/3] gdb: Improve cache matching criteria for the bfd cache.

Pedro Alves palves@redhat.com
Mon Aug 17 17:34:00 GMT 2015


On 08/13/2015 01:44 PM, Andrew Burgess wrote:
> Within gdb open bfd objects are reused where possible if an attempt is
> made to reopen a file that is already being debugged.  To spot if the on
> disc file has changed gdb currently examines the mtime of the file and
> compares it to the mtime of the open bfd in the cache.
> 
> A problem exists when the on disc file is being rapidly regenerated, as
> happens, for example, with automated testing.  In some cases the file is
> generated so quickly that the mtime appears not to change, while the on
> disc file has changed.
> 
> This patch extends the bfd cache to also hold the file size of the file,
> the inode of the file, and the device id of the file; gdb can then
> compare filename, file size, mtime, inode, and device id to determine if
> an existing bfd object can be reused.
> 
> gdb/ChangeLog:
> 
> 	* gdb_bfd.c (struct gdb_bfd_data): Add size, inode, and device id
> 	field.
> 	(struct gdb_bfd_cache_search): Likewise.
> 	(eq_bfd): Compare the size, inode, and device id fields.
> 	(gdb_bfd_open): Initialise the size, inode, and device id fields.
> 	(gdb_bfd_ref): Likewise.
> 	(gdb_bfd_unref): Likewise.

OK.

Thanks,
Pedro Alves



More information about the Gdb-patches mailing list