[binutils-gdb] Speed up readelf and objdump by not looking for DWO links unless the user has requested that they be

Nick Clifton nickc@sourceware.org
Thu Feb 8 12:30:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8de3a6e2afe21ac93d610fa46fbc579a81ea2277

commit 8de3a6e2afe21ac93d610fa46fbc579a81ea2277
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Feb 8 12:29:07 2018 +0000

    Speed up readelf and objdump by not looking for DWO links unless the user has requested that they be displayed/followed.
    
    	PR 22802
    	* dwarf.c (load_separate_debug_file): Return early if the user is
    	not interested in debug links.

Diff:
---
 binutils/ChangeLog | 6 ++++++
 binutils/dwarf.c   | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 1e7e581..5fe9d97 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+2018-02-08  Nick Clifton  <nickc@redhat.com>
+
+	PR 22802
+	* dwarf.c (load_separate_debug_file): Return early if the user is
+	not interested in debug links.
+
 2018-02-06  Nick Clifton  <nickc@redhat.com>
 
 	PR 22793
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 71fdf39..6aca9b7 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -9876,6 +9876,10 @@ load_dwo_file (const char * main_filename)
 void *
 load_separate_debug_file (void * file, const char * filename)
 {
+  /* Skip this operation if we are not interested in debug links.  */
+  if (! do_follow_links && ! do_debug_links)
+    return NULL;
+
   /* See if there is a dwo link.  */
   if (load_debug_section (str, file)
       && load_debug_section (abbrev, file)
@@ -9910,6 +9914,8 @@ load_separate_debug_file (void * file, const char * filename)
     }
 
   if (! do_follow_links)
+    /* The other debug links will be displayed by display_debug_links()
+       so we do not need to do any further processing here.  */
     return NULL;
 
   /* FIXME: We do not check for the presence of both link sections in the same file.  */



More information about the Binutils-cvs mailing list