]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
Reorder formatting string arguments so that there are no gaps in references
authorPetr Machata <pmachata@redhat.com>
Mon, 30 Jul 2012 17:48:28 +0000 (19:48 +0200)
committerPetr Machata <pmachata@redhat.com>
Mon, 30 Jul 2012 17:48:28 +0000 (19:48 +0200)
It is required that formatting string that uses $-style references lists
all arguments.

Signed-off-by: Petr Machata <pmachata@redhat.com>
src/ChangeLog
src/nm.c

index aa7e2a5a80e366a3440a9f4717bfdceea162c766..d05bb2e36a87c6b399b8acacd0e9565a7ffd58cf 100644 (file)
@@ -1,3 +1,9 @@
+2012-07-30  Petr Machata  <pmachata@redhat.com>
+
+       * nm.c (show_symbols_bsd): Reorder arguments in {S,}FMTSTRS (and
+       corresponding printf) so that those that are referenced by only
+       one of the formatting strings are at the end.
+
 2012-07-29  Mark Wielaard  <mjw@redhat.com>
 
        * readelf.c (dwarf_lang_string): Use DW_LANG_ObjC, not DW_LANG_Objc.
index 7db6fb89cfefa55b3e5003af618068f780d7bedb..f50da0b1e81644d68e0ad82760d879fd9ed8360b 100644 (file)
--- a/src/nm.c
+++ b/src/nm.c
@@ -929,15 +929,15 @@ show_symbols_bsd (Elf *elf, const GElf_Ehdr *ehdr, GElf_Word strndx,
 
   static const char *const fmtstrs[] =
     {
-      [radix_hex] = "%8$s%2$0*1$" PRIx64 "%10$s %9$s%3$c%4$s %5$s",
-      [radix_decimal] = "%8$s%*" PRId64 "%10$s %9$s%3$c%4$s %5$s",
-      [radix_octal] = "%8$s%2$0*1$" PRIo64 "%10$s %9$s%3$c%4$s %5$s"
+      [radix_hex] = "%6$s%2$0*1$" PRIx64 "%8$s %7$s%3$c%4$s %5$s",
+      [radix_decimal] = "%6$s%*" PRId64 "%8$s %7$s%3$c%4$s %5$s",
+      [radix_octal] = "%6$s%2$0*1$" PRIo64 "%8$s %7$s%3$c%4$s %5$s"
     };
   static const char *const sfmtstrs[] =
     {
-      [radix_hex] = "%8$s%2$0*1$" PRIx64 "%10$s %7$0*6$" PRIx64 " %9$s%3$c%4$s %5$s",
-      [radix_decimal] = "%8$s%2$*1$" PRId64 "%10$s %7$*6$" PRId64 " %9$s%3$c%4$s %5$s",
-      [radix_octal] = "%8$s%2$0*1$" PRIo64 "%10$s %7$0*6$" PRIo64 " %9$s%3$c%4$s %5$s"
+      [radix_hex] = "%6$s%2$0*1$" PRIx64 "%8$s %10$0*9$" PRIx64 " %7$s%3$c%4$s %5$s",
+      [radix_decimal] = "%6$s%2$*1$" PRId64 "%8$s %10$*9$" PRId64 " %7$s%3$c%4$s %5$s",
+      [radix_octal] = "%6$s%2$0*1$" PRIo64 "%8$s %10$0*9$" PRIo64 " %7$s%3$c%4$s %5$s"
     };
 
 #ifdef USE_DEMANGLE
@@ -1020,10 +1020,10 @@ show_symbols_bsd (Elf *elf, const GElf_Ehdr *ehdr, GElf_Word strndx,
                  digits, syms[cnt].sym.st_value,
                  class_type_char (elf, ehdr, &syms[cnt].sym), marker,
                  symstr,
-                 digits, (uint64_t) syms[cnt].sym.st_size,
                  color_mode ? color_address : "",
                  color,
-                 color_mode ? color_off : "");
+                 color_mode ? color_off : "",
+                 digits, (uint64_t) syms[cnt].sym.st_size);
        }
 
       if (color_mode)