readelf: Only lookup files and show errors in attr_callback when not silent.
authorMark Wielaard <mark@klomp.org>
Fri, 13 Apr 2018 12:56:48 +0000 (14:56 +0200)
committerMark Wielaard <mark@klomp.org>
Fri, 13 Apr 2018 13:06:16 +0000 (15:06 +0200)
We recently added a couple more sanity checks and show an error when
attributes that represent files cannot be resolved. We should only do
this when the attr_callback should print the attribute information.
When not (for example when not showing the .debug_info section, but
only collecting information about the CUs containing pointers into
other sections) we don't need to lookup the file names, nor print
the errors/warnings.

Signed-off-by: Mark Wielaard <mark@klomp.org>
src/ChangeLog
src/readelf.c

index 55eb279..068c87b 100644 (file)
@@ -1,3 +1,7 @@
+2018-04-14  Mark Wielaard  <mark@klomp.org>
+
+       * readelf.c (attr_callback): Only show errors when not silent.
+
 2018-03-23  Mark Wielaard  <mark@klomp.org>
 
        * readelf.c (attr_callback): Handle DW_FORM_strx[1234].
index 3fb5ee6..8c0ef6c 100644 (file)
@@ -6253,6 +6253,9 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
        case DW_AT_decl_file:
        case DW_AT_call_file:
          {
+           if (cbargs->silent)
+             break;
+
            /* Try to get the actual file, the current interface only
               gives us full paths, but we only want to show the file
               name for now.  */