mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-05 15:15:42 +00:00
objdump: Delete close optimisation
In commitcd6581da62, Nick made an optimisation that was reasonable at the time, but then pr22032 came along and commit7c0ed39626made bfd_close_all_done free memory. So Nick's optimisation is now ineffective, and the comment wrong. * objdump.c (display_file): Delete last_file param. Update caller. Call bfd_close always.
This commit is contained in:
@@ -5932,7 +5932,7 @@ display_any_bfd (bfd *file, int level)
|
||||
}
|
||||
|
||||
static void
|
||||
display_file (char *filename, char *target, bool last_file)
|
||||
display_file (char *filename, char *target)
|
||||
{
|
||||
bfd *file;
|
||||
|
||||
@@ -5951,18 +5951,7 @@ display_file (char *filename, char *target, bool last_file)
|
||||
|
||||
display_any_bfd (file, 0);
|
||||
|
||||
/* This is an optimization to improve the speed of objdump, especially when
|
||||
dumping a file with lots of associated debug informatiom. Calling
|
||||
bfd_close on such a file can take a non-trivial amount of time as there
|
||||
are lots of lists to walk and buffers to free. This is only really
|
||||
necessary however if we are about to load another file and we need the
|
||||
memory back. Otherwise, if we are about to exit, then we can save (a lot
|
||||
of) time by only doing a quick close, and allowing the OS to reclaim the
|
||||
memory for us. */
|
||||
if (! last_file)
|
||||
bfd_close (file);
|
||||
else
|
||||
bfd_close_all_done (file);
|
||||
bfd_close (file);
|
||||
}
|
||||
|
||||
int
|
||||
@@ -6362,11 +6351,11 @@ main (int argc, char **argv)
|
||||
else
|
||||
{
|
||||
if (optind == argc)
|
||||
display_file ("a.out", target, true);
|
||||
display_file ("a.out", target);
|
||||
else
|
||||
for (; optind < argc;)
|
||||
{
|
||||
display_file (argv[optind], target, optind == argc - 1);
|
||||
display_file (argv[optind], target);
|
||||
optind++;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user