summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Machata <[email protected]>2012-07-30 19:48:28 +0200
committerPetr Machata <[email protected]>2012-07-30 19:48:28 +0200
commitfe198bc5f02e540c26be212b9cb5e6f516f700b8 (patch)
tree14edf74045e409815feccda7a8a297a8e96b73da
parent629b256d2a534ea48e17db16ca1cf7c51009a259 (diff)
Reorder formatting string arguments so that there are no gaps in references
It is required that formatting string that uses $-style references lists all arguments. Signed-off-by: Petr Machata <[email protected]>
-rw-r--r--src/ChangeLog6
-rw-r--r--src/nm.c16
2 files changed, 14 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index aa7e2a5a..d05bb2e3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2012-07-30 Petr Machata <[email protected]>
+
+ * 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 <[email protected]>
* readelf.c (dwarf_lang_string): Use DW_LANG_ObjC, not DW_LANG_Objc.
diff --git a/src/nm.c b/src/nm.c
index 7db6fb89..f50da0b1 100644
--- 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)