summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2018-07-24 09:11:35 +0930
committerAlan Modra <amodra@gmail.com>2018-07-24 19:59:11 +0930
commit7b8d9e8cec30b366392aaebc513063eff0115548 (patch)
tree6eb0ae8fa7dd1b4dc3e195d148a7163858f59937
parent67ce483baa43121a17195efe4b14a183e9fd8232 (diff)
downloadbinutils-gdb-7b8d9e8cec30b366392aaebc513063eff0115548.tar.gz
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.
-rw-r--r--binutils/ChangeLog7
-rw-r--r--binutils/dwarf.c34
-rw-r--r--binutils/testsuite/binutils-all/dw5.W2
3 files changed, 33 insertions, 10 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 25caf2977b6..b09e93d60ab 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,5 +1,12 @@
2018-07-24 Alan Modra <amodra@gmail.com>
+ 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 <amodra@gmail.com>
+
PR 23430
* elfcomm.h (struct archive_info): Rename uses_64bit_indicies
to uses_64bit_indices.
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index b6c0a3af869..81060bfa462 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 489fa272de6..8ea0b28ba58 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