From 7b8d9e8cec30b366392aaebc513063eff0115548 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 24 Jul 2018 09:11:35 +0930 Subject: [PATCH] PR23431, Messages composed from pieces can't be properly translated PR 23431 * dwarf.c (display_formatted_table): Replace "what" parameter with "is_dir". Expand messages. Fix capitalisation. * testsuite/binutils-all/dw5.W: Update expected output. --- binutils/ChangeLog | 7 ++++++ binutils/dwarf.c | 34 ++++++++++++++++++++------- binutils/testsuite/binutils-all/dw5.W | 2 +- 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 25caf2977b..b09e93d60a 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,10 @@ +2018-07-24 Alan Modra + + PR 23431 + * dwarf.c (display_formatted_table): Replace "what" parameter + with "is_dir". Expand messages. Fix capitalisation. + * testsuite/binutils-all/dw5.W: Update expected output. + 2018-07-24 Alan Modra PR 23430 diff --git a/binutils/dwarf.c b/binutils/dwarf.c index b6c0a3af86..81060bfa46 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -3424,7 +3424,7 @@ display_formatted_table (unsigned char * data, unsigned char * end, const DWARF2_Internal_LineInfo * linfo, struct dwarf_section * section, - const char * what) + bfd_boolean is_dir) { unsigned char *format_start, format_count, *format, formati; dwarf_vma data_count, datai; @@ -3440,7 +3440,10 @@ display_formatted_table (unsigned char * data, data += bytes_read; if (data == end) { - warn (_("Corrupt %s format table entry\n"), what); + if (is_dir) + warn (_("Corrupt directory format table entry\n")); + else + warn (_("Corrupt file name format table entry\n")); return data; } } @@ -3449,18 +3452,28 @@ display_formatted_table (unsigned char * data, data += bytes_read; if (data == end) { - warn (_("Corrupt %s list\n"), what); + if (is_dir) + warn (_("Corrupt directory list\n")); + else + warn (_("Corrupt file name list\n")); return data; } if (data_count == 0) { - printf (_("\n The %s Table is empty.\n"), what); + if (is_dir) + printf (_("\n The Directory Table is empty.\n")); + else + printf (_("\n The File Name Table is empty.\n")); return data; } - printf (_("\n The %s Table (offset 0x%lx):\n"), what, - (long)(data - start)); + if (is_dir) + printf (_("\n The Directory Table (offset 0x%lx):\n"), + (long) (data - start)); + else + printf (_("\n The File Name Table (offset 0x%lx):\n"), + (long) (data - start)); printf (_(" Entry")); /* Delay displaying name as the last entry for better screen layout. */ @@ -3528,7 +3541,10 @@ display_formatted_table (unsigned char * data, } if (data == end) { - warn (_("Corrupt %s entries list\n"), what); + if (is_dir) + warn (_("Corrupt directory entries list\n")); + else + warn (_("Corrupt file name entries list\n")); return data; } putchar ('\n'); @@ -3636,9 +3652,9 @@ display_debug_lines_raw (struct dwarf_section * section, load_debug_section_with_follow (line_str, file); data = display_formatted_table (data, start, end, &linfo, section, - _("Directory")); + TRUE); data = display_formatted_table (data, start, end, &linfo, section, - _("File name")); + FALSE); } else { diff --git a/binutils/testsuite/binutils-all/dw5.W b/binutils/testsuite/binutils-all/dw5.W index 489fa272de..8ea0b28ba5 100644 --- a/binutils/testsuite/binutils-all/dw5.W +++ b/binutils/testsuite/binutils-all/dw5.W @@ -319,7 +319,7 @@ Raw dump of debug contents of section .debug_line: 1 \(indirect line string, offset: 0x1\): 2 \(indirect line string, offset: 0x22\): /usr/include - The File name Table \(offset 0x34\): + The File Name Table \(offset 0x34\): Entry Dir Name 0 0 \(indirect line string, offset: 0x14\): main.c 1 1 \(indirect line string, offset: 0x1b\): main.c