Remind users to use the --use-dynamic command line option to dump dynamic relocations.
authorNick Clifton <nickc@redhat.com>
Tue, 31 Oct 2017 13:48:03 +0000 (13:48 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 31 Oct 2017 13:48:03 +0000 (13:48 +0000)
* readelf.c (process_relocs): Tell users if no static relocs were
found, but if they had added --use-dynamic to the command line
then relocs would have been displayed.

binutils/ChangeLog
binutils/readelf.c

index d0cd3c7..951807f 100644 (file)
@@ -1,3 +1,9 @@
+2017-10-31  Nick Clifton  <nickc@redhat.com>
+
+       * readelf.c (process_relocs): Tell users if no static relocs were
+       found, but if they had added --use-dynamic to the command line
+       then relocs would have been displayed.
+
 2017-10-28  Alan Modra  <amodra@gmail.com>
 
        PR 22361
index 58c28db..f74d484 100644 (file)
@@ -7150,7 +7150,21 @@ process_relocs (FILE * file)
        }
 
       if (! found)
-       printf (_("\nThere are no relocations in this file.\n"));
+       {
+         /* Users sometimes forget the -D option, so try to be helpful.  */
+         for (i = 0; i < ARRAY_SIZE (dynamic_relocations); i++)
+           {
+             if (dynamic_info [dynamic_relocations [i].size])
+               {
+                 printf (_("\nThere are no static relocations in this file."));
+                 printf (_("\nTo see the dynamic relocations add --use-dynamic to the command line.\n"));
+
+                 break;
+               }
+           }
+         if (i == ARRAY_SIZE (dynamic_relocations))
+           printf (_("\nThere are no relocations in this file.\n"));
+       }
     }
 
   return TRUE;