[PATCH] readelf: Don't shadow index function from string.h

Mark Wielaard mark@klomp.org
Wed Jul 4 14:13:00 GMT 2018


On some ancient GCC versions (4.4.7 at least) -Wshadow warns about local
variables "shadowing" global function definitions.

  readelf.c: In function ‘print_debug_addr_section’:
  readelf.c:5265: error: declaration of ‘index’ shadows a global declaration
  /usr/include/string.h:489: error: shadowed declaration is here

This is silly of course, but easy to work around.

Signed-off-by: Mark Wielaard <mark@klomp.org>
---
 src/ChangeLog |  6 ++++++
 src/readelf.c | 14 +++++++-------
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 6d962bb..2b711da 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2018-07-04  Mark Wielaard  <mark@klomp.org>
+
+	* readelf.c (print_debug_addr_section): Rename index var to uidx.
+	(attr_callback): Rename index var to word.
+	(print_debug_str_offsets_section): Rename index var to uidx.
+
 2018-06-25  Mark Wielaard  <mark@klomp.org>
 
 	* readelf.c (print_decoded_line_section): Use dwarf_next_lines
diff --git a/src/readelf.c b/src/readelf.c
index faed61a..22355e9 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -5262,14 +5262,14 @@ print_debug_addr_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
 	  addresses /= 10;
 	}
 
-      unsigned int index = 0;
+      unsigned int uidx = 0;
       size_t index_offset =  readp - (const unsigned char *) data->d_buf;
       printf (" Addresses start at offset 0x%zx:\n", index_offset);
       while (readp <= next_unitp - address_size)
 	{
 	  Dwarf_Addr addr = read_addr_unaligned_inc (address_size, dbg,
 						     readp);
-	  printf (" [%*u] ", digits, index++);
+	  printf (" [%*u] ", digits, uidx++);
 	  print_dwarf_addr (dwflmod, address_size, addr, addr);
 	  printf ("\n");
 	}
@@ -6967,12 +6967,12 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
 	    }
 	  if (form != DW_FORM_addr )
 	    {
-	      Dwarf_Word index;
-	      if (dwarf_formudata (attrp, &index) != 0)
+	      Dwarf_Word word;
+	      if (dwarf_formudata (attrp, &word) != 0)
 		goto attrval_out;
 	      printf ("           %*s%-20s (%s) [%" PRIx64 "] ",
 		      (int) (level * 2), "", dwarf_attr_name (attr),
-		      dwarf_form_name (form), index);
+		      dwarf_form_name (form), word);
 	    }
 	  else
 	    printf ("           %*s%-20s (%s) ",
@@ -10256,7 +10256,7 @@ print_debug_str_offsets_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
 	  offsets /= 10;
 	}
 
-      unsigned int index = 0;
+      unsigned int uidx = 0;
       size_t index_offset =  readp - (const unsigned char *) data->d_buf;
       printf (" Offsets start at 0x%zx:\n", index_offset);
       while (readp <= next_unitp - offset_size)
@@ -10268,7 +10268,7 @@ print_debug_str_offsets_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
 	    offset = read_8ubyte_unaligned_inc (dbg, readp);
 	  const char *str = dwarf_getstring (dbg, offset, NULL);
 	  printf (" [%*u] [%*" PRIx64 "]  \"%s\"\n",
-		  digits, index++, (int) offset_size * 2, offset, str ?: "???");
+		  digits, uidx++, (int) offset_size * 2, offset, str ?: "???");
 	}
       printf ("\n");
 
-- 
1.8.3.1



More information about the Elfutils-devel mailing list